From d4c4f2c7cc947eea71d99ef6030ecb4401508835 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Thu, 12 Jul 2018 21:16:22 +0200 Subject: [PATCH] operator detailedview dynamic thumbnail size (#221) --- lib/extensions/base.py | 6 +- messages.po | 20 +- print/resources/favicon.ico | Bin 0 -> 102290 bytes print/resources/inkstitch.js | 126 +++++++- print/resources/style.css | 351 ++++++++++++++++----- print/templates/headline.html | 2 +- print/templates/index.html | 6 +- print/templates/operator_detailedview.html | 144 ++++----- print/templates/operator_overview.html | 11 +- print/templates/print_detail.html | 11 +- print/templates/print_overview.html | 11 +- print/templates/ui.html | 76 +++-- print/templates/ui_svg_action_buttons.html | 10 + 13 files changed, 525 insertions(+), 249 deletions(-) create mode 100644 print/resources/favicon.ico create mode 100644 print/templates/ui_svg_action_buttons.html diff --git a/lib/extensions/base.py b/lib/extensions/base.py index 78f75cf1f..d230f1b0d 100644 --- a/lib/extensions/base.py +++ b/lib/extensions/base.py @@ -58,11 +58,7 @@ class InkStitchMetadata(MutableMapping): def __setitem__(self, name, value): item = self._find_item(name) - - if value: - item.text = json.dumps(value) - else: - item.getparent().remove(item) + item.text = json.dumps(value) def _find_item(self, name, create=True): tag = inkex.addNS(name, "inkstitch") diff --git a/messages.po b/messages.po index 72b60bb05..a98518638 100644 --- a/messages.po +++ b/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2018-06-30 13:02-0400\n" +"POT-Creation-Date: 2018-07-10 19:54-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -441,15 +441,6 @@ msgstr "" msgid "Ctrl + Scroll to Zoom" msgstr "" -msgid "Scale" -msgstr "" - -msgid "Fit" -msgstr "" - -msgid "Apply to all" -msgstr "" - msgid "COLOR" msgstr "" @@ -507,3 +498,12 @@ msgstr "" msgid "No" msgstr "" +msgid "Scale" +msgstr "" + +msgid "Fit" +msgstr "" + +msgid "Apply to all" +msgstr "" + diff --git a/print/resources/favicon.ico b/print/resources/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1b5455bdb6bd9b8cf2749eb2e9944771b856e524 GIT binary patch literal 102290 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 b|7Yeu^t&WuotQRo)jor#tDnm{r-UW|P+#>= literal 0 HcmV?d00001 diff --git a/print/resources/inkstitch.js b/print/resources/inkstitch.js index 6bcb183d3..9f67bc90a 100644 --- a/print/resources/inkstitch.js +++ b/print/resources/inkstitch.js @@ -17,6 +17,85 @@ function ping() { .fail(function() { $('#errors').attr('class', 'show') }); } +//function to chunk opd view into pieces + // source: https://stackoverflow.com/questions/3366529/wrap-every-3-divs-in-a-div +$.fn.chunk = function(size) { + var arr = []; + for (var i = 0; i < this.length; i += size) { + arr.push(this.slice(i, i + size)); + } + return this.pushStack(arr, "chunk", size); +} + +// build operator detailed view (opd) +function buildOpd(thumbnail_size = $('#operator-detailedview-thumbnail-size').val() ) { + + var thumbnail_size = parseInt(thumbnail_size); + var thumbnail_size_mm = thumbnail_size + 'mm'; + + var thumbnail_layout = (thumbnail_size >= 60) ? 'medium' : 'small'; + + // remove old settings + $( "div.page.operator-detailedview header" ).remove(); + $( "div.page.operator-detailedview footer" ).remove(); + $( "div.page.operator-detailedview .job-headline" ).remove(); + $('div.page.operator-detailedview .opd-color-block').parentsUntil('div.page.operator-detailedview').addBack().unwrap(); + $('.opd-color-block').removeClass('medium large'); + $('.opd-color-block').removeAttr('style'); + + // set thumbnail size + $('.operator-svg.operator-preview').css({ + 'width': thumbnail_size_mm, + 'height': thumbnail_size_mm, + 'max-width': thumbnail_size_mm + }); + + // calculate number of blocks per page + var num_blocks_per_page = 1; + if(thumbnail_layout == 'medium') { + $('.opd-color-block').addClass('medium'); + // set width to be able to calculate the height + $('.opd-color-block').css({ 'width': thumbnail_size_mm }); + // calculate max height -> source: https://stackoverflow.com/questions/6060992/element-with-the-max-height-from-a-set-of-elements + var color_box_height = Math.max.apply(null, $('.opd-color-block').map(function () { return $(this).height(); }).get()); + var container_height = $('#opd-info').height(); + var num_rows = Math.floor(container_height / color_box_height); + var num_columns = Math.floor(175 / thumbnail_size); + // if only two blocks fit into one row, use 50% of the space for each of them + if(num_columns == 2) { $('.opd-color-block').css({ 'width': 'calc(50% - 2mm)' }); } + // set equal height for all color blocks + $('.opd-color-block').css({ 'height': color_box_height }); + // set number of color blocks per page for medium thumbnails + num_blocks_per_page = num_columns * num_rows; + // use layout for large thumbnails if only 2 or less color blocks fit on one page + if(num_blocks_per_page <= 2) { + $('.opd-color-block').removeClass('medium').removeAttr('style').addClass('large'); + thumbnail_layout = 'large'; + // set number of color blocks per page for large thumbnails + num_blocks_per_page = 2; + } + } else { + // set number of color blocks per page for small thumbnails + num_blocks_per_page = Math.floor(220 / thumbnail_size); + } + // set number of color blocks per page to 1 if it defaults to zero + // this should never happen, but we want to avoid the browser to crash + num_blocks_per_page = (num_blocks_per_page <= 0) ? '1' : num_blocks_per_page; + + // adjust to new settings + var header = $('#opd-info header').prop('outerHTML'); + var footer = $('#opd-info footer').prop('outerHTML'); + var job_headline = $('#opd-info .job-headline').prop('outerHTML'); + var opd_visibility = ($('#operator-detailedview').is(':checked')) ? 'block' :'none'; + var paper_size = $('#printing-size').val(); + $('.opd-color-block').chunk(num_blocks_per_page).wrap('
'); + $('div.operator-detailedview').prepend(header); + $('.operator-job-info').prepend(job_headline); + $('div.operator-detailedview').append(footer); + // update page numbers + setPageNumbers(); +} + // set pagenumbers function setPageNumbers() { var totalPageNum = $('body').find('.page:visible').length; @@ -46,11 +125,13 @@ function scaleSVG(element, scale = 'fit') { element.find('.scale').text(label); } -// set preview svg scale to fit into its box if transform is not set +// set preview svg scale to fit into its box if display block and transform is not set function scaleAllSvg() { $('.page').each(function() { - if( $(this).find('.inksimulation svg').css('transform') == 'none') { - scaleSVG($(this).find('.inksimulation'), 'fit'); + if( $(this).css('display') == 'block' ) { + if( $(this).find('.inksimulation svg').css('transform') == 'none') { + scaleSVG($(this).find('.inksimulation'), 'fit'); + } } }); } @@ -74,8 +155,6 @@ function setSVGTransform(figure, transform) { $(function() { setTimeout(ping, 1000); - setPageNumbers(); - /* SCALING AND MOVING SVG */ /* Mousewheel scaling */ @@ -192,6 +271,9 @@ $(function() { item.attr('src', value); } else if (item.is('select')) { item.val(value).trigger('initialize'); + } else if (item.is('input[type=range]')) { + item.val(value).trigger('initialize'); + $('#display-thumbnail-size').html(value + 'mm'); } else if (item.is('figure.inksimulation')) { setSVGTransform(item, value); } else { @@ -200,8 +282,11 @@ $(function() { }); }); - // wait until page size is set (if they've specified one) and then scale SVGs to fit - setTimeout(function() { scaleAllSvg() }, 500); + // wait until page size is set (if they've specified one) and then scale SVGs to fit and build operator detailed view + setTimeout(function() { + scaleAllSvg(); + buildOpd(); + }, 500); }); $('[contenteditable="true"]').keypress(function(e) { @@ -258,12 +343,37 @@ $(function() { /* Settings */ + // Settings Tabs + $('#tabs button').click(function() { + var active_fieldset_position = $(this).index() +1; + $('#settings-ui #fieldsets-ui > fieldset').css({'display': 'none'}); + $('#settings-ui #fieldsets-ui > fieldset:nth-child('+active_fieldset_position+')').css({'display': 'block'}); + $('#tabs .tab.active').removeClass("active"); + $(this).addClass("active"); + }); + // Paper Size $('select#printing-size').on('change initialize', function(){ $('.page').toggleClass('a4', $(this).find(':selected').val() == 'a4'); }).on('change', function() { $.postJSON('/settings/paper-size', {value: $(this).find(':selected').val()}); }); + + // Operator detailed view: thumbnail size setting + $(document).on('input', '#operator-detailedview-thumbnail-size', function() { + var thumbnail_size_mm = $(this).val() + 'mm'; + $('#display-thumbnail-size').html( thumbnail_size_mm ); + }); + + // Operator detailed view: thumbnail size setting action + $('#operator-detailedview-thumbnail-size').change(function() { + // set thumbnail size + var thumbnail_size = $(this).val(); + // set page break positions + buildOpd(thumbnail_size); + + $.postJSON('/settings/operator-detailedview-thumbnail-size', {value: thumbnail_size}); + }); // Thread Palette $('select#thread-palette').change(function(){ @@ -303,6 +413,7 @@ $(function() { var field_name = $(this).attr('data-field-name'); $('.' + field_name).toggle($(this).prop('checked')); + scaleAllSvg(); setPageNumbers(); }).on('change', function() { var field_name = $(this).attr('data-field-name'); @@ -397,6 +508,7 @@ $(function() { settings["client-detailedview"] = $("[data-field-name='client-detailedview']").is(':checked'); settings["operator-overview"] = $("[data-field-name='operator-overview']").is(':checked'); settings["operator-detailedview"] = $("[data-field-name='operator-detailedview']").is(':checked'); + settings["operator-detailedview-thumbnail-size"] = $("[data-field-name='operator-detailedview-thumbnail-size']").val(); settings["paper-size"] = $('select#printing-size').find(':selected').val(); var logo = $("figure.brandlogo img").attr('src'); diff --git a/print/resources/style.css b/print/resources/style.css index 81b2ea7e7..174b21dd4 100644 --- a/print/resources/style.css +++ b/print/resources/style.css @@ -42,65 +42,6 @@ src: url(barlow-condensed-extra-bold.ttf) format('truetype'); } -@media screen { - .page { - margin-top: 20mm !important; - outline: 1px dotted grey; - } - - .header-field::before { - content: attr(data-label); - padding-right: 0.5em; - } - - [contenteditable=true]:empty::after{ - content: attr(data-placeholder); - color: rgb(200, 200, 200); - font-weight: normal; - } -} - -@media print { - body { - margin-bottom: 0 !important; - } - - .page { - page-break-after: always; - margin: 0 !important; - } - - figure.inksimulation div { - display: none; - } - - .ui { - display: none; - } - - #settings-ui { - display: none !important; - } - - #errors { - display: none !important; - } - - .header-field:not(:empty)::before { - content: attr(data-label); - padding-right: 0.5em; - } - - span.logo-instructions { - display: none; - } -} - -@page { - size: auto; /* auto is the initial value */ - margin: 0; -} - body { font-family: "Barlow", sans-serif; font-size: 8pt; @@ -131,7 +72,24 @@ body { height: 292mm; padding: 15mm; } + + .page.client-overview.a4 header, .page.operator-overview.a4 header { + height: 50mm; + flex-direction: row; + } + + .page.client-overview.a4 div.job-details, .page.operator-overview.a4 div.job-details { + width: 100%; + } + .page.client-overview.a4 .client-overview-main figure.inksimulation { + height: 150mm; + } + + .page.client-overview.a4 figure.brandlogo, .page.operator-overview.a4 figure.brandlogo { + margin: -6mm 2.5mm; + } + /* Settings */ .ui { @@ -230,9 +188,71 @@ body { border-radius: 5px; cursor: pointer; } + + #settings-ui #tabs { + margin-left: 20px; + z-index: 1; + } + + #settings-ui button { + background: transparent; + border: 1px solid #413232; + padding: 5px; + } + + #settings-ui button.active { + border-bottom: 1px solid white; + } + + #settings-ui #ui-design { + display: none; + } + + #settings-ui > #fieldsets-ui > fieldset > legend { + display: none; + } #settings-ui fieldset { + margin-top: -1px; margin-bottom: 1em; + border: 1px solid rgb(80,80,80); + z-index: 2; + } + + #settings-ui div { + position: relative; + } + + #settings-ui .select-container { + position: relative; + display: inline-block; + } + + #settings-ui select { + margin-left: 1em; + height: 35px; + padding: 0px 25px 0 5px; + font-size: 16px; + background-color: transparent; + border: 1px solid rgb(80,80,80); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + + #settings-ui select::-ms-expand { + display: none; + } + + #settings-ui .select-container::after { + content: '▾'; + position: absolute; + right: 0; + top: 0; + padding: 0 5px; + border-left: 1px solid rgb(80,80,80); + line-height: 35px; + pointer-events: none; } #modal-background { @@ -287,8 +307,8 @@ body { display: block; width: 100%; height: 100%; - line-height: 30mm; text-align: center; + position: relative; } figure.brandlogo img { @@ -308,14 +328,15 @@ body { } .logo-instructions { - white-space: nowrap; - - /* chrome ignores this :( + display: block; text-align: center; - */ - + font-weight: bold; font-size: 10px; - color: rgb(192, 192, 192); + color: rgb(117, 117, 117); + background: rgba(255,255,255, 0.8); + position: absolute; + bottom: 3mm; + cursor: pointer; } .operator-detailedview figure.brandlogo { @@ -482,13 +503,9 @@ body { } input.realistic { - position: absolute; transform: scale(0.7); - margin-left: 2px; - } - - label.realistic { - margin-left: 20px; + margin: 0; + vertical-align: bottom; } /* prevents Chrome from sending a double event for the checkbox @@ -599,26 +616,26 @@ body { height: 230mm; } - .operator-job-info { + .operator-detailedview.small .operator-job-info { display: table; width: 100%; } - .operator-job-info div { + .operator-detailedview.small .operator-job-info div { display: table-row; } - div.job-headline { + .operator-detailedview.small div.job-headline { display: table-header-group; font-size: 9pt; font-weight: bold; } - div.job-headline p { + .operator-detailedview.small div.job-headline p { height: 1em; } - .operator-job-info p { + .operator-detailedview.small .operator-job-info p { height: 15mm; max-width: 15mm; display: table-cell; @@ -628,11 +645,11 @@ body { border: 1px solid rgb(239,239,239); } - .operator-job-info span { + .operator-detailedview.small .operator-job-info span { display: block; } - .operator-job-info span.color-index { + .operator-detailedview.small .operator-job-info span.color-index { position: absolute; top: 0; left: 0; @@ -640,25 +657,126 @@ body { width: 10mm; } - .operator-svg.operator-colorswatch { - width: 15mm; + .operator-detailedview.small .operator-svg.operator-colorswatch { + width: 10mm; } - .operator-svg.operator-preview { - min-width: 15mm; - max-width: 20mm; + .operator-detailedview.small .operator-svg.operator-preview { + width: 15mm; height: 15mm; } - .operator-svg svg { + .operator-detailedview.small .operator-svg svg { position: absolute; top: 0; left: 0; - width: auto; - max-width: 30mm; + right: 0; + width: 100%; height: 100%; } + + /* opd medium/large thumbnails */ + + .operator-detailedview.medium div.job-headline, + .operator-detailedview.large div.job-headline { + display: none; + } + + .opd-color-block.medium, + .opd-color-block.large { + overflow: hidden; + position: relative; + border: 0.5mm solid rgb(239,239,239); + } + + .opd-color-block.medium .operator-colorswatch, + .opd-color-block.large .operator-colorswatch { + position: absolute; + top: 0; + padding: 0; + margin: 0; + width: 10mm; + height: 10mm; + border-right: 0.5mm solid rgb(239,239,239); + border-bottom: 0.5mm solid rgb(239,239,239); + } + + .opd-color-block.medium .operator-colorswatch svg, + .opd-color-block.medium .opd-summary p:first-child span, + .opd-color-block.medium .operator-preview svg, + .opd-color-block.large .operator-colorswatch svg, + .opd-color-block.large .opd-summary p:first-child span, + .opd-color-block.large .operator-preview svg { + height: 100%; + width: 100%; + } + + /* opd medium thumbnails */ + + .opd-color-block.medium { + display: inline-block; + float: left; + margin: 1mm; + } + + .opd-color-block.medium p { + margin: 0 auto; + } + + .opd-color-block.medium p:last-child { + margin-bottom: 1mm; + } + + .opd-color-block.medium .operator-preview { + margin: 1mm auto 0 auto; + } + + .opd-color-block.medium.opd-summary .operator-colorswatch { + display: none; + } + + .opd-color-block.medium span::before { + content: ' \00B7 '; + line-height: 0; + display: inline-block; + margin: 0 1mm; + vertical-align: super; + } + + .opd-color-block.medium span:first-child::before { + content: ''; + } + + /* opd large thumbnails */ + + .opd-color-block.large { + display: block; + margin: 5mm 0; + } + + .opd-color-block.large:first-child { + margin-top: 0; + } + .opd-color-block.large .operator-preview { + margin: 0; + } + + .opd-color-block.large .operator-preview { + float: left; + } + + .opd-color-block.large p { + text-align: left; + } + + .opd-color-block.large p:nth-child(3) { + margin-top: 5mm; + } + + .opd-color-block.large span { + display: block; + } /* Footer */ @@ -830,3 +948,62 @@ body { height: calc(100% / 5); width: calc(100% / 12); } + +@media screen { + .page { + margin-top: 20mm !important; + outline: 1px dotted grey; + } + + .header-field::before { + content: attr(data-label); + padding-right: 0.5em; + } + + [contenteditable=true]:empty::after{ + content: attr(data-placeholder); + color: rgb(200, 200, 200); + font-weight: normal; + } +} + +@media print { + body { + margin-bottom: 0 !important; + } + + .page { + page-break-after: always; + margin: 0 !important; + } + + figure.inksimulation div { + display: none; + } + + .ui { + display: none; + } + + #settings-ui { + display: none !important; + } + + #errors { + display: none !important; + } + + .header-field:not(:empty)::before { + content: attr(data-label); + padding-right: 0.5em; + } + + span.logo-instructions { + display: none; + } +} + +@page { + size: auto; /* auto is the initial value */ + margin: 0; +} diff --git a/print/templates/headline.html b/print/templates/headline.html index 7a7059b98..369c370ef 100644 --- a/print/templates/headline.html +++ b/print/templates/headline.html @@ -2,8 +2,8 @@ - {{ _("Click to choose another logo") }}
diff --git a/print/templates/index.html b/print/templates/index.html index 0c9cedfdc..c7fa5d745 100644 --- a/print/templates/index.html +++ b/print/templates/index.html @@ -5,6 +5,7 @@ + {% include 'ui.html' %} @@ -23,10 +24,7 @@
{% include 'operator_overview.html' %}
{# operator detailed view #} - {% for color_block_part in color_blocks | batch(12) %} - {% set outer_loop = loop %} -
{% include 'operator_detailedview.html' %}
- {% endfor %} + {% include 'operator_detailedview.html' %} diff --git a/print/templates/operator_detailedview.html b/print/templates/operator_detailedview.html index 0b948cb0f..e1899db4b 100644 --- a/print/templates/operator_detailedview.html +++ b/print/templates/operator_detailedview.html @@ -1,76 +1,76 @@ + + +
+

+ ## +

+

+ {{ svg_overview|safe }} +

+

+ {{ _('Unique Colors') }}: {{ job.num_colors }} + {{ _('Color Blocks') }}: {{ job.num_color_blocks }} +

+

+ {{ _('Design box size') }}: {{ "%0.1fmm X %0.1fmm" | format(*job.dimensions) }} + {{ _('Total thread used') }}: {{job.estimated_thread }} + {{ _('Total stitch count') }}: {{job.num_stitches }} +

+

+ {{ _('Total nr stops') }}: {{ job.num_stops }} + {{ _('Total nr trims') }}: {{ job.num_trims }} +

+

+ +

+
+ + + {% for color_block in color_blocks %} + + +
+

+ + + + #{{ loop.index }} + + +

+

+ {{ color_block.svg_preview|safe }} +

+

+ {{ color_block.color.name }} + {{ color_block.color.rgb }} + {{ color_block.color.manufacturer }} {{ "#" + color_block.color.number if color_block.color.number }} +

+

+ {{ _('thread used') }}: + {{ _('# stitches') }}: {{ color_block.num_stitches }} +

+

+ {{ _('# stops') }}: {{ color_block.num_stops }} + {{ _('# trims') }}: {{ color_block.num_trims }} +

+

+ +

+
+ {% endfor %} + + diff --git a/print/templates/operator_overview.html b/print/templates/operator_overview.html index 6fa469115..0c3793161 100644 --- a/print/templates/operator_overview.html +++ b/print/templates/operator_overview.html @@ -27,16 +27,7 @@
{{ svg_overview|safe }} -
{{ _('Scale') }} %
-
- - - - -
+ {% include 'ui_svg_action_buttons.html' %}
{% include 'footer.html' %} diff --git a/print/templates/print_detail.html b/print/templates/print_detail.html index e73fe918b..241ac88b8 100644 --- a/print/templates/print_detail.html +++ b/print/templates/print_detail.html @@ -17,16 +17,7 @@
{{color_block.svg_preview|safe}} -
{{ _('Scale') }} %
-
- - - - -
+ {% include 'ui_svg_action_buttons.html' %}
{% include 'color_swatch.html' %} diff --git a/print/templates/print_overview.html b/print/templates/print_overview.html index b42ab7a99..ca8638ffb 100644 --- a/print/templates/print_overview.html +++ b/print/templates/print_overview.html @@ -27,16 +27,7 @@
{{ svg_overview|safe }} -
{{ _('Scale') }} %
-
- - - - -
+ {% include 'ui_svg_action_buttons.html' %}
diff --git a/print/templates/ui.html b/print/templates/ui.html index 3b11f3456..bc6c57b9a 100644 --- a/print/templates/ui.html +++ b/print/templates/ui.html @@ -13,41 +13,51 @@

X

{{ _('Settings') }}

-
- {{ _('Page Setup') }} -
-

{{ _('Printing Size') }}: - + + + +

+
+
+
+ {{ _('Print Layouts') }} +

+

+

+

+

{{ _('Thumbnail size') }}: 15mm +

+
+ +
+
+
+ {{ _('Design') }} +

+

-
-
-
- {{ _('Print Layouts') }} -

-

-

-

-
- -
- -
- {{ _('Design') }} -

{{ _('Thread Palette') }}: - -

-
-
+ +
+