UNPKG

vue3-infinite-viewer

Version:

Vue 3 Infinite Viewer is Document Viewer Component with infinite scrolling.

156 lines (133 loc) 4.53 kB
/* Copyright (c) Daybrush name: vue3-infinite-viewer license: MIT author: Daybrush repository: https://github.com/daybrush/infinite-viewer/blob/master/packages/vue-infinite-viewer version: 0.17.1 */ 'use strict'; var VanillaInfiniteViewer = require('infinite-viewer'); var utils = require('@daybrush/utils'); var vue = require('vue'); /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ var __assign = function () { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var methods = {}; VanillaInfiniteViewer.METHODS.forEach(function (name) { methods[name] = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return (_a = this.infiniteViewer)[name].apply(_a, args); }; }); var script = { name: "infinite-viewer", methods: methods, props: VanillaInfiniteViewer.OPTIONS, mounted: function () { var _this = this; var options = {}; var props = this.$props; VanillaInfiniteViewer.OPTIONS.forEach(function (name) { var value = props[name]; if (!utils.isUndefined(value)) { options[name] = props[name]; } }); var refs = this.$refs; this.infiniteViewer = new VanillaInfiniteViewer(refs.containerElement, refs.scrollAreaElement.nextElementSibling, __assign(__assign({}, options), { wrapperElement: refs.wrapperElement, scrollAreaElement: refs.scrollAreaElement, horizontalScrollElement: refs.horizontalScrollElement, verticalScrollElement: refs.verticalScrollElement })); var infiniteViewer = this.infiniteViewer; VanillaInfiniteViewer.EVENTS.forEach(function (name) { infiniteViewer.on(name, function (e) { _this.$emit(name, __assign({}, e)); }); }); }, updated: function () { var props = this.$props; var infiniteViewer = this.infiniteViewer; VanillaInfiniteViewer.PROPERTIES.forEach(function (name) { var value = props[name]; if (infiniteViewer[name] !== value && !utils.isUndefined(value)) { infiniteViewer[name] = props[name]; } }); }, beforeUnmount: function () { this.infiniteViewer.destroy(); } }; const _hoisted_1 = { ref: "containerElement" }; const _hoisted_2 = { ref: "wrapperElement" }; const _hoisted_3 = { ref: "scrollAreaElement" }; const _hoisted_4 = { ref: "horizontalScrollElement" }; const _hoisted_5 = /*#__PURE__*/vue.createElementVNode("div", { class: "infinite-viewer-scroll-thumb" }, null, -1 /* HOISTED */ ); const _hoisted_6 = [_hoisted_5]; const _hoisted_7 = { ref: "verticalScrollElement" }; const _hoisted_8 = /*#__PURE__*/vue.createElementVNode("div", { class: "infinite-viewer-scroll-thumb" }, null, -1 /* HOISTED */ ); const _hoisted_9 = [_hoisted_8]; function render(_ctx, _cache, $props, $setup, $data, $options) { return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.createElementVNode("div", _hoisted_2, [vue.createElementVNode("div", _hoisted_3, null, 512 /* NEED_PATCH */ ), vue.renderSlot(_ctx.$slots, "default")], 512 /* NEED_PATCH */ ), vue.createElementVNode("div", _hoisted_4, _hoisted_6, 512 /* NEED_PATCH */ ), vue.createElementVNode("div", _hoisted_7, _hoisted_9, 512 /* NEED_PATCH */ )], 512 /* NEED_PATCH */ ); } script.render = render; script.__file = "src/InfiniteViewer.vue"; // import VueInfiniteViewer from './VueInfiniteViewer'; exports.VueInfiniteViewer = script; exports.default = script; //# sourceMappingURL=infinite-viewer.cjs.js.map