<
Depuis la version < 5.1 >
modifié par superadmin
sur 2019/10/13 21:30
À la version < 4.1 >
modifié par Paul Libbrecht (admin)
sur 2019/10/13 16:51
>
Commentaire de modification : Migrated property [contentJavaType] from class [XWiki.WikiMacroClass]

Résumé

Détails

Icon Propriétés de la Page
Auteur du document
... ... @@ -1,1 +1,1 @@
1 -XWiki.superadmin
1 +XWiki.adminPolx
Contenu
... ... @@ -1,12 +1,9 @@
1 1  {{velocity output="false"}}
2 -#set ($translationPrefix = 'xe.attachmentSelector')
3 -
4 4  #if ($request.xaction == 'postUpload')
5 5   #set ($targetDocument = $xwiki.getDocument($request.get('docname')))
6 6   #set ($targetAttachDocument = $xwiki.getDocument($request.get('targetdocname')))
7 7  
8 8   #set ($fieldname = $request.get('fieldname'))
9 - #set ($comment = $services.localization.render("${translationPrefix}.postUpload.comment", [$fieldname]))
10 10   #set ($docAction = $request.get('docAction'))
11 11   #set ($attachmentList = $targetAttachDocument.getAttachmentList())
12 12   #if ($attachmentList && $attachmentList.size() > 0)
... ... @@ -15,7 +15,6 @@
15 15   #end
16 16   $response.sendRedirect($targetDocument.getURL($docAction, $escapetool.url({
17 17   $fieldname: $lastAttachment.filename,
18 - 'comment': $comment,
19 19   'form_token': $request.form_token
20 20   })))
21 21   #stop
... ... @@ -26,6 +26,7 @@
26 26  ##
27 27  ## Macros
28 28  ##
25 +#set ($translationPrefix = 'xe.attachmentSelector')
29 29  #set ($attachmentPickerDocName = 'XWiki.AttachmentSelector')
30 30  
31 31  $xwiki.ssx.use($attachmentPickerDocName)
... ... @@ -105,19 +105,14 @@
105 105   *#
106 106  #macro (attachmentPicker_displayAttachmentDetails $attachment $options)
107 107   #if ($attachment)
108 - ## Compute the attachment reference because there's no getter.
109 - #set ($attachmentReference = $services.model.createAttachmentReference($attachment.document.documentReference,
110 - $attachment.filename))
111 - #set ($attachmentStringReference = $services.model.serialize($attachmentReference, 'default'))
112 112   #if ($attachment.isImage() && $options.displayImage)
113 - ## We add the version to the query string in order to invalidate the cache when an image attachment is replaced.
114 - #set ($queryString = $escapetool.url({'version': $attachment.version}))
115 - [[[[image:$attachmentStringReference||width=180 queryString="$queryString"]]>>attach:$attachmentStringReference]]
106 + #set ($attachmentDocument = $attachment.getDocument())
107 +[[[[image:${attachmentDocument.fullName}@${attachment.filename}||width=160]]>>attach:${attachmentDocument.fullName}@${attachment.filename}||rel="lightbox[attachments]"]]
116 116   #else
117 117   * (% class="mime" %){{html wiki=false clean=false}}#mimetypeimg($attachment.getMimeType().toLowerCase() $attachment.getFilename().toLowerCase()){{/html}}(%%) (% class="filename" %)$attachment.getFilename()(% %)
118 - * v$attachment.getVersion() (#dynamicsize($attachment.longSize))
110 + * v$attachment.getVersion() (#dynamicsize($attachment.filesize))
119 119   * $services.localization.render('core.viewers.attachments.author', [$!{xwiki.getUserName($attachment.author, false)}]) $services.localization.render('core.viewers.attachments.date', [$!{xwiki.formatDate($attachment.date, 'dd/MM/yyyy hh:mm')}])
120 - * (% class="buttonwrapper" %)[[${services.localization.render("${translationPrefix}.actions.download")}>>attach:$attachmentStringReference||title="$services.localization.render("${translationPrefix}.actions.download")" rel="__blank" class="button"]](%%)
112 + * (% class="buttonwrapper" %)[[${services.localization.render("${translationPrefix}.actions.download")}>>attach:${attachment.getDocument()}@${attachment.filename}||title="$services.localization.render("${translationPrefix}.actions.download")" rel="__blank" class="button"]](%%)
121 121   #end
122 122   #end
123 123  #end
... ... @@ -165,7 +165,7 @@
165 165   #if (${options.rawfilter} != '')
166 166   <span class="xHint">$escapetool.xml($services.localization.render("${translationPrefix}.upload.hint", [${options.rawfilter}]))</span>
167 167   #end
168 - <input type="file" name="filepath" id="attachfile" class="noitems" title="$!{escapetool.xml($options.rawfilter)}"/>
160 + <input type="file" name="filepath" id="attachfile" class="attachment" size="30" title="$!{escapetool.xml($options.rawfilter)}"/>
169 169   <input type="hidden" name="xredirect" value="$xwiki.getDocument($attachmentPickerDocName).getURL('get', "xaction=postUpload&amp;docAction=$!{escapetool.url($options.get('docAction'))}&amp;targetdocname=$!{escapetool.url($targetAttachDocument.fullName)}&amp;docname=$!{escapetool.url($targetDocument.fullName)}&amp;fieldname=$!{escapetool.url($options.get('classname'))}_$!{escapetool.url($options.get('object'))}_$!{escapetool.url($options.get('property'))}&amp;form_token=$!{services.csrf.getToken()}")" />
170 170   <input type="hidden" name="docname" value="$!{escapetool.xml($targetDocument.fullName)}" />
171 171   <input type="hidden" name="classname" value="$!{escapetool.xml($options.get('classname'))}" />
... ... @@ -173,27 +173,6 @@
173 173   <input type="hidden" name="property" value="$!{escapetool.xml($options.get('property'))}" />
174 174   <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
175 175   </div>
176 - #if ("$!currentValue" != '' && $currentValue != $options.defaultValue)
177 - <div>
178 - <label>
179 - <input type="checkbox" name="filename" value="$!escapetool.xml($currentValue)"
180 - />$services.localization.render('attachmentSelector.replace',
181 - ["<strong>$!escapetool.xml($currentValue)</strong>"])
182 - </label>
183 - <span class="xHint">$escapetool.xml($services.localization.render('attachmentSelector.replace.hint'))</span>
184 - </div>
185 - #end
186 - #if ($xwiki.hasEditComment() && $options.versionSummary)
187 - <div>
188 - #if ($xwiki.isEditCommentFieldHidden())
189 - <input type="hidden" name="comment" value="$!escapetool.xml($request.comment)" />
190 - #else
191 - <label for="commentinput">$services.localization.render('core.comment')</label>
192 - <input type="text" name="comment" id="commentinput" value="$!escapetool.xml($request.comment)"
193 - title="$services.localization.render('core.comment.tooltip')" />
194 - #end
195 - </div>
196 - #end
197 197   <div class="buttons">
198 198   <span class="buttonwrapper">
199 199   <input type="submit" name="action_upload" class="button " value='$services.localization.render("${translationPrefix}.upload.submit")' title='$services.localization.render("${translationPrefix}.upload.submit")'/>
... ... @@ -237,6 +237,11 @@
237 237  
238 238  {{velocity}}
239 239  #if ($request.docname)
211 + ###if ($request.xpage == 'plain')
212 + ## ## IE6 + XHR + gzip compression = BOOM!
213 + ## ## This disables the automatic gzip compression
214 + ## $response.setContentType('multipart/formdata')
215 + ###end
240 240   #set ($targetDocument = $xwiki.getDocument($request.docname))
241 241   #if ($request.targetdocname)
242 242   ## Use the target document if it exists.
... ... @@ -292,8 +292,7 @@
292 292   'defaultValue' : "$!{request.defaultValue}",
293 293   'rawfilter': "$!{rawfilter}",
294 294   'filter': ${filter},
295 - 'sortAttachmentsBy': ${sortAttachmentsBy},
296 - 'versionSummary': $request.versionSummary.equals('true')
271 + 'sortAttachmentsBy': ${sortAttachmentsBy}
297 297   })
298 298   $!targetDocument.use($targetDocument.getObject($options.classname, $options.object))##
299 299   #attachmentPicker_displayAttachmentGallery($targetDocument, $targetAttachDocument, $options)
Icon XWiki.JavaScriptExtension[0]
Code
... ... @@ -40,7 +40,7 @@
40 40   * and saves the underlying form (if any) so that any unsaved changes won't be lost.
41 41   */
42 42   filterFormUpload : function() {
43 - this.gallery.select('.uploadAttachment input[type="file"]').each(function(fileInput) {
43 + this.gallery.select('.uploadAttachment input.attachment').each(function(fileInput) {
44 44   fileInput.__allowedExtensions = fileInput.title.toLowerCase().replace(/\s*[,|; ]\s*/g, " ").strip();
45 45   if (fileInput.__allowedExtensions != '') {
46 46   fileInput.__allowedExtensions = fileInput.__allowedExtensions.split(" ");
... ... @@ -52,7 +52,7 @@
52 52   event.stop();
53 53   var uploadForm = event.element();
54 54   var hasErrors = false;
55 - uploadForm.select('input[type="file"]').each(function(fileInput) {
55 + uploadForm.select('input.attachment').each(function(fileInput) {
56 56   if (fileInput.value == '') {
57 57   new XWiki.widgets.Notification("$services.localization.render('xe.attachmentSelector.upload.error.noFile')", 'error');
58 58   hasErrors = true;
... ... @@ -68,7 +68,7 @@
68 68   uploadForm.submit();
69 69   } else {
70 70   // FIXME This fails in HTML5, will deal with it later:
71 - // this.property.down('input').value = uploadForm.down('input[type="file"]').value;
71 + // this.property.down('input').value = uploadForm.down('.attachment').value;
72 72   // uploadForm.xredirect.value = window.location.pathname;
73 73   document.observe('xwiki:document:saved', function() {
74 74   new XWiki.widgets.Notification("$services.localization.render('xe.attachmentSelector.upload.inProgress')", 'inprogress');
... ... @@ -117,11 +117,6 @@
117 117   if (this.gallery.down('.gallery_emptyChoice')) {
118 118   this.gallery.down('.gallery_emptyChoice').addClassName('current');
119 119   }
120 - // Disable the replace feature because there's no selection.
121 - var fileNameInput = this.gallery.down('input[type="checkbox"][name="filename"]');
122 - fileNameInput.disabled = true;
123 - // Empty the displayed selected file name.
124 - fileNameInput.up('label').down('strong').update('');
125 125   if (!this.directSave) {
126 126   this.property.down('input').value = this.defaultValue;
127 127   }
... ... @@ -275,7 +275,11 @@
275 275   );
276 276   dialog.shortcuts.close.keys = [];
277 277   dialog.showDialog();
278 - dialog.dialog.down().setStyle({position: "fixed"});
273 + if (window.browser.isIE6x) {
274 + dialog.dialog.down().setStyle({position: "absolute"});
275 + } else {
276 + dialog.dialog.down().setStyle({position: "fixed"});
277 + }
279 279   dialog.dialog.setStyle({top: document.viewport.getScrollOffsets().top + "px", position: "absolute"});
280 280   dialog.dialogBox.setStyle({overflow: "hidden", width: "80%", margin: "0 10%"});
281 281   new Ajax.Updater(loading.up(), url, {
Icon XWiki.StyleSheetExtension[0]
Code
... ... @@ -34,11 +34,19 @@
34 34   position: relative;
35 35   width: ${boxSize}px;
36 36  }
37 +/* Broken IE6 box model, add the border width to the total width. */
38 +* html .gallery_attachmentbox {
39 + width: ${mathtool.add($boxSize, 2)}px;
40 +}
37 37  .gallery .current {
38 38   background-color: $theme.highlightColor;
39 39   border-width: 3px;
40 40   margin: 3px;
41 41  }
46 +/* Broken IE6 box model, add the border width to the total width. */
47 +* html .gallery .current {
48 + width: ${mathtool.add($boxSize, 6)}px;
49 +}
42 42  .gallery .current .gallery_attachmenttitle {
43 43   font-weight: bold;
44 44  }
... ... @@ -153,29 +153,24 @@
153 153   background-repeat: no-repeat;
154 154   padding-left: 16px;
155 155  }
156 -.gallery_upload .gallery_attachmentframe {
157 - height: auto;
164 +.gallery_upload form {
165 + height: ${imgSize}px;
158 158  }
159 -.gallery_upload_input {
160 - margin-bottom: 10px;
167 +.gallery_upload .xHint {
168 + text-transform: none !important;
161 161  }
162 -.gallery_upload input[type="file"] {
163 - font-size: 86%;
170 +.gallery_upload input.attachment {
171 + font-size: 83.3%;
172 + margin: 0; /* Overrides viewers/attachments.css */
173 + padding: 0; /* Overrides viewers/attachments.css */
164 164   width: ${mathtool.sub($uploadBoxSize, $mathtool.mul($boxPadding, 2))}px;
165 165  }
166 166  .gallery_upload .buttonwrapper {
167 167   margin: 0;
168 168  }
169 -.gallery_upload .button,
170 -.gallery_upload label {
171 - font-size: 86%;
179 +.gallery_upload .button {
180 + font-size: .65em;
172 172  }
173 -.gallery_upload input[type="checkbox"] {
174 - vertical-align: text-bottom;
175 -}
176 -.gallery_upload label[for="commentinput"] {
177 - margin-top: 10px;
178 -}
179 179  
180 180  /* ------------------------------------ */
181 181  /* Buttons on top: */
Icon XWiki.WikiMacroClass[0]
Code de la macro
... ... @@ -123,24 +123,7 @@
123 123  ## 1. Edit the current page
124 124  ## 2. View the target attachment page. (can be the same page)
125 125  #macro (attachmentPicker_displayButton)
126 - #if ($hasEdit && $targetPermView)
127 - #set ($queryString = {
128 - 'docname': $doc.fullName,
129 - 'classname': $classname,
130 - 'property': $property,
131 - 'object': $object,
132 - 'savemode': $savemode,
133 - 'defaultValue': $defaultValue,
134 - 'filter': $filter,
135 - 'displayImage': $displayImage,
136 - 'versionSummary': $xcontext.macro.params.versionSummary.equals('true')
137 - })
138 - #if ($hasTargetDoc)
139 - #set ($queryString.targetdocname = $targetdoc.fullName)
140 - #end
141 - (% class="buttonwrapper" %)[[$buttontext>>$xcontext.macro.doc.fullName||queryString="$escapetool.url($queryString)"
142 - class="attachment-picker-start button" title="$buttontext"]](%%)##
143 - #end
126 + #if ($hasEdit && $targetPermView)(% class="buttonwrapper" %)[[${buttontext}>>${xcontext.macro.doc.fullName}||queryString="#if ($hasTargetDoc)targetdocname=${escapetool.url($targetdoc.fullName)}&#{end}docname=${escapetool.url($doc.fullName)}&classname=${classname}&property=${property}&object=${object}&savemode=${savemode}&defaultValue=$escapetool.url($defaultValue)&filter=$!{filter}&displayImage=${displayImage}" class="attachment-picker-start button" title="${buttontext}"]](%%)#end
144 144  #end
145 145  {{/velocity}}
146 146  
Catégorie par défaut
... ... @@ -1,1 +1,0 @@
1 -Development
Mis en cache
... ... @@ -1,1 +1,0 @@
1 -Non
Rendu asynchrone
... ... @@ -1,1 +1,0 @@
1 -Non
Icon XWiki.WikiMacroParameterClass[0]
Type du paramètre
... ... @@ -1,1 +1,0 @@
1 -org.xwiki.model.reference.DocumentReference
Icon XWiki.WikiMacroParameterClass[10]
Type du paramètre
... ... @@ -1,1 +1,0 @@
1 -org.xwiki.model.reference.AttachmentReference
Icon XWiki.WikiMacroParameterClass[18]
Type du paramètre
... ... @@ -1,1 +1,0 @@
1 -org.xwiki.model.reference.DocumentReference
Icon XWiki.WikiMacroParameterClass[19]
Valeur par défaut du paramètre
... ... @@ -1,1 +1,0 @@
1 -false
Description du paramètre
... ... @@ -1,1 +1,0 @@
1 -Whether to allow the user to enter a version summary that will be recorded in the history. An automatic message is used when no version summary is provided or if the version summary input is not displayed.
Paramètre obligatoire
... ... @@ -1,1 +1,0 @@
1 -0
Nom du paramètre
... ... @@ -1,1 +1,0 @@
1 -versionSummary
This wiki is licensed under a Creative Commons 2.0 license
XWiki 13.10 - Documentation - Conditions