blob: 5cb70741b4abdf83bff7ab7042c76555e0522f4c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
(function($, mw) {
'use strict';
function canEditPage(pageName) {
let deferred = $.Deferred();
new mw.Api().get({
action: 'query',
format: 'json',
titles: pageName,
prop: 'info',
intestactions: 'edit'
}).done(function(response) {
// Next level usability in the MW API:
let canEdit = response.query.pages[Object.keys(response.query.pages)[0]].actions.hasOwnProperty('edit');
deferred.resolve(canEdit);
});
return deferred.promise();
}
function getLatestRevision(pageName) {
let deferred = $.Deferred();
new mw.Api().post({
action: 'query',
prop: 'revisions',
rvlimit: 1,
rvprop: [ 'ids', 'content' ],
titles: pageName
}).done(function(response) {
deferred.resolve(response.query.pages[Object.keys(response.query.pages)[0]].revisions[0]);
});
return deferred.promise();
}
if (!window.maps) {window.maps = {};}
window.maps.api = {
canEditPage: canEditPage,
getLatestRevision: getLatestRevision
};
})(window.jQuery, window.mediaWiki);
|