After one fastidious debuging day ;-)) , here some snippet to edit map with velocity with
put and/or velocity variable (with space character):
#set ($MyArray1={})
* $jsontool.serialize($MyArray1)
#set ($indexNiv1='Index 2')
##set ($discard=$MyArray1.put('Index2',{}))
#set ($MyArray1[$indexNiv1]={})
* $jsontool.serialize($MyArray1)
##set ($discard=$MyArray2.put('Index2',{'Field1':'Addon value'}))
#set ($field1='Field 1')
##set ($discard=$MyArray1.put($indexNiv1,{$field1:'Addon value'}))
#set ($MyArray1[$indexNiv1][$field1]='Addon value')
* $jsontool.serialize($MyArray1)
#set ($field2="Field 2")
##set ($discard=$MyArray1[$indexNiv1].put($field2,'Another value'))
#set ($MyArray1[$indexNiv1][$field2]='Another value')
* $jsontool.serialize($MyArray1)
#set ($discard=$MyArray1.put('Index 2',{'Field1':'Addon
value','field 2':'Another addon value'}))
* Values in one shot: $jsontool.serialize($MyArray1)
$MyArray1.keySet()
--- En date de : Lun 27.7.15, Pascal BASTIEN <pbasnews-xwiki(a)yahoo.fr> a écrit :
De: Pascal BASTIEN <pbasnews-xwiki(a)yahoo.fr>
Objet: Re: [xwiki-users] Need help with velocity+json
À: "XWiki Users" <users(a)xwiki.org>rg>, "Marius Dumitru Florea"
<mariusdumitru.florea(a)xwiki.com>
Date: Lundi 27 juillet 2015, 15h48
By the way, are there a
"xwiki tricks" to pass a variable from velocity to
javascript ?
Anyways, this
way working well (replace MyArray by MyMap ;-) ) :
{{velocity}}
{{html}}
#set ($MyArray={
'Index1':{'Field1':'value1','field2':'value2'},
'Index3':{'Field1':'A
value','field2':'Another value'}
})
<script
type="text/javascript">
var
MaVariable=$jsontool.serialize($MyArray);
</script>
{{/html}}
{{/velocity}}
And in my XWiki.JavaScriptExtension object:
function change_value(bouton,
idTarget) {
require(['jquery'], function ($) {
// xxxxx
var obj
= MaVariable;
alert(obj["Index2"]["field2"]);
});
};
--------------------------------------------
En date de : Lun 27.7.15, Pascal BASTIEN
<pbasnews-xwiki(a)yahoo.fr>
a écrit :
Objet: Re:
[xwiki-users] Need help with velocity+json
À: "XWiki Users" <users(a)xwiki.org>rg>,
"Marius Dumitru Florea" <mariusdumitru.florea(a)xwiki.com>
Date: Lundi 27 juillet 2015, 12h01
Thxs a lot:
"put"
is my new friend :-)
Here
the answer:
#set
($MyArray={
'Index1':{'Field1':'value1','field2':'value2'},
'Index3':{'Field1':'A
value','field2':'Another value'}
})
$MyArray.getClass().getName()
*
Original map
$jsontool.serialize($MyArray)
*
I Modify the 'Index3' entrie:
#set
($discard=$MyArray.put('Index3',{'Field1':'A
modified
value','field2':'Another modified
value'}))
$jsontool.serialize($MyArray)
*
I add the 'Index2' entrie:
#set
($discard=$MyArray.put('Index2',{'Field1':'Addon
value','field2':'Another
addon
value'}))
$jsontool.serialize($MyArray)
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users