|
@@ -33,6 +33,7 @@ export default class ImageEngine extends Plugin {
|
|
|
const schema = doc.schema;
|
|
const schema = doc.schema;
|
|
|
const data = editor.data;
|
|
const data = editor.data;
|
|
|
const editing = editor.editing;
|
|
const editing = editor.editing;
|
|
|
|
|
+ const config = editor.config;
|
|
|
const t = editor.t;
|
|
const t = editor.t;
|
|
|
|
|
|
|
|
// Configure schema.
|
|
// Configure schema.
|
|
@@ -54,12 +55,17 @@ export default class ImageEngine extends Plugin {
|
|
|
createImageAttributeConverter( [ editing.modelToView, data.modelToView ], 'src' );
|
|
createImageAttributeConverter( [ editing.modelToView, data.modelToView ], 'src' );
|
|
|
createImageAttributeConverter( [ editing.modelToView, data.modelToView ], 'alt' );
|
|
createImageAttributeConverter( [ editing.modelToView, data.modelToView ], 'alt' );
|
|
|
|
|
|
|
|
|
|
+ // Responsive sizes default value. More information and discussion on this topic:
|
|
|
|
|
+ // https://github.com/ckeditor/ckeditor5-image/issues/2.
|
|
|
|
|
+ config.define( 'image.responsiveSizes', '100vw' );
|
|
|
|
|
+ const sizes = config.get( 'image.responsiveSizes' );
|
|
|
|
|
+
|
|
|
// Convert `srcset` attribute changes and add or remove `sizes` attribute when necessary.
|
|
// Convert `srcset` attribute changes and add or remove `sizes` attribute when necessary.
|
|
|
createImageAttributeConverter( [ editing.modelToView, data.modelToView ], 'srcset', ( viewImg, type ) => {
|
|
createImageAttributeConverter( [ editing.modelToView, data.modelToView ], 'srcset', ( viewImg, type ) => {
|
|
|
if ( type == 'removeAttribute' ) {
|
|
if ( type == 'removeAttribute' ) {
|
|
|
viewImg.removeAttribute( 'sizes' );
|
|
viewImg.removeAttribute( 'sizes' );
|
|
|
} else {
|
|
} else {
|
|
|
- viewImg.setAttribute( 'sizes', '100vw' );
|
|
|
|
|
|
|
+ viewImg.setAttribute( 'sizes', sizes );
|
|
|
}
|
|
}
|
|
|
} );
|
|
} );
|
|
|
|
|
|