{
  "eventsAndFunctions": [
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "SetValue",
            "expression": "{}",
            "widgetName": "planOptions"
          },
          {
            "command": "WriteModel",
            "expression": "\"cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "refreshPlan()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "main_init"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "plan",
            "widgetName": "planCards"
          },
          {
            "command": "WriteModel",
            "expression": "^plan.id",
            "modelVariableName": "planId"
          },
          {
            "command": "SendDataToParent",
            "expressionData": "{ planId: ^plan.id}"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "plan",
            "type": "ExtStrategicPlanMng.SimplePlan"
          }
        ]
      },
      "name": "planCards_selectRecord"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "ReadRecord",
            "expressionRecordRef": "^recordRef",
            "variableName": "plan",
            "widgetName": "planGrid"
          },
          {
            "command": "WriteModel",
            "expression": "^plan.id",
            "modelVariableName": "planId"
          },
          {
            "command": "SendDataToParent",
            "expressionData": "{ planId: ^plan.id}"
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "plan",
            "type": "ExtStrategicPlanMng.SimplePlan"
          }
        ]
      },
      "name": "planGrid_selectRecord"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadPlan(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "planCards_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "loadPlan(^args)"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "planGrid_loadRecords"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"cards\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "refreshPlan()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "planOptions_handlerRecordAction_cards"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "Execute",
            "expression": "refreshPlan()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "planOptions_handlerRecordAction_refresh"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "recordRef",
            "type": "string"
          },
          {
            "name": "arg",
            "type": "string"
          }
        ],
        "statements": [
          {
            "command": "WriteModel",
            "expression": "\"list\"",
            "modelVariableName": "presentationType"
          },
          {
            "command": "Execute",
            "expression": "refreshPlan()"
          }
        ],
        "typeReturn": "any",
        "variables": []
      },
      "name": "planOptions_handlerRecordAction_list"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "currentFilters",
            "type": "list(Filter)"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "filters()"
          }
        ],
        "typeReturn": "list(FilterConfig)",
        "variables": [
          {
            "name": "filter",
            "type": "FilterConfig"
          },
          {
            "name": "list",
            "type": "list(FilterConfig)"
          }
        ]
      },
      "name": "planGrid_updateFilterConfigs"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "currentFilters",
            "type": "list(Filter)"
          }
        ],
        "statements": [
          {
            "command": "Return",
            "expression": "filters()"
          }
        ],
        "typeReturn": "list(FilterConfig)",
        "variables": [
          {
            "name": "filter",
            "type": "FilterConfig"
          },
          {
            "name": "list",
            "type": "list(FilterConfig)"
          }
        ]
      },
      "name": "planCards_updateFilterConfigs"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "ReadModel",
            "modelVariableName": "presentationType",
            "variableName": "presentationType"
          },
          {
            "command": "Switch",
            "expression": "^presentationType"
          },
          {
            "children": [
              {
                "command": "Hide",
                "widgetName": "planCardsContainer"
              },
              {
                "command": "Refresh",
                "widgetName": "planGrid"
              },
              {
                "command": "Show",
                "widgetName": "planGridContainer"
              }
            ],
            "command": "Case",
            "expression": "\"list\""
          },
          {
            "children": [
              {
                "command": "Hide",
                "widgetName": "planGridContainer"
              },
              {
                "command": "Show",
                "widgetName": "planCardsContainer"
              },
              {
                "command": "Refresh",
                "widgetName": "planCards"
              }
            ],
            "command": "Case",
            "expression": "\"cards\""
          }
        ],
        "typeReturn": "any",
        "variables": [
          {
            "name": "presentationType",
            "type": "string"
          }
        ]
      },
      "name": "refreshPlan"
    },
    {
      "algorithm": {
        "parameters": [
          {
            "name": "args",
            "type": "ArgsLoadRecords"
          }
        ],
        "statements": [
          {
            "command": "Set",
            "expression": "{offset: ^args.offset, limit: ^args.limit}",
            "variableName": "argsList"
          },
          {
            "children": [
              {
                "children": [
                  {
                    "children": [
                      {
                        "command": "Set",
                        "expression": "^filter.value",
                        "variableName": "argsList.name"
                      }
                    ],
                    "command": "If",
                    "expression": "^filter.key == \"name\""
                  }
                ],
                "command": "ForEach",
                "expressionList": "^args.filters",
                "variableNameItem": "filter"
              }
            ],
            "command": "If",
            "expression": "IsNotNull(^args.filters)"
          },
          {
            "command": "Set",
            "expression": "ExtStrategicPlanMng.PlanList(^argsList)",
            "variableName": "list"
          },
          {
            "command": "Return",
            "expression": "^list"
          }
        ],
        "typeReturn": "list(ExtStrategicPlanMng.SimplePlan)",
        "variables": [
          {
            "name": "argsList",
            "type": "ExtStrategicPlanMng.ArgsPlanList"
          },
          {
            "name": "list",
            "type": "list(ExtStrategicPlanMng.SimplePlan)"
          },
          {
            "name": "filter",
            "type": "Filter"
          }
        ]
      },
      "name": "loadPlan"
    },
    {
      "algorithm": {
        "parameters": [],
        "statements": [
          {
            "command": "Set",
            "expression": "[]",
            "variableName": "list"
          },
          {
            "command": "Set",
            "expression": "{type: \"Text\", label:\"[[Name]]\", key: \"name\"}",
            "variableName": "filter"
          },
          {
            "command": "Push",
            "expressionItem": "^filter",
            "variableNameList": "list"
          },
          {
            "command": "Set",
            "expression": "[[\"Active\",\"[[Active]]\"],[\"Design\",\"[[Design]]\"]]",
            "variableName": "statuses"
          },
          {
            "command": "Set",
            "expression": "{type: \"Domain\", label:\"[[Status]]\", key: \"status\", dataSource: ^statuses, dataFormat: \"KeyValueList\"}",
            "variableName": "filter"
          },
          {
            "command": "Push",
            "expressionItem": "^filter",
            "variableNameList": "list"
          },
          {
            "command": "Set",
            "expression": "{type: \"Date\", label:\"[[FromDate]]\", key: \"fromDate\"}",
            "variableName": "filter"
          },
          {
            "command": "Push",
            "expressionItem": "^filter",
            "variableNameList": "list"
          },
          {
            "command": "Set",
            "expression": "{type: \"Date\", label:\"[[ToDate]]\", key: \"toDate\"}",
            "variableName": "filter"
          },
          {
            "command": "Push",
            "expressionItem": "^filter",
            "variableNameList": "list"
          },
          {
            "command": "Set",
            "expression": "{type: \"Date\", label:\"[[ActivateDate]]\", key: \"activateDate\"}",
            "variableName": "filter"
          },
          {
            "command": "Push",
            "expressionItem": "^filter",
            "variableNameList": "list"
          },
          {
            "command": "Set",
            "expression": "{type: \"Date\", label:\"[[CancelledDate]]\", key: \"cancelledDate\"}",
            "variableName": "filter"
          },
          {
            "command": "Push",
            "expressionItem": "^filter",
            "variableNameList": "list"
          },
          {
            "command": "Return",
            "expression": "^list"
          }
        ],
        "typeReturn": "list(FilterConfig)",
        "variables": [
          {
            "name": "filter",
            "type": "FilterConfig"
          },
          {
            "name": "list",
            "type": "list(FilterConfig)"
          },
          {
            "name": "statuses",
            "type": "any"
          }
        ]
      },
      "name": "filters"
    }
  ],
  "model": [
    {
      "name": "presentationType",
      "required": false,
      "type": "string"
    },
    {
      "name": "planId",
      "required": false,
      "type": "string"
    }
  ],
  "root": {
    "children": [
      {
        "children": [
          {
            "children": [
              {
                "children": [
                  {
                    "htmlTemplate": "<div style=\"display: inline-flex\">\n   <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      <span id=\"blz-button-10653-33-blz-btn-icon\" class=\"blz-btn-icon\">\n      <img src=\"./icons/cards.svg\" style=\"width: 16px;\"/>\n      </span>\n      <span id=\"blz-button-10653-33-blz-btn-text\" class=\"blz-btn-text\"></span>\n      <input type=\"text\" id=\"blz-button-10653-33-focus\" style=\"width: 1px; height: 1px;\">\n   </div>\n   <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      <span id=\"blz-button-10653-33-blz-btn-icon\" class=\"blz-btn-icon\">\n      [Icon:list.svg]\n      </span>\n      <span id=\"blz-button-10653-33-blz-btn-text\" class=\"blz-btn-text\"></span>\n      <input type=\"text\" id=\"blz-button-10653-33-focus\" style=\"width: 1px; height: 1px;\">\n   </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": "planOptions",
                    "recordActions": [
                      {
                        "key": "cards"
                      },
                      {
                        "key": "list"
                      },
                      {
                        "key": "refresh"
                      }
                    ],
                    "widget": "HtmlRenderer"
                  }
                ],
                "layout": "fit",
                "name": "planOptionsContainer"
              },
              {
                "children": [
                  {
                    "columns": [
                      {
                        "align": "left",
                        "bindText": "name",
                        "header": "[[Name]]",
                        "key": "name"
                      },
                      {
                        "align": "left",
                        "bindText": "description",
                        "header": "[[Description]]",
                        "key": "description",
                        "size": 2
                      },
                      {
                        "align": "left",
                        "header": "[[FromTo]]",
                        "key": "fromTo"
                      },
                      {
                        "align": "left",
                        "bindText": "status",
                        "header": "[[Status]]",
                        "key": "status"
                      },
                      {
                        "align": "left",
                        "bindText": "controlFrequency",
                        "header": "[[ControlFrequency]]",
                        "key": "controlFrequency"
                      },
                      {
                        "align": "left",
                        "bindText": "partialFrequency",
                        "header": "[[PartialFrequency]]",
                        "key": "partialFrequency"
                      }
                    ],
                    "name": "planGrid",
                    "pageSize": 10,
                    "recordActions": [],
                    "typeName": "ExtStrategicPlanMng.SimplePlan",
                    "widget": "Grid",
                    "withFiltering": true,
                    "withPaging": true
                  }
                ],
                "layout": "fit",
                "name": "planGridContainer"
              },
              {
                "children": [
                  {
                    "cssClass": "blz-cards-main",
                    "htmlTemplate": "<section class=\"blz-cards-brief\">\n    <article class=\"blz-cards-header\">\n        <section class=\"blz-cards-header-logo\">\n\t\t\t<img class=\"header-img\" src=\"./icons/plan.svg\"/>\n\t\t</section>\n        <section class=\"blz-cards-title\">\n            <article class=\"header-title\">\n                <span class=\"blz-text-title-md blz-text-bold blz-text-xlarge\">{{name}}</span>\n                <section>\n                    <span>[[{{status}}]]</span>                     \n                </section>\n            </article>\n         \n        </section>\n    </article>\n    <article class=\"blz-cards-middle\">\n        <section class=\"blz-area-information\">\n            <p class=\"blz-text-bold blz-text-large\"><span>{{description}}</span></p> \n        </section>\n    </article>\n    <article class=\"blz-cards-content blz-area-brief\">\n         <span>[[FromTo]]: {{dateFormat fromDate format=\"DD/MM/YYYY\"}} - {{dateFormat toDate format=\"DD/MM/YYYY\"}} </span>\n         <span>[[ControlFrequency]] : {{controlFrequency}}</span>\n         <span>[[PartialFrequency]] : {{partialFrequency}}</span>         \n    </article>\n</section>",
                    "name": "planCards",
                    "pageSize": 10,
                    "typeName": "ExtStrategicPlanMng.SimplePlan",
                    "widget": "HtmlRepeater",
                    "withFiltering": true,
                    "withPaging": true
                  }
                ],
                "layout": "fit",
                "name": "planCardsContainer"
              }
            ],
            "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"
          }
        ],
        "layout": "responsive"
      }
    ],
    "cssClass": "blz-padding-top blz-padding-right blz-padding-left blz-padding-bottom",
    "layout": "responsive"
  },
  "routing": {
    "path": "/sf-plan-report-select"
  },
  "unused": []
}