import QtQuick import QtQuick.Layouts import QtQuick.Controls import Qt.labs.qmlmodels ColumnLayout { spacing: Dimensions.l RowLayout { Layout.fillWidth: true spacing: Dimensions.l SearchBar { } QuickFilter { model: ListModel { ListElement { name: "Alle" selected: true text: qsTr("Alle") } ListElement { name: "Bewerber" selected: false text: qsTr("Bewerber") } ListElement { name: "Mitarbeiter" selected: false text: qsTr("Kunde") } ListElement { name: "Erledigt" selected: false text: qsTr("Erledigt") } } onSelectedChanged: name => { employee_model.viewCriterion(name); } } Button { Layout.alignment: Qt.AlignRight flat: true icon.source: "qrc:/images/PlusCircle.svg" text: qsTr("Bewerber Hinzufügen") onClicked: contentStack.push("AddApplicant.qml") } Button { Layout.alignment: Qt.AlignRight flat: true icon.source: "qrc:/images/PlusCircle.svg" text: qsTr("Mitarbeiter Hinzufügen") onClicked: contentStack.push("AddEmployee.qml") } } ColumnLayout { Layout.fillHeight: true Layout.fillWidth: true spacing: 2 HorizontalHeaderView { movableColumns: true syncView: employeesTable delegate: Rectangle { Layout.fillWidth: true color: Colors.primary implicitHeight: 33 implicitWidth: 1 Text { color: Colors.primaryContrast elide: Text.ElideRight font: Typography.smallBold height: parent.height horizontalAlignment: Text.AlignLeft padding: Dimensions.s text: model.display verticalAlignment: Text.AlignVCenter width: parent.width } } } TableView { id: employeesTable Layout.fillHeight: true Layout.fillWidth: true columnSpacing: 2 model: employee_model resizableColumns: true rowSpacing: 2 selectionBehavior: TableView.SelectRows z: 1 ScrollBar.vertical: ScrollBar { policy: ScrollBar.AsNeeded } delegate: Rectangle { required property bool selected color: selected ? Colors.primaryHighlight : Colors.transparent implicitHeight: 33 implicitWidth: employeesTable.width / employeesTable.columns Text { color: Colors.foreground elide: Text.ElideRight font: Typography.small height: parent.height padding: Dimensions.s text: (model.display === null || model.display === undefined) ? "" : model.display verticalAlignment: Text.AlignVCenter width: parent.width } MouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor hoverEnabled: true onClicked: { contentStack.push("EmployeeDetails.qml", { selectedEmployee: row }); } onEntered: { employeesTable.selectionModel.select(employeesTable.model.index(row, 0), ItemSelectionModel.SelectCurrent | ItemSelectionModel.Rows); } } } selectionModel: ItemSelectionModel { model: employeesTable.model } } } }