Modifications pour le document LiveTableEditSheet
Modifié par superadmin le 2021/12/12 21:57
modifié par Paul Libbrecht (admin)
sur 2016/07/26 22:02
sur 2016/07/26 22:02
modifié par Administrator
sur 2013/06/04 10:06
sur 2013/06/04 10:06
Commentaire de modification :
Import
Résumé
Détails
- Propriétés de la Page
-
- Auteur du document
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. adminPolx1 +XWiki.Admin - Contenu
-
... ... @@ -2,8 +2,9 @@ 2 2 #macro(listAvailableColumns) 3 3 {{html}} 4 4 <select id="availableColumns"> 5 - #set($className = "$!liveTableObj.get Value('class')")5 + #set($className = "$!liveTableObj.getProperty('class').value") 6 6 #set($classFields = $xwiki.getDocument($className).getxWikiClass().properties) 7 + #set($discard = $services.localization.use('document', "$stringtool.removeEnd($className, 'Class')Translations")) 7 7 #if($classFields.size() > 0) 8 8 <optgroup label="$escapetool.xml($services.localization.render('platform.appwithinminutes.liveTableEditorClassFieldColumnGroupLabel'))" id="classFields"> 9 9 #foreach($field in $classFields) ... ... @@ -49,9 +49,8 @@ 49 49 ((( 50 50 ## Make sure that only the sheet content is rendered when the class is saved using AJAX. 51 51 <input type="hidden" name="xpage" value="plain" /> 52 - ## We prevent the class name and the data spacefrom being edited directly. Theycan be specified in the URL.53 + ## We prevent the class name from being edited directly. The class name can be specified in the URL. 53 53 $doc.display('class', 'hidden') 54 - $doc.display('class', 'dataSpace') 55 55 ## We have to pass the list of available columns to the JavaScript code. 56 56 #listAvailableColumns() 57 57 ))) ... ... @@ -68,18 +68,18 @@ 68 68 #if($services.uix) 69 69 #set($icon = 'icon:application') 70 70 #foreach($uix in $services.uix.getExtensions('org.xwiki.platform.panels.Applications')) 71 - #if($uix.getId() == "platform.panels.${doc.space}Application" && "$!uix.getParameters().get('icon')" != '') 72 - #set($icon = $uix.getParameters().get('icon')) 71 + #if($uix.getId() == "platform.panels.${doc.space}Application") 72 + #if("$!uix.getParameters().get('icon')" != '') 73 + #set($icon = $uix.getParameters().get('icon')) 74 + #end 73 73 #end 74 74 #end 75 75 {{html wiki="true"}} 76 - ; <label for="applicationIcon">$services.localization.render('platform.appwithinminutes.liveTableEditorIcon')</label> 77 - (% class="xHint" %)$services.localization.render('platform.appwithinminutes.liveTableEditorIconHintWithPicker', 78 - [$xwiki.getSkinFile('icons/silk/index_abc.png')]) 79 - : <input id="applicationIcon" name="applicationIcon" type="text" size="10" value="$!escapetool.xml($icon)" /> 80 - {{/html}} 81 - 82 - {{iconPicker id="applicationIcon" prefix="icon:" /}} 78 + ## The icon 79 + ; <label for="applicationIcon">$services.localization.render('platform.appwithinminutes.liveTableEditorIcon')</label> 80 + (% class="xHint" %)$services.localization.render('platform.appwithinminutes.liveTableEditorIconHint', $xwiki.getSkinFile('icons/silk/index_abc.png')) 81 + : <input id="applicationIcon" name="applicationIcon" type="text" size="10" value="$!icon" /> 82 + {{/html}} 83 83 #end 84 84 #end 85 85 ... ... @@ -108,93 +108,54 @@ 108 108 {{html}}<div class="clearfloats"></div>{{/html}} 109 109 #end 110 110 111 -#macro (maybeGrantSpaceAdminRight $spaceRef) 112 - ## Grant space administration rights only if the space is new. Don't overwrite existing space preferences. 113 - #set ($spaceHomeRef = $services.model.resolveDocument('', 'default', $spaceRef)) 114 - #set ($spacePrefsRef = $services.model.resolveDocument('WebPreferences', 'explicit', $spaceRef)) 115 - #if (!$xwiki.exists($spaceHomeRef) && !$xwiki.exists($spacePrefsRef)) 116 - #set ($spacePrefsDoc = $xwiki.getDocument($spacePrefsRef)) 117 - #set ($discard = $spacePrefsDoc.use($spacePrefsDoc.getObject('XWiki.XWikiGlobalRights', true))) 118 - #set ($discard = $spacePrefsDoc.set('allow', 1)) 119 - #set ($discard = $spacePrefsDoc.set('levels', 'admin')) 120 - #set ($discard = $spacePrefsDoc.set('users', $services.model.serialize($xcontext.userReference, 'default'))) 121 - #set ($discard = $spacePrefsDoc.setTitle('$services.localization.render(''admin.preferences.title'')')) 122 - #set ($discard = $spacePrefsDoc.setParent($services.model.serialize($spaceHomeRef, 'default'))) 123 - #set ($discard = $spacePrefsDoc.setHidden(true)) 124 - #set ($discard = $spacePrefsDoc.saveWithProgrammingRights($services.localization.render( 125 - 'platform.appwithinminutes.grantSpaceAdminRightsSaveComment'))) 111 +#macro(maybeGrantSpaceAdminRights) 112 + #set($spaceHomeRef = $services.model.createDocumentReference($doc.wiki, $doc.space, 'WebHome')) 113 + ## Grant space administration rights only if the space is new. 114 + #if(!$xwiki.exists($spaceHomeRef)) 115 + #set($spacePrefsRef = $services.model.createDocumentReference($doc.wiki, $doc.space, 'WebPreferences')) 116 + #set($spacePrefsDoc = $xwiki.getDocument($spacePrefsRef)) 117 + ## Don't overwrite existing space preferences. 118 + #if($spacePrefsDoc.isNew()) 119 + #set($discard = $spacePrefsDoc.use($spacePrefsDoc.getObject('XWiki.XWikiGlobalRights', true))) 120 + #set($discard = $spacePrefsDoc.set('allow', 1)) 121 + #set($discard = $spacePrefsDoc.set('levels', 'admin')) 122 + #set($discard = $spacePrefsDoc.set('users', $services.model.serialize($xcontext.userReference, 'default'))) 123 + #set($discard = $spacePrefsDoc.setParent($services.model.serialize($spaceHomeRef, 'default'))) 124 + #set($discard = $spacePrefsDoc.setHidden(true)) 125 + #set($discard = $spacePrefsDoc.saveWithProgrammingRights($services.localization.render('platform.appwithinminutes.grantSpaceAdminRightsSaveComment'))) 126 + #end 126 126 #end 127 127 #end 128 128 129 -#macro (maybeGrantSpaceAdminRights) 130 - ## Application space 131 - #set ($appReference = $doc.documentReference.parent) 132 - #maybeGrantSpaceAdminRight($appReference) 133 - ## Code space (if it's not nested inside the application space) 134 - #set ($className = $request.get('AppWithinMinutes.LiveTableClass_0_class')) 135 - #set ($classReference = $services.model.resolveDocument($className)) 136 - #if (!$classReference.hasParent($appReference)) 137 - #maybeGrantSpaceAdminRight($classReference.parent) 138 - #end 139 -#end 140 - 141 141 #macro(updateAndSaveLiveTable) 142 142 #set($discard = $doc.updateObjectFromRequest('AppWithinMinutes.LiveTableClass')) 143 143 #set($liveTableGeneratorDoc = $xwiki.getDocument('AppWithinMinutes.LiveTableGenerator')) 144 - 145 - ## Generate the LiveTable by displaying the LiveTableGenerator document in the context of the current document. 146 - #set ($displayParameters = $services.display.createDocumentDisplayerParameters()) 147 - #set ($discard = $displayParameters.setExecutionContextIsolated(false)) 148 - #set ($discard = $displayParameters.setContentTranslated(true)) 149 - #set ($generatedLiveTableContent = $services.display.content($liveTableGeneratorDoc, { 'outputSyntaxId' : 'plain/1.0', 'displayerParameters' : $displayParameters })) 150 - 151 - ## Use the generated LiveTable content for the data home page. 152 - #set ($dataSpaceReference = $services.model.resolveSpace($doc.getValue('dataSpace'))) 153 - #set ($dataSpaceHomeReference = $services.model.resolveDocument('', 'default', $dataSpaceReference)) 154 - #if ($dataSpaceHomeReference.equals($doc.documentReference)) 155 - ## The application space and the data space are one and the same. 156 - #set ($dataHomePage = $doc) 157 - #else 158 - ## The application data is stored in a different space. 159 - #set ($dataHomePage = $xwiki.getDocument($dataSpaceHomeReference)) 160 - #set ($discard = $dataHomePage.setHidden(true)) 161 - #set ($escapedAppName = $doc.documentReference.parent.name.toLowerCase().replace("'", "''")) 162 - #set ($discard = $dataHomePage.setTitle("${escapetool.d}services.localization.render('${escapedAppName}.dataSpace.title')")) 163 - 164 - ## Update the home page content. 165 - #set ($homePageContent = '') 166 - #if ("$!generatedLiveTableContent" != '') 167 - ## Include the entries live table in the application home page. 168 - #set ($escapedReference = $services.model.serialize($dataSpaceHomeReference).replaceAll('([~"])', '~$1')) 169 - #set ($homePageContent = "{{include reference=""$escapedReference"" /}}") 170 - #end 171 - #set ($discard = $doc.setContent($homePageContent)) 172 - #end 173 - #set ($discard = $dataHomePage.setContent($generatedLiveTableContent)) 174 - 133 + #set($discard = $doc.setContent($doc.getRenderedContent($liveTableGeneratorDoc.content, $liveTableGeneratorDoc.syntax.toIdString(), 'plain/1.0'))) 175 175 #set($minorEdit = "$!request.minorEdit" != '') 176 176 #set($comment = $request.comment) 177 177 #if("$!comment" == '') 178 178 #set($comment = $services.localization.render('platform.appwithinminutes.liveTableEditorSaveComment')) 179 179 #end 139 + #set($discard = $doc.save($comment, $minorEdit)) 140 +#end 180 180 181 - #if ($dataHomePage != $doc) 182 - ## Save the data home page. 183 - #set ($discard = $dataHomePage.save($comment, $minorEdit)) 142 +#macro(maybeCreateLiveTableResultsPage) 143 + #set ($className = "$!doc.getObject('AppWithinMinutes.LiveTableClass').getProperty('class').value") 144 + #set ($liveTableResultsDoc = $xwiki.getDocument("$!stringtool.removeEnd($className, 'Class')LiveTableResults")) 145 + #set ($liveTableResultsGeneratorDoc = $xwiki.getDocument('AppWithinMinutes.LiveTableResultsGenerator')) 146 + #if ($liveTableResultsDoc.isNew()) 147 + #set ($discard = $liveTableResultsDoc.setParent($doc.name)) 148 + #set ($discard = $liveTableResultsDoc.setHidden(true)) 149 + #set ($discard = $liveTableResultsDoc.setContent($doc.getRenderedContent($liveTableResultsGeneratorDoc.content, $liveTableResultsGeneratorDoc.syntax.toIdString(), 'plain/1.0'))) 150 + #set ($discard = $liveTableResultsDoc.save($services.localization.render('platform.appwithinminutes.liveTableEditorCreateLiveTableResultsComment'))) 184 184 #end 185 - 186 - ## Save the application home page. 187 - #set($discard = $doc.save($comment, $minorEdit)) 188 188 #end 189 189 190 190 #macro(updateAndSaveIcon) 191 191 #set($uix = $doc.getObject('XWiki.UIExtensionClass', true)) 192 - #set($appName = $doc.documentReference.parent.name) 193 - #set($discard = $uix.set('name', "platform.panels.${appName}Application")) 194 - #set($discard = $uix.set('extensionPointId', 'org.xwiki.platform.panels.Applications')) 195 - #set($discard = $uix.set('parameters', "label=${appName}${util.newline}target=${doc.fullName}${util.newline}icon=${request.applicationIcon}")) 196 - #set ($hasWikiAdminRights = $services.security.authorization.hasAccess('admin', $doc.documentReference.wikiReference)) 197 - #set($discard = $uix.set('scope', "#if ($hasWikiAdminRights)wiki#{else}user#end")) 156 + #set($discard = $uix.set('name', "platform.panels.${doc.space}Application")) 157 + #set($discard = $uix.set('extensionPointId', "org.xwiki.platform.panels.Applications")) 158 + #set($discard = $uix.set('parameters', "label=${doc.space}${util.newline}target=${doc.fullName}${util.newline}icon=${request.applicationIcon}")) 198 198 #set($discard = $doc.save('Updated application icon', true)) 199 199 #end 200 200 ... ... @@ -201,6 +201,7 @@ 201 201 #macro(doSave) 202 202 #maybeGrantSpaceAdminRights() 203 203 #updateAndSaveLiveTable() 165 + #maybeCreateLiveTableResultsPage() 204 204 #updateAndSaveIcon() 205 205 #if($action == 'save') 206 206 #if($errorMessage) ... ... @@ -221,13 +221,13 @@ 221 221 222 222 {{velocity}} 223 223 #if("$!request.wizard" == 'true') 224 - {{include reference="AppWithinMinutes.WizardStep" /}}186 + {{include document="AppWithinMinutes.WizardStep" /}} 225 225 #end 226 226 {{/velocity}} 227 227 228 228 {{velocity}} 229 229 ## Determine the action button that triggered the request 230 -#set($action = $ xcontext.action)192 +#set($action = $context.action) 231 231 #foreach($paramName in $request.getParameterMap().keySet()) 232 232 #if($paramName.startsWith('xaction_')) 233 233 #set($action = $paramName.substring(8))
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -135,7 +135,7 @@ 135 135 form.addClassName('xform'); 136 136 137 137 // Remove the preview button. 138 - form.down("input[name='action_preview']").remove(); 138 + form.down("input[name='action_preview']").up().remove(); 139 139 140 140 // Rename the save buttons. 141 141 form.down("input[name='action_save']").name = 'xaction_save';
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -3,7 +3,6 @@ 3 3 font-size: 90%; 4 4 list-style: none outside none; 5 5 margin: 0; 6 - padding: 0; 7 7 } 8 8 9 9 #inline .hList li { ... ... @@ -53,8 +53,7 @@ 53 53 } 54 54 55 55 .columnPicker input[type=image] { 56 - margin: 0 .5em; 57 - padding: 0; 55 + margin-left: 2px; 58 58 vertical-align: text-bottom; 59 59 } 60 60