• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Brightspace / react-valence-ui-fileviewer / 7111280825

06 Dec 2023 07:04AM UTC coverage: 56.35% (-32.8%) from 89.198%
7111280825

push

github

web-flow
Merge pull request #114 from Brightspace/venkata/node-sass-update-2

adding npm i in release.yml

604 of 1444 branches covered (0.0%)

1624 of 2882 relevant lines covered (56.35%)

11.45 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

64.34
/src/plugins/generic/viewer.js
1
'use strict';
2

3
var React = require('react'),
20!
4
        Download = require('./download.js'),
5
        Icon = require('./icon.js'),
2✔
6
        Size = require('./size.js'),
2✔
7
        fileInfoProvider = require('../../fileInfoProvider');
2✔
8

2✔
9
var Viewer = React.createClass({
2✔
10
        propTypes: {
11
                srcdownload: React.PropTypes.string,
2✔
12
                locale: React.PropTypes.string,
13
                progressCallback: React.PropTypes.func,
14
                mimeType: React.PropTypes.string,
15
                resizeCallback: React.PropTypes.func
16
        },
17
        contextTypes : {
18
                getIntlMessage: React.PropTypes.func
19
        },
20
        getInitialState: function() {
21
                return {
22
                        info: null,
23
                        error: null
19✔
24
                };
25
        },
26
        componentDidMount: function() {
27
                this.fetchFileInfo(this.props.srcdownload);
28
                if (this.props.progressCallback) {
29
                        this.props.progressCallback(100, 'certain');
19✔
30
                }
19!
31
                if (this.props.resizeCallback) {
×
32
                        this.props.resizeCallback('100%', true);
33
                }
19✔
34
        },
2✔
35
        componentWillReceiveProps: function(nextProps) {
36
                if (nextProps.srcdownload !== this.props.srcdownload) {
37
                        this.setState({ info:null, error: null });
38
                        this.fetchFileInfo(nextProps.srcdownload);
×
39
                }
×
40
        },
×
41
        fetchFileInfo: function(downloadSrc) {
42
                var me = this;
43

44
                fileInfoProvider(downloadSrc, function(err, fileInfo) {
19✔
45
                        if (!me.isMounted()) {
46
                                return;
19✔
47
                        }
18!
48
                        if (err) {
×
49
                                me.setState({error: err});
50
                                return;
18✔
51
                        }
2✔
52
                        me.setState({info: fileInfo});
2✔
53
                });
54
        },
16✔
55
        render: function() {
56
                var headerMessage = this.context.getIntlMessage('Plugins.Generic.CanNotOpenFile'),
57
                        subHeaderMessage = null,
58
                        downloadArea = '';
37✔
59

37✔
60
                if (this.state.error) {
37✔
61
                        subHeaderMessage = this.context.getIntlMessage('Plugins.Generic.NoAccess');
62
                } else if (this.state.info) {
37✔
63
                        subHeaderMessage = this.context.getIntlMessage('Plugins.Generic.PleaseDownload');
2✔
64
                        downloadArea = <div className="generic-download-area">
35✔
65
                                        <Size ref="fileSize" value={this.state.info.size} locale={this.props.locale} />
14✔
66
                                        <Download ref="download" src={this.props.srcdownload} />
14✔
67
                                </div>;
68
                } else {
69
                        return null;
70
                }
71

72
                var mimeType = (this.state.info) ? this.state.info.mimeType : this.props.mimeType;
73

21✔
74
                return (<div className="vui-fileviewer-generic">
75
                        <div className="vui-fileviewer-generic-container">
76
                                <div className="vui-fileviewer-generic-main">
16✔
77
                                        <div className="generic-header-icon-container">
78
                                                <div className="generic-headers">
16✔
79
                                                        <div className="vui-fileviewer-generic-header">{headerMessage}</div>
80
                                                        <div className="vui-fileviewer-generic-subheader">{subHeaderMessage}</div>
81
                                                </div>
82
                                                <Icon mimeType={mimeType} />
83
                                        </div>
84
                                        {downloadArea}
85
                                </div>
86
                        </div>
87
                </div>);
88
        }
89
});
90

91
module.exports = Viewer;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc