import 'package:liftmanager/internal/search/page/search_brand.dart';
import 'package:liftmanager/mvp/base_page_presenter.dart';
import 'package:liftmanager/net/api_service.dart';
import 'package:liftmanager/widgets/state_layout.dart';

class BrandSearchPresenterSeconds
    extends BasePagePresenter<SearchBrandState> {
  Future getBrandList(int page, String searchWord) async {
    view.provider.setStateType(StateType.loading);
    view.provider.setHasMore(true);  
    await NewApiService().getBrandListPage(page, 10, searchWord: searchWord, onSuccess: (res) {
      view.closeProgress();
      if (res != null) {
        view.provider.setHasMore(res.records.length == 10);
        if (page == 1) {
          view.provider.list.clear();
          if (res.records.isEmpty) {
            view.provider.setStateType(StateType.empty);
          } else {
            view.provider.addAll(res.records);
          }
        } else {
          view.provider.addAll(res.records);
        }
      } else {
        /// 加载失败
        view.provider.setHasMore(false);  
        view.provider.setStateType(StateType.empty);
      }
    }, onError: (code, msg) {
      view.closeProgress();
      view.provider.setHasMore(false);
      view.provider.setStateType(StateType.network);
    });
  }
}
