jQuery(document).ready(function( $ ) { function isEmpty(str) { return (!str || 0 === str.length); } function sendNotice(noticeClass, message) { $('#output').html('

' + message + '

'); } function requestRender(json) { var jsonBibtex = JSON.stringify(json); $('[name=bibtex_json]').val(jsonBibtex); var data = { 'action' : 'academizer_ajax_render_bibtex', 'bibtex' : jsonBibtex, 'paper_url' : $('[name=paper_url]').val(), 'pub_url' : $('[name=pub_url]').val(), }; jQuery.post(academizer.ajax_url, data, function(response) { response = JSON.parse(response); if (response.result > 0) { sendNotice('notice-info', 'Bibtex type: ' + json[0].entryType + ''); $('#output').append(response.message); } else sendNotice('notice-error', response.message); }); } var $ = jQuery.noConflict(); var bibtex = $('[name=bibtex]'); var bibtexJSON = $('[name=bibtex_json]') ; var jsonText = bibtexJSON.val(); bibtex.on('change', function() { try { var json = bibtexParse.toJSON(bibtex.val()); if (json.length == 0) { sendNotice('notice-error', 'No Bibtex entered.'); return; } } catch(e) { sendNotice('notice-error', 'Bibtex is invalid.'); } requestRender(json); }); if (!isEmpty(jsonText)) { try { var json = JSON.parse(jsonText); var bibtexRef = bibtexParse.toBibtex(json, false).replace("\n\n",""); bibtex.text(bibtexRef); } catch (e) { sendNotice('notice-error', 'Bibtex is invalid.'); } bibtex.trigger('change'); } });