0 Votes

Wiki source code of AjaxActions

Last modified by Ryan C on 2025/06/28 00:21

Show last authors
1 {{include reference="TourCode.Macros"/}}
2
3 {{velocity}}
4 #set ($action = $request.action)
5 #set ($tourName = $request.tourName)
6 #if ("$!tourName" != '')
7 #set ($tourDoc = $xwiki.getDocument($tourName))
8 #if ($action == 'editStep')
9 ## Save step
10 #set ($nbSteps = $request.nbSteps)
11 #set ($stepOrder = $request.stepOrder)
12 #set ($prevStepOrder = $nbSteps)
13 #set ($stepID = $numbertool.toNumber($request.stepID).intValue())
14 #set ($isNewStep = true)
15 #if ("$!stepID" != '') ## Edit
16 #set ($stepObj = $tourDoc.getObject('TourCode.StepClass', $stepID))
17 #if ($stepObj)
18 #set ($isNewStep = false)
19 #set ($prevStepOrder = $stepObj.getValue('order'))
20 #end
21 #end
22 #if ($isNewStep)
23 ## New step
24 #set ($stepObj = $tourDoc.newObject('TourCode.StepClass'))
25 #end
26 #set ($discard = $stepObj.set('element', $request.element))
27 #set ($discard = $stepObj.set('title', $request.title))
28 #set ($discard = $stepObj.set('placement', $request.placement))
29 #set ($discard = $stepObj.set('targetPage', $request.targetPage))
30 #set ($discard = $stepObj.set('action', $request.targetAction))
31 #set ($discard = $stepObj.set('queryString', $request.get('queryString')))
32 #set ($discard = $stepObj.set('backdrop', $request.backdrop))
33 #set ($discard = $stepObj.set('content', $request.content))
34 #set ($discard = $stepObj.set('reflex', $request.reflex))
35 #if ($prevStepOrder != $stepOrder)
36 ## Update the step objects
37 #set ($stepObj2 = $tourDoc.getObject('TourCode.StepClass', 'order', "$stepOrder"))
38 #if ("$!stepObj2" != '')
39 #set ($discard = $stepObj2.set('order', $prevStepOrder))
40 #end
41 #set ($discard = $stepObj.set('order', $stepOrder))
42 #else
43 #if ($isNewStep)
44 #set ($discard = $stepObj.set('order', $nbSteps))
45 #end
46 #end
47 #elseif ($action == 'deleteStep')
48 #set ($stepID = $numbertool.toNumber($request.stepID).intValue())
49 #set ($stepObj = $tourDoc.getObject('TourCode.StepClass', $stepID))
50 #if ($stepObj)
51 #set ($discard = $tourDoc.removeObject($stepObj))
52 ## Update other steps order
53 #set ($steps = $tourDoc.getObjects('TourCode.StepClass'))
54 #set ($sortedSteps = [])
55 #sortXWikiObjectsList($steps, 'order', $sortedSteps)
56 #foreach ($step in $sortedSteps)
57 #set ($discard = $step.set('order', $foreach.index))
58 #end
59 #end
60 #end
61 #set ($discard = $tourDoc.save())
62 #set ($pageMode = 'edit')
63 {{include reference="TourCode.StepsListing"/}}
64 #end
65 {{/velocity}}