diff --git a/modules/admin/templates/metadata_converter.twig b/modules/admin/templates/metadata_converter.twig index c21c5fb00c99ed81d0c1b6f487933a7bfe19304e..785fe0f36cb5861c685a05a1fb80b37a5ffb8362 100644 --- a/modules/admin/templates/metadata_converter.twig +++ b/modules/admin/templates/metadata_converter.twig @@ -7,20 +7,19 @@ {%- include "@admin/includes/menu.twig" %} <h2>{{ pagetitle }}</h2> - <form method="post" class="pure-form" enctype="multipart/form-data"> + <form method="post" class="pure-form" enctype="multipart/form-data" action="#converted"> <h3> {% trans 'XML metadata' %}</h3> <div class="pure-control-group"> - <textarea name="xmldata" rows="20" class="text-area edge">{{ xmldata }}</textarea> + <textarea name="xmldata" rows="20" class="text-area edge xmldata">{{ xmldata }}</textarea> </div> <br> <div class="center"> <div class="pure-button-group two-elements" role="group"> <label class="pure-button"> <span class="fa fa-folder-open"></span>{{ 'or select a file:'|trans }} - <input type="file" name="xmlfile" class="hidden" multiple> + <input type="file" name="xmlfile" class="hidden" id="file-input"> </label> - {#needs translation#} - <label id="show-file" class="pure-button hollow show-files" disabled>No file selected.</label> + <label id="show-file" class="pure-button hollow show-files" disabled>{{ 'No file selected.'|trans }}</label> </div> <br> <button class="pure-button pure-button-red pure-input-1-3">{{ 'Parse'|trans }}</button> @@ -29,7 +28,7 @@ {% if output -%} <br> - <h2>{{ 'Converted metadata'|trans }}</h2> + <h2 id="converted">{{ 'Converted metadata'|trans }}</h2> {% for type, text in output if text -%} {# spaceless is to work around a clipboard.js bug that would add extra whitespace #} {% spaceless %} @@ -50,4 +49,15 @@ {%- endfor -%} {% endif -%} {% endblock content -%} - +{% block postload %} +<script> + $('body').on('change', '#file-input', function () { + var files = this.files; + var fileNames = []; + for (var i = 0; i < files.length; i++) { + fileNames.push(files.item(i).name); + } + $('#show-file').html(fileNames.join(", ")); + }); +</script> +{% endblock postload %} diff --git a/src/css/default.scss b/src/css/default.scss index 77a9fb011ec4b2991533ccefd41e8388f723bd39..4e992dfc727b91e392050eedcecc753d358ea356 100644 --- a/src/css/default.scss +++ b/src/css/default.scss @@ -115,6 +115,9 @@ pre, code, kbd, samp, tt { //background-color: rgba(0, 0, 0, .1); padding: 0 .2rem; } +.xmldata { + font-family: monospace; +} /************************************************************ * BUTTONS @@ -469,6 +472,7 @@ CONTENT width: 100%; height: 100%; white-space: pre-wrap; + font-family: monospace; &::selection { color: black; background: $lighYellow; diff --git a/templates/metadata-converter.twig b/templates/metadata-converter.twig index 3aabdebed10248067e1d72d70e3f7e9857da422e..8c7b5291ebcecb9ae1336c0830690c160d8f74e8 100644 --- a/templates/metadata-converter.twig +++ b/templates/metadata-converter.twig @@ -4,17 +4,17 @@ {% set i=1 %} {% block content %} <h1>{{ pagetitle }}</h1> - <form method="post" class="pure-form" enctype="multipart/form-data"> + <form method="post" class="pure-form" enctype="multipart/form-data" action="#converted"> <h3>{% trans 'XML metadata' %}</h3> <div class="pure-control-group"> - <textarea name="xmldata" rows="20" class="text-area edge">{{ xmldata }}</textarea> + <textarea name="xmldata" rows="20" class="text-area edge xmldata">{{ xmldata }}</textarea> </div> <br> <div class="center"> <div class="pure-button-group two-elements" role="group"> <label class="pure-button"> <span class="fa fa-folder-open"></span>{{ 'or select a file:'|trans }} - <input type="file" name="xmlfile" class="hidden" multiple> + <input type="file" name="xmlfile" class="hidden" id="file-input"> </label> <label id="show-file" class="pure-button hollow show-files" disabled>{{ 'No file selected.'|trans }}</label> </div> @@ -25,7 +25,7 @@ {% if output -%} <br> - <h2>{{ 'Converted metadata'|trans }}</h2> + <h2 id="converted">{{ 'Converted metadata'|trans }}</h2> {% for type, text in output if text -%} {# spaceless is to work around a clipboard.js bug that would add extra whitespace #} {% spaceless %} @@ -46,4 +46,15 @@ {%- endfor -%} {% endif -%} {% endblock content -%} - +{% block postload %} +<script> + $('body').on('change', '#file-input', function () { + var files = this.files; + var fileNames = []; + for (var i = 0; i < files.length; i++) { + fileNames.push(files.item(i).name); + } + $('#show-file').html(fileNames.join(", ")); + }); +</script> +{% endblock postload %}