appbaseio/reactivesearch

View on GitHub
packages/web/src/components/basic/NumberBox.js

Summary

Maintainability
F
3 days
Test Coverage

Function render has 35 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    render() {
        return (
            <Container style={this.props.style} className={this.props.className}>
                {this.props.title && (
                    <Title className={getClassName(this.props.innerClass, 'title') || null}>
Severity: Minor
Found in packages/web/src/components/basic/NumberBox.js - About 1 hr to fix

    Identical blocks of code found in 3 locations. Consider refactoring.
    Open

        setValue = (value, props = this.props) => {
            // ignore state updates when component is locked
            if (props.beforeValueChange && this.locked) {
                return;
            }
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 2 other locations - About 5 hrs to fix
    packages/web/src/components/list/SingleDropdownList.js on lines 166..187
    packages/web/src/components/range/RatingsFilter.js on lines 116..136

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 148.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Identical blocks of code found in 2 locations. Consider refactoring.
    Open

        componentWillMount() {
            this.props.addComponent(this.props.componentId);
            this.setReact(this.props);
    
            if (this.props.selectedValue) {
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 1 other location - About 4 hrs to fix
    packages/web/src/components/range/SingleRange.js on lines 37..46

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 115.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

    const mapDispatchtoProps = dispatch => ({
        addComponent: component => dispatch(addComponent(component)),
        removeComponent: component => dispatch(removeComponent(component)),
        updateQuery: updateQueryObject => dispatch(updateQuery(updateQueryObject)),
        watchComponent: (component, react) => dispatch(watchComponent(component, react)),
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 11 other locations - About 3 hrs to fix
    packages/maps/src/components/basic/GeoDistanceDropdown.js on lines 532..539
    packages/maps/src/components/basic/GeoDistanceSlider.js on lines 571..578
    packages/web/src/components/basic/TextField.js on lines 260..267
    packages/web/src/components/basic/ToggleButton.js on lines 259..266
    packages/web/src/components/date/DatePicker.js on lines 264..271
    packages/web/src/components/date/DateRange.js on lines 462..469
    packages/web/src/components/range/MultiDropdownRange.js on lines 252..259
    packages/web/src/components/range/MultiRange.js on lines 272..279
    packages/web/src/components/range/RatingsFilter.js on lines 225..232
    packages/web/src/components/range/SingleDropdownRange.js on lines 213..220
    packages/web/src/components/range/SingleRange.js on lines 227..234

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 103.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

                            <Button
                                className={getClassName(this.props.innerClass, 'button') || null}
                                onClick={this.incrementValue}
                                disabled={this.state.currentValue === this.props.data.end}
                            >
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 1 other location - About 2 hrs to fix
    packages/web/src/components/basic/NumberBox.js on lines 184..190

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 91.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

                            <Button
                                className={getClassName(this.props.innerClass, 'button') || null}
                                onClick={this.decrementValue}
                                disabled={this.state.currentValue === this.props.data.start}
                            >
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 1 other location - About 2 hrs to fix
    packages/web/src/components/basic/NumberBox.js on lines 192..198

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 91.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

        incrementValue = () => {
            if (this.state.currentValue === this.props.data.end) {
                return;
            }
            const { currentValue } = this.state;
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 1 other location - About 1 hr to fix
    packages/web/src/components/basic/NumberBox.js on lines 124..130

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 74.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

        decrementValue = () => {
            if (this.state.currentValue === this.props.data.start) {
                return;
            }
            const { currentValue } = this.state;
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 1 other location - About 1 hr to fix
    packages/web/src/components/basic/NumberBox.js on lines 116..122

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 74.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 23 locations. Consider refactoring.
    Open

                    {this.props.title && (
                        <Title className={getClassName(this.props.innerClass, 'title') || null}>
                            {this.props.title}
                        </Title>
                    )}
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 22 other locations - About 1 hr to fix
    packages/maps/src/components/basic/GeoDistanceDropdown.js on lines 447..451
    packages/maps/src/components/basic/GeoDistanceSlider.js on lines 455..459
    packages/web/src/components/basic/TagCloud.js on lines 247..251
    packages/web/src/components/basic/TextField.js on lines 175..179
    packages/web/src/components/basic/ToggleButton.js on lines 191..195
    packages/web/src/components/date/DatePicker.js on lines 173..177
    packages/web/src/components/date/DateRange.js on lines 305..309
    packages/web/src/components/list/MultiDataList.js on lines 341..345
    packages/web/src/components/list/MultiDropdownList.js on lines 346..350
    packages/web/src/components/list/MultiList.js on lines 384..388
    packages/web/src/components/list/SingleDataList.js on lines 259..263
    packages/web/src/components/list/SingleDropdownList.js on lines 252..256
    packages/web/src/components/list/SingleList.js on lines 291..295
    packages/web/src/components/range/DynamicRangeSlider.js on lines 404..408
    packages/web/src/components/range/MultiDropdownRange.js on lines 187..191
    packages/web/src/components/range/MultiRange.js on lines 194..198
    packages/web/src/components/range/RangeSlider.js on lines 289..293
    packages/web/src/components/range/RatingsFilter.js on lines 155..159
    packages/web/src/components/range/SingleDropdownRange.js on lines 148..152
    packages/web/src/components/range/SingleRange.js on lines 148..152
    packages/web/src/components/search/CategorySearch.js on lines 568..572
    packages/web/src/components/search/DataSearch.js on lines 482..486

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 62.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 7 locations. Consider refactoring.
    Open

    const mapStateToProps = (state, props) => ({
        selectedValue: state.selectedValues[props.componentId]
            ? state.selectedValues[props.componentId].value
            : null,
    });
    Severity: Major
    Found in packages/web/src/components/basic/NumberBox.js and 6 other locations - About 50 mins to fix
    packages/native/src/components/date/DatePicker.js on lines 330..334
    packages/native/src/components/date/DateRange.js on lines 495..499
    packages/native/src/components/range/MultiDropdownRange.js on lines 323..327
    packages/web/src/components/date/DatePicker.js on lines 258..262
    packages/web/src/components/date/DateRange.js on lines 456..460
    packages/web/src/components/range/MultiRange.js on lines 266..270

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 52.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

            checkPropChange(this.props.queryFormat, nextProps.queryFormat, () => {
                this.updateQuery(this.state.currentValue, nextProps);
            });
    Severity: Minor
    Found in packages/web/src/components/basic/NumberBox.js and 2 other locations - About 35 mins to fix
    packages/native/src/components/range/MultiDropdownRange.js on lines 61..63
    packages/native/src/components/range/SingleDropdownRange.js on lines 48..50

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 46.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    There are no issues that match your filters.

    Category
    Status