e39649604a3d9725e239e07aa87271e0c58bad2c
[anni] / priv / static / adminfe / static / js / chunk-1a25.107c34e7.js.map
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":""}