ng2-smart-table

Add custom action button - ng2-smart-table


I'm trying to add a button to custom action, but a new column is not added in the action, making the button overlap with the others.

Code:

settings = {
    actions: {
      custom: [
        {
          name: 'Button',
          title: 'Button ',
        }
      ],
    },
    columns: {
      name: {
        title: 'Full name'
      },
      email: {
        title: 'Email'
      },
      lastLogin: {
        title: 'Last Login'
      }
    }
  };

I needed to put a link to the image, because I have little reputation here and the image tool is blocked for me.

reaction image:

What am I doing wrong?


Solution

  • you can try this. change your setting to:

    settings = {
    hideSubHeader: true,
    actions: {
      custom: [
        {
          name: 'yourAction',
          title: '<i class="ion-document" title="YourAction"></i>'
        },
        {
          name: 'editAction',
          title: '<i class="ion-edit" title="Edit"></i>'
        },
        {
          name: 'deleteAction',
          title: '<i class="far fa-trash-alt" title="delete"></i>'
        }
      ],
      add: false,
      edit: false,
      delete: false
    }
    ...
    };
    

    then add this into your component.scss

        :host /deep/ ng2-st-tbody-edit-delete {display: flex !important;
      height: 0 !important;
    }
    
    :host /deep/ ng2-st-tbody-custom a.ng2-smart-action.ng2-smart-action-custom-custom {
      display: inline-block;
      width: 50px;
      text-align: center;
      font-size: 1.1em;
    }
    
    :host /deep/ ng2-st-tbody-custom a.ng2-smart-action.ng2-smart-action-custom-custom:hover {
      color: #5dcfe3;
    }