From: Bill Erickson Date: Wed, 8 Nov 2017 20:20:38 +0000 (-0500) Subject: Grid translate dialog WIP X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=23eede4f2ffd3129739bc25975f928df3ec26dc3;p=working%2FEvergreen.git Grid translate dialog WIP Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/templates/staff/share/t_autogrid.tt2 b/Open-ILS/src/templates/staff/share/t_autogrid.tt2 index e8f94d77bd..a43d7bd01e 100644 --- a/Open-ILS/src/templates/staff/share/t_autogrid.tt2 +++ b/Open-ILS/src/templates/staff/share/t_autogrid.tt2 @@ -189,6 +189,10 @@ [% l('Print Full Grid') %] +
  • + + [% l('Translate Rows') %] +
  • diff --git a/Open-ILS/src/templates/staff/share/t_grid_translate_dialog.tt2 b/Open-ILS/src/templates/staff/share/t_grid_translate_dialog.tt2 new file mode 100644 index 0000000000..b15f82e749 --- /dev/null +++ b/Open-ILS/src/templates/staff/share/t_grid_translate_dialog.tt2 @@ -0,0 +1,44 @@ +
    + + + +
    diff --git a/Open-ILS/web/js/ui/default/staff/services/grid.js b/Open-ILS/web/js/ui/default/staff/services/grid.js index fab8679d69..53b3575fa7 100644 --- a/Open-ILS/web/js/ui/default/staff/services/grid.js +++ b/Open-ILS/web/js/ui/default/staff/services/grid.js @@ -119,10 +119,10 @@ angular.module('egGridMod', controller : [ '$scope','$q','egCore','egGridFlatDataProvider','$location', 'egGridColumnsProvider','$filter','$window','$sce','$timeout', - 'egProgressDialog', + 'egProgressDialog','$uibModal', function($scope, $q , egCore, egGridFlatDataProvider , $location, egGridColumnsProvider , $filter , $window , $sce , $timeout, - egProgressDialog) { + egProgressDialog , $uibModal) { var grid = this; @@ -663,6 +663,57 @@ angular.module('egGridMod', return false; } + $scope.showTranslateDialog = function() { + return $uibModal.open({ + templateUrl: './share/t_grid_translate_dialog', + backdrop: 'static', + size : 'lg', + controller: ['$scope', '$uibModalInstance', + function($dialogScope, $uibModalInstance) { + + var locales = $dialogScope.locales = [{ // TODO + name : function(){return 'en-US'}, + description : function(){return 'American English'}, + }]; + + $dialogScope.locale = locales[0].name(); // TODO + + var columns = $dialogScope.columns = + $scope.columns.filter( + function(col) {return col.i18n}); + + var translations = + $scope.applied_translations = {}; + + angular.forEach(locales, function(locale) { + if (!translations[locale]) translations[locale] = {}; + angular.forEach(columns, function(col) { + translations[locale][col.name] = {}; + }); + }); + + $dialogScope.items = $scope.items; + $dialogScope.item_index = 0; + $dialogScope.prev = function() { + $dialogScope.item_index--; + } + + $dialogScope.next = function() { + console.log('NEXT'); + $dialogScope.item_index++; + } + + $dialogScope.ok = function() { + $uibModalInstance.close() + } + $dialogScope.cancel = function() { + $uibModalInstance.dismiss(); + } + } + ] + }); + } + // returns the list of selected item objects grid.getSelectedItems = function() { return $scope.items.filter( @@ -1572,6 +1623,7 @@ angular.module('egGridMod', } column.datatype = idl_info.idl_field.datatype; + column.i18n = idl_info.idl_field.i18n; if (!column.label) { column.label = idl_info.idl_field.label || column.name;