{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Refresh",
            "widgetName": "gridAccounts"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "salesTeamId",
            "type": "string"
          },
          {
            "name": "salesTeam",
            "type": "ExtPresales.SalesTeam"
          }
        ]
      },
      "name": "mainResponsive_init"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Refresh",
            "widgetName": "gridAccounts"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "gridAccounts_handlerAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "{ sortBy: [\"Desc(SalesTeamAccountId)\"], offset: ^args.offset, limit: ^args.limit}",
            "variableName": "argsList"
          },
          {
            "command": "ReadModel",
            "modelVariableName": "salesTeamId",
            "variableName": "salesTeamId"
          },
          {
            "command": "Return",
            "expression": "ExtPresales.SalesTeamAccountList(^salesTeamId, ^argsList)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "salesTeamId",
            "type": "string"
          },
          {
            "name": "argsList",
            "type": "ExtPresales.ArgsSalesTeamAccountList"
          }
        ]
      },
      "name": "gridAccounts_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "salesTeamId",
            "variableName": "salesTeamId",
            "widgetName": "mainHeader"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"acc-account.svg\"",
            "expressionStartModel": "{salesTeamId: ^salesTeamId}",
            "expressionTitle": "\"[[Accounts]]\"",
            "mode": "window",
            "size": "big",
            "uiComponentName": "CmpPsSalesTeamAccountEdit",
            "widgetName": "mainHeader"
          },
          {
            "children": [
              {
                "command": "CloseCurrent",
                "widgetName": "mainHeader"
              },
              {
                "command": "Refresh",
                "widgetName": "gridAccounts"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel",
            "widgetName": "mainHeader"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "salesTeamId",
            "type": "integer"
          },
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "gridAccounts_handlerAction_add"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "salesTeamId",
            "variableName": "salesTeamId",
            "widgetName": "mainHeader"
          },
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "salesTeamAccount",
            "widgetName": "gridAccounts"
          },
          {
            "children": [
              {
                "command": "ConfirmMessage",
                "expressionMessage": "\"[[ConfirmDelete]]\" + ^salesTeamAccount.accountRef.name",
                "expressionTitle": "\"[[ConfirmDelete]]\"",
                "widgetName": "mainHeader"
              },
              {
                "children": [
                  {
                    "command": "Execute",
                    "expression": "ExtPresales.SalesTeamAccountDelete(^salesTeamId, salesTeamAccount.accountRef.id)"
                  },
                  {
                    "command": "Refresh",
                    "widgetName": "gridAccounts"
                  }
                ],
                "command": "OnYes",
                "widgetName": "mainHeader"
              }
            ],
            "command": "If",
            "expression": "!IsNull(^salesTeamAccount)",
            "widgetName": "mainHeader"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "salesTeamId",
            "type": "string"
          },
          {
            "name": "salesTeamAccount",
            "type": "ExtPresales.SalesTeamAccount"
          }
        ]
      },
      "name": "gridAccounts_handlerRecordAction_remove"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "salesTeamId",
            "variableName": "salesTeamId",
            "widgetName": "mainHeader"
          },
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "account",
            "widgetName": "gridAccounts"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"edit.svg\"",
            "expressionStartModel": "{account: ^account, salesTeamId: ^salesTeamId}",
            "expressionTitle": "\"[[Edit]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPsSalesTeamAccountEditor",
            "widgetName": "mainHeader"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "^openedModel.account",
                "variableName": "account",
                "widgetName": "mainHeader"
              },
              {
                "command": "Set",
                "expression": "{}",
                "variableName": "accountEdition",
                "widgetName": "mainHeader"
              },
              {
                "children": [
                  {
                    "command": "Set",
                    "expression": "^account.vendorHolder",
                    "variableName": "accountEdition.vendorHolder"
                  }
                ],
                "command": "If",
                "expression": "IsNotNull(^account.vendorHolder)",
                "widgetName": "mainHeader"
              },
              {
                "children": [
                  {
                    "command": "Set",
                    "expression": "^account.temporalVendorHolder",
                    "variableName": "accountEdition.temporalVendorHolder"
                  }
                ],
                "command": "If",
                "expression": "IsNotNull(^account.temporalVendorHolder)",
                "widgetName": "mainHeader"
              },
              {
                "command": "Execute",
                "expression": "ExtPresales.SalesTeamAccountUpdate(^salesTeamId, ^account.accountRef.id, ^accountEdition)",
                "widgetName": "mainHeader"
              },
              {
                "command": "CloseCurrent",
                "widgetName": "mainHeader"
              },
              {
                "command": "Refresh",
                "widgetName": "gridAccounts"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel",
            "widgetName": "mainHeader"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "account",
            "type": "ExtPresales.SalesTeamAccount"
          },
          {
            "name": "openedModel",
            "type": "any"
          },
          {
            "name": "salesTeamId",
            "type": "string"
          },
          {
            "name": "accountEdition",
            "type": "ExtPresales.SalesTeamAccountEdition"
          }
        ]
      },
      "name": "gridAccounts_handlerRecordAction_edit"
    }
  ],
  "model": [
    {
      "name": "salesTeamId",
      "required": true,
      "type": "integer"
    }
  ],
  "root": {
    "children": [
      {
        "children": [
          {
            "actions": [
              {
                "icon": "add.svg",
                "key": "add",
                "text": "[[Add]]"
              },
              {
                "icon": "refresh.svg",
                "key": "refresh",
                "text": "[[Refresh]]"
              }
            ],
            "columns": [
              {
                "align": "left",
                "bindText": "accountRef.id",
                "header": "[[AccountNumber]]",
                "key": "customerNumber"
              },
              {
                "align": "left",
                "bindText": "accountRef.name",
                "header": "[[Name]]",
                "key": "name"
              },
              {
                "align": "left",
                "bindText": "vendorHolder.name",
                "header": "[[SalesExecutive]]",
                "key": "salesEx"
              },
              {
                "align": "left",
                "bindText": "temporalVendorHolder.name",
                "header": "[[TempExecutive]]",
                "key": "tempExecutive"
              }
            ],
            "cssClass": "blz-area-default blz-border-top blz-border-right blz-border-left blz-border-bottom blz-border-radius",
            "icon": "acc-account.svg",
            "name": "gridAccounts",
            "pageSize": 10,
            "recordActions": [
              {
                "icon": "edit.svg",
                "key": "edit",
                "text": "[[Edit]]"
              },
              {
                "contextMenu": true,
                "icon": "remove.svg",
                "key": "remove",
                "text": "[[Remove]]"
              }
            ],
            "title": "[[Accounts]]",
            "typeName": "ExtPresales.SalesTeamAccount",
            "widget": "Grid",
            "withPaging": true
          }
        ],
        "layout": "responsive"
      }
    ],
    "layout": "responsive",
    "name": "mainResponsive"
  },
  "routing": {
    "path": "/ps-sales-teams/{salesTeamId}/accounts"
  },
  "unused": []
}