@finos/legend-application
Version:
Legend application core
64 lines • 2.48 kB
JavaScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { action, makeObservable, observable } from 'mobx';
export var ActionAlertType;
(function (ActionAlertType) {
ActionAlertType["STANDARD"] = "STANDARD";
ActionAlertType["CAUTION"] = "CAUTION";
ActionAlertType["ERROR"] = "ERROR";
})(ActionAlertType || (ActionAlertType = {}));
export var ActionAlertActionType;
(function (ActionAlertActionType) {
ActionAlertActionType["STANDARD"] = "STANDARD";
ActionAlertActionType["PROCEED_WITH_CAUTION"] = "PROCEED_WITH_CAUTION";
ActionAlertActionType["PROCEED"] = "PROCEED";
})(ActionAlertActionType || (ActionAlertActionType = {}));
export class AlertService {
applicationStore;
blockingAlertInfo;
actionAlertInfo;
constructor(applicationStore) {
makeObservable(this, {
blockingAlertInfo: observable,
actionAlertInfo: observable,
setBlockingAlert: action,
setActionAlertInfo: action,
});
this.applicationStore = applicationStore;
}
setBlockingAlert(alertInfo) {
if (alertInfo) {
this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys();
}
else {
this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys();
}
this.blockingAlertInfo = alertInfo;
}
setActionAlertInfo(alertInfo) {
if (this.actionAlertInfo && alertInfo) {
this.applicationStore.notificationService.notifyIllegalState('Action alert is stacked: new alert is invoked while another one is being displayed');
}
if (alertInfo) {
this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys();
}
else {
this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys();
}
this.actionAlertInfo = alertInfo;
}
}
//# sourceMappingURL=AlertService.js.map