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

    +154

    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
    var setIdToGridElements = function (gridId, gridConfig, idPrefix) {
    			var gridEl = Ext.get(gridId);
    			if (!gridEl) {
    				return;
    			}
    			var nodes = gridEl.dom.childNodes; // это массив всех элементов грида
    			var el;
    			for (var i = 0; i < nodes.length; i++) {
    				el = Ext.get(nodes[i].id);
    				if (el) {
    					var elements = el.dom.childNodes[i];
    					if (elements) {
    						var rowParameters = elements.children;				// это массив всех елементов строки
    						for (var j = 0; j < rowParameters.length; j++) {
    							var parameterEl = rowParameters[j].childNodes;
    							var newId = gridEl.id + '-' + gridConfig[0][j].key[1].name.bindTo + '-' + i;
    							parameterEl[1].className = "gridValue";
    							for (var k = 0; k < parameterEl.length; k++) {
    								parameterEl[k].id = newId + '-' + parameterEl[k].className;
    							}
    						}
    					}
    				}
    				// Выбираем все строки - элементы грида с ненулевым Id
    
    			}
    		};

    Авторские комментарии сохранены. Понимаю, что надо править и боюсь

    Запостил: alex123098, 11 Апреля 2014

    Комментарии (2) RSS

    • Я бы начал с того что:
      var filtered = nodes.filter(<функция выбирающаяй только нужные узлы>);
      filtered.forEach(function (node, offset) {
          var i = getI(node.parentNode);
          var j = getJ(node, i);
          var k = offset;
          <оригинальные манипуляции с id>
      });
      Ответить
    • complexity over9000
      Ответить

    Добавить комментарий