{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "refreshVendorList()"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "salesTeamId",
            "type": "string"
          },
          {
            "name": "salesTeam",
            "type": "ExtPresales.SalesTeam"
          }
        ]
      },
      "name": "mainResponsive_init"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordData",
            "type": "any"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "{}",
            "variableName": "data",
            "widgetName": "mainHeader"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "Concat(\"[[\", ^recordData.status,\"]]\")",
                "variableName": "data.text",
                "widgetName": "mainHeader"
              }
            ],
            "command": "If",
            "expression": "!IsNull(^recordData.status)",
            "widgetName": "mainHeader"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "\"\"",
                "variableName": "data.text",
                "widgetName": "mainHeader"
              }
            ],
            "command": "Else",
            "widgetName": "mainHeader"
          },
          {
            "command": "Return",
            "expression": "^data",
            "widgetName": "mainHeader"
          }
        ],
        "typeReturn": "obj(icon:string, text:string)",
        "variables": [
          {
            "name": "data",
            "type": "any"
          }
        ]
      },
      "name": "gridVendors_renderColumn_status"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "salesTeamId",
            "variableName": "salesTeamId"
          },
          {
            "command": "Set",
            "expression": "{ offset: ^args.offset, limit: ^args.limit }",
            "variableName": "argsList"
          },
          {
            "command": "ReadModel",
            "modelVariableName": "vendor",
            "variableName": "vendor"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "^vendor.name",
                "variableName": "argsList.vendorName"
              }
            ],
            "command": "If",
            "expression": "!IsNull(^vendor)"
          },
          {
            "command": "Set",
            "expression": "ExtPresales.SalesTeamHolderList(^salesTeamId, ^argsList)",
            "variableName": "list"
          },
          {
            "children": [
              {
                "command": "DisableAction",
                "expressionActionKey": "\"add\"",
                "widgetName": "gridVendors"
              }
            ],
            "command": "If",
            "expression": "Count(^list) > 0"
          },
          {
            "command": "Return",
            "expression": "^list"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "argsList",
            "type": "ExtPresales.ArgsSalesTeamHolderList"
          },
          {
            "name": "vendor",
            "type": "ExtPresales.SalesTeamVendorHolder"
          },
          {
            "name": "salesTeamId",
            "type": "string"
          },
          {
            "name": "list",
            "type": "list(ExtPresales.SalesTeamVendorHolder)"
          }
        ]
      },
      "name": "gridVendors_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "salesTeamId",
            "variableName": "salesTeamId"
          },
          {
            "command": "SendDataToParent",
            "expressionData": "{salesTeamId: ^salesTeamId, component: \"CmpPsSalesTeamMemberStepper\"}"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "salesTeamId",
            "type": "string"
          }
        ]
      },
      "name": "gridVendors_handlerAction_add"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Refresh",
            "widgetName": "gridVendors"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "gridVendors_handlerAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "vendor",
            "variableName": "vendor",
            "widgetName": "mainHeader"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"search-glass.svg\"",
            "expressionStartModel": "{ vendor: ^vendor }",
            "expressionTitle": "\"[[Filter]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPsSalesTeamVendorFilter",
            "widgetName": "mainHeader"
          },
          {
            "children": [
              {
                "command": "WriteModel",
                "expression": "^openedModel.vendor",
                "modelVariableName": "vendor",
                "widgetName": "mainHeader"
              },
              {
                "command": "CloseCurrent",
                "widgetName": "mainHeader"
              },
              {
                "command": "Refresh",
                "widgetName": "gridVendors"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel",
            "widgetName": "mainHeader"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          },
          {
            "name": "vendor",
            "type": "ExtPresales.SalesTeamVendorHolder"
          }
        ]
      },
      "name": "gridVendors_handlerAction_filter"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Refresh",
            "widgetName": "gridVendors"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "refreshVendorList"
    }
  ],
  "model": [
    {
      "name": "salesTeamId",
      "required": true,
      "type": "string"
    },
    {
      "name": "vendor",
      "required": false,
      "type": "ExtPresales.SalesTeamVendor"
    }
  ],
  "root": {
    "children": [
      {
        "children": [
          {
            "actions": [
              {
                "icon": "add.svg",
                "key": "add",
                "text": "[[Add]]"
              },
              {
                "icon": "search-glass.svg",
                "key": "filter",
                "text": "[[Filter]]"
              },
              {
                "icon": "refresh.svg",
                "key": "refresh",
                "text": "[[Refresh]]"
              }
            ],
            "columns": [
              {
                "align": "center",
                "bindText": "vendor.id",
                "header": "[[Id]]"
              },
              {
                "align": "left",
                "bindText": "name",
                "header": "[[UserName]]"
              },
              {
                "align": "left",
                "bindText": "vendor.creationDate",
                "format": "DateTime",
                "header": "[[CreationDate]]"
              },
              {
                "align": "left",
                "bindText": "vendor.status",
                "header": "[[Status]]",
                "key": "status"
              }
            ],
            "cssClass": "blz-area-default blz-border-top blz-border-right blz-border-left blz-border-bottom blz-border-radius",
            "icon": "user.svg",
            "name": "gridVendors",
            "pageSize": 12,
            "recordActions": [],
            "title": "[[Vendors]]",
            "typeName": "ExtPresales.SalesTeamVendorHolder",
            "widget": "Grid",
            "withPaging": true
          }
        ],
        "layout": "responsive"
      }
    ],
    "layout": "responsive",
    "name": "mainResponsive"
  },
  "routing": {
    "path": "/ps-sales-teams/{salesTeamId}/vendors"
  },
  "unused": []
}