QBO3 Angular Form Example
HTML
<div ng-app="quandisDemo">
<div id="testing" ng-controller="LoginController">
<div ng-controller="TaskController as task">
<form ng-submit="task.save()">
<div>
<div>Field:
<input type="text" ng-model="task.formData.Available" required />
</div>
<div>Check:
<input type="checkbox" ng-model="task.formData.TestCheck" />
</div>
<div>Date:
<input type="date" ng-model="task.formData.TestDate"/>
</div>
<button>Save</button>
</div>
</form>
</div>
</div>
</div>
JavaScript
angular.module('quandisDemo', []);
angular.module('quandisDemo').factory('qbo', function ($http) {
return {
request: function (url, params, success) {
$http({
method: 'POST',
url: url,
params: params,
crossDomain: false,
headers: {
'qboAutomation': true
},
withCredentials: true,
responseType: 'json'
}).success(success);
}
};
});
angular.module('quandisDemo').filter('myDate', function($filter){
return function(input){
var _date = new Date(input);
_date.setUTCHours(_date.getUTCHours()+7);
_date = $filter('date')(_date, 'yyyy-MM-dd');
return _date;
};
});
angular.module('quandisDemo').controller('LoginController', function (qbo) {
var login = this;
login.url = "http://demo.quandis.net/Security/Person.ashx/Select?ID=1&Output=Json";
login.success = function (data) {
console.log('You have logged in.');
};
qbo.request(login.url, login.params, login.success);
});
angular.module('quandisDemo').controller('TaskController', function (qbo, $filter) {
var task = this;
task.url = "http://demo.quandis.net/Decision/ImportForm.ashx/";
task.params = {
ImportFormTemplateID: 16
};
task.success = function (data) {
console.log(data);
task.formData = task.transformResponse(data);
task.formData.TestDate = $filter('myDate')(task.formData.TestDate);
};
qbo.request(task.url + "Select?Output=Json", task.params, task.success);
task.save = function () {
var testDate = task.formData.TestDate;
testDate = new Date(task.formData.TestDate).toISOString();
testDate = testDate.substring(0, testDate.length-5);
task.formData.TestDate = testDate;
qbo.request(task.url + "Save?Output=Json", task.formData, task.success);
};
...