angular-modal-gallery is an Angular library to create image galleries of clickable thumbnails. After a click, it will display a modal window with full screen images.
It's also possible to navigate between these images with both keyboard arrows, swipe gestures and mouse clicks and close it pressing esc
.
Starting from version 3, you can download images (with either the button or with keyboard shortcut ctrl+s / cmd+s) or navigate to an external url.
Version 3.1.x includes other cool features, for instance advanced configurations and a click outside feature to close the modal gallery. Also, version 3.2.x includes a new input to disable infinite sliding. With version 3.3.x, you can change download keyboard's shortcuts from the root module of your application.
From version 4.x.x, angular-modal-gallery is compliant to Angular Package Format v4.0 specifications.
This library uses Semantic versioning 2.0.0 also known as 'semver'
angular-modal-gallery requires Internet Explorer >= 11 and Angular >= 4
angular-modal-gallery 5.0.0 features/roadmap HERE.
Please, add your ideas or help to implement some features.
Image loading could be slow, because this demo is hosted on Github pages
CLICK HERE FOR DEMO/DOCUMENTATION
npm install --save font-awesome
npm install --save hammerjs mousetrap
npm install --save angular-modal-gallery
npm install --save-dev @types/mousetrap
npm install --save-dev @types/hammerjs
- 11/05/2017 - 4.0.1 - angular-modal-gallery - HERE
- 11/05/2017 - 4.0.0 - angular-modal-gallery - HERE
- 11/04/2017 - 4.0.0-rc.2 - angular-modal-gallery - HERE
- 11/04/2017 - 4.0.0-rc.1 - angular-modal-gallery - HERE
- 10/11/2017 - 3.3.5 - angular-modal-gallery - HERE
- 09/19/2017 - 3.3.4 - angular-modal-gallery - HERE
- 08/09/2017 - 3.3.3 - angular-modal-gallery - HERE
- 08/09/2017 - 3.3.2 - angular-modal-gallery - HERE
- 08/09/2017 - 3.3.1 - angular-modal-gallery - HERE
- 08/08/2017 - 3.3.0 - angular-modal-gallery - HERE
- 08/06/2017 - 3.2.3 - angular-modal-gallery - HERE
- 08/03/2017 - 3.2.2 - angular-modal-gallery - HERE
- 07/29/2017 - 3.2.1 - angular-modal-gallery - HERE
- 07/23/2017 - 3.2.0 - angular-modal-gallery - HERE
- 06/14/2017 - 3.1.1 - angular-modal-gallery - HERE
- 06/14/2017 - 3.1.0 - angular-modal-gallery - HERE
- 04/28/2017 - 3.0.2 - angular-modal-gallery - HERE
- 03/20/2017 - 3.0.1 - angular-modal-gallery - HERE
- 03/20/2017 - 3.0.0 - angular-modal-gallery - HERE
- 01/30/2017 - 2.0.2 - angular-modal-gallery - HERE
- 01/29/2017 - 2.0.1 - angular-modal-gallery - HERE
- 01/29/2017 - 2.0.0 - angular-modal-gallery - HERE
- 01/28/2017 - 2.0.0-alpha.1 - angular-modal-gallery
- Angular module to import this library
- Angular component to display the image gallery
- AOT support
- Angular >= 4 (Angular >=5 supported from version 4.0.0)
- Tested with Webpack 3 + Treeshaking and also inside a Lazy loaded module (check
demo/webpack
) - Tested with SystemJs 0.20.x and Angular-cli 1.x.x
- and so on... (check the official documentation HERE)
Two different ways (both of them are good):
- using my full and runnable examples (
systemjs
,webpack
,angular-cli
) HERE - checking small and minimal demos inside the official documentation HERE
- sometimes I don't provide demos (for instance global configuration of keyboard service), so you have to check the official documentation HERE
- Question: I have this error:
Cannot find name 'MousetrapInstance'
. What can I do?
Answer: Simply runnpm i --save-dev @types/mousetrap
- Question: I have this error:
Error: No provider for KeyboardService
. What can I do?
Answer: You forgot to add .forRoot(), so KeyboardService will be never available as a service. Please read section "Installation" HERE. This is a common design pattern for Angular libraries. For more info check also this issue.
Check CONTRIBUTING.md
in this repository
Check DEVELOPER.md
in this repository to build and test this library.
Also, if you want to generate the internal library documentation
, run npm run docs
and open ./docs/index.html
.
The MIT License (MIT)
Copyright (c) 2017 Stefano Cappa (Ks89)
Copyright (c) 2016 vimalavinisha
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.