UNPKG

@capacitor-community/photoviewer

Version:

PhotoViewer table images with fullscreen and sharing capabilities

102 lines (95 loc) 3.66 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var core = require('@capacitor/core'); var loader = require('jeep-photoviewer/loader'); const PhotoViewer = core.registerPlugin('PhotoViewer', { web: () => Promise.resolve().then(function () { return web; }).then(m => new m.PhotoViewerWeb()), }); class PhotoViewerWeb extends core.WebPlugin { constructor() { super(); this._imageList = []; this._options = {}; this._mode = 'one'; this._startFrom = 0; this._modeList = ['one', 'gallery', 'slider']; this.jeepPhotoViewerResult = (ev) => { const res = ev.detail; if (res !== null) { this.notifyListeners('jeepCapPhotoViewerExit', res); } }; document.addEventListener('jeepPhotoViewerResult', this.jeepPhotoViewerResult, false); } async echo(options) { return options; } async show(options) { var _a; // return new Promise<capShowResult>( (resolve, reject) => { loader.defineCustomElements(window); if (Object.keys(options).includes('images')) { this._imageList = options.images; } if (Object.keys(options).includes('options')) { this._options = (_a = options.options) !== null && _a !== void 0 ? _a : {}; } if (Object.keys(options).includes('mode')) { const mMode = options.mode; if (this._modeList.includes(mMode)) { this._mode = mMode !== null && mMode !== void 0 ? mMode : 'one'; } } if (Object.keys(options).includes('startFrom')) { const mStartFrom = options.startFrom; this._startFrom = mStartFrom !== null && mStartFrom !== void 0 ? mStartFrom : 0; } this._photoViewer = document.createElement('jeep-photoviewer'); this._photoViewer.imageList = this._imageList; this._photoViewer.mode = this._mode; if (this._mode === 'one' || this._mode === 'slider') { this._photoViewer.startFrom = this._startFrom; } const optionsKeys = Object.keys(this._options); let divid; if (optionsKeys.length > 0) { this._photoViewer.options = this._options; if (optionsKeys.includes('divid')) { divid = this._options.divid; } else { divid = 'photoviewer-container'; } } else { divid = 'photoviewer-container'; } this._container = document.querySelector(`#${divid}`); // check if already a photoviewer element if (this._container != null) { const isPVEl = this._container.querySelector('jeep-photoviewer'); if (isPVEl != null) { this._container.removeChild(isPVEl); } this._container.appendChild(this._photoViewer); await customElements.whenDefined('jeep-photoviewer'); return Promise.resolve({ result: true }); } else { return Promise.reject("Div id='photoviewer-container' not found"); } } async saveImageFromHttpToInternal(options) { console.log('saveImageFromHttpToInternal', options); throw this.unimplemented('Not implemented on web.'); } async getInternalImagePaths() { throw this.unimplemented('Not implemented on web.'); } } var web = /*#__PURE__*/Object.freeze({ __proto__: null, PhotoViewerWeb: PhotoViewerWeb }); exports.PhotoViewer = PhotoViewer; //# sourceMappingURL=plugin.cjs.js.map