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

    +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
    Главный хтмл файл:
    <div id="load-script" style="display:none">
        $(document).ready(function() {
            $('.social-needs-container__slider-container').slick({
                slidesToShow: 3,
                slidesToScroll:1,
               ...
            });
        });
    </div>
    Директива:
    link: function link($scope, iElement) {
        	Api.get({
    	      ...
    	    }).$promise.then(function(data) {
        		$scope.getContentUrl = function() {
                         var template = 'http://localhost:1337/app/js/modules/core/templates/projects/types/';
    	              ...
        		      return template;
                      }
                     ...
                     var init = angular.element("#load-script");
                     var code = init.text();
                     init.remove();
                     var f = new Function(code);
           	         $timeout(f, 350);
                    ...
    	 });
    },

    Суть в том, что нужно динамически подключать темплейт по урлу, попутно инициализировав сторонний плагин (slick slider).
    Переписовать код слайдера под уже готовую slick-директиву видимо было лень.

    dimashirokov, 29 Сентября 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function windowSize(){
        if (jQuery(window).width() <= '995'){
            var pdiv = jQuery('#fw_c > div:nth-child(5) > div > div > div.vc_row.wpb_row.vc_inner.vc_row-fluid > div:nth-child(2)').parent('#fw_c > div:nth-child(5) > div > div > div.vc_row.wpb_row.vc_inner.vc_row-fluid > div:nth-child(2)');
            pdiv.insertAfter(pdiv.next());
        } 
    }

    Верстаем адаптивно

    http://ru.stackoverflow.com/questions/454209/

    xaja, 28 Сентября 2015

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

    +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
    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
    function cashBonusCalculator(currentDepositValue, el) {
        var $scope = el;
    
        if (!currentDepositValue) {
            currentDepositValue = 0;
        }
        var max_bonus_01 = $scope.find('[name="progr_step_01_max"]'),
            max_bonus_02 = $scope.find('[name="progr_step_02_max"]'),
            max_bonus_03 = $scope.find('[name="progr_step_03_max"]'),
            bonus_start_01 = $scope.find('[name="progr_step_01_start"]'),
            bonus_start_02 = $scope.find('[name="progr_step_02_start"]'),
            bonus_start_03 = $scope.find('[name="progr_step_03_start"]'),
            bonus_amount_01 = $scope.find('[name="progr_step_01_amount"]'),
            bonus_amount_02 = $scope.find('[name="progr_step_02_amount"]'),
            bonus_amount_03 = $scope.find('[name="progr_step_03_amount"]');
    
            if (cash_bonuses_list[0]) {
                max_bonus_01.text('max ' + cash_bonuses_list[0].maxbonus.toMonetaryString());
                bonus_start_01.text(cash_bonuses_list[0].f.toMonetaryString());
                bonus_amount_01.text(cash_bonuses_list[0].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[0].wager + ' ' + wagerType +'; ' + cash_bonuses_list[0].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_01');
            }
            if (cash_bonuses_list[1]) {
                max_bonus_02.text('max ' + cash_bonuses_list[1].maxbonus.toMonetaryString());
                bonus_start_02.text(cash_bonuses_list[1].f.toMonetaryString());
                bonus_amount_02.text(cash_bonuses_list[1].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[1].wager + ' ' + wagerType + '; ' + cash_bonuses_list[1].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_02');
            }
            if (cash_bonuses_list[2]) {
                max_bonus_03.text('max ' + cash_bonuses_list[2].maxbonus.toMonetaryString());
                bonus_start_03.text(cash_bonuses_list[2].f.toMonetaryString());
                bonus_amount_03.text(cash_bonuses_list[2].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[2].wager + ' ' + wagerType + '; ' + cash_bonuses_list[2].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_03');
            }
    
            if (window.CASHBONUSES && window.CASHBONUSES.length > 0) {
                var progressSteps = 3;
                if (cash_bonuses_list[0]) {
                    progressSteps = 1;
                }
                if (cash_bonuses_list[1]) {
                    progressSteps = 2;
                }
                if (cash_bonuses_list[2]) {
                    progressSteps = 3;
                }
    
                if (cash_bonuses_list[0] && currentDepositValue <= cash_bonuses_list[0].t && currentDepositValue >= cash_bonuses_list[0].f) {
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[0].f) / (((cash_bonuses_list[0].t - cash_bonuses_list[0].f) / 100)) * 0.01))) + 'px'
                    });
                    main_gift_amount.text(cash_bonuses_list[0].c + ' ' + currentBonusSumm(cash_bonuses_list[0].bonus, cash_bonuses_list[0].maxbonus, fromCashDepositValue));
                } else if (!cash_bonuses_list[1] && cash_bonuses_list[0] && currentDepositValue > cash_bonuses_list[0].t && currentDepositValue >= cash_bonuses_list[0].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: '100%'
                    });
                    main_gift_amount.text(cash_bonuses_list[0].c + ' ' + currentBonusSumm(cash_bonuses_list[0].bonus, cash_bonuses_list[0].maxbonus, fromCashDepositValue));
                } else if (cash_bonuses_list[1] && currentDepositValue <= cash_bonuses_list[1].t && currentDepositValue >= cash_bonuses_list[1].f) {
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[1].f) / (((cash_bonuses_list[1].t - cash_bonuses_list[1].f) / 100)) * 0.01)) + (main_progress_width / progressSteps)) + 'px'
                    });
                    main_gift_amount.text(cash_bonuses_list[1].c + ' ' + currentBonusSumm(cash_bonuses_list[1].bonus, cash_bonuses_list[1].maxbonus, fromCashDepositValue));
                } else if (!cash_bonuses_list[2] && cash_bonuses_list[1] && currentDepositValue > cash_bonuses_list[1].t && currentDepositValue >= cash_bonuses_list[1].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: '100%'
                    });
                    main_gift_amount.text(cash_bonuses_list[1].c + ' ' + currentBonusSumm(cash_bonuses_list[1].bonus, cash_bonuses_list[1].maxbonus, fromCashDepositValue));
                } else if (cash_bonuses_list[2] && currentDepositValue <= cash_bonuses_list[2].maxbonus && currentDepositValue >= cash_bonuses_list[2].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[2].f) / (((cash_bonuses_list[2].maxbonus - cash_bonuses_list[2].f) / 100)) * 0.01)) + ((main_progress_width / progressSteps) * 2)) + 'px'
                    });

    ambt, 28 Сентября 2015

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    var date_match=time.split('.');
    date_match=new Date(
    	date_match[1]+'-'+date_match[0]+'-'+/[\w\W]+(\d{4,4})\/(\d{4,4})[\w\W]+/.exec(document.title)[(date_match[1]>6)?1:2]//Gangsta
    );

    Darth, 23 Сентября 2015

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    /^.{0}$/.test('')   // true
    /^.{0,}$/.test('')  // true
    /^.{0,1}$/.test('') // true
    /^.{,1}$/.test('')  // false

    http://www.ecma-international.org/ecma-262/5.1/#sec-15.10

    /^.{,1}$/.test('.{,1}') // true

    1024--, 21 Сентября 2015

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

    +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
    function coolSplit(str, pattern) {
      var result = [];
      while(1){
        var m = str.match(pattern);
        if(!m) {
          if(str) result.push(str);
          return result;
        }
        if(m.index) result.push(str.substr(0, m.index));
        result.push(str.substr(m.index, m[0].length));
        str = str.substr(m.index + m[0].length);
      }
    }

    Из шифроскрипта. https://github.com/1024--/govnokod.ru-userscripts/commit/898e6195b9799853b08a01834ce55f8d780757f3#diff-40cd32e1559d395399816968845cb034R151

    coolSplit(str, /expr/) ≡ str.split(/(expr)/) // Говнокод обучающий

    1024--, 18 Сентября 2015

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

    −1

    1. 1
    continueSaving(item, item);

    В node.js 3 вызова функции continueSaving, первый объект новый, второй старый из бд, в самой функции проверяется наличие старого объекта и если есть то он используется, в остальных вызовах все нормально.

    styopdev, 18 Сентября 2015

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

    +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
    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
    case 'create': {
    								promisesCount.create++;
    								try {
    									var data = item.data;
    									data.status = 'new';
    
    									data.syncItemType = item.data.itemType;
    								} catch (e) {
    									console.log('create');
    									console.log(e);
    									console.log(e.stack);
    								}
    								return new vow.Promise(function(resolve, reject){
    									//resolve();
    									app.crud.create('items', data, req.user).then(function () {
    										resolve();
    									}, function (error) {
    										reject(error)
    									});
    								});
    							}
    							case 'update': {
    								promisesCount.update++;
    								try{
    									var data = item.actual;
    									data.citiesPrices = item.data.citiesPrices;
    									if (item.actual.type == 'brick') {
    										for(var key in data.citiesPrices) {
    											data.citiesPrices[key] = item.data.citiesPrices.brickAllRegion;
    										}
    									}
    									data.syncItemType = item.data.itemType;
    
    									if (item.actual.type && item.actual.status == 'site') {
    										if (item.actual.type == 'brick') {
    											if (!item.data.convertion || !item.data.convertion.piecesInPalette || !item.data.convertion.piecesPerMeter) {
    												/*console.log(item.actual.type, item.actual.subType, item.actual.axaptaItemId);
    												console.log(indexProducers[item.actual.producer].name, indexCollections[item.actual.collection].name);*/
    												wrongItems.push(item);
    												wrongItemsCount.brick++;
    											} else {
    												rightItemsCount.brick++;
    												data.countInPallet = item.data.convertion.piecesInPalette;
    												data.piecesPerMeter = item.data.convertion.piecesPerMeter;
    											}
    										} else {
    											if (item.data.measure && ['кв.м.', 'шт.'].indexOf(item.data.measure) != -1) {
    												switch(item.data.measure) {
    													case 'кв.м.': {
    														if (!item.data.convertion || !item.data.convertion.metersInPalette || !item.data.convertion.metersInBox || !item.data.convertion.metersInPiece) {
    															/*console.log(item.actual.type, item.actual.subType, item.actual.axaptaItemId);
    															console.log(indexProducers[item.actual.producer].name, indexCollections[item.actual.collection].name);*/
    															wrongItems.push(item);
    															wrongItemsCount.clinkerItems++;
    														} else {
    															rightItemsCount.clinkerItems++;
    															data.countInPallet = parseInt(item.data.convertion.metersInPalette / item.data.convertion.metersInBox);
    															data.countInPack = parseInt(item.data.convertion.metersInBox / item.data.convertion.metersInPiece);
    														}
    														break;
    													}
    													case 'шт.': {
    														if (!item.data.convertion || !item.data.convertion.piecesInBox) {
    															/*console.log(item.actual.type, item.actual.subType, item.actual.axaptaItemId);
    															console.log(indexProducers[item.actual.producer].name, indexCollections[item.actual.collection].name);*/
    															wrongItems.push(item);
    															wrongItemsCount.clinkerMeters++;
    														} else {
    															rightItemsCount.clinkerMeters++;
    															data.countInPack = item.data.convertion.piecesInBox;
    														}
    														break;
    													}
    												}
    											}
    										}
    									}
    								} catch(e) {
    									console.log('update');
    									console.log(e);
    									console.log(e.stack);
    								}

    Хороший, читабельный код от предыдущих разрабов

    jetcock, 09 Сентября 2015

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

    +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
    var promise = new Promise(function (reject, resolve) {
    			$.ajax({
    				url: url,
    				method: method,
    				contentType: 'application/json',
    				headers: headers,
    				data: JSON.stringify(data),
    				success: function (response) {
    					resolve(response); 
    				},
    				error: function (error) {
    					reject(error);
    				}
    			});
    
    		});

    kon_simeonov, 08 Сентября 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var getVisualizerCount = function() {
        var count = 0;
        if (visualizerConfig && visualizerConfig.visualizers) {
            for (var i = 0; i < visualizerConfig.visualizers.length; i++) {
                count = count + 1;
            }
        }
        return count;
    };

    Достался проект от индусов. И такого коровьего д****а, хоть ж***й жуй. По мере нахождения запощу еще.

    uusb, 08 Сентября 2015

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