Add printing status modal [SCI-5910] (#3454)

This commit is contained in:
aignatov-bio 2021-07-29 12:24:46 +02:00 committed by GitHub
parent a54f36a486
commit 02408ae885
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 117 additions and 0 deletions

View file

@ -0,0 +1,60 @@
.label-printing-progress-modal {
background: $color-white;
bottom: 1em;
box-shadow: $modal-shadow;
min-width: 300px;
position: fixed;
right: 1em;
z-index: 9999;
.modal-header {
align-items: center;
display: flex;
padding: .5em;
.title {
@include font-h3;
}
.printer-status {
border: $border-default;
color: $color-silver-chalice;
margin-left: .5em;
margin-right: auto;
padding: .25em;
&[data-status="ready"] {
background: $brand-success;
border-color: $brand-success;
color: $color-white;
}
&[data-status="out_of_labels"] {
background: $brand-warning;
border-color: $brand-warning;
color: $color-white;
}
}
}
.modal-body {
.printing-items {
.id-label {
margin-left: .5em;
opacity: .5;
}
}
.printing-status {
color: $brand-primary;
&[data-status="done"] {
color: $brand-success;
}
&[data-status="waiting_labels"] {
color: $brand-danger;
}
}
}
}

View file

@ -49,6 +49,12 @@ class RepositoriesController < ApplicationController
@display_delete_button = can_delete_repository_rows?(@repository)
@display_duplicate_button = can_create_repository_rows?(@repository)
@snapshot_provisioning = @repository.repository_snapshots.provisioning.any?
@printing = {
printer_name: 'Fluics label printer',
printer_status: :out_of_labels,
items: RepositoryRow.all,
printing_status: :waiting_labels
}
end
def table_toolbar

View file

@ -0,0 +1,38 @@
<div class="label-printing-progress-modal">
<div class="modal-header">
<div class="title">
<%= @printing[:printer_name] %>
</div>
<div class="printer-status" data-status="<%= @printing[:printer_status] %>">
<% if @printing[:printer_status] == :ready %>
<%= t('repository_row.modal_printing_status.printer_status.ready') %>
<% elsif @printing[:printer_status] == :out_of_labels %>
<%= t('repository_row.modal_printing_status.printer_status.not_ready') %>
<% else %>
<%= t('repository_row.modal_printing_status.printer_status.out_of_label') %>
<% end %>
</div>
<button type="button" class="close"><span aria-hidden="true">&times;</span></button>
</div>
<div class="modal-body">
<div class="printing-items">
<% if @printing[:items].size == 1 %>
<%= @printing[:items].first.name %>
<span class="id-label">
<%= t('repository_row.modal_printing_status.id_label', repository_row_id: @printing[:items].first.id) %>
</span>
<% else %>
<%= t('repository_row.modal_printing_status.multiple_items', repository_rows_count: @printing[:items].length) %>
<% end %>
</div>
<div class="printing-status" data-status="<%= @printing[:printing_status] %>">
<% if @printing[:printing_status] == :done %>
<%= t('repository_row.modal_printing_status.printing_status.done') %>
<% elsif @printing[:printing_status] == :waiting_labels %>
<%= t('repository_row.modal_printing_status.printing_status.waiting_labels') %>
<% else %>
<%= t('repository_row.modal_printing_status.printing_status.printing') %>
<% end %>
</div>
</div>
</div>

View file

@ -159,6 +159,8 @@
<%= render partial: 'repositories/import_repository_records_modal',
locals: { repository: @repository } %>
<%= render partial: 'repositories/print_progress_modal' %>
<%= render partial: "repositories/delete_record_modal" %>
<%= render partial: 'repositories/export_repository_modal',
locals: { repository: @repository } %>

View file

@ -1630,6 +1630,17 @@ en:
title: "There seems to be no printer available"
description: "To learn more about printing labels and label printers please visit our blog."
visit_blog: "Visit blog"
modal_printing_status:
printer_status:
ready: "Ready"
not_ready: "Not Ready"
out_of_labels: "Out of labels"
id_label: "ID: %{repository_row_id}"
multiple_items: "%{repository_rows_count} labels"
printing_status:
done: "Done"
printing: "Printing"
waiting_labels: "Waiting for labels. Please, insert labels."
activities:
index:
global_activities_title: "Global activities"