Skip to content

An AngularJS based Swipe List component which provides swipe effects in your Angular application. It also allows you to change button options like you can place delete / edit / info buttons as per your requirements.

License

Notifications You must be signed in to change notification settings

weblineindia/Angular-Swipe-List

Repository files navigation

AngularJS - Swipe List

An AngularJS based Swipe List component which provides swipe effects in your Angular application. It also allows you to change button options like you can place delete / edit / info buttons as per your requirements.

Table of contents

Demo

Preview
Preview 1


Examples
Preview 1 Preview 2 Preview 3

Installation

npm i angular-weblineindia-swipe --save

Getting started

import { BrowserModule, HammerModule } from "@angular/platform-browser";
import { NgModule } from "@angular/core";
import { AppComponent } from "./app.component";

import { SwipeAngularListModule } from "angular-weblineindia-swipe"; // <------ IMPORT

@NgModule({
  declarations: [AppComponent],

  imports: [
    BrowserModule,
    HammerModule, // < ----- ******************************** IMPORTANT ******************
    SwipeAngularListModule // < ----- ******************************** IMPORTANT ******************
  ],

  providers: [],

  bootstrap: [AppComponent]
})
export class AppModule {}

Usage

Use in your component

import { Component } from "@angular/core";

@Component({
  selector: "app-root",

  templateUrl: "./app.component.html",

  styleUrls: ["./app.component.css"]
})
export class AppComponent {
  title = "for-test";

  list = [
    {
      id: 1,

      title: "Realizar la tarea asignada!",

      subTitle: "9:00pm"
    },

    {
      id: 2,

      title: "Visitar al perro en casa de tu amiga",

      subTitle: "9:00pm"
    },

    {
      id: 3,

      title: "Llamar al doctor",

      subTitle: "9:00pm"
    },

    {
      id: 4,

      title: "Buscar el auto en el taller",

      subTitle: "9:00pm"
    }
  ];

  action = a => {
    console.log(a);
  };
}

Template

<div>
  <h3 style="text-align: center">Task List</h3>

  <div>
    <sw-item-list
      *ngFor="let item of list"
      [inside]="item"
      [item-class]="'list-custom'"
      [editTemplate]="editTemplate"
      [trashTemplate]="trashTemplate"
      (callback)="action($event)"
    >
    </sw-item-list>
  </div>
</div>

!<-- Define your template for icon button (edit)-->

<ng-template #editTemplate>
  <i class="fas fa-edit"></i>
</ng-template>

!<-- Define your template for icon button (trash)-->

<ng-template #trashTemplate>
  <i class="fas fa-trash"></i>
</ng-template>

Options

item structure defined :


{

id: 1,

title: 'Realizar la tarea asignada!',

subTitle: '9:00pm'

}

item-class name of style class custom.

show-mark boolean show icon done or not

editTemplate template for edit button

trashTemplate template for trash button

markTemplate template for icon check template

notMarkTemplate template for icon not check template

(callback) function callback click option

(swClick) click on item

<sw-item-list
  *ngFor="let item of list"
  [inside]="item"
  [item-class]="'list-custom'"
  [show-mark]="true"
  (swClick)="click(item)"
  [editTemplate]="editTemplate"
  [trashTemplate]="trashTemplate"
  [markTemplate]="defaultMark"
  [notMarkTemplate]="defaultNotMark"
  (callback)="action($event)"
>
</sw-item-list>

Example completed

<div>
  <h3 style="text-align: center">TASK LIST</h3>

  <div>
    <sw-item-list
      *ngFor="let item of list"
      [inside]="item"
      [item-class]="'list-custom'"
      [show-mark]="false"
      [disable-mark]="item?.disable"
      (swClick)="click(item)"
      [editTemplate]="editTemplate"
      [trashTemplate]="trashTemplate"
      [markTemplate]="defaultMark"
      [customTemplate]="customTemplateSrc"
      [notMarkTemplate]="defaultNotMark"
      (callback)="action($event)"
    >
    </sw-item-list>
  </div>
</div>

<ng-template #editTemplate>
  <i class="fas fa-edit"></i>
</ng-template>

<ng-template #trashTemplate>
  <i class="fas fa-trash"></i>
</ng-template>

<ng-template #defaultMark>
  <i class="far fa-check-circle"></i>
</ng-template>

<ng-template #defaultNotMark>
  <i class="far fa-circle"></i>
</ng-template>

<ng-template #customTemplateSrc let-item="item" let-id="id">
  <div style="display: flex;">
    <div style="padding-right: 10px;">
      <img
        style="width:60px;height:60px;border-radius:60px;"
        [src]="'https://api.adorable.io/avatars/400/'+id+'.png'"
        alt=""
      />
    </div>

    <div>
      <h3 style="margin-top: 0;margin-bottom: 0;">Lorem, ipsum dolor.</h3>

      <small style="color:gray;font-weight:500;"
        >Lorem ipsum dolor sit amet consectetur adipisicing elit. Non,
        optio.</small
      >
    </div>
  </div>
</ng-template>

Want to Contribute?

  • Created something awesome, made this code better, added some functionality, or whatever (this is the hardest part).
  • Fork it.
  • Create new branch to contribute your changes.
  • Commit all your changes to your branch.
  • Submit a pull request.

Collection of Components

We have built many other components and free resources for software development in various programming languages. Kindly click here to view our Free Resources for Software Development.


Changelog

Detailed changes for each release are documented in CHANGELOG.md.

Credits

angular-weblineindia-swipe is inspired by angular-swipe-actions.

License

MIT

Keywords

angularjs-touch, angular-gestures, angularjs, angular-pwa, angular-slide, angular-swipe-list, swipelist, angular-swiper, swipe-list