1 {"version":3,"sources":["webpack:///./node_modules/clipboard/lib/clipboard.js","webpack:///./src/views/invites/index.vue?ca0e","webpack:///./src/utils/clipboard.js","webpack:///src/views/invites/index.vue","webpack:///./src/views/invites/index.vue?b523","webpack:///./src/views/invites/index.vue","webpack:///./src/views/invites/index.vue?0fc1","webpack:///./node_modules/good-listener/src/listen.js","webpack:///./node_modules/clipboard/lib/clipboard-action.js","webpack:///./node_modules/good-listener/src/is.js","webpack:///./node_modules/select/src/select.js","webpack:///./node_modules/delegate/src/delegate.js","webpack:///./node_modules/delegate/src/closest.js","webpack:///./src/components/RebootButton/index.vue?8db4","webpack:///./src/components/RebootButton/index.vue?2f45","webpack:///src/components/RebootButton/index.vue","webpack:///./src/components/RebootButton/index.vue","webpack:///./node_modules/tiny-emitter/index.js"],"names":["__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","module","__webpack_require__","undefined","_clipboardAction","_tinyEmitter","_goodListener","_clipboardAction2","_interopRequireDefault","_tinyEmitter2","_goodListener2","obj","__esModule","default","_typeof","Symbol","iterator","constructor","prototype","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Constructor","protoProps","staticProps","Clipboard","_Emitter","trigger","options","instance","TypeError","_classCallCheck","this","_this","self","call","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","resolveOptions","listenClick","subClass","superClass","create","value","setPrototypeOf","_inherits","arguments","action","defaultAction","defaultTarget","text","defaultText","container","document","body","_this2","listener","e","onClick","delegateTarget","currentTarget","clipboardAction","emitter","getAttributeValue","selector","querySelector","destroy","actions","support","queryCommandSupported","forEach","suffix","element","attribute","hasAttribute","getAttribute","exports","apply","handleClipboard","event","clipboard","on","Vue","$message","message","type","duration","off","views_invitesvue_type_script_lang_js_","components","RebootButton","data","rules","email","validator","newTokenForm","maxUse","expiresAt","inviteUserForm","name","createTokenDialogVisible","inviteUserDialogVisible","computed","mapGetters","getLabelWidth","isDesktop","inviteLink","concat","utils","authHost","newToken","token","$store","state","app","device","isTokenCreated","loading","invites","tokens","inviteTokens","mounted","dispatch","methods","closeDialogWindow","$data","createToken","handleCopy","clip","inviteUserViaEmail","asyncToGenerator_default","regenerator_default","a","mark","_callee2","wrap","_context2","prev","next","$refs","validate","_ref","_callee","valid","_context","abrupt","stop","_x","revokeInviteToken","validateEmail","rule","callback","Error","$t","validEmail","test","component","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","click","$event","attrs","visible","show-close","title","width","custom-class","update:visible","ref","model","label-width","status-icon","label","min","size","$$v","$set","expression","placeholder","value-format","slot","href","underline","_e","prop","autofocus","directives","rawName","default-sort","order","min-width","sortable","align","header-align","scopedSlots","_u","fn","scope","row","used","disable-transitions","nativeOn","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","n","is","delegate","string","node","addEventListener","removeEventListener","listenNode","nodeList","Array","listenNodeList","listenSelector","_select","_select2","ClipboardAction","initSelection","selectedText","selectFake","selectTarget","isRTL","documentElement","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","createElement","style","fontSize","border","padding","margin","position","yPosition","window","pageYOffset","scrollTop","top","setAttribute","appendChild","copyText","removeChild","succeeded","execCommand","err","handleResult","emit","clearSelection","bind","focus","getSelection","removeAllRanges","set","_action","get","nodeType","_target","HTMLElement","toString","String","nodeName","isReadOnly","select","setSelectionRange","removeAttribute","selection","range","createRange","selectNodeContents","addRange","closest","_delegate","useCapture","listenerFn","elements","querySelectorAll","map","DOCUMENT_NODE_TYPE","Element","matches","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","parentNode","components_RebootButtonvue_type_script_lang_js_","needReboot","restartApp","t0","content","placement","E","ctx","push","once","_","slice","evtArr","len","evts","liveEvents","TinyEmitter"],"mappings":"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","file":"static/js/chunk-1a25.107c34e7.js","sourcesContent":["(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof 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 var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\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 }\n\n return call && (typeof 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);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\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 /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\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 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 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 key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\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 key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\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 /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\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});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"invites-container\"},[_c('div',{staticClass:\"invites-header-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('invites.inviteTokens')))]),_vm._v(\" \"),_c('reboot-button')],1),_vm._v(\" \"),_c('div',{staticClass:\"actions-container\"},[_c('el-button',{staticClass:\"create-invite-token\",on:{\"click\":function($event){_vm.createTokenDialogVisible = true}}},[_c('span',[_c('i',{staticClass:\"icon el-icon-plus\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.createInviteToken'))+\"\\n \")])]),_vm._v(\" \"),_c('el-button',{staticClass:\"invite-via-email\",on:{\"click\":function($event){_vm.inviteUserDialogVisible = true}}},[_c('span',[_c('i',{staticClass:\"icon el-icon-message\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.inviteUserViaEmail'))+\"\\n \")])])],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.createTokenDialogVisible,\"show-close\":false,\"title\":_vm.$t('invites.createInviteToken'),\"width\":_vm.isTokenCreated ? '60%' : '30%',\"custom-class\":\"create-new-token-dialog\"},on:{\"update:visible\":function($event){_vm.createTokenDialogVisible=$event}}},[_c('el-form',{ref:\"newTokenForm\",attrs:{\"model\":_vm.newTokenForm,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.maxUse')}},[_c('el-input-number',{attrs:{\"min\":0,\"size\":_vm.isDesktop ? 'medium' : 'small',\"name\":\"maxUse\"},model:{value:(_vm.newTokenForm.maxUse),callback:function ($$v) {_vm.$set(_vm.newTokenForm, \"maxUse\", $$v)},expression:\"newTokenForm.maxUse\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.expiresAt')}},[_c('el-date-picker',{staticClass:\"pick-date\",attrs:{\"placeholder\":_vm.$t('invites.pickDate'),\"type\":\"date\",\"name\":\"date\",\"value-format\":\"yyyy-MM-dd\"},model:{value:(_vm.newTokenForm.expiresAt),callback:function ($$v) {_vm.$set(_vm.newTokenForm, \"expiresAt\", $$v)},expression:\"newTokenForm.expiresAt\"}})],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{staticClass:\"invites-close-dialog\",on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('invites.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.createToken}},[_vm._v(_vm._s(_vm.$t('invites.create')))])],1),_vm._v(\" \"),('token' in _vm.newToken)?_c('el-card',[_c('div',{staticClass:\"clearfix\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(_vm._s(_vm.$t('invites.tokenCreated')))])]),_vm._v(\" \"),_c('el-form',{staticClass:\"new-token-card\",attrs:{\"label-width\":\"85px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.inviteLink')}},[_c('div',{staticClass:\"invite-link-container\"},[_c('el-link',{attrs:{\"href\":_vm.inviteLink,\"underline\":false,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.inviteLink)+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},on:{\"click\":function($event){return _vm.handleCopy($event)}}},[_vm._v(_vm._s(_vm.$t('invites.copyLink')))])],1)]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.token')}},[_vm._v(\"\\n \"+_vm._s(_vm.newToken.token)+\"\\n \")]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.maxUse')}},[_vm._v(\"\\n \"+_vm._s(_vm.newToken.maxUse)+\"\\n \")]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.expiresAt')}},[_vm._v(\"\\n \"+_vm._s(_vm.newToken.expiresAt || '(not set)')+\"\\n \")])],1)],1):_vm._e()],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.inviteUserDialogVisible,\"show-close\":false,\"title\":_vm.$t('invites.sendRegistration'),\"custom-class\":\"invite-via-email-dialog\"},on:{\"update:visible\":function($event){_vm.inviteUserDialogVisible=$event}}},[_c('div',[_c('p',{staticClass:\"info\"},[_vm._v(_vm._s(_vm.$t('invites.inviteViaEmailAlert')))]),_vm._v(\" \"),_c('el-form',{ref:\"inviteUserForm\",attrs:{\"model\":_vm.inviteUserForm,\"rules\":_vm.rules,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.email'),\"prop\":\"email\"}},[_c('el-input',{attrs:{\"name\":\"email\",\"type\":\"email\",\"autofocus\":\"\"},model:{value:(_vm.inviteUserForm.email),callback:function ($$v) {_vm.$set(_vm.inviteUserForm, \"email\", $$v)},expression:\"inviteUserForm.email\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.name'),\"prop\":\"name\"}},[_c('el-input',{attrs:{\"name\":\"name\"},model:{value:(_vm.inviteUserForm.name),callback:function ($$v) {_vm.$set(_vm.inviteUserForm, \"name\", $$v)},expression:\"inviteUserForm.name\"}})],1)],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('invites.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.inviteUserViaEmail}},[_vm._v(_vm._s(_vm.$t('invites.create')))])],1)]),_vm._v(\" \"),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"invite-token-table\",attrs:{\"data\":_vm.tokens,\"default-sort\":{prop: 'used', order: 'ascending'}}},[(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.id'),\"min-width\":\"60\",\"prop\":\"id\",\"sortable\":\"\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.token'),\"min-width\":_vm.isDesktop ? 320 : 120,\"prop\":\"token\"}}),_vm._v(\" \"),(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.expiresAt'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"110\",\"prop\":\"expires_at\",\"sortable\":\"\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.maxUse'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"60\",\"prop\":\"max_use\",\"sortable\":\"\"}}),_vm._v(\" \"),(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.uses'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"60\",\"prop\":\"uses\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.used'),\"min-width\":_vm.isDesktop ? 60 : 50,\"align\":\"center\",\"header-align\":\"center\",\"prop\":\"used\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{attrs:{\"type\":scope.row.used ? 'danger' : 'success',\"disable-transitions\":\"\"}},[_vm._v(\"\\n \"+_vm._s(scope.row.used ? _vm.$t('invites.used') : _vm.$t('invites.active'))+\"\\n \")])]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.actions'),\"min-width\":_vm.isDesktop ? 100 : 50,\"align\":\"center\",\"header-align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.revokeInviteToken(scope.row.token)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.revoke'))+\"\\n \")])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport Clipboard from 'clipboard'\n\nfunction clipboardSuccess() {\n Vue.prototype.$message({\n message: 'Copied!',\n type: 'success',\n duration: 1500\n })\n}\n\nfunction clipboardError() {\n Vue.prototype.$message({\n message: 'Copy failed',\n type: 'error'\n })\n}\n\nexport default function handleClipboard(text, event) {\n const clipboard = new Clipboard(event.target, {\n text: () => text\n })\n clipboard.on('success', () => {\n clipboardSuccess()\n clipboard.off('error')\n clipboard.off('success')\n clipboard.destroy()\n })\n clipboard.on('error', () => {\n clipboardError()\n clipboard.off('error')\n clipboard.off('success')\n clipboard.destroy()\n })\n clipboard.onClick(event)\n}\n","<template>\n <div class=\"invites-container\">\n <div class=\"invites-header-container\">\n <h1>{{ $t('invites.inviteTokens') }}</h1>\n <reboot-button/>\n </div>\n <div class=\"actions-container\">\n <el-button class=\"create-invite-token\" @click=\"createTokenDialogVisible = true\">\n <span>\n <i class=\"icon el-icon-plus\"/>\n {{ $t('invites.createInviteToken') }}\n </span>\n </el-button>\n <el-button class=\"invite-via-email\" @click=\"inviteUserDialogVisible = true\">\n <span>\n <i class=\"icon el-icon-message\"/>\n {{ $t('invites.inviteUserViaEmail') }}\n </span>\n </el-button>\n </div>\n <el-dialog\n :visible.sync=\"createTokenDialogVisible\"\n :show-close=\"false\"\n :title=\"$t('invites.createInviteToken')\"\n :width=\"isTokenCreated ? '60%' : '30%'\"\n custom-class=\"create-new-token-dialog\">\n <el-form ref=\"newTokenForm\" :model=\"newTokenForm\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('invites.maxUse')\">\n <el-input-number\n v-model=\"newTokenForm.maxUse\"\n :min=\"0\"\n :size=\"isDesktop ? 'medium' : 'small'\"\n name=\"maxUse\"/>\n </el-form-item>\n <el-form-item :label=\"$t('invites.expiresAt')\">\n <el-date-picker\n v-model=\"newTokenForm.expiresAt\"\n :placeholder=\"$t('invites.pickDate')\"\n class=\"pick-date\"\n type=\"date\"\n name=\"date\"\n value-format=\"yyyy-MM-dd\"/>\n </el-form-item>\n </el-form>\n <span slot=\"footer\">\n <el-button class=\"invites-close-dialog\" @click=\"closeDialogWindow\">{{ $t('invites.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"createToken\">{{ $t('invites.create') }}</el-button>\n </span>\n <el-card v-if=\"'token' in newToken\">\n <div slot=\"header\" class=\"clearfix\">\n <span>{{ $t('invites.tokenCreated') }}</span>\n </div>\n <el-form label-width=\"85px\" class=\"new-token-card\">\n <el-form-item :label=\"$t('invites.inviteLink')\">\n <div class=\"invite-link-container\">\n <el-link :href=\"inviteLink\" :underline=\"false\" target=\"_blank\">\n {{ inviteLink }}\n </el-link>\n <el-button type=\"text\" size=\"small\" @click=\"handleCopy($event)\">{{ $t('invites.copyLink') }}</el-button>\n </div>\n </el-form-item>\n <el-form-item :label=\"$t('invites.token')\">\n {{ newToken.token }}\n </el-form-item>\n <el-form-item :label=\"$t('invites.maxUse')\">\n {{ newToken.maxUse }}\n </el-form-item>\n <el-form-item :label=\"$t('invites.expiresAt')\">\n {{ newToken.expiresAt || '(not set)' }}\n </el-form-item>\n </el-form>\n </el-card>\n </el-dialog>\n <el-dialog\n :visible.sync=\"inviteUserDialogVisible\"\n :show-close=\"false\"\n :title=\"$t('invites.sendRegistration')\"\n custom-class=\"invite-via-email-dialog\">\n <div>\n <p class=\"info\">{{ $t('invites.inviteViaEmailAlert') }}</p>\n <el-form ref=\"inviteUserForm\" :model=\"inviteUserForm\" :rules=\"rules\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('invites.email')\" prop=\"email\">\n <el-input v-model=\"inviteUserForm.email\" name=\"email\" type=\"email\" autofocus/>\n </el-form-item>\n <el-form-item :label=\"$t('invites.name')\" prop=\"name\">\n <el-input v-model=\"inviteUserForm.name\" name=\"name\"/>\n </el-form-item>\n </el-form>\n </div>\n <span slot=\"footer\">\n <el-button @click=\"closeDialogWindow\">{{ $t('invites.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"inviteUserViaEmail\">{{ $t('invites.create') }}</el-button>\n </span>\n </el-dialog>\n <el-table\n v-loading=\"loading\"\n :data=\"tokens\"\n :default-sort = \"{prop: 'used', order: 'ascending'}\"\n class=\"invite-token-table\">\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.id')\"\n min-width=\"60\"\n prop=\"id\"\n sortable/>\n <el-table-column\n :label=\"$t('invites.token')\"\n :min-width=\"isDesktop ? 320 : 120\"\n prop=\"token\"/>\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.expiresAt')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"110\"\n prop=\"expires_at\"\n sortable/>\n <el-table-column\n :label=\"$t('invites.maxUse')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"60\"\n prop=\"max_use\"\n sortable/>\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.uses')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"60\"\n prop=\"uses\"/>\n <el-table-column\n :label=\"$t('invites.used')\"\n :min-width=\"isDesktop ? 60 : 50\"\n align=\"center\"\n header-align=\"center\"\n prop=\"used\"\n sortable>\n <template slot-scope=\"scope\">\n <el-tag\n :type=\"scope.row.used ? 'danger' : 'success'\"\n disable-transitions>\n {{ scope.row.used ? $t('invites.used') : $t('invites.active') }}\n </el-tag>\n </template>\n </el-table-column>\n <el-table-column\n :label=\"$t('invites.actions')\"\n :min-width=\"isDesktop ? 100 : 50\"\n align=\"center\"\n header-align=\"center\">\n <template slot-scope=\"scope\">\n <el-button type=\"text\" size=\"small\" @click.native=\"revokeInviteToken(scope.row.token)\">\n {{ $t('invites.revoke') }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n </div>\n</template>\n\n<script>\nimport clip from '@/utils/clipboard'\nimport RebootButton from '@/components/RebootButton'\nimport { mapGetters } from 'vuex'\nimport { baseName } from '@/api/utils'\n\nexport default {\n components: { RebootButton },\n data() {\n return {\n rules: {\n email: [\n { validator: this.validateEmail, trigger: 'blur' }\n ]\n },\n newTokenForm: {\n maxUse: 1,\n expiresAt: ''\n },\n inviteUserForm: {\n email: '',\n name: ''\n },\n createTokenDialogVisible: false,\n inviteUserDialogVisible: false\n }\n },\n computed: {\n ...mapGetters([\n 'authHost'\n ]),\n getLabelWidth() {\n return this.isDesktop ? '100px' : '85px'\n },\n inviteLink() {\n return `${baseName(this.authHost)}/registration/${this.newToken.token}`\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n },\n isTokenCreated() {\n return 'token' in this.newToken\n },\n loading() {\n return this.$store.state.invites.loading\n },\n newToken() {\n return this.$store.state.invites.newToken\n },\n tokens() {\n return this.$store.state.invites.inviteTokens\n }\n },\n mounted() {\n this.$store.dispatch('GetNodeInfo')\n this.$store.dispatch('NeedReboot')\n this.$store.dispatch('FetchInviteTokens')\n },\n methods: {\n closeDialogWindow() {\n this.inviteUserDialogVisible = false\n this.createTokenDialogVisible = false\n this.$store.dispatch('RemoveNewToken')\n this.$data.inviteUserForm.email = ''\n this.$data.inviteUserForm.name = ''\n this.$data.newTokenForm.maxUse = 1\n this.$data.newTokenForm.expiresAt = ''\n },\n createToken() {\n this.$store.dispatch('GenerateInviteToken', this.$data.newTokenForm)\n },\n handleCopy(event) {\n clip(this.inviteLink, event)\n },\n async inviteUserViaEmail() {\n this.$refs['inviteUserForm'].validate(async(valid) => {\n if (valid) {\n await this.$store.dispatch('InviteUserViaEmail', this.$data.inviteUserForm)\n this.closeDialogWindow()\n } else {\n this.$message({\n type: 'error',\n message: this.$t('invites.submitFormError')\n })\n return false\n }\n })\n },\n revokeInviteToken(token) {\n this.$store.dispatch('RevokeToken', token)\n },\n validateEmail(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('invites.emptyEmailError')))\n } else if (!this.validEmail(value)) {\n return callback(new Error(this.$t('invites.invalidEmailError')))\n } else {\n return callback()\n }\n },\n validEmail(email) {\n const re = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n return re.test(email)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.invites-container {\n .actions-container {\n display: flex;\n height: 36px;\n justify-content: space-between;\n align-items: center;\n margin: 15px 15px 15px 15px;\n }\n .create-invite-token {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .create-new-token-dialog {\n a {\n margin-bottom: 3px;\n }\n .el-card__body {\n padding: 10px 20px;\n }\n }\n .el-dialog__body {\n padding: 5px 20px 0 20px\n }\n h1 {\n margin: 0;\n }\n .icon {\n margin-right: 5px;\n }\n .invite-link-container {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n button {\n margin-left: 15px;\n }\n }\n .invite-token-table {\n width: 100%;\n margin: 0 15px;\n }\n .invite-via-email {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .invite-via-email-dialog {\n width: 50%\n }\n .invites-header-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 10px 15px;\n }\n .info {\n color: #666666;\n font-size: 13px;\n line-height: 22px;\n margin: 0 0 10px 0;\n }\n .new-token-card {\n .el-form-item {\n margin: 0;\n }\n }\n .reboot-button {\n padding: 10px;\n margin: 0;\n width: 145px;\n }\n}\n\n@media only screen and (max-width:480px) {\n .invites-container {\n .actions-container {\n display: flex;\n height: 82px;\n flex-direction: column;\n align-items: center;\n margin: 15px 10px 7px 10px;\n }\n .cell {\n padding: 0;\n }\n .create-invite-token {\n width: 100%;\n }\n .create-new-token-dialog {\n width: 85%\n }\n .el-date-editor {\n width: 150px;\n }\n .el-dialog__body {\n padding: 5px 15px 0 15px\n }\n h1 {\n margin: 0;\n }\n .invite-token-table {\n width: 100%;\n margin: 0 5px;\n font-size: 12px;\n font-weight: 500;\n }\n .invite-via-email {\n width: 100%;\n margin: 10px 0 0 0;\n }\n .invite-via-email-dialog {\n width: 85%\n }\n .invites-header-container {\n margin: 0 10px;\n }\n .info {\n margin: 0 0 10px 5px;\n }\n th {\n .cell {\n padding: 0;\n }\n }\n }\n .create-invite-token {\n width: 100%\n }\n .invite-via-email {\n width: 100%\n }\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4576ea4b&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var is = require('./is');\nvar delegate = require('delegate');\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction 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 }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', 'select'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof 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 var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\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 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 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 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 key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\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 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 key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\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 get: function get() {\n return this._action;\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 get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});","/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n","function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\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 }\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\nmodule.exports = select;\n","var closest = require('./closest');\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _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() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction 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/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction 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\nmodule.exports = delegate;\n","var DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.needReboot)?_c('el-tooltip',{attrs:{\"content\":_vm.$t('settings.restartApp'),\"placement\":\"bottom-end\"}},[_c('el-button',{staticClass:\"reboot-button\",attrs:{\"type\":\"warning\"},on:{\"click\":_vm.restartApp}},[_c('span',[_c('i',{staticClass:\"el-icon-refresh\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.instanceReboot'))+\"\\n \")])])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <el-tooltip v-if=\"needReboot\" :content=\"$t('settings.restartApp')\" placement=\"bottom-end\">\n <el-button type=\"warning\" class=\"reboot-button\" @click=\"restartApp\">\n <span>\n <i class=\"el-icon-refresh\"/>\n {{ $t('settings.instanceReboot') }}\n </span>\n </el-button>\n </el-tooltip>\n</template>\n\n<script>\nimport i18n from '@/lang'\n\nexport default {\n name: 'RebootButton',\n computed: {\n needReboot() {\n return this.$store.state.app.needReboot\n }\n },\n methods: {\n async restartApp() {\n try {\n await this.$store.dispatch('RestartApplication')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.restartSuccess')\n })\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=53cfaf1d&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","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\nE.prototype = {\n on: function (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 (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 (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 (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)\n 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)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n"],"sourceRoot":""}