From 1ce748f4a472946987929dd1b7428de17b584657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Kriv=C3=A1cs=20Schr=C3=B8der?= Date: Fri, 8 Mar 2019 07:21:09 +0100 Subject: [PATCH] Fully transition to using events for maintenance mode --- .../angular/directives/qcAddItemDirective.js | 12 ++++------- .../angular/directives/qcEditLogDirective.js | 20 +++++++++++++------ .../angular/directives/qcExtraDirective.js | 14 +++++++++++-- .../modules/angular/services/comicService.js | 5 ++--- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/assets/js/modules/angular/directives/qcAddItemDirective.js b/assets/js/modules/angular/directives/qcAddItemDirective.js index 2950b7f..5b59754 100644 --- a/assets/js/modules/angular/directives/qcAddItemDirective.js +++ b/assets/js/modules/angular/directives/qcAddItemDirective.js @@ -142,17 +142,13 @@ export class AddItemController extends SetValueControllerBase } _itemDataError(error: any) { - this.$scope.safeApply(() => { - this.items.length = 0; - this.items.push(errorItem); - }); + this.items.length = 0; + this.items.push(errorItem); } _maintenance() { - this.$scope.safeApply(() => { - this.items.length = 0; - this.items.push(maintenanceItem); - }); + this.items.length = 0; + this.items.push(maintenanceItem); } _updateValue() { diff --git a/assets/js/modules/angular/directives/qcEditLogDirective.js b/assets/js/modules/angular/directives/qcEditLogDirective.js index ec038ac..6ee33b7 100644 --- a/assets/js/modules/angular/directives/qcEditLogDirective.js +++ b/assets/js/modules/angular/directives/qcEditLogDirective.js @@ -24,6 +24,8 @@ import constants from '../../../constants'; import settings from '../../settings'; import variables from '../../../../generated/variables.pass2'; +import { EventHandlingControllerBase } from '../controllers/ControllerBases'; + import type { $DecoratedScope } from '../decorateScope'; import type { ComicService } from '../services/comicService'; import type { EventService } from '../services/eventService'; @@ -31,7 +33,7 @@ import type { MessageReportingService } from '../services/messageReportingServic import type { ComicData, ComicItem } from '../api/comicData'; import type { LogEntryData } from '../api/logEntryData'; -export class EditLogController { +export class EditLogController extends EventHandlingControllerBase { static $inject: string[]; $scope: $DecoratedScope; @@ -48,11 +50,13 @@ export class EditLogController { $scope: $DecoratedScope, $log: $Log, $http: $Http, - messageReportingService: MessageReportingService + messageReportingService: MessageReportingService, + eventService: EventService ) { $log.debug('START EditLogController'); - this.$scope = $scope; + super($scope, eventService); + this.$log = $log; this.$http = $http; this.messageReportingService = messageReportingService; @@ -60,12 +64,17 @@ export class EditLogController { this.currentPage = 1; $('#editLogDialog').on('show.bs.modal', () => { + this.currentPage = 1; this._loadLogs(); }); $log.debug('END EditLogController'); } + _maintenance() { + this.close(); + } + async _loadLogs() { this.$scope.safeApply(() => { this.isLoading = true; @@ -80,8 +89,7 @@ export class EditLogController { }); } else { if (response.status === 503) { - this.messageReportingService.reportError(constants.messages.maintenance); - this.close(); + this.eventService.maintenanceEvent.publish(); } else { this.messageReportingService.reportError(response.data); } @@ -108,7 +116,7 @@ export class EditLogController { ($('#editLogDialog'): any).modal('hide'); } } -EditLogController.$inject = ['$scope', '$log', '$http', 'messageReportingService']; +EditLogController.$inject = ['$scope', '$log', '$http', 'messageReportingService', 'eventService']; export default function (app: AngularModule) { app.directive('qcEditLog', function () { diff --git a/assets/js/modules/angular/directives/qcExtraDirective.js b/assets/js/modules/angular/directives/qcExtraDirective.js index 1e5a235..be8f746 100644 --- a/assets/js/modules/angular/directives/qcExtraDirective.js +++ b/assets/js/modules/angular/directives/qcExtraDirective.js @@ -42,6 +42,7 @@ export class ExtraController extends EventHandlingControllerBase { if (response.status === 503) { - this.eventService.comicDataErrorEvent.publish(response); + this.eventService.maintenanceEvent.publish(response); return; } if (response.status !== 200) {