12345678910111213141516171819202122232425262728293031323334353637383940 |
- import Ember from 'ember';
- export default Ember.Component.extend({
- classNames: ['loading-overlay', 'fade'],
- classNameBindings: ['_visible:in'],
- visible: false,
- itemName: null,
- activeItem: null,
- _visible: function() {
- if (this.get('itemName')) {
- return this.get('itemName') === this.get('activeItem');
- } else {
- return this.get('visible');
- }
- }.property('visible', 'itemName', 'activeItem'),
- selector: 'img',
- positionOverlay: function() {
- var $target = this.$().parent().find(this.get('selector'));
- var self = this;
- var _positionOverlay = function($target) {
- if (self.isDestroyed) { return; }
- // see if image was loaded
- if ($target.width() === 0 || $target.height() === 0) {
- Ember.run.later(function () {
- _positionOverlay($target);
- }, 200);
- } else {
- self.$().find('.overlay-icon').width($target.width());
- self.$().find('.overlay-icon').height($target.height());
- }
- };
- _positionOverlay($target);
- }.on('didInsertElement')
- });
|