making-table
TypeScript icon, indicating that this package has built-in type declarations

0.1.7 • Public • Published

npm version last commit total downloads license

Making Table

With this library, you can effortlessly construct table structures by simply providing JSON data.

From 6.0.0, there is no other JS dependency anymore. Just Angular.

It works with angular version 2.0.0 and up

Dependency

  • You can utilize version 0.0.3 of the "making-table" library with any Angular version higher than 8.

Installation

You can get it on npm.

  npm install making-table
  • Open your module file e.g app.module.ts and update imports array

  • If you're using Angular 16 or 17, please navigate to the component.ts file and ensure to update the imports array accordingly.

   import { MakingTable } from 'making-table';
   ...
   imports: [
   ...
       MakingTable,
   ...
   ]

Usage

Copy source

This library support multiple kinds of copy source.

  • Setting tableData attribute
  • open component.html file
<makingTable [table]="table" (exportEditingArray)="exportData($event)"></makingTable>
  • open component.ts file
  • make the tableData array
    tableData: any = {
    headerName: [
      { displayName: "Name", sort: true, id: 'name', editable: true, type: 'text' },
      { displayName: "Age", sort: true, id: 'age', editable: true, type: 'number' },
      { displayName: "Gender", sort: false, id: 'gender', editable: true, type: 'select', selectFieldValues: ['male', 'female', 'others'] },
      { displayName: "Email", sort: false, id: 'email', editable: false, type: 'email' },
      { displayName: "Phone Number", sort: false, id: 'phoneNo', editable: true, type: 'tel' },
      { displayName: "Flat No", sort: false, id: 'flatNo', editable: false, type: 'number' },
      { displayName: "Tower Number", sort: false, id: 'towerNo', editable: false, type: 'number' },
      { displayName: "Socity", sort: false, id: 'socity', editable: false, type: 'text' },
      { displayName: "Sector", sort: false, id: 'sector', editable: false, type: 'text' },
      { displayName: "State", sort: false, id: 'state', editable: false, type: 'text' },
      { displayName: "Country", sort: false, id: 'country', editable: false, type: 'text' }
    ],
    data: [
      { name: 'Ram', age: '23', gender: 'male', email: 'ram@gmail.com', phoneNo: '+91 0000000000' },
      { name: 'Vivek', age: '24', gender: 'male', email: 'vivek@gmail.com', phoneNo: '+91 0000000000' },
      { name: 'Mohan', age: '22', gender: 'male', email: 'Mohan@gmail.com', phoneNo: '+91 0000000000' }
    ],
    manageDisplayData: false,
    makeTableData: [],
    allbtn: {
      alldownload_btn: true,
      alldownload_btnValue: 'All Download',
      alldownload_btnStyle: { 'background-color': 'skyblue', 'width': '200px', 'height': '40px', 'margin-top': '50px' },
      download_as_pagination: true,
      download_as_pagination_btnValue: 'Download Excel by Page',
      download_as_pagination_btnStyle: { 'background-color': 'skyblue', 'width': '200px', 'height': '40px', 'margin-top': '50px' },
      savebtn: true,
      savebtnValue: 'Save data',
      save_btnstyle: { 'background-color': 'skyblue', 'width': '100px', 'height': '40px', 'margin-top': '50px' },
    },
    allbtnStyle: { 'display': 'flex', 'justify-content': 'space-evenly' },
    paginationNoS: [5, 10, 15, 20, 30, 50],
    paginationSelected: 10,
    table_style: {},
    th_style: { 'background-color': 'gray' },
    td_style: {}
  }

Note

  • In headerName columns Id will be match with data keys

Ex.

{ displayName: "Name", sort: true, id: 'name', editable: true, type: 'text' }
  • The identifier name(id: 'name') corresponds to the key data name (data: [ { name(Key): 'Ram'(Value) } ]).

Export Table

  • Within the makingTable tag, there's an event called exportEditingArray that allows you to export table data.
  • You have the flexibility to choose any name for the function exportData($event) and include it in your component.ts file.
<makingTable [table]="tableData" (exportEditingArray)="exportData($event)"></makingTable>

Usage/Examples

Build Project

  npm i && npm run build

To run demo code locally

/making-table/

    Package Sidebar

    Install

    npm i making-table

    Weekly Downloads

    1

    Version

    0.1.7

    License

    none

    Unpacked Size

    181 kB

    Total Files

    14

    Last publish

    Collaborators

    • vikas-dev