load( local!taskOwner: null, local!pagingInfo: a!pagingInfo( startIndex: 1, batchSize: 10 ), local!givenTaskOwner, local!searchResults, local!startDueDate, local!endDueDate, a!dashboardLayout( firstColumnContents: { a!pickerFieldUsers( label: "Task Owner", required: true, labelPosition: "ADJACENT", requiredMessage: "Please select task owner", value: local!givenTaskOwner, maxSelections: 1, saveInto: local!givenTaskOwner ), a!sectionLayout( firstColumnContents: { a!dateField( label: "Start Due Date", required: true, labelPosition: "ADJACENT", requiredMessage: "Please select start due date", value: local!startDueDate, saveInto: local!startDueDate ) }, secondColumnContents: { a!dateField( label: "End Due Date", required: true, labelPosition: "ADJACENT", requiredMessage: "Please select end due date", value: local!endDueDate, saveInto: local!endDueDate ) } ), a!buttonLayout( primaryButtons: { a!buttonWidget( label: "Search", style: "PRIMARY", disabled: or( isnull( local!givenTaskOwner ), or( isnull( local!startDueDate ), isnull( local!endDueDate ) ) ), saveInto: a!save( local!searchResults, rule!GWF_searchByUserAndDuePeriod( givenTaskOwner: local!givenTaskOwner, startDueDate: gmt( local!startDueDate ), endDueDate: todate( local( local!endDueDate ) ), pagingInfo: local!pagingInfo ) ) ) }, secondaryButtons: { a!buttonWidget( label: "Clear", style: "DESTRUCTIVE", skipValidation: true, saveInto: { a!save( local!givenTaskOwner, null ), a!save( local!startDueDate, null ), a!save( local!endDueDate, null ), a!save( local!searchResults, null ), local!pagingInfo.startIndex << rule!ucReturnFirstInput(1,_) } ) } ), a!gridField( label: "Results", columns: { a!gridTextColumn( label: "Workflow Name", field: "gwfWfName", data: index( local!searchResults.data, "gwfWfName", {} ) ), a!gridTextColumn( label: "Legal Entity", field: "entity", data: index( local!searchResults.data, "entity", {} ) ), a!gridTextColumn( label: "Tax Type", field: "taxType", data: index( local!searchResults.data, "taxType", {} ) ), a!gridTextColumn( label: "Country", field: "jurisCountry", data: index( local!searchResults.data, "jurisCountry", {} ) ), a!gridTextColumn( label: "State", field: "jurisState", data: index( local!searchResults.data, "jurisState", {} ) ), a!gridTextColumn( label: "Task Due Date", field: "gwfWfTaskDueTs", data: index( local!searchResults.data, "gwfWfTaskDueTs", {} ) ), a!gridTextColumn( label: "Locality", field: "jurisLocality", data: index( local!searchResults.data, "jurisLocality", {} ) ), a!gridTextColumn( label: "Workflow Owner", field: "gwfWfOwner", data: index( local!searchResults.data, "gwfWfOwner", {} ) ), a!gridTextColumn( label: "Task Owner", field: "gwfWfTaskOwner", data: index( local!searchResults.data, "gwfWfTaskOwner", {} ) ), a!gridTextColumn( label: "Task Name", field: "gwfWfTaskName", data: index( local!searchResults.data, "gwfWfTaskName", {} ) ), a!gridTextColumn( label: "Start Date", field: "gwfWfTaskStartTs", data: index( local!searchResults.data, "gwfWfTaskStartTs", {} ) ), a!gridTextColumn( label: "Task Accepted", field: "gwfWfTaskAcceptTs", data: index( local!searchResults.data, "gwfWfTaskAcceptTs", {} ) ), a!gridTextColumn( label: "Task Received", field: "gwfWfTaskAssignTs", data: index( local!searchResults.data, "gwfWfTaskAssignTs", {} ) ), a!gridTextColumn( label: "Task Status", field: "gwfWfTaskStatus", data: index( local!searchResults.data, "gwfWfTaskStatus", {} ) ), a!gridTextColumn( label: "Work Effort", field: "gwfWfTaskEffortDays", data: index( local!searchResults.data, "gwfWfTaskEffortDays", {} ) ), a!gridTextColumn( label: "Actual Effort", field: "gwfWfTaskEffortActualDays", data: index( local!searchResults.data, "gwfWfTaskEffortActualDays", {} ) ), a!gridTextColumn( label: "Completed Date", field: "gwfWfTaskCompleteTs", data: index( local!searchResults.data, "gwfWfTaskCompleteTs", {} ) ), a!gridImageColumn( label: "Performance Indicator", field: "taskPerformanceIndicator", size: "THUMBNAIL", data: if( isnull(local!searchResults.data), {}, rule!GWF_getPerformanceIndicatorImages( local!searchResults.data.taskPerformanceIndicator ) ) ) }, totalCount: if( isnull( local!searchResults ), 0, local!searchResults.totalCount ), value: local!pagingInfo, saveInto: local!pagingInfo ) } ) )