Mercurial > public > lazybear
annotate LazyBear/Views/Global Helpers/Company list/ExtensiveList.swift @ 395:a0cf8fe47044
Fix minor bugs
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Fri, 07 May 2021 11:43:47 +0200 |
parents | 4c90e5b18632 |
children |
rev | line source |
---|---|
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // ExtensiveList.swift |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // LazyBear |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 14/4/21. |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 struct ExtensiveList: View { |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
11 var listName: String |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
12 var list: [String: QuoteModel]? |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 var intradayPrices: [String: [IntradayPriceModel]]? |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
14 var latestCurrencies: [String: CurrencyModel]? |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 var addOnDelete: Bool |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
16 |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
17 @Environment(\.presentationMode) private var presentationMode |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
18 @Environment(\.managedObjectContext) private var moc |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
19 @FetchRequest(entity: WatchlistCompany.entity(), sortDescriptors: []) |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
20 var watchlistCompany: FetchedResults<WatchlistCompany> |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
21 |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
22 @State private var isEditMode: EditMode = .inactive |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
23 @State private var showRenameListAction = false |
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
24 @State private var showDeleteListAlert = false |
389
db8bc3ed526a
Implementing add to watchlist feature from SearchView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
388
diff
changeset
|
25 @State private var showSearchView = false |
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
26 |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
27 var body: some View { |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
28 NavigationView { |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
29 ZStack { |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
30 VStack { |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
31 if let list = list { |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
32 List { |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
33 ForEach(Array(list.keys.sorted()), id: \.self) { companySymbol in |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
34 StockItem(symbol: companySymbol, |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
35 company: list[companySymbol]!, |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
36 intradayPrices: intradayPrices?[companySymbol], |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
37 orientation: .horizontal, |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
38 hidePriceView: self.isEditMode == .active // Hide on EditMode |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
39 ) |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
40 |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
41 } |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
42 .onDelete(perform: addOnDelete ? deleteCompany: nil) |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
43 } |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
44 } |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
45 |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
46 if let latestCurrencies = latestCurrencies { |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
47 List(Array(latestCurrencies.keys.sorted()), id: \.self) { currencySymbol in |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
48 CurrencyListItem(currencySymbol: currencySymbol, currency: latestCurrencies[currencySymbol]!) |
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
49 |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
50 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
51 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
52 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
53 |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
54 // Blur background |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
55 Color(.black) |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
56 .edgesIgnoringSafeArea(.all) |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
57 .opacity(showRenameListAction ? 0.2: 0) |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
58 .animation(.easeInOut) |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
59 .onTapGesture { showRenameListAction = false } |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
60 |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
61 // Show rename Action Sheet |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
62 TextfieldAlert(listName: listName, showRenameAction: $showRenameListAction, presentationMode: presentationMode) |
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
63 .offset(y: showRenameListAction ? 0: 700) |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
64 .animation(.easeInOut) |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
65 } |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
66 // Show delete list alert |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
67 .alert(isPresented: $showDeleteListAlert) { |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
68 Alert( |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
69 title: Text("Are you sure you want to delete this list?"), |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
70 message: Text("This action can't be undo"), |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
71 primaryButton: .destructive(Text("Delete")) { deleteList() }, |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
72 secondaryButton: .cancel() |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
73 ) |
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
74 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
75 .navigationTitle(listName) |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
76 .navigationBarTitleDisplayMode(.inline) |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
77 .toolbar { |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
78 ToolbarItem(placement: .cancellationAction) { |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
79 if addOnDelete { |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
80 EditButton() |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
81 } else { |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
82 Button(action: { presentationMode.wrappedValue.dismiss() }) { |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
83 Image(systemName: "multiply") |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
84 .imageScale(.large) |
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
85 } |
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
86 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
87 } |
387
c206bd0bdb4e
Implementing RenameSheet.swift
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
383
diff
changeset
|
88 ToolbarItem(placement: .navigationBarTrailing) { |
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
89 if addOnDelete { |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
90 ToolbarMenu(showRenameListAction: $showRenameListAction, showDeleteListAlert: $showDeleteListAlert) |
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
91 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
92 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
93 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
94 .environment(\.editMode, self.$isEditMode) // Always after Toolbar |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
95 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
96 } |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
97 |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
98 /* |
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
99 Delete company from watchlist |
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
100 */ |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
101 private func deleteCompany(at offsets: IndexSet) { |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
102 for index in offsets { |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
103 let company = watchlistCompany[index] |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
104 moc.delete(company) |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
105 } |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
106 do { |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
107 try moc.save() |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
108 print("Company deleted") |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
109 } catch { |
389
db8bc3ed526a
Implementing add to watchlist feature from SearchView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
388
diff
changeset
|
110 print(error.localizedDescription) |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
111 } |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
112 } |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
113 |
395
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
114 /* |
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
115 Remove entire list if it's not the last one. It can't be zero watchlists |
a0cf8fe47044
Fix minor bugs
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
394
diff
changeset
|
116 */ |
388
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
117 private func deleteList() { |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
118 let selectedWatchlist = watchlistCompany.filter({ $0.watchlist == listName }) |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
119 for company in selectedWatchlist { |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
120 moc.delete(company) |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
121 } |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
122 do { |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
123 try moc.save() |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
124 print("List deleted") |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
125 presentationMode.wrappedValue.dismiss() // Dismiss view |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
126 } catch { |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
127 print(error.localizedDescription) |
79c39987aaa4
Implementing Watchlists in ProfileView
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
387
diff
changeset
|
128 } |
383
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
129 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
130 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
131 |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
132 struct ExtensiveList_Previews: PreviewProvider { |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
133 static var previews: some View { |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
134 ExtensiveList(listName: "List name", addOnDelete: false) |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
135 } |
5d7a66e2b39f
Reorganise file
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
136 } |