$scope.setContext = function(ctx) {
$scope.context = ctx;
$scope.isTestView = false;
+ $scope.actionPending = false;
}
$scope.setContext('default');
});
$scope.printerConfString = function() {
+ if ($scope.printConfigError) return $scope.printConfigError;
if (!$scope.printConfig) return;
if (!$scope.printConfig[$scope.context]) return;
return JSON.stringify(
}
$scope.resetConfig = function() {
+ $scope.actionPending = true;
+ $scope.printConfigError = null;
$scope.printConfig[$scope.context] = {
context : $scope.context
}
$scope.printConfig[$scope.context].printer =
$scope.defaultPrinter.name;
}
+
+ egPrintStore.setPrintConfig($scope.printConfig)
+ .finally(function() {$scope.actionPending = false});
}
$scope.configurePrinter = function() {
+ $scope.printConfigError = null;
$scope.actionPending = true;
egPrintStore.configurePrinter(
$scope.context,
$scope.printConfig[$scope.context].printer
)
- .then(function(config) {$scope.printConfig = config})
+ .then(
+ function(config) {$scope.printConfig = config},
+ function(error) {$scope.printConfigError = error}
+ )
.finally(function() {$scope.actionPending = false});
}
});
}
- service.setPrintConfig = function() {
+ service.setPrintConfig = function(conf) {
service.printConfig = conf;
return service.setItem('eg.printing.config', conf);
}
// set the returned settings to the requested context
.then(function(newconf) {
- newconf.printer = printer;
- return service.printConfig[context] = newconf;
+ if (angular.isObject(newconf)) {
+ newconf.printer = printer;
+ return service.printConfig[context] = newconf;
+ } else {
+ console.warn("configurePrinter() returned " + newconf);
+ }
})
// store the newly linked settings