General Actions:
Log-in
Register
Wiki:
Main wiki
▼
:
Document Index
»
Space:
AppWithinMinutes
▼
:
Document Index
»
Page:
LiveTableEditSheet
Search
default
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Main wiki
»
App Within Minutes
»
LiveTable Class
»
LiveTable Edit Sheet
Wiki source code of
LiveTable Edit Sheet
Last modified by
Administrator
on 2012/03/21 17:41
Content
·
Comments
(0)
·
Annotations
(0)
·
Attachments
(0)
·
History
·
Information
Show line numbers
{{velocity output="false"}} #macro(listAvailableColumns) {{html}} <select id="availableColumns"> #set($className = "$!liveTableObj.getProperty('class').value") #set($classFields = $xwiki.getDocument($className).getxWikiClass().properties) #if($classFields.size() > 0) <optgroup label="$escapetool.xml($msg.get('platform.appwithinminutes.liveTableEditorClassFieldColumnGroupLabel'))" id="classFields"> #foreach($field in $classFields) <option value="$field.name">$escapetool.xml($field.prettyName)</option> #end </optgroup> #end <optgroup label="$escapetool.xml($msg.get('platform.appwithinminutes.liveTableEditorGenericColumnGroupLabel'))"> #foreach($entry in $genericColumns.entrySet()) <option value="$entry.key" title="$escapetool.xml($entry.value.get(1))">$escapetool.xml($entry.value.get(0))</option> #end </optgroup> </select> {{/html}} #end #macro(displayHelpPanel) #set($genericColumns = { 'doc.title': [$msg.get('platform.appwithinminutes.liveTableEditorDocTitleColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorDocTitleColumnDescription')], 'doc.name': [$msg.get('platform.appwithinminutes.liveTableEditorDocNameColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorDocNameColumnDescription')], 'doc.author': [$msg.get('platform.appwithinminutes.liveTableEditorDocAuthorColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorDocAuthorColumnDescription')], 'doc.creator': [$msg.get('platform.appwithinminutes.liveTableEditorDocCreatorColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorDocCreatorColumnDescription')], 'doc.date': [$msg.get('platform.appwithinminutes.liveTableEditorDocDateColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorDocDateColumnDescription')], 'doc.creationDate': [$msg.get('platform.appwithinminutes.liveTableEditorDocCreationDateColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorDocCreationDateColumnDescription')], '_actions': [$msg.get('platform.appwithinminutes.liveTableEditorActionsColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorActionsColumnDescription')], '_attachments': [$msg.get('platform.appwithinminutes.liveTableEditorAttachmentsColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorAttachmentsColumnDescription')], '_images': [$msg.get('platform.appwithinminutes.liveTableEditorImagesColumnName'), $msg.get('platform.appwithinminutes.liveTableEditorImagesColumnDescription')] }) (% class="wizard-help" %) ((( **$msg.get('platform.appwithinminutes.liveTableEditorHelpTitle')** $msg.get('platform.appwithinminutes.liveTableEditorHelpDescription') #foreach($columnId in ['doc.name', 'doc.date', 'doc.author', '_actions']) ; {{{$genericColumns.get($columnId).get(0)}}} : {{{$genericColumns.get($columnId).get(1)}}} #end ))) #end #macro(displayFormFields) {{html wiki="true"}} (% class="hidden" %) ((( ## Make sure that only the sheet content is rendered when the class is saved using AJAX. <input type="hidden" name="xpage" value="plain" /> ## We prevent the class name from being edited directly. The class name can be specified in the URL. $doc.display('class', 'hidden') ## We have to pass the list of available columns to the JavaScript code. #listAvailableColumns() ))) ; <label for="AppWithinMinutes.LiveTableClass_0_description">$doc.displayPrettyName('description', false, false)</label>## (% class="xHint" %)$msg.get('platform.appwithinminutes.liveTableEditorDescriptionHint') : $doc.display('description') ; <label for="AppWithinMinutes.LiveTableClass_0_columns">$doc.displayPrettyName('columns', false, false)</label>## (% class="xHint" %)$msg.get('platform.appwithinminutes.liveTableEditorColumnsHint') : $doc.display('columns') {{/html}} #end #macro(doEdit) #set($liveTableObj = $doc.getObject('AppWithinMinutes.LiveTableClass', true)) #set($discard = $doc.use($liveTableObj)) #set($discard = $xwiki.jsfx.use('js/scriptaculous/dragdrop.js')) #set($discard = $xwiki.ssx.use('AppWithinMinutes.LiveTableEditSheet')) #set($discard = $xwiki.jsx.use('AppWithinMinutes.LiveTableEditSheet')) #if("$!request.wizard" == 'true') #appWizardHeader(3) #end #displayHelpPanel() (% class="form-body" %) ((( #displayFormFields() #if("$!request.wizard" == 'true') #appWizardFooter(3) #end ))) {{html}}<div class="clearfloats"></div>{{/html}} #end #macro(updateAndSaveLiveTable) #set($discard = $doc.updateObjectFromRequest('AppWithinMinutes.LiveTableClass')) #set($liveTableGeneratorDoc = $xwiki.getDocument('AppWithinMinutes.LiveTableGenerator')) #set($discard = $doc.setContent($doc.getRenderedContent($liveTableGeneratorDoc.content, $liveTableGeneratorDoc.syntax.toIdString(), 'plain/1.0'))) #set($minorEdit = "$!request.minorEdit" != '') #set($comment = $request.comment) #if("$!comment" == '') #set($comment = $msg.get('platform.appwithinminutes.liveTableEditorSaveComment')) #end #set($discard = $doc.save($comment, $minorEdit)) #end #macro(doSave) #updateAndSaveLiveTable() #if($action == 'save') #if($errorMessage) {{error}}{{html}}$errorMessage{{/html}}{{/error}} #else ## Redirect to view mode. $response.sendRedirect($doc.getURL()) #end #else #if($errorMessage) $response.sendError(400, $errorMessage) #else $response.setStatus(204) #end #end #end {{/velocity}} {{velocity}} #if("$!request.wizard" == 'true') {{include document="AppWithinMinutes.WizardStep" /}} #end {{/velocity}} {{velocity}} ## Determine the action button that triggered the request #set($action = $context.action) #foreach($paramName in $request.getParameterMap().keySet()) #if($paramName.startsWith('xaction_')) #set($action = $paramName.substring(8)) #break #end #end #if($action == 'edit') #doEdit() #elseif($action == 'save' || $action == 'saveandcontinue') #if($services.csrf.isTokenValid($request.form_token)) #doSave() #else $response.sendRedirect($services.csrf.getResubmissionURL()); #end #end {{/velocity}}