diff --git a/module/field.js b/module/field.js index 9f46fc0..5b2098b 100644 --- a/module/field.js +++ b/module/field.js @@ -292,6 +292,9 @@ export class FileField { // Set up the viewer const behaviour = this._behaviours.viewer + + console.log(cls.behaviours.viewer, behaviour) + this._viewer = cls.behaviours.viewer[behaviour](this) this._viewer.init() @@ -650,7 +653,12 @@ FileField.css = { * Applied to the field element when the expected file type is an * image. */ - 'image': 'mh-file-field--image' + 'image': 'mh-file-field--image', + /** + * Applied to the field element when the expected file type is an + * SVG image. + */ + 'svg_image': 'mh-file-field--image' } } diff --git a/module/gallery.js b/module/gallery.js index 314f928..2660742 100644 --- a/module/gallery.js +++ b/module/gallery.js @@ -530,7 +530,12 @@ Gallery.css = { * Applied to the gallery element when the expected file type is an * image. */ - 'image': 'mh-gallery--image' + 'image': 'mh-gallery--image', + /** + * Applied to the gallery element when the expected file type is an + * SVG image. + */ + 'svg_image': 'mh-gallery--image', } } diff --git a/module/utils/behaviours/defaults.js b/module/utils/behaviours/defaults.js index 66ab1c3..85df278 100644 --- a/module/utils/behaviours/defaults.js +++ b/module/utils/behaviours/defaults.js @@ -108,6 +108,17 @@ export function viewer(containerAttr, optionsAttr) { inst.getAssetProp('previewURL') ) + case 'svg_image': + return new ImageViewer( + inst[containerAttr], + inst.getAssetProp('url'), + { + 'download': true, + 'metadata': true, + 'remove': true + } + ) + // no default } diff --git a/module/utils/behaviours/manhattan.js b/module/utils/behaviours/manhattan.js index fdd0c98..1d77f88 100644 --- a/module/utils/behaviours/manhattan.js +++ b/module/utils/behaviours/manhattan.js @@ -150,6 +150,9 @@ export function assetProp(assetAttr, optionsAttr) { } return transforms + case 'url': + return _asset.url + // no default } @@ -183,6 +186,9 @@ export function metadata(optionsAttr) { props.push(['Mode', 'imageMode', getProp('imageMode'), true]) props.push(['Size', 'imageSize', getProp('imageSize'), true]) props.push(['Alt', 'alt', getProp('alt'), false]) + + } else if (options.fileType === 'svg_image') { + props.push(['Alt', 'alt', getProp('alt'), false]) } return new Metadata(props) diff --git a/package.json b/package.json index e601634..142aa61 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "manhattan-assets", - "version": "1.0.0-beta.18", + "version": "1.0.1", "description": "File and image uploads for forms.", "engines": { "node": ">=8.9.4"