Funktionen in Kontext-Menu "Befehle testen" erweiterte Instanzfunktion ausblenden

Moin,

in meinem Modul werden im Formular diverse Funktionsaufrufe via „onAdd/onEdit/…“ durchgeführt.

Die dazu korrespondierenden Funktion sind in der module.php als „public“ angelegt.

Nun werden diese Funktionen auch in dem Kontext-Menu der Instanz „Befehle testen“ aufgeführt.
Da es sich aber nur um „interne“ Funktionen zur Formular-Steuerung handelt, würde ich dieses gerne in dem Kontext-Menu ausblenden:

Wie kann ich diese Funktionen aus dem Menu entfernen?

Gleiches gilt auch für Funktionen die ich einem Timer zugeordnet habe.

Weiß jemand Rat, danke und schönen Sonntagnachmittag.

Grüße Detlev.

Auf private setzen und über IPS_RequestAction steuern :slight_smile:

1 „Gefällt mir“

Hi,

danke für den Hinweis:

Habe es nun so gelöst:

In der form.json onClick auf IPS_RequestAction umgestellt

        {
            "type" : "RowLayout",
            "items" : [
                {
                    "type": "Button",
                    "caption": "Save",
                    "name" : "save",
                    "onClick": "IPS_RequestAction($id, 'Save','');",
                    "enabled" : true
                },
                {
                    "type": "Button",
                    "caption": "Load",
                    "onClick": "IPS_RequestAction($id,'Load',$loadConfig);"
                },
                {
                    "type": "Select",
                    "name": "loadConfig",
                    "caption" : "Lade Konfiguration",
                    "width": "300px",
                        "options" : [
                        ]
                }
            ]
        },

in der module.php die Funktion requestAction angelegt:

		public function RequestAction($Ident, $Value) {
			$this->LogMessage("RequestAction : $Ident, $Value",KL_NOTIFY);
			switch ($Ident) {
				case "Send":
					$this->Send($Value);
					break;
				case "Save":
					$this->Save($Value);
					break;
				case "Load":
					$this->Load($Value);
					break;
				case "RefreshDate":
					$this->RefreshDate($Value);
					break;
				case "PanelActionReset":
					$this->PanelActionReset($Value);
					break;
				case "PanelActionToggle":
					$this->PanelActionToggle($Value);
					break;
				case "LoadEntry":
					$this->LoadEntry("$Value");
					break;
				case "SwapModuleStatus":
					$this->SwapModuleStatus();
					break;

			}  
		}

1 „Gefällt mir“

kurze Frage. Wie wird die $ID in der Forms.json gesetzt.

Die Variable $id steht in allen Bereichen zur Verfügung. Zusätzlich werden für alle Formularfelder Variablen erstellt, sofern ein Name vergeben wurde. Die Variable ist dann entsprechend als $Name nutzbar.

Quelle (u.a.):