{
  "formId": "mappingnode",
  "entity": "MappingNode",
  "title": "Mapping Node",

  "pages": [
    {
      "pageId": "Identity",
      "pageName": "Identity",
      "sections": [
        {
          "sectionId": "identityInfo",
          "sectionName": "Field Mapping",
          "layout": { "columns": 12 },
          "fields": [
            { "Name": "MappingNodeId", "Type": "number", "PostData": true, "DefaultValue": 0, "IsVisible": false },
            { "Name": "MappingVersionId", "Type": "number", "PostData": true, "DefaultValue": 0, "IsVisible": false },
            { "Name": "Status", "Type": "number", "PostData": true, "DefaultValue": 1, "IsVisible": false },
            {
              "Name": "SourcePath", "Type": "string",
              "Label": "Source Path", "Required": true, "MaxLength": 500,
              "layout": { "colSpan": 6 }
            },
            {
              "Name": "TargetPath", "Type": "string",
              "Label": "Target Path", "Required": true, "MaxLength": 500,
              "layout": { "colSpan": 6 }
            },
            {
              "Name": "TransformExpression", "Type": "string",
              "Label": "Transform (e.g. UPPER, ROUND:2, FORMAT_DATE:yyyy-MM-dd)", "MaxLength": 200,
              "layout": { "colSpan": 6 }
            },
            {
              "Name": "ExecutionOrder", "Type": "number",
              "Label": "Execution Order", "DefaultValue": 0,
              "layout": { "colSpan": 2 }
            },
            {
              "Name": "IsRequired", "Type": "checkbox",
              "Label": "Required", "DefaultValue": true,
              "layout": { "colSpan": 2 }
            },
            {
              "Name": "SortOrder", "Type": "number",
              "Label": "Sort Order", "DefaultValue": 0,
              "layout": { "colSpan": 2 }
            }
          ]
        }
      ]
    }
  ],

  "quickActions": [],
  "rules": [],
  "serverValidations": [],

  "api": {
    "save":   "FrameWork.GOP.Mapping.SaveNode",
    "update": "FrameWork.GOP.Mapping.SaveNode",
    "delete": "FrameWork.GOP.Mapping.DeleteNode"
  }
}
