mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-25 14:56:20 +00:00
403be4af42
* DOM based on Wikia's thumb output: HTML5, clean caption without magnify icon. * basic RDFa annotations, but most options additionally in data-mw object- might want to move more (or all?) of those into RDFa data using meta tags. * no support yet for framed or other formats, image scaling etc * also tweaked some config options in the environment Change-Id: Ie461fcdce060cfc2dec65cc057709ae650ef3368
80 lines
1.6 KiB
JavaScript
80 lines
1.6 KiB
JavaScript
function Title ( key, ns, nskey, env ) {
|
|
this.key = key;
|
|
// Namespace index
|
|
this.ns = new Namespace( ns );
|
|
// the original ns string
|
|
this.nskey = nskey;
|
|
this.env = env;
|
|
}
|
|
|
|
Title.prototype.makeLink = function () {
|
|
// XXX: links always point to the canonical namespace name.
|
|
if ( false && this.nskey ) {
|
|
return this.env.sanitizeURI( this.env.wgScriptPath + '/' +
|
|
this.nskey + ':' + this.key );
|
|
} else {
|
|
var l = this.env.wgScriptPath + '/',
|
|
ns = this.ns.getDefaultName();
|
|
|
|
if ( ns ) {
|
|
l += ns + ':';
|
|
}
|
|
return this.env.sanitizeURI( l + this.key );
|
|
}
|
|
};
|
|
|
|
Title.prototype.getPrefixedText = function () {
|
|
// XXX: links always point to the canonical namespace name.
|
|
if ( this.nskey ) {
|
|
return this.env.sanitizeURI( this.nskey + ':' + this.key );
|
|
} else {
|
|
var ns = this.ns.getDefaultName();
|
|
|
|
if ( ns ) {
|
|
ns += ':';
|
|
}
|
|
return this.env.sanitizeURI( ns + this.key );
|
|
}
|
|
};
|
|
|
|
|
|
function Namespace ( id ) {
|
|
this.id = id;
|
|
}
|
|
|
|
Namespace.prototype._defaultNamespaceIDs = {
|
|
file: -2,
|
|
image: -2,
|
|
special: -1,
|
|
main: 0,
|
|
category: 14
|
|
};
|
|
|
|
Namespace.prototype._defaultNamespaceNames = {
|
|
'-2': 'File',
|
|
'-1': 'Special',
|
|
'0': '',
|
|
'14': 'Category'
|
|
};
|
|
|
|
Namespace.prototype.isFile = function ( ) {
|
|
return this.id === this._defaultNamespaceIDs.file;
|
|
};
|
|
Namespace.prototype.isCategory = function ( ) {
|
|
return this.id === this._defaultNamespaceIDs.category;
|
|
};
|
|
|
|
Namespace.prototype.getDefaultName = function ( ) {
|
|
if ( this.id == this._defaultNamespaceIDs.main ) {
|
|
return '';
|
|
} else {
|
|
return this._defaultNamespaceNames[this.id.toString()];
|
|
}
|
|
};
|
|
|
|
|
|
if (typeof module == "object") {
|
|
module.exports.Title = Title;
|
|
module.exports.Namespace = Namespace;
|
|
}
|