import QtQuick import QtQuick.Layouts import QtQuick.Controls import QtQuick.Controls.Fusion import QtQuick.Dialogs import "../js/qmldict.js" as JsLib ColumnLayout { property var new_object: null Layout.fillWidth: true Layout.fillHeight: true spacing: 15 Label { text: qsTr("Objekt anlegen") horizontalAlignment: Text.AlignHCenter Layout.fillWidth: true font.pixelSize: 35 } CheckBox { id: checkAddContact text: qsTr("Ansprechpartner hinzufügen") Layout.alignment: Qt.AlignRight checked: false onCheckStateChanged: { checkFields() } } RowLayout { id: addObject Layout.fillWidth: true Layout.fillHeight: true spacing: 45 Frame { Layout.alignment: Qt.AlignTop Layout.fillWidth: true AddNewObject { id: newObject width: parent.width } } ObjectAddOns { id: addObjectLayout visible: checkAddContact.checked } } RowLayout { Layout.fillHeight: true Layout.alignment: Qt.AlignRight Button { text: qsTr("Abbrechen") onClicked: appLoader.source = "ObjectTable.qml" } Button { property var new_object: null id: saveBtn text: qsTr("Speichern") enabled: false onClicked: { new_object = JsLib.parseForm(newObject) new_object['lift'] = new_object['lift'] === 'Ja' ? 1 : 0 new_object['mezzanin'] = new_object['mezzanin'] === 'Ja' ? 1 : 0 if (!checkAddContact.checked) { var list = [] object_model.addObject(new_object, list, false) } else { var new_objecto = addObjectLayout.getForm() object_model.addObject(new_object, new_objecto, true) } } } } Item { id: spacer3 Layout.fillHeight: true } // Connections // { // target: spacer3 // function onObjectIdReady() // { // var obj_id = arguments[0] // object_model.addObject(new_object, obj_id) // appLoader.source = "ObjectTable.qml" // } // } function checkFields() { if(checkAddContact.checked) { if(!newObject.checkObjectField() || !addObjectLayout.contactPerson.contacts || !addObjectLayout.contactPerson.contacts.length) saveBtn.enabled = false else saveBtn.enabled = true } else if (!newObject.checkObjectField()) saveBtn.enabled = false else saveBtn.enabled = true } }