{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "channelTitle"
          },
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "channelRepeater"
          },
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "channelOptions"
          },
          {
            "command": "Refresh",
            "widgetName": "channelGrid"
          },
          {
            "command": "Refresh",
            "widgetName": "channelRepeater"
          },
          {
            "command": "Show",
            "widgetName": "channelContainer"
          },
          {
            "command": "Hide",
            "widgetName": "fitChannelGrid"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "main_init"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"ic-circle-outline.svg\"",
            "expressionStartModel": "{}",
            "expressionTitle": "\"[[AddChannel]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpCbChannelEditor"
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "refresh()"
              },
              {
                "command": "CloseCurrent"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          },
          {
            "name": "channel",
            "type": "ExtCommonBusiness.Channel"
          }
        ]
      },
      "name": "btnAdd_click"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadChannels(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "channelGrid_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "channel",
            "widgetName": "channelGrid"
          },
          {
            "command": "Execute",
            "expression": "editChannel(^channel)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "channel",
            "type": "ExtCommonBusiness.Channel"
          }
        ]
      },
      "name": "channelGrid_handlerRecordAction_editChannel"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "channel",
            "widgetName": "channelGrid"
          },
          {
            "command": "Execute",
            "expression": "removeChannel(^channel)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "channel",
            "type": "ExtCommonBusiness.Channel"
          }
        ]
      },
      "name": "channelGrid_handlerRecordAction_deleteChannel"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadChannels(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "channelRepeater_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Show",
            "widgetName": "channelContainer"
          },
          {
            "command": "Hide",
            "widgetName": "fitChannelGrid"
          },
          {
            "command": "Refresh",
            "widgetName": "channelRepeater"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "channelOptions_handlerRecordAction_cards"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"list\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Show",
            "widgetName": "fitChannelGrid"
          },
          {
            "command": "Hide",
            "widgetName": "channelContainer"
          },
          {
            "command": "Refresh",
            "widgetName": "channelGrid"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "channelOptions_handlerRecordAction_list"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "Execute",
            "expression": "refresh()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "channelOptions_handlerRecordAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "channel",
            "widgetName": "channelRepeater"
          },
          {
            "command": "Execute",
            "expression": "removeChannel(^channel)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "channel",
            "type": "ExtCommonBusiness.Channel"
          }
        ]
      },
      "name": "channelRepeater_handlerRecordAction_delete"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "channel",
            "widgetName": "channelRepeater"
          },
          {
            "command": "Execute",
            "expression": "editChannel(^channel)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "channel",
            "type": "ExtCommonBusiness.Channel"
          }
        ]
      },
      "name": "channelRepeater_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "presentationType",
            "variableName": "presentationType"
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "channelContainer"
              },
              {
                "command": "Hide",
                "widgetName": "fitChannelGrid"
              },
              {
                "command": "Refresh",
                "widgetName": "channelRepeater"
              }
            ],
            "command": "If",
            "expression": "^presentationType == \"cards\""
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "fitChannelGrid"
              },
              {
                "command": "Hide",
                "widgetName": "channelContainer"
              },
              {
                "command": "Refresh",
                "widgetName": "channelGrid"
              }
            ],
            "command": "Else"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "channel",
            "type": "ExtCommonBusiness.Channel"
          }
        ],
        "statements": [
          {
            "command": "ConfirmMessage",
            "expressionMessage": "\"[[ConfirmDeleteChannel]]\"",
            "expressionTitle": "\"[[DeleteChannel]]\""
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "ExtCommonBusiness.DeleteChannel(^channel.id)"
              },
              {
                "command": "Execute",
                "expression": "refresh()"
              }
            ],
            "command": "OnYes"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "removeChannel"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "channel",
            "type": "ExtCommonBusiness.Channel"
          }
        ],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"ic-circle-outline.svg\"",
            "expressionStartModel": "{channel:^channel}",
            "expressionTitle": "\"[[EditChannel]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpCbChannelEditor"
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "refresh()"
              },
              {
                "command": "CloseCurrent"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "editChannel"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "{}",
            "variableName": "argsListChannel"
          },
          {
            "command": "GetValue",
            "variableName": "argsListChannel.name",
            "widgetName": "txtFilter"
          },
          {
            "command": "Set",
            "expression": "Nvl(^args.limit,20)",
            "variableName": "argsListChannel.limit"
          },
          {
            "command": "Set",
            "expression": "Nvl(^args.offset,0)",
            "variableName": "argsListChannel.offset"
          },
          {
            "command": "Return",
            "expression": "ExtCommonBusiness.ListChannels(^argsListChannel)"
          }
        ],
        "typeReturn": "list(ExtCommonBusiness.Channel)",
        "variables": [
          {
            "name": "argsListChannel",
            "type": "ExtCommonBusiness.ArgsListChannels"
          }
        ]
      },
      "name": "loadChannels"
    }
  ],
  "model": [
    {
      "name": "presentationType",
      "required": false,
      "type": "string"
    }
  ],
  "root": {
    "children": [
      {
        "children": [
          {
            "children": [
              {
                "children": [
                  {
                    "cssClass": "blz-padding-top-large",
                    "height": 100,
                    "htmlTemplate": "<div>\n  \n</div>",
                    "icon": "ic-circle-outline.svg",
                    "name": "channelTitle",
                    "title": "[[Channels]]",
                    "widget": "HtmlRenderer"
                  }
                ],
                "cssClass": "blz-area-default",
                "layout": "responsive"
              }
            ],
            "cssClass": "blz-area-default",
            "layout": "responsive",
            "size": 11
          },
          {
            "children": [
              {
                "children": [
                  {
                    "icon": "add.svg",
                    "name": "btnAdd",
                    "text": " [[Add]]",
                    "widget": "Button"
                  }
                ],
                "cssClass": "blz-padding-left-large",
                "height": 100,
                "layout": "form"
              }
            ],
            "cssClass": "blz-area-default",
            "layout": "responsive",
            "size": 1
          }
        ],
        "cssClass": "blz-area-default blz-padding-top blz-padding-bottom-small blz-border-top blz-border-right blz-border-left blz-border-bottom blz-border-radius blz-cast-shadow",
        "layout": "responsive"
      },
      {
        "children": [
          {
            "children": [
              {
                "actions": [],
                "cssClass": "blz-area-default",
                "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  <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": "channelOptions",
                "recordActions": [
                  {
                    "key": "cards"
                  },
                  {
                    "key": "list"
                  },
                  {
                    "key": "refresh"
                  }
                ],
                "widget": "HtmlRenderer"
              }
            ],
            "cssClass": "blz-area-default",
            "layout": "responsive"
          },
          {
            "children": [
              {
                "children": [
                  {
                    "children": [
                      {
                        "binding": "filter",
                        "label": "[[Name]]",
                        "name": "txtFilter",
                        "widget": "TextBox"
                      },
                      {
                        "name": "btnFilter",
                        "text": "[[Search]]",
                        "widget": "Button"
                      }
                    ],
                    "cssClass": "blz-area-default",
                    "layout": "form"
                  }
                ],
                "layout": "responsive"
              }
            ],
            "cssClass": "blz-area-default",
            "layout": "responsive"
          },
          {
            "children": [
              {
                "cssClass": "blz-area-default",
                "htmlTemplate": "<div class=\"blz-padding-large\" style=\"display:inline-block\">\n<div class=\"blz-border-radius blz-padding-large blz-hover-default\" style=\"width:360px;box-shadow: 0px 0px 5px #00000094;\">\n<div>  \n  <div style=\"display:flex;width:100%;\">\n    <section style=\"width:50px !important; height:50px !important\">[Icon:target.svg]</section>\n    <div class=\"blz-margin-left blz-text-default blz-bold\" style=\"width:100%; font-size:16px\">{{name}}\n    <div class=\"blz-padding-top-small blz-margin-left-small\" style=\"display:flex; font-size:14px;font-weight: normal;\">\n        <div class=\"blz-margin-left-big\">Code:</div>\n        <div class=\"blz-margin-left-small\">{{code}}</div>\n      </div></div>\n    \n     <section class=\"blz-cards-header-dots\" onclick=\"[MultipleRecordAction:edit,delete]\" style=\"width:20px !important; height:20px !important;\">[Icon:dots-menu.svg]</section>\n  </div>\n        \n  <div class=\"blz-color-disabled blz-padding-top-small\"><hr/></div>\n  <div class=\"blz-text-small\" style=\"display:flex;justify-content:space-between;width:100%\">\n    <div>\n\n      <div class=\"blz-padding-top\" style=\"display:flex; font-size:14px;\">\n        <div class=\"blz-margin-left-small\">Status:</div>\n        <div class=\"blz-margin-left-small blz-bold\"></div>\n      </div>\n      \n    </div>\n  </div>\n</div>\n</div>\n</div>",
                "name": "channelRepeater",
                "pageSize": 20,
                "recordActions": [
                  {
                    "icon": "edit.svg",
                    "key": "edit",
                    "text": "[[Edit]]"
                  },
                  {
                    "icon": "remove.svg",
                    "key": "delete",
                    "text": "[[Delete]]"
                  }
                ],
                "widget": "HtmlRepeater"
              }
            ],
            "layout": "fit",
            "name": "channelContainer"
          },
          {
            "children": [
              {
                "columns": [
                  {
                    "align": "left",
                    "bindText": "name",
                    "header": "[[Name]]"
                  },
                  {
                    "align": "left",
                    "bindText": "code",
                    "header": "[[Code]]"
                  },
                  {
                    "align": "left",
                    "header": "[[Status]]"
                  }
                ],
                "name": "channelGrid",
                "pageSize": 20,
                "recordActions": [
                  {
                    "contextMenu": true,
                    "icon": "edit.svg",
                    "key": "editChannel",
                    "text": "[[Edit]]"
                  },
                  {
                    "contextMenu": true,
                    "icon": "remove.svg",
                    "key": "deleteChannel",
                    "text": "[[Delete]]"
                  }
                ],
                "typeName": "ExtCommonBusiness.Channel",
                "widget": "Grid"
              }
            ],
            "layout": "fit",
            "name": "fitChannelGrid"
          }
        ],
        "cssClass": "blz-area-default blz-padding-top blz-padding-bottom-small blz-border-top blz-border-right blz-border-left blz-border-bottom blz-border-radius blz-cast-shadow",
        "layout": "responsive"
      }
    ],
    "layout": "responsive"
  },
  "routing": {
    "path": "/cb-channels"
  },
  "unused": []
}