diff --git a/src/Daliuge.ts b/src/Daliuge.ts index b28c09b6..5f0df9b7 100644 --- a/src/Daliuge.ts +++ b/src/Daliuge.ts @@ -104,7 +104,8 @@ export namespace Daliuge { Dill = "dill", Npy = "npy", Base64 = "base64", - UTF8 = "utf-8" + UTF8 = "utf-8", + Path = "path" } export enum FieldType { diff --git a/src/ParameterTable.ts b/src/ParameterTable.ts index 8e62f6cf..704d93c2 100644 --- a/src/ParameterTable.ts +++ b/src/ParameterTable.ts @@ -207,13 +207,14 @@ export class ParameterTable { // TODO: move to Eagle.ts? // doesn't seem to depend on any ParameterTable state, only Eagle state static getNodeLockedState = (field:Field) : boolean => { + const eagle: Eagle = Eagle.getInstance(); + // this handles a special case where EAGLE is displaying the "Graph Configuration Attributes Table" // all the field names shown in that table should be locked (readonly) if (Setting.find(Setting.BOTTOM_WINDOW_MODE).value() === Eagle.BottomWindowMode.ConfigParameterTable){ - return true; + return eagle.logicalGraph().findNodeByIdQuiet(field?.getNodeId()).isLocked() } - const eagle: Eagle = Eagle.getInstance(); if(Eagle.selectedLocation() === Eagle.FileType.Palette){ if(eagle.selectedNode() === null){ return false diff --git a/templates/config_parameter_table.html b/templates/config_parameter_table.html index 9b0a3558..b4bf38a4 100644 --- a/templates/config_parameter_table.html +++ b/templates/config_parameter_table.html @@ -69,7 +69,7 @@