setOpenRowID(rowID: string): ListViewDataSource {
    this._previousOpenRowID = this._openRowID;
    this._openRowID = rowID;

    return this._dataSource.cloneWithRowsAndSections(
      this._dataBlob,
      this.sectionIdentities,
      this.rowIdentities
    );
  }
  cloneWithRowsAndSections(
    dataBlob: any,
    sectionIdentities: ?Array<string>,
    rowIdentities: ?Array<Array<string>>
  ): SwipeableListViewDataSource {
    this._dataSource = this._dataSource.cloneWithRowsAndSections(
      dataBlob,
      sectionIdentities,
      rowIdentities
    );

    this._dataBlob = dataBlob;
    this.rowIdentities = this._dataSource.rowIdentities;
    this.sectionIdentities = this._dataSource.sectionIdentities;

    return this;
  }
Ejemplo n.º 3
0
    rowIDs: PropTypes.array.isRequired,
    sectionIDs: PropTypes.array.isRequired,
  },

  getInitialState(): Object {
    const ds = new ListViewDataSource({
      getRowData: (data, sectionID, rowID) => data[rowID],
      getSectionHeaderData: (data, sectionID) => data[sectionID],
      rowHasChanged: (row1, row2) => row1 !== row2,
      sectionHeaderHasChanged: (s1, s2) => s1 !== s2,
    });

    return {
      dataSource: ds.cloneWithRowsAndSections(
        this.props.dataBlob,
        this.props.sectionIDs,
        this.props.rowIDs,
      ),
    };
  },

  render(): ReactElement {
    const CustomListView = this.props.listView;

    return (
      <CustomListView
        {...this.props}
        dataSource={this.state.dataSource}
        renderRow={this._renderRow}
      />
    );