{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "setVisibility()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "main_init"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"add.svg\"",
            "expressionStartModel": "{}",
            "expressionTitle": "\"[[AddProcessType]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPlProcessEditor"
          },
          {
            "children": [
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refresh()"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "headerContainer_handlerAction_add"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadProcesses(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "processRepeater_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadProcesses(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "processGrid_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"cardsView\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "setVisibility()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "processContainer_handlerAction_cardsView"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"listView\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "setVisibility()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "processContainer_handlerAction_listView"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Execute",
            "expression": "refresh()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "processContainer_handlerAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordData",
            "type": "any"
          }
        ],
        "statements": [
          {
            "children": [
              {
                "command": "Return",
                "expression": "{text:\"<img src='./icons/remove.svg' height='16'>\"}"
              }
            ],
            "command": "If",
            "expression": "IsNull(^recordData.disabled) || (IsNotNull(^recordData.disabled) && ^recordData.disabled == \"1\")"
          },
          {
            "command": "Return",
            "expression": "{text:\"<img src='./icons/check.svg' height='16'>\"}"
          }
        ],
        "typeReturn": "obj(icon:string, text:string)",
        "variables": []
      },
      "name": "processGrid_renderColumn_enabled"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processGrid"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"edit.svg\"",
            "expressionStartModel": "{process:^process}",
            "expressionTitle": "\"[[EditTypeProcess]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPlProcessEditor"
          },
          {
            "children": [
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refresh()"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          },
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "processGrid_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processRepeater"
          },
          {
            "buttons": "ok-cancel",
            "command": "Open",
            "expressionIcon": "\"edit.svg\"",
            "expressionStartModel": "{process:^process}",
            "expressionTitle": "\"[[EditTypeProcess]]\"",
            "mode": "right-drawer",
            "size": "default",
            "uiComponentName": "CmpPlProcessEditor"
          },
          {
            "children": [
              {
                "command": "CloseCurrent"
              },
              {
                "command": "Execute",
                "expression": "refresh()"
              }
            ],
            "command": "OnOk",
            "variableNameOpenedModel": "openedModel"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          },
          {
            "name": "openedModel",
            "type": "any"
          }
        ]
      },
      "name": "processRepeater_handlerRecordAction_edit"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processRepeater"
          },
          {
            "command": "Execute",
            "expression": "removeProcess(^process)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ]
      },
      "name": "processRepeater_handlerRecordAction_remove"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processGrid"
          },
          {
            "command": "Execute",
            "expression": "removeProcess(^process)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ]
      },
      "name": "processGrid_handlerRecordAction_remove"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processRepeater"
          },
          {
            "command": "Execute",
            "expression": "showDetail(^process)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ]
      },
      "name": "processRepeater_handlerRecordAction_view"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processGrid"
          },
          {
            "command": "Execute",
            "expression": "showDetail(^process)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ]
      },
      "name": "processGrid_handlerRecordAction_view"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processRepeater"
          },
          {
            "command": "Execute",
            "expression": "setEnabled(^process)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ]
      },
      "name": "processRepeater_handlerRecordAction_enabled"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "process",
            "widgetName": "processGrid"
          },
          {
            "command": "Execute",
            "expression": "setEnabled(^process)"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ]
      },
      "name": "processGrid_handlerRecordAction_Enabled"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "ProcessBff.ListRspdProcess({limit:^args.limit, offset:^args.offset})",
            "variableName": "listProcesses"
          },
          {
            "command": "Set",
            "expression": "Sort(^listProcesses, [positionId])",
            "variableName": "listProcesses"
          },
          {
            "command": "Return",
            "expression": "^listProcesses"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "listProcesses",
            "type": "list(ProcessBff.RspdProcess)"
          }
        ]
      },
      "name": "loadProcesses"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "presentationType",
            "variableName": "presentationType"
          },
          {
            "children": [
              {
                "command": "WriteModel",
                "expression": "\"cardsView\"",
                "modelVariableName": "presentationType"
              },
              {
                "command": "Set",
                "expression": "\"cardsView\"",
                "variableName": "presentationType"
              }
            ],
            "command": "If",
            "expression": "IsNull(^presentationType)"
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "processRepeater"
              },
              {
                "command": "Hide",
                "widgetName": "processGrid"
              }
            ],
            "command": "If",
            "expression": "^presentationType == \"cardsView\""
          },
          {
            "children": [
              {
                "command": "Show",
                "widgetName": "processGrid"
              },
              {
                "command": "Hide",
                "widgetName": "processRepeater"
              }
            ],
            "command": "Else"
          },
          {
            "command": "Execute",
            "expression": "refresh()"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "setVisibility"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "presentationType",
            "variableName": "presentationType"
          },
          {
            "children": [
              {
                "command": "Refresh",
                "widgetName": "processRepeater"
              }
            ],
            "command": "If",
            "expression": "^presentationType == \"cardsView\""
          },
          {
            "children": [
              {
                "command": "Refresh",
                "widgetName": "processGrid"
              }
            ],
            "command": "Else"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "ProcessBff.ListRspdProcessItems({processId:^process.processId})",
            "variableName": "listProcessItem"
          },
          {
            "command": "ConfirmMessage",
            "expressionMessage": "\"[[RemoveProcessMsg]]\"",
            "expressionTitle": "\"[[RemoveProcessTitle]]\""
          },
          {
            "children": [
              {
                "children": [
                  {
                    "command": "Execute",
                    "expression": "ProcessBff.DeleteRspdProcessItem(^processItem.processItemId)"
                  }
                ],
                "command": "ForEach",
                "expressionList": "listProcessItem",
                "variableNameItem": "processItem"
              },
              {
                "command": "Execute",
                "expression": "ProcessBff.DeleteRspdProcess(^process.processId)"
              },
              {
                "command": "Execute",
                "expression": "refresh()"
              }
            ],
            "command": "OnYes"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "listProcessItem",
            "type": "list(ProcessBff.RspdProcessItem)"
          },
          {
            "name": "processItem",
            "type": "ProcessBff.RspdProcessItem"
          }
        ]
      },
      "name": "removeProcess"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ],
        "statements": [
          {
            "buttons": "none",
            "command": "Open",
            "expressionIcon": "\"funnel.svg\"",
            "expressionStartModel": "{process:^process}",
            "expressionTitle": "\"[[SalesFunnelProcessDetail]]\"",
            "mode": "window",
            "size": "default",
            "uiComponentName": "CmpPlProcessDetail"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "showDetail"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "process",
            "type": "ProcessBff.RspdProcess"
          }
        ],
        "statements": [
          {
            "children": [
              {
                "command": "Set",
                "expression": "\"0\"",
                "variableName": "process.disabled"
              }
            ],
            "command": "If",
            "expression": "^process.disabled == \"1\""
          },
          {
            "children": [
              {
                "command": "Set",
                "expression": "\"1\"",
                "variableName": "process.disabled"
              }
            ],
            "command": "Else"
          },
          {
            "command": "Execute",
            "expression": "ProcessBff.UpdateRspdProcess(^process)"
          },
          {
            "command": "Execute",
            "expression": "refresh()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "setEnabled"
    }
  ],
  "model": [
    {
      "name": "presentationType",
      "required": false,
      "type": "string"
    }
  ],
  "root": {
    "children": [
      {
        "children": [
          {
            "actions": [
              {
                "icon": "add.svg",
                "key": "add",
                "text": "[[Add]]"
              }
            ],
            "cssClass": "blz-area-default animated fadeIn faster",
            "icon": "funnel.svg",
            "name": "headerContainer",
            "title": "[[TypeSalesFunnelProcesses]]",
            "widget": "HtmlRenderer"
          }
        ],
        "cssClass": "blz-padding-top-large blz-padding-right-large blz-padding-left-large blz-padding-bottom-large blz-border-radius",
        "layout": "fit"
      },
      {
        "actions": [
          {
            "icon": "grid-two-up.svg",
            "key": "cardsView"
          },
          {
            "icon": "list.svg",
            "key": "listView"
          },
          {
            "icon": "reload.svg",
            "key": "refresh"
          }
        ],
        "children": [
          {
            "actions": [],
            "cssClass": "blz-area-default content-center",
            "htmlTemplate": "<article class=\"blz-process-rpt\">\n    <section class=\"blz-responsive-col-12 blz-flex-row\">\n        <section class=\"blz-responsive-col-12 blz-flex-row\">\n            <img src=\"./icons/funnel.svg\">\n            <section class=\"blz-flex-column\">\n                <span>{{name}}</span>\n                <section>\n                    <span>[[Code]]:</span>\n                    <span>{{code}}</span>\n                </section>\n            </section>\n            <header style=\"width:18px; cursor:pointer; padding-top:10px !important;\"\n                onclick=\"[MultipleRecordAction:edit,remove,enabled,configure,view]\">[Icon:dots-menu.svg]</header>\n        </section>\n        <section class=\"blz-responsive-col-12 blz-flex-right sd-margin-top-large blz-text-large\">\n            <span>[[Position]]:</span>\n            <span class=\"sd-margin-right-large blz-text-large\">{{positionId}}</span>\n        </section>\n    </section>\n    <section class=\"blz-responsive-col-12 blz-flex-row\">\n        <section class=\"blz-responsive-col-5 blz-flex-column sd-margin-top-large sd-margin-left-large\">\n            <span>[[Enabled]]:</span>\n            <span>[[LastUpdate]]:</span>\n            <span>[[UserLastUpdate]]:</span>\n        </section>\n        <section class=\"blz-responsive-col-6 blz-flex-column sd-margin-top-large sd-margin-left-small\">\n            <img src=\"./icons/{{#compare disabled '0'}}check.svg{{else}}remove.svg{{/compare}}\">\n            <span>{{format lastUpdate 'DateTime'}}</span>\n            <span>{{userLastUpdate}}</span>\n        </section>\n    </section>\n    <section class=\"blz-responsive-col-12 blz-flex-right sd-margin-right-small\">\n        <footer style=\"width:18px; cursor:pointer; padding-top:10px !important;\"\n            onclick=\"[RecordAction:view]\">[Icon:eye.svg]</footer>\n    </section>\n</article>",
            "name": "processRepeater",
            "pageSize": 10,
            "recordActions": [
              {
                "icon": "edit.svg",
                "key": "edit",
                "text": "[[Edit]]"
              },
              {
                "icon": "remove.svg",
                "key": "remove",
                "text": "[[Remove]]"
              },
              {
                "icon": "cog.svg",
                "key": "configure",
                "text": "[[Configure]]"
              },
              {
                "icon": "check.svg",
                "key": "enabled",
                "text": "[[Enabled]]"
              },
              {
                "icon": "eye.svg",
                "key": "view",
                "text": "[[View]]"
              }
            ],
            "widget": "HtmlRepeater",
            "withPaging": true
          },
          {
            "columns": [
              {
                "align": "left",
                "bindText": "code",
                "header": "[[Code]]",
                "key": "code"
              },
              {
                "align": "left",
                "bindText": "name",
                "header": "[[Name]]",
                "key": "name"
              },
              {
                "align": "left",
                "bindText": "positionId",
                "header": "[[Position]]",
                "key": "position"
              },
              {
                "align": "left",
                "bindText": "disabled",
                "header": "[[Enabled]]",
                "key": "enabled"
              },
              {
                "align": "left",
                "bindText": "lastUpdate",
                "format": "DateTime",
                "header": "[[LastUpdate]]",
                "key": "lastUpdate"
              },
              {
                "align": "left",
                "bindText": "userLastUpdate",
                "header": "[[UserLastUpdate]]",
                "key": "userLastUpdate"
              }
            ],
            "cssClass": "blz-area-default blz-toolbar-white",
            "name": "processGrid",
            "pageSize": 10,
            "recordActions": [
              {
                "contextMenu": true,
                "icon": "edit.svg",
                "key": "edit",
                "text": "[[Edit]]"
              },
              {
                "contextMenu": true,
                "icon": "remove.svg",
                "key": "remove",
                "text": "[[Remove]]"
              },
              {
                "contextMenu": true,
                "icon": "cog.svg",
                "key": "configure",
                "text": "[[Configure]]"
              },
              {
                "contextMenu": true,
                "icon": "check.svg",
                "key": "Enabled",
                "text": "[[Enabled]]"
              },
              {
                "contextMenu": true,
                "icon": "eye.svg",
                "key": "view",
                "text": "[[View]]"
              }
            ],
            "typeName": "ProcessBff.RspdProcess",
            "widget": "Grid",
            "withPaging": true
          }
        ],
        "cssClass": "blz-toolbar-white blz-padding-top-large blz-padding-right-large blz-padding-left-large blz-padding-bottom-large",
        "layout": "responsive",
        "name": "processContainer"
      }
    ],
    "layout": "responsive"
  },
  "routing": {
    "path": "pl-process/"
  },
  "unused": []
}