Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 17 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
//
2
//  PdfView.swift
3
//  twogetskills
4
//
5
//  Created by Efrain Yanez Recanatini on 4/26/22.
6
//
7
 
8
import Foundation
9
import SwiftUI
10
import PDFKit
11
import Network
12
import Alamofire
13
import SwiftyJSON
14
import TTGSnackbar
15
 
16
 
17
 
18
struct PdfViewerView: View {
19
    @EnvironmentObject private var appNavigation : AppNavigation
20
 
21 efrain 21
    private var appData = Environment(\.appData).wrappedValue
1 efrain 22
    private var slideModel : SlideModel
23
    private var slideTitle : String
24
    private var url : URL?
25
 
26
    init()
27
    {
28
        print("urlExternalDownloaded : \(appData.urlExternalDownloaded)")
29
        self.url = URL(string: appData.urlExternalDownloaded)
30
 
17 efrain 31
        let slideDao = SlideDao()
1 efrain 32
        self.slideModel = slideDao.selectByUuid(uuid: appData.slideUuidActive)
33
 
34
        if self.slideModel.name.count > Constants.APP_BAR_TITLE_MAX_LENGTH {
35
            slideTitle = String(Array(self.slideModel.name)[0...Constants.APP_BAR_TITLE_MAX_LENGTH]) + "..."
36
        } else {
37
            slideTitle = self.slideModel.name
38
        }
39
 
40
 
41
 
42
 
43
 
44
 
45
    }
46
 
47
    var body: some View {
48
        VStack(spacing: 0) {
49
            HStack {
50
                Button(action: {
51
 
52
                    if self.url != nil {
53
                        do {
54
                            try FileManager.default.removeItem(at: self.url!)
55
                                   print("Documento temporal borrado")
56
                         } catch {
57
                            print(error)
58
                        }
59
                    }
60
 
61
                    let dataService = DataService()
62
                    dataService.completeSlide(slide: slideModel)
63
 
64
                    appNavigation.pageActive = .home
65
 
66
 
67
 
68
                }, label: {
69
 
70
 
71
                    Image(systemName: "chevron.backward")
72
                    .frame(width: 32, height: 32, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
73
                    .aspectRatio(contentMode: .fit)
74
                    .foregroundColor(Color("color_app_bar_foreground"))
75
                })
76
                .padding(.leading, 16)
77
 
78
                Text(self.slideTitle)
79
                .font(Font.custom(Config.FONT_NAME_REGULAR, size: Config.FONT_SIZE_APP_BAR_HEAD1 ))
80
                .foregroundColor(Color("color_app_bar_foreground"))
81
                    .padding(.leading, 4)
82
 
83
                Spacer()
84
            }
85
            .background(Color("color_app_bar_background"))
86
            .edgesIgnoringSafeArea(.top)
87
            .frame(height: 50)
88
            Divider()
89
 
90
 
91
                GeometryReader { geometry in
92
 
93
                    PDFKitRepresentedView(url!)
94
                    .frame(
95
                        width: geometry.size.width,
96
                        height: geometry.size.height,
97
                        alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
98
 
99
 
100
                }
101
 
102
 
103
            Spacer()
104
 
105
 
106
        }
107
    }
108
}
109
 
110
 
111
struct PdfViewerView_Previews: PreviewProvider {
112
    static var previews: some View {
113
        PdfViewerView()
114
    }
115
}
116
 
117
 
118