diff --git a/src/App/App.xcodeproj/project.pbxproj b/src/App/App.xcodeproj/project.pbxproj index 27c34a6..a420bde 100644 --- a/src/App/App.xcodeproj/project.pbxproj +++ b/src/App/App.xcodeproj/project.pbxproj @@ -21,7 +21,6 @@ 1E1FF22F2A3221BB0046EBE0 /* Stub in Frameworks */ = {isa = PBXBuildFile; productRef = 1E1FF22E2A3221BB0046EBE0 /* Stub */; }; 1E47C4572A3605E3000B9AAA /* MatiereInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E47C4562A3605E3000B9AAA /* MatiereInfo.swift */; }; 1E4D71792A29E50A008342F0 /* UEEdit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E4D71782A29E50A008342F0 /* UEEdit.swift */; }; - 1E96424E2A3DFD0100199C75 /* Exemple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E96424D2A3DFD0000199C75 /* Exemple.swift */; }; 1EC2337A2A35BCB9006AE897 /* ViewModel in Frameworks */ = {isa = PBXBuildFile; productRef = 1EC233792A35BCB9006AE897 /* ViewModel */; }; 1ECAD3A12A38FB0B00B61BF8 /* MatiereNoteSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECAD3A02A38FB0B00B61BF8 /* MatiereNoteSlider.swift */; }; 1EDC99232A20DDAB00C3561D /* UEInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDC99222A20DDAB00C3561D /* UEInfo.swift */; }; @@ -61,7 +60,6 @@ 1E160AB12A1FA51600ECDB3F /* UENoteSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UENoteSlider.swift; sourceTree = ""; }; 1E47C4562A3605E3000B9AAA /* MatiereInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MatiereInfo.swift; sourceTree = ""; }; 1E4D71782A29E50A008342F0 /* UEEdit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UEEdit.swift; sourceTree = ""; }; - 1E96424D2A3DFD0000199C75 /* Exemple.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Exemple.swift; sourceTree = ""; }; 1ECAD3A02A38FB0B00B61BF8 /* MatiereNoteSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MatiereNoteSlider.swift; sourceTree = ""; }; 1EDC99222A20DDAB00C3561D /* UEInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UEInfo.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -169,7 +167,6 @@ 1E4D71782A29E50A008342F0 /* UEEdit.swift */, 1E47C4562A3605E3000B9AAA /* MatiereInfo.swift */, 1ECAD3A02A38FB0B00B61BF8 /* MatiereNoteSlider.swift */, - 1E96424D2A3DFD0000199C75 /* Exemple.swift */, ); path = Views; sourceTree = ""; @@ -316,7 +313,6 @@ 1E0D88E32A1E759A00786FE3 /* AppApp.swift in Sources */, 1EDC99232A20DDAB00C3561D /* UEInfo.swift in Sources */, 1E0D891B2A1E9BEF00786FE3 /* UEView.swift in Sources */, - 1E96424E2A3DFD0100199C75 /* Exemple.swift in Sources */, 1E4D71792A29E50A008342F0 /* UEEdit.swift in Sources */, 1E0D89172A1E838700786FE3 /* UEListItem.swift in Sources */, ); diff --git a/src/App/Views/Exemple.swift b/src/App/Views/Exemple.swift deleted file mode 100644 index 5b85c17..0000000 --- a/src/App/Views/Exemple.swift +++ /dev/null @@ -1,23 +0,0 @@ -// -// Exemple.swift -// App -// -// Created by BREUIL Yohann on 17/06/2023. -// - -import SwiftUI - -struct Exemple: View { - var body: some View { - @State var number = 100 - Form{ - TextField("inputNumber",value:$number,format: .number) - } - } -} - -struct Exemple_Previews: PreviewProvider { - static var previews: some View { - Exemple() - } -} diff --git a/src/App/Views/UEEdit.swift b/src/App/Views/UEEdit.swift index 5521e45..4540fa0 100644 --- a/src/App/Views/UEEdit.swift +++ b/src/App/Views/UEEdit.swift @@ -42,7 +42,10 @@ struct UEEdit: View { } } HStack { - TextField("Nouvelle matière", text: $newMatiereName) + VStack { + TextField("Nouvelle matière", text: $newMatiereName) + TextField("Nouveau coefficient", text: $newMatiereName) + } Button(action: {}) { Image(systemName: "plus.circle.fill") } diff --git a/src/AverageCalculator.xcworkspace/xcuserdata/djyohann.xcuserdatad/UserInterfaceState.xcuserstate b/src/AverageCalculator.xcworkspace/xcuserdata/djyohann.xcuserdatad/UserInterfaceState.xcuserstate index a7b0edb..6f2527b 100644 Binary files a/src/AverageCalculator.xcworkspace/xcuserdata/djyohann.xcuserdatad/UserInterfaceState.xcuserstate and b/src/AverageCalculator.xcworkspace/xcuserdata/djyohann.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/src/ViewModel/Sources/ViewModel/MatiereVM.swift b/src/ViewModel/Sources/ViewModel/MatiereVM.swift index a1a1c84..98a5548 100644 --- a/src/ViewModel/Sources/ViewModel/MatiereVM.swift +++ b/src/ViewModel/Sources/ViewModel/MatiereVM.swift @@ -3,6 +3,8 @@ import Model @available(iOS 13.0, *) public class MatiereVM : ObservableObject, Identifiable, Equatable { + public init() {} + public init(model: Matiere) { self.model = model } diff --git a/src/ViewModel/Sources/ViewModel/UEVM.swift b/src/ViewModel/Sources/ViewModel/UEVM.swift index 90988b8..fc1b0a9 100644 --- a/src/ViewModel/Sources/ViewModel/UEVM.swift +++ b/src/ViewModel/Sources/ViewModel/UEVM.swift @@ -13,6 +13,8 @@ public class UEVM : ObservableObject, Identifiable, Equatable { public var editedCopy: UEVM? + public var addedItem: MatiereVM? + public var id: UUID { model.id } @Published @@ -84,13 +86,23 @@ public class UEVM : ObservableObject, Identifiable, Equatable { @Published public var isEditing: Bool = false + @Published + public var isAdding: Bool = false + public func onEditing(){ editedCopy = self.copy + isAdding = false isEditing = true } - public func onEdited(isCancelled: Bool = false){ - if(!isCancelled) { + public func onAdding() { + addedItem = MatiereVM() + isAdding = true + isEditing = false + } + + public func onEdited(isCancelled cancel: Bool = false){ + if !cancel { if let edit = editedCopy { self.model = edit.model } @@ -98,6 +110,16 @@ public class UEVM : ObservableObject, Identifiable, Equatable { isEditing = false } + public func onAdded(isCancelled cancel: Bool = false) { + if !cancel { + if let addedItem = addedItem { + self.matieresVM.append(addedItem) + } + } + addedItem = nil + isAdding = false + } + public static func == (lhs: UEVM, rhs: UEVM) -> Bool { lhs.id == rhs.id }