Giter VIP home page Giter VIP logo

ng-gallery-1's Introduction

Angular Image Gallery

Angular image gallery simplifies the process of creating beautiful image gallery for the web and mobile devices.

npm npm Travis branch npm npm

Installation

Install it with npm

$ npm install --save @angular/cdk ng-gallery

This plugin depends on Angular CDK for the lightbox feature, you don't need to import anything from the CDK, just make sure that it is installed in the project.

SystemJS

If you are using SystemJS, you should also adjust your configuration to point to the UMD bundle.

In your systemjs config file, map needs to tell the System loader where to look for ng-gallery:

map: {
  'ng-gallery': 'node_modules/ng-gallery/bundles/ng-gallery.umd.js',
}

Here is a stackblitz

Usage

  1. Import GalleryModule.forRoot(...) in the root module

Import GalleryModule and set the gallery configuration in your root module

  import { BrowserAnimationsModule } from  '@angular/platform-browser/animations';
  import { GalleryModule } from 'ng-gallery';
  
  export const config : GalleryConfig = {
    // ...
  }
  
  @NgModule({
   imports: [
      // ...
      BrowserAnimationsModule,
      GalleryModule.forRoot(config)
   ]
  })
  1. Load images into the gallery

Add images into the gallery by using the service Gallery.load(...), see basic example.

Alternatively, you can automatically add images using the directive [gallerize], see auto-detect example.

After that use will be able to use <gallery></gallery> component to display the gallery in the template.

Or if you want to open the gallery in an overlay, use the service Gallery.open(), see gallery lightbox example.

Load image

Use the service Gallery to load images

import { Gallery, GalleryItem } from 'ng-gallery';

export class AppComponent implements OnInit {
  
  constructor(public gallery: Gallery) { }
  
  ngOnInit() {
    const images: GalleryItem[] = [
      {
        src: 'assets/clouds.jpg',
        thumbnail: 'assets/clouds.jpg',
        text: 'Sky & Clouds'
      },
      // ...
    ];
    
    this.gallery.load(images);
  }
}

Auto-detect

The directive [gallerize] will automatically detect all images inside the host element and hook them with the gallery lightbox

<div gallerize>
  <img src="assets/img/img3.jpg" alt="Spring">
  <img src="assets/img/img4.jpg" alt="Fire">
  <img src="assets/img/img5.jpg" alt="Peacock">
</div>

You can also detect images using their class, [gallerize]="'class-name'"

<div gallerize="cars">
  <img class="cars" src="assets/img/img3.jpg" alt="BMW">
  <img class="cars" src="assets/img/img4.jpg" alt="Toyota">
  <img class="bikes" src="assets/img/img5.jpg" alt="S800">
</div>

Gesture Support (optional)

Gallery Module relies on HammerJS for gestures, make sure it is loaded into the application.

You can add HammerJS to your application via npm, a CDN (such as the Google CDN), or served directly from your app.

To install via npm, use the following command:

$ npm install --save hammer.js

After installing, import it on your app's root module

import 'hammerjs';

Support

npm

Issues

If you identify any errors in this module, or have an idea for an improvement, please open an issue. I am excited to see what the community thinks of this project, and I would love your input!

Author

Murhaf Sousli

ng-gallery-1's People

Contributors

murhafsousli avatar kuwas avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.