@hexxag0nal/custom-material-table
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

This is mainly for private use, thus the documentation will be scarce. But anyone is allowed to use it under the given license.

CustomMaterialTable

A customizable table based on the Angular Material Table

Figure 1: Screenshot of the table

How to use

The following definition leads to the table seen in Figure 1

this.tableDef = {
  ariaLabel: "test table",
  columns: [{
    defName: "name",
    headerCellText: "Name",
    actions: {
      defName: "actions",
      headerCellText: "",
      alternativeCellContent: [{
        icon: "content_paste",
        tooltip: "Copy this QuickLink to your clipboard",
        onClick: quickLink => this.copyQuickLinkToClipboard(quickLink),
      }, {
        icon: "info",
        tooltip: "See this QuickLink's details",
        onClick: quickLink => {
          this.quickLinkForShowDetails = quickLink;
          this.$dialogPage.set("showQuickLink");
        },
      }, {
        icon: "delete_forever",
        tooltip: "Revoke and delete this QuickLink",
        onClick: this.onDeleteQuickLink.bind(this),
      }],
    }
  },
  ],
};

It is also possible to make a column editable, which means that every cell in that column will be editable. It is possible to provide a callback that gets passed the new value after the editing is finished. In order to achieve this, simply set editable to true and provide a callback via onValueEdited in the column definition

this.tableDef = {
  ariaLabel: "test table",
  columns: [{
    defName: "name",
    headerCellText: "Name",
    editable: true,
    onValueEdited: newValue => console.log("My new value:", newValue),
    actions: {
      defName: "actions",
      headerCellText: "",
      alternativeCellContent: [{
        icon: "content_paste",
        tooltip: "Copy this QuickLink to your clipboard",
        onClick: quickLink => this.copyQuickLinkToClipboard(quickLink),
      }, {
        icon: "info",
        tooltip: "See this QuickLink's details",
        onClick: quickLink => {
          this.quickLinkForShowDetails = quickLink;
          this.$dialogPage.set("showQuickLink");
        },
      }, {
        icon: "delete_forever",
        tooltip: "Revoke and delete this QuickLink",
        onClick: this.onDeleteQuickLink.bind(this),
      }],
    }
  },
  ],
};

Readme

Keywords

none

Package Sidebar

Install

npm i @hexxag0nal/custom-material-table

Weekly Downloads

0

Version

1.2.0

License

CC-BY-SA-4.0

Unpacked Size

56.8 kB

Total Files

14

Last publish

Collaborators

  • hexxag0n