Neovici/cosmoz-omnitable

View on GitHub

Showing 117 of 117 total issues

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

    deserializeFilter(column, filter) {
        if (filter == null || filter === '') {
            return null;
        }
        const matches = filter.match(/^([^~]+)?~([^~]+)?/iu);
Severity: Major
Found in cosmoz-omnitable-column-datetime.js and 4 other locations - About 3 hrs to fix
cosmoz-omnitable-column-amount.js on lines 84..98
cosmoz-omnitable-column-date.js on lines 68..82
cosmoz-omnitable-column-number.js on lines 82..96
cosmoz-omnitable-column-time.js on lines 86..100

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 97.

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 5 locations. Consider refactoring.
Open

    deserializeFilter(column, filter) {
        if (filter == null || filter === '') {
            return null;
        }
        const matches = filter.match(/^([^~]+)?~([^~]+)?/iu);
Severity: Major
Found in cosmoz-omnitable-column-date.js and 4 other locations - About 3 hrs to fix
cosmoz-omnitable-column-amount.js on lines 84..98
cosmoz-omnitable-column-datetime.js on lines 77..91
cosmoz-omnitable-column-number.js on lines 82..96
cosmoz-omnitable-column-time.js on lines 86..100

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 97.

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

Function SettingsUI has 73 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    SettingsUI = (host) => {
        const {
            settings,
            settingsId,
            onSave,
Severity: Major
Found in lib/settings/cosmoz-omnitable-settings.js - About 2 hrs to fix

    Function processedItems has 70 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

            processedItems = useMemo(() => {
                if (
                    !noLocalSort &&
                    !groupOnColumn &&
                    sortOnColumn != null &&
    Severity: Major
    Found in lib/use-processed-items.js - About 2 hrs to fix

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

          serializeFilter(column, filter) {
              if (filter == null) {
                  return;
              }
              const min = toDate(filter.min),
      Severity: Major
      Found in cosmoz-omnitable-column-date.js and 3 other locations - About 2 hrs to fix
      cosmoz-omnitable-column-datetime.js on lines 64..75
      cosmoz-omnitable-column-number.js on lines 69..80
      cosmoz-omnitable-column-time.js on lines 73..84

      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 89.

      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 4 locations. Consider refactoring.
      Open

          serializeFilter(column, filter) {
              if (filter == null) {
                  return;
              }
              const min = toDate(filter.min),
      Severity: Major
      Found in cosmoz-omnitable-column-time.js and 3 other locations - About 2 hrs to fix
      cosmoz-omnitable-column-date.js on lines 55..66
      cosmoz-omnitable-column-datetime.js on lines 64..75
      cosmoz-omnitable-column-number.js on lines 69..80

      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 89.

      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 4 locations. Consider refactoring.
      Open

          serializeFilter(column, filter) {
              if (filter == null) {
                  return;
              }
              const min = toNumber(filter.min),
      Severity: Major
      Found in cosmoz-omnitable-column-number.js and 3 other locations - About 2 hrs to fix
      cosmoz-omnitable-column-date.js on lines 55..66
      cosmoz-omnitable-column-datetime.js on lines 64..75
      cosmoz-omnitable-column-time.js on lines 73..84

      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 89.

      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 4 locations. Consider refactoring.
      Open

          serializeFilter(column, filter) {
              if (filter == null) {
                  return;
              }
              const min = toDate(filter.min),
      Severity: Major
      Found in cosmoz-omnitable-column-datetime.js and 3 other locations - About 2 hrs to fix
      cosmoz-omnitable-column-date.js on lines 55..66
      cosmoz-omnitable-column-number.js on lines 69..80
      cosmoz-omnitable-column-time.js on lines 73..84

      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 89.

      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

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

          render() {
              const onOpenedChanged = (event) => {
                  this.headerFocused = event.detail.value;
                  this._onDropdownOpenedChanged(event);
              };
      Severity: Major
      Found in lib/cosmoz-omnitable-amount-range-input.js - About 2 hrs to fix

        Function properties has 64 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                static get properties() { // eslint-disable-line max-lines-per-function
                    return {
                        filter: {
                            type: Object,
                            notify: true
        Severity: Major
        Found in lib/cosmoz-omnitable-range-input-mixin.js - About 2 hrs to fix

          Function useSortAndGroupOptions has 60 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          export const useSortAndGroupOptions = (
                  columns,
                  hashParam,
                  settings,
                  setSettings,
          Severity: Major
          Found in lib/use-sort-and-group-options.js - About 2 hrs to fix

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

                render() {
                    const onOpenedChanged = (event) => {
                        this.headerFocused = event.detail.value;
                        this._onDropdownOpenedChanged(event);
                    };
            Severity: Major
            Found in lib/cosmoz-omnitable-number-range-input.js - About 2 hrs to fix

              Function generateTableDemoData has 56 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              export const generateTableDemoData = (min, max, maxRandomString) => {
                  const groupsCount = getRandomInt(min, max),
                      data = [],
                      descriptions = [
                          'Lorem ipsum dolor sit amet',
              Severity: Major
              Found in demo/table-demo-helper.js - About 2 hrs to fix

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

                    makeFormatter = memoooize((locale, minimumFractionDigits, maximumFractionDigits) => {
                        const options = {
                            localeMatcher: 'best fit' // chrome expects this when using custom options
                        };
                        if (minimumFractionDigits !== null) {
                Severity: Major
                Found in lib/utils-number.js and 1 other location - About 2 hrs to fix
                lib/cosmoz-omnitable-number-range-input.js on lines 98..109

                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 79.

                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

                    _computeFormatter(locale, minimumFractionDigits, maximumFractionDigits) {
                        const options = {
                            localeMatcher: 'best fit', // chrome expects this when using custom options
                        };
                        if (minimumFractionDigits !== null) {
                Severity: Major
                Found in lib/cosmoz-omnitable-number-range-input.js and 1 other location - About 2 hrs to fix
                lib/utils-number.js on lines 72..83

                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 79.

                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

                    getString = ({ valuePath, locale }, item) => {
                        const value = toDate(get(item, valuePath));
                        if (value === undefined) {
                            return '';
                        }
                Severity: Major
                Found in lib/utils-time.js and 1 other location - About 2 hrs to fix
                lib/utils-datetime.js on lines 28..37

                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 79.

                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

                    getString = ({ valuePath, locale }, item) => {
                        const value = toDate(get(item, valuePath));
                        if (value === undefined) {
                            return '';
                        }
                Severity: Major
                Found in lib/utils-datetime.js and 1 other location - About 2 hrs to fix
                lib/utils-time.js on lines 45..54

                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 79.

                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

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

                    render() {
                        return html`
                            <style>
                                paper-dropdown-menu {
                                    --iron-icon-width: 0;
                Severity: Major
                Found in lib/cosmoz-omnitable-datetime-range-input.js - About 2 hrs to fix

                  Function mkNapi has 54 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                  const mkNapi = (host) => {
                      const /**
                           * Helper method to remove an item from `data`.
                           * @param     {Object} item Item to remove
                           * @return {Object} item removed
                  Severity: Major
                  Found in lib/use-public-interface.js - About 2 hrs to fix

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

                        getFilterFn(column, filter) {
                            const min = getComparableValue({ ...column, valuePath: 'min' }, filter),
                                max = getComparableValue({ ...column, valuePath: 'max' }, filter);
                    
                            if (min == null && max == null) {
                    Severity: Major
                    Found in cosmoz-omnitable-column-amount.js and 4 other locations - About 2 hrs to fix
                    cosmoz-omnitable-column-date.js on lines 28..37
                    cosmoz-omnitable-column-datetime.js on lines 37..46
                    cosmoz-omnitable-column-number.js on lines 43..51
                    cosmoz-omnitable-column-time.js on lines 47..55

                    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 78.

                    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

                    Severity
                    Category
                    Status
                    Source
                    Language