open-index/open-npm huggingface dataset:
npm package: @hexxag0nal/custom-material-table
Description: This is mainly for private use, thus the documentation will be scarce. But anyone is allowed to use it under the given license.
Latest version: 1.2.0

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](https://material.angular.io/components/table/overview)

![Figure 1: Screenshot of the table](readme-assets/img/table-screenshot.png)

## How to use

The following definition leads to the table seen in Figure 1

```typescript
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

```typescript
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),
      }],
    }
  },
  ],
};
```
npm package: @hexxag0nal/error
Description: An object representing an Error
Author: hexxag0n
Latest version: 0.0.1

# error

An object representing an Error.

# credits
Huge props to Chidume Nnamdi @ https://codeburst.io/https-chidume-nnamdi-com-npm-module-in-typescript-12b3b22f0724