mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-26 19:56:49 +00:00
Merge "Adding position setting to media edit dialog"
This commit is contained in:
commit
a1d4acca0f
|
@ -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',
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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 )
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue