summaryrefslogtreecommitdiff
path: root/priv/static/adminfe/static/js/chunk-0171.9e927b8a.js.map
blob: 4f2d63f3ee2a39c7811ecff67e76870f2b43937d (plain)
1
{"version":3,"sources":["webpack:///./src/views/users/components/ModerationDropdown.vue?e3f0","webpack:///./src/views/users/index.vue?1afe","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./src/views/users/components/NewAccountDialog.vue?d353","webpack:///./src/views/users/index.vue?5636","webpack:///./src/views/users/components/UsersFilter.vue?6a82","webpack:///src/views/users/components/UsersFilter.vue","webpack:///./src/views/users/components/UsersFilter.vue","webpack:///./src/views/users/components/UsersFilter.vue?4ed7","webpack:///./src/views/users/components/NewAccountDialog.vue?9018","webpack:///src/views/users/components/NewAccountDialog.vue","webpack:///./src/views/users/components/NewAccountDialog.vue","webpack:///./src/views/users/components/NewAccountDialog.vue?43a7","webpack:///./src/views/users/index.vue?0a29","webpack:///src/views/users/index.vue","webpack:///./src/views/users/index.vue","webpack:///./src/views/users/components/ResetPasswordDialog.vue?0b2b","webpack:///./src/views/users/components/ResetPasswordDialog.vue?31da","webpack:///src/views/users/components/ResetPasswordDialog.vue","webpack:///./src/views/users/components/ResetPasswordDialog.vue","webpack:///./src/views/users/components/ModerationDropdown.vue?93ed","webpack:///./src/views/users/components/ModerationDropdown.vue?676e","webpack:///src/views/users/components/ModerationDropdown.vue","webpack:///./src/views/users/components/ModerationDropdown.vue","webpack:///./src/views/users/components/UsersFilter.vue?52bf"],"names":["_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_ModerationDropdown_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_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__","global","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","cancel","clearTimeout","flush","_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_NewAccountDialog_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","components_UsersFiltervue_type_script_lang_js_","data","computed","isDesktop","$store","state","app","device","created","currentFilters","$data","reduce","acc","filter","objectSpread_default","defineProperty_default","dispatch","methods","removeOppositeFilters","filtersQuantity","keys","users","filters","length","indexOfLocal","indexOf","indexOfExternal","indexOfActive","indexOfDeactivated","indexOfPending","push","toggleFilters","component","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","clearable","placeholder","$t","multiple","on","change","model","callback","$$v","expression","label","_v","_s","__file","UsersFilter","components_NewAccountDialogvue_type_script_lang_js_","name","props","dialogFormVisible","Boolean","default","newUserForm","nickname","email","password","rules","validator","validateUsername","trigger","validateEmail","validatePassword","isVisible","get","$props","set","closeDialogWindow","getLabelWidth","$emit","resetForm","_this","$nextTick","$refs","resetFields","submitForm","formName","_this2","validate","valid","$message","message","rule","Error","validEmail","validNickname","NewAccountDialog_component","visible","show-close","title","custom-class","update:visible","$event","open","ref","label-width","status-icon","prop","autofocus","$set","autocomplete","slot","click","NewAccountDialog","views_usersvue_type_script_lang_js_","components","ModerationDropdown","MultipleUsersMenu","RebootButton","ResetPasswordDialog","truncate","text","suffix","substring","search","selectedUsers","createAccountDialogOpen","resetPasswordDialogOpen","loading","normalizedUsersCount","numeral_default","totalUsersCount","format","pageSize","currentPage","isMobile","fetchedUsers","usersCount","pendingView","width","handleDebounceSearchInput","lodash_debounce_default","query","page","mounted","destroyed","clearSelection","usersTable","closeResetPasswordDialog","createNewAccount","_createNewAccount","asyncToGenerator_default","regenerator_default","a","mark","_callee","accountData","wrap","_context","prev","next","stop","_x","getFirstLetter","str","charAt","toUpperCase","handlePageChange","searchQuery","handleRowClick","row","id","$router","params","handleSelectionChange","openResetPasswordDialog","propertyExists","account","property","regReason","reason","showDeactivatedButton","user","users_component","prefix-icon","input","selected-users","apply-action","dialog-form-visible","closeWindow","directives","rawName","staticStyle","row-key","row-click","selection-change","reserve-selection","align","_e","min-width","scopedSlots","_u","key","fn","scope","size","local","deactivated","approval_pending","content","effect","roles","registration_reason","popper-class","_f","fixed","open-reset-token-dialog","disabled","reset-password-dialog-open","close-reset-token-dialog","total","current-page","page-size","hide-on-single-page","layout","current-change","__webpack_exports__","components_ResetPasswordDialogvue_type_script_lang_js_","dialogOpen","passwordResetLink","passwordResetToken","link","token","close","href","target","components_ModerationDropdownvue_type_script_lang_js_","String","statusId","actorType","actor_type","_userId","_statusId","disableMfa","getPasswordResetToken","handleConfirmationResend","handleDeletion","$confirm","confirmButtonText","cancelButtonText","then","catch","handleAccountApproval","handleAccountRejection","handleEmailConfirmation","requirePasswordReset","nodeInfo","metadata","mailerEnabled","$alert","showAdminAction","_ref","toggleActivation","toggleTag","tag","tags","includes","toggleUserRight","right","hide-on-click","placement","nativeOn","stopPropagation","divided","admin","moderator","confirmation_pending","class","active-tag","_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_UsersFilter_vue_vue_type_style_index_0_id_377d5068_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"static/js/chunk-0171.9e927b8a.js","sourcesContent":["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!./ModerationDropdown.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!./ModerationDropdown.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","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&\"","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        result = wait - timeSinceLastCall;\n\n    return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = value.replace(reTrim, '');\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","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!./NewAccountDialog.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!./NewAccountDialog.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"users-container\"},[_c('div',{staticClass:\"users-header-container\"},[_c('h1',[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.users'))+\"\\n      \"),_c('span',{staticClass:\"user-count\"},[_vm._v(\"(\"+_vm._s(_vm.normalizedUsersCount)+\")\")])]),_vm._v(\" \"),_c('reboot-button')],1),_vm._v(\" \"),_c('div',{staticClass:\"filter-container\"},[_c('users-filter'),_vm._v(\" \"),_c('el-input',{staticClass:\"search\",attrs:{\"placeholder\":_vm.$t('users.search'),\"prefix-icon\":\"el-icon-search\"},on:{\"input\":_vm.handleDebounceSearchInput},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"actions-container\"},[_c('el-button',{staticClass:\"actions-button\",on:{\"click\":function($event){_vm.createAccountDialogOpen = true}}},[_c('span',{staticClass:\"create-account\"},[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\"\\n        \"+_vm._s(_vm.$t('users.createAccount'))+\"\\n      \")])]),_vm._v(\" \"),_c('multiple-users-menu',{attrs:{\"selected-users\":_vm.selectedUsers},on:{\"apply-action\":_vm.clearSelection}})],1),_vm._v(\" \"),_c('new-account-dialog',{attrs:{\"dialog-form-visible\":_vm.createAccountDialogOpen},on:{\"createNewAccount\":_vm.createNewAccount,\"closeWindow\":function($event){_vm.createAccountDialogOpen = false}}}),_vm._v(\" \"),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"usersTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.users,\"row-key\":\"id\"},on:{\"row-click\":function($event){return _vm.handleRowClick($event)},\"selection-change\":_vm.handleSelectionChange}},[(_vm.isDesktop)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":\"\",\"width\":\"44\",\"align\":\"center\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"min-width\":_vm.width,\"label\":_vm.$t('users.id'),\"prop\":\"id\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('users.name'),\"prop\":\"nickname\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n        \"+_vm._s(scope.row.nickname)+\"\\n        \"),(_vm.isDesktop)?_c('el-tag',{attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_c('span',[_vm._v(_vm._s(scope.row.local ? _vm.$t('users.local') : _vm.$t('users.external')))])]):_vm._e()]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"min-width\":_vm.width,\"label\":_vm.$t('users.status')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(!scope.row.deactivated & !scope.row.approval_pending)?_c('el-tag',{attrs:{\"type\":\"success\"}},[(_vm.isDesktop)?_c('span',[_vm._v(_vm._s(_vm.$t('users.active')))]):_c('i',{staticClass:\"el-icon-circle-check\"})]):_vm._e(),_vm._v(\" \"),(scope.row.deactivated & !scope.row.approval_pending)?_c('el-tag',{attrs:{\"type\":\"danger\"}},[(_vm.isDesktop)?_c('span',[_vm._v(_vm._s(_vm.$t('users.deactivated')))]):_c('i',{staticClass:\"el-icon-circle-close\"})]):_vm._e(),_vm._v(\" \"),_c('el-tooltip',{attrs:{\"content\":_vm.$t('users.unapprovedAccount'),\"effect\":\"dark\"}},[(scope.row.approval_pending)?_c('el-tag',{attrs:{\"type\":\"info\"}},[(_vm.isDesktop)?_c('span',[_vm._v(_vm._s(_vm.$t('users.unapproved')))]):_c('i',{staticClass:\"el-icon-warning-outline\"})]):_vm._e()],1),_vm._v(\" \"),(scope.row.roles.admin)?_c('el-tag',[_c('span',[_vm._v(_vm._s(_vm.isDesktop ? _vm.$t('users.admin') : _vm.getFirstLetter(_vm.$t('users.admin'))))])]):_vm._e(),_vm._v(\" \"),(scope.row.roles.moderator)?_c('el-tag',[_c('span',[_vm._v(_vm._s(_vm.isDesktop ? _vm.$t('users.moderator') : _vm.getFirstLetter(_vm.$t('users.moderator'))))])]):_vm._e(),_vm._v(\" \"),_c('el-tooltip',{attrs:{\"content\":_vm.$t('users.unconfirmedEmail'),\"effect\":\"dark\"}},[(scope.row.confirmation_pending)?_c('el-tag',{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n            \"+_vm._s(_vm.isDesktop ? _vm.$t('users.unconfirmed') : _vm.getFirstLetter(_vm.$t('users.unconfirmed')))+\"\\n          \")]):_vm._e()],1)]}}])}),_vm._v(\" \"),(_vm.pendingView && _vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('users.registrationReason')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.regReason(scope.row.registration_reason))?_c('el-tooltip',{attrs:{\"content\":scope.row.registration_reason,\"popper-class\":\"reason-tooltip\",\"effect\":\"dark\"}},[_c('span',[_vm._v(\"\\n            \\\"\"+_vm._s(_vm._f(\"truncate\")(scope.row.registration_reason,100, '...'))+\"\\\"\\n          \")])]):_vm._e()]}}],null,false,975858353)}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('users.actions'),\"fixed\":\"right\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.propertyExists(scope.row, 'nickname'))?_c('moderation-dropdown',{attrs:{\"user\":scope.row,\"page\":'users'},on:{\"open-reset-token-dialog\":_vm.openResetPasswordDialog}}):_c('el-button',{attrs:{\"type\":\"text\",\"disabled\":\"\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t('users.moderation'))+\"\\n          \"),(_vm.isDesktop)?_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"}):_vm._e()])]}}])})],1),_vm._v(\" \"),_c('reset-password-dialog',{attrs:{\"reset-password-dialog-open\":_vm.resetPasswordDialogOpen},on:{\"close-reset-token-dialog\":_vm.closeResetPasswordDialog}}),_vm._v(\" \"),(!_vm.loading)?_c('div',{staticClass:\"pagination\"},[_c('el-pagination',{attrs:{\"total\":_vm.usersCount,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"hide-on-single-page\":\"\",\"layout\":\"prev, pager, next\"},on:{\"current-change\":_vm.handlePageChange}})],1):_vm._e()],1)}\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!./UsersFilter.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!./UsersFilter.vue?vue&type=script&lang=js&\"","<template>\n  <el-select\n    v-model=\"value\"\n    :clearable=\"isDesktop\"\n    :placeholder=\"$t('usersFilter.inputPlaceholder')\"\n    multiple\n    class=\"select-field\"\n    @change=\"toggleFilters\">\n    <el-option-group :label=\"$t('usersFilter.byAccountType')\">\n      <el-option value=\"local\" label=\"Local\">{{ $t('usersFilter.local') }}</el-option>\n      <el-option value=\"external\" label=\"External\">{{ $t('usersFilter.external') }}</el-option>\n    </el-option-group>\n    <el-option-group :label=\"$t('usersFilter.byStatus')\">\n      <el-option value=\"active\" label=\"Active\">{{ $t('usersFilter.active') }}</el-option>\n      <el-option value=\"need_approval\" label=\"Need Approval\">{{ $t('usersFilter.pending') }}</el-option>\n      <el-option value=\"deactivated\" label=\"Deactivated\">{{ $t('usersFilter.deactivated') }}</el-option>\n    </el-option-group>\n  </el-select>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      value: ['local', 'active']\n    }\n  },\n  computed: {\n    isDesktop() {\n      return this.$store.state.app.device === 'desktop'\n    }\n  },\n  created() {\n    const currentFilters = this.$data.value.reduce((acc, filter) => ({ ...acc, [filter]: true }), {})\n    this.$store.dispatch('ToggleUsersFilter', currentFilters)\n  },\n  methods: {\n    removeOppositeFilters() {\n      const filtersQuantity = Object.keys(this.$store.state.users.filters).length\n      const currentFilters = []\n      const indexOfLocal = this.$data.value.indexOf('local')\n      const indexOfExternal = this.$data.value.indexOf('external')\n      const indexOfActive = this.$data.value.indexOf('active')\n      const indexOfDeactivated = this.$data.value.indexOf('deactivated')\n      const indexOfPending = this.$data.value.indexOf('need_approval')\n\n      if (this.$data.value.length === filtersQuantity) {\n        return []\n      }\n\n      Math.max(indexOfLocal, indexOfExternal) > -1\n        ? currentFilters.push(this.$data.value[Math.max(indexOfLocal, indexOfExternal)])\n        : currentFilters\n\n      Math.max(indexOfActive, indexOfDeactivated, indexOfPending) > -1\n        ? currentFilters.push(this.$data.value[Math.max(indexOfActive, indexOfDeactivated, indexOfPending)])\n        : currentFilters\n\n      return currentFilters\n    },\n    toggleFilters() {\n      this.$data.value = this.removeOppositeFilters()\n      const currentFilters = this.$data.value.reduce((acc, filter) => ({ ...acc, [filter]: true }), {})\n      this.$store.dispatch('ToggleUsersFilter', currentFilters)\n    }\n  }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.select-field {\n  width: 350px;\n}\n\n@media only screen and (max-width:480px) {\n  .select-field {\n    width: 100%;\n    margin-bottom: 5px;\n  }\n}\n</style>\n","import { render, staticRenderFns } from \"./UsersFilter.vue?vue&type=template&id=377d5068&scoped=true&\"\nimport script from \"./UsersFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./UsersFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UsersFilter.vue?vue&type=style&index=0&id=377d5068&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"\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  \"377d5068\",\n  null\n  \n)\n\ncomponent.options.__file = \"UsersFilter.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"select-field\",attrs:{\"clearable\":_vm.isDesktop,\"placeholder\":_vm.$t('usersFilter.inputPlaceholder'),\"multiple\":\"\"},on:{\"change\":_vm.toggleFilters},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},[_c('el-option-group',{attrs:{\"label\":_vm.$t('usersFilter.byAccountType')}},[_c('el-option',{attrs:{\"value\":\"local\",\"label\":\"Local\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.local')))]),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"external\",\"label\":\"External\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.external')))])],1),_vm._v(\" \"),_c('el-option-group',{attrs:{\"label\":_vm.$t('usersFilter.byStatus')}},[_c('el-option',{attrs:{\"value\":\"active\",\"label\":\"Active\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.active')))]),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"need_approval\",\"label\":\"Need Approval\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.pending')))]),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"deactivated\",\"label\":\"Deactivated\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.deactivated')))])],1)],1)}\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!./NewAccountDialog.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!./NewAccountDialog.vue?vue&type=script&lang=js&\"","<template>\n  <el-dialog\n    :visible.sync=\"isVisible\"\n    :show-close=\"false\"\n    :title=\"$t('users.createAccount')\"\n    custom-class=\"create-user-dialog\"\n    @open=\"resetForm\">\n    <el-form ref=\"newUserForm\" :model=\"newUserForm\" :rules=\"rules\" :label-width=\"getLabelWidth\" status-icon>\n      <el-form-item :label=\"$t('users.username')\" prop=\"nickname\" class=\"create-account-form-item\">\n        <el-input v-model=\"newUserForm.nickname\" name=\"nickname\" autofocus/>\n      </el-form-item>\n      <el-form-item :label=\"$t('users.email')\" prop=\"email\" class=\"create-account-form-item\">\n        <el-input v-model=\"newUserForm.email\" name=\"email\" type=\"email\"/>\n      </el-form-item>\n      <el-form-item :label=\"$t('users.password')\" prop=\"password\" class=\"create-account-form-item-without-margin\">\n        <el-input v-model=\"newUserForm.password\" type=\"password\" name=\"password\" autocomplete=\"off\"/>\n      </el-form-item>\n    </el-form>\n    <span slot=\"footer\">\n      <el-button @click=\"closeDialogWindow\">{{ $t('users.cancel') }}</el-button>\n      <el-button type=\"primary\" @click=\"submitForm('newUserForm')\">{{ $t('users.create') }}</el-button>\n    </span>\n  </el-dialog>\n</template>\n\n<script>\nexport default {\n  name: 'NewAccountDialog',\n  props: {\n    dialogFormVisible: {\n      type: Boolean,\n      default: function() {\n        return false\n      }\n    }\n  },\n  data() {\n    return {\n      newUserForm: {\n        nickname: '',\n        email: '',\n        password: ''\n      },\n      rules: {\n        nickname: [\n          { validator: this.validateUsername, trigger: 'blur' }\n        ],\n        email: [\n          { validator: this.validateEmail, trigger: 'blur' }\n        ],\n        password: [\n          { validator: this.validatePassword, trigger: 'blur' }\n        ]\n      }\n    }\n  },\n  computed: {\n    isDesktop() {\n      return this.$store.state.app.device === 'desktop'\n    },\n    isVisible: {\n      get() {\n        return this.$props.dialogFormVisible\n      },\n      set() {\n        this.closeDialogWindow()\n      }\n    },\n    getLabelWidth() {\n      return this.isDesktop ? '120px' : '85px'\n    }\n  },\n  methods: {\n    closeDialogWindow() {\n      this.$emit('closeWindow')\n    },\n    resetForm() {\n      this.$nextTick(() => {\n        this.$refs['newUserForm'].resetFields()\n      })\n    },\n    submitForm(formName) {\n      this.$refs[formName].validate((valid) => {\n        if (valid) {\n          this.$emit('createNewAccount', this.$data.newUserForm)\n        } else {\n          this.$message({\n            type: 'error',\n            message: this.$t('users.submitFormError')\n          })\n          return false\n        }\n      })\n    },\n    validateEmail(rule, value, callback) {\n      if (value === '') {\n        return callback(new Error(this.$t('users.emptyEmailError')))\n      } else if (!this.validEmail(value)) {\n        return callback(new Error(this.$t('users.invalidEmailError')))\n      } else {\n        return callback()\n      }\n    },\n    validatePassword(rule, value, callback) {\n      if (value === '') {\n        return callback(new Error(this.$t('users.emptyPasswordError')))\n      } else {\n        return callback()\n      }\n    },\n    validateUsername(rule, value, callback) {\n      if (value === '') {\n        return callback(new Error(this.$t('users.emptyNicknameError')))\n      } else if (!this.validNickname(value)) {\n        return callback(new Error(this.$t('users.invalidNicknameError')))\n      } else {\n        return callback()\n      }\n    },\n    validEmail(email) {\n      var 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    validNickname(nickname) {\n      var re = /^[a-zA-Z\\d]+$/\n      return re.test(nickname)\n    }\n  }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.el-dialog__body {\n  padding: 20px 20px 20px 20px\n}\n.create-account-form-item {\n  margin-bottom: 20px;\n}\n.create-account-form-item-without-margin {\n  margin-bottom: 0px;\n}\n\n@media only screen and (max-width:480px) {\n  .create-user-dialog {\n    width: 85%\n  }\n  .create-account-form-item {\n    margin-bottom: 20px;\n  }\n  .el-dialog__body {\n    padding: 20px 20px 20px 20px\n  }\n}\n</style>\n","import { render, staticRenderFns } from \"./NewAccountDialog.vue?vue&type=template&id=c89e4c22&\"\nimport script from \"./NewAccountDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./NewAccountDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewAccountDialog.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 = \"NewAccountDialog.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{attrs:{\"visible\":_vm.isVisible,\"show-close\":false,\"title\":_vm.$t('users.createAccount'),\"custom-class\":\"create-user-dialog\"},on:{\"update:visible\":function($event){_vm.isVisible=$event},\"open\":_vm.resetForm}},[_c('el-form',{ref:\"newUserForm\",attrs:{\"model\":_vm.newUserForm,\"rules\":_vm.rules,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{staticClass:\"create-account-form-item\",attrs:{\"label\":_vm.$t('users.username'),\"prop\":\"nickname\"}},[_c('el-input',{attrs:{\"name\":\"nickname\",\"autofocus\":\"\"},model:{value:(_vm.newUserForm.nickname),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"nickname\", $$v)},expression:\"newUserForm.nickname\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"create-account-form-item\",attrs:{\"label\":_vm.$t('users.email'),\"prop\":\"email\"}},[_c('el-input',{attrs:{\"name\":\"email\",\"type\":\"email\"},model:{value:(_vm.newUserForm.email),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"email\", $$v)},expression:\"newUserForm.email\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"create-account-form-item-without-margin\",attrs:{\"label\":_vm.$t('users.password'),\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"name\":\"password\",\"autocomplete\":\"off\"},model:{value:(_vm.newUserForm.password),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"password\", $$v)},expression:\"newUserForm.password\"}})],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('users.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submitForm('newUserForm')}}},[_vm._v(_vm._s(_vm.$t('users.create')))])],1)],1)}\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  <div class=\"users-container\">\n    <div class=\"users-header-container\">\n      <h1>\n        {{ $t('users.users') }}\n        <span class=\"user-count\">({{ normalizedUsersCount }})</span>\n      </h1>\n      <reboot-button/>\n    </div>\n    <div class=\"filter-container\">\n      <users-filter/>\n      <el-input\n        :placeholder=\"$t('users.search')\"\n        v-model=\"search\"\n        prefix-icon=\"el-icon-search\"\n        class=\"search\"\n        @input=\"handleDebounceSearchInput\"/>\n    </div>\n    <div class=\"actions-container\">\n      <el-button class=\"actions-button\" @click=\"createAccountDialogOpen = true\">\n        <span class=\"create-account\">\n          <i class=\"el-icon-plus\"/>\n          {{ $t('users.createAccount') }}\n        </span>\n      </el-button>\n      <multiple-users-menu\n        :selected-users=\"selectedUsers\"\n        @apply-action=\"clearSelection\"/>\n    </div>\n    <new-account-dialog\n      :dialog-form-visible=\"createAccountDialogOpen\"\n      @createNewAccount=\"createNewAccount\"\n      @closeWindow=\"createAccountDialogOpen = false\"/>\n    <el-table\n      v-loading=\"loading\"\n      ref=\"usersTable\"\n      :data=\"users\"\n      row-key=\"id\"\n      style=\"width: 100%\"\n      @row-click=\"handleRowClick($event)\"\n      @selection-change=\"handleSelectionChange\">\n      <el-table-column\n        v-if=\"isDesktop\"\n        type=\"selection\"\n        reserve-selection\n        width=\"44\"\n        align=\"center\"/>\n      <el-table-column :min-width=\"width\" :label=\"$t('users.id')\" prop=\"id\" />\n      <el-table-column :label=\"$t('users.name')\" prop=\"nickname\">\n        <template slot-scope=\"scope\">\n          {{ scope.row.nickname }}\n          <el-tag v-if=\"isDesktop\" type=\"info\" size=\"mini\">\n            <span>{{ scope.row.local ? $t('users.local') : $t('users.external') }}</span>\n          </el-tag>\n        </template>\n      </el-table-column>\n      <el-table-column :min-width=\"width\" :label=\"$t('users.status')\">\n        <template slot-scope=\"scope\">\n          <el-tag v-if=\"!scope.row.deactivated & !scope.row.approval_pending\" type=\"success\">\n            <span v-if=\"isDesktop\">{{ $t('users.active') }}</span>\n            <i v-else class=\"el-icon-circle-check\"/>\n          </el-tag>\n          <el-tag v-if=\"scope.row.deactivated & !scope.row.approval_pending\" type=\"danger\">\n            <span v-if=\"isDesktop\">{{ $t('users.deactivated') }}</span>\n            <i v-else class=\"el-icon-circle-close\"/>\n          </el-tag>\n          <el-tooltip :content=\"$t('users.unapprovedAccount')\" effect=\"dark\">\n            <el-tag v-if=\"scope.row.approval_pending\" type=\"info\">\n              <span v-if=\"isDesktop\">{{ $t('users.unapproved') }}</span>\n              <i v-else class=\"el-icon-warning-outline\"/>\n            </el-tag>\n          </el-tooltip>\n          <el-tag v-if=\"scope.row.roles.admin\">\n            <span>{{ isDesktop ? $t('users.admin') : getFirstLetter($t('users.admin')) }}</span>\n          </el-tag>\n          <el-tag v-if=\"scope.row.roles.moderator\">\n            <span>{{ isDesktop ? $t('users.moderator') : getFirstLetter($t('users.moderator')) }}</span>\n          </el-tag>\n          <el-tooltip :content=\"$t('users.unconfirmedEmail')\" effect=\"dark\">\n            <el-tag v-if=\"scope.row.confirmation_pending\" type=\"info\">\n              {{ isDesktop ? $t('users.unconfirmed') : getFirstLetter($t('users.unconfirmed')) }}\n            </el-tag>\n          </el-tooltip>\n        </template>\n      </el-table-column>\n      <el-table-column v-if=\"pendingView && isDesktop\" :label=\"$t('users.registrationReason')\">\n        <template slot-scope=\"scope\">\n          <el-tooltip\n            v-if=\"regReason(scope.row.registration_reason)\"\n            :content=\"scope.row.registration_reason\"\n            popper-class=\"reason-tooltip\"\n            effect=\"dark\">\n            <span>\n              \"{{ scope.row.registration_reason | truncate(100, '...') }}\"\n            </span>\n          </el-tooltip>\n        </template>\n      </el-table-column>\n      <el-table-column :label=\"$t('users.actions')\" fixed=\"right\">\n        <template slot-scope=\"scope\">\n          <moderation-dropdown\n            v-if=\"propertyExists(scope.row, 'nickname')\"\n            :user=\"scope.row\"\n            :page=\"'users'\"\n            @open-reset-token-dialog=\"openResetPasswordDialog\"/>\n          <el-button v-else type=\"text\" disabled>\n            {{ $t('users.moderation') }}\n            <i v-if=\"isDesktop\" class=\"el-icon-arrow-down el-icon--right\"/>\n          </el-button>\n        </template>\n      </el-table-column>\n    </el-table>\n    <reset-password-dialog\n      :reset-password-dialog-open=\"resetPasswordDialogOpen\"\n      @close-reset-token-dialog=\"closeResetPasswordDialog\"/>\n    <div v-if=\"!loading\" class=\"pagination\">\n      <el-pagination\n        :total=\"usersCount\"\n        :current-page=\"currentPage\"\n        :page-size=\"pageSize\"\n        hide-on-single-page\n        layout=\"prev, pager, next\"\n        @current-change=\"handlePageChange\"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport debounce from 'lodash.debounce'\nimport numeral from 'numeral'\nimport UsersFilter from './components/UsersFilter'\nimport MultipleUsersMenu from './components/MultipleUsersMenu'\nimport NewAccountDialog from './components/NewAccountDialog'\nimport ModerationDropdown from './components/ModerationDropdown'\nimport RebootButton from '@/components/RebootButton'\nimport ResetPasswordDialog from './components/ResetPasswordDialog'\n\nexport default {\n  name: 'Users',\n  components: {\n    NewAccountDialog,\n    ModerationDropdown,\n    MultipleUsersMenu,\n    RebootButton,\n    ResetPasswordDialog,\n    UsersFilter\n  },\n  filters: {\n    truncate: function(text, length, suffix) {\n      return text.length < length ? text : text.substring(0, length) + suffix\n    }\n  },\n  data() {\n    return {\n      search: '',\n      selectedUsers: [],\n      createAccountDialogOpen: false,\n      resetPasswordDialogOpen: false\n    }\n  },\n  computed: {\n    loading() {\n      return this.$store.state.users.loading\n    },\n    normalizedUsersCount() {\n      return numeral(this.$store.state.users.totalUsersCount).format('0a')\n    },\n    pageSize() {\n      return this.$store.state.users.pageSize\n    },\n    currentPage() {\n      return this.$store.state.users.currentPage\n    },\n    isDesktop() {\n      return this.$store.state.app.device === 'desktop'\n    },\n    isMobile() {\n      return this.$store.state.app.device === 'mobile'\n    },\n    users() {\n      return this.$store.state.users.fetchedUsers\n    },\n    usersCount() {\n      return this.$store.state.users.totalUsersCount\n    },\n    pendingView() {\n      return this.$store.state.users.filters['need_approval']\n    },\n    width() {\n      return this.isMobile ? 55 : false\n    }\n  },\n  created() {\n    this.handleDebounceSearchInput = debounce((query) => {\n      this.$store.dispatch('SearchUsers', { query, page: 1 })\n    }, 500)\n  },\n  mounted: function() {\n    this.$store.dispatch('NeedReboot')\n    this.$store.dispatch('FetchUsers', { page: 1 })\n  },\n  destroyed() {\n    this.$store.dispatch('ClearUsersState')\n  },\n  methods: {\n    clearSelection() {\n      this.$refs.usersTable.clearSelection()\n    },\n    closeResetPasswordDialog() {\n      this.resetPasswordDialogOpen = false\n      this.$store.dispatch('RemovePasswordToken')\n    },\n    async createNewAccount(accountData) {\n      await this.$store.dispatch('CreateNewAccount', accountData)\n      this.createAccountDialogOpen = false\n    },\n    getFirstLetter(str) {\n      return str.charAt(0).toUpperCase()\n    },\n    handlePageChange(page) {\n      const searchQuery = this.$store.state.users.searchQuery\n      if (searchQuery === '') {\n        this.$store.dispatch('FetchUsers', { page })\n      } else {\n        this.$store.dispatch('SearchUsers', { query: searchQuery, page })\n      }\n    },\n    handleRowClick(row) {\n      if (row.id) {\n        this.$router.push({ name: 'UsersShow', params: { id: row.id }})\n      }\n    },\n    handleSelectionChange(value) {\n      this.$data.selectedUsers = value\n    },\n    openResetPasswordDialog() {\n      this.resetPasswordDialogOpen = true\n    },\n    propertyExists(account, property) {\n      return account[property]\n    },\n    regReason(reason) {\n      return reason && reason.length > 0\n    },\n    showDeactivatedButton(id) {\n      return this.$store.state.user.id !== id\n    }\n  }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.actions-button {\n  text-align: left;\n  width: 350px;\n  padding: 10px;\n}\n.actions-container {\n  display: flex;\n  height: 36px;\n  justify-content: space-between;\n  align-items: center;\n  margin: 0 15px 10px 15px;\n  .el-dropdown {\n    margin-left: 10px;\n  }\n}\n.active-tag {\n  color: #409EFF;\n  font-weight: 700;\n  .el-icon-check {\n    color: #409EFF;\n    float: right;\n    margin: 7px 0 0 15px;\n  }\n}\n.el-dropdown-link:hover {\n    cursor: pointer;\n    color: #409EFF;\n  }\n.create-account > .el-icon-plus {\n  margin-right: 5px;\n}\n.password-reset-token {\n  margin: 0 0 14px 0;\n}\n.password-reset-token-dialog {\n  width: 50%\n}\n.reason-tooltip {\n  max-width: 450px;\n}\n.reset-password-link {\n  text-decoration: underline;\n}\n.users-header-container {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n.users-container {\n  h1 {\n    margin: 10px 0 0 15px;\n    height: 40px;\n  }\n  .cell {\n    word-break: break-word;\n  }\n  .el-table__row:hover {\n    cursor: pointer;\n  }\n  .pagination {\n    margin: 25px 0;\n    text-align: center;\n  }\n  .reboot-button {\n    margin: 0 15px 0 0;\n    padding: 10px;\n    width: 145px;\n  }\n  .search {\n    width: 350px;\n    float: right;\n    margin-left: 10px;\n  }\n  .filter-container {\n    display: flex;\n    height: 36px;\n    justify-content: space-between;\n    align-items: center;\n    margin: 15px\n  }\n  .user-count {\n    color: gray;\n    font-size: 28px;\n  }\n}\n\n@media only screen and (max-width:480px) {\n  .password-reset-token-dialog {\n    width: 85%\n  }\n  .users-container {\n    h1 {\n      margin: 0;\n    }\n    .actions-button {\n      width: 100%;\n    }\n    .actions-container {\n      display: flex;\n      flex-direction: column;\n      margin: 0 10px 7px 10px\n    }\n    .el-icon-arrow-down {\n      font-size: 12px;\n    }\n    .search {\n      width: 100%;\n      margin-left: 0;\n    }\n    .filter-container {\n      display: flex;\n      height: 82px;\n      flex-direction: column;\n      margin: 0 10px\n    }\n    .el-table__row {\n      .el-tag {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        width: 30px;\n        margin-bottom: 4px;\n        font-weight: bold;\n      }\n    }\n    .reboot-button {\n      margin: 0;\n    }\n    .users-header-container {\n      margin: 7px 10px 12px 10px;\n    }\n    .user-count {\n      color: gray;\n      font-size: 22px;\n    }\n  }\n}\n\n@media only screen and (max-width:801px) and (min-width: 481px) {\n  .actions-button {\n    width: 49%;\n  }\n  .search {\n    width: 49%;\n  }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7bdc8aed&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"visible\":_vm.dialogOpen,\"title\":_vm.$t('users.passwordResetTokenCreated'),\"custom-class\":\"password-reset-token-dialog\"},on:{\"close\":_vm.closeResetPasswordDialog}},[_c('div',[_c('p',{staticClass:\"password-reset-token\"},[_vm._v(_vm._s(_vm.$t('users.passwordResetTokenGenerated'))+\" \"+_vm._s(_vm.passwordResetToken))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('users.linkToResetPassword'))+\"\\n      \"),_c('a',{staticClass:\"reset-password-link\",attrs:{\"href\":_vm.passwordResetLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.passwordResetLink))])])])])}\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!./ResetPasswordDialog.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!./ResetPasswordDialog.vue?vue&type=script&lang=js&\"","<template>\n  <el-dialog\n    v-loading=\"loading\"\n    :visible=\"dialogOpen\"\n    :title=\"$t('users.passwordResetTokenCreated')\"\n    custom-class=\"password-reset-token-dialog\"\n    @close=\"closeResetPasswordDialog\">\n    <div>\n      <p class=\"password-reset-token\">{{ $t('users.passwordResetTokenGenerated') }} {{ passwordResetToken }}</p>\n      <p>{{ $t('users.linkToResetPassword') }}\n        <a :href=\"passwordResetLink\" target=\"_blank\" class=\"reset-password-link\">{{ passwordResetLink }}</a>\n      </p>\n    </div>\n  </el-dialog>\n</template>\n\n<script>\nexport default {\n  name: 'ResetPasswordDialog',\n  props: {\n    resetPasswordDialogOpen: {\n      type: Boolean,\n      default: false\n    }\n  },\n  computed: {\n    dialogOpen() {\n      return this.resetPasswordDialogOpen\n    },\n    loading() {\n      return this.$store.state.users.loading\n    },\n    passwordResetLink() {\n      return this.$store.state.users.passwordResetToken.link\n    },\n    passwordResetToken() {\n      return this.$store.state.users.passwordResetToken.token\n    }\n  },\n  methods: {\n    closeResetPasswordDialog() {\n      this.$emit('close-reset-token-dialog')\n    }\n  }\n}\n</script>\n\n","import { render, staticRenderFns } from \"./ResetPasswordDialog.vue?vue&type=template&id=e7d3eed4&\"\nimport script from \"./ResetPasswordDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./ResetPasswordDialog.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 = \"ResetPasswordDialog.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dropdown',{attrs:{\"hide-on-click\":false,\"size\":\"small\",\"trigger\":\"click\",\"placement\":\"top-start\"},nativeOn:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',[(_vm.page === 'users')?_c('el-button',{staticClass:\"el-dropdown-link\",attrs:{\"type\":\"text\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.moderation'))+\"\\n      \"),(_vm.isDesktop)?_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.page === 'userPage' || _vm.page === 'statusPage')?_c('el-button',{staticClass:\"moderate-user-button\"},[_c('span',{staticClass:\"moderate-user-button-container\"},[_c('span',[_c('i',{staticClass:\"el-icon-edit\"}),_vm._v(\"\\n          \"+_vm._s(_vm.$t('users.moderateUser'))+\"\\n        \")]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})])]):_vm._e()],1),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{staticClass:\"actor-type-dropdown\"},[_c('el-select',{staticClass:\"actor-type-select\",attrs:{\"placeholder\":_vm.$t('userProfile.actorType')},model:{value:(_vm.actorType),callback:function ($$v) {_vm.actorType=$$v},expression:\"actorType\"}},[_c('el-option',{attrs:{\"label\":_vm.$t('users.service'),\"value\":\"Service\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":_vm.$t('users.person'),\"value\":\"Person\"}})],1)],1),_vm._v(\" \"),(_vm.showAdminAction(_vm.user))?_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.toggleUserRight(_vm.user, 'admin')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.user.roles.admin ? _vm.$t('users.revokeAdmin') : _vm.$t('users.grantAdmin'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.showAdminAction(_vm.user))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.toggleUserRight(_vm.user, 'moderator')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.user.roles.moderator ? _vm.$t('users.revokeModerator') : _vm.$t('users.grantModerator'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(_vm.user.id) && _vm.page !== 'statusPage')?_c('el-dropdown-item',{attrs:{\"divided\":_vm.showAdminAction(_vm.user)},nativeOn:{\"click\":function($event){return _vm.toggleActivation(_vm.user)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.user.deactivated ? _vm.$t('users.activateAccount') : _vm.$t('users.deactivateAccount'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(_vm.user.id) && _vm.page !== 'statusPage')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleDeletion(_vm.user)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.deleteAccount'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.user.local && _vm.user.approval_pending)?_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.handleAccountApproval(_vm.user)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.approveAccount'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.user.local && _vm.user.approval_pending)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleAccountRejection(_vm.user)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.rejectAccount'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.user.local && _vm.user.confirmation_pending)?_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.handleEmailConfirmation(_vm.user)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.confirmAccount'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.user.local && _vm.user.confirmation_pending)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleConfirmationResend(_vm.user)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.resendConfirmation'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.user.tags.includes('mrf_tag:media-force-nsfw') },attrs:{\"divided\":_vm.showAdminAction(_vm.user)},nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.user, 'mrf_tag:media-force-nsfw')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.forceNsfw'))+\"\\n      \"),(_vm.user.tags.includes('mrf_tag:media-force-nsfw'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.user.tags.includes('mrf_tag:media-strip') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.user, 'mrf_tag:media-strip')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.stripMedia'))+\"\\n      \"),(_vm.user.tags.includes('mrf_tag:media-strip'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.user.tags.includes('mrf_tag:force-unlisted') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.user, 'mrf_tag:force-unlisted')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.forceUnlisted'))+\"\\n      \"),(_vm.user.tags.includes('mrf_tag:force-unlisted'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.user.tags.includes('mrf_tag:sandbox') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.user, 'mrf_tag:sandbox')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.sandbox'))+\"\\n      \"),(_vm.user.tags.includes('mrf_tag:sandbox'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),(_vm.user.local)?_c('el-dropdown-item',{class:{ 'active-tag': _vm.user.tags.includes('mrf_tag:disable-remote-subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.user, 'mrf_tag:disable-remote-subscription')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.disableRemoteSubscription'))+\"\\n      \"),(_vm.user.tags.includes('mrf_tag:disable-remote-subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.user.local)?_c('el-dropdown-item',{class:{ 'active-tag': _vm.user.tags.includes('mrf_tag:disable-any-subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.user, 'mrf_tag:disable-any-subscription')}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.disableAnySubscription'))+\"\\n      \"),(_vm.user.tags.includes('mrf_tag:disable-any-subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.user.local)?_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.getPasswordResetToken(_vm.user.nickname)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.getPasswordResetToken'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.user.local)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.requirePasswordReset(_vm.user)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.requirePasswordReset'))+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.user.local)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.disableMfa(_vm.user.nickname)}}},[_vm._v(\"\\n      \"+_vm._s(_vm.$t('users.disableMfa'))+\"\\n    \")]):_vm._e()],1)],1)}\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!./ModerationDropdown.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!./ModerationDropdown.vue?vue&type=script&lang=js&\"","<template>\n  <el-dropdown :hide-on-click=\"false\" size=\"small\" trigger=\"click\" placement=\"top-start\" @click.native.stop>\n    <div>\n      <el-button v-if=\"page === 'users'\" type=\"text\" class=\"el-dropdown-link\">\n        {{ $t('users.moderation') }}\n        <i v-if=\"isDesktop\" class=\"el-icon-arrow-down el-icon--right\"/>\n      </el-button>\n      <el-button v-if=\"page === 'userPage' || page === 'statusPage'\" class=\"moderate-user-button\">\n        <span class=\"moderate-user-button-container\">\n          <span>\n            <i class=\"el-icon-edit\" />\n            {{ $t('users.moderateUser') }}\n          </span>\n          <i class=\"el-icon-arrow-down el-icon--right\"/>\n        </span>\n      </el-button>\n    </div>\n    <el-dropdown-menu slot=\"dropdown\">\n      <el-dropdown-item\n        class=\"actor-type-dropdown\">\n        <el-select v-model=\"actorType\" :placeholder=\"$t('userProfile.actorType')\" class=\"actor-type-select\">\n          <el-option :label=\"$t('users.service')\" value=\"Service\"/>\n          <el-option :label=\"$t('users.person')\" value=\"Person\"/>\n        </el-select>\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"showAdminAction(user)\"\n        divided\n        @click.native=\"toggleUserRight(user, 'admin')\">\n        {{ user.roles.admin ? $t('users.revokeAdmin') : $t('users.grantAdmin') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"showAdminAction(user)\"\n        @click.native=\"toggleUserRight(user, 'moderator')\">\n        {{ user.roles.moderator ? $t('users.revokeModerator') : $t('users.grantModerator') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"showDeactivatedButton(user.id) && page !== 'statusPage'\"\n        :divided=\"showAdminAction(user)\"\n        @click.native=\"toggleActivation(user)\">\n        {{ user.deactivated ? $t('users.activateAccount') : $t('users.deactivateAccount') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"showDeactivatedButton(user.id) && page !== 'statusPage'\"\n        @click.native=\"handleDeletion(user)\">\n        {{ $t('users.deleteAccount') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local && user.approval_pending\"\n        divided\n        @click.native=\"handleAccountApproval(user)\">\n        {{ $t('users.approveAccount') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local && user.approval_pending\"\n        @click.native=\"handleAccountRejection(user)\">\n        {{ $t('users.rejectAccount') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local && user.confirmation_pending\"\n        divided\n        @click.native=\"handleEmailConfirmation(user)\">\n        {{ $t('users.confirmAccount') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local && user.confirmation_pending\"\n        @click.native=\"handleConfirmationResend(user)\">\n        {{ $t('users.resendConfirmation') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        :divided=\"showAdminAction(user)\"\n        :class=\"{ 'active-tag': user.tags.includes('mrf_tag:media-force-nsfw') }\"\n        @click.native=\"toggleTag(user, 'mrf_tag:media-force-nsfw')\">\n        {{ $t('users.forceNsfw') }}\n        <i v-if=\"user.tags.includes('mrf_tag:media-force-nsfw')\" class=\"el-icon-check\"/>\n      </el-dropdown-item>\n      <el-dropdown-item\n        :class=\"{ 'active-tag': user.tags.includes('mrf_tag:media-strip') }\"\n        @click.native=\"toggleTag(user, 'mrf_tag:media-strip')\">\n        {{ $t('users.stripMedia') }}\n        <i v-if=\"user.tags.includes('mrf_tag:media-strip')\" class=\"el-icon-check\"/>\n      </el-dropdown-item>\n      <el-dropdown-item\n        :class=\"{ 'active-tag': user.tags.includes('mrf_tag:force-unlisted') }\"\n        @click.native=\"toggleTag(user, 'mrf_tag:force-unlisted')\">\n        {{ $t('users.forceUnlisted') }}\n        <i v-if=\"user.tags.includes('mrf_tag:force-unlisted')\" class=\"el-icon-check\"/>\n      </el-dropdown-item>\n      <el-dropdown-item\n        :class=\"{ 'active-tag': user.tags.includes('mrf_tag:sandbox') }\"\n        @click.native=\"toggleTag(user, 'mrf_tag:sandbox')\">\n        {{ $t('users.sandbox') }}\n        <i v-if=\"user.tags.includes('mrf_tag:sandbox')\" class=\"el-icon-check\"/>\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local\"\n        :class=\"{ 'active-tag': user.tags.includes('mrf_tag:disable-remote-subscription') }\"\n        @click.native=\"toggleTag(user, 'mrf_tag:disable-remote-subscription')\">\n        {{ $t('users.disableRemoteSubscription') }}\n        <i v-if=\"user.tags.includes('mrf_tag:disable-remote-subscription')\" class=\"el-icon-check\"/>\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local\"\n        :class=\"{ 'active-tag': user.tags.includes('mrf_tag:disable-any-subscription') }\"\n        @click.native=\"toggleTag(user, 'mrf_tag:disable-any-subscription')\">\n        {{ $t('users.disableAnySubscription') }}\n        <i v-if=\"user.tags.includes('mrf_tag:disable-any-subscription')\" class=\"el-icon-check\"/>\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local\"\n        divided\n        @click.native=\"getPasswordResetToken(user.nickname)\">\n        {{ $t('users.getPasswordResetToken') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local\"\n        @click.native=\"requirePasswordReset(user)\">\n        {{ $t('users.requirePasswordReset') }}\n      </el-dropdown-item>\n      <el-dropdown-item\n        v-if=\"user.local\"\n        @click.native=\"disableMfa(user.nickname)\">\n        {{ $t('users.disableMfa') }}\n      </el-dropdown-item>\n    </el-dropdown-menu>\n  </el-dropdown>\n</template>\n\n<script>\nexport default {\n  name: 'ModerationDropdown',\n  props: {\n    user: {\n      type: Object,\n      default: function() {\n        return {}\n      }\n    },\n    page: {\n      type: String,\n      default: 'users'\n    },\n    statusId: {\n      type: String,\n      default: ''\n    }\n  },\n  computed: {\n    actorType: {\n      get() {\n        return this.user.actor_type\n      },\n      set(type) {\n        this.$store.dispatch('UpdateActorType', {\n          user: this.user,\n          type,\n          _userId: this.user.id,\n          _statusId: this.statusId\n        })\n      }\n    },\n    isDesktop() {\n      return this.$store.state.app.device === 'desktop'\n    }\n  },\n  methods: {\n    disableMfa(nickname) {\n      this.$store.dispatch('DisableMfa', nickname)\n    },\n    getPasswordResetToken(nickname) {\n      this.$emit('open-reset-token-dialog')\n      this.$store.dispatch('GetPasswordResetToken', nickname)\n    },\n    handleConfirmationResend(user) {\n      this.$store.dispatch('ResendConfirmationEmail', [user])\n    },\n    handleDeletion(user) {\n      this.$confirm(\n        this.$t('users.deleteUserConfirmation'),\n        {\n          confirmButtonText: 'Delete',\n          cancelButtonText: 'Cancel',\n          type: 'warning'\n        }).then(() => {\n        this.$store.dispatch('DeleteUsers', { users: [user], _userId: user.id })\n      }).catch(() => {\n        this.$message({\n          type: 'info',\n          message: 'Delete canceled'\n        })\n      })\n    },\n    handleAccountApproval(user) {\n      this.$store.dispatch('ApproveUsersAccount', { users: [user], _userId: user.id, _statusId: this.statusId })\n    },\n    handleAccountRejection(user) {\n      this.$confirm(\n        this.$t('users.rejectAccountConfirmation'),\n        {\n          confirmButtonText: 'Reject',\n          cancelButtonText: 'Cancel',\n          type: 'warning'\n        }).then(() => {\n        this.$store.dispatch('DeleteUsers', { users: [user], _userId: user.id })\n      }).catch(() => {\n        this.$message({\n          type: 'info',\n          message: 'Reject canceled'\n        })\n      })\n    },\n    handleEmailConfirmation(user) {\n      this.$store.dispatch('ConfirmUsersEmail', { users: [user], _userId: user.id, _statusId: this.statusId })\n    },\n    requirePasswordReset(user) {\n      const mailerEnabled = this.$store.state.user.nodeInfo.metadata.mailerEnabled\n      if (!mailerEnabled) {\n        this.$alert(this.$t('users.mailerMustBeEnabled'), 'Error', { type: 'error' })\n        return\n      }\n      this.$store.dispatch('RequirePasswordReset', [user])\n    },\n    showAdminAction({ local, id }) {\n      return local && this.showDeactivatedButton(id)\n    },\n    showDeactivatedButton(id) {\n      return this.$store.state.user.id !== id\n    },\n    toggleActivation(user) {\n      user.deactivated\n        ? this.$store.dispatch('ActivateUsers', { users: [user], _userId: user.id })\n        : this.$store.dispatch('DeactivateUsers', { users: [user], _userId: user.id })\n    },\n    toggleTag(user, tag) {\n      user.tags.includes(tag)\n        ? this.$store.dispatch('RemoveTag', { users: [user], tag, _userId: user.id, _statusId: this.statusId })\n        : this.$store.dispatch('AddTag', { users: [user], tag, _userId: user.id, _statusId: this.statusId })\n    },\n    toggleUserRight(user, right) {\n      user.roles[right]\n        ? this.$store.dispatch('DeleteRight', { users: [user], right, _userId: user.id, _statusId: this.statusId })\n        : this.$store.dispatch('AddRight', { users: [user], right, _userId: user.id, _statusId: this.statusId })\n    }\n  }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n  .el-dropdown-menu--small  .el-dropdown-menu__item.el-dropdown-menu__item--divided.actor-type-dropdown:before {\n    margin: 0 0;\n    height: 0;\n  }\n  .el-dropdown-menu--small .actor-type-dropdown {\n    padding: 0;\n  }\n  .actor-type-select {\n    width: 100%;\n    input {\n      border-color: transparent;\n      color: #606266;\n    }\n    .el-input__inner:hover {\n      border-color: transparent;\n      background-color: #ecf5ff;\n    }\n    .el-input.is-focus {\n      border-color: transparent;\n    }\n    .el-input__suffix-inner {\n      pointer-events: none;\n    }\n    .el-select .el-input__inner:focus {\n      border-color: transparent;\n    }\n    .el-input.is-active .el-input__inner, .el-input__inner:focus {\n      border-color: transparent;\n    }\n  }\n  .actor-type-select .el-input.is-focus .el-input__inner {\n      border-color: transparent;\n    }\n  .moderate-user-button {\n    text-align: left;\n    width: 350px;\n    padding: 10px;\n  }\n  .moderate-user-button-container {\n    display: flex;\n    justify-content: space-between;\n  }\n  @media only screen and (max-width:480px) {\n    .moderate-user-button {\n      width: 100%\n    }\n  }\n</style>\n","import { render, staticRenderFns } from \"./ModerationDropdown.vue?vue&type=template&id=439555de&\"\nimport script from \"./ModerationDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./ModerationDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModerationDropdown.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 = \"ModerationDropdown.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!./UsersFilter.vue?vue&type=style&index=0&id=377d5068&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; 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!./UsersFilter.vue?vue&type=style&index=0&id=377d5068&rel=stylesheet%2Fscss&lang=scss&scoped=true&\""],"sourceRoot":""}