From 4898b9e9f934588bf88585b7fb15cdeb8440ca23 Mon Sep 17 00:00:00 2001 From: Trazzi Luca Date: Wed, 24 Aug 2016 15:39:37 +0200 Subject: [PATCH] support dynamic translations --- isteven-multi-select.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/isteven-multi-select.js b/isteven-multi-select.js index b5d3465..11d272f 100644 --- a/isteven-multi-select.js +++ b/isteven-multi-select.js @@ -518,7 +518,7 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect' var ctr = 0; // refresh button label... - if ( $scope.outputModel.length === 0 ) { + if ( !$scope.outputModel || $scope.outputModel.length === 0 ) { // https://github.com/isteven/angular-multi-select/pull/19 $scope.varButtonLabel = $scope.lang.nothingSelected; } @@ -949,12 +949,15 @@ angular.module( 'isteven-multi-select', ['ng'] ).directive( 'istevenMultiSelect' $scope.icon.tickMark = '✓'; // a tick icon // configurable button labels - if ( typeof attrs.translation !== 'undefined' ) { - $scope.lang.selectAll = $sce.trustAsHtml( $scope.icon.selectAll + '  ' + $scope.translation.selectAll ); - $scope.lang.selectNone = $sce.trustAsHtml( $scope.icon.selectNone + '  ' + $scope.translation.selectNone ); - $scope.lang.reset = $sce.trustAsHtml( $scope.icon.reset + '  ' + $scope.translation.reset ); - $scope.lang.search = $scope.translation.search; - $scope.lang.nothingSelected = $sce.trustAsHtml( $scope.translation.nothingSelected ); + if ( typeof attrs.translation !== 'undefined' ) { + $scope.$watch( 'translation' , function( text ) { + $scope.lang.selectAll = $sce.trustAsHtml( $scope.icon.selectAll + '  ' + $scope.translation.selectAll ); + $scope.lang.selectNone = $sce.trustAsHtml( $scope.icon.selectNone + '  ' + $scope.translation.selectNone ); + $scope.lang.reset = $sce.trustAsHtml( $scope.icon.reset + '  ' + $scope.translation.reset ); + $scope.lang.nothingSelected = $sce.trustAsHtml( $scope.translation.nothingSelected ); + $scope.lang.search = $scope.translation.search; + $scope.refreshButton(); + }, true ); } else { $scope.lang.selectAll = $sce.trustAsHtml( $scope.icon.selectAll + '  Select All' );