3.0.0 • Published 5 years ago

@remindgmbh/typescript-lightbox v3.0.0

Weekly downloads
-
License
BSD-3-Clause
Repository
bitbucket
Last release
5 years ago

REMIND - LIGHTBOX

travis-img codecov-img github-issues-img contrib-welcome-img license-img

Does whatever a lightbox does.


Table of contents


Authors


Installation

Zum Einbinden des TypeScript Moduls muss folgende Abhängigkeit in den Dependencies einer package.json eingetragen werden.

npm i @remindgmbh/typescript-lightbox


Usage

Lightbox

import { Lightbox } from '@remindgmbh/typescript-lightbox'

let lightbox: Lightbox = new Lightbox('<div>Ein Html string</div>');
// Attach html to dochument body
lightbox.attach();
// Change source
lightbox.setSource('<div>Ein anderer HTML string</div>');
// Detach html from dochument body
lightbox.detach();

Output

<div class="remind-lightbox">
	<div class="remind-lightbox__header">
		<div class="remind-lightbox__close-button"></div>
	</div>

	<div class="remind-lightbox__canvas">
		<div class="remind-lightbox__content">
			<!--html string-->
			<div>Ein anderer Html string</div>
		</div>
	</div>

	<div class="remind-lightbox__footer"></div>
</div>

Parameters

ParameterTypeDefaultDescription
htmlstring''Ein Html String der ausgeben wird
optionsobject{classes: {...}, functions: {...}}Zum Überschreiben von CSS-Classes und Funktion für die Ausgabe

Functions

ParameterType
createCanvas(className: string) => HtmlElement
createFooter(className: string) => HtmlElement
createHeader(className: string) => HtmlElement
createCloseButton(className: string) => HtmlElement
createContent(htmlString: string, className: string) => HtmlElement

CSS Classes

ParameterDefault
lightboxremind-lightbox
canvasremind-lightbox__canvas
headerremind-lightbox__header
footerremind-lightbox__footer
contentremind-lightbox__content
closeButtonremind-lightbox__close-button

Example

import { Lightbox } from '@remindgmbh/typescript-lightbox'

let lightbox: Lightbox = new Lightbox(
	'<div>Ein Html string</div>',
	{
		classes: {
			footer: 'custom-content-class'
		},
		functions: {
			createContent: (htmlString, className) => {
				let html = document.createElement('span');
				html.classList.add(className);
				html.innerHtml = htmlString;
				return html;
			}
		}
	}
);
// Create html
lightbox.create();
// Attach html to dochument body
lightbox.attach();
// Detach html from dochument body
lightbox.detach();

Output

<div class="remind-lightbox">
	<div class="remind-lightbox__header">
		<div class="remind-lightbox__close-button"></div>
	</div>

	<div class="remind-lightbox__canvas">
		<span class="custom-content-class">
			<!--html string-->
			<div>Ein Html string</div>
		</div>
	</div>

	<div class="remind-lightbox__footer"></div>
</div>

LightboxImage

Parameters

ParameterTypeDefaultDescription
itemLightboxItem{image: '', headline: '', text: ''}Pfad zur Bild Datei, Überschrift und Text zum Bild
optionsobject{classes: {...}, functions: {...}}Zum Überschreiben von CSS-Classes und Funktion für die Ausgabe

Functions

ParameterType
......
createImagecreateImage: (item: LightboxItem, classNameOuter: string, classNameImage: string, classNameHeadline: string, classNameText: string) => HTMLElement

LightboxGallery

Additional Public Methods

MethodDescription
next(): voidSetze das nächste Bild in den sources als aktives Bild
prev(): voidSetze das vorherige Bild in den sources als aktives Bild
setItems(items: LightboxItem[]): voidSetze neue Items
setItem(item: LightboxItem): voidSetze ausgwähltes Item

Parameters

ParameterTypeDefaultDescription
itemLightboxItem{image: '', headline: '', text: ''}Pfad zur Bild Datei, Überschrift und Text zum Bild
itemsLightboxItem[][]
optionsobject{showThumbnails: false, showPagination: false, classes: {...}, functions: {...}}Erweitert um die Optionen zur Anzeige der Thumbnails und der Pagination

Functions

ParameterType
......
createThumbnails(className: string) => HtmlElement
createThumbnail(source: string, className: string) => HTMLElement
createPagination(index: number, maxIndex: number, className: string, classNameCurrent: string, classNameMax: string) => HTMLElement
createNext(className: string) => HtmlElement
createPrev(className: string) => HtmlElement

CSS Classes

ParameterDefault
thumbnailsremind-lightbox__thumbnails
thumbnailremind-lightbox__thumbnail
paginationremind-lightbox__pagination
paginationCurrentremind-lightbox__current
paginationMaxremind-lightbox__max
nextremind-lightbox__next
prevremind-lightbox__prev

Example

<div class="remind-lightbox">
	<div class="remind-lightbox__header">
		<div class="remind-lightbox__counter">
			<span class="remind-lightbox__current">###index###</span>
			<span class="remind-lightbox__max">###maxIndex###</span>
		</div>
		<div class="remind-lightbox__close-button"></div>
	</div>
	<div class="remind-lightbox__canvas">
        <div class="remind-lightbox__prev"/>
        <div class="remind-lightbox__content">
	    <img class="remind-lightbox__image"	src="###item.image###"/>
            <h2 class="remind-lightbox__headline">###item.headline###</h2>
            <span class="remind-lightbox__text">###item.text###</span>
        </div>
        <div class="remind-lightbox__prev"/>
	</div>
	<div class="remind-lightbox__footer">
		<div class="remind-lightbox__thumbnails">
			<img class="remind-lightbox__thumbnail" src="###item.image###" data="###item###">
			<img class="remind-lightbox__thumbnail" src="###item.image###" data="###item###">
			<img class="remind-lightbox__thumbnail" src="###item.image###" data="###item###">
			<img class="remind-lightbox__thumbnail" src="###item.image###" data="###item###">
			...
		</div>
	</div>
</div>
3.0.0

5 years ago