mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-15 21:56:12 +08:00
125 lines
3.9 KiB
JavaScript
125 lines
3.9 KiB
JavaScript
/* global bwipjs PrintModalComponent RepositoryDatatable HelperModule MyModuleRepositories */
|
|
|
|
(function() {
|
|
'use strict';
|
|
|
|
$(document).on('click', '.record-info-link', function(e) {
|
|
var that = $(this);
|
|
let params = {};
|
|
if ($('.my-modules-protocols-index, #results').length) {
|
|
params.my_module_id = $('.my-modules-protocols-index, #results').data('task-id');
|
|
}
|
|
|
|
$.ajax({
|
|
method: 'GET',
|
|
url: that.attr('href'),
|
|
data: params,
|
|
dataType: 'json'
|
|
}).done(function(xhr, settings, data) {
|
|
if ($('#modal-info-repository-row').length) {
|
|
$('#modal-info-repository-row').find('.modal-body #repository_row-info-table').DataTable().destroy();
|
|
$('#modal-info-repository-row').remove();
|
|
$('.modal-backdrop').remove();
|
|
}
|
|
$('body').append($.parseHTML(data.responseJSON.html));
|
|
$('[data-toggle="tooltip"]').tooltip();
|
|
$('#modal-info-repository-row').modal('show', {
|
|
backdrop: true,
|
|
keyboard: false
|
|
}).on('hidden.bs.modal', function() {
|
|
$(this).find('.modal-body #repository_row-info-table').DataTable().destroy();
|
|
$(this).remove();
|
|
});
|
|
|
|
let barCodeCanvas = bwipjs.toCanvas('bar-code-canvas', {
|
|
bcid: 'qrcode',
|
|
text: $('#modal-info-repository-row #bar-code-canvas').data('id').toString(),
|
|
scale: 3
|
|
});
|
|
$('#modal-info-repository-row #bar-code-image').attr('src', barCodeCanvas.toDataURL('image/png'));
|
|
|
|
$('#repository_row-info-table').DataTable({
|
|
dom: 'RBltpi',
|
|
stateSave: false,
|
|
buttons: [],
|
|
processing: true,
|
|
colReorder: {
|
|
fixedColumnsLeft: 1000000 // Disable reordering
|
|
},
|
|
columnDefs: [{
|
|
targets: 0,
|
|
searchable: false,
|
|
orderable: false
|
|
}],
|
|
fnDrawCallback: function(settings, json) {
|
|
animateSpinner(this, false);
|
|
},
|
|
preDrawCallback: function(settings) {
|
|
animateSpinner(this);
|
|
}
|
|
});
|
|
});
|
|
e.preventDefault();
|
|
return false;
|
|
});
|
|
|
|
$(document).on('click', '.export-consumption-button', function() {
|
|
let selectedRows = [];
|
|
|
|
if ($(this).attr('id') === 'exportStockConsumptionButton') {
|
|
selectedRows = RepositoryDatatable.selectedRows();
|
|
} else {
|
|
selectedRows = $('#modal-info-repository-row .print-label-button').data('rows');
|
|
}
|
|
|
|
window.initExportStockConsumptionModal();
|
|
|
|
if (window.exportStockConsumptionModalComponent) {
|
|
window.exportStockConsumptionModalComponent.fetchRepositoryData(
|
|
selectedRows,
|
|
{ repository_id: $(this).data('objectId') },
|
|
);
|
|
$('#modal-info-repository-row').modal('hide');
|
|
}
|
|
});
|
|
|
|
$(document).on('click', '.print-label-button', function(e) {
|
|
var selectedRows = $(this).data('rows');
|
|
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
|
|
if (typeof PrintModalComponent !== 'undefined') {
|
|
PrintModalComponent.showModal = true;
|
|
if (selectedRows && selectedRows.length) {
|
|
$('#modal-info-repository-row').modal('hide');
|
|
PrintModalComponent.row_ids = selectedRows;
|
|
} else {
|
|
PrintModalComponent.row_ids = [...RepositoryDatatable.selectedRows()];
|
|
}
|
|
}
|
|
});
|
|
|
|
$(document).on('click', '.assign-inventory-button', function(e) {
|
|
e.preventDefault();
|
|
let assignUrl = $(this).data('assignUrl');
|
|
let repositoryRowId = $(this).data('repositoryRowId');
|
|
|
|
$.ajax({
|
|
url: assignUrl,
|
|
type: 'POST',
|
|
data: { repository_row_id: repositoryRowId },
|
|
dataType: 'json',
|
|
success: function(data) {
|
|
HelperModule.flashAlertMsg(data.flash, 'success');
|
|
$('#modal-info-repository-row').modal('hide');
|
|
if (typeof MyModuleRepositories !== 'undefined') {
|
|
MyModuleRepositories.reloadRepositoriesList(repositoryRowId);
|
|
}
|
|
},
|
|
error: function(error) {
|
|
HelperModule.flashAlertMsg(error.responseJSON.flash, 'danger');
|
|
}
|
|
});
|
|
});
|
|
}());
|