Merge "Adding position setting to media edit dialog"

This commit is contained in:
jenkins-bot 2014-02-06 03:02:41 +00:00 committed by Gerrit Code Review
commit a1d4acca0f
4 changed files with 51 additions and 2 deletions

View file

@ -650,6 +650,11 @@ $wgResourceModules += array(
'visualeditor-dialog-media-insert-title',
'visualeditor-dialog-media-page-advanced',
'visualeditor-dialog-media-page-general',
'visualeditor-dialog-media-position-center',
'visualeditor-dialog-media-position-left',
'visualeditor-dialog-media-position-none',
'visualeditor-dialog-media-position-right',
'visualeditor-dialog-media-position-section',
'visualeditor-dialog-media-size-originalsize-error',
'visualeditor-dialog-media-size-section',
'visualeditor-dialog-media-title',

View file

@ -43,6 +43,11 @@
"visualeditor-dialog-media-insert-title": "Insert media",
"visualeditor-dialog-media-page-advanced": "Advanced settings",
"visualeditor-dialog-media-page-general": "General settings",
"visualeditor-dialog-media-position-center": "Center",
"visualeditor-dialog-media-position-left": "Left",
"visualeditor-dialog-media-position-none": "None",
"visualeditor-dialog-media-position-right": "Right",
"visualeditor-dialog-media-position-section": "Position",
"visualeditor-dialog-media-size-originalsize-error": "Could not retrieve original file size.",
"visualeditor-dialog-media-size-section": "Image size",
"visualeditor-dialog-media-title": "Media settings",

View file

@ -48,6 +48,11 @@
"visualeditor-dialog-media-insert-title": "Media insert dialog title text.\n{{Identical|Insert media}}",
"visualeditor-dialog-media-page-advanced": "Label for the advanced settings page in the media edit dialog",
"visualeditor-dialog-media-page-general": "Label for the general settings page in the media edit dialog.\n{{Identical|General settings}}",
"visualeditor-dialog-media-position-center": "Label for the image position option for aligning to the center.",
"visualeditor-dialog-media-position-left": "Label for the image position option for aligning to the left.",
"visualeditor-dialog-media-position-none": "Label for the image position option for no alignment.",
"visualeditor-dialog-media-position-right": "Label for the image position option for aligning to the right.",
"visualeditor-dialog-media-position-section": "Label for the image position sub-section.",
"visualeditor-dialog-media-size-originalsize-error": "Error message for failing to retrieve original file size from the API.",
"visualeditor-dialog-media-size-section": "Label for the image size sub-section.\n{{Identical|Image size}}",
"visualeditor-dialog-media-title": "Title for the editing dialog to set how a media item is displayed on the page",

View file

@ -118,7 +118,7 @@ ve.ui.MWMediaEditDialog.static.pasteRules = ve.extendObject(
* @inheritdoc
*/
ve.ui.MWMediaEditDialog.prototype.initialize = function () {
var altTextFieldset;
var altTextFieldset, positionFieldset;
// Parent method
ve.ui.MWDialog.prototype.initialize.call( this );
@ -168,6 +168,24 @@ ve.ui.MWMediaEditDialog.prototype.initialize = function () {
altTextFieldset.$element
.append( this.altTextInput.$element );
// Position
positionFieldset = new OO.ui.FieldsetLayout( {
'$': this.$,
'label': ve.msg( 'visualeditor-dialog-media-position-section' ),
'icon': 'parameter'
} );
this.positionInput = new OO.ui.SelectWidget( {
'$': this.$
} );
this.positionInput.addItems( [
new OO.ui.OptionWidget( 'left', { 'label': ve.msg( 'visualeditor-dialog-media-position-left' ) } ),
new OO.ui.OptionWidget( 'right', { 'label': ve.msg( 'visualeditor-dialog-media-position-right' ) } ),
new OO.ui.OptionWidget( 'center', { 'label': ve.msg( 'visualeditor-dialog-media-position-center' ) } ),
new OO.ui.OptionWidget( 'none', { 'label': ve.msg( 'visualeditor-dialog-media-position-none' ) } )
], 0 );
// Build position fieldset
positionFieldset.$element.append( this.positionInput.$element );
// Size
this.sizeFieldset = new OO.ui.FieldsetLayout( {
'$': this.$,
@ -204,7 +222,11 @@ ve.ui.MWMediaEditDialog.prototype.initialize = function () {
this.captionFieldset.$element,
altTextFieldset.$element
] );
this.advancedSettingsPage.$element.append( this.sizeFieldset.$element );
this.advancedSettingsPage.$element.append( [
positionFieldset.$element,
this.sizeFieldset.$element
] );
this.$body.append( this.bookletLayout.$element );
this.$foot.append( this.applyButton.$element );
@ -265,6 +287,13 @@ ve.ui.MWMediaEditDialog.prototype.setup = function ( data ) {
// Set initial alt text
this.altTextInput.setValue( this.mediaNode.getAttribute( 'alt' ) || '' );
// Set initial position
if ( this.mediaNode.getAttribute( 'align' ) !== undefined ) {
this.positionInput.selectItem(
this.positionInput.getItemFromData( this.mediaNode.getAttribute( 'align' ) )
);
}
// Initialization
this.captionFieldset.$element.append( this.captionSurface.$element );
this.captionSurface.initialize();
@ -321,6 +350,11 @@ ve.ui.MWMediaEditDialog.prototype.teardown = function ( data ) {
attrs.alt = attr;
}
attr = this.positionInput.getSelectedItem();
if ( attr ) {
attrs.align = attr.getData();
}
surfaceModel.change(
ve.dm.Transaction.newFromAttributeChanges( doc, this.mediaNode.getOffset(), attrs )
);