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

    −109

    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
    // код в модели - создаются фильтры для колонок
    override protected function createFiltersData():IList
      {
       var filtersDescription:IList = new ArrayList();
       filtersDescription.addItem(new StatusFilter());
       filtersDescription.addItem(new ProdUIDFilter());
       filtersDescription.addItem(new ProdLongNameFilter());
       filtersDescription.addItem(new ProductTypeFilter());
       filtersDescription.addItem(new LatestRecordFilter());
       
       filtersDescription.addItem(new LastActionFilter(true));
       filtersDescription.addItem(new UsersFilter(this.userModel.users, true));
       filtersDescription.addItem(new PublishFilter(true));
       filtersDescription.addItem(new ProdNameFilter(true));
       filtersDescription.addItem(new ProductComplexityRatingFilter(true));
       filtersDescription.addItem(new ProductDescriptionFilter(true));
       return filtersDescription;
      }
    
    // код в контроллере - создаются сами колонки
    override protected function createTableColumns () : Array
      {
       var columns : Array = new Array();
       columns.push(new ProdUIDColumn(0));
       columns.push(new ProdLongNameColumn(1));
       columns.push(new ProdNameColumn(2));
       columns.push(new ProductDescriptionColumn(8));
       columns.push(new ProdTypeColumn(3));
       columns.push(new ProdComplRatingColumn(4));
       columns.push(new EditorSeparator(40, 5));
       columns.push(new CommentsColumn(9));
       columns.push(new ValidStartDateColumn(6));
       columns.push(new ValidEndDateColumn(7));
       columns.push(new LastActionColumn());
       columns.push(new UserColumn());
       columns.push(new LastActionDateColumn());
       columns.push(new LatestRecordColumn());
       columns.push(new StatusColumn());
       columns.push(new PublishColumn());
       return columns;
      }

    Со слезами в глазах вопрошаю - ну нахуя, а????

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

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

    • А описания фильтров - потому что мой компонент как нормальный принимает массив типизированных данных и их отрисовывает.
      Но потом решили что список параметров некошерно, нужно создать классы которые создадут и сконфигурирут мою модель.
      Так и родился уродец.
      Теперь оказалось еще что надо в эти классы динамически что то докладывать, или плодить новые для каждой страницы... В общем без либ у нас чистых 450 классов уже.
      Ответить
    • Ну, по крайней мере расскажите человеку, что push() принимает виртуально неогранниченое число параметров (а реально - что-то типа 256, так что хватить должно).
      Ответить
      • Я ему не так давно объясняла что
        var callback:Function = null;
        надо проверять
        if(callback) и при этом каллбек не будет вызван
        а не трайкетчем без трейса.

        Ну и мы часто меняем этот код, по несколько параметров не с руки добавлять.
        Ответить

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