From 2ffbcf97d27a382014c7c7a8cd8d3fe75225e5c6 Mon Sep 17 00:00:00 2001 From: Bhupesh Pandey Date: Wed, 2 Nov 2022 19:42:12 +0530 Subject: [PATCH] Feature: Tm alignment file in json & xml format --- src/assetbundles/src/js/OrderEntries.js | 107 +++++++++++------ src/controllers/FilesController.php | 18 +-- src/models/FileModel.php | 7 +- src/services/repository/FileRepository.php | 108 ++++++++++++++++-- .../translator/AcclaroTranslationService.php | 4 +- 5 files changed, 186 insertions(+), 58 deletions(-) diff --git a/src/assetbundles/src/js/OrderEntries.js b/src/assetbundles/src/js/OrderEntries.js index 009fe134..78d841c6 100644 --- a/src/assetbundles/src/js/OrderEntries.js +++ b/src/assetbundles/src/js/OrderEntries.js @@ -475,7 +475,7 @@ $label = (isDefaultTranslator ? 'Download ' : 'Sync ') + 'memory alignment files'; $downloadTmAction = $('', { - 'href': '#', + 'href': '#', 'class': isTmAligned ? 'link-disabled' : '', 'text': $label, }); @@ -536,47 +536,84 @@ }, _addDownloadTmFilesAction: function(that) { var self = this; - var action = isDefaultTranslator ? 'download' : 'sync'; + var action = isDefaultTranslator ? 'download' : 'sync'; $(that).on('click', function(e) { - e.preventDefault(); - self.toggleLoader(true); + e.preventDefault(); + + var $form = $('
', { + 'class': 'export-form' + }); - var files = []; - $rows = self.getFiles(true); - $rows.each(function() { - files.push($(this).data('file-id')); - }); + var $formatField = Craft.ui.createSelectField({ + label: Craft.t('app', 'Format'), + options: [ + {label: 'CSV', value: 'csv'}, {label: 'XML', value: 'xml'}, {label: 'JSON', value: 'json'}, + ], + 'class': 'fullwidth', + }).appendTo($form); + + let $typeSelect = $formatField.find('select'); + $typeSelect.on('change', () => { + $('', { + 'class': 'hidden', + 'name': 'format', + 'value': $typeSelect.val() + }).appendTo($form); + }); - $data = { - files: JSON.stringify(files), - orderId: $("input[type=hidden][name=id]").val() - } + $download = $('