{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"Cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "regionListOptions"
          },
          {
            "command": "Execute",
            "expression": "refreshRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "main_init"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "getRegions(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionsGrid_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionsGrid"
          },
          {
            "command": "Execute",
            "expression": "editRegion(^region)",
            "widgetName": "fitRegionTree"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          },
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "regionsGrid_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionsGrid"
          },
          {
            "command": "Execute",
            "expression": "removeRegion(^region)",
            "widgetName": "fitRegionTree"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionsGrid_handlerRecordAction_remove"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionsGrid"
          },
          {
            "command": "Execute",
            "expression": "subRegions(^region)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionsGrid_handlerRecordAction_subRegions"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "addRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionsGrid_handlerAction_add"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "filterRegion()",
            "widgetName": "fitRegionTree"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionsGrid_handlerAction_filter"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordData",
            "type": "any"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "{ text: \"[[Enabled]]\" }",
            "variableName": "data"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "\"[[Disabled]]\"",
                "variableName": "data.text"
              }
            ],
            "command": "If",
            "expression": "!IsNull(^recordData.disabled) && ^recordData.disabled"
          },
          {
            "command": "Return",
            "expression": "^data"
          }
        ],
        "typeReturn": "obj(icon:string, text:string)",
        "variables": [
          {
            "name": "data",
            "type": "any"
          }
        ]
      },
      "name": "regionsGrid_renderColumn_status"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Refresh",
            "widgetName": "regionsGrid"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionsGrid_handlerAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "getRegions(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionCards_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "Execute",
            "expression": "refreshRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionListOptions_handlerRecordAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"Cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "refreshRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionListOptions_handlerRecordAction_cards"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"List\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "refreshRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionListOptions_handlerRecordAction_list"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionCards"
          },
          {
            "command": "Execute",
            "expression": "removeRegion(^region)",
            "widgetName": "fitRegionTree"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionCards_handlerRecordAction_remove"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionCards"
          },
          {
            "command": "Execute",
            "expression": "editRegion(^region)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionCards_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionCards"
          },
          {
            "command": "Execute",
            "expression": "subRegions(^region)",
            "widgetName": "fitRegionTree"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionCards_handlerRecordAction_subRegions"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "addRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionCards_handlerAction_add"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "filterRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionCards_handlerAction_filter"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"organization\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "refreshRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "regionListOptions_handlerRecordAction_organizationFilter"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordData",
            "type": "any"
          }
        ],
        "statements": [
          {
            "children": [
              {
                "command": "Set",
                "expression": "\"<div [RecordAction:activate] title='[[Disabled]]' class='blz-btn blz-record-action-btn blz-component-class-enabled blz-btn-icon-only contained' style='width: auto'>[Icon:remove.svg]</div>\"",
                "variableName": "htmlResult"
              }
            ],
            "command": "If",
            "expression": "^recordData.disabled"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "\"<div [RecordAction:deactivate] title='[[Enabled]]' class='blz-btn blz-record-action-btn blz-component-class-enabled blz-btn-icon-only contained' style='width: auto'>[Icon:checked.svg]</div>\"",
                "variableName": "htmlResult"
              }
            ],
            "command": "Else"
          },
          {
            "command": "Return",
            "expression": "{text: htmlResult}"
          }
        ],
        "typeReturn": "obj(icon:string, text:string)",
        "variables": [
          {
            "name": "htmlResult",
            "type": "string"
          }
        ]
      },
      "name": "regionTree_renderColumn_status"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "addRegion()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "regionTree_handlerAction_add"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionTree"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"\"",
            "expressionStartModel": "{ region: ^region }",
            "expressionTitle": "\"\"",
            "mode": "right-drawer",
            "size": "big",
            "uiComponentName": "CmpPsRegionViewer"
          },
          {
            "children": [
              {
                "command": "CloseCurrent"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          },
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "regionTree_handlerRecordAction_view"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionTree"
          },
          {
            "command": "ConfirmMessage",
            "expressionMessage": "\"[[Confirm]] [[Activate]] [[Region]]\"",
            "expressionTitle": "\"[[Activate]] [[Region]]\""
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "false",
                "variableName": "region.disabled"
              },
              {
                "command": "Execute",
                "expression": "ExtPresales.UpdateRegion(^region.code, ^region)"
              },
              {
                "command": "Execute",
                "expression": "refreshRegion()"
              }
            ],
            "command": "OnYes"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionTree_handlerRecordAction_activate"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionTree"
          },
          {
            "command": "ConfirmMessage",
            "expressionMessage": "\"[[Confirm]] [[Deactivate]] [[Region]]\"",
            "expressionTitle": "\"[[Deactivate]] [[Region]]\""
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "ExtPresales.DeactivateRegion(^region.code)"
              },
              {
                "command": "Execute",
                "expression": "refreshRegion()"
              }
            ],
            "command": "OnYes"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionTree_handlerRecordAction_deactivate"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionTree"
          },
          {
            "command": "Execute",
            "expression": "editRegion(^region)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ]
      },
      "name": "regionTree_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "region",
            "widgetName": "regionTree"
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "addRegion()"
              }
            ],
            "command": "If",
            "expression": "^region.indent < 4"
          },
          {
            "children": [
              {
                "command": "AlertMessage",
                "expressionMessage": "\"[[RegionAddMsg]]\"",
                "expressionTitle": "\"[[Add]] [[Region]]\"",
                "severity": "error"
              }
            ],
            "command": "Else"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "region",
            "type": "any"
          }
        ]
      },
      "name": "regionTree_handlerRecordAction_add"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "regionList"
          },
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "filters"
          },
          {
            "command": "ReadModel",
            "modelVariableName": "regionId",
            "variableName": "regionId"
          },
          {
            "command": "Push",
            "expressionItem": "Concat(\"parentRegionId:\", ^regionId)",
            "variableNameList": "filters"
          },
          {
            "command": "ReadModel",
            "modelVariableName": "filter",
            "variableName": "filter"
          },
          {
            "children": [
              {
                "children": [
                  {
                    "command": "Push",
                    "expressionItem": "Concat(\"code:\", ^filter.code)",
                    "variableNameList": "filters"
                  }
                ],
                "command": "If",
                "expression": "!IsNull(^filter.code)"
              },
              {
                "children": [
                  {
                    "command": "Push",
                    "expressionItem": "Concat(\"name:\", ^filter.name)",
                    "variableNameList": "filters"
                  }
                ],
                "command": "If",
                "expression": "!IsNull(^filter.name)"
              },
              {
                "children": [
                  {
                    "command": "Push",
                    "expressionItem": "Concat(\"description:\", ^filter.description)",
                    "variableNameList": "filters"
                  }
                ],
                "command": "If",
                "expression": "!IsNull(^filter.description)"
              }
            ],
            "command": "If",
            "expression": "!IsNull(^filter)"
          },
          {
            "command": "Set",
            "expression": "{ offset: ^args.offset, limit: ^args.limit, filters: ^filters }",
            "variableName": "argsList"
          },
          {
            "command": "Set",
            "expression": "ExtPresales.ListRegions(^argsList)",
            "variableName": "regionList"
          },
          {
            "command": "Return",
            "expression": "^regionList"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "argsList",
            "type": "ExtPresales.ArgsListRegions"
          },
          {
            "name": "filters",
            "type": "list(string)"
          },
          {
            "name": "regionId",
            "type": "string"
          },
          {
            "name": "filter",
            "type": "any"
          },
          {
            "name": "regionList",
            "type": "list(ExtPresales.Region)"
          }
        ]
      },
      "name": "getRegions"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ],
        "statements": [
          {
            "command": "ConfirmMessage",
            "expressionMessage": "\"[[ConfirmRemoveRegionMsg]]\"",
            "expressionTitle": "\"[[ConfirmRemoveRegion]]\""
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "ExtPresales.DeactivateRegion(^region.id)"
              },
              {
                "command": "Execute",
                "expression": "refreshRegion()"
              }
            ],
            "command": "OnYes"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "removeRegion"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"edit.svg\"",
            "expressionStartModel": "{region:^region}",
            "expressionTitle": "\"[[Edit]] [[Region]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPsRegionEditor"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "^openedModel.region",
                "variableName": "region"
              },
              {
                "command": "Execute",
                "expression": "ExtPresales.UpdateRegion(^region.code, ^region)"
              },
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refreshRegion()"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "editRegion"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "region",
            "type": "ExtPresales.Region"
          }
        ],
        "statements": [
          {
            "command": "Navigate",
            "expressionStartModel": "{regionId:^region.id}",
            "uiComponentName": "CmpPsSubRegionsList"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "subRegions"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"add.svg\"",
            "expressionStartModel": "{}",
            "expressionTitle": "\"[[Add]] [[Region]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPsRegionEditor"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "^openedModel.region",
                "variableName": "region"
              },
              {
                "command": "Set",
                "expression": "^regionId",
                "variableName": "region.parentRegionId"
              },
              {
                "command": "Execute",
                "expression": "ExtPresales.CreateRegion(^region)"
              },
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refreshRegion()"
              },
              {
                "command": "Refresh",
                "widgetName": "regionTree"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          },
          {
            "name": "regionId",
            "type": "string"
          },
          {
            "name": "region",
            "type": "ExtPresales.RegionCreation"
          }
        ]
      },
      "name": "addRegion"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "presentationType",
            "variableName": "presentationType"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"search.svg\"",
            "expressionStartModel": "{filter:^filter}",
            "expressionTitle": "\"[[Filter]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPsRegionFilter"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "^openedModel.filter",
                "variableName": "filter"
              },
              {
                "command": "WriteModel",
                "expression": "^filter",
                "modelVariableName": "filter"
              },
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refreshRegion()"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          },
          {
            "name": "filter",
            "type": "any"
          },
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "filterRegion"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "presentationType",
            "variableName": "presentationType"
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "fitRegionCards"
              },
              {
                "command": "Hide",
                "widgetName": "fitRegionList"
              },
              {
                "command": "Hide",
                "widgetName": "fitRegionTree"
              },
              {
                "command": "Refresh",
                "widgetName": "regionCards"
              }
            ],
            "command": "If",
            "expression": "^presentationType == \"Cards\""
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "fitRegionList"
              },
              {
                "command": "Hide",
                "widgetName": "fitRegionCards"
              },
              {
                "command": "Hide",
                "widgetName": "fitRegionTree"
              },
              {
                "command": "Refresh",
                "widgetName": "regionsGrid"
              }
            ],
            "command": "ElseIf",
            "expression": "^presentationType == \"List\""
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "fitRegionTree"
              },
              {
                "command": "Hide",
                "widgetName": "fitRegionCards"
              },
              {
                "command": "Hide",
                "widgetName": "fitRegionList"
              },
              {
                "command": "Execute",
                "expression": "loadTree()"
              }
            ],
            "command": "Else"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "refreshRegion"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "rootList"
          },
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "childList"
          },
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "regionList"
          },
          {
            "command": "ReadModel",
            "modelVariableName": "regionId",
            "variableName": "parentRegionId"
          },
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "filters"
          },
          {
            "command": "Push",
            "expressionItem": "Concat(\"code:\", ^parentRegionId)",
            "variableNameList": "filters"
          },
          {
            "command": "Set",
            "expression": "{offset: ^args.offset, limit: ^args.limit, filters: ^filters }",
            "variableName": "argsList"
          },
          {
            "command": "Set",
            "expression": "ExtPresales.ListRegions(^argsList)",
            "variableName": "regionList"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "^parentRegion",
                "variableName": "rootNode"
              }
            ],
            "command": "ForEach",
            "expressionList": "^regionList",
            "variableNameItem": "parentRegion"
          },
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "filters"
          },
          {
            "command": "Push",
            "expressionItem": "Concat(\"parentRegionId:\", ^parentRegionId)",
            "variableNameList": "filters"
          },
          {
            "command": "Set",
            "expression": "{fields:\"Childs\", offset: ^args.offset, limit: ^args.limit, filters: ^filters }",
            "variableName": "argsList"
          },
          {
            "command": "Set",
            "expression": "ExtPresales.ListRegions(^argsList)",
            "variableName": "regionList"
          },
          {
            "command": "Execute",
            "expression": "getRegionChild(^regionList,^rootNode)"
          },
          {
            "command": "Push",
            "expressionItem": "^rootNode",
            "variableNameList": "rootList"
          },
          {
            "command": "SetValue",
            "expression": "^rootList",
            "widgetName": "regionTree"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "rootNode",
            "type": "any"
          },
          {
            "name": "parentRegionId",
            "type": "string"
          },
          {
            "name": "regionList",
            "type": "list(ExtPresales.Region)"
          },
          {
            "name": "filters",
            "type": "list(string)"
          },
          {
            "name": "argsList",
            "type": "ExtPresales.ArgsListRegions"
          },
          {
            "name": "parentRegion",
            "type": "ExtPresales.Region"
          },
          {
            "name": "childRegion",
            "type": "ExtPresales.Region"
          },
          {
            "name": "childNode",
            "type": "any"
          },
          {
            "name": "childList",
            "type": "list(any)"
          },
          {
            "name": "rootList",
            "type": "list(any)"
          },
          {
            "name": "test",
            "type": "any"
          }
        ]
      },
      "name": "loadTree"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "regionList",
            "type": "list(ExtPresales.Region)"
          },
          {
            "name": "rootNode",
            "type": "any"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "rootNode.children"
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "null",
                "variableName": "grandChildNode"
              },
              {
                "command": "Set",
                "expression": "^childRegion",
                "variableName": "childNode"
              },
              {
                "command": "Push",
                "expressionItem": "^childNode",
                "variableNameList": "rootNode.children"
              },
              {
                "children": [
                  {
                    "command": "Execute",
                    "expression": "getRegionChild(^childRegion.childs,^childNode)"
                  }
                ],
                "command": "If",
                "expression": "IsNotNull(^childRegion.childs)"
              }
            ],
            "command": "ForEach",
            "expressionList": "^regionList",
            "variableNameItem": "childRegion"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "childRegion",
            "type": "ExtPresales.Region"
          },
          {
            "name": "childNode",
            "type": "any"
          },
          {
            "name": "grandChildNode",
            "type": "list(any)"
          }
        ]
      },
      "name": "getRegionChild"
    }
  ],
  "model": [
    {
      "name": "regionId",
      "required": true,
      "type": "string"
    },
    {
      "name": "filter",
      "required": false,
      "type": "any"
    },
    {
      "name": "presentationType",
      "required": false,
      "type": "string"
    }
  ],
  "root": {
    "children": [
      {
        "children": [
          {
            "children": [
              {
                "htmlTemplate": "<div style=\"display: inline-flex\">\n\t<div title=\"\" class=\"blz-btn blz-btn-default blz-toolbar-element blz-component-class-enabled plain\n                         blz-border-radius blz-cast-shadow blz-border-top blz-border-right blz-border-left blz-border-bottom\" style=\"width: auto; background-color: white;\" tabindex=\"-1\" onclick=\"[RecordAction:cards]\">\n\t\t\t<span id=\"blz-button-10653-33-blz-btn-icon\" class=\"blz-btn-icon\">\n\t\t\t\t<img src=\"./icons/cards.svg\" style=\"width: 16px;\"/>\n\t\t\t</span>\n\t\t\t<span id=\"blz-button-10653-33-blz-btn-text\" class=\"blz-btn-text\"></span>\n\t\t\t<input type=\"text\" id=\"blz-button-10653-33-focus\" style=\"width: 1px; height: 1px;\">\n\t</div>\n\t<div title=\"\" class=\"blz-btn blz-btn-default blz-toolbar-element blz-component-class-enabled plain \n                         blz-border-radius blz-cast-shadow blz-border-top blz-border-right blz-border-left blz-border-bottom\" style=\"width: auto; background-color: white;\" tabindex=\"-1\" onclick=\"[RecordAction:list]\">\n\t\t\t<span id=\"blz-button-10653-33-blz-btn-icon\" class=\"blz-btn-icon\">\n\t\t\t\t[Icon:list.svg]\n\t\t\t</span>\n\t\t\t<span id=\"blz-button-10653-33-blz-btn-text\" class=\"blz-btn-text\"></span>\n\t\t\t<input type=\"text\" id=\"blz-button-10653-33-focus\" style=\"width: 1px; height: 1px;\">\n\t</div>\n\t<div title=\"\" class=\"blz-btn blz-btn-default blz-toolbar-element blz-component-class-enabled plain \n                         blz-border-radius blz-cast-shadow blz-border-top blz-border-right blz-border-left blz-border-bottom\" style=\"width: auto; background-color: white;\" tabindex=\"-1\" onclick=\"[RecordAction:organizationFilter]\">\n\t\t\t<span id=\"blz-button-10653-33-blz-btn-icon\" class=\"blz-btn-icon\">\n\t\t\t\t[Icon:hierarchy.svg]\n\t\t\t</span>\n\t\t\t<span id=\"blz-button-10653-33-blz-btn-text\" class=\"blz-btn-text\"></span>\n\t\t\t<input type=\"text\" id=\"blz-button-10653-33-focus\" style=\"width: 1px; height: 1px;\">\n\t</div>\n  <div class=\"blz-btn blz-btn-default blz-toolbar-element blz-component-class-enabled plain \n                         blz-border-radius blz-cast-shadow blz-border-top blz-border-right blz-border-left blz-border-bottom\"\n        style=\"width: auto; background-color: white;\" tabindex=\"-1\" onclick=\"[RecordAction:refresh]\">\n        <span class=\"blz-btn-icon\">\n            [Icon:refresh.svg]\n        </span>\n        <span class=\"blz-btn-text\"></span>\n        <input type=\"text\" style=\"width: 1px; height: 1px;\">\n    </div>\n</div>",
                "name": "regionListOptions",
                "recordActions": [
                  {
                    "key": "cards",
                    "text": "[[Cards]]"
                  },
                  {
                    "key": "list",
                    "text": "[[List]]"
                  },
                  {
                    "key": "refresh",
                    "text": "[[Refresh]]"
                  },
                  {
                    "key": "organizationFilter",
                    "text": "[[OrganizationFilter]]"
                  }
                ],
                "widget": "HtmlRenderer"
              }
            ],
            "layout": "fit"
          },
          {
            "children": [
              {
                "actions": [
                  {
                    "icon": "add.svg",
                    "key": "add",
                    "text": "[[Add]]"
                  },
                  {
                    "contextMenu": true,
                    "icon": "search-glass.svg",
                    "key": "filter",
                    "text": "[[Filter]]"
                  }
                ],
                "canMove": true,
                "cssClass": "content-center cardsWithAction",
                "htmlTemplate": "<section class=\"blz-cards-with-brief\">\n    <article>\n        <section style=\"width:50px !important; height:50px !important\">[Icon:world.svg]</section>\n        <section class=\"blz-cards-title\">\n            <article>\n                <span class=\"blz-text-title-md\">{{name}}</span>\n                <section>\n                    <span>{{id}}</span>\n                    <span class=\"blz-text-color-green\">&nbsp;</span>\n\t\t\t\t\t<span>&nbsp;</span>\n                </section>\n            </article>\n           <section class=\"blz-cards-header-dots\" onclick=\"[MultipleRecordAction:edit,remove,subRegions]\" style=\"width:20px !important; height:20px !important;\">[Icon:dots-menu.svg]</section>  \n      </section>\n    </article>\n    <article>\n        <section class=\"blz-area-information\"> \n            <p>{{description}} </p>\n        </section>\n    </article>\n    <article class=\"blz-area-brief\" style=\"display: inline\">\n\t    <div style=\"display: inline-flex;align-content: space-between;flex-wrap: wrap;flex-direction: column;align-content: space-between;\">\n          <br>\n      \t   <span style=\"margin-top: 1px !important;\">[[GeoInfo]]: {{geoInfo}} </span>\n           <span style=\"margin-top: 1px !important;\">[[Status]]: {{#if disabled}}[[Disabled]]{{else}}[[Enabled]]{{/if}}</span>\n\t\t</div>\n\t\n\t\t<div style=\"clear:both\"></div>\n    </article>\n</section>",
                "icon": "world.svg",
                "name": "regionCards",
                "pageSize": 12,
                "recordActions": [
                  {
                    "icon": "edit.svg",
                    "key": "edit",
                    "text": "[[Edit]]"
                  },
                  {
                    "icon": "remove.svg",
                    "key": "remove",
                    "text": "[[Remove]]"
                  },
                  {
                    "icon": "world.svg",
                    "key": "subRegions",
                    "text": "[[SubRegions]]"
                  }
                ],
                "title": "[[Regions]]",
                "typeName": "ExtPresales.Region",
                "widget": "HtmlRepeater",
                "withPaging": true
              }
            ],
            "layout": "fit",
            "name": "fitRegionCards"
          },
          {
            "children": [
              {
                "actions": [
                  {
                    "icon": "search-glass.svg",
                    "key": "filter",
                    "text": "[[Filter]]"
                  },
                  {
                    "icon": "add.svg",
                    "key": "add",
                    "text": "[[Add]]"
                  }
                ],
                "columns": [
                  {
                    "align": "center",
                    "bindText": "id",
                    "header": "[[Id]]",
                    "key": "id"
                  },
                  {
                    "align": "left",
                    "bindText": "name",
                    "header": "[[Name]]",
                    "key": "name"
                  },
                  {
                    "align": "left",
                    "bindText": "description",
                    "header": "[[Description]]",
                    "key": "description"
                  },
                  {
                    "align": "left",
                    "bindText": "geoInfo",
                    "header": "[[GeoInfo]]",
                    "key": "geoInfo"
                  },
                  {
                    "align": "center",
                    "header": "[[Status]]",
                    "key": "status"
                  }
                ],
                "cssClass": "blz-area-default",
                "icon": "world.svg",
                "name": "regionsGrid",
                "pageSize": 10,
                "recordActions": [
                  {
                    "icon": "edit.svg",
                    "key": "edit",
                    "text": "[[Edit]]"
                  },
                  {
                    "icon": "remove.svg",
                    "key": "remove",
                    "text": "[[Remove]]"
                  },
                  {
                    "icon": "world.svg",
                    "key": "subRegions",
                    "text": "[[SubRegions]]"
                  }
                ],
                "title": "[[Regions]]",
                "typeName": "ExtPresales.Region",
                "widget": "Grid",
                "withPaging": true
              }
            ],
            "layout": "fit",
            "name": "fitRegionList"
          },
          {
            "children": [
              {
                "actions": [],
                "collapsible": true,
                "columns": [
                  {
                    "align": "left",
                    "bindText": "name",
                    "header": "[[Name]]",
                    "key": "name"
                  },
                  {
                    "align": "left",
                    "bindText": "description",
                    "header": "[[Description]]",
                    "key": "description"
                  },
                  {
                    "align": "left",
                    "bindText": "geoInfo",
                    "header": "[[GeoInfo]]",
                    "key": "geoInfo"
                  },
                  {
                    "align": "center",
                    "bindText": "status",
                    "header": "[[Status]]",
                    "key": "status"
                  }
                ],
                "cssClass": "blz-area-default",
                "icon": "world.svg",
                "name": "regionTree",
                "recordActions": [
                  {
                    "icon": "ic-view.svg",
                    "key": "view",
                    "text": "[[View]]"
                  },
                  {
                    "icon": "edit.svg",
                    "key": "edit",
                    "text": "[[Edit]]"
                  },
                  {
                    "icon": "add.svg",
                    "key": "add",
                    "text": "[[Add]] [[Region]]"
                  },
                  {
                    "key": "deactivate",
                    "text": "[[Deactivate]]"
                  },
                  {
                    "key": "activate",
                    "text": "[[Activate]]"
                  }
                ],
                "title": "[[Regions]]",
                "widget": "TreeGrid"
              }
            ],
            "layout": "fit",
            "name": "fitRegionTree"
          }
        ],
        "cssClass": "blz-area-default blz-flow-designer blz-mini-canvas-panel blz-padding-top blz-padding-right blz-padding-left blz-padding-bottom blz-border-top blz-border-right blz-border-left blz-border-bottom blz-border-radius blz-cast-shadow",
        "layout": "responsive",
        "size": 12
      }
    ],
    "cssClass": "blz-padding-top-small blz-padding-right-large blz-padding-left-large blz-padding-bottom-small",
    "layout": "responsive"
  },
  "routing": {
    "path": "/ps-regions/{regionId}/regions"
  },
  "unused": []
}