Index.ets 1.45 KB
import { GroupDTO } from 'wdBean';
import { BreakpointConstants } from 'wdConstant';
import { BreakpointSystem, LazyDataSource, Logger } from 'wdKit';
import { PageViewModel } from '../viewmodel/PageViewModel';
import { PageComponent } from './PageComponent';

const TAG = 'Index';

@Entry
@Component
struct Index {
  private breakpointSystem: BreakpointSystem = new BreakpointSystem()
  @StorageLink('currentBreakpoint') @Watch('watchCurrentBreakpoint') currentBreakpoint: string = BreakpointConstants.BREAKPOINT_XS;
  @State groupList: LazyDataSource<GroupDTO> = new LazyDataSource();
  // @Prop groupList: GroupDTO[] = [];
  @State message: string = 'Hello Sight';

  watchCurrentBreakpoint() {
    Logger.info(TAG, `watchCurrentBreakpoint, this.currentBreakpoint: ${this.currentBreakpoint}`);
  }

  build() {
    Column() {
      PageComponent({ groupList: this.groupList })
    }
  }

  aboutToAppear() {
    this.breakpointSystem.register()
    // Logger.info(TAG, `aboutToAppear, this.currentTabIndex1: ${this.currentNavIndex}`);
    // PageViewModel.getGroupDTO();
    let groupDto = PageViewModel.getGroupDTO(getContext(this))
    if (groupDto) {
      this.groupList.push(groupDto)
    }
  }

  aboutToDisappear() {
    this.breakpointSystem.unregister()
    Logger.info(TAG, 'aboutToDisappear');
  }

  onPageShow() {
    Logger.info(TAG, 'onPageShow');
  }

  onPageHide() {
    Logger.info(TAG, 'onPageHide');
  }

  onBackPress() {
    Logger.info(TAG, 'onBackPress');
  }
}