UNPKG

@insaic/neon

Version:

A Mobile UI Components built on Vue

594 lines (512 loc) 17.8 kB
module.exports = /******/ (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; /******/ /******/ // 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 = 271); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, exports) { /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file. // 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, functionalTemplate, injectStyles, scopeId, moduleIdentifier /* server only */ ) { 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 options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = injectStyles } if (hook) { var functional = options.functional var existing = functional ? options.render : options.beforeCreate if (!functional) { // inject component registration as beforeCreate hook options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } else { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functioal component in vue file options.render = function renderWithStyleInjection (h, context) { hook.call(context) return existing(h, context) } } } return { esModule: esModule, exports: scriptExports, options: options } } /***/ }), /***/ 136: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__popup__ = __webpack_require__(83); // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ __webpack_exports__["a"] = ({ name: 'sq-sign', components: { SqPopup: __WEBPACK_IMPORTED_MODULE_0__popup__["default"] }, props: { value: { type: Boolean }, clearText: { type: String, default: '清屏' }, finishText: { type: String, default: '完成' } }, watch: { value: { handler: function handler(val, oldVal) { this.isShow = val; } } }, data: function data() { return { isShow: false, canvas: null, ctx: null, linex: [], liney: [], linen: [], lastX: 1, lastY: 30, isDrawing: false }; }, methods: { onClose: function onClose() { this.$emit('input', false); }, clearHandler: function clearHandler() { this.rewrite(); }, finishHandler: function finishHandler() { this.$emit('on-finish', this.convertCanvasToImage()); this.$emit('input', false); this.rewrite(); }, rewrite: function rewrite() { this.linex = []; this.liney = []; this.linen = []; this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); }, dataURLtoFile: function dataURLtoFile(dataurl, filename) { var arr = dataurl.split(','); var mime = arr[0].match(/:(.*?);/)[1]; var bstr = atob(arr[1]); var n = bstr.length; var u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new File([u8arr], filename, { type: mime }); }, convertCanvasToImage: function convertCanvasToImage() { var image = new Image(); image.width = 100; image.height = 50; image.src = this.canvas.toDataURL('image/png'); return { image: image, imageFile: this.dataURLtoFile(this.canvas.toDataURL('image/png'), new Date().getTime() + '.png') }; }, // 根据鼠标坐标获取绘图坐标 getCanvasPos: function getCanvasPos(canvas, event) { var rect = canvas.getBoundingClientRect(); var x = void 0; var y = void 0; if (event.targetTouches) { x = event.targetTouches[0].clientX; y = event.targetTouches[0].clientY; } else { x = event.touches.clientX; y = event.touches.clientY; } return { x: (x - rect.left) * (canvas.width / rect.width), y: (y - rect.top) * (canvas.height / rect.height) }; }, onTouchstart: function onTouchstart(event) { var _getCanvasPos = this.getCanvasPos(this.canvas, event), x = _getCanvasPos.x, y = _getCanvasPos.y; this.isDrawing = true; this.linex.push(x); this.liney.push(y); this.linen.push(0); event.stopPropagation(); event.preventDefault(); }, onTouchmove: function onTouchmove(event) { var _getCanvasPos2 = this.getCanvasPos(this.canvas, event), x = _getCanvasPos2.x, y = _getCanvasPos2.y; // 判断是否处于按下状态 if (this.isDrawing) { this.linex.push(x); this.liney.push(y); this.linen.push(1); this.ctx.save(); this.ctx.translate(this.ctx.canvas.width / 2, this.ctx.canvas.height / 2); this.ctx.translate(-this.ctx.canvas.width / 2, -this.ctx.canvas.height / 2); this.ctx.beginPath(); this.ctx.lineWidth = 2; for (var i = 1; i < this.linex.length; i++) { this.lastX = this.linex[i]; this.lastY = this.liney[i]; if (!this.linen[i]) { this.ctx.moveTo(this.lastX, this.lastY); } else { this.ctx.lineTo(this.lastX, this.lastY); } } this.ctx.shadowBlur = 10; this.ctx.stroke(); this.ctx.restore(); } }, onTouchend: function onTouchend() { this.isDrawing = false; } }, mounted: function mounted() { this.canvas = this.$refs.canvasRef; this.ctx = this.canvas.getContext('2d'); } }); /***/ }), /***/ 271: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_index_vue__ = __webpack_require__(272); __WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */].install = function (Vue) { Vue.component(__WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */].name, __WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */]); }; /* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */]); /***/ }), /***/ 272: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(136); /* unused harmony namespace reexport */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_19db0a46_hasScoped_false_transformToRequire_video_src_poster_source_src_img_src_image_xlink_href_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(274); function injectStyle (ssrContext) { __webpack_require__(273) } var normalizeComponent = __webpack_require__(0) /* script */ /* template */ /* template functional */ var __vue_template_functional__ = false /* styles */ var __vue_styles__ = injectStyle /* scopeId */ var __vue_scopeId__ = null /* moduleIdentifier (server only) */ var __vue_module_identifier__ = null var Component = normalizeComponent( __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__["a" /* default */], __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_19db0a46_hasScoped_false_transformToRequire_video_src_poster_source_src_img_src_image_xlink_href_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_index_vue__["a" /* default */], __vue_template_functional__, __vue_styles__, __vue_scopeId__, __vue_module_identifier__ ) /* harmony default export */ __webpack_exports__["a"] = (Component.exports); /***/ }), /***/ 273: /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ 274: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sq-popup',{staticClass:"sq-sign-popup-wrap",attrs:{"close-on-click-overlay":false},model:{value:(_vm.isShow),callback:function ($$v) {_vm.isShow=$$v},expression:"isShow"}},[_c('div',{staticClass:"sq-sign-draw-wrap"},[_c('i',{staticClass:"sq-icon sq-icon-error-full sq-sign-close",on:{"click":_vm.onClose}}),_vm._v(" "),_c('canvas',{ref:"canvasRef",staticClass:"sq-sign-canvas-wrap",on:{"touchstart":_vm.onTouchstart,"touchmove":_vm.onTouchmove,"touchend":_vm.onTouchend,"touchcalcel":_vm.onTouchend}})]),_vm._v(" "),_c('div',{staticClass:"sq-sign-btn-wrap"},[_c('sq-button',{staticClass:"sq-sign-btn-left",attrs:{"type":"primary","size":"small"},nativeOn:{"click":function($event){return _vm.clearHandler($event)}}},[_vm._v(_vm._s(_vm.clearText))]),_vm._v(" "),_c('sq-button',{attrs:{"type":"primary","size":"small"},nativeOn:{"click":function($event){return _vm.finishHandler($event)}}},[_vm._v(_vm._s(_vm.finishText))])],1)])} var staticRenderFns = [] var esExports = { render: render, staticRenderFns: staticRenderFns } /* harmony default export */ __webpack_exports__["a"] = (esExports); /***/ }), /***/ 58: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // // // // // // // // // // // // // // // // // var objTransitionSlideType = { bottom: 'ry-slide-bottom', left: 'ry-slide-left', top: 'ry-slide-top', right: 'ry-slide-right', center: 'ry-fade' }; /* harmony default export */ __webpack_exports__["a"] = ({ name: 'sq-popup', props: { position: { type: String, default: 'center' }, value: { type: Boolean, required: true }, closeOnClickOverlay: { type: Boolean, default: true }, hideMask: { type: Boolean, default: false } }, computed: { positionClass: function positionClass() { return ['sq-popup-' + this.position]; }, transitionSlideType: function transitionSlideType() { return objTransitionSlideType[this.position]; } }, methods: { $_cancel: function $_cancel() { if (!this.closeOnClickOverlay) return; this.$emit('input', false); } } }); /***/ }), /***/ 83: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_index_vue__ = __webpack_require__(84); __WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */].install = function (Vue) { Vue.component(__WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */].name, __WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */]); }; /* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__src_index_vue__["a" /* default */]); /***/ }), /***/ 84: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(58); /* unused harmony namespace reexport */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_0435db4e_hasScoped_false_transformToRequire_video_src_poster_source_src_img_src_image_xlink_href_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_index_vue__ = __webpack_require__(86); function injectStyle (ssrContext) { __webpack_require__(85) } var normalizeComponent = __webpack_require__(0) /* script */ /* template */ /* template functional */ var __vue_template_functional__ = false /* styles */ var __vue_styles__ = injectStyle /* scopeId */ var __vue_scopeId__ = null /* moduleIdentifier (server only) */ var __vue_module_identifier__ = null var Component = normalizeComponent( __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__["a" /* default */], __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_0435db4e_hasScoped_false_transformToRequire_video_src_poster_source_src_img_src_image_xlink_href_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_index_vue__["a" /* default */], __vue_template_functional__, __vue_styles__, __vue_scopeId__, __vue_module_identifier__ ) /* harmony default export */ __webpack_exports__["a"] = (Component.exports); /***/ }), /***/ 85: /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ 86: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sq-popup"},[_c('transition',{attrs:{"name":"ry-fade"}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.value && !_vm.hideMask),expression:"value && !hideMask"}],staticClass:"sq-popup-mask",on:{"click":_vm.$_cancel}})]),_vm._v(" "),_c('transition',{attrs:{"name":_vm.transitionSlideType}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.value),expression:"value"}],staticClass:"sq-popup-content",class:_vm.positionClass},[_vm._t("default")],2)])],1)} var staticRenderFns = [] var esExports = { render: render, staticRenderFns: staticRenderFns } /* harmony default export */ __webpack_exports__["a"] = (esExports); /***/ }) /******/ });