2014-11-29 15:24:01 +09:00
|
|
|
AutoForm.addInputType("bootstrap-postthumbnail", {
|
|
|
|
template: "afPostThumbnail"
|
|
|
|
});
|
|
|
|
|
|
|
|
Template.afPostThumbnail.helpers({
|
|
|
|
atts: function addFormControlAtts() {
|
|
|
|
var atts = _.clone(this.atts);
|
|
|
|
// Add bootstrap class
|
|
|
|
atts = AutoForm.Utility.addClass(atts, "form-control");
|
|
|
|
return atts;
|
2014-11-30 11:31:07 +09:00
|
|
|
},
|
|
|
|
style: function () {
|
|
|
|
var thumbnailWidth = getSetting('thumbnailWidth', 200);
|
|
|
|
var thumbnailHeight = getSetting('thumbnailHeight', 125);
|
|
|
|
return "width: "+thumbnailWidth+"px; height: "+thumbnailHeight+"px;"
|
2014-11-29 15:24:01 +09:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
Template.afPostThumbnail.rendered = function () {
|
|
|
|
|
|
|
|
var $img = this.$('.post-thumbnail-preview');
|
|
|
|
var $thumbnailUrlField = this.$('[name="thumbnailUrl"]');
|
|
|
|
|
|
|
|
// note: the following fields are *not* in the current template
|
|
|
|
var $urlField = $('[name="url"]');
|
|
|
|
var $titleField = $('[name="title"]');
|
|
|
|
var $bodyField = $('[name="body"]');
|
2014-11-30 11:31:07 +09:00
|
|
|
var $thumbnailContainer = $('.post-thumbnail-container');
|
|
|
|
|
2014-11-29 15:24:01 +09:00
|
|
|
|
|
|
|
$urlField.change(function (e) {
|
|
|
|
var url = $urlField.val();
|
|
|
|
if (!!url) {
|
2014-11-30 11:31:07 +09:00
|
|
|
$thumbnailContainer.addClass('loading');
|
2014-12-06 17:41:15 +09:00
|
|
|
clearSeenMessages();
|
2014-11-30 11:31:07 +09:00
|
|
|
console.log('getting embedly data for '+url);
|
2014-11-29 15:24:01 +09:00
|
|
|
Meteor.call('getEmbedlyData', url, function (error, data) {
|
2014-11-30 13:03:35 +09:00
|
|
|
if (error) {
|
|
|
|
console.log(error)
|
2014-12-10 10:14:27 +09:00
|
|
|
flashMessage(error.message, 'error');
|
2014-11-30 13:03:35 +09:00
|
|
|
$thumbnailContainer.removeClass('loading');
|
|
|
|
return
|
|
|
|
}
|
2014-11-29 15:24:01 +09:00
|
|
|
if (data) {
|
2014-12-01 09:12:39 +09:00
|
|
|
|
|
|
|
// set thumbnail and fill in thumbnailUrl field
|
2014-11-29 15:24:01 +09:00
|
|
|
$img.attr('src', data.thumbnailUrl);
|
|
|
|
$thumbnailUrlField.val(data.thumbnailUrl);
|
2014-12-01 09:12:39 +09:00
|
|
|
|
|
|
|
// remove loading class
|
2014-11-30 11:31:07 +09:00
|
|
|
$thumbnailContainer.removeClass('loading');
|
2014-12-01 09:12:39 +09:00
|
|
|
|
|
|
|
if (!$titleField.val()) // if title field is empty, fill in title
|
|
|
|
$titleField.val(data.title);
|
|
|
|
if (!$bodyField.val()) // if body field is empty, fill in body
|
|
|
|
$bodyField.val(data.description);
|
|
|
|
|
2014-11-29 15:24:01 +09:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2014-12-10 17:00:22 +09:00
|
|
|
Template.afPostThumbnail.events({
|
|
|
|
'click .remove-thumbnail-link': function (e, t) {
|
|
|
|
e.preventDefault();
|
|
|
|
t.$('.post-thumbnail-preview').attr('src', '');
|
|
|
|
t.$('input').val('');
|
|
|
|
}
|
|
|
|
})
|