{ "custom": {}, "params": { "Tab_ID": 6, "Table": "Statistics" }, "propConfig": { "params.Tab_ID": { "binding": { "config": { "path": "/root/Statistics.props.currentTabIndex" }, "type": "property" }, "paramDirection": "output", "persistent": true }, "params.Table": { "binding": { "config": { "path": "/root/Statistics.meta.name" }, "type": "property" }, "paramDirection": "output", "persistent": true } }, "props": { "defaultSize": { "height": 930, "width": 1920 } }, "root": { "children": [ { "children": [ { "meta": { "name": "Sorter_Statistics" }, "propConfig": { "props.params.EndDate": { "binding": { "config": { "path": "parent.custom.endDate" }, "type": "property" } }, "props.params.StartDate": { "binding": { "config": { "path": "parent.custom.startDate" }, "type": "property" } } }, "props": { "page": 1, "pageCount": 1, "source": "Statistics/Shipping Sorter Statistics", "zoomLevel": 50 }, "type": "ia.reporting.report-viewer" }, { "meta": { "name": "Sorter_Summary" }, "position": { "tabIndex": 1 }, "propConfig": { "props.params.EndDate": { "binding": { "config": { "path": "parent.custom.endDate" }, "type": "property" } }, "props.params.StartDate": { "binding": { "config": { "path": "parent.custom.startDate" }, "type": "property" } } }, "props": { "page": 1, "pageCount": 1, "source": "Statistics/Shipping Sorter Statistics Com", "zoomLevel": 50 }, "type": "ia.reporting.report-viewer" }, { "meta": { "name": "Scan_Performance" }, "position": { "tabIndex": 2 }, "propConfig": { "props.params.EndDate": { "binding": { "config": { "path": "parent.custom.endDate" }, "type": "property" } }, "props.params.StartDate": { "binding": { "config": { "path": "parent.custom.startDate" }, "type": "property" } } }, "props": { "page": 1, "pageCount": 1, "source": "Statistics/Scanner Performance", "zoomLevel": 50 }, "type": "ia.reporting.report-viewer" }, { "meta": { "name": "Full_Recirc_Jackpot" }, "position": { "tabIndex": 3 }, "propConfig": { "props.params.EndDate": { "binding": { "config": { "path": "parent.custom.endDate" }, "type": "property" } }, "props.params.StartDate": { "binding": { "config": { "path": "parent.custom.startDate" }, "type": "property" } } }, "props": { "page": 1, "pageCount": 1, "source": "Statistics/Lane Full Recirc Jackpot", "zoomLevel": 50 }, "type": "ia.reporting.report-viewer" }, { "meta": { "name": "Total_Scans" }, "position": { "tabIndex": 4 }, "propConfig": { "props.params.EndDate": { "binding": { "config": { "path": "parent.custom.endDate" }, "type": "property" } }, "props.params.StartDate": { "binding": { "config": { "path": "parent.custom.startDate" }, "type": "property" } } }, "props": { "page": 1, "pageCount": 1, "source": "Statistics/Total Scans", "zoomLevel": 50 }, "type": "ia.reporting.report-viewer" }, { "meta": { "name": "Top_Jams" }, "position": { "tabIndex": 5 }, "propConfig": { "props.params.EndDate": { "binding": { "config": { "path": "parent.custom.endDate" }, "type": "property" } }, "props.params.StartDate": { "binding": { "config": { "path": "parent.custom.startDate" }, "type": "property" } } }, "props": { "page": 1, "pageCount": 1, "source": "Statistics/Top Jams", "zoomLevel": 50 }, "type": "ia.reporting.report-viewer" }, { "meta": { "name": "Divert_VS_Full" }, "position": { "tabIndex": 6 }, "propConfig": { "props.params.EndDate": { "binding": { "config": { "path": "parent.custom.endDate" }, "type": "property" } }, "props.params.StartDate": { "binding": { "config": { "path": "parent.custom.startDate" }, "type": "property" } } }, "props": { "page": 1, "pageCount": 1, "source": "Statistics/Lane Divert vs Full" }, "type": "ia.reporting.report-viewer" } ], "custom": { "endDate": { "$": [ "ts", 192, 1759323667144 ], "$ts": 1759241850000 }, "startDate": { "$": [ "ts", 192, 1759323667144 ], "$ts": 1759213050000 } }, "meta": { "name": "Statistics" }, "position": { "height": 0.96, "width": 1, "y": 0.04 }, "propConfig": { "props.tabs": { "persistent": true } }, "props": { "currentTabIndex": 6, "menuStyle": { "backgroundColor": "#FFFFFFBD", "fontSize": "1.0vmin", "overflowWrap": "break-word", "textAlign": "left" }, "style": { "fontFamily": "Arial", "width": "100%" }, "tabSize": { "width": 160 }, "tabStyle": { "active": { "flexBasis": 0, "flexGrow": 1, "fontSize": "1.0vmin" }, "disabled": { "fontSize": "1.0vmin" }, "inactive": { "flexBasis": 0, "flexGrow": 1, "fontSize": "1.0vmin" } }, "tabs": [ "Sorter Statistics", "Sorter Summary", "Scan Performance", "Full/Recirc/Jackpot", "Total Scans", "Top Jams", "Divert vs Full" ] }, "type": "ia.container.tab" }, { "children": [ { "meta": { "name": "LPeriod" }, "position": { "basis": "60px", "grow": 1 }, "props": { "style": { "color": "#FFFFFF" }, "text": "Period:" }, "type": "ia.display.label" }, { "meta": { "name": "Period" }, "position": { "basis": "140px", "grow": 1 }, "props": { "dropdownOptionStyle": { "fontSize": "1.5vmin", "overflow": "hidden", "width": "auto" }, "options": [ { "label": "Past 30 Min", "value": "Past 30 Min" }, { "label": "Past Hour", "value": "Past Hour" }, { "label": "Past 2 Hour", "value": "Past 2 Hour" }, { "label": "Past 4 Hour", "value": "Past 4 Hour" }, { "label": "Past 8 Hour", "value": "Past 8 Hour" }, { "label": "Current Day", "value": "Current Day" }, { "label": "Morning", "value": "Morning" }, { "label": "Daylight", "value": "Daylight" }, { "label": "Twilight", "value": "Twilight" }, { "label": "Night", "value": "Night" }, { "label": "Wrap Down", "value": "Wrap Down" }, { "label": "Current Sort", "value": "Current Sort" }, { "label": "Custom", "value": "Custom" } ], "style": { "fontSize": "1.5vmin" }, "value": "Past 8 Hour" }, "type": "ia.input.dropdown" }, { "meta": { "name": "Spare_0" }, "position": { "basis": "18.1px", "grow": 1 }, "type": "ia.display.label" }, { "meta": { "name": "Start Date" }, "position": { "basis": "85px", "grow": 1 }, "props": { "style": { "color": "#FFFFFF" }, "text": "Start Date:" }, "type": "ia.display.label" }, { "custom": { "Selected": { "$": [ "ts", 192, 1689168205405 ], "$ts": 1688473380000 } }, "events": { "component": { "onActionPerformed": { "config": { "script": "\t\n\tself.custom.Selected \u003d self.props.value" }, "scope": "G", "type": "script" } } }, "meta": { "name": "StartTime" }, "position": { "basis": "190px", "grow": 1 }, "propConfig": { "props.enabled": { "binding": { "config": { "expression": "{../Period.props.value} \u003d \"Custom\"" }, "type": "expr" } }, "props.maxDate": { "binding": { "config": { "expression": "now()" }, "type": "expr" } }, "props.startDate": { "binding": { "config": { "path": "../Period.props.value" }, "transforms": [ { "fallback": "todate(now())", "inputType": "expression", "mappings": [ { "input": "\"Past 30 Min\"", "output": "todate(dateFormat(dateArithmetic(now(),-30, \"Minute\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "\"Past Hour\"", "output": "todate(dateFormat(dateArithmetic(now(),-1, \"Hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "\"Past 2 Hour\"", "output": "todate(dateFormat(dateArithmetic(now(),-2, \"Hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "\"Past 4 Hour\"", "output": "todate(dateFormat(dateArithmetic(now(),-4, \"Hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "\"Past 8 Hour\"", "output": "todate(dateFormat(dateArithmetic(now(),-8, \"Hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "\"Current Day\"", "output": "todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 00:00:00\"))" }, { "input": "\"Morning\"", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"2:30:00\",\r dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 2:30:00\"),todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 2:30:00\")))" }, { "input": "\"Daylight\"", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"7:30:00\", todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 7:30:00\")),todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 7:30:00\")))" }, { "input": "\"Twilight\"", "output": "if (dateFormat(dateArithmetic(now(),0, \"Hours\"), \"HH:mm:ss\")\u003c\"13:00:00\", todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 13:00:00\")),todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 13:00:00\")))" }, { "input": "\"Night\"", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"18:30:00\", todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 18:30:00\")),todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 18:30:00\")))" }, { "input": "\"Wrap Down\"", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"23:30:00\", todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 23:30:00\")),todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 23:30:00\")))" }, { "input": "\"Current Sort\"", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"7:30:00\", todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 2:30:00\")), \r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"13:00:00\",todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 7:30:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"18:30:00\",todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 13:00:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"23:30:00\",todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 18:30:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"2:30:00\", todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 23:30:00\")),\r todate(dateFormat(dateArithmetic(now(),0, \"Day\"), \"yyyy-MM-dd HH:mm:ss\")))))))" }, { "input": "\"Custom\"", "output": "{this.props.value}" } ], "outputType": "expression", "type": "map" } ], "type": "property" }, "onChange": { "enabled": null, "script": "\t\n\tif self.getSibling(\"Period\").props.value !\u003d \"Custom\":\n\t\tself.props.value \u003d self.props.startDate" } }, "props.value": { "onChange": { "enabled": null, "script": "\t\n\tif system.date.secondsBetween(self.props.value,self.getSibling(\"EndTime\").props.value) \u003e 604800 or system.date.secondsBetween(self.props.value,self.getSibling(\"EndTime\").props.value) \u003c 0:\n\t if system.date.secondsBetween(system.date.addSeconds(self.props.value,604800),system.date.now()) \u003c 0: \n\t self.getSibling(\"EndTime\").props.value \u003d system.date.now()\n\t else:\n\t self.getSibling(\"EndTime\").props.value \u003d system.date.addSeconds(self.props.value,604800)" } } }, "props": { "dismissOnSelect": false, "formattedValue": "Oct 1, 2025 11:01 AM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", "time": "12:00 AM" }, "inputProps": { "style": { "fontSize": "1.5vmin" } }, "style": { "fontSize": "1.5vmin" }, "value": { "$": [ "ts", 192, 1759330916924 ], "$ts": 1759302116000 } }, "type": "ia.input.date-time-input" }, { "meta": { "name": "Spare" }, "position": { "basis": "18.1px", "grow": 1 }, "type": "ia.display.label" }, { "meta": { "name": "End Date" }, "position": { "basis": "81px", "grow": 1 }, "props": { "style": { "color": "#FFFFFF" }, "text": "End Date:" }, "type": "ia.display.label" }, { "custom": { "Selected": "value" }, "events": { "component": { "onActionPerformed": { "config": { "script": "\t\n\tself.custom.Selected \u003d self.props.value" }, "scope": "G", "type": "script" } } }, "meta": { "name": "EndTime" }, "position": { "basis": "190px", "grow": 1 }, "propConfig": { "props.enabled": { "binding": { "config": { "expression": "{../Period.props.value} \u003d \"Custom\"" }, "type": "expr" } }, "props.endDate": { "binding": { "config": { "path": "../Period.props.value" }, "transforms": [ { "fallback": "{this.props.value}", "inputType": "scalar", "mappings": [ { "input": "Past 30 Min", "output": "todate(dateFormat(dateArithmetic(now(),0, \"Hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "Past Hour", "output": "todate(dateFormat(dateArithmetic(now(),0, \"hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "Past 2 Hour", "output": "todate(dateFormat(dateArithmetic(now(),0, \"hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "Past 4 Hour", "output": "todate(dateFormat(dateArithmetic(now(),0, \"hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "Past 8 Hour", "output": "todate(dateFormat(dateArithmetic(now(),0, \"hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "Current Day", "output": "todate(dateFormat(dateArithmetic(now(),0, \"hour\"), \"yyyy-MM-dd HH:mm:ss\"))" }, { "input": "Morning", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"2:30:00\",\r todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 7:30:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"7:30:00\",\r todate(dateFormat(dateArithmetic(now(),0, \"Day\"), \"yyyy-MM-dd HH:mm:ss\")), todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 7:30:00\"))))" }, { "input": "Daylight", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"7:30:00\",\r todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 13:00:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"13:00:00\",\r todate(dateFormat(dateArithmetic(now(),0, \"Day\"), \"yyyy-MM-dd HH:mm:ss\")), todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 13:00:00\"))))" }, { "input": "Twilight", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"13:00:00\",\r todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 18:30:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"18:30:00\",\r todate(dateFormat(dateArithmetic(now(),0, \"Day\"), \"yyyy-MM-dd HH:mm:ss\")), todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 18:30:00\"))))" }, { "input": "Night", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"18:30:00\",\r todate(dateFormat(dateArithmetic(now(0),-1, \"Day\"), \"yyyy-MM-dd 23:30:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"23:30:00\",\r todate(dateFormat(dateArithmetic(now(),0, \"Day\"), \"yyyy-MM-dd HH:mm:ss\")), todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 23:30:00\"))))" }, { "input": "Wrap Down", "output": "if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"23:30:00\",\r todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 2:30:00\")),\r if (dateFormat(dateArithmetic(now(),0, \"Day\"), \"HH:mm:ss\")\u003c\"2:30:00\",\r todate(dateFormat(dateArithmetic(now(),0, \"Day\"), \"yyyy-MM-dd HH:mm:ss\")), todate(dateFormat(dateArithmetic(now(0),0, \"Day\"), \"yyyy-MM-dd 2:30:00\"))))" }, { "input": "Current Sort", "output": "todate(dateFormat(dateArithmetic(now(),0, \"hour\"), \"yyyy-MM-dd HH:mm:ss\"))" } ], "outputType": "expression", "type": "map" } ], "type": "property" }, "onChange": { "enabled": null, "script": "\t\n\tif self.getSibling(\"Period\").props.value !\u003d \"Custom\":\n\t\tself.props.value \u003d self.props.endDate" } }, "props.maxDate": { "binding": { "config": { "expression": "if(dateDiff({../StartTime.props.value},now(),\"day\") \u003c 7, now(),dateArithmetic({../StartTime.props.value}, 7, \"days\"))" }, "type": "expr" } }, "props.minDate": { "binding": { "config": { "expression": "{../StartTime.props.value}" }, "type": "expr" } } }, "props": { "dismissOnSelect": false, "formattedValue": "Oct 1, 2025 7:01 PM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", "time": "1:37 PM" }, "inputProps": { "style": { "fontSize": "1.5vmin" } }, "style": { "fontSize": "1.5vmin" }, "value": { "$": [ "ts", 192, 1759330916952 ], "$ts": 1759330916000 } }, "type": "ia.input.date-time-input" } ], "meta": { "name": "Period_not_Global_0" }, "position": { "height": 0.0269, "width": 0.483, "x": 0.0025, "y": 0.0059 }, "propConfig": { "custom.EndDate": { "binding": { "config": { "path": "./EndTime.props.value" }, "type": "property" } }, "custom.StartDate": { "binding": { "config": { "path": "./StartTime.props.value" }, "type": "property" } } }, "props": { "style": { "fontFamily": "Arial", "fontSize": "1.5vmin" }, "text": "Highest Sorted PPH at 5 min Interval: 0 pph" }, "type": "ia.container.flex" }, { "events": { "component": { "onActionPerformed": { "config": { "script": "\t#Passing start and end dates to the reports, this is to avoid re-renders\n\tstartDate \u003d self.getSibling(\"Period_not_Global_0\").custom.StartDate\n\tendDate \u003d self.getSibling(\"Period_not_Global_0\").custom.EndDate\n\t\n\tself.getSibling(\"Statistics\").custom.startDate \u003d startDate\n\tself.getSibling(\"Statistics\").custom.endDate \u003d endDate\n\t" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Button", "tooltip": { "enabled": true, "text": "Clicking this button generates new report with updated times" } }, "position": { "height": 0.0312, "width": 0.0667, "x": 0.4958, "y": 0.0043 }, "props": { "primary": false, "text": "Generate New Report", "textStyle": { "fontSize": "1vmin" } }, "type": "ia.input.button" } ], "events": { "system": { "onStartup": { "config": { "script": "\t#Saving start and end dates on startup of view\n\tstartDate \u003d self.getChild(\"Period_not_Global_0\").custom.StartDate\n\tendDate \u003d self.getChild(\"Period_not_Global_0\").custom.EndDate\n\t\n\tself.getChild(\"Statistics\").custom.startDate \u003d startDate\n\tself.getChild(\"Statistics\").custom.endDate \u003d endDate" }, "scope": "G", "type": "script" } } }, "meta": { "name": "root" }, "position": { "x": 0, "y": 0 }, "props": { "mode": "percent", "style": { "backgroundColor": "#1A4A5E", "overflow": "hidden" } }, "type": "ia.container.coord" } }