(function(angular) {
	'use strict';

	angular.module('xpsui:directives')
	.directive('xpsuiStringView', ['xpsui:logging', function(log) {
		return {
			restrict: 'A',
			require: ['ngModel'],
			link: function(scope, elm, attrs, ctrls) {
				log.group('String view Link');

				var ngModel = ctrls[0];
				var view = angular.element('<div></div>');

				elm.addClass('x-control');
				elm.addClass('x-string-view');

				ngModel.$render = function() {
					if (ngModel.$viewValue) {
						view.html(ngModel.$viewValue.replace(/(?:\r\n|\r|\n)/g, '<br />'));
					} else {
						view.text(' ');
					}
				};

				elm.append(view);
				log.groupEnd();
			}
		};
	}]);

}(window.angular));

@@ -465,96 +465,240 @@
 odel
-.$viewValue) %7B%0A%09%09%09%09%09%09view.html(ngModel.$viewValue.replace(/(?:%5Cr%5Cn%7C%5Cr%7C%5Cn)/g, '%3Cbr /%3E'));
+ && ngModel.$viewValue %7C%7C ngModel.$viewValue===0 ) %7B%0A%09%09%09%09%09%09if (isNaN(ngModel.$viewValue))%7B%0A%09%09%09%09%09%09%09view.html(ngModel.$viewValue.replace(/(?:%5Cr%5Cn%7C%5Cr%7C%5Cn)/g, '%3Cbr /%3E'));%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09else %7B%0A%09%09%09%09%09%09%09view.html(ngModel.$viewValue);%0A%09%09%09%09%09%09%7D
 %0A%09%09%09

support for numeric values