{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "refreshMemberList()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "mainResponsive_init"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordData",
            "type": "any"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "{}",
            "variableName": "data"
          },
          {
            "command": "Set",
            "expression": "\"[[Disabled]]\"",
            "variableName": "data.text"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "\"[[Enabled]]\"",
                "variableName": "data.text"
              }
            ],
            "command": "If",
            "expression": "^recordData.enabled"
          },
          {
            "command": "Return",
            "expression": "^data"
          }
        ],
        "typeReturn": "obj(icon:string, text:string)",
        "variables": [
          {
            "name": "data",
            "type": "any"
          }
        ]
      },
      "name": "gridMemberRoles_renderColumn_status"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "memberRole",
            "widgetName": "gridMemberRoles"
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "editMemberRole(^memberRole)"
              }
            ],
            "command": "If",
            "expression": "!IsNull(^memberRole)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "memberRole",
            "type": "ExtPresales.MemberRole"
          }
        ]
      },
      "name": "gridMemberRoles_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "ExtPresales.ListMemberRoles({})",
            "variableName": "memberRoles"
          },
          {
            "command": "Return",
            "expression": "^memberRoles"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "memberRoles",
            "type": "list(ExtPresales.MemberRole)"
          }
        ]
      },
      "name": "gridMemberRoles_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "addMemberRole()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "gridMemberRoles_handlerAction_add"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Refresh",
            "widgetName": "gridMemberRoles"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "gridMemberRoles_handlerAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "memberRole",
            "type": "ExtPresales.MemberRole"
          }
        ],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"edit.svg\"",
            "expressionStartModel": "{memberRole: ^memberRole}",
            "expressionTitle": "\"[[Edit]] \" + ^memberRole.name",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPsMemberRoleEdit"
          },
          {
            "children": [
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refreshMemberList()"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "editMemberRole"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Set",
            "expression": "{}",
            "variableName": "memberRole"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"add.svg\"",
            "expressionStartModel": "{memberRole: ^memberRole}",
            "expressionTitle": "\"[[Add]] [[MemberRole]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPsMemberRoleEdit"
          },
          {
            "children": [
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refreshMemberList()"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "memberRole",
            "type": "ExtPresales.MemberRole"
          },
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "addMemberRole"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Refresh",
            "widgetName": "gridMemberRoles"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "refreshMemberList"
    }
  ],
  "model": [],
  "root": {
    "children": [
      {
        "children": [
          {
            "actions": [
              {
                "icon": "add.svg",
                "key": "add",
                "text": "[[Add]]"
              },
              {
                "icon": "refresh.svg",
                "key": "refresh",
                "text": "[[Refresh]]"
              }
            ],
            "columns": [
              {
                "align": "left",
                "bindText": "name",
                "header": "[[Name]]"
              },
              {
                "align": "left",
                "bindText": "code",
                "header": "[[Code]]"
              },
              {
                "align": "left",
                "bindText": "enabled",
                "header": "[[Status]]",
                "key": "status"
              }
            ],
            "icon": "list-rich.svg",
            "name": "gridMemberRoles",
            "pageSize": 12,
            "recordActions": [
              {
                "contextMenu": true,
                "icon": "edit.svg",
                "key": "edit",
                "text": "[[Edit]]"
              }
            ],
            "title": "[[MemberRoles]]",
            "typeName": "ExtPresales.MemberRole",
            "widget": "Grid",
            "withPaging": true
          }
        ],
        "cssClass": "blz-area-default blz-padding-top-small blz-padding-right-small blz-padding-left-small blz-padding-bottom-small blz-border-top blz-border-right blz-border-left blz-border-bottom blz-border-radius blz-cast-shadow",
        "layout": "fit"
      }
    ],
    "cssClass": "blz-padding-top-large blz-padding-right-large blz-padding-left-large blz-padding-bottom-large",
    "layout": "responsive",
    "name": "mainResponsive"
  },
  "routing": {
    "path": "/ps-member-roles"
  },
  "unused": []
}