Modifications pour le document DocumentTree
Modifié par Florent Charton le 2024/08/08 18:44
Depuis la version 1.1
modifié par superadmin
sur 2022/06/20 08:49
sur 2022/06/20 08:49
Commentaire de modification :
Install extension [org.xwiki.contrib:application-ckeditor-ui/1.63.1]
À la version 2.1
modifié par Florent Charton
sur 2022/06/28 18:01
sur 2022/06/28 18:01
Commentaire de modification :
Install extension [org.xwiki.contrib:application-ckeditor-ui/1.64.2]
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
-
Objets (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Auteur du document
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. superadmin1 +xwiki:XWiki.fcharton
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,9 +1,8 @@ 1 -require(['jquery', 'imageSelector'], function($, imageSelector) { 2 - function getSelected(instance) { 3 - /* jshint camelcase: false */ 4 - return instance.get_selected(false)[0]; 5 - } 6 - 1 +require(['jquery', 'imageSelector'], function ($, imageSelector) { 2 + function getSelected(instance) { 3 + return instance.get_selected(false)[0]; 4 + } 5 + 7 7 function validateSelection(instance) { 8 8 var selected = getSelected(instance); 9 9 return selected && selected.startsWith("attachment:"); ... ... @@ -10,14 +10,23 @@ 10 10 } 11 11 12 12 $('.attachments-tree').xtree() 13 - .one('ready.jstree', function(event, data) { 12 + .one('ready.jstree', function (event, data) { 14 14 data.instance.openTo("document:" + XWiki.Model.serialize(XWiki.currentDocument.getDocumentReference())); 15 15 }) 16 - .on('changed.jstree', function(event, data) { 15 + .on('changed.jstree', function (event, data) { 17 17 if (validateSelection(data.instance)) { 18 18 imageSelector.updateSelectedImageReferences([getSelected(data.instance)]); 19 19 } else { 20 - imageSelector.updateSelectedImageReferences([]);19 + imageSelector.updateSelectedImageReferences([]); 21 21 } 21 + }) 22 + .on('load_node.jstree', function (node, status) { 23 + for (var child of status.node.children) { 24 + var childNode = status.instance.get_node(child); 25 + if (childNode.data.mimetype && !childNode.data.mimetype.startsWith('image/')) { 26 + // Disable the nodes instead of hiding them because they still can be search in the search field. 27 + status.instance.disable_node(childNode); 28 + } 29 + } 22 22 }); 23 23 });