+
{
- this.account = account
- });
+ ngOnInit() {
+ this.accountService.get(this.accountIdService.get()).subscribe(account => {
+ this.account = account
+ });
+ }
+
+ /*
+ * Add an empty operation.
+ */
+ add() {
+ var operation = new Operation();
+ operation.account_id = this.accountIdService.get();
+
+ return this.modify(operation);
+ };
+
+ /*
+ * Load operations.
+ */
+ load(minDate, maxDate) {
+ this.minDate = minDate;
+ this.maxDate = maxDate;
+
+ return this.operationService.query(
+ this.accountIdService.get(),
+ minDate,
+ maxDate
+ ).subscribe((operations: Operation[]) => {
+ this.operations = operations.reverse();
+ });
+ };
+
+ /*
+ * Save an operation and return a promise.
+ */
+ save(operation) {
+ operation.confirmed = true;
+
+ var observable: Observable;
+
+ if(operation.id){
+ observable = this.operationService.update(operation);
+ } else {
+ observable = this.operationService.create(operation);
}
- /*
- * Add an empty operation.
- */
- add() {
- var operation = new Operation();
- operation.account_id = this.accountIdService.get();
+ return observable.subscribe((operation) => {
+ this.toastrService.success('Operation #' + operation.id + ' saved.');
- return this.modify(operation);
- };
+ this.load(this.minDate, this.maxDate);
- /*
- * Load operations.
- */
- load(minDate, maxDate) {
- this.minDate = minDate;
- this.maxDate = maxDate;
+ return operation;
+ }, (result) => {
+ this.toastrService.error(
+ 'Error while saving operation: ' + result.message
+ );
+ });
+ };
- return this.operationService.query(
- this.accountIdService.get(),
- minDate,
- maxDate
- ).subscribe((operations: Operation[]) => {
- this.operations = operations.reverse();
- });
- };
+ modify(operation) {
+ // FIXME Alexis Lahouze 2017-06-15 i18n
+ const modal = this.ngbModal.open(OperationEditModalComponent, {
+ windowClass: 'in'
+ });
- /*
- * Save an operation and return a promise.
- */
- save(operation) {
- operation.confirmed = true;
+ modal.componentInstance.operation = operation;
- var observable: Observable;
+ modal.result.then((operation: Operation) => {
+ this.save(operation);
+ }, (reason) => {
+ });
+ };
- if(operation.id){
- observable = this.operationService.update(operation);
- } else {
- observable = this.operationService.create(operation);
- }
-
- return observable.subscribe((operation) => {
- this.toastrService.success('Operation #' + operation.id + ' saved.');
-
- this.load(this.minDate, this.maxDate);
-
- return operation;
- }, (result) => {
- this.toastrService.error(
- 'Error while saving operation: ' + result.message
- );
- });
- };
-
- modify(operation) {
- // FIXME Alexis Lahouze 2017-06-15 i18n
- const modal = this.ngbModal.open(OperationEditModalComponent, {
- windowClass: 'in'
- });
-
- modal.componentInstance.operation = operation;
-
- modal.result.then((operation: Operation) => {
- this.save(operation);
- }, (reason) => {
- });
- };
-
- onUpdate(dateRange) {
- this.load(dateRange.minDate, dateRange.maxDate);
- };
+ onUpdate(dateRange) {
+ this.load(dateRange.minDate, dateRange.maxDate);
+ };
};