Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

Rev 1 | Rev 11 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 8
Línea 8... Línea 8...
8
import Foundation
8
import Foundation
Línea 9... Línea 9...
9
 
9
 
10
import Foundation
10
import Foundation
11
import SwiftUI
11
import SwiftUI
-
 
12
import PDFKit
-
 
13
import NavigationStack
Línea 12... Línea 14...
12
import PDFKit
14
import HTMLEntities
13
 
-
 
-
 
15
 
14
 
16
 
-
 
17
struct WebViewerView: View {
Línea 15... Línea 18...
15
struct WebViewerView: View {
18
 
-
 
19
    @State private var isCompleted : Bool = false
-
 
20
    @State private var backToGallery : Bool = false
16
    @EnvironmentObject var appNavigation : AppNavigation
21
    
17
    @State private var isCompleted : Bool = false
-
 
Línea 18... Línea -...
18
    
-
 
Línea 19... Línea 22...
19
    private let appData : AppData = AppData.sharedInstance
22
    private let appData : AppData = AppData.sharedInstance
20
    
23
    private var slideModel : SlideModel
21
    private var content : String
24
    private var slideTitle : String
22
 
-
 
23
    private var slideName : String;
-
 
24
    
25
 
25
    
-
 
26
    init(content : String, slideName : String)
-
 
27
    {
-
 
Línea -... Línea 26...
-
 
26
 
-
 
27
    
-
 
28
    
-
 
29
    init(slideUuid : String)
-
 
30
    {
-
 
31
        let slideDao = SlideDao.sharedInstance
-
 
32
        self.slideModel = slideDao.selectByUuid(uuid: slideUuid)
28
        self.content = content
33
 
Línea 29... Línea 34...
29
            
34
        if self.slideModel.name.count > Constants.APP_BAR_TITLE_MAX_LENGTH {
30
   
35
            slideTitle = String(Array(self.slideModel.name)[0...Constants.APP_BAR_TITLE_MAX_LENGTH]) + "..."
31
        self.slideName = slideName
36
        } else {
-
 
37
            slideTitle = self.slideModel.name
-
 
38
        }
-
 
39
        
-
 
40
        print("Viewer WEB: \(slideModel.description) ")
-
 
41
    }
-
 
42
    
-
 
43
    var body: some View {
-
 
44
        VStack(spacing: 0)
-
 
45
        {
32
       
46
            PopView(
33
       
47
                destination: .root,
34
 
-
 
35
 
-
 
36
    }
-
 
37
    
-
 
38
    var body: some View {
-
 
39
        VStack(spacing: 0)
-
 
Línea -... Línea 48...
-
 
48
                isActive: self.$backToGallery,
Línea 40... Línea 49...
40
        {
49
                label: {
Línea 41... Línea 50...
41
            HStack {
50
                    Text("")
Línea 56... Línea 65...
56
                    .aspectRatio(contentMode: .fit)
65
                    .aspectRatio(contentMode: .fit)
57
                    .foregroundColor(Color("color_app_bar_foreground"))
66
                    .foregroundColor(Color("color_app_bar_foreground"))
58
                })
67
                })
59
                .padding(.leading, 16)
68
                .padding(.leading, 16)
Línea 60... Línea 69...
60
                
69
                
61
                Text(slideName)
70
                Text(slideTitle)
62
                .font(Font.custom(Config.FONT_NAME_REGULAR, size: Config.FONT_SIZE_APP_BAR_HEAD1 ))
71
                .font(Font.custom(Config.FONT_NAME_REGULAR, size: Config.FONT_SIZE_APP_BAR_HEAD1 ))
63
                .foregroundColor(Color("color_app_bar_foreground"))
72
                .foregroundColor(Color("color_app_bar_foreground"))
Línea 64... Línea 73...
64
                    .padding(.leading, 4)
73
                    .padding(.leading, 4)
65
                
74
                
66
                Spacer()
75
                Spacer()
67
            }
76
            }
68
            .background(Color("color_app_bar_background"))
77
            .background(Color("color_app_bar_background"))
69
            .edgesIgnoringSafeArea(.top)
78
            .edgesIgnoringSafeArea(.top)
-
 
79
            .frame(height: 50)
-
 
80
            Divider()
70
            .frame(height: 50)
81
            
-
 
82
            
71
            Divider()
83
            GeometryReader { geometry in
-
 
84
                
-
 
85
                TextHtmlView(content: slideModel.description)
-
 
86
                    .frame(
-
 
87
                        width: geometry.size.width,
72
        ScrollView {
88
                        height: geometry.size.height,
-
 
89
                        alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
73
            TextHtmlView(content: content)
90
                    .padding(10)
74
                .padding(10)
91
                    .border(/*@START_MENU_TOKEN@*/Color.black/*@END_MENU_TOKEN@*/, width: /*@START_MENU_TOKEN@*/1/*@END_MENU_TOKEN@*/)
75
        }
92
            }
76
        }.background(Color("color_window_background"))
93
        }.background(Color("color_window_background"))
Línea 77... Línea 94...
77
    }
94
    }
78
}
95
}
79
 
96
 
80
 
-
 
81
struct WebViewerView_Previews: PreviewProvider {
-
 
82
    static var previews: some View {
97
 
83
        WebViewerView(
98
struct WebViewerView_Previews: PreviewProvider {