{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "languagesTitle"
          },
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "languagesRepeater"
          },
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "languagesOptions"
          },
          {
            "command": "Refresh",
            "widgetName": "languageGrid"
          },
          {
            "command": "Refresh",
            "widgetName": "languagesRepeater"
          },
          {
            "command": "Show",
            "widgetName": "fitLanguageReapeter"
          },
          {
            "command": "Hide",
            "widgetName": "fitLanguageGrid"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "main_init"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"ic-circle-outline.svg\"",
            "expressionStartModel": "{}",
            "expressionTitle": "\"[[AddLanguage]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpCbLanguageEditor"
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "refresh()"
              },
              {
                "command": "CloseCurrent"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "btnAdd_click"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadLanguages()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "languageGrid_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "language",
            "widgetName": "languageGrid"
          },
          {
            "command": "Execute",
            "expression": "editLanguage(^language)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "language",
            "type": "ExtCommonBusiness.Language"
          }
        ]
      },
      "name": "languageGrid_handlerRecordAction_editLanguage"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "language",
            "widgetName": "languageGrid"
          },
          {
            "command": "Execute",
            "expression": "removeLanguage(^language)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "language",
            "type": "ExtCommonBusiness.Language"
          }
        ]
      },
      "name": "languageGrid_handlerRecordAction_deleteLanguage"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadLanguages()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "languagesRepeater_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Show",
            "widgetName": "fitLanguageReapeter"
          },
          {
            "command": "Hide",
            "widgetName": "fitLanguageGrid"
          },
          {
            "command": "Refresh",
            "widgetName": "languagesRepeater"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "languagesOptions_handlerRecordAction_cards"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"list\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Show",
            "widgetName": "fitLanguageGrid"
          },
          {
            "command": "Hide",
            "widgetName": "fitLanguageReapeter"
          },
          {
            "command": "Refresh",
            "widgetName": "languageGrid"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "languagesOptions_handlerRecordAction_list"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "Execute",
            "expression": "refresh()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "languagesOptions_handlerRecordAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "language",
            "widgetName": "languagesRepeater"
          },
          {
            "command": "Execute",
            "expression": "removeLanguage(^language)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "language",
            "type": "ExtCommonBusiness.Language"
          }
        ]
      },
      "name": "languagesRepeater_handlerRecordAction_delete"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "language",
            "widgetName": "languagesRepeater"
          },
          {
            "command": "Execute",
            "expression": "editLanguage(^language)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "language",
            "type": "ExtCommonBusiness.Language"
          }
        ]
      },
      "name": "languagesRepeater_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "language",
            "type": "ExtCommonBusiness.Language"
          }
        ],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"ic-circle-outline.svg\"",
            "expressionStartModel": "{language: ^language}",
            "expressionTitle": "\"[[EditLanguage]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpCbLanguageEditor"
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "refresh()"
              },
              {
                "command": "CloseCurrent"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "editLanguage"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "language",
            "type": "ExtCommonBusiness.Language"
          }
        ],
        "statements": [
          {
            "command": "ConfirmMessage",
            "expressionMessage": "\"[[ConfirmDeleteLanguage]]\"",
            "expressionTitle": "\"[[DeleteLanguage]]\""
          },
          {
            "children": [
              {
                "command": "Execute",
                "expression": "ExtCommonBusiness.DeleteLanguage(^language.id)"
              },
              {
                "command": "Execute",
                "expression": "refresh()"
              }
            ],
            "command": "OnYes"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "removeLanguage"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "{}",
            "variableName": "argsListLanguage"
          },
          {
            "command": "GetValue",
            "variableName": "argsListLanguage.name",
            "widgetName": "txtFilter"
          },
          {
            "command": "Set",
            "expression": "Nvl(^args.limit,20)",
            "variableName": "argsListLanguage.limit"
          },
          {
            "command": "Set",
            "expression": "Nvl(^args.offset,0)",
            "variableName": "argsListLanguage.offset"
          },
          {
            "command": "Return",
            "expression": "ExtCommonBusiness.ListLanguages(^argsListLanguage)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "argsListLanguage",
            "type": "ExtCommonBusiness.ArgsListLanguages"
          }
        ]
      },
      "name": "loadLanguages"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "presentationType",
            "variableName": "presentationType"
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "fitLanguageReapeter"
              },
              {
                "command": "Hide",
                "widgetName": "fitLanguageGrid"
              },
              {
                "command": "Refresh",
                "widgetName": "languagesRepeater"
              }
            ],
            "command": "If",
            "expression": "^presentationType == \"cards\""
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "fitLanguageGrid"
              },
              {
                "command": "Hide",
                "widgetName": "fitLanguageReapeter"
              },
              {
                "command": "Refresh",
                "widgetName": "languageGrid"
              }
            ],
            "command": "Else"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "refresh"
    }
  ],
  "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": "Send.svg",
                    "name": "languagesTitle",
                    "title": "[[Languages]]",
                    "widget": "HtmlRenderer"
                  }
                ],
                "layout": "responsive"
              }
            ],
            "layout": "responsive",
            "size": 11
          },
          {
            "children": [
              {
                "children": [
                  {
                    "icon": "add.svg",
                    "name": "btnAdd",
                    "text": " [[Add]]",
                    "widget": "Button"
                  }
                ],
                "cssClass": "blz-padding-left-large",
                "height": 100,
                "layout": "form"
              }
            ],
            "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": "languagesOptions",
                "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": [
              {
                "columns": [
                  {
                    "align": "left",
                    "bindText": "name",
                    "header": "[[Name]]"
                  },
                  {
                    "align": "left",
                    "bindText": "code",
                    "header": "[[Code]]"
                  },
                  {
                    "align": "left",
                    "header": "[[Status]]"
                  }
                ],
                "name": "languageGrid",
                "pageSize": 20,
                "recordActions": [
                  {
                    "contextMenu": true,
                    "icon": "edit.svg",
                    "key": "editLanguage",
                    "text": "[[Edit]]"
                  },
                  {
                    "contextMenu": true,
                    "icon": "remove.svg",
                    "key": "deleteLanguage",
                    "text": "[[Delete]]"
                  }
                ],
                "typeName": "ExtCommonBusiness.Language",
                "widget": "Grid"
              }
            ],
            "layout": "fit",
            "name": "fitLanguageGrid"
          },
          {
            "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:language.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": "languagesRepeater",
                "pageSize": 20,
                "recordActions": [
                  {
                    "icon": "edit.svg",
                    "key": "edit",
                    "text": "[[Edit]]"
                  },
                  {
                    "icon": "remove.svg",
                    "key": "delete",
                    "text": "[[Delete]]"
                  }
                ],
                "typeName": "ExtCommonBusiness.Language",
                "widget": "HtmlRepeater"
              }
            ],
            "layout": "fit",
            "name": "fitLanguageReapeter"
          }
        ],
        "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-languages"
  },
  "unused": []
}