Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

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

Rev 11 Rev 14
Línea 11... Línea 11...
11
{
11
{
12
    @EnvironmentObject private var appNavigation : AppNavigation
12
    @EnvironmentObject private var appNavigation : AppNavigation
13
    @ObservedObject private var viewModel = TopicCardViewModel()
13
    @ObservedObject private var viewModel = TopicCardViewModel()
Línea 14... Línea -...
14
    
-
 
-
 
14
    
15
    
15
    
16
    private let appDao = AppDao.sharedInstance
16
    
Línea -... Línea 17...
-
 
17
    private var topicName : String = ""
-
 
18
    private var preview : Bool = false
Línea 17... Línea 19...
17
    private var topicName : String = ""
19
    
18
    private var preview : Bool = false
20
 
19
    
-
 
-
 
21
    private let userUuid : String
20
 
22
 
21
    
23
    
22
    init(topicUuid : String, preview : Bool = false)
-
 
23
    {
-
 
24
        
-
 
25
        let appData = appDao.selectOne()
-
 
26
        self.preview = preview
-
 
27
        if(preview) {
-
 
28
            viewModel.topic.companyUuid = "C123"
-
 
29
            viewModel.topic.uuid = "T123"
-
 
30
            viewModel.topic.name = "Topic 123"
-
 
31
            viewModel.topic.description = "Description Topic 123"
-
 
32
            viewModel.topic.position = 0
-
 
33
            viewModel.topic.progress = 50
-
 
34
            viewModel.topic.totalSlides = 10
-
 
35
            viewModel.topic.viewSlides = 5
-
 
36
            viewModel.topic.image = Config.URL_IMAGE_TESTING
-
 
Línea 37... Línea -...
37
            viewModel.topic.completed = 0
-
 
38
        } else {
-
 
-
 
24
    init(topicUuid : String)
39
            viewModel.fetch(topicUuid:topicUuid, userUuid: appData.userUuid)
25
    {
40
        }
26
        let appDao = AppDao.sharedInstance
41
        
27
        let appData = appDao.selectOne()
42
        
28
        userUuid = appData.userUuid
43
       
29
        
44
  
-
 
45
        if viewModel.topic.name.count > Constants.CAPSULE_TITLE_MAX_LENGTH {
-
 
46
            topicName = String(Array(viewModel.topic.name)[0...Constants.CAPSULE_TITLE_MAX_LENGTH]) + "..."
30
        self.viewModel.fetch(topicUuid: topicUuid, userUuid: userUuid)
Línea 47... Línea -...
47
        } else {
-
 
48
            topicName = viewModel.topic.name
-
 
49
        }
31
        if viewModel.topic.name.count > Constants.CAPSULE_TITLE_MAX_LENGTH {
Línea 50... Línea 32...
50
        
32
            topicName = String(Array(viewModel.topic.name)[0...Constants.CAPSULE_TITLE_MAX_LENGTH]) + "..."
-
 
33
        } else {
51
        
34
            topicName = viewModel.topic.name
-
 
35
        }
52
    }
36
    }
53
    
37
    
54
 
38
    var body: some View {
Línea 55... Línea 39...
55
    
39
 
-
 
40
        Button(action: {
56
    var body: some View {
41
            let appDao = AppDao.sharedInstance
Línea 57... Línea 42...
57
 
42
            var appData = appDao.selectOne()
58
        Button(action: {
43
            
Línea 114... Línea 99...
114
            .overlay(
99
            .overlay(
115
                RoundedRectangle(cornerRadius: 16)
100
                RoundedRectangle(cornerRadius: 16)
116
                    .stroke(Color("color_card_view_border"), lineWidth:1)
101
                    .stroke(Color("color_card_view_border"), lineWidth:1)
117
            )
102
            )
118
            .padding(.horizontal, 5)
103
            .padding(.horizontal, 5)
-
 
104
        }.onAppear {
-
 
105
            self.viewModel.fetchProgress(topicUuid: self.viewModel.topic.uuid, userUuid: self.userUuid)
-
 
106
            
-
 
107
        }
-
 
108
        /*
119
        } .onReceive(NotificationCenter.default.publisher(for: Constants.NOTIFICATION_NAME_CHANGE_PERCENTAJE_COMPLETED_TOPIC))
109
        .onReceive(NotificationCenter.default.publisher(for: Constants.NOTIFICATION_NAME_CHANGE_PERCENTAJE_COMPLETED_TOPIC))
120
        { data in
110
        { data in
121
            let appData =  appDao.selectOne()
111
            let appData =  appDao.selectOne()
122
            if data.userInfo != nil {
112
            if data.userInfo != nil {
123
                if let topicUuid = data.userInfo?["topicUuid"]! as? String {
113
                if let topicUuid = data.userInfo?["topicUuid"]! as? String {
124
                    if !topicUuid.isEmpty && topicUuid == self.viewModel.topic.uuid {
114
                    if !topicUuid.isEmpty && topicUuid == self.viewModel.topic.uuid {
125
                        self.viewModel.fetchProgress(topicUuid: topicUuid, userUuid: appData.userUuid)
115
                        self.viewModel.fetchProgress(topicUuid: topicUuid, userUuid: appData.userUuid)
Línea 126... Línea 116...
126
                        
116
                        
127
                    }
117
                    }
128
                }
118
                }
-
 
119
            }
129
            }
120
        }*/
130
        } .padding(.top, 5)
121
        .padding(.top, 5)
131
    }
122
    }
Línea 132... Línea 123...
132
}
123
}
133
 
124
 
Línea 134... Línea 125...
134
 
125
 
135
 
126
 
136
struct CardTopicView_Previews: PreviewProvider {
127
struct CardTopicView_Previews: PreviewProvider {
Línea 137... Línea 128...
137
    static var previews: some View {
128
    static var previews: some View {