LL27 - WindowsClient WebDesigner - Funktionen wie "Speichern unter..." deaktivieren

Wir nutzen den Aufruf @Html.ListLabelMvcWindowsClientWebDesigner(options), wobei options vom Typ WindowsClientWebDesignerOptions ist, um den WebDesigner zu starten.

Gibt es hier auch die Möglichkeit Menüpunkte wie “Save As…” oder “Load” zu deaktivieren? Wir suchen quasi das Pendant zu listLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.FileSave);. Da bei den WindowsClientwebDesignerOptions keine ListLabel Instanz genutzt wird, können wir diese Funktion hier wie es aussieht nicht nutzen. Bei den options.ClientJobOptions ist mir leider auch nichts passendes aufgefallen.

Das ist derzeit leider nicht möglich. Es können keine einzelnen Menuepunkte deaktiviert werden. Die genannten werden aber z.T. ohnehin deaktiviert - SaveAs sollte immer weg sein, und Load ebenfalls, wenn mit einem Repository gearbeitet wird. Allgemein:

if (!allowFileReferences)
{
    _ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.ProjectInclude);
    _ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.ProjectTableOfContentsAndIndex);
    _ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.ObjectsInsertFormTemplate);
    _ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.FileImport);
    _ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.FileNew);
    _ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.FileOpen);
}
_ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.FileLRUlist);
_ListLabel.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.FileSaveAs);

Wobei das allowFileReferences false ist, wenn ein Repository verwendet wird.
Ansonsten wäre dies ein Wunsch. Sie können den Vorschlag gerne in der Idea Place-Kategorie als neue Idee zur Abstimmung stellen.

Danke für die Antwort, dann müssen wir da nicht weiter recherchieren. Save As… war dann ein schlechtes Beispiel :slight_smile: Was mich aber dann etwas wundert, ist, das bei uns alle Menüs aktiviert sind - abgesehen von Save As. Und das, obwohl wir ein Repository verwenden:

                var options = new WindowsClientWebDesignerOptions()
                {
                    DataSource = DataSource.Create(path, configuration, forDesign: true),
                    FileRepository = repository,
                    ProjectFile = repositoryItemId,
                    ProjectType = LL.Repository.RepositoryItemType.ToLlProject(item.Type),
                    
                    DataMember = configuration.DataMember,
                    AutoMasterMode = configuration.AutoMasterMode,
                    Language = ...
                };

Gibt es da noch etwas, worauf wir achten müssen, damit die Menüpunkte deaktiviert werden?

Entschuldigen Sie, da hat sich ein kleiner Fehler meinerseits eingeschlichen. Das Verhalten ist genau andersherum.

Die Menüpunkte “Öffnen” und andere werden nur deaktiviert, wenn kein Repository verwendet wird, sondern eine Projektdatei direkt auf dem Server. Hintergrund dabei ist, dass der Client beim Öffnen oder neu Erstellen von Projekten i.d.R. auf den Server keinen Dateizugriff hat, was er für das öffnen oder neu erstellen bräuchte. Dabei hilft das Repository hier eine ebene zu schaffen damit der Client in abgewandelter Form entsprechend auch Projekte vom Server öffnen oder neue erstellen kann - dort bleiben die entsprechenden Menüpunkte dann aktiv.

Würden Sie also statt einem Repository eine Datei benutzen würden die weiteren Menüpunkte unter if (!allowFileReferences) entsprechend deaktiviert werden.

Derzeit gibt es aber keine Möglichkeit die Standard-Prohibitions über die WindowsClientWebDesignerOptions anzupassen und hier weitere Dinge zu verbieten.

Sorry nochmal für das kleine Durcheinander.

1 Like

Alles klar, vielen Dank für die Richtigstellung.

1 Like