| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599 |
- (function webpackUniversalModuleDefinition(root, factory) {
- if(typeof exports === 'object' && typeof module === 'object')
- module.exports = factory(require("viewerjs"));
- else if(typeof define === 'function' && define.amd)
- define(["viewerjs"], factory);
- else if(typeof exports === 'object')
- exports["VueViewer"] = factory(require("viewerjs"));
- else
- root["VueViewer"] = factory(root["Viewer"]);
- })(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {
- return /******/ (function(modules) { // webpackBootstrap
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // identity function for calling harmony imports with the correct context
- /******/ __webpack_require__.i = function(value) { return value; };
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, {
- /******/ configurable: false,
- /******/ enumerable: true,
- /******/ get: getter
- /******/ });
- /******/ }
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "";
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(__webpack_require__.s = 4);
- /******/ })
- /************************************************************************/
- /******/ ([
- /* 0 */
- /***/ (function(module, exports) {
- module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
- /***/ }),
- /* 1 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_viewerjs__ = __webpack_require__(0);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_viewerjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_viewerjs__);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_throttle_debounce__ = __webpack_require__(5);
- var install = function install(Vue, _ref) {
- var _ref$name = _ref.name,
- name = _ref$name === undefined ? 'viewer' : _ref$name,
- _ref$debug = _ref.debug,
- debug = _ref$debug === undefined ? false : _ref$debug;
- function createViewer(el, options) {
- var rebuild = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- Vue.nextTick(function () {
- if (rebuild || !el['$' + name]) {
- destroyViewer(el);
- el['$' + name] = new __WEBPACK_IMPORTED_MODULE_0_viewerjs___default.a(el, options);
- log('viewer created');
- } else {
- el['$' + name].update();
- log('viewer updated');
- }
- });
- }
- function createObserver(el, options, debouncedCreateViewer, rebuild) {
- destroyObserver(el);
- var MutationObserver = global.MutationObserver || global.WebKitMutationObserver || global.MozMutationObserver;
- if (!MutationObserver) {
- log('observer not supported');
- return;
- }
- var observer = new MutationObserver(function (mutations) {
- mutations.forEach(function (mutation) {
- log('viewer mutation:' + mutation.type);
- debouncedCreateViewer(el, options, rebuild);
- });
- });
- var config = { attributes: true, childList: true, characterData: true, subtree: true };
- observer.observe(el, config);
- el['$viewerMutationObserver'] = observer;
- log('observer created');
- }
- function createWatcher(el, _ref2, vnode, debouncedCreateViewer) {
- var expression = _ref2.expression;
- var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/;
- if (!expression || !simplePathRE.test(expression)) {
- log('only simple dot-delimited paths can create watcher');
- return;
- }
- el['$viewerUnwatch'] = vnode.context.$watch(expression, function (newVal, oldVal) {
- log('change detected by watcher: ', expression);
- debouncedCreateViewer(el, newVal, true);
- }, {
- deep: true
- });
- log('watcher created, expression: ', expression);
- }
- function destroyViewer(el) {
- if (!el['$' + name]) {
- return;
- }
- el['$' + name].destroy();
- delete el['$' + name];
- log('viewer destroyed');
- }
- function destroyObserver(el) {
- if (!el['$viewerMutationObserver']) {
- return;
- }
- el['$viewerMutationObserver'].disconnect();
- delete el['$viewerMutationObserver'];
- log('observer destroyed');
- }
- function destroyWatcher(el) {
- if (!el['$viewerUnwatch']) {
- return;
- }
- el['$viewerUnwatch']();
- delete el['$viewerUnwatch'];
- log('watcher destroyed');
- }
- function log() {
- var _console;
- debug && (_console = console).log.apply(_console, arguments);
- }
- Vue.directive('viewer', {
- bind: function bind(el, binding, vnode) {
- log('viewer bind');
- var debouncedCreateViewer = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_throttle_debounce__["a" /* debounce */])(50, createViewer);
- debouncedCreateViewer(el, binding.value);
- createWatcher(el, binding, vnode, debouncedCreateViewer);
- if (!binding.modifiers.static) {
- createObserver(el, binding.value, debouncedCreateViewer, binding.modifiers.rebuild);
- }
- },
- unbind: function unbind(el, binding) {
- log('viewer unbind');
- destroyObserver(el);
- destroyWatcher(el);
- destroyViewer(el);
- }
- });
- };
- /* harmony default export */ __webpack_exports__["a"] = ({
- install: install
- });
- /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(7)))
- /***/ }),
- /* 2 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- /* harmony export (immutable) */ __webpack_exports__["a"] = extend;
- function extend() {
- var extended = {};
- var deep = false;
- var i = 0;
- var length = arguments.length;
- if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {
- deep = arguments[0];
- i++;
- }
- function merge(obj) {
- for (var prop in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, prop)) {
- if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {
- extended[prop] = extend(true, extended[prop], obj[prop]);
- } else {
- extended[prop] = obj[prop];
- }
- }
- }
- }
- for (; i < length; i++) {
- var obj = arguments[i];
- merge(obj);
- }
- return extended;
- }
- /***/ }),
- /* 3 */
- /***/ (function(module, exports, __webpack_require__) {
- var Component = __webpack_require__(8)(
- /* script */
- __webpack_require__(6),
- /* template */
- __webpack_require__(9),
- /* scopeId */
- null,
- /* cssModules */
- null
- )
- Component.options.__file = "C:\\Workspaces\\Web\\Git\\v-viewer\\src\\component.vue"
- if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
- if (Component.options.functional) {console.error("[vue-loader] component.vue: functional components are not supported with templates, they should use render functions.")}
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-3091014c", Component.options)
- } else {
- hotAPI.reload("data-v-3091014c", Component.options)
- }
- })()}
- module.exports = Component.exports
- /***/ }),
- /* 4 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(2);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component_vue__ = __webpack_require__(3);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__component_vue__);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__directive__ = __webpack_require__(1);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_viewerjs__ = __webpack_require__(0);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_viewerjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_viewerjs__);
- /* harmony default export */ __webpack_exports__["default"] = ({
- install: function install(Vue) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$name = _ref.name,
- name = _ref$name === undefined ? 'viewer' : _ref$name,
- _ref$debug = _ref.debug,
- debug = _ref$debug === undefined ? false : _ref$debug,
- defaultOptions = _ref.defaultOptions;
- __WEBPACK_IMPORTED_MODULE_3_viewerjs___default.a.setDefaults(defaultOptions);
- Vue.component(name, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils__["a" /* extend */])(__WEBPACK_IMPORTED_MODULE_1__component_vue___default.a, { name: name }));
- Vue.use(__WEBPACK_IMPORTED_MODULE_2__directive__["a" /* default */], { name: name, debug: debug });
- },
- setDefaults: function setDefaults(defaultOptions) {
- __WEBPACK_IMPORTED_MODULE_3_viewerjs___default.a.setDefaults(defaultOptions);
- }
- });
- /***/ }),
- /* 5 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- /* unused harmony export throttle */
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return debounce; });
- function throttle(delay, noTrailing, callback, debounceMode) {
- var timeoutID;
- var cancelled = false;
- var lastExec = 0;
- function clearExistingTimeout() {
- if (timeoutID) {
- clearTimeout(timeoutID);
- }
- }
- function cancel() {
- clearExistingTimeout();
- cancelled = true;
- }
- if (typeof noTrailing !== 'boolean') {
- debounceMode = callback;
- callback = noTrailing;
- noTrailing = undefined;
- }
- function wrapper() {
- var self = this;
- var elapsed = Date.now() - lastExec;
- var args = arguments;
- if (cancelled) {
- return;
- }
- function exec() {
- lastExec = Date.now();
- callback.apply(self, args);
- }
- function clear() {
- timeoutID = undefined;
- }
- if (debounceMode && !timeoutID) {
- exec();
- }
- clearExistingTimeout();
- if (debounceMode === undefined && elapsed > delay) {
- exec();
- } else if (noTrailing !== true) {
- timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
- }
- }
- wrapper.cancel = cancel;
- return wrapper;
- }
- function debounce(delay, atBegin, callback) {
- return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);
- }
- /***/ }),
- /* 6 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_viewerjs__ = __webpack_require__(0);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_viewerjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_viewerjs__);
- /* harmony default export */ __webpack_exports__["default"] = ({
- props: {
- images: {
- type: Array
- },
- rebuild: {
- type: Boolean,
- default: false
- },
- trigger: {},
- options: {
- type: Object
- }
- },
- data: function data() {
- return {};
- },
- computed: {},
- methods: {
- onChange: function onChange() {
- if (this.rebuild) {
- this.rebuildViewer();
- } else {
- this.updateViewer();
- }
- },
- rebuildViewer: function rebuildViewer() {
- this.destroyViewer();
- this.createViewer();
- },
- updateViewer: function updateViewer() {
- if (this.$viewer) {
- this.$viewer.update();
- this.$emit('inited', this.$viewer);
- } else {
- this.createViewer();
- }
- },
- destroyViewer: function destroyViewer() {
- this.$viewer && this.$viewer.destroy();
- },
- createViewer: function createViewer() {
- this.$viewer = new __WEBPACK_IMPORTED_MODULE_0_viewerjs___default.a(this.$el, this.options);
- this.$emit('inited', this.$viewer);
- }
- },
- watch: {
- images: function images() {
- var _this = this;
- this.$nextTick(function () {
- _this.onChange();
- });
- },
- trigger: {
- handler: function handler() {
- var _this2 = this;
- this.$nextTick(function () {
- _this2.onChange();
- });
- },
- deep: true
- },
- options: {
- handler: function handler() {
- var _this3 = this;
- this.$nextTick(function () {
- _this3.rebuildViewer();
- });
- },
- deep: true
- }
- },
- mounted: function mounted() {
- this.createViewer();
- },
- destroyed: function destroyed() {
- this.destroyViewer();
- }
- });
- /***/ }),
- /* 7 */
- /***/ (function(module, exports) {
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
- var g;
- g = function () {
- return this;
- }();
- try {
- g = g || Function("return this")() || (1, eval)("this");
- } catch (e) {
- if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window;
- }
- module.exports = g;
- /***/ }),
- /* 8 */
- /***/ (function(module, exports) {
- // this module is a runtime utility for cleaner component module output and will
- // be included in the final webpack user bundle
- module.exports = function normalizeComponent (
- rawScriptExports,
- compiledTemplate,
- scopeId,
- cssModules
- ) {
- var esModule
- var scriptExports = rawScriptExports = rawScriptExports || {}
- // ES6 modules interop
- var type = typeof rawScriptExports.default
- if (type === 'object' || type === 'function') {
- esModule = rawScriptExports
- scriptExports = rawScriptExports.default
- }
- // Vue.extend constructor export interop
- var options = typeof scriptExports === 'function'
- ? scriptExports.options
- : scriptExports
- // render functions
- if (compiledTemplate) {
- options.render = compiledTemplate.render
- options.staticRenderFns = compiledTemplate.staticRenderFns
- }
- // scopedId
- if (scopeId) {
- options._scopeId = scopeId
- }
- // inject cssModules
- if (cssModules) {
- var computed = Object.create(options.computed || null)
- Object.keys(cssModules).forEach(function (key) {
- var module = cssModules[key]
- computed[key] = function () { return module }
- })
- options.computed = computed
- }
- return {
- esModule: esModule,
- exports: scriptExports,
- options: options
- }
- }
- /***/ }),
- /* 9 */
- /***/ (function(module, exports, __webpack_require__) {
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', [_vm._t("default", null, {
- "images": _vm.images,
- "options": _vm.options
- })], 2)
- },staticRenderFns: []}
- module.exports.render._withStripped = true
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api").rerender("data-v-3091014c", module.exports)
- }
- }
- /***/ })
- /******/ ]);
- });
|