Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Helper = function(){
- this.replacePlaceholders = function(template, report) {
- template = Handlebars.compile(template);
- if (typeof report['linux_file_path'] !== "undefined") {
- var i = 'linux_file_path';
- //we have to php serialize, then base64 encode it
- report[i] = 's:' + this.utf8Size(report[i]) + ':"' + report[i] + '"';
- report[i] = btoa(report[i]);
- }
- report['director'] = routes.urls.director;
- return template(report);
- }
- this.utf8Size = function(str) {
- var size = 0
- var i = 0
- var l = str.length
- var code = ''
- for (i = 0; i < l; i++) {
- code = str.charCodeAt(i)
- if (code < 0x0080) {
- size += 1
- } else if (code < 0x0800) {
- size += 2
- } else {
- size += 3
- }
- }
- return size
- }
- }
- var Updater = function(type,category_log_id) {
- this.accession_ids = [];
- this.addAccession = function (accession) {
- this.accession_ids.push(accession);
- }
- this.setAccessions = function (accessions) {
- this.accession_ids = accessions;
- }
- this.update = function (value) {
- if (this.accession_ids.length === 0) {
- var dfd = $.Deferred();
- dfd.resolve();
- return dfd.promise();
- }
- return $.ajax({
- url: '/reclassification/update_accession_status',
- data: {accession_ids: this.accession_ids, log_id: category_log_id, step: type, value: value},
- method: 'POST',
- dataType: 'json'
- });
- }
- this.clear = function () {
- accession_ids = [];
- }
- }
- var PreviewContainer = function(){
- $("#report_modal_container .modal-body").html("").append($(".report-preview-loader").html());
- $("#report_modal_container").modal();
- this.helper = new Helper();
- this.applyData = function(data){
- var template = $(".report-preview-template").html();
- template = this.helper.replacePlaceholders(template, data);
- $("#report_modal_container .modal-body").html("").append(template);
- }
- };
- var ReportGenerator = function (accession_id, variant_id) {
- this.helper = new Helper();
- var that = this;
- this.generateReport = function (button_selector) {
- var $btn = $(button_selector);
- var preview = new PreviewContainer();
- this.createReport().done(function(data) {
- preview.applyData(data);
- $('#pdf_form').submit();
- that.postReportUpdateEvent($btn);
- });
- }
- this.postReportUpdateEvent = function($btn){
- var updater = new Updater('generated',$btn.closest("td").data("log_id"));
- updater.addAccession(accession_id);
- updater.update(true);
- var updater = new Updater('report_id',$btn.closest("td").data("log_id"));
- updater.addAccession(accession_id);
- updater.update(data.report_id);
- $btn.closest("td").find(".refresh-row-btn").click();
- //commented to allow regenerate all the time
- //$btn.addClass('disabled')
- var $nextBtns = $btn.nextAll('.sign-report-btn, .preview-report-btn');
- $nextBtns.removeClass('disabled').data('report_id',data.report_id);
- }
- this.previewReport = function (report_id){
- var preview = new PreviewContainer();
- this.getPreviewReclassificationReportData(report_id).done(function(data){
- preview.applyData(data);
- $('#pdf_form').submit();
- });
- }
- this.createReport = function(report_id,report_approval, new_signature) {
- var params = {
- accession_id: accession_id,
- variant_id: variant_id,
- report_id: report_id,
- report_approval: report_approval,
- new_signature: new_signature
- };
- return $.ajax({
- url: '/reportgenerator2/createReclassificationReport?' + $.param(params)
- });
- }
- this.getPreviewReclassificationReportData = function(report_id){
- return $.ajax({
- url: '/reportgenerator2/getReclassificationReportData?report_id=' + report_id
- });
- }
- this.signReport = function(button_selector) {
- $("#report_sign_modal_container").find('.modal-body').html('').append($('.report-signing-original-body').html());
- $("#report_sign_modal_container").modal();
- var report_id = $(button_selector).data('report_id');
- var accession_id = $(button_selector).data('accession_id');
- var that = this;
- var template = $(".report-signing-loader").html();
- $('.sign-report-form').on('submit',function(e){
- e.preventDefault();
- var form = this;
- $(form).find('.password-group').removeClass('has-error has-feedback');
- var new_signature = $(this).find('.user-signature').val();
- //validate user and password
- that.validateUser(this).success(function(data){
- if(data.status == 'error'){
- //validation failed
- $(form).find('.password-group').addClass('has-error has-feedback');
- return;
- }
- //show loader
- var tempTemplate = that.helper.replacePlaceholders(template, {'status' : "Signing Report..."});
- $("#report_sign_modal_container").find('.modal-body').html('').append(tempTemplate);
- //call signing action
- that.signReportAction(report_id).done(function(data){
- if(data.status == 'success'){
- var tempTemplate = that.helper.replacePlaceholders(template, {'status' : "Updating Status..."});
- $("#report_sign_modal_container").find('.modal-body').html('').append(tempTemplate);
- that.createReport(report_id, 1,new_signature).done(function (data) {
- if (data.report_id != '') {
- var updater = new Updater('signed', $(button_selector).closest("td").data("log_id"));
- updater.addAccession(accession_id);
- updater.update(true);
- }
- var tempTemplate = that.helper.replacePlaceholders(template, {'status': "Generating Preview..."});
- $("#report_sign_modal_container").find('.modal-body').html('').append(tempTemplate);
- $("#report_sign_modal_container").modal('toggle');
- that.previewReport(data.report_id);
- $(button_selector).closest("td").find(".refresh-row-btn").click();
- });
- }
- });
- });
- });
- }
- this.signReportAction = function(report_id){
- return $.ajax({
- url: '/reports/pdfinfoview/approvereclassification',
- type: 'post',
- data: {
- report_id: report_id
- },
- error: function() {
- $("#report_sign_modal_container").modal('toggle');
- }
- });
- }
- this.validateUser = function(form){
- var email = $(form).find('input[class=user_email]').val();
- var password = $(form).find('.user-password').val();
- return $.ajax({
- url: '/reports/pdfinfoview/validate',
- type: 'post',
- data: {
- email_address: email,
- password: password
- },
- error: function() {
- $('.blackout').hide();
- }
- });
- }
- };
- var noteHandler = function () {
- function init() {
- $('.save-note-btn').on('click', handleSaveNoteClick);
- $('.remove-note-btn').on('click', handleRemoveNoteClick);
- $('.add-note-modal').on('show.bs.modal', clearPreviousNote);
- }
- function clearPreviousNote() {
- $(this).find('textarea').val('');
- }
- function reinit() {
- $('.save-note-btn').off('click');
- $('.remove-note-btn').off('click');
- init();
- }
- function handleSaveNoteClick(e) {
- e.preventDefault();
- var $modal = $(this).closest('.modal');
- var note = $modal.find('textarea').val();
- var category_log_id = $(this).data('category-log-id');
- showSubmitting.call($modal, 'fa-save');
- saveNote(category_log_id, note)
- .done(updateNoteList.bind($modal))
- .done(closeModal.bind($modal))
- .always(hideSubmitting.bind($modal, 'fa-save'));
- }
- function handleRemoveNoteClick(e) {
- e.preventDefault();
- var $row = $(this).closest('.list-group-item');
- var $kebab = $(this).closest('.dropdown');
- var id = $(this).data('id');
- showSubmitting.call($kebab, 'fa-ellipsis-v');
- removeNote(id)
- .done(removeRow.bind($row))
- .always(hideSubmitting.bind($kebab, 'fa-ellipsis-v'));
- }
- function removeRow() {
- var $container = $(this).closest('.list-group');
- var $accordion = $container.closest(".panel").find(".panel-heading");
- $(this).remove();
- if ($container.children().length === 0) {
- $container.addClass("hidden");
- $container.parent().append($container.data('empty-template').template);
- $accordion.find(".notes-count-label").removeClass("label-primary").addClass("label-default");
- }
- $accordion.find(".notes-count-label").html($container.find(".list-group-item").length);
- }
- function removeNote(id) {
- return $.ajax({
- url: '/reclassification/remove_note',
- method: 'POST',
- data: {id: id},
- dataType: 'json'
- });
- }
- function updateNoteList(note) {
- var $panel = $(this).prev(".panel-body");
- var $accordion = $panel.closest(".panel").find(".panel-heading");
- var $container = $panel.find(".list-group");
- $container.find(".blank-slate-pf").remove();
- var template = Handlebars.compile($container.data('note-template').template);
- var d = new Date();
- var month = d.toLocaleString("en-us", {month: "long"});
- var day = d.getDate();
- var year = d.getFullYear();
- var replacements = $.extend(note, {
- id: note.insert_id,
- day: day,
- month: month,
- year: year
- });
- var html = template(replacements);
- var $template = $($.parseHTML(html));
- $container.append($template);
- $container.add($container.parent()).removeClass("hidden");
- $container.add($container.parent()).siblings(".blank-slate-pf").remove();
- $accordion.find(".notes-count-label").addClass("label-primary").removeClass("label-default").html($container.find(".list-group-item").length);
- reinit();
- }
- function saveNote(category_log_id, note) {
- return $.ajax({
- url: '/reclassification/save_note',
- method: 'POST',
- data: {log_id: category_log_id, note: note},
- dataType: 'json'
- });
- }
- function showSubmitting(icon) {
- $(this).find('.' + icon).toggleClass(icon + " fa-circle-o-notch fa-spin");
- }
- function hideSubmitting(icon) {
- $(this).find(".fa-circle-o-notch.fa-spin").toggleClass(icon + " fa-circle-o-notch fa-spin");
- }
- function closeModal() {
- $(this).modal('hide');
- }
- return {
- init: init
- }
- };
- var statusLoaderModal = function(){
- var $container = $('#status_container');
- var template = $(".status-template").html();
- var displayModal = function(){
- $container.modal();
- }
- }
- var showPanel = function () {
- const loadingIcon = 'fa-circle-o-notch fa-spin';
- const defaultIcon = 'fa-angle-right fa-angle-down';
- this.init = function() {
- $('.list-view-pf-expand').on('click', showReports);
- }
- this.loadReports = function(variant_id, category_id, category_log_id){
- return loadReports(variant_id, category_id, category_log_id)
- }
- var loadReports = function(variant_id, category_id, category_log_id) {
- return $.ajax({
- url: '/reclassification/fetch_reports',
- dataType: 'json',
- data: {variant_id: variant_id, category_id: category_id, category_log_id: category_log_id}
- });
- }
- function displayLoading() {
- $(this).find('.fa').removeClass(defaultIcon).addClass(loadingIcon);
- }
- function hideLoading() {
- $(this).find('.fa').removeClass(loadingIcon).addClass(defaultIcon);
- }
- var showReports = function(){
- $(this).data('open', !($(this).data('open')));
- if ($(this).data('open')) {
- var variant_id = $(this).data('variant-id');
- var category_id = $(this).data('category-id');
- var category_log_id = $(this).data('category-log-id');
- var reclassified_date = new Date($(this).data('reclassified-date'));
- var $panel = $(this).closest(".list-group-item").next(".list-group-item-container");
- var $table = $panel.find('table').first();
- //if no accessions loaded
- if ($table.find('tbody tr').length === 0) {
- displayLoading.call(this);
- loadReports(variant_id, category_id, category_log_id)
- .done(getReports($panel, reclassified_date, category_log_id, variant_id,category_id).displayReports)
- .always(hideLoading.bind(this));
- }
- }
- }
- };
- var getReports = function ($panel, reclassified_date, category_log_id, variant_id,category_id) {
- var rowTemplate = $panel.find(".row-template").remove().html();
- var $totalCard = getCard(".total-card");
- var $opsReviewedCard = getCard(".ops-reviewed-card");
- var $generatedCard = getCard(".generated-card");
- var $signedCard = getCard(".signed-card");
- var $removedCard = getCard(".removed-card");
- var opsReviewUpdater = new Updater('ops_reviewed',category_log_id);
- var removedUpdater = new Updater('removed',category_log_id);
- $panel.find('table').on('click', '.remove-report-btn', removeReport);
- $panel.find('table').on('click', '.remove-selected-reports-btn', removeSelectedReports);
- $panel.find('table').on('click','.generate_all_selected', generateAllReports);
- function removeReport(e) {
- e.preventDefault();
- var $row = $(this).closest('tr');
- var accession_id = $row.data('accession-id');
- removedUpdater.addAccession(accession_id);
- var is_removed = $(this).data('removed');
- removedUpdater.update(!is_removed).done(function () {
- removedUpdater.clear();
- if (is_removed) {
- setIsNotRemoved($row);
- } else {
- setIsRemoved($row);
- }
- });
- }
- function generateAllReports(e){
- e.preventDefault();
- var $rows = $panel.find('.select-report:checked');
- var accession_ids = $rows.map(function () {
- return $(this).closest('tr').data('accession-id');
- }).get();
- //display modal container
- var loader = new statusLoaderModal();
- console.log("starting generation...")
- var failedIds = [];
- generateChunkedReports(accession_ids,$rows).done(function(data){
- //done event...
- console.log("Finally DONE!");
- }.bind(this)).progress(handleReportGenerationResponse.bind(this));
- function handleReportGenerationResponse(data){
- var variant_id = $(rows).eq(data.current).closest('tr').find('td[class=actions]').data('variant_id');
- var reportGenerator = new ReportGenerator(accession_ids[data.current], variant_id);
- var $btn = $(rows).eq(data.current).closest('tr').find('.generate-report-btn');
- reportGenerator.postReportUpdateEvent($btn);
- }
- }
- //updateProgress.bind($panel)
- function generateChunkedReports(accession_ids,rows){
- var dfd = $.Deferred();
- if (accession_ids.length) {
- loadReports(accession_ids,rows,0, {}, dfd);
- } else {
- dfd.resolve({});
- }
- return dfd.promise();
- }
- function loadReports(accession_ids,rows, start_idx, carry, deferred){
- var statusObj = {
- percent: Math.min((((start_idx) / accession_ids.length) * 100), 100),
- total: accession_ids.length,
- current: start_idx,
- failed: ('failed' in carry) ? carry.failed : [],
- responses:('responses' in carry) ? carry.responses : [],
- };
- if (start_idx >= accession_ids.length) {
- deferred.resolve(statusObj);
- return;
- }
- deferred.notify(statusObj);
- var variant_id = $(rows).eq(start_idx).closest('tr').find('td[class=actions]').data('variant_id');
- var reportGenerator = new ReportGenerator(accession_ids[start_idx], variant_id);
- reportGenerator.createReport().done(function(response){
- statusObj.responses.push(response);
- loadReports(accession_ids,rows, start_idx + 1, statusObj, deferred);
- }).fail(function(response){
- statusObj.failed.push(start_idx);
- statusObj.responses.push('Failed Response!');
- loadReports(accession_ids,rows, start_idx + 1, statusObj, deferred);
- })
- }
- function removeSelectedReports(e) {
- e.preventDefault();
- var $rows = $panel.find('.select-report:checked');
- var accession_ids = $rows.map(function () {
- return $(this).closest('tr').data('accession-id');
- }).get();
- removedUpdater.setAccessions(accession_ids);
- removedUpdater.update(true).done(function () {
- removedUpdater.clear();
- $rows.each(function () {
- setIsRemoved($(this).closest('tr'));
- });
- });
- }
- function displayReports(reports) {
- var $progress = $panel.find('.portal-information-progress');
- loadPortalInformation(reports).done(function (data) {
- $progress.remove();
- var $tbody = $panel.find('tbody');
- var previous;
- var maxReportId = {};
- for (var accession_id in reports) {
- var length = reports[accession_id].length;
- var ops = data[accession_id];
- for (var row = 0; row < length; row++) {
- var report = reports[accession_id][row];
- $template = createRow(report, previous, accession_id, length, ops);
- previous = accession_id;
- $tbody.append($template);
- }
- }
- $(".generate-report-btn").on("click", function () {
- //generate report
- var accession_id = $(this).data("accession_id");
- var variant_id = $(this).data("variant_id");
- var report = new ReportGenerator(accession_id, variant_id);
- report.generateReport(this);
- });
- $(".sign-report-btn").on('click',function() {
- var accession_id = $(this).data("accession_id");
- var variant_id = $(this).data("variant_id");
- var report = new ReportGenerator(accession_id, variant_id);
- report.signReport(this);
- });
- $(".preview-report-btn").on('click', function() {
- var report = new ReportGenerator();
- var report_id = $(this).data('report_id');
- report.previewReport(report_id);
- });
- opsReviewUpdater.update(true);
- opsReviewUpdater.clear();
- //disable sorting because our rowspan workaround will fail if it is not sorted by accession
- $panel.find("table").dataTable({bSort: false});
- updateStatus();
- }.bind(this)).progress(updateProgress.bind($panel));
- }
- function updateProgress(data) {
- var $progress = $(this);
- $bar = $progress.find('.progress-bar');
- $bar
- .css('width', Math.round(data.percent) + '%')
- .attr('aria-valuenow', data.percent)
- .find('span')
- .html(Math.round(data.percent) + '% (' + data.current + ' of ' + data.total + ' accessions)')
- }
- function loadPortalInformation(reports) {
- var accession_ids = Object.keys(reports);
- return loadPortalAccessionInformation(accession_ids);
- }
- function loadPortalAccessionInformation(accession_ids) {
- var dfd = $.Deferred();
- if (accession_ids.length) {
- loadChunkedPortal(accession_ids, 0, {}, dfd);
- } else {
- dfd.resolve({});
- }
- return dfd.promise();
- }
- function loadChunkedPortal(accession_ids, start_idx, carry, deferred) {
- deferred.notify({
- percent: Math.min((((start_idx) / accession_ids.length) * 100), 100),
- total: accession_ids.length,
- current: start_idx
- });
- $.ajax({
- url: '/reclassification/get_portal_info',
- data: {accession_ids: accession_ids.slice(start_idx, start_idx + 100)},
- dataType: 'json'
- }).done(function (response) {
- $.extend(carry, response);
- if (start_idx + 100 >= accession_ids.length) {
- deferred.resolve(carry);
- } else {
- loadChunkedPortal(accession_ids, start_idx + 100, carry, deferred);
- }
- });
- }
- function createRow(report, previous, accession_id, length, ops) {
- var template = rowTemplate;
- $.extend(report, ops);
- report.portal_url = routes.urls.portal;
- report.count = length;
- report.variant_id = variant_id;
- report.log_id = category_log_id;
- report.category_id = category_id;
- var helper = new Helper();
- $template = $($.parseHTML(helper.replacePlaceholders(template, report)));
- if (previous === accession_id && length > 1) {
- //dataTables doesn't support rowspan (it complains about missing cells in the following rows)
- //so to work around it, instead of removing the cells, set them to not show up
- $template.find('[rowspan]').removeAttr('rowspan').css('display', 'none');
- }
- if (!parseInt(report.removed)) {
- if (checkOpsReview($template, report)) {
- if (parseInt(report.generated)) {
- setIsGenerated($template);
- if (parseInt(report.signed)) {
- setIsSigned($template);
- }
- }
- }
- } else {
- setIsRemoved($template)
- }
- refreshReportRowHandler.init($template.find(".refresh-row-btn"));
- return $template;
- }
- function setIsGenerated($row) {
- $generatedCard.increment($row);
- //$row.find(".generate-report-btn").addClass('disabled');
- $row.find(".sign-report-btn").removeClass('disabled');
- $row.find(".preview-report-btn").removeClass('disabled');
- }
- function setIsNotGenerated($row) {
- $generatedCard.decrement($row);
- $row.find(".generate-report-btn").removeClass('disabled');
- $row.find(".sign-report-btn").addClass('disabled');
- $row.find(".preview-report-btn").addClass('disabled');
- }
- function setIsSigned($row) {
- $signedCard.increment($row);
- $row.find(".sign-report-btn").addClass('disabled');
- $row.find(".remove-report-btn").addClass('disabled');
- }
- function setIsNotSigned($row) {
- $signedCard.decrement($row);
- $row.find(".sign-report-btn").removeClass('disabled');
- $row.find(".remove-report-btn").removeClass('disabled');
- }
- function setIsRemoved($row) {
- $row.add($row.nextAll().slice(0,$row.find('td[rowspan]').attr('rowspan')-1)).addClass("removed");
- $row.find('[type="checkbox"]').prop('checked', false).prop('disabled', true);
- var $btn = $row.find(".remove-report-btn");
- $btn.html($btn.html().replace('Remove', 'Unremove'));
- $btn.data('removed', true);
- if ($row.find(".ops-review-btn.disabled").length) {
- $opsReviewedCard.decrement($row);
- if ($row.find(".generate-report-btn.disabled").length) {
- $generatedCard.decrement($row);
- }
- }
- $removedCard.increment($row);
- updateStatus();
- }
- function setIsNotRemoved($row) {
- $row.find('[type="checkbox"]').prop('checked', true).prop('disabled', false);
- $row.add($row.nextAll().slice(0,$row.find('td[rowspan]').attr('rowspan')-1)).removeClass("removed");
- var $btn = $row.find(".remove-report-btn");
- $btn.html($btn.html().replace('Unremove', 'Remove'));
- $btn.data('removed', false);
- if ($row.find(".ops-review-btn.disabled").length) {
- $opsReviewedCard.increment($row);
- if ($row.find(".generate-report-btn.disabled").length) {
- $generatedCard.increment($row);
- }
- }
- $removedCard.decrement($row);
- updateStatus();
- }
- function getCard(card) {
- var $card = $panel.find(card).find(".card-pf-aggregate-status-count");
- var card_accessions = [];
- return {
- card: $card,
- increment: function ($row) {
- var tAccession = $row.closest('tr').data('accession-id');
- if($.inArray(tAccession, card_accessions) === -1){
- card_accessions.push(tAccession)
- }
- $card.html(card_accessions.length);
- },
- decrement: function ($row) {
- var tAccession = $row.closest('tr').data('accession-id');
- card_accessions.splice( $.inArray(tAccession, card_accessions), 1 );
- $card.html(card_accessions.length);
- },
- value: function () {
- return parseInt($card.html());
- }
- }
- }
- function checkOpsReview($row, report) {
- var ops_date = new Date(report.reviewed_at);
- var is_ops_reviewed = (ops_date > reclassified_date);
- if (is_ops_reviewed) {
- setIsOpsReviewed($row);
- opsReviewUpdater.addAccession(report.accession_id);
- return true;
- } else {
- setIsNotOpsReviewed($row);
- return false;
- }
- }
- function setIsOpsReviewed($row) {
- $row.find(".ops-review-btn").addClass("disabled");
- $row.find(".generate-report-btn").removeClass("disabled");
- if($row.find(".preview-report-btn").data('report_id') != '') {
- $row.find(".preview-report-btn").removeClass("disabled");
- }
- $row.data('ops-reviewed', true);
- $opsReviewedCard.increment($row);
- updateStatus();
- }
- function setIsNotOpsReviewed($row) {
- $row.find(".ops-review-btn").removeClass("disabled");
- $row.find(".generate-report-btn").addClass("disabled");
- $row.find(".preview-report-btn").addClass("disabled");
- if ($row.data('ops-reviewed')) {
- $opsReviewedCard.decrement($row);
- updateStatus();
- }
- $row.data('ops-reviewed', false);
- }
- function updateStatus() {
- var total = $totalCard.value() - $removedCard.value();
- var reviewed = $opsReviewedCard.value();
- var generated = $generatedCard.value();
- var signed = $signedCard.value();
- var step1 = reviewed == total;
- var step2 = step1 && generated == total;
- var step3 = step2 && signed == total;
- $panel.find(".step-ops-review").find(".wizard-pf-step-number").toggleClass("pulse", !step1);
- $panel.find(".step-reports-generated").toggleClass("active", step1).find(".wizard-pf-step-number").toggleClass("pulse", step1 && !step2);
- $panel.find(".step-reports-signed").toggleClass("active", step2).find(".wizard-pf-step-number").toggleClass("pulse", step2 && !step3);
- $panel.find('.complete-container').toggleClass('hidden',!step3);
- }
- var refreshReportRowHandler = (function () {
- function init($btn) {
- $btn.on("click", refreshRow);
- }
- function refreshRow(e) {
- e.preventDefault();
- showLoading.call($(this));
- var $row = $(this).closest('tr');
- var $container = $(this).closest('.list-group-item-container');
- var $header = $container.prev(".list-group-item");
- var accession_id = $row.data('accession-id');
- var log_id = $(this).closest('td').data('log_id');
- var $promise = loadPortalInformation(accession_id);
- $promise.done(function (report) {
- var opsReviewUpdater = new Updater('ops_reviewed',category_log_id);
- is_reviewed = checkOpsReview($row, report[accession_id]);
- if (!is_reviewed) {
- opsReviewUpdater.addAccession(accession_id);
- opsReviewUpdater.update(true).done(opsReviewUpdater.clear);
- }
- else{
- //check if report_id changed
- fetch_report_id(log_id,accession_id).done(function(data){
- //if has report
- if(data.report_id != ''){
- setIsGenerated($row);
- $(this).closest('td').find('.preview-report-btn').removeClass('disabled').data('report_id',data.report_id);
- //if report is signed
- if(data.signed == 1){
- setIsSigned($row);
- $(this).closest('td').find('.sign-report-btn').addClass('disabled').data('report_id',data.report_id);
- }
- updateStatus();
- }
- });
- }
- hideLoading.call($row);
- });
- }
- function fetch_report_id(log_id,accession_id){
- return $.ajax({
- url: '/reclassification/get_report_id',
- data: {log_id: log_id, accession_id: accession_id},
- dataType: 'json'
- });
- }
- function loadPortalInformation(accession_id) {
- return loadPortalAccessionInformation([accession_id]);
- }
- function showLoading() {
- this.find(".fa-refresh").addClass("fa-spin");
- }
- function hideLoading() {
- this.find(".fa-refresh").removeClass("fa-spin");
- }
- return {
- init: init
- }
- })()
- return {
- displayReports: displayReports,
- loadPortalAccessionInformation: loadPortalAccessionInformation
- }
- };
- $("document").ready(function () {
- var note = new noteHandler;
- var panel = new showPanel;
- note.init();
- panel.init();
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement