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

    −87

    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
    // TableBasedPresenter - mvc (mvp) как же без него, 600+ строк, все модули наследуются от него
    
    // сетим в label текст, ждем когда засетится
    private function configureTableView () : void
    {
    	this.tableBasedView.showHeader(this.tableBasedModel.getTitle());
    	this.tableBasedView.addEventListener(TableBasedViewEvent.PAGE_CHANGED, this.pageChangedHandler);
    }
    
    // засетилось, ага, так я и знаю что такое важное событие надо отправлять, ну предположим
    private function pageChangedHandler (e : TableBasedViewEvent) : void
    {
    	var firstRecord : uint = 1 + (e.selectedPage - 1) * this.currentRecordsPerPage;
    	var lastRecord : uint = firstRecord + this.currentRecordsPerPage - 1;
    	this.makeSearch(firstRecord, lastRecord);
    }
    
    // ищем записи!
    private function makeSearch (firstRecord : uint, lastRecord : uint) : void
    {
    	if (this._currentSearchParams != null)
    	{
    		this._currentSearchParams.firstRecordIndex = firstRecord;
    		this._currentSearchParams.lastRecordIndex = lastRecord;
    		this.tableBasedModel.search(this._currentSearchParams);
    	}
    }
    
    // ну а после можно и поиск подключить
    override protected function viewAttached (view : View) : void
    {
    	super.viewAttached(view);
    
    	if (view == this.tableBasedView)
    	{
    		this.configureTableView(); // см выше, сетим тайтл
    		this.configureTableWidget();
    		this.configureSearchPanelWidget(); // включаем и конфигурируем поиск
    		this.configureActionsPanelWidget();
    
    		this.tableBasedModel.update();
    		this.enableOnlyAddButton();
    
    	}
    }

    Следите за руками.

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

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

    • Асинхронный код такой асинхронный...
      Ответить
    • Фух, pageChangedHandler а не хедер, я чуть тут не поседела.
      Вывод - нефик работать по воскресеньям.
      Хотя все равно не понимаю связь между сменой состояния вьюхи и поиском.
      Ответить
    • Чтобы не выкладывать простыни
      контроллер http://pastie.org/4354022
      модель http://pastie.org/4354051
      Ответить
      • С одной стороны - человек вроде любит порядок, пишет комментарии, и вообще все по-образцу без игривостей делает, а с другой - кавычки то двойные, то одинарные...
        Ответить
        • Комментарии появились не просто так.
          Просто он уже сам начал путаться в коде...
          А мы и подавно.
          А эксепшены я приписывала к абстрактным методам, изначально предпологалось что мы будем смотреть эти комментарии когда появится баг.
          Ответить

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