pleroma/priv/static/adminfe/static/js/chunk-506f.4a1a9945.js.map
2022-11-22 23:53:01 +01:00

1 line
36 KiB
Plaintext

{"version":3,"sources":["webpack:///./node_modules/lodash.debounce/index.js","webpack:///./src/views/moderationLog/index.vue?6e7f","webpack:///./src/views/moderationLog/index.vue?6e44","webpack:///./src/views/moderationLog/LogEntryMessage.vue?349e","webpack:///src/views/moderationLog/LogEntryMessage.vue","webpack:///./src/views/moderationLog/LogEntryMessage.vue","webpack:///./src/views/moderationLog/LogEntryMessage.vue?77c0","webpack:///./src/views/moderationLog/index.vue?ad75","webpack:///src/views/moderationLog/index.vue","webpack:///./src/views/moderationLog/index.vue","webpack:///./src/views/moderationLog/LogEntryMessage.vue?861a","webpack:///./src/components/RebootButton/index.vue?d5b4","webpack:///./src/components/RebootButton/index.vue?2f45","webpack:///src/components/RebootButton/index.vue","webpack:///./src/components/RebootButton/index.vue"],"names":["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","__webpack_require__","moderationLog_LogEntryMessagevue_type_script_lang_js_","name","props","actor","required","message","subject","default","computed","logEntryMessage","nickname","split","logEntryMessageWithoutId","concat","id","methods","propertyExists","account","property","LogEntryMessage","componentNormalizer","_vm","_c","_self","staticClass","attrs","to","params","staticStyle","font-weight","_v","_s","_e","views_moderationLogvue_type_script_lang_js_","components","RebootButton","data","dateRange","search","user","currentPage","isMobile","$store","state","app","device","loading","moderationLog","logLoading","adminsLoading","log","fetchedLog","total","logItemsCount","users","label","created","_this","handleDebounceSearchInput","lodash_debounce_default","query","fetchLogWithFilters","mounted","dispatch","filters","lodash_default","a","omitBy","start_date","end_date","user_id","page","val","normalizeTimestamp","timestamp","luxon","fromSeconds","toFormat","moderationLog_component","$t","clearable","placeholder","on","change","model","callback","$$v","expression","_l","group","key","item","input","default-time","start-placeholder","end-placeholder","unlink-panels","logEntry","index","current-page","hide-on-single-page","page-size","small","layout","update:currentPage","$event","update:current-page","current-change","__webpack_exports__","components_RebootButtonvue_type_script_lang_js_","needReboot","restartApp","asyncToGenerator_default","regenerator_default","mark","_callee","wrap","_context","prev","next","t0","abrupt","$message","stop","component","content","placement","click"],"mappings":"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","file":"static/js/chunk-506f.4a1a9945.js","sourcesContent":["/**\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--10-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??ref--10-2!../../../node_modules/sass-loader/dist/cjs.js??ref--10-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=645c846e&prod&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.loading)?_c('div',{staticClass:\"moderation-log-container\"},[_c('div',{staticClass:\"moderation-log-header-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('moderationLog.moderationLog')))]),_vm._v(\" \"),_c('reboot-button')],1),_vm._v(\" \"),_c('div',{staticClass:\"moderation-log-nav-container\"},[_c('el-select',{staticClass:\"moderation-log-user-select\",attrs:{\"clearable\":\"\",\"placeholder\":\"Filter by admin/moderator\"},on:{\"change\":_vm.fetchLogWithFilters},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}},_vm._l((_vm.users),function(group){return _c('el-option-group',{key:group.label,attrs:{\"label\":group.label}},_vm._l((group.options),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.nickname,\"value\":item.id}})}),1)}),1),_vm._v(\" \"),_c('el-input',{staticClass:\"moderation-log-search\",attrs:{\"placeholder\":\"Search logs\",\"clearable\":\"\"},on:{\"input\":_vm.handleDebounceSearchInput},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('el-date-picker',{staticClass:\"moderation-log-date-panel\",attrs:{\"default-time\":['00:00:00', '23:59:59'],\"type\":\"daterange\",\"start-placeholder\":\"Start date\",\"end-placeholder\":\"End date\",\"unlink-panels\":\"\"},on:{\"change\":_vm.fetchLogWithFilters},model:{value:(_vm.dateRange),callback:function ($$v) {_vm.dateRange=$$v},expression:\"dateRange\"}}),_vm._v(\" \"),_c('el-timeline',_vm._l((_vm.log),function(logEntry,index){return _c('el-timeline-item',{key:index,attrs:{\"timestamp\":_vm.normalizeTimestamp(logEntry.time)}},[(_vm.propertyExists(logEntry.data.actor, 'nickname'))?_c('log-entry-message',{attrs:{\"actor\":logEntry.data.actor,\"message\":logEntry.message,\"subject\":logEntry.data.subject}}):_c('span',[_vm._v(_vm._s(logEntry.message))])],1)}),1),_vm._v(\" \"),_c('div',{staticClass:\"pagination\"},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"hide-on-single-page\":true,\"page-size\":50,\"total\":_vm.total,\"small\":_vm.isMobile,\"layout\":\"prev, pager, next\"},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"current-change\":_vm.fetchLogWithFilters}})],1)],1):_vm._e()\n}\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!./LogEntryMessage.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!./LogEntryMessage.vue?vue&type=script&lang=js&\"","<template>\n <span>\n <router-link\n v-if=\"propertyExists(actor, 'id')\"\n :to=\"{ name: 'UsersShow', params: { id: actor.id }}\"\n class=\"router-link\">\n <span v-if=\"propertyExists(actor, 'nickname')\" style=\"font-weight: 600\">\n @{{ actor.nickname }}\n </span>\n </router-link>\n <span v-if=\"subject.type === 'report' && propertyExists(subject, 'id')\">\n {{ logEntryMessageWithoutId[0] }}\n <router-link\n :to=\"{ name: 'ReportsShow', params: { id: subject.id }}\"\n class=\"router-link\">\n <span style=\"font-weight: 600\">#{{ subject.id }}</span>\n </router-link>\n {{ logEntryMessageWithoutId[1] }}\n </span>\n <span v-else>{{ logEntryMessage }}</span>\n </span>\n</template>\n\n<script>\n\nexport default {\n name: 'LogEntryMessage',\n props: {\n actor: {\n type: Object,\n required: true\n },\n message: {\n type: String,\n required: true\n },\n subject: {\n type: [Object, Array],\n required: false,\n default: function() {\n return {}\n }\n }\n },\n computed: {\n logEntryMessage() {\n return this.actor.nickname ? this.message.split(this.actor.nickname)[1] : this.message\n },\n logEntryMessageWithoutId() {\n return this.logEntryMessage.split(`#${this.subject.id}`)\n }\n },\n methods: {\n propertyExists(account, property) {\n return account[property]\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n .router-link {\n text-decoration: none;\n }\n</style>\n","import { render, staticRenderFns } from \"./LogEntryMessage.vue?vue&type=template&id=c4af6608&\"\nimport script from \"./LogEntryMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./LogEntryMessage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LogEntryMessage.vue?vue&type=style&index=0&id=c4af6608&prod&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\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',[(_vm.propertyExists(_vm.actor, 'id'))?_c('router-link',{staticClass:\"router-link\",attrs:{\"to\":{ name: 'UsersShow', params: { id: _vm.actor.id }}}},[(_vm.propertyExists(_vm.actor, 'nickname'))?_c('span',{staticStyle:{\"font-weight\":\"600\"}},[_vm._v(\"\\n @\"+_vm._s(_vm.actor.nickname)+\"\\n \")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.subject.type === 'report' && _vm.propertyExists(_vm.subject, 'id'))?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.logEntryMessageWithoutId[0])+\"\\n \"),_c('router-link',{staticClass:\"router-link\",attrs:{\"to\":{ name: 'ReportsShow', params: { id: _vm.subject.id }}}},[_c('span',{staticStyle:{\"font-weight\":\"600\"}},[_vm._v(\"#\"+_vm._s(_vm.subject.id))])]),_vm._v(\"\\n \"+_vm._s(_vm.logEntryMessageWithoutId[1])+\"\\n \")],1):_c('span',[_vm._v(_vm._s(_vm.logEntryMessage))])],1)\n}\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 v-if=\"!loading\" class=\"moderation-log-container\">\n <div class=\"moderation-log-header-container\">\n <h1>{{ $t('moderationLog.moderationLog') }}</h1>\n <reboot-button/>\n </div>\n <div class=\"moderation-log-nav-container\">\n <el-select\n v-model=\"user\"\n class=\"moderation-log-user-select\"\n clearable\n placeholder=\"Filter by admin/moderator\"\n @change=\"fetchLogWithFilters\">\n <el-option-group\n v-for=\"group in users\"\n :key=\"group.label\"\n :label=\"group.label\">\n <el-option\n v-for=\"item in group.options\"\n :key=\"item.id\"\n :label=\"item.nickname\"\n :value=\"item.id\"/>\n </el-option-group>\n </el-select>\n <el-input\n v-model=\"search\"\n placeholder=\"Search logs\"\n clearable\n class=\"moderation-log-search\"\n @input=\"handleDebounceSearchInput\"/>\n </div>\n <el-date-picker\n :default-time=\"['00:00:00', '23:59:59']\"\n v-model=\"dateRange\"\n type=\"daterange\"\n start-placeholder=\"Start date\"\n end-placeholder=\"End date\"\n unlink-panels\n class=\"moderation-log-date-panel\"\n @change=\"fetchLogWithFilters\" />\n <el-timeline>\n <el-timeline-item\n v-for=\"(logEntry, index) in log\"\n :key=\"index\"\n :timestamp=\"normalizeTimestamp(logEntry.time)\">\n <log-entry-message v-if=\"propertyExists(logEntry.data.actor, 'nickname')\" :actor=\"logEntry.data.actor\" :message=\"logEntry.message\" :subject=\"logEntry.data.subject\"/>\n <span v-else>{{ logEntry.message }}</span>\n </el-timeline-item>\n </el-timeline>\n <div class=\"pagination\">\n <el-pagination\n :current-page.sync=\"currentPage\"\n :hide-on-single-page=\"true\"\n :page-size=\"50\"\n :total=\"total\"\n :small=\"isMobile\"\n layout=\"prev, pager, next\"\n @current-change=\"fetchLogWithFilters\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { DateTime } from 'luxon'\nimport _ from 'lodash'\nimport debounce from 'lodash.debounce'\nimport RebootButton from '@/components/RebootButton'\nimport LogEntryMessage from './LogEntryMessage'\n\nexport default {\n components: { RebootButton, LogEntryMessage },\n data() {\n return {\n dateRange: '',\n search: '',\n user: '',\n currentPage: 1\n }\n },\n computed: {\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n loading() {\n return this.$store.state.moderationLog.logLoading &&\n this.$store.state.moderationLog.adminsLoading\n },\n log() {\n return this.$store.state.moderationLog.fetchedLog\n },\n total() {\n return this.$store.state.moderationLog.logItemsCount\n },\n users() {\n return [\n {\n label: 'Admins',\n options: this.$store.state.moderationLog.admins.users\n },\n {\n label: 'Moderators',\n options: this.$store.state.moderationLog.moderators.users\n }\n ]\n }\n },\n created() {\n this.handleDebounceSearchInput = debounce((query) => {\n this.fetchLogWithFilters()\n }, 500)\n },\n mounted() {\n this.$store.dispatch('GetNodeInfo')\n this.$store.dispatch('NeedReboot')\n this.$store.dispatch('FetchModerationLog')\n this.$store.dispatch('FetchAdmins')\n },\n methods: {\n fetchLogWithFilters() {\n const filters = _.omitBy({\n start_date: this.dateRange ? this.dateRange[0].toISOString() : null,\n end_date: this.dateRange ? this.dateRange[1].toISOString() : null,\n user_id: this.user,\n search: this.search,\n page: this.currentPage\n }, val => val === '' || val === null)\n\n this.$store.dispatch('FetchModerationLog', filters)\n },\n normalizeTimestamp(timestamp) {\n return DateTime.fromSeconds(timestamp).toFormat('yyyy-MM-dd HH:mm')\n },\n propertyExists(account, property) {\n return account[property]\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.moderation-log-container {\n margin: 0 15px;\n}\nh1 {\n margin: 0;\n}\n.el-timeline {\n margin: 25px 45px 0 0;\n padding: 0px;\n}\n.moderation-log-date-panel {\n width: 350px;\n}\n.moderation-log-header-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 10px 0 15px 0;\n}\n.moderation-log-nav-container {\n display: flex;\n justify-content: space-between;\n}\n.moderation-log-search {\n width: 350px;\n}\n.moderation-log-user-select {\n margin: 0 0 20px;\n width: 350px;\n}\n.reboot-button {\n padding: 10px;\n margin: 0;\n width: 145px;\n}\n.pagination {\n text-align: center;\n}\n\n@media only screen and (max-width:480px) {\n h1 {\n font-size: 24px;\n }\n .moderation-log-date-panel {\n width: 100%;\n }\n .moderation-log-user-select {\n margin: 0 0 10px;\n width: 55%;\n }\n .moderation-log-search {\n width: 40%;\n }\n}\n\n@media only screen and (max-width:801px) and (min-width: 481px) {\n .moderation-log-date-panel {\n width: 55%;\n }\n .moderation-log-user-select {\n margin: 0 0 10px;\n width: 55%;\n }\n .moderation-log-search {\n width: 40%;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=645c846e&scoped=true&\"\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&id=645c846e&prod&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 \"645c846e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--10-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??ref--10-2!../../../node_modules/sass-loader/dist/cjs.js??ref--10-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LogEntryMessage.vue?vue&type=style&index=0&id=c4af6608&prod&rel=stylesheet%2Fscss&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;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()\n}\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\nexport default component.exports"],"sourceRoot":""}