sterzycom/panel/app/fields/image/assets/js/image.js

55 lines
1.3 KiB
JavaScript
Raw Normal View History

(function($) {
$.fn.imagefield = function() {
return this.each(function() {
var field = $(this);
// avoid multiple init
if(field.data('imagefield')) return true;
field.data('imagefield', true);
var select = field.find('select');
var preview = field.find('.input-preview figure');
var link = preview.parent('a');
select.on('keydown change', function() {
var option = select.find('option:selected');
var url = option.data('url');
var thumb = option.data('thumb');
if(option.val() === '') {
url = '#';
}
if(thumb) {
preview.attr('style', 'background-image: url(' + thumb + ')');
} else {
preview.attr('style', 'background-image: none');
}
link.attr('href', url);
}).trigger('change');
field.find('.input-preview').on('click', function() {
if($(this).attr('href') == '#') {
return false;
}
});
field.find('.input').droppable({
hoverClass: 'over',
accept: $('.sidebar .draggable-file'),
drop: function(e, ui) {
$(this).find('select').val(ui.draggable.data('helper')).trigger('change');
}
});
});
};
})(jQuery);