{"version":3,"sources":["webpack:///js/list.js","webpack:///./mobile/src/router/list.js","webpack:///./mobile/src/js/clipboard.js","webpack:///(webpack)/buildin/module.js"],"names":["webpackJsonp","11","module","exports","16","__webpack_require__","2","tabIndex","$","on","this","index","addClass","siblings","removeClass","eq","src","attr","timer","document","range","createRange","selectNode","find","window","getSelection","removeAllRanges","addRange","execCommand","clearTimeout","setTimeout","err","console","log","5","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","_typeof2","Symbol","iterator","obj","constructor","prototype","root","factory","undefined","apply","modules","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","hasOwnProperty","p","s","_interopRequireDefault","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","writable","configurable","setPrototypeOf","__proto__","getAttributeValue","suffix","element","attribute","hasAttribute","getAttribute","_typeof","_createClass","defineProperties","target","props","length","descriptor","protoProps","staticProps","_clipboardAction","_clipboardAction2","_tinyEmitter","_tinyEmitter2","_goodListener","_goodListener2","Clipboard","_Emitter","trigger","options","_this","getPrototypeOf","resolveOptions","listenClick","arguments","action","defaultAction","defaultTarget","text","defaultText","container","body","_this2","listener","e","onClick","delegateTarget","currentTarget","clipboardAction","emitter","selector","querySelector","destroy","actions","support","queryCommandSupported","forEach","_select","_select2","ClipboardAction","initSelection","selectedText","selectFake","selectTarget","isRTL","documentElement","removeFake","fakeHandlerCallback","fakeHandler","addEventListener","fakeElem","createElement","style","fontSize","border","padding","margin","position","yPosition","pageYOffset","scrollTop","top","setAttribute","appendChild","copyText","removeEventListener","removeChild","succeeded","handleResult","emit","clearSelection","focus","set","_action","Error","nodeType","_target","select","nodeName","isReadOnly","setSelectionRange","removeAttribute","selection","selectNodeContents","toString","E","callback","ctx","push","fn","once","off","_","data","slice","evtArr","len","evts","liveEvents","listen","type","is","string","node","listenNode","nodeList","listenNodeList","listenSelector","Array","delegate","HTMLElement","String","_delegate","useCapture","listenerFn","elements","querySelectorAll","map","closest","DOCUMENT_NODE_TYPE","matches","parentNode","Element","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","8","webpackPolyfill","deprecate","paths","children"],"mappings":"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","file":"js/list.js?v=c4580c65","sourcesContent":["webpackJsonp([0],{\n\n/***/ 11:\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(2);\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(0);\n\n__webpack_require__(11);\n\n__webpack_require__(5);\n\nfunction init() {\n var tabIndex = 0;\n $('[node-id=\"tab\"]').on('touchend', '.li', function () {\n tabIndex = $(this).index();\n $(this).addClass('active').siblings('.li').removeClass('active');\n $('[node-id=\"list\"]').addClass('fn-hide').eq(tabIndex).removeClass('fn-hide');\n });\n\n $('.pages').on('touchend', '[node-id=\"rule\"]', function () {\n var src = $(this).attr('node-pic');\n $('#code').attr('src', src);\n $('#layer').removeClass('fn-hide');\n });\n\n $('#close').on('touchend', function () {\n $('#layer').addClass('fn-hide');\n });\n\n var timer;\n // $('[node-id=\"copy\"]').on('touchend',function(){\n // //var val = $(this).attr('data.code');\n // var clipboard = new Clipboard(this);\n // $('#success').removeClass('fn-hide');\n // clearTimeout(timer);\n // timer = setTimeout(function(){\n // $('#success').addClass('fn-hide');\n // },3000)\n // });\n\n\n $(document).on('touchend', '[node-id=\"copy\"]', function () {\n var range = document.createRange();\n range.selectNode($(this).find('span')[0]);\n window.getSelection().removeAllRanges();\n window.getSelection().addRange(range);\n var successful = document.execCommand('copy');\n try {\n $('#success').removeClass('fn-hide');\n clearTimeout(timer);\n timer = setTimeout(function () {\n $('#success').addClass('fn-hide');\n }, 3000);\n } catch (err) {\n console.log('Oops, unable to copy');\n }\n window.getSelection().removeAllRanges();\n });\n\n // $(window).on('scroll',function(){\n // var st = $(this).scrollTop();\n // var doc = $(document).height()-$(window).height()\n // if(st >= doc && tabIndex == 1){\n // var html = '';\n // for(var i=0;i<10;i++){\n // html = codeItem(1)\n // }\n // $('.pages').append(html)\n // }\n // });\n\n // function codeItem(data){\n // return `
\n //
\n //
\n //

段宜恩电子刊段宜恩电子刊段宜恩电子刊

\n //

阅读码:1512DBHJS

\n //
\n // \n // \n //
`;\n // }\n\n}\ninit();\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _typeof2 = 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; };\n\n/*!\r\n * clipboard.js v2.0.4\r\n * https://zenorocha.github.io/clipboard.js\r\n * \r\n * Licensed MIT © Zeno Rocha\r\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if (( false ? 'undefined' : _typeof2(exports)) === 'object' && ( false ? 'undefined' : _typeof2(module)) === 'object') module.exports = factory();else if (true) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else if ((typeof exports === 'undefined' ? 'undefined' : _typeof2(exports)) === 'object') exports[\"ClipboardJS\"] = factory();else root[\"ClipboardJS\"] = factory();\n})(undefined, function () {\n return (/******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, { enumerable: true, get: getter });\n /******/\n }\n /******/\n };\n /******/\n /******/ // define __esModule on exports\n /******/__webpack_require__.r = function (exports) {\n /******/if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n /******/\n }\n /******/Object.defineProperty(exports, '__esModule', { value: true });\n /******/\n };\n /******/\n /******/ // create a fake namespace object\n /******/ // mode & 1: value is a module id, require it\n /******/ // mode & 2: merge all properties of value into the ns\n /******/ // mode & 4: return value when already ns object\n /******/ // mode & 8|1: behave like require\n /******/__webpack_require__.t = function (value, mode) {\n /******/if (mode & 1) value = __webpack_require__(value);\n /******/if (mode & 8) return value;\n /******/if (mode & 4 && (typeof value === 'undefined' ? 'undefined' : _typeof2(value)) === 'object' && value && value.__esModule) return value;\n /******/var ns = Object.create(null);\n /******/__webpack_require__.r(ns);\n /******/Object.defineProperty(ns, 'default', { enumerable: true, value: value });\n /******/if (mode & 2 && typeof value != 'string') for (var key in value) {\n __webpack_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n } /******/return ns;\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 0);\n /******/\n }(\n /************************************************************************/\n /******/[\n /* 0 */\n /***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n }();\n\n var _clipboardAction = __webpack_require__(1);\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter = __webpack_require__(3);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener = __webpack_require__(4);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }return call && ((typeof call === 'undefined' ? 'undefined' : _typeof2(call)) === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === 'undefined' ? 'undefined' : _typeof2(superClass)));\n }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n /**\r\n * Base class which takes one or more elements, adds event listeners to them,\r\n * and instantiates a new `ClipboardAction` on each click.\r\n */\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\r\n * @param {Object} options\r\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\r\n * Defines if attributes would be resolved using internal setter functions\r\n * or custom functions that were passed in the constructor.\r\n * @param {Object} options\r\n */\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\r\n * Adds a click event listener to the passed trigger.\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\r\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\r\n * Defines a new `ClipboardAction` on each click event.\r\n * @param {Event} e\r\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\r\n * Default `action` lookup function.\r\n * @param {Element} trigger\r\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\r\n * Default `target` lookup function.\r\n * @param {Element} trigger\r\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\r\n * Returns the support of the given action, or all actions if no action is\r\n * given.\r\n * @param {String} [action]\r\n */\n\n }, {\n key: 'defaultText',\n\n /**\r\n * Default `text` lookup function.\r\n * @param {Element} trigger\r\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\r\n * Destroy lifecycle.\r\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\r\n * Helper function to retrieve attribute value.\r\n * @param {String} suffix\r\n * @param {Element} element\r\n */\n\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n\n /***/\n },\n /* 1 */\n /***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if (\"value\" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);\n }\n }return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;\n };\n }();\n\n var _select = __webpack_require__(2);\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n /**\r\n * Inner class which performs selection from either `text` or `target`\r\n * properties and then executes copy or cut operations.\r\n */\n var ClipboardAction = function () {\n /**\r\n * @param {Object} options\r\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\r\n * Defines base properties passed from constructor.\r\n * @param {Object} options\r\n */\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\r\n * Decides which selection strategy is going to be applied based\r\n * on the existence of `text` and `target` properties.\r\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\r\n * Creates a fake textarea element, sets its value from `text` property,\r\n * and makes a selection on it.\r\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n\n /**\r\n * Only removes the fake element after another click event, that way\r\n * a user can hit `Ctrl+C` to copy because selection still exists.\r\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\r\n * Selects the content from element passed on `target` property.\r\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n\n /**\r\n * Executes the copy operation based on the current selection.\r\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\r\n * Fires an event based on the copy operation result.\r\n * @param {Boolean} succeeded\r\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\r\n * Moves focus away from `target` and back to the trigger, removes current selection.\r\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n\n /**\r\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\r\n * @param {String} action\r\n */\n\n }, {\n key: 'destroy',\n\n /**\r\n * Destroy lifecycle.\r\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\r\n * Gets the `action` property.\r\n * @return {String}\r\n */\n\n , get: function get() {\n return this._action;\n }\n\n /**\r\n * Sets the `target` property using an element\r\n * that will be have its content copied.\r\n * @param {Element} target\r\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\r\n * Gets the `target` property.\r\n * @return {String|HTMLElement}\r\n */\n\n , get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n\n /***/\n },\n /* 2 */\n /***/function (module, exports) {\n\n function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n } else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n } else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n }\n\n module.exports = select;\n\n /***/\n },\n /* 3 */\n /***/function (module, exports) {\n\n function E() {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n }\n\n E.prototype = {\n on: function on(name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function once(name, callback, ctx) {\n var self = this;\n function listener() {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback;\n return this.on(name, listener, ctx);\n },\n\n emit: function emit(name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function off(name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback) liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n liveEvents.length ? e[name] = liveEvents : delete e[name];\n\n return this;\n }\n };\n\n module.exports = E;\n\n /***/\n },\n /* 4 */\n /***/function (module, exports, __webpack_require__) {\n\n var is = __webpack_require__(5);\n var delegate = __webpack_require__(6);\n\n /**\r\n * Validates all params and calls the right\r\n * listener function based on its target type.\r\n *\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\n function listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n } else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n } else if (is.string(target)) {\n return listenSelector(target, type, callback);\n } else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n }\n\n /**\r\n * Adds an event listener to a HTML element\r\n * and returns a remove listener function.\r\n *\r\n * @param {HTMLElement} node\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\n function listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function destroy() {\n node.removeEventListener(type, callback);\n }\n };\n }\n\n /**\r\n * Add an event listener to a list of HTML elements\r\n * and returns a remove listener function.\r\n *\r\n * @param {NodeList|HTMLCollection} nodeList\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\n function listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function (node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function destroy() {\n Array.prototype.forEach.call(nodeList, function (node) {\n node.removeEventListener(type, callback);\n });\n }\n };\n }\n\n /**\r\n * Add an event listener to a selector\r\n * and returns a remove listener function.\r\n *\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\n function listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n }\n\n module.exports = listen;\n\n /***/\n },\n /* 5 */\n /***/function (module, exports) {\n\n /**\r\n * Check if argument is a HTML element.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\n exports.node = function (value) {\n return value !== undefined && value instanceof HTMLElement && value.nodeType === 1;\n };\n\n /**\r\n * Check if argument is a list of HTML elements.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\n exports.nodeList = function (value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined && (type === '[object NodeList]' || type === '[object HTMLCollection]') && 'length' in value && (value.length === 0 || exports.node(value[0]));\n };\n\n /**\r\n * Check if argument is a string.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\n exports.string = function (value) {\n return typeof value === 'string' || value instanceof String;\n };\n\n /**\r\n * Check if argument is a function.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\n exports.fn = function (value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n };\n\n /***/\n },\n /* 6 */\n /***/function (module, exports, __webpack_require__) {\n\n var closest = __webpack_require__(7);\n\n /**\r\n * Delegates event to a selector.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @param {Boolean} useCapture\r\n * @return {Object}\r\n */\n function _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function destroy() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n };\n }\n\n /**\r\n * Delegates event to a selector.\r\n *\r\n * @param {Element|String|Array} [elements]\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @param {Boolean} useCapture\r\n * @return {Object}\r\n */\n function delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n }\n\n /**\r\n * Finds closest match and invokes callback.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Function}\r\n */\n function listener(element, selector, type, callback) {\n return function (e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n };\n }\n\n module.exports = delegate;\n\n /***/\n },\n /* 7 */\n /***/function (module, exports) {\n\n var DOCUMENT_NODE_TYPE = 9;\n\n /**\r\n * A polyfill for Element.matches()\r\n */\n if (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector;\n }\n\n /**\r\n * Finds the closest parent that matches a selector.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @return {Function}\r\n */\n function closest(element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' && element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n }\n\n module.exports = closest;\n\n /***/\n }]\n /******/)\n );\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)(module)))\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function () {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function get() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function get() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n/***/ })\n\n},[16]);\n\n\n// WEBPACK FOOTER //\n// js/list.js?v=c4580c65","import './global';\r\nimport '../css/list.css';\r\nimport '../js/clipboard.js';\r\n\r\nfunction init(){\r\n var tabIndex = 0;\r\n $('[node-id=\"tab\"]').on('touchend','.li',function(){\r\n tabIndex = $(this).index();\r\n $(this).addClass('active').siblings('.li').removeClass('active');\r\n $('[node-id=\"list\"]').addClass('fn-hide').eq(tabIndex).removeClass('fn-hide');\r\n });\r\n\r\n $('.pages').on('touchend','[node-id=\"rule\"]',function(){\r\n var src = $(this).attr('node-pic');\r\n $('#code').attr('src',src);\r\n $('#layer').removeClass('fn-hide');\r\n });\r\n\r\n $('#close').on('touchend',function(){\r\n $('#layer').addClass('fn-hide');\r\n });\r\n\r\n var timer;\r\n // $('[node-id=\"copy\"]').on('touchend',function(){\r\n // //var val = $(this).attr('data.code');\r\n // var clipboard = new Clipboard(this);\r\n // $('#success').removeClass('fn-hide');\r\n // clearTimeout(timer);\r\n // timer = setTimeout(function(){\r\n // $('#success').addClass('fn-hide');\r\n // },3000)\r\n // });\r\n\r\n\r\n $(document).on('touchend','[node-id=\"copy\"]',function(){\r\n var range = document.createRange();\r\n range.selectNode($(this).find('span')[0]);\r\n window.getSelection().removeAllRanges();\r\n window.getSelection().addRange(range);\r\n var successful = document.execCommand('copy');\r\n try {\r\n $('#success').removeClass('fn-hide');\r\n clearTimeout(timer);\r\n timer = setTimeout(function(){\r\n $('#success').addClass('fn-hide');\r\n },3000)\r\n } catch(err) {\r\n console.log('Oops, unable to copy');\r\n }\r\n window.getSelection().removeAllRanges();\r\n });\r\n\r\n // $(window).on('scroll',function(){\r\n // var st = $(this).scrollTop();\r\n // var doc = $(document).height()-$(window).height()\r\n // if(st >= doc && tabIndex == 1){\r\n // var html = '';\r\n // for(var i=0;i<10;i++){\r\n // html = codeItem(1)\r\n // }\r\n // $('.pages').append(html)\r\n // }\r\n // });\r\n\r\n // function codeItem(data){\r\n // return `
\r\n //
\r\n //
\r\n //

段宜恩电子刊段宜恩电子刊段宜恩电子刊

\r\n //

阅读码:1512DBHJS

\r\n //
\r\n // \r\n // \r\n //
`;\r\n // }\r\n\r\n\r\n}\r\ninit();\n\n\n// WEBPACK FOOTER //\n// ./mobile/src/router/list.js","/*!\r\n * clipboard.js v2.0.4\r\n * https://zenorocha.github.io/clipboard.js\r\n * \r\n * Licensed MIT © Zeno Rocha\r\n */\r\n(function webpackUniversalModuleDefinition(root, factory) {\r\n\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\tmodule.exports = factory();\r\n\telse if(typeof define === 'function' && define.amd)\r\n\t\tdefine([], factory);\r\n\telse if(typeof exports === 'object')\r\n\t\texports[\"ClipboardJS\"] = factory();\r\n\telse\r\n\t\troot[\"ClipboardJS\"] = factory();\r\n})(this, function() {\r\nreturn /******/ (function(modules) { // webpackBootstrap\r\n/******/ \t// The module cache\r\n/******/ \tvar installedModules = {};\r\n/******/\r\n/******/ \t// The require function\r\n/******/ \tfunction __webpack_require__(moduleId) {\r\n/******/\r\n/******/ \t\t// Check if module is in cache\r\n/******/ \t\tif(installedModules[moduleId]) {\r\n/******/ \t\t\treturn installedModules[moduleId].exports;\r\n/******/ \t\t}\r\n/******/ \t\t// Create a new module (and put it into the cache)\r\n/******/ \t\tvar module = installedModules[moduleId] = {\r\n/******/ \t\t\ti: moduleId,\r\n/******/ \t\t\tl: false,\r\n/******/ \t\t\texports: {}\r\n/******/ \t\t};\r\n/******/\r\n/******/ \t\t// Execute the module function\r\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\r\n/******/\r\n/******/ \t\t// Flag the module as loaded\r\n/******/ \t\tmodule.l = true;\r\n/******/\r\n/******/ \t\t// Return the exports of the module\r\n/******/ \t\treturn module.exports;\r\n/******/ \t}\r\n/******/\r\n/******/\r\n/******/ \t// expose the modules object (__webpack_modules__)\r\n/******/ \t__webpack_require__.m = modules;\r\n/******/\r\n/******/ \t// expose the module cache\r\n/******/ \t__webpack_require__.c = installedModules;\r\n/******/\r\n/******/ \t// define getter function for harmony exports\r\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\r\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\r\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\r\n/******/ \t\t}\r\n/******/ \t};\r\n/******/\r\n/******/ \t// define __esModule on exports\r\n/******/ \t__webpack_require__.r = function(exports) {\r\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\r\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\r\n/******/ \t\t}\r\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\r\n/******/ \t};\r\n/******/\r\n/******/ \t// create a fake namespace object\r\n/******/ \t// mode & 1: value is a module id, require it\r\n/******/ \t// mode & 2: merge all properties of value into the ns\r\n/******/ \t// mode & 4: return value when already ns object\r\n/******/ \t// mode & 8|1: behave like require\r\n/******/ \t__webpack_require__.t = function(value, mode) {\r\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\r\n/******/ \t\tif(mode & 8) return value;\r\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\r\n/******/ \t\tvar ns = Object.create(null);\r\n/******/ \t\t__webpack_require__.r(ns);\r\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\r\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\r\n/******/ \t\treturn ns;\r\n/******/ \t};\r\n/******/\r\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\r\n/******/ \t__webpack_require__.n = function(module) {\r\n/******/ \t\tvar getter = module && module.__esModule ?\r\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\r\n/******/ \t\t\tfunction getModuleExports() { return module; };\r\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\r\n/******/ \t\treturn getter;\r\n/******/ \t};\r\n/******/\r\n/******/ \t// Object.prototype.hasOwnProperty.call\r\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\r\n/******/\r\n/******/ \t// __webpack_public_path__\r\n/******/ \t__webpack_require__.p = \"\";\r\n/******/\r\n/******/\r\n/******/ \t// Load entry module and return exports\r\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\r\n/******/ })\r\n/************************************************************************/\r\n/******/ ([\r\n/* 0 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\n\"use strict\";\r\n\r\n\r\nvar _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; };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _clipboardAction = __webpack_require__(1);\r\n\r\nvar _clipboardAction2 = _interopRequireDefault(_clipboardAction);\r\n\r\nvar _tinyEmitter = __webpack_require__(3);\r\n\r\nvar _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\r\n\r\nvar _goodListener = __webpack_require__(4);\r\n\r\nvar _goodListener2 = _interopRequireDefault(_goodListener);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\r\n\r\n/**\r\n * Base class which takes one or more elements, adds event listeners to them,\r\n * and instantiates a new `ClipboardAction` on each click.\r\n */\r\nvar Clipboard = function (_Emitter) {\r\n _inherits(Clipboard, _Emitter);\r\n\r\n /**\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\r\n * @param {Object} options\r\n */\r\n function Clipboard(trigger, options) {\r\n _classCallCheck(this, Clipboard);\r\n\r\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\r\n\r\n _this.resolveOptions(options);\r\n _this.listenClick(trigger);\r\n return _this;\r\n }\r\n\r\n /**\r\n * Defines if attributes would be resolved using internal setter functions\r\n * or custom functions that were passed in the constructor.\r\n * @param {Object} options\r\n */\r\n\r\n\r\n _createClass(Clipboard, [{\r\n key: 'resolveOptions',\r\n value: function resolveOptions() {\r\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n\r\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\r\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\r\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\r\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\r\n }\r\n\r\n /**\r\n * Adds a click event listener to the passed trigger.\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\r\n */\r\n\r\n }, {\r\n key: 'listenClick',\r\n value: function listenClick(trigger) {\r\n var _this2 = this;\r\n\r\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\r\n return _this2.onClick(e);\r\n });\r\n }\r\n\r\n /**\r\n * Defines a new `ClipboardAction` on each click event.\r\n * @param {Event} e\r\n */\r\n\r\n }, {\r\n key: 'onClick',\r\n value: function onClick(e) {\r\n var trigger = e.delegateTarget || e.currentTarget;\r\n\r\n if (this.clipboardAction) {\r\n this.clipboardAction = null;\r\n }\r\n\r\n this.clipboardAction = new _clipboardAction2.default({\r\n action: this.action(trigger),\r\n target: this.target(trigger),\r\n text: this.text(trigger),\r\n container: this.container,\r\n trigger: trigger,\r\n emitter: this\r\n });\r\n }\r\n\r\n /**\r\n * Default `action` lookup function.\r\n * @param {Element} trigger\r\n */\r\n\r\n }, {\r\n key: 'defaultAction',\r\n value: function defaultAction(trigger) {\r\n return getAttributeValue('action', trigger);\r\n }\r\n\r\n /**\r\n * Default `target` lookup function.\r\n * @param {Element} trigger\r\n */\r\n\r\n }, {\r\n key: 'defaultTarget',\r\n value: function defaultTarget(trigger) {\r\n var selector = getAttributeValue('target', trigger);\r\n\r\n if (selector) {\r\n return document.querySelector(selector);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the support of the given action, or all actions if no action is\r\n * given.\r\n * @param {String} [action]\r\n */\r\n\r\n }, {\r\n key: 'defaultText',\r\n\r\n\r\n /**\r\n * Default `text` lookup function.\r\n * @param {Element} trigger\r\n */\r\n value: function defaultText(trigger) {\r\n return getAttributeValue('text', trigger);\r\n }\r\n\r\n /**\r\n * Destroy lifecycle.\r\n */\r\n\r\n }, {\r\n key: 'destroy',\r\n value: function destroy() {\r\n this.listener.destroy();\r\n\r\n if (this.clipboardAction) {\r\n this.clipboardAction.destroy();\r\n this.clipboardAction = null;\r\n }\r\n }\r\n }], [{\r\n key: 'isSupported',\r\n value: function isSupported() {\r\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\r\n\r\n var actions = typeof action === 'string' ? [action] : action;\r\n var support = !!document.queryCommandSupported;\r\n\r\n actions.forEach(function (action) {\r\n support = support && !!document.queryCommandSupported(action);\r\n });\r\n\r\n return support;\r\n }\r\n }]);\r\n\r\n return Clipboard;\r\n}(_tinyEmitter2.default);\r\n\r\n/**\r\n * Helper function to retrieve attribute value.\r\n * @param {String} suffix\r\n * @param {Element} element\r\n */\r\n\r\n\r\nfunction getAttributeValue(suffix, element) {\r\n var attribute = 'data-clipboard-' + suffix;\r\n\r\n if (!element.hasAttribute(attribute)) {\r\n return;\r\n }\r\n\r\n return element.getAttribute(attribute);\r\n}\r\n\r\nmodule.exports = Clipboard;\r\n\r\n/***/ }),\r\n/* 1 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\n\"use strict\";\r\n\r\n\r\nvar _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; };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _select = __webpack_require__(2);\r\n\r\nvar _select2 = _interopRequireDefault(_select);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/**\r\n * Inner class which performs selection from either `text` or `target`\r\n * properties and then executes copy or cut operations.\r\n */\r\nvar ClipboardAction = function () {\r\n /**\r\n * @param {Object} options\r\n */\r\n function ClipboardAction(options) {\r\n _classCallCheck(this, ClipboardAction);\r\n\r\n this.resolveOptions(options);\r\n this.initSelection();\r\n }\r\n\r\n /**\r\n * Defines base properties passed from constructor.\r\n * @param {Object} options\r\n */\r\n\r\n\r\n _createClass(ClipboardAction, [{\r\n key: 'resolveOptions',\r\n value: function resolveOptions() {\r\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n\r\n this.action = options.action;\r\n this.container = options.container;\r\n this.emitter = options.emitter;\r\n this.target = options.target;\r\n this.text = options.text;\r\n this.trigger = options.trigger;\r\n\r\n this.selectedText = '';\r\n }\r\n\r\n /**\r\n * Decides which selection strategy is going to be applied based\r\n * on the existence of `text` and `target` properties.\r\n */\r\n\r\n }, {\r\n key: 'initSelection',\r\n value: function initSelection() {\r\n if (this.text) {\r\n this.selectFake();\r\n } else if (this.target) {\r\n this.selectTarget();\r\n }\r\n }\r\n\r\n /**\r\n * Creates a fake textarea element, sets its value from `text` property,\r\n * and makes a selection on it.\r\n */\r\n\r\n }, {\r\n key: 'selectFake',\r\n value: function selectFake() {\r\n var _this = this;\r\n\r\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\r\n\r\n this.removeFake();\r\n\r\n this.fakeHandlerCallback = function () {\r\n return _this.removeFake();\r\n };\r\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\r\n\r\n this.fakeElem = document.createElement('textarea');\r\n // Prevent zooming on iOS\r\n this.fakeElem.style.fontSize = '12pt';\r\n // Reset box model\r\n this.fakeElem.style.border = '0';\r\n this.fakeElem.style.padding = '0';\r\n this.fakeElem.style.margin = '0';\r\n // Move element out of screen horizontally\r\n this.fakeElem.style.position = 'absolute';\r\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\r\n // Move element to the same position vertically\r\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\r\n this.fakeElem.style.top = yPosition + 'px';\r\n\r\n this.fakeElem.setAttribute('readonly', '');\r\n this.fakeElem.value = this.text;\r\n\r\n this.container.appendChild(this.fakeElem);\r\n\r\n this.selectedText = (0, _select2.default)(this.fakeElem);\r\n this.copyText();\r\n }\r\n\r\n /**\r\n * Only removes the fake element after another click event, that way\r\n * a user can hit `Ctrl+C` to copy because selection still exists.\r\n */\r\n\r\n }, {\r\n key: 'removeFake',\r\n value: function removeFake() {\r\n if (this.fakeHandler) {\r\n this.container.removeEventListener('click', this.fakeHandlerCallback);\r\n this.fakeHandler = null;\r\n this.fakeHandlerCallback = null;\r\n }\r\n\r\n if (this.fakeElem) {\r\n this.container.removeChild(this.fakeElem);\r\n this.fakeElem = null;\r\n }\r\n }\r\n\r\n /**\r\n * Selects the content from element passed on `target` property.\r\n */\r\n\r\n }, {\r\n key: 'selectTarget',\r\n value: function selectTarget() {\r\n this.selectedText = (0, _select2.default)(this.target);\r\n this.copyText();\r\n }\r\n\r\n /**\r\n * Executes the copy operation based on the current selection.\r\n */\r\n\r\n }, {\r\n key: 'copyText',\r\n value: function copyText() {\r\n var succeeded = void 0;\r\n\r\n try {\r\n succeeded = document.execCommand(this.action);\r\n } catch (err) {\r\n succeeded = false;\r\n }\r\n\r\n this.handleResult(succeeded);\r\n }\r\n\r\n /**\r\n * Fires an event based on the copy operation result.\r\n * @param {Boolean} succeeded\r\n */\r\n\r\n }, {\r\n key: 'handleResult',\r\n value: function handleResult(succeeded) {\r\n this.emitter.emit(succeeded ? 'success' : 'error', {\r\n action: this.action,\r\n text: this.selectedText,\r\n trigger: this.trigger,\r\n clearSelection: this.clearSelection.bind(this)\r\n });\r\n }\r\n\r\n /**\r\n * Moves focus away from `target` and back to the trigger, removes current selection.\r\n */\r\n\r\n }, {\r\n key: 'clearSelection',\r\n value: function clearSelection() {\r\n if (this.trigger) {\r\n this.trigger.focus();\r\n }\r\n\r\n window.getSelection().removeAllRanges();\r\n }\r\n\r\n /**\r\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\r\n * @param {String} action\r\n */\r\n\r\n }, {\r\n key: 'destroy',\r\n\r\n\r\n /**\r\n * Destroy lifecycle.\r\n */\r\n value: function destroy() {\r\n this.removeFake();\r\n }\r\n }, {\r\n key: 'action',\r\n set: function set() {\r\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\r\n\r\n this._action = action;\r\n\r\n if (this._action !== 'copy' && this._action !== 'cut') {\r\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\r\n }\r\n }\r\n\r\n /**\r\n * Gets the `action` property.\r\n * @return {String}\r\n */\r\n ,\r\n get: function get() {\r\n return this._action;\r\n }\r\n\r\n /**\r\n * Sets the `target` property using an element\r\n * that will be have its content copied.\r\n * @param {Element} target\r\n */\r\n\r\n }, {\r\n key: 'target',\r\n set: function set(target) {\r\n if (target !== undefined) {\r\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\r\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\r\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\r\n }\r\n\r\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\r\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\r\n }\r\n\r\n this._target = target;\r\n } else {\r\n throw new Error('Invalid \"target\" value, use a valid Element');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets the `target` property.\r\n * @return {String|HTMLElement}\r\n */\r\n ,\r\n get: function get() {\r\n return this._target;\r\n }\r\n }]);\r\n\r\n return ClipboardAction;\r\n}();\r\n\r\nmodule.exports = ClipboardAction;\r\n\r\n/***/ }),\r\n/* 2 */\r\n/***/ (function(module, exports) {\r\n\r\nfunction select(element) {\r\n var selectedText;\r\n\r\n if (element.nodeName === 'SELECT') {\r\n element.focus();\r\n\r\n selectedText = element.value;\r\n }\r\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\r\n var isReadOnly = element.hasAttribute('readonly');\r\n\r\n if (!isReadOnly) {\r\n element.setAttribute('readonly', '');\r\n }\r\n\r\n element.select();\r\n element.setSelectionRange(0, element.value.length);\r\n\r\n if (!isReadOnly) {\r\n element.removeAttribute('readonly');\r\n }\r\n\r\n selectedText = element.value;\r\n }\r\n else {\r\n if (element.hasAttribute('contenteditable')) {\r\n element.focus();\r\n }\r\n\r\n var selection = window.getSelection();\r\n var range = document.createRange();\r\n\r\n range.selectNodeContents(element);\r\n selection.removeAllRanges();\r\n selection.addRange(range);\r\n\r\n selectedText = selection.toString();\r\n }\r\n\r\n return selectedText;\r\n}\r\n\r\nmodule.exports = select;\r\n\r\n\r\n/***/ }),\r\n/* 3 */\r\n/***/ (function(module, exports) {\r\n\r\nfunction E () {\r\n // Keep this empty so it's easier to inherit from\r\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\r\n}\r\n\r\nE.prototype = {\r\n on: function (name, callback, ctx) {\r\n var e = this.e || (this.e = {});\r\n\r\n (e[name] || (e[name] = [])).push({\r\n fn: callback,\r\n ctx: ctx\r\n });\r\n\r\n return this;\r\n },\r\n\r\n once: function (name, callback, ctx) {\r\n var self = this;\r\n function listener () {\r\n self.off(name, listener);\r\n callback.apply(ctx, arguments);\r\n };\r\n\r\n listener._ = callback\r\n return this.on(name, listener, ctx);\r\n },\r\n\r\n emit: function (name) {\r\n var data = [].slice.call(arguments, 1);\r\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\r\n var i = 0;\r\n var len = evtArr.length;\r\n\r\n for (i; i < len; i++) {\r\n evtArr[i].fn.apply(evtArr[i].ctx, data);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n off: function (name, callback) {\r\n var e = this.e || (this.e = {});\r\n var evts = e[name];\r\n var liveEvents = [];\r\n\r\n if (evts && callback) {\r\n for (var i = 0, len = evts.length; i < len; i++) {\r\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\r\n liveEvents.push(evts[i]);\r\n }\r\n }\r\n\r\n // Remove event from queue to prevent memory leak\r\n // Suggested by https://github.com/lazd\r\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\r\n\r\n (liveEvents.length)\r\n ? e[name] = liveEvents\r\n : delete e[name];\r\n\r\n return this;\r\n }\r\n};\r\n\r\nmodule.exports = E;\r\n\r\n\r\n/***/ }),\r\n/* 4 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\nvar is = __webpack_require__(5);\r\nvar delegate = __webpack_require__(6);\r\n\r\n/**\r\n * Validates all params and calls the right\r\n * listener function based on its target type.\r\n *\r\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listen(target, type, callback) {\r\n if (!target && !type && !callback) {\r\n throw new Error('Missing required arguments');\r\n }\r\n\r\n if (!is.string(type)) {\r\n throw new TypeError('Second argument must be a String');\r\n }\r\n\r\n if (!is.fn(callback)) {\r\n throw new TypeError('Third argument must be a Function');\r\n }\r\n\r\n if (is.node(target)) {\r\n return listenNode(target, type, callback);\r\n }\r\n else if (is.nodeList(target)) {\r\n return listenNodeList(target, type, callback);\r\n }\r\n else if (is.string(target)) {\r\n return listenSelector(target, type, callback);\r\n }\r\n else {\r\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\r\n }\r\n}\r\n\r\n/**\r\n * Adds an event listener to a HTML element\r\n * and returns a remove listener function.\r\n *\r\n * @param {HTMLElement} node\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listenNode(node, type, callback) {\r\n node.addEventListener(type, callback);\r\n\r\n return {\r\n destroy: function() {\r\n node.removeEventListener(type, callback);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Add an event listener to a list of HTML elements\r\n * and returns a remove listener function.\r\n *\r\n * @param {NodeList|HTMLCollection} nodeList\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listenNodeList(nodeList, type, callback) {\r\n Array.prototype.forEach.call(nodeList, function(node) {\r\n node.addEventListener(type, callback);\r\n });\r\n\r\n return {\r\n destroy: function() {\r\n Array.prototype.forEach.call(nodeList, function(node) {\r\n node.removeEventListener(type, callback);\r\n });\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Add an event listener to a selector\r\n * and returns a remove listener function.\r\n *\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Object}\r\n */\r\nfunction listenSelector(selector, type, callback) {\r\n return delegate(document.body, selector, type, callback);\r\n}\r\n\r\nmodule.exports = listen;\r\n\r\n\r\n/***/ }),\r\n/* 5 */\r\n/***/ (function(module, exports) {\r\n\r\n/**\r\n * Check if argument is a HTML element.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.node = function(value) {\r\n return value !== undefined\r\n && value instanceof HTMLElement\r\n && value.nodeType === 1;\r\n};\r\n\r\n/**\r\n * Check if argument is a list of HTML elements.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.nodeList = function(value) {\r\n var type = Object.prototype.toString.call(value);\r\n\r\n return value !== undefined\r\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\r\n && ('length' in value)\r\n && (value.length === 0 || exports.node(value[0]));\r\n};\r\n\r\n/**\r\n * Check if argument is a string.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.string = function(value) {\r\n return typeof value === 'string'\r\n || value instanceof String;\r\n};\r\n\r\n/**\r\n * Check if argument is a function.\r\n *\r\n * @param {Object} value\r\n * @return {Boolean}\r\n */\r\nexports.fn = function(value) {\r\n var type = Object.prototype.toString.call(value);\r\n\r\n return type === '[object Function]';\r\n};\r\n\r\n\r\n/***/ }),\r\n/* 6 */\r\n/***/ (function(module, exports, __webpack_require__) {\r\n\r\nvar closest = __webpack_require__(7);\r\n\r\n/**\r\n * Delegates event to a selector.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @param {Boolean} useCapture\r\n * @return {Object}\r\n */\r\nfunction _delegate(element, selector, type, callback, useCapture) {\r\n var listenerFn = listener.apply(this, arguments);\r\n\r\n element.addEventListener(type, listenerFn, useCapture);\r\n\r\n return {\r\n destroy: function() {\r\n element.removeEventListener(type, listenerFn, useCapture);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Delegates event to a selector.\r\n *\r\n * @param {Element|String|Array} [elements]\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @param {Boolean} useCapture\r\n * @return {Object}\r\n */\r\nfunction delegate(elements, selector, type, callback, useCapture) {\r\n // Handle the regular Element usage\r\n if (typeof elements.addEventListener === 'function') {\r\n return _delegate.apply(null, arguments);\r\n }\r\n\r\n // Handle Element-less usage, it defaults to global delegation\r\n if (typeof type === 'function') {\r\n // Use `document` as the first parameter, then apply arguments\r\n // This is a short way to .unshift `arguments` without running into deoptimizations\r\n return _delegate.bind(null, document).apply(null, arguments);\r\n }\r\n\r\n // Handle Selector-based usage\r\n if (typeof elements === 'string') {\r\n elements = document.querySelectorAll(elements);\r\n }\r\n\r\n // Handle Array-like based usage\r\n return Array.prototype.map.call(elements, function (element) {\r\n return _delegate(element, selector, type, callback, useCapture);\r\n });\r\n}\r\n\r\n/**\r\n * Finds closest match and invokes callback.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @param {String} type\r\n * @param {Function} callback\r\n * @return {Function}\r\n */\r\nfunction listener(element, selector, type, callback) {\r\n return function(e) {\r\n e.delegateTarget = closest(e.target, selector);\r\n\r\n if (e.delegateTarget) {\r\n callback.call(element, e);\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = delegate;\r\n\r\n\r\n/***/ }),\r\n/* 7 */\r\n/***/ (function(module, exports) {\r\n\r\nvar DOCUMENT_NODE_TYPE = 9;\r\n\r\n/**\r\n * A polyfill for Element.matches()\r\n */\r\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\r\n var proto = Element.prototype;\r\n\r\n proto.matches = proto.matchesSelector ||\r\n proto.mozMatchesSelector ||\r\n proto.msMatchesSelector ||\r\n proto.oMatchesSelector ||\r\n proto.webkitMatchesSelector;\r\n}\r\n\r\n/**\r\n * Finds the closest parent that matches a selector.\r\n *\r\n * @param {Element} element\r\n * @param {String} selector\r\n * @return {Function}\r\n */\r\nfunction closest (element, selector) {\r\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\r\n if (typeof element.matches === 'function' &&\r\n element.matches(selector)) {\r\n return element;\r\n }\r\n element = element.parentNode;\r\n }\r\n}\r\n\r\nmodule.exports = closest;\r\n\r\n\r\n/***/ })\r\n/******/ ]);\r\n});\n\n\n// WEBPACK FOOTER //\n// ./mobile/src/js/clipboard.js","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/module.js"],"sourceRoot":""}