1. ActionScript / Говнокод #11248

    −170

    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
    static public function createProductComplRatingColumn():AdvancedDataGridColumn
    {
    	return createColumn("Product Complexity Rating", productComplRatingLabelFunc, 180);
    }
    
    static public function createValidStartDateColumn():AdvancedDataGridColumn
    {
    	return createColumn("Valid Start Date", validStartDateLabelFunc, 150);
    }
    
    static public function createValidEndDateColumn():AdvancedDataGridColumn
    {
    	return createColumn("Valid End Date", validEndDateLabelFunc, 150);
    }
    
    static public function createLastActionColumn():AdvancedDataGridColumn{
    	return createColumn("Last Action",lastActionLabelFunc);
    }
    
    static public function createUserColumn():AdvancedDataGridColumn
    {
    	return createColumn("User", userLabelFunc);
    }
    
    static public function createLastActionDateColumn():AdvancedDataGridColumn
    {
    	return createColumn("Last Action Date / Time", lastActionDateLabelFunc, 180);
    }
    
    static public function createLatestRecordColumn():AdvancedDataGridColumn
    {
    	return createColumn("Latest Record", latestRecordLabelFunc, 120);
    }
    
    static public function createStatusColumn():AdvancedDataGridColumn
    {
    	return createColumn("Status", statusLabelFunc);
    }
    
    static public function createPublishColumn():AdvancedDataGridColumn
    {
    	return createColumn("Publish", publishLabelFunc);
    }
    
    static private function createColumn(header:String,
    									 labeFunc:Function,
    									 minWidth:Number = 100):AdvancedDataGridColumn
    {
    	var column:AdvancedDataGridColumn = new AdvancedDataGridColumn();
    	column.labelFunction = labeFunc;
    	column.headerText = header;
    	column.minWidth = minWidth;
    	//column.itemRenderer = new ClassFactory(TableItemRenderer);
    	column.draggable = false;
    	column.editable = false;
    	return column;
    }

    А вот использование кода ниже.

    Запостил: kyzi007, 20 Июня 2012

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

    • http://pastebin.com/20aZmrSz

      untested.
      Ответить
    • Собственно, всё, что нужно - вынести параметры в табличку, где им самое место, а не городить по функции на каждую колонку. В питоне это выглядело бы так:
      columns = [
        {"Product Complexity Rating", rating_label_func, 180},
        # ...
        {"Publish", publish_label_func}
      ]
      grid_columns = []
      for c in columns:
          grid_columns.append(create_column(*c))
      Ответить
      • - {"Product Complexity Rating", rating_label_func, 180},
        + ["Product Complexity Rating", rating_label_func, 180],
          # ...
        - {"Publish", publish_label_func}
        + ["Publish", publish_label_func]
        Скобочки забыл исправить, сначала хотел через kwargs сделать
        Ответить
      • P.S. Не сразу увидел предыдущий пост, функции *LabelFunc можно с чистой совестью заменить парой лямбд и вызовами функций высшего порядка прямо в табличке.
        Ответить
        • Я то так и сделала. Вовремя кстати, сегодня услышала предложение для каждой колонки создать свой класс.
          С нетерпением жду продолжения совместной работы.
          Ответить
    • показать все, что скрытоговно кузи или кузя говно?
      Ответить

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