118 lines
4.0 KiB
QML
118 lines
4.0 KiB
QML
import QtQuick 2.14
|
|
import QtQuick.Controls 2.14
|
|
|
|
import AppLayouts.Onboarding.views 1.0
|
|
import AppLayouts.Onboarding.stores 1.0
|
|
|
|
import Storybook 1.0
|
|
|
|
import utils 1.0
|
|
|
|
SplitView {
|
|
Logs { id: logs }
|
|
|
|
SplitView {
|
|
orientation: Qt.Vertical
|
|
SplitView.fillWidth: true
|
|
|
|
ProfileFetchingView {
|
|
SplitView.fillWidth: true
|
|
SplitView.fillHeight: true
|
|
|
|
startupStore: StartupStore {
|
|
id: startupStore
|
|
|
|
property QtObject currentStartupState: QtObject {
|
|
property string stateType
|
|
}
|
|
|
|
property ListModel fetchingDataModel: ListModel {
|
|
Component.onCompleted: append([
|
|
{
|
|
entity: Constants.onboarding.profileFetching.entity.profile,
|
|
loadedMessages: 0,
|
|
totalMessages: 0,
|
|
icon: "profile"
|
|
},
|
|
{
|
|
entity: Constants.onboarding.profileFetching.entity.contacts,
|
|
loadedMessages: 0,
|
|
totalMessages: 0,
|
|
icon: "contact-book"
|
|
},
|
|
{
|
|
entity: Constants.onboarding.profileFetching.entity.communities,
|
|
loadedMessages: 0,
|
|
totalMessages: 0,
|
|
icon: "communities"
|
|
},
|
|
{
|
|
entity: Constants.onboarding.profileFetching.entity.settings,
|
|
loadedMessages: 0,
|
|
totalMessages: 0,
|
|
icon: "settings"
|
|
}])
|
|
}
|
|
|
|
function doPrimaryAction() {
|
|
logs.logEvent("StartupStore::doPrimaryAction")
|
|
}
|
|
|
|
function doSecondaryAction() {
|
|
logs.logEvent("StartupStore::doSecondaryAction")
|
|
}
|
|
|
|
function doTertiaryAction() {
|
|
logs.logEvent("StartupStore::doTertiaryAction")
|
|
}
|
|
}
|
|
}
|
|
|
|
LogsAndControlsPanel {
|
|
id: logsAndControlsPanel
|
|
|
|
SplitView.minimumHeight: 100
|
|
SplitView.preferredHeight: 200
|
|
|
|
logsView.logText: logs.logText
|
|
}
|
|
}
|
|
|
|
Pane {
|
|
SplitView.minimumWidth: 300
|
|
SplitView.preferredWidth: 300
|
|
|
|
ProfileFetchingModelEditor {
|
|
anchors.fill: parent
|
|
model: startupStore.fetchingDataModel
|
|
|
|
onStateChanged: {
|
|
if (state === Constants.startupState.profileFetching) {
|
|
for(let i = 0; i < startupStore.fetchingDataModel.rowCount(); i++) {
|
|
startupStore.fetchingDataModel.setProperty(i, "totalMessages", 0)
|
|
startupStore.fetchingDataModel.setProperty(i, "loadedMessages", 0)
|
|
}
|
|
}
|
|
else if (state === Constants.startupState.profileFetchingSuccess) {
|
|
for(let i = 0; i < startupStore.fetchingDataModel.rowCount(); i++) {
|
|
let n = Math.ceil(Math.random() * 10) + 1
|
|
startupStore.fetchingDataModel.setProperty(i, "totalMessages", n)
|
|
startupStore.fetchingDataModel.setProperty(i, "loadedMessages", n)
|
|
}
|
|
}
|
|
else if (state === Constants.startupState.profileFetchingTimeout) {
|
|
for(let i = 0; i < startupStore.fetchingDataModel.rowCount(); i++) {
|
|
let n = Math.ceil(Math.random() * 5)
|
|
startupStore.fetchingDataModel.setProperty(i, "totalMessages", n + 5)
|
|
startupStore.fetchingDataModel.setProperty(i, "loadedMessages", n)
|
|
}
|
|
}
|
|
|
|
startupStore.currentStartupState.stateType = state
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// category: Views
|