"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MenuItemShowPopup = exports.MenuItemDoClickFunction = exports.MenuItemDoReduxAction = void 0;
const tslib_1 = require("tslib");
const PopupRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/PopupRedux"));
// A menu item which performs a Redux Action when it is clicke
class MenuItemDoReduxAction {
    constructor(name, label, module, reduxAction, icon, isVisible) {
        this.name = name;
        this.label = label;
        this.category = module;
        this.isVisible = isVisible;
        this.icon = {
            name: icon,
        };
        this.reduxAction = reduxAction;
    }
    name;
    reduxAction;
    label;
    category;
    isVisible;
    icon;
}
exports.MenuItemDoReduxAction = MenuItemDoReduxAction;
class MenuItemDoClickFunction {
    constructor(name, label, module, clickFunction, icon, isVisible) {
        this.name = name;
        this.label = label;
        this.category = module;
        this.isVisible = isVisible;
        this.icon = {
            name: icon,
        };
        this.onClick = clickFunction;
    }
    name;
    onClick;
    label;
    category;
    isVisible;
    icon;
}
exports.MenuItemDoClickFunction = MenuItemDoClickFunction;
// A menu item which shows a popup screen when it is clieked
class MenuItemShowPopup {
    constructor(name, label, module, componentName, icon, isVisible, popupParams) {
        this.name = name;
        this.label = label;
        this.category = module;
        this.isVisible = isVisible;
        this.icon = {
            name: icon,
        };
        this.reduxAction = PopupRedux.PopupShowScreen(module, componentName, popupParams);
    }
    name;
    reduxAction;
    label;
    category;
    isVisible;
    icon;
}
exports.MenuItemShowPopup = MenuItemShowPopup;
