open-nomad/ui/app/components/image-file.js

34 lines
758 B
JavaScript
Raw Normal View History

import Component from '@ember/component';
import { computed } from '@ember/object';
import { classNames, tagName } from '@ember-decorators/component';
import classic from 'ember-classic-decorator';
@classic
@tagName('figure')
@classNames('image-file')
export default class ImageFile extends Component {
'data-test-image-file' = true;
src = null;
alt = null;
size = null;
// Set by updateImageMeta
width = 0;
height = 0;
@computed('src')
get fileName() {
if (!this.src) return undefined;
return this.src.includes('/') ? this.src.match(/^.*\/(.*)$/)[1] : this.src;
}
updateImageMeta(event) {
const img = event.target;
this.setProperties({
width: img.naturalWidth,
height: img.naturalHeight,
});
}
}