Changes for page XWiki JavaScript API

Last modified by Simon Urli on 2022/09/14

<
From version < 32.3 >
edited by Marius Dumitru Florea
on 2015/07/16
To version < 33.2 >
edited by Vincent Massol
on 2015/07/30
>
Change comment: typo

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.mflorea
1 +XWiki.VincentMassol
Content
... ... @@ -196,7 +196,7 @@
196 196  
197 197  = Get some information about the current document {{info}}(Since 6.3M2){{/info}} =
198 198  
199 -In your javascript's applications, you can get (meta) information about the current document, though an AMS module.
199 +In your javascript's applications, you can get (meta) information about the current document, though an AMD module.
200 200  
201 201  {{code language="javascript"}}
202 202  require(['xwiki-meta'], function (xm) {
... ... @@ -277,3 +277,27 @@
277 277  var documentReference = XWiki.Model.resolve('Page', XWiki.EntityType.DOCUMENT, spaceReference);
278 278  // Same output
279 279  {{/code}}
280 +
281 +Starting with 7.2M2 you can construct Reference to Nested Spaces and a new ##equals()## method has been added. Examples using Jasmine:
282 +
283 +{{code language="js"}}
284 +// Construct a Nested Space reference
285 +var reference = new XWiki.SpaceReference('wiki', ['space1', 'space2']);
286 +expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2');
287 +reference = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
288 +expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2.page');
289 +// Construct a non-Nested Space reference
290 +reference = new XWiki.SpaceReference('wiki', 'space');
291 +expect(XWiki.Model.serialize(reference)).toEqual('wiki:space');
292 +// Try passing non-valid space parameters
293 +expect(function() {new XWiki.SpaceReference('wiki', [])}).toThrow('Missing mandatory space name or invalid type for: []');
294 +expect(function() {new XWiki.SpaceReference('wiki', 12)}).toThrow('Missing mandatory space name or invalid type for: [12]');
295 +
296 +// Equals() examples
297 +var reference1 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
298 +var reference2 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
299 +var reference3 = new XWiki.DocumentReference('wiki2', ['space1', 'space2'], 'page');
300 +expect(reference1.equals(reference2)).toBe(true);
301 +expect(reference1.equals(reference3)).toBe(false);
302 +{{/code}}
303 +

Get Connected