1. JavaScript / Говнокод #26737

    +2

    1. 1
    2. 2
    3. 3
    nameState() {
        return this.name.length > 2 ? true : false
    }

    Из документации Bootstrap Vue
    https://bootstrap-vue.org/docs/components/form-input#contextual-states

    JonMagon, 06 Июня 2020

    Комментарии (46)
  2. JavaScript / Говнокод #26729

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    import * as React from 'react';
    import {CityFromSelector} from './components/cityFromSelector';
    import {CountryToSelector} from './components/countryToSelector';
    import {MealsTypeSelector} from './components/mealsTypeSelector';
    import {DepartureDatesRangeSelector} from './components/departureDatesRangeSelector';
    import {HotelCategoriesSelector} from './components/hotelCategoriesSelector';
    import {ResortSelector} from './components/resortSelector';
    import {HotelsSelector} from './components/hotelsSelector';
    import {TouristsSelector} from './components/touristsSelector';
    import {OperatorsSelector} from './components/operatorsSelector';
    import {NightsCountRangeSelector} from './components/nightsCountRangeSelector';
    import {PriceRangeSelector} from './components/priceRangeSelector';
    import {FlightInfo} from './components/flightInfo';
    import {SearchFormActionCreator} from './search/searchFormActionCreator';
    import {HotelsCountPopup} from './components/hotelsCountLimitPopup';
    import * as throttle from 'lodash/throttle';
    import * as filter from 'lodash/filter';
    import * as union from 'lodash/union';
    import * as merge from 'lodash/merge';
    import * as reduce from 'lodash/reduce';
    import * as chunk from 'lodash/chunk';
    import * as difference from 'lodash/difference';
    import * as differenceBy from 'lodash/differenceBy';
    import { Tour } from 'sletat-api-services/lib/ModuleApiServices/Main.svc/GetTours/Tour';
    import { logViewedTours } from 'sletat-api-services/lib/GraphApiServices/Main.svc/LogViewedTours/LogViewedTours';
    import { OilTax } from 'sletat-api-services/lib/ModuleApiServices/Main.svc/GetTours/OilTax';
    import { VisaFee } from 'sletat-api-services/lib/ModuleApiServices/Main.svc/GetTours/VisaFee';
    import { getHotelImageSrc } from 'sletat-common-utils/lib/tour/getHotelImageSrc';
    import { declineByCount } from 'sletat-common-utils/lib/format/declineByCount';
    import { Tour as GetToursTour } from 'sletat-api-services/lib/ModuleApiServices/Main.svc/GetTours/Tour';
    import { Tour } from './tour';
    import { IVisaFee } from './visaFee';
    import { IOilTax } from './oilTaxes';
    import { UiPopup } from 'react-sletat-uikit/lib/ui-popup/UiPopup';
    import { UiLoader } from 'react-sletat-uikit/lib/ui-loader/UiLoader';
    import {
        SendConfirmEmailResults,
        recoverySendConfirmEmail,
        registrationSendConfirmEmail
    } from 'sletat-api-services/lib/SletatServices/Services/SendConfirmEmail/SendConfirmEmail';
    import { authentification } from 'sletat-api-services/lib/SletatServices/Authentification';
    import LoginPopup from './components/Login';
    import RegistrationPopup from './components/Registration';
    import RecoveryPopup from './components/Recovery';
    import SuccessPopup from './components/Success';
    import { PopupTypes } from './constants';

    может это уже нормально в современном фронтенде

    tablecell, 02 Июня 2020

    Комментарии (24)
  3. JavaScript / Говнокод #26722

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    吾有一術。名之曰「斐波那契」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
    	若「甲」等於零者乃得零也
    	若「甲」等於一者乃得一也
    	減「甲」以一。減「甲」以二。名之曰「乙」。曰「丙」。
    	施「斐波那契」於「乙」。名之曰「丁」。
    	施「斐波那契」於「丙」。名之曰「戊」。
    	加「丁」以「戊」。名之曰「己」。
    	乃得「己」。
    是謂「斐波那契」之術也。
    
    施「斐波那契」於十二。書之。

    文言 wenyan-lang
    Числа Фибоначчи.

    https://github.com/wenyan-lang/wenyan

    jojaxon, 01 Июня 2020

    Комментарии (4)
  4. JavaScript / Говнокод #26702

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    <!DOCTYPE html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
    <canvas id='pixel_canvas'></canvas>
    <pre id='text_canvas'></pre>
    <script>
        'use strict';
        function tryFetch() {
            const array = arguments[0];
            const onError = arguments[arguments.length - 1];
            let result = array;
            for (let i = 1; i < arguments.length - 1; ++i) {
                if (arguments[i] < result.length) {
                    result = result[arguments[i]];
                } else {
                    return onError;
                }
            }
            return result;
        }
    
        function bitmap2tetramap(bitmap) {
            let tetramap = []
            for (let i = 0; i < bitmap.length; i += 2) {
                tetramap.push([]);
                for (let j = 0; j < bitmap[i].length; j += 2) {
                    tetramap[tetramap.length - 1].push(
                        tryFetch(bitmap, i, j, 0) << 3 |
                        tryFetch(bitmap, i, j + 1, 0) << 2 |
                        tryFetch(bitmap, i + 1, j, 0) << 1 |
                        tryFetch(bitmap, i + 1, j + 1, 0)
                    );
                }
            }
            return tetramap;
        }
    
        function renderTetramap(tetramap) {
            const tiles = [
                ' ', '▗', '▖', '▄',
    
                '▝', '▐', '▞', '▟',
    
                '▘', '▚', '▌', '▙',
    
                '▀', '▜', '▛', '█'
            ];
            return tetramap.map(row => row.map(i => tiles[i]).join('')).join('<br>');
        }
    
        function renderBitmap(bitmap) {
            return renderTetramap(bitmap2tetramap(bitmap));
        }
    
        function rgba2bitmap(rgba, width, height) {
            let bitmap = [];
            for (let i = 0; i < height; ++i) {
                bitmap.push([]);
                for (let j = 0; j < width; ++j) {
                    const currentRGBAElementIndex = (i * width * 4) + j * 4;
                    const red = rgba[currentRGBAElementIndex];
                    const green = rgba[currentRGBAElementIndex + 1];
                    const blue = rgba[currentRGBAElementIndex + 2];
                    const a = rgba[currentRGBAElementIndex + 3];
                    bitmap[i].push((red + green + blue + a) / 4 > 0? 1 : 0);
                }
            }
            return bitmap;
        }
    
        function renderImageData(imageData) {
            return renderBitmap(rgba2bitmap(imageData.data, imageData.width, imageData.height));
        }
    
        const ctx = pixel_canvas.getContext("2d");
        ctx.font = "16px serif";
        ctx.fillText("Какой багор )))", 0, 16);
    
        text_canvas.innerHTML = renderImageData(ctx.getImageData(0, 0, pixel_canvas.width, pixel_canvas.height));
    </script>
    </body>

    HIV, 28 Мая 2020

    Комментарии (19)
  5. JavaScript / Говнокод #26691

    +2

    1. 1
    2. 2
    3. 3
    function isNative (Ctor){
      return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
    }

    https://habr.com/ru/company/ruvds/blog/503634/
    >>> 5 интересных JavaScript-находок, сделанных в исходном коде Vue

    gost, 26 Мая 2020

    Комментарии (46)
  6. JavaScript / Говнокод #26679

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    $openTab.on('click', function () {
                $('.c-header__nav__level-1').hide();
                $('.c-header__nav__level-back').show();
                $tabContent.show();
            });
    
            //показываем меню 1 уровня когда нажимаем на бургер
    
            $('.c-header__toggler--burger').on('click', function () {
                $('.c-header__toggler').toggle();
                $('.c-header__nav__level-1').fadeIn();
                $('body').addClass('body-no-scroll');
    
            });
    
            //скрытие на кнопку закрытие
    
            $('.c-header__toggler--close').on('click', function () {
                $('.c-header__toggler').toggle(); //сама кнопка
                $('.c-header__nav__level-1').fadeOut(); //закрываем первый уровень
                $tabContent.fadeOut(); //закрываем второй уровень
                setTimeout(function () { //тайм-аут для восстановления 2 уровня по умолчанию
                    $('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show');
                    $('.c-header__nav__level-2-item').show();
                }, 800);
                $('.c-header__nav__level-3').fadeOut(); //закрываем 3 уровень
                $('.c-header__nav__back').fadeOut(); // закрываем все кнопки 'назад'
                $('body').removeClass('body-no-scroll');
            });
    
            //кнопка "назад" со 2 на 1 уровень
    
            $('.c-header__nav__level-back').on('click', function () {
                $(this).hide().parent().hide().prev().show();
            });
    
            $('.c-header__nav__level-2-back').on('click', function () {
    
                $(this).hide();
                $(this).prev().show();
                $('.c-header__nav__level-2').removeClass('is-active');
            });
    
            //кнопка "назад" с 3 на 2 уровень
    
            $('.c-header__nav__level-3-back').on('click', function () {
                $(this).hide()
                    .parent().find('.c-header__nav__level-2-item--show').removeClass('c-header__nav__level-2-item--show'); // восстановления 2 уровня по умолчанию
                $('.c-header__nav__level-2-item').show(); // восстановления 2 уровня по умолчанию
                $('.c-header__nav__level-2-back').show(); //восстанавливаем кнопку "назад" 2 уровня
                $('.c-header__nav__level-3').hide(); //закрываем 3 уровень
    
    
            });
    
            //переход с 2 на 3 уровень
    
            $('.c-header__nav__level-2-item').on('click', function () {
                $('.c-header__nav__level-2-item').not($(this)).hide(); //закрываем весь 2 уровень кроме нажатого
                $(this).addClass('c-header__nav__level-2-item--show'); //стили для нажатого 2 уровня
                $('.c-header__nav__level-2-back').hide(); //скрываем кнопку "назад" 2 уровня
                $('.c-header__nav__level-3').show(); // показываем кнопку "назад" 3 уровня
                $('.c-header__nav__level-3-back').show(); //показываем 3 уровень
            });
    
            //новое меню
            $('body').on('click', '.c-header__nav__level-left__link.parent', function (e) {
                e.preventDefault();
                $(this).next('ul').addClass('is-active');
                $('.c-header__nav__level-2-back').show();
                $('.c-header__nav__level-back').hide();
            });

    Главное, что задокументировано

    phpBidlokoder2, 21 Мая 2020

    Комментарии (2)
  7. JavaScript / Говнокод #26630

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <script src="3.js"></script>
    <script> alert("part2") </script>
    <script src="1.js"></script>
     в 3.js 
    'use strict'
    let age = Number(null)
    alert(age)

    почему-то результат разный = то part2 то 0, ничего не меняю, просто результат разный каждый раз

    AtivniyGOMIkk228, 02 Мая 2020

    Комментарии (14)
  8. JavaScript / Говнокод #26622

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    (() => {
    const urlPrefix = 'https://distrochooser.de/en/';
    const msgs = [];
    let msg = '';
    for (let i = 479076; i > 0; --i) {
    const url = urlPrefix + i;
    if (msg.length + url.length + 1 < 2000) {
    msg += '\n';
    msg += url;
    } else {
    msgs.push(msg);
    msg = url;
    }
    }
    return msgs;
    })()

    Проходим мимо, не обращаем внимания.

    Ведутся SEO-работы.

    Needless, 30 Апреля 2020

    Комментарии (69)
  9. JavaScript / Говнокод #26620

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    'use strict';
    
    const isOdd = require("is-odd");
    
    module.exports = function isIsOdd(func) {
    	return func == isOdd;
    }

    https://www.npmjs.com/package/is-is-odd

    Why

    Some functions are not is-odd but they might make you think they're is-odd, this package helps you identify these functions with a simple interface.

    Нить бессмысленных npm-модулей.

    3.14159265, 29 Апреля 2020

    Комментарии (143)
  10. JavaScript / Говнокод #26605

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    $('#spheres__street-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__street-content').addClass('active');
                    });
    
                    $('#spheres__sport-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__sport-content').addClass('active');
                    });
    
                    $('#spheres__prom-nav').hover(function () {
                        $('.header-submenu__spheres-nav__item').removeClass('active');
                        $('.header-submenu__spheres-menu').removeClass('active');
                        $(this).addClass('active');
                        $('#spheres__prom-content').addClass('active');
                    });

    Когда не можешь загуглить, как делаются табы

    phpBidlokoder2, 27 Апреля 2020

    Комментарии (5)