Super Sale Limited Time 50% OFF for All-Access Plans
Save 50% Now

Fullscreen lightbox in Metronics Angular


How do I implement lightbox in my metronics angular? Please help me in this matter.


Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(

Replies (6)


Hi,

Could you please try following these instructions? It seems this issue has been addressed before:

https://devs.keenthemes.com/question/how-can-i-use-lightbox-in-demo-5-angular-project

Thank you.


Hi Faizal,

Please have a look at error I am getting after following your instructions.

Error: src/app/pages/listings-details/listings-details.component.ts:14:29 - error TS7016: Could not find a declaration file for module 'fslightbox'. '/var/www/frontend/node_modules/fslightbox/index.js' implicitly has an 'any' type. Try npm i --save-dev @types/fslightbox if it exists or add a new declaration (.d.ts) file containing declare module 'fslightbox';

14 import * as fslightbox from "fslightbox"; ~~~~~~~~~~~~

Error: src/app/pages/listings-details/listings-details.component.ts:303:8 - error TS2304: Cannot find name 'refreshFsLightbox'.

303 refreshFsLightbox(); ~~~~~~~~~~~~~~~~~

✖ Failed to compile.


Thanks Faizal for the information I will follow the instructions that you have suggested and will let you know is it working or not.


Hi

  1. You can install fslightbox plugin for your Angular
npm install fslightbox
  1. Include FSLightbox in Your Component

In your your-component.component.ts

import { Component, OnInit, AfterViewInit } from '@angular/core';
import * as fslightbox from 'fslightbox';

@Component({
  selector: 'app-your-component',
  templateUrl: './your-component.component.html',
  styleUrls: ['./your-component.component.css']
})
export class YourComponentComponent implements OnInit, AfterViewInit {
  ngOnInit(): void {} 

  ngAfterViewInit(): void { 
    // Initialize FSLightbox after the view is rendered
    refreshFsLightbox(); 
  }
}

In your your-component.component.html


  Image

Explanation:

The import * as fslightbox from 'fslightbox'; line brings the FSLightbox library into your Angular component. The ngAfterViewInit lifecycle hook ensures that FSLightbox is initialized only after the component's view has been fully rendered. The data-fslightbox attribute on your links or image elements tells FSLightbox to handle them. You can customize the behavior with additional attributes (see the FSLightbox documentation). The refreshFsLightbox() function is a global function provided by the FSLightbox library. It is used to refresh the lightbox instance whenever new elements with the data-fslightbox attribute are added to the DOM.

Example - Adding Multiple Images

Image 1 Image 2 Image 3

Hi,

Sorry for the late reply.

Could you please provide more info? Are you referring to Metronic 8 Angular and want to use this FSlightbox plugin?

Regards.


Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(
Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(