Qt World Summit Conference App
import Felgo 4.0
import QtQuick 2.0
import "../common"
import QtQuick.Controls 2.0 as QtQuick2
AppPage {
id: page
title: searchModel.length + " results"
rightBarItem: ActivityIndicatorBarItem { opacity: dataModel.loading || scheduleItem.loading ? 1 : 0 }
property var searchModel: []
readonly property bool dataAvailable: searchModel !== undefined && searchModel.length > 0
AppText {
text: "No talks found for search."
visible: !dataAvailable
anchors.centerIn: parent
}
TimetableDaySchedule {
id: scheduleItem
anchors.fill: parent
scheduleData: page.searchModel ? prepareSearchModel(page.searchModel) : []
searchAllowed: false
onItemClicked: {
page.navigationStack.popAllExceptFirstAndPush(detailPageComponent, { item: item })
}
visible: dataAvailable
}
function prepareSearchModel(events) {
if(!events)
return []
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
for(var idx in events) {
var data = events[idx]
if(data !== undefined) {
var date = new Date(data.day+"T00:00.000Z")
data.dayTime = date.getTime()
var weekday = isNaN(date.getUTCDay()) ? "Unknown" : days[ date.getUTCDay() ]
data.section = weekday + ", " + (data.start.substring(0, 2) + ":00")
events[idx] = data
}
}
events = events.sort(function(a, b) {
if(a.dayTime == b.dayTime)
return (a.start > b.start) - (a.start < b.start)
else
return (a.dayTime > b.dayTime) - (a.dayTime < b.dayTime)
})