textarea json output
HTML
<script src="http://code.angularjs.org/1.0.7/angular.min.js" ng:autobind></script>
<script>
function TestController() {
var self = this;
this.form = {
ruleSettings: {
parameters: ["name=#{id.name}","last=#{id.last}"],
parametersNew: ["name=#{id.name}","middle=#{id.middle}","frank","john"]
}
}
this.paramsString = this.parseParams();
this.updateParams = function(parString) {
self.form.ruleSettings.parametersNew = [];
angular.forEach (parString.split(/\r\n|\r|\n/), function(value) {
if (value) self.form.ruleSettings.parametersNew.push(value);
});
}
}
TestController.prototype = {
// Replace with "\r\n" to try and cover IE/Opera. Others should convert.
parseParams: function() {
var paramsRaw = this.form.ruleSettings.parametersNew.toString();
return paramsRaw.replace(/,/g,"\r\n");
}
}
angular.inputType('lines', function(){
this.$parseModel = function(){
if (this.$modelValue) {
this.$viewValue = this.$modelValue.join('\n');
}
};
this.$parseView = function(){
this.$modelValue = this.$viewValue.split('\n');
};
});
</script>
<div ng:controller="TestController">
<p>Form Object:<br/>{{form}}</p>
<p>paramsString: {{paramsString}}</p>
<h5>Comma Del List</h5>
<p>
<input type="list" ng:model="form.ruleSettings.parameters" size=80>
</p>
<h5>TextArea</h5>
<p>
<textarea type="lines" name='parameters'
ng:model='form.ruleSettings.parameters'></textarea>
</p>
</div>
CSS
input, textarea {
margin:4px;
}
p {
padding:4px;margin:6px;
}
textarea {
height:200px;width:225px;
}