mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-18 23:21:30 +08:00
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
/* global dropdownSelector TinyMCE */
|
|
var ProtocolRepositoryHeader = (function() {
|
|
function initEditKeywords() {
|
|
dropdownSelector.init('#keyword-input-field', {
|
|
inputTagMode: true,
|
|
onChange: function() {
|
|
$.ajax({
|
|
url: $('#keyword-input-field').data('update-url'),
|
|
type: 'PATCH',
|
|
dataType: 'json',
|
|
data: { keywords: dropdownSelector.getValues('#keyword-input-field') },
|
|
success: function() {
|
|
dropdownSelector.highlightSuccess('#keyword-input-field');
|
|
},
|
|
error: function() {
|
|
dropdownSelector.highlightError('#keyword-input-field');
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function initEditDescription() {
|
|
var viewObject = $('#protocol_description_view');
|
|
viewObject.on('click', function(e) {
|
|
if ($(e.target).hasClass('record-info-link') || $(e.target).parent().hasClass('record-info-link')) return;
|
|
TinyMCE.init('#protocol_description_textarea');
|
|
}).on('click', 'a', function(e) {
|
|
if ($(this).hasClass('record-info-link')) return;
|
|
e.stopPropagation();
|
|
});
|
|
}
|
|
|
|
return {
|
|
init: () => {
|
|
if ($('.protocol-repository-header').length > 0) {
|
|
initEditKeywords();
|
|
initEditDescription();
|
|
}
|
|
}
|
|
};
|
|
}());
|
|
|
|
$(document).on('turbolinks:load', function() {
|
|
ProtocolRepositoryHeader.init();
|
|
});
|