"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SystemStatusModule = void 0;
const tslib_1 = require("tslib");
const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
const SystemStatusStatusBarContent_1 = require("../View/SystemStatus/SystemStatusStatusBarContent");
class SystemStatusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
    constructor(api) {
        super(ModuleConstants.SystemStatusModuleId, ModuleConstants.SystemStatusFriendlyName, 'traffic-lights', 'SystemStatusPopup', 'Provide messages about the Status of your application', api);
    }
    createColumnMenuItems(column) {
        if (this.isModuleVisible()) {
            return [
                this.createMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
                    source: 'ColumnMenu',
                }),
            ];
        }
    }
    createContextMenuItems(menuContext) {
        if (this.isModuleVisible()) {
            let popUpParams = {
                source: 'ContextMenu',
            };
            return [
                this.createMainMenuItemShowPopup({
                    Name: 'system-status-show',
                    Label: 'Show System Status',
                    ComponentName: this.moduleInfo.Popup,
                    Icon: this.moduleInfo.Glyph,
                    PopupParams: popUpParams,
                }),
            ];
        }
    }
    getViewProperties() {
        return {
            getStatusBarPanelProps: () => {
                return {
                    content: SystemStatusStatusBarContent_1.SystemStatusStatusBarContent,
                };
            },
        };
    }
}
exports.SystemStatusModule = SystemStatusModule;
