@routine-js/table
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

@routine-js/table

Helps you request data to update the table

import { AbsTableService, TablePresenter, TableServiceToken } from './index';

interface Row {
  name: string;
}
interface Params {
  name: string;
}
class MyService extends AbsTableService<Row, Params> {
  fetchTable(
    params: Partial<Params> & { current: number; pageSize: number },
  ): Promise<{
    data: Row[];
    current: number;
    pageSize: number;
    total: number;
  }> {
    const res = {
      data: [{ name: 'aloha' }],
      current: 1,
      pageSize: 1,
      total: 1,
    };
    return new Promise((resolve) => {
      setTimeout(() => {
        resolve(res);
      }, 1000);
    });
  }
}


const Page = () => {
  const { presenter, state } = usePresenter<TablePresenter<Row, Params>>(
    TablePresenter,
    {
      registry: [{ token: TableServiceToken, useClass: MyService }],
    },
  );
  return (
    <div>
      <h1>table state</h1>
      <p>{JSON.stringify(state, null, 4)}</p>

      <button
        onClick={() => {
          presenter.getTable();
        }}
      >
        fetch table
      </button>
    </div>
  );
};

Readme

Keywords

none

Package Sidebar

Install

npm i @routine-js/table

Weekly Downloads

0

Version

1.0.4

License

MIT

Unpacked Size

26.1 kB

Total Files

8

Last publish

Collaborators

  • lujs