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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
/*
* This file is part of the MediaWiki extension UploadWizard.
*
* UploadWizard is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* UploadWizard is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with UploadWizard. If not, see <http://www.gnu.org/licenses/>.
*/
( function ( mw, uw, $, OO ) {
/**
* @param {Object} config The UW config
* @param {mw.UploadWizardUpload} upload Uploads that this deed refers to
* @class uw.deed.External
* @constructor
*/
uw.deed.External = function UWDeedExternal( config, upload ) {
uw.deed.Custom.call( this, config, upload );
this.licenseInput = new mw.UploadWizardLicenseInput(
undefined,
config,
1,
upload.api
);
this.licenseInput.$element.addClass( 'mwe-upwiz-External-deed' );
this.licenseInputField = new uw.FieldLayout( this.licenseInput );
this.licenseInput.setDefaultValues();
};
OO.inheritClass( uw.deed.External, uw.deed.Custom );
/**
* @return {uw.FieldLayout[]} Fields that need validation
*/
uw.deed.External.prototype.getFields = function () {
return [ this.licenseInputField ];
};
/**
* @inheritdoc
*/
uw.deed.External.prototype.getLicenseWikiText = function () {
if ( this.upload.file.licenseValue ) {
return this.upload.file.licenseValue + this.licenseInput.getWikiText();
} else {
return this.licenseInput.getWikiText();
}
};
/**
* @return {Object}
*/
uw.deed.External.prototype.getSerialized = function () {
return $.extend( uw.deed.Custom.prototype.getSerialized.call( this ), {
license: this.licenseInput.getSerialized()
} );
};
/**
* @param {Object} serialized
*/
uw.deed.External.prototype.setSerialized = function ( serialized ) {
uw.deed.Custom.prototype.setSerialized.call( this, serialized );
if ( serialized.license ) {
this.licenseInput.setSerialized( serialized.license );
}
};
}( mediaWiki, mediaWiki.uploadWizard, jQuery, OO ) );
|