diff --git a/app/assets/javascripts/application.js.erb b/app/assets/javascripts/application.js.erb index 982e359dd..e4c23ae74 100644 --- a/app/assets/javascripts/application.js.erb +++ b/app/assets/javascripts/application.js.erb @@ -56,8 +56,6 @@ //= require_directory ./access_permissions //= require sidebar //= require turbolinks -//= require 'BrowserPrint-3.0.216.min' -//= require 'BrowserPrint-Zebra-1.0.216.min' // Initialize links for submitting forms. This is useful for submitting // forms with clicking on links outside form in cases when other than diff --git a/app/assets/javascripts/sitewide/repository_row_info_modal.js b/app/assets/javascripts/sitewide/repository_row_info_modal.js index d5ee9ba5a..3f896c490 100644 --- a/app/assets/javascripts/sitewide/repository_row_info_modal.js +++ b/app/assets/javascripts/sitewide/repository_row_info_modal.js @@ -59,12 +59,14 @@ $(document).on('click', '.print-label-button', function() { var selectedRows = $(this).data('rows'); - PrintModalComponent.showModal = true; - if (selectedRows.length) { - $('#modal-info-repository-row').modal('hide'); - PrintModalComponent.row_ids = selectedRows; - } else { - PrintModalComponent.row_ids = RepositoryDatatable.selectedRows(); + if (typeof PrintModalComponent !== 'undefined') { + PrintModalComponent.showModal = true; + if (selectedRows.length) { + $('#modal-info-repository-row').modal('hide'); + PrintModalComponent.row_ids = selectedRows; + } else { + PrintModalComponent.row_ids = RepositoryDatatable.selectedRows(); + } } }); }()); diff --git a/app/javascript/packs/vue/repository_print_modal.js b/app/javascript/packs/vue/repository_print_modal.js index db9df2389..f577ecd33 100644 --- a/app/javascript/packs/vue/repository_print_modal.js +++ b/app/javascript/packs/vue/repository_print_modal.js @@ -7,35 +7,37 @@ Vue.prototype.i18n = window.I18n; function initPrintModalComponent() { const container = $('.print-label-modal-container'); - window.PrintModalComponent = new Vue({ - el: '.print-label-modal-container', - name: 'PrintModalComponent', - components: { - 'print-modal-container': PrintModalContainer - }, - data() { - return { - showModal: false, - row_ids: [], - zebraEnabled: container.data('zebra-enabled'), - urls: { - print: container.data('print-url'), - zebraProgress: container.data('zebra-progress-url'), - printers: container.data('printers-url'), - labelTemplates: container.data('label-templates-url'), - rows: container.data('rows-url'), - fluicsInfo: container.data('fluics-info-url'), - printValidation: container.data('print-validation-url'), - labelPreview: container.data('label-preview-url') + if (container.length) { + window.PrintModalComponent = new Vue({ + el: '.print-label-modal-container', + name: 'PrintModalComponent', + components: { + 'print-modal-container': PrintModalContainer + }, + data() { + return { + showModal: false, + row_ids: [], + zebraEnabled: container.data('zebra-enabled'), + urls: { + print: container.data('print-url'), + zebraProgress: container.data('zebra-progress-url'), + printers: container.data('printers-url'), + labelTemplates: container.data('label-templates-url'), + rows: container.data('rows-url'), + fluicsInfo: container.data('fluics-info-url'), + printValidation: container.data('print-validation-url'), + labelPreview: container.data('label-preview-url') + } + }; + }, + methods: { + closeModal() { + this.showModal = false; } - }; - }, - methods: { - closeModal() { - this.showModal = false; } - } - }); + }); + } } initPrintModalComponent(); diff --git a/app/models/label_printer.rb b/app/models/label_printer.rb index fbfe6e1ce..9c5ce4ba5 100644 --- a/app/models/label_printer.rb +++ b/app/models/label_printer.rb @@ -20,7 +20,7 @@ class LabelPrinter < ApplicationRecord validates :language_type, presence: true def self.zebra_print_enabled? - RepositoryBase.stock_management_enabled? + RepositoryBase.stock_management_enabled?.present? end def done? diff --git a/app/views/label_printers/_label_printer_modal.html.erb b/app/views/label_printers/_label_printer_modal.html.erb index 9fca3cb10..f0666848a 100644 --- a/app/views/label_printers/_label_printer_modal.html.erb +++ b/app/views/label_printers/_label_printer_modal.html.erb @@ -18,4 +18,5 @@ > +<%= render partial: 'label_printers/zebra_printer_library' %> <%= javascript_pack_tag 'vue/repository_print_modal' %> diff --git a/app/views/label_printers/_zebra_printer_library.html.erb b/app/views/label_printers/_zebra_printer_library.html.erb new file mode 100644 index 000000000..43f51f282 --- /dev/null +++ b/app/views/label_printers/_zebra_printer_library.html.erb @@ -0,0 +1,4 @@ +<% if LabelPrinter.zebra_print_enabled? %> + <%= javascript_include_tag 'BrowserPrint-3.0.216.min' %> + <%= javascript_include_tag 'BrowserPrint-Zebra-1.0.216.min' %> +<% end %> diff --git a/app/views/label_printers/_zebra_settings.html.erb b/app/views/label_printers/_zebra_settings.html.erb index b2fe1520a..b077653ee 100644 --- a/app/views/label_printers/_zebra_settings.html.erb +++ b/app/views/label_printers/_zebra_settings.html.erb @@ -77,4 +77,5 @@ +<%= render partial: 'label_printers/zebra_printer_library' %> <%= javascript_include_tag "label_printers/zebra_settings" %>