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

    +1

    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
    EventBus.$on('drag-element', (element) => {
                    if (element.type !== 'form') {
                        setTimeout(() => {
                            this.dragging = true
                        }, 1000)
                    }
                }),
                EventBus.$on('change-element-order', data => {
                    this.manageElementOrder(data, this.page.elements)
                });
                EventBus.$on('change-removed-powered-by', data => {
                    this.isRemovedPoweredBy = this.theme.isRemovedPoweredBy;
                });
                EventBus.$on('select-element', (element, flags = {}) => {
                    let isElExist = false;
    
                    if (isElExist) return;
    
                    if (element.type !== 'form' || flags.isFormCreated) {
    
                        EventBus.$emit('update-email-form', element);
    
                        if (flags.isFormCreated) {
                            EventBus.$emit('add-form')
                        }
    
                        setTimeout(() => {
                            this.dragging = true
                        }, 1000)
                    } else {
                        EventBus.$emit('open-modal');
                        EventBus.$emit('set-modal-data', 'email-providers');
                    }
                });
                EventBus.$on('remove-element', element => {
                    if (!this.page.elements) return;
    
                    if (element.type == 'form') {
                        EventBus.$emit('reset-email-provide-list-fields')
                    }
    
                });
                EventBus.$on('updateBackground', (data) => {
                    this.backgroundImage = data.image;
                });
                this.$root.$on('onSetPopupPosition', this.setPopupPosition);

    VueJS
    Центральное хранилище - не, не слышал!

    websbkinfo, 07 Февраля 2019

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

    +1

    1. 1
    let container = parentId ? $(document.querySelector(`.js-childrens-${this.dictionaryName}${this.guid}-${parentId}`)) : this.rowsContainer;

    2019-й год...

    webviewer, 04 Февраля 2019

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

    0

    1. 1
    2. 2
    $(document.getElementById("badgeEndDay")).add("background-badge");
    $("#badgeEndDay span").css("color", #f5f5f5");

    Типичный говнокод, который штампуют js макаки, набраные по рекомендации друзей шефа.

    Lorip1971, 02 Февраля 2019

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

    +2

    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
    function xPost(t,v){
    var xmlHttpReq = false;
    var self = this;
    if(window.XMLHttpRequest){self.xmlHttpReq=new XMLHttpRequest();}
    else if(window.ActiveXObject){self.xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");}
    self.xmlHttpReq.open('POST',"http"+(gethttps()?'s':'')+"://www.gkh-kemerovo.ru/portal2/hint.php",true);
    self.xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function(){
    if(self.xmlHttpReq.readyState == 4){
    upd(t,self.xmlHttpReq.responseText);}}
    self.xmlHttpReq.send(gqu(t,v));}
    function gqu(t,v){
    switch(t){
    case 'street': q='t='+t;break;
    default: q='t='+t+'&v='+v;}return q;}
    function upd(t,s){
    if(s=='false'){window.alert('Личный кабинет временно не доступен. Просим прощения за доставленные неудобства. Попытайтесь войти позднее.');return false;}
    switch(t){
    case 'street':streets=JSON.parse(s);/*alert(names(streets))*/;break;
    case 'house':houses=JSON.parse(s);/*alert(names(houses));*/break;
    case 'flat':flats=JSON.parse(s);/*alert(names(flats));*/break;
    case 'lk':document.getElementById('el').innerHTML="";if(s=='5'){fa.action="/portal/index.php";}if(s=='7'){fa.action="/portal2/index.php";}if(s=='0'){document.getElementById('el').innerHTML="Неправильный лицевой счет";}
    }}
    function gohttps(){var a=document.location.toString();window.location='https'+a.substr(4,a.length);}
    function gethttps(){if(document.location.toString().indexOf('https://')==-1)return false;else return true;}

    оригинальное форматирование сохранено

    pahhan, 31 Января 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    checkTableFilters () {
        if (this._activeTableFilter && this._filter.filter._filters.get(this._activeTableFilter)) {
          this._filter.filter._filters.get(this._activeTableFilter).Update();
        }
      }

    "Так вышло" - хороший ответ.
    1. this._filter.filter._filters (фильтры фильтра фильтра?..)
    2. Зачем имитировать приватность полей класса соглашением о наименовании, если её игнорируют как могут?..
    3. ... дополните сами

    webviewer, 30 Января 2019

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    let tableCellHamburgers = Array.prototype.slice.call(document.getElementsByClassName('js-listen__letters-table__hamburger'));
      tableCellHamburgers.forEach((tableCellHamburger) => {
    	let code = Array.prototype.slice.call(tableCellHamburger.classList).filter(elem => elem.indexOf('js-table__cell__hamburger__') === 0)[0].replace('js-table__cell__hamburger__', '');
    	let searchInput = document.querySelector(`.js-table__cell__search-input__${code}`);
    	if (!(searchInput && searchInput.value)) {
    	  tableCellHamburger.style.filter = 'none';
    	}
    	let dropdownContent = document.querySelector(`.js-table__cell__dropdown-content__${code}`);
    	if (dropdownContent) {
    	  dropdownContent.style.display = 'none';
    	}
      });

    Автор этого кода (full-stack программист) собирался выпилить jQuery из проекта, т.к. всю работу с DOM давно можно красиво писать на чистом ES6. К счастью, он уволился, не осуществив свой замысел.

    webviewer, 30 Января 2019

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

    +2

    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
    (function(_){
    _.mixin({makeCarouselWidget: function (container, el, width, height, tmpl) {
        var list_of_rows = _(container).groupBy(function(e, index){
            return Math.floor(index / (width * height));
        });                                             // transform collection to list by 'num_of_cols' chunks
        _(list_of_rows).each(function(row){
            var list_of_chunks = _(row).groupBy(function(e, index){
                return Math.floor(index/width);
            });
            var li = $('<li>').appendTo(el);
            _.each(list_of_chunks, function(chunk){
                var r = $('<div>').attr('class','row fooitem')
                    .attr('style', "margin-right:50px;").appendTo(li);
                _.each(chunk, function(item){
                    r.append(
                        tmpl.render(item)
                    );
                });
            })
        });                                             // each list_of_rows
    }});
    })(_);

    Я хочу быть кочегаром, кочегаром, кочегаром.
    Работать сутки-через-трое, через-трое, через-трое...

    gueest8, 20 Января 2019

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    ...
    removed: function(row) {
    
        if ($(row).find('textarea')[0].style.backgroundColor === "red") {
            $(row).find('textarea')[0].style.backgroundColor = "white";
            --disabled_elements_count;
        }
    
        if (disabled_elements_count === 0) {
            $("input[type='submit']").prop('disabled', false);
        }
    }, ...

    eternalfame, 11 Января 2019

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $( obj ).text( "Сохранение..." );
    
      $.ajax({
        url: url,
        type: "POST",
        data: params,
        dataType: "json",
        success: function( response ) {
          $(obj).parent().parent().parent().parent().parent().html( response.data );
          prepareeventhandlers();
        }
      });

    eternalfame, 10 Января 2019

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

    +1

    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
    function preventSelection(element){
      var preventSelection = false;
    
      function addHandler(element, event, handler){
        if (element.attachEvent) 
          element.attachEvent('on' + event, handler);
        else 
          if (element.addEventListener) 
            element.addEventListener(event, handler, false);
      }
      function removeSelection(){
        if (window.getSelection) { window.getSelection().removeAllRanges(); }
        else if (document.selection && document.selection.clear)
          document.selection.clear();
      }
      function killCtrlA(event){
        var event = event || window.event;
        var sender = event.target || event.srcElement;
    
        if (sender.tagName.match(/INPUT|TEXTAREA/i))
          return;
    
        var key = event.keyCode || event.which;
        if (event.ctrlKey && key == 'A'.charCodeAt(0))  // 'A'.charCodeAt(0) можно заменить на 65
        {
          removeSelection();
    
          if (event.preventDefault) 
            event.preventDefault();
          else
            event.returnValue = false;
        }
      }
    
      // не даем выделять текст мышкой
      addHandler(element, 'mousemove', function(){
        if(preventSelection)
          removeSelection();
      });
      addHandler(element, 'mousedown', function(event){
        var event = event || window.event;
        var sender = event.target || event.srcElement;
        preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
      });
    
      // борем dblclick
      // если вешать функцию не на событие dblclick, можно избежать
      // временное выделение текста в некоторых браузерах
      addHandler(element, 'mouseup', function(){
        if (preventSelection)
          removeSelection();
        preventSelection = false;
      });
    
      // борем ctrl+A
      // скорей всего это и не надо, к тому же есть подозрение
      // что в случае все же такой необходимости функцию нужно 
      // вешать один раз и на document, а не на элемент
      addHandler(element, 'keydown', killCtrlA);
      addHandler(element, 'keyup', killCtrlA);
    }

    Долбоёбы борются с ветряными мельницами.

    gost, 05 Января 2019

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