import QtQuick import QtQuick.Layouts import QtQuick.Controls import Qt.labs.qmlmodels ColumnLayout { function viewEmployees(criterion) { employee_model.viewCriterion(criterion) // employee_model.viewCriterion(criterion, showProcessed.checked, showFired.checked, showEveryone.checked) } anchors.fill: parent Component.onCompleted: employeesStack.pop() // property var availableFilters: ["Name", "Adresse", "PLZ", "Ort", "Status"] RowLayout { SearchBar { id:searchBar } QuickFilter { onSelectedChanged: (name) => { business_model.viewCriterion(name) } model: ListModel { ListElement { name: "Alle" text: qsTr("Alle") selected: true } ListElement { name: "Bewerber" text: qsTr("Bewerber") selected: false } ListElement { name: "Mitarbeiter" text: qsTr("Kunde") selected: false } ListElement { name: "Erledigt" text: qsTr("Erledigt") selected: false } } } Button { id: addEmployeeBtn text: qsTr("Mitarbeiter Hinzufügen") icon.source: "qrc:/images/PlusCircle.svg" Layout.alignment: Qt.AlignRight flat: true onClicked: appLoader.source = "AddApplicant.qml" } } // ButtonGroup // { // id: criterion // // buttons: criterion.children // onClicked: // { // viewEmployees(criterion.checkedButton.text) // } // } // ColumnLayout // { // id: tableParent // clip: true // anchors // { // top: searchBar.bottom // bottom: parent.bottom // left: parent.left // right: parent.right // } // RowLayout // { // id: viewCriterion // RadioButton // { // //id: showAll // checked: true // text: qsTr("Alle") // ButtonGroup.group: criterion // //onClicked: viewEmployees(showAll) // } // RadioButton // { // //id: showApplicant // text: qsTr("Bewerber") // ButtonGroup.group: criterion // //onClicked: viewEmployees(showApplicant) // } // RadioButton // { // //id: showEmployee // text: qsTr("Mitarbeiter") // ButtonGroup.group: criterion // //onClicked: viewEmployees(showEmployee) // } // CheckBox // { // id: showEveryone // text: qsTr("Alle Stati") // checked: true // onClicked: viewEmployees(criterion.checkedButton.text) // onCheckedChanged: // { // showFired.checked = false // showProcessed.checked = false // } // } // CheckBox // { // id: showProcessed // text: qsTr("Erledigt") // enabled: !showEveryone.checked // checked: false // onClicked: // { // showFired.checked = false // viewEmployees(criterion.checkedButton.text) // } // } // CheckBox // { // id: showFired // text: qsTr("Ausgeschieden") // enabled: !showEveryone.checked // checked: false // onClicked: // { // showProcessed.checked = false // viewEmployees(criterion.checkedButton.text) // } // } // } HorizontalHeaderView { id: employeeTableHeader Layout.fillWidth: true syncView: appliEmpTable implicitHeight: 40 movableColumns: true //@disable-check M16 delegate: Rectangle { color: addEmployeeBtn.palette.alternateBase border.color: palette.base implicitHeight: 40 Layout.fillWidth: true implicitWidth: 1 Text { text: model.display elide: Text.ElideRight width: parent.width height: parent.height horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter color: palette.text } } } TableView { id: appliEmpTable //Layout.fillHeight: true //height: tableParent.height - (viewCriterion.height + employeeTableHeader.height) Layout.fillWidth: true Layout.fillHeight: true columnSpacing: 1 rowSpacing: 2 alternatingRows: true resizableColumns: true model: employee_model selectionBehavior: TableView.SelectRows ScrollBar.vertical: ScrollBar { policy: appliEmpTable.contentHeight > appliEmpTable.height ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff } selectionModel: ItemSelectionModel { id: selModel model: appliEmpTable.model } delegate:Rectangle { required property bool selected required property bool current implicitWidth: appliEmpTable.width / appliEmpTable.columns implicitHeight: 25 color: selected ? addEmployeeBtn.palette.highlight //palette.highlight : (appliEmpTable.alternatingRows && row % 2 !== 0 ? addEmployeeBtn.palette.base // palette.base : addEmployeeBtn.palette.alternateBase) //palette.alternateBase) Text { text: (model.display === null || model.display === undefined)? "": model.display elide: Text.ElideRight width: parent.width height: parent.height verticalAlignment: Text.AlignVCenter leftPadding: 9 //@d isable-check M16 color: palette.text } MouseArea { id: mouseArea property bool hovered:false anchors.fill: parent hoverEnabled: true onDoubleClicked: { employeesStack.push("EmployeeDetails.qml", {selectedEmployee: row}); } onEntered: { appliEmpTable.selectionModel.select(appliEmpTable.model.index(row, 0), ItemSelectionModel.SelectCurrent | ItemSelectionModel.Rows) } } } } Item { Layout.fillWidth: true } } // function viewEmployees(criterion) // { // employee_model.viewCriterion(criterion, showProcessed.checked, showFired.checked, showEveryone.checked) // } // Component.onCompleted: employeesStack.pop()