generic-skin 3.0.9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/apps/vueRela.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Vue.component('modal-relaciones', {
2
2
  props: ['dataElement', 'dataType'],
3
- data: function () {
3
+ data() {
4
4
  return {
5
5
  state: {
6
6
  modal: false
@@ -17,11 +17,11 @@ Vue.component('modal-relaciones', {
17
17
  }
18
18
  },
19
19
  computed: {
20
- modalTitle: function () {
20
+ modalTitle() {
21
21
  if (this.dataType === 'new') return 'Nueva entrada';
22
22
  else if (this.dataType === 'edit') return 'Editar entrada';
23
23
  },
24
- oneCheck: function () {
24
+ oneCheck() {
25
25
  let final = '';
26
26
 
27
27
  if (!Object.keys(this.content.edit).length) return final;
@@ -48,10 +48,10 @@ Vue.component('modal-relaciones', {
48
48
 
49
49
  return final;
50
50
  },
51
- finalCheck: function () {
51
+ finalCheck() {
52
52
  return JSON.stringify(this.content.current) !== JSON.stringify(this.content.edit);
53
53
  },
54
- sortedCharacters: function () {
54
+ sortedCharacters() {
55
55
  if (!Object.keys(this.content.edit).length) return this.$parent.users.map((item) => {
56
56
  return item.user;
57
57
  });
@@ -63,7 +63,7 @@ Vue.component('modal-relaciones', {
63
63
  }
64
64
  },
65
65
  methods: {
66
- modalClose: function () {
66
+ modalClose() {
67
67
  this.$parent.modal.type = 'new';
68
68
  this.$parent.modal.status = false;
69
69
  this.$parent.setEntry();
@@ -75,14 +75,14 @@ Vue.component('modal-relaciones', {
75
75
  this.content.edit.color = character.color;
76
76
  this.content.edit.url = character.id;
77
77
  },
78
- updateData: function () {
78
+ updateData() {
79
79
  const data = JSON.parse(JSON.stringify(this.info.users)).filter((item) => {
80
80
  return item.user === this.content.current.name;
81
81
  })[0];
82
82
 
83
83
  this.content.edit.img = data.img;
84
84
  },
85
- pushElement: function () {
85
+ pushElement() {
86
86
  if (this.$parent.modal.type === 'edit') {
87
87
  this.$parent.content.edit.splice(this.$parent.content.edit.map((item) => {
88
88
  return item.position;
@@ -196,7 +196,7 @@ Vue.component('modal-relaciones', {
196
196
  });
197
197
 
198
198
  Vue.component('gestor-relaciones', {
199
- data: function () {
199
+ data() {
200
200
  return {
201
201
  render: 0,
202
202
  modal: {
@@ -216,14 +216,14 @@ Vue.component('gestor-relaciones', {
216
216
  }
217
217
  },
218
218
  computed: {
219
- sortedContent: function () {
219
+ sortedContent() {
220
220
  return JSON.parse(JSON.stringify(this.content.edit)).sort((a, b) => {
221
221
  if (a.name < b.name) return -1;
222
222
  if (a.name > b.name) return 1;
223
223
  return 0;
224
224
  });
225
225
  },
226
- paginationContent: function () {
226
+ paginationContent() {
227
227
  const limit = parseInt(forumConfig.skinOptions.paginationDefault / 2) + 1;
228
228
  const pages = Math.floor((this.sortedContent.length - 1) / limit) + 1;
229
229
 
@@ -240,15 +240,15 @@ Vue.component('gestor-relaciones', {
240
240
  content: this.sortedContent.slice(this.state.pagination * limit, (this.state.pagination + 1) * limit)
241
241
  };
242
242
  },
243
- finalCheck: function () {
243
+ finalCheck() {
244
244
  return JSON.stringify(this.content.current) !== JSON.stringify(this.content.edit);
245
245
  }
246
246
  },
247
247
  methods: {
248
- forceRerender: function () {
248
+ forceRerender() {
249
249
  this.render += 1;
250
250
  },
251
- setEntry: function () {
251
+ setEntry() {
252
252
  this.entry = {
253
253
  type: false,
254
254
  color: -1,
@@ -393,19 +393,19 @@ Vue.component('gestor-relaciones', {
393
393
 
394
394
  Vue.component('elemento-relaciones', {
395
395
  props: ['dataElement', 'dataType', 'dataId'],
396
- data: function () {
396
+ data() {
397
397
  return {
398
398
  profileName: forumConfig.profileOptions.profileName || 'perfil',
399
399
  content: this.dataElement
400
400
  }
401
401
  },
402
402
  computed: {
403
- realClass: function () {
403
+ realClass() {
404
404
  return 'rela-list usergroup-' + this.content.color;
405
405
  }
406
406
  },
407
407
  methods: {
408
- deleteElement: function () {
408
+ deleteElement() {
409
409
  this.$parent.content.edit.splice(this.$parent.content.edit.map((item) => {
410
410
  return item.position;
411
411
  }).indexOf(this.dataId), 1);
@@ -416,7 +416,7 @@ Vue.component('elemento-relaciones', {
416
416
 
417
417
  this.$parent.forceRerender();
418
418
  },
419
- editElement: function () {
419
+ editElement() {
420
420
  this.$parent.modal.type = 'edit';
421
421
  this.$parent.entry = this.content;
422
422
  this.$parent.modal.status = true;
@@ -1 +1 @@
1
- Vue.component("modal-relaciones", { props: ["dataElement", "dataType"], data: function () { return { state: { modal: !1 }, info: { users: this.$parent.users, user: "", people: [] }, content: { edit: JSON.parse(JSON.stringify(this.dataElement)), current: this.dataElement } } }, computed: { modalTitle: function () { return "new" === this.dataType ? "Nueva entrada" : "edit" === this.dataType ? "Editar entrada" : void 0 }, oneCheck: function () { let t = ""; return Object.keys(this.content.edit).length ? (this.content.edit.name.length < 3 && (t += "<li>Escribe el nombre del personaje.</li>"), -1 === this.content.edit.color && (t += "<li>Selecciona una facción para el personaje.</li>"), -1 === this.content.edit.url.indexOf("/u") && (t += "<li>Escribe el enlace al perfil del personaje.</li>"), this.content.edit.img.match(/(jpg|jpeg|png)$/i) || (t += "<li>Escribe el enlace a la imagen del personaje (debe ser de 190x190).</li>"), this.content.edit.desc.length < 151 && (t += "<li>Escribe una descripción lo suficientemente larga (150 carácteres al menos).</li>"), t) : t }, finalCheck: function () { return JSON.stringify(this.content.current) !== JSON.stringify(this.content.edit) }, sortedCharacters: function () { return Object.keys(this.content.edit).length ? this.info.users.filter(t => -1 === this.info.people.indexOf(t.user)).filter(t => t.user.toLowerCase().indexOf(this.content.edit.name.toLowerCase()) > -1) : this.$parent.users.map(t => t.user) } }, methods: { modalClose: function () { this.$parent.modal.type = "new", this.$parent.modal.status = !1, this.$parent.setEntry() }, addCharacter: function (t) { this.content.edit.type = !0, this.content.edit.name = t.user, this.content.edit.img = t.img, this.content.edit.color = t.color, this.content.edit.url = t.id }, updateData: function () { const t = JSON.parse(JSON.stringify(this.info.users)).filter(t => t.user === this.content.current.name)[0]; this.content.edit.img = t.img }, pushElement: function () { "edit" === this.$parent.modal.type && this.$parent.content.edit.splice(this.$parent.content.edit.map(t => t.position).indexOf(this.content.current.position), 1); let t = this.content.edit; "new" === this.$parent.modal.type && (t.position = this.$parent.content.edit.length), this.$parent.content.edit.push(t), this.modalClose() } }, template: '\n <modal-foro :data-title="modalTitle" v-on:modal-close="modalClose()">\n <template v-if="content.edit.type">\n <template slot="content">\n <aviso-foro v-show="oneCheck.length">\n <ul v-html="oneCheck"></ul>\n </aviso-foro>\n <ul class="forum-fieldlist no-style">\n <li>\n <campo-foro data-name="Nombre">\n <div class="character-selector">\n <input type="text" v-model="content.edit.name" placeholder="Escribe el nombre del personaje." disabled />\n <a class="character-custom" v-on:click="updateData()" :title="\'Actualizar avatar de «\' + content.current.name + \'»\'">\n <i class="fas fa-redo-alt"></i>\n </a>\n </div>\n </campo-foro>\n </li>\n </ul>\n <h4 class="mt-5">Descripción</h4>\n <ul class="forum-fieldlist no-style">\n <li class="has-no-label">\n <campo-foro data-name="Descripción">\n <textarea v-model="content.edit.desc" placeholder="Escribe la descripción del personaje."></textarea>\n </campo-foro>\n </li>\n </ul>\n </template>\n <template slot="controls" v-if="!oneCheck.length && finalCheck">\n <controles-modal>\n <button class="button1 btn-main" v-on:click="pushElement()" title="Guardar entrada">Guardar</button>\n </controles-modal>\n </template>\n </template>\n <template v-else>\n <template slot="content">\n <aviso-foro v-show="oneCheck.length">\n <ul v-html="oneCheck"></ul>\n </aviso-foro>\n <ul class="forum-fieldlist no-style">\n <li>\n <campo-foro data-name="Nombre">\n <div class="character-selector"> \n <input type="text" v-model="content.edit.name" placeholder="Escribe el nombre del personaje." />\n <ul class="no-style selector-list" v-if="sortedCharacters.length > 0">\n <li v-for="(character, index) in sortedCharacters" v-on:click="addCharacter(character)" :title="\'Seleccionar \' + character.user">{{ character.user }}<i class="fas fa-plus"></i></li>\n </ul>\n </div>\n </campo-foro>\n </li>\n <li>\n <campo-foro data-name="Imagen">\n <input type="text" v-model="content.edit.img" placeholder="Escribe el enlace a la imagen del personaje." />\n </campo-foro>\n </li>\n <li>\n <campo-foro data-name="Perfil">\n <input type="text" v-model="content.edit.url" placeholder="Escribe el enlace al perfil del personaje." />\n </campo-foro>\n </li>\n <li>\n <campo-foro data-name="Facción">\n <div class="select-container">\n <select v-model="content.edit.color">\n <option value="-1" hidden>Selecciona la facción del personaje.</option>\n <option value="azul">Imperio Galáctico</option>\n <option value="rojo">Remanente Purista</option>\n <option value="naranja">Autoridad del Sector Corporativo</option>\n <option value="verde">Cártel</option>\n <option value="turquesa">Nueva Rebelión</option>\n <option value="amarillo">Neutral</option>\n </select>\n </div>\n </campo-foro>\n </li>\n </ul>\n <h4 class="mt-5">Descripción</h4>\n <ul class="forum-fieldlist no-style">\n <li class="has-no-label">\n <campo-foro data-name="Descripción">\n <textarea v-model="content.edit.desc" placeholder="Escribe la descripción del personaje."></textarea>\n </campo-foro>\n </li>\n </ul>\n </template>\n <template slot="controls" v-if="!oneCheck.length && finalCheck">\n <controles-modal>\n <button class="button1 btn-main" v-on:click="pushElement()" title="Guardar entrada">Guardar</button>\n </controles-modal>\n </template>\n </template>\n </modal-foro>\n ' }), Vue.component("gestor-relaciones", { data: function () { return { render: 0, modal: { type: "new", status: !1 }, users: [], state: { page: 0, pagination: 0 }, entry: {}, content: { edit: [], current: [] } } }, computed: { sortedContent: function () { return JSON.parse(JSON.stringify(this.content.edit)).sort((t, e) => t.name < e.name ? -1 : t.name > e.name ? 1 : 0) }, paginationContent: function () { const t = parseInt(forumConfig.skinOptions.paginationDefault / 2) + 1, e = Math.floor((this.sortedContent.length - 1) / t) + 1; let n = []; for (let t = 0; t < e; t++)n.push(t); return this.forceRerender(), { pages: n, content: this.sortedContent.slice(this.state.pagination * t, (this.state.pagination + 1) * t) } }, finalCheck: function () { return JSON.stringify(this.content.current) !== JSON.stringify(this.content.edit) } }, methods: { forceRerender: function () { this.render += 1 }, setEntry: function () { this.entry = { type: !1, color: -1, url: "", img: "", name: "", desc: "" } }, addEntry: function (t) { t.preventDefault(), this.modal.status = !0 }, save: function (t) { t.preventDefault(), this.state.page = 2; const e = this.sortedContent.map(t => (void 0 !== t.position && delete t.position, t)); FNR.user.profile.setData([{ name: forumConfig.profileUser.relaField, type: "textarea", value: JSON.stringify(e).replace(/"/g, "`") }]).then(t => { t ? (FNR.html.genNotification("Atención", "Información actualizada sin inconvenientes.", "fas fa-check"), setTimeout(() => { window.location.reload() }, 2e3)) : FNR.html.genNotification("Atención", "Hubo un problema al actualizar. Dale otro intento.", "fas fa-exclamation") }) } }, created() { FNR.user.profile.getData([{ name: forumConfig.profileUser.relaField, type: "textarea" }]).then(t => { const e = FNR.utility.genArray(t[0].value).map((t, e) => { let n = t; return n.position = e, n }); this.content.edit = e, this.content.current = JSON.parse(JSON.stringify(e)), FNR.forum.getMembers().then(t => { this.setEntry(), this.users = t, this.state.page = 1 }) }) }, template: '\n <section id="forum-relationships" class="wiki-content is-dramatic">\n <div class="is-content">\n <h2>Relaciones</h2>\n <hr />\n <p>En esta página podrás editar las relaciones de tu personaje. Experimenta con su funcionamiento, es bastante intuitivo.</p>\n </div>\n <separador-foro />\n <template v-if="state.page === 0">\n <cargando-foro data-text="Cargando utilidad…"></cargando-foro>\n </template>\n <template v-else-if="state.page === 1">\n <modal-relaciones v-if="modal.status" :data-type="modal.type" :data-element="entry"></modal-relaciones>\n <mando-foro data-id="upper-controls" data-app="true">\n <template slot="pagination" v-if="paginationContent.pages.length > 1">\n <a class="page-action" title="Ir a la página anterior" v-if="state.pagination > 0" v-on:click="state.pagination -= 1">\n <i class="fas fa-chevron-left"></i>\n </a>\n <template v-for="page in paginationContent.pages">\n <strong v-if="page === state.pagination">{{ page + 1 }}</strong>\n <a class="page-link" :title="\'Ir a la página «\' + (page + 1) + \'»\'" v-else v-on:click="state.pagination = page">{{ page + 1 }}</a>\n </template>\n <a class="page-action" title="Ir a la página siguiente" v-if="(state.pagination + 1) < paginationContent.pages.length" v-on:click="state.pagination += 1">\n <i class="fas fa-chevron-right"></i>\n </a>\n </template>\n <template slot="controls">\n <li v-on:click="addEntry($event)">\n <boton-foro data-url="#" data-name="Añadir" data-icon="fas fa-plus"></boton-foro>\n </li>\n <li v-if="finalCheck" v-on:click="save($event)">\n <boton-foro data-url="#" data-name="Guardar" data-icon="fas fa-save" data-type="no-name"></boton-foro>\n </li>\n </template>\n </mando-foro>\n <ul id="forum-rplist" class="no-style" :key="render">\n <template v-if="!paginationContent.content.length">\n <li class="is-not-lastpost not-status">\n <h6>No hay entradas en tus relaciones</h6>\n </li>\n </template>\n <template v-else v-for="character in paginationContent.content">\n <elemento-relaciones :data-element="character" data-type="manager" :data-id="character.position" />\n </template>\n </ul>\n <mando-foro data-id="lower-controls" data-app="true">\n <template slot="pagination" v-if="paginationContent.pages.length > 1">\n <a class="page-action" title="Ir a la página anterior" v-if="state.pagination > 0" v-on:click="state.pagination -= 1">\n <i class="fas fa-chevron-left"></i>\n </a>\n <template v-for="page in paginationContent.pages">\n <strong v-if="page === state.pagination">{{ page + 1 }}</strong>\n <a class="page-link" :title="\'Ir a la página «\' + (page + 1) + \'»\'" v-else v-on:click="state.pagination = page">{{ page + 1 }}</a>\n </template>\n <a class="page-action" title="Ir a la página siguiente" v-if="(state.pagination + 1) < paginationContent.pages.length" v-on:click="state.pagination += 1">\n <i class="fas fa-chevron-right"></i>\n </a>\n </template>\n <template slot="controls">\n <li v-on:click="addEntry($event)">\n <boton-foro data-url="#" data-name="Añadir" data-icon="fas fa-plus"></boton-foro>\n </li>\n <li v-if="finalCheck" v-on:click="save($event)">\n <boton-foro data-url="#" data-name="Guardar" data-icon="fas fa-save" data-type="no-name"></boton-foro>\n </li>\n </template>\n </mando-foro>\n </template>\n <template v-else-if="state.page === 2">\n <cargando-foro data-text="Actualizando información…"></cargando-foro>\n </template>\n </section>\n ' }), Vue.component("elemento-relaciones", { props: ["dataElement", "dataType", "dataId"], data: function () { return { profileName: forumConfig.profileOptions.profileName || "perfil", content: this.dataElement } }, computed: { realClass: function () { return "rela-list usergroup-" + this.content.color } }, methods: { deleteElement: function () { this.$parent.content.edit.splice(this.$parent.content.edit.map(t => t.position).indexOf(this.dataId), 1), 0 === this.$parent.paginationContent.content.length && 0 !== this.$parent.state.pagination && (this.$parent.state.pagination -= 1), this.$parent.forceRerender() }, editElement: function () { this.$parent.modal.type = "edit", this.$parent.entry = this.content, this.$parent.modal.status = !0 } }, template: '\n <li :class="realClass">\n <template v-if="dataType === \'manager\'">\n <a class="rela-element rela-manager">\n <div class="rela-image" :style="\'background-image: url(\' + content.img + \')\'"></div>\n <div class="rela-content">\n <div class="rela-title">\n <h4>{{ content.name }}</h4>\n <div class="rp-controls"><span v-on:click="editElement()" title="Editar entrada">Editar</span> / <span v-on:click="deleteElement()" title="Eliminar entrada">Eliminar</span></div>\n </div>\n <div class="small-text is-content" :inner-html.prop="content.desc | turn-br"></div>\n </div>\n </a>\n </template>\n <template v-else-if="dataType === \'profile\'">\n <template v-if="content.type">\n <a class="rela-element" :href="content.url" target="_blank" :title="\'Ir al \' + profileName + \' de «\' + content.name + \'»\'">\n <div class="rela-image" :style="\'background-image: url(\' + content.img + \')\'"></div>\n <div class="rela-content">\n <div class="rela-title">\n <h4>{{ content.name }}</h4>\n </div>\n <div class="small-text is-content" :inner-html.prop="content.desc | turn-br"></div>\n </div>\n </a>\n </template>\n <template v-else>\n <a class="rela-element">\n <div class="rela-image" :style="\'background-image: url(\' + content.img + \')\'"></div>\n <div class="rela-content">\n <div class="rela-title">\n <h4>{{ content.name }}</h4>\n </div>\n <div class="small-text is-content" :inner-html.prop="content.desc | turn-br"></div>\n </div>\n </a>\n </template>\n </template>\n </li>\n ' });
1
+ Vue.component("modal-relaciones", { props: ["dataElement", "dataType"], data() { return { state: { modal: !1 }, info: { users: this.$parent.users, user: "", people: [] }, content: { edit: JSON.parse(JSON.stringify(this.dataElement)), current: this.dataElement } } }, computed: { modalTitle() { return "new" === this.dataType ? "Nueva entrada" : "edit" === this.dataType ? "Editar entrada" : void 0 }, oneCheck() { let t = ""; return Object.keys(this.content.edit).length ? (this.content.edit.name.length < 3 && (t += "<li>Escribe el nombre del personaje.</li>"), -1 === this.content.edit.color && (t += "<li>Selecciona una facción para el personaje.</li>"), -1 === this.content.edit.url.indexOf("/u") && (t += "<li>Escribe el enlace al perfil del personaje.</li>"), this.content.edit.img.match(/(jpg|jpeg|png)$/i) || (t += "<li>Escribe el enlace a la imagen del personaje (debe ser de 190x190).</li>"), this.content.edit.desc.length < 151 && (t += "<li>Escribe una descripción lo suficientemente larga (150 carácteres al menos).</li>"), t) : t }, finalCheck() { return JSON.stringify(this.content.current) !== JSON.stringify(this.content.edit) }, sortedCharacters() { return Object.keys(this.content.edit).length ? this.info.users.filter(t => -1 === this.info.people.indexOf(t.user)).filter(t => t.user.toLowerCase().indexOf(this.content.edit.name.toLowerCase()) > -1) : this.$parent.users.map(t => t.user) } }, methods: { modalClose() { this.$parent.modal.type = "new", this.$parent.modal.status = !1, this.$parent.setEntry() }, addCharacter: function (t) { this.content.edit.type = !0, this.content.edit.name = t.user, this.content.edit.img = t.img, this.content.edit.color = t.color, this.content.edit.url = t.id }, updateData() { const t = JSON.parse(JSON.stringify(this.info.users)).filter(t => t.user === this.content.current.name)[0]; this.content.edit.img = t.img }, pushElement() { "edit" === this.$parent.modal.type && this.$parent.content.edit.splice(this.$parent.content.edit.map(t => t.position).indexOf(this.content.current.position), 1); let t = this.content.edit; "new" === this.$parent.modal.type && (t.position = this.$parent.content.edit.length), this.$parent.content.edit.push(t), this.modalClose() } }, template: '\n <modal-foro :data-title="modalTitle" v-on:modal-close="modalClose()">\n <template v-if="content.edit.type">\n <template slot="content">\n <aviso-foro v-show="oneCheck.length">\n <ul v-html="oneCheck"></ul>\n </aviso-foro>\n <ul class="forum-fieldlist no-style">\n <li>\n <campo-foro data-name="Nombre">\n <div class="character-selector">\n <input type="text" v-model="content.edit.name" placeholder="Escribe el nombre del personaje." disabled />\n <a class="character-custom" v-on:click="updateData()" :title="\'Actualizar avatar de «\' + content.current.name + \'»\'">\n <i class="fas fa-redo-alt"></i>\n </a>\n </div>\n </campo-foro>\n </li>\n </ul>\n <h4 class="mt-5">Descripción</h4>\n <ul class="forum-fieldlist no-style">\n <li class="has-no-label">\n <campo-foro data-name="Descripción">\n <textarea v-model="content.edit.desc" placeholder="Escribe la descripción del personaje."></textarea>\n </campo-foro>\n </li>\n </ul>\n </template>\n <template slot="controls" v-if="!oneCheck.length && finalCheck">\n <controles-modal>\n <button class="button1 btn-main" v-on:click="pushElement()" title="Guardar entrada">Guardar</button>\n </controles-modal>\n </template>\n </template>\n <template v-else>\n <template slot="content">\n <aviso-foro v-show="oneCheck.length">\n <ul v-html="oneCheck"></ul>\n </aviso-foro>\n <ul class="forum-fieldlist no-style">\n <li>\n <campo-foro data-name="Nombre">\n <div class="character-selector"> \n <input type="text" v-model="content.edit.name" placeholder="Escribe el nombre del personaje." />\n <ul class="no-style selector-list" v-if="sortedCharacters.length > 0">\n <li v-for="(character, index) in sortedCharacters" v-on:click="addCharacter(character)" :title="\'Seleccionar \' + character.user">{{ character.user }}<i class="fas fa-plus"></i></li>\n </ul>\n </div>\n </campo-foro>\n </li>\n <li>\n <campo-foro data-name="Imagen">\n <input type="text" v-model="content.edit.img" placeholder="Escribe el enlace a la imagen del personaje." />\n </campo-foro>\n </li>\n <li>\n <campo-foro data-name="Perfil">\n <input type="text" v-model="content.edit.url" placeholder="Escribe el enlace al perfil del personaje." />\n </campo-foro>\n </li>\n <li>\n <campo-foro data-name="Facción">\n <div class="select-container">\n <select v-model="content.edit.color">\n <option value="-1" hidden>Selecciona la facción del personaje.</option>\n <option value="azul">Imperio Galáctico</option>\n <option value="rojo">Remanente Purista</option>\n <option value="naranja">Autoridad del Sector Corporativo</option>\n <option value="verde">Cártel</option>\n <option value="turquesa">Nueva Rebelión</option>\n <option value="amarillo">Neutral</option>\n </select>\n </div>\n </campo-foro>\n </li>\n </ul>\n <h4 class="mt-5">Descripción</h4>\n <ul class="forum-fieldlist no-style">\n <li class="has-no-label">\n <campo-foro data-name="Descripción">\n <textarea v-model="content.edit.desc" placeholder="Escribe la descripción del personaje."></textarea>\n </campo-foro>\n </li>\n </ul>\n </template>\n <template slot="controls" v-if="!oneCheck.length && finalCheck">\n <controles-modal>\n <button class="button1 btn-main" v-on:click="pushElement()" title="Guardar entrada">Guardar</button>\n </controles-modal>\n </template>\n </template>\n </modal-foro>\n ' }), Vue.component("gestor-relaciones", { data() { return { render: 0, modal: { type: "new", status: !1 }, users: [], state: { page: 0, pagination: 0 }, entry: {}, content: { edit: [], current: [] } } }, computed: { sortedContent() { return JSON.parse(JSON.stringify(this.content.edit)).sort((t, e) => t.name < e.name ? -1 : t.name > e.name ? 1 : 0) }, paginationContent() { const t = parseInt(forumConfig.skinOptions.paginationDefault / 2) + 1, e = Math.floor((this.sortedContent.length - 1) / t) + 1; let n = []; for (let t = 0; t < e; t++)n.push(t); return this.forceRerender(), { pages: n, content: this.sortedContent.slice(this.state.pagination * t, (this.state.pagination + 1) * t) } }, finalCheck() { return JSON.stringify(this.content.current) !== JSON.stringify(this.content.edit) } }, methods: { forceRerender() { this.render += 1 }, setEntry() { this.entry = { type: !1, color: -1, url: "", img: "", name: "", desc: "" } }, addEntry: function (t) { t.preventDefault(), this.modal.status = !0 }, save: function (t) { t.preventDefault(), this.state.page = 2; const e = this.sortedContent.map(t => (void 0 !== t.position && delete t.position, t)); FNR.user.profile.setData([{ name: forumConfig.profileUser.relaField, type: "textarea", value: JSON.stringify(e).replace(/"/g, "`") }]).then(t => { t ? (FNR.html.genNotification("Atención", "Información actualizada sin inconvenientes.", "fas fa-check"), setTimeout(() => { window.location.reload() }, 2e3)) : FNR.html.genNotification("Atención", "Hubo un problema al actualizar. Dale otro intento.", "fas fa-exclamation") }) } }, created() { FNR.user.profile.getData([{ name: forumConfig.profileUser.relaField, type: "textarea" }]).then(t => { const e = FNR.utility.genArray(t[0].value).map((t, e) => { let n = t; return n.position = e, n }); this.content.edit = e, this.content.current = JSON.parse(JSON.stringify(e)), FNR.forum.getMembers().then(t => { this.setEntry(), this.users = t, this.state.page = 1 }) }) }, template: '\n <section id="forum-relationships" class="wiki-content is-dramatic">\n <div class="is-content">\n <h2>Relaciones</h2>\n <hr />\n <p>En esta página podrás editar las relaciones de tu personaje. Experimenta con su funcionamiento, es bastante intuitivo.</p>\n </div>\n <separador-foro />\n <template v-if="state.page === 0">\n <cargando-foro data-text="Cargando utilidad…"></cargando-foro>\n </template>\n <template v-else-if="state.page === 1">\n <modal-relaciones v-if="modal.status" :data-type="modal.type" :data-element="entry"></modal-relaciones>\n <mando-foro data-id="upper-controls" data-app="true">\n <template slot="pagination" v-if="paginationContent.pages.length > 1">\n <a class="page-action" title="Ir a la página anterior" v-if="state.pagination > 0" v-on:click="state.pagination -= 1">\n <i class="fas fa-chevron-left"></i>\n </a>\n <template v-for="page in paginationContent.pages">\n <strong v-if="page === state.pagination">{{ page + 1 }}</strong>\n <a class="page-link" :title="\'Ir a la página «\' + (page + 1) + \'»\'" v-else v-on:click="state.pagination = page">{{ page + 1 }}</a>\n </template>\n <a class="page-action" title="Ir a la página siguiente" v-if="(state.pagination + 1) < paginationContent.pages.length" v-on:click="state.pagination += 1">\n <i class="fas fa-chevron-right"></i>\n </a>\n </template>\n <template slot="controls">\n <li v-on:click="addEntry($event)">\n <boton-foro data-url="#" data-name="Añadir" data-icon="fas fa-plus"></boton-foro>\n </li>\n <li v-if="finalCheck" v-on:click="save($event)">\n <boton-foro data-url="#" data-name="Guardar" data-icon="fas fa-save" data-type="no-name"></boton-foro>\n </li>\n </template>\n </mando-foro>\n <ul id="forum-rplist" class="no-style" :key="render">\n <template v-if="!paginationContent.content.length">\n <li class="is-not-lastpost not-status">\n <h6>No hay entradas en tus relaciones</h6>\n </li>\n </template>\n <template v-else v-for="character in paginationContent.content">\n <elemento-relaciones :data-element="character" data-type="manager" :data-id="character.position" />\n </template>\n </ul>\n <mando-foro data-id="lower-controls" data-app="true">\n <template slot="pagination" v-if="paginationContent.pages.length > 1">\n <a class="page-action" title="Ir a la página anterior" v-if="state.pagination > 0" v-on:click="state.pagination -= 1">\n <i class="fas fa-chevron-left"></i>\n </a>\n <template v-for="page in paginationContent.pages">\n <strong v-if="page === state.pagination">{{ page + 1 }}</strong>\n <a class="page-link" :title="\'Ir a la página «\' + (page + 1) + \'»\'" v-else v-on:click="state.pagination = page">{{ page + 1 }}</a>\n </template>\n <a class="page-action" title="Ir a la página siguiente" v-if="(state.pagination + 1) < paginationContent.pages.length" v-on:click="state.pagination += 1">\n <i class="fas fa-chevron-right"></i>\n </a>\n </template>\n <template slot="controls">\n <li v-on:click="addEntry($event)">\n <boton-foro data-url="#" data-name="Añadir" data-icon="fas fa-plus"></boton-foro>\n </li>\n <li v-if="finalCheck" v-on:click="save($event)">\n <boton-foro data-url="#" data-name="Guardar" data-icon="fas fa-save" data-type="no-name"></boton-foro>\n </li>\n </template>\n </mando-foro>\n </template>\n <template v-else-if="state.page === 2">\n <cargando-foro data-text="Actualizando información…"></cargando-foro>\n </template>\n </section>\n ' }), Vue.component("elemento-relaciones", { props: ["dataElement", "dataType", "dataId"], data() { return { profileName: forumConfig.profileOptions.profileName || "perfil", content: this.dataElement } }, computed: { realClass() { return "rela-list usergroup-" + this.content.color } }, methods: { deleteElement() { this.$parent.content.edit.splice(this.$parent.content.edit.map(t => t.position).indexOf(this.dataId), 1), 0 === this.$parent.paginationContent.content.length && 0 !== this.$parent.state.pagination && (this.$parent.state.pagination -= 1), this.$parent.forceRerender() }, editElement() { this.$parent.modal.type = "edit", this.$parent.entry = this.content, this.$parent.modal.status = !0 } }, template: '\n <li :class="realClass">\n <template v-if="dataType === \'manager\'">\n <a class="rela-element rela-manager">\n <div class="rela-image" :style="\'background-image: url(\' + content.img + \')\'"></div>\n <div class="rela-content">\n <div class="rela-title">\n <h4>{{ content.name }}</h4>\n <div class="rp-controls"><span v-on:click="editElement()" title="Editar entrada">Editar</span> / <span v-on:click="deleteElement()" title="Eliminar entrada">Eliminar</span></div>\n </div>\n <div class="small-text is-content" :inner-html.prop="content.desc | turn-br"></div>\n </div>\n </a>\n </template>\n <template v-else-if="dataType === \'profile\'">\n <template v-if="content.type">\n <a class="rela-element" :href="content.url" target="_blank" :title="\'Ir al \' + profileName + \' de «\' + content.name + \'»\'">\n <div class="rela-image" :style="\'background-image: url(\' + content.img + \')\'"></div>\n <div class="rela-content">\n <div class="rela-title">\n <h4>{{ content.name }}</h4>\n </div>\n <div class="small-text is-content" :inner-html.prop="content.desc | turn-br"></div>\n </div>\n </a>\n </template>\n <template v-else>\n <a class="rela-element">\n <div class="rela-image" :style="\'background-image: url(\' + content.img + \')\'"></div>\n <div class="rela-content">\n <div class="rela-title">\n <h4>{{ content.name }}</h4>\n </div>\n <div class="small-text is-content" :inner-html.prop="content.desc | turn-br"></div>\n </div>\n </a>\n </template>\n </template>\n </li>\n ' });
@@ -2,7 +2,7 @@
2
2
  Vue.component('categoria-foro', {
3
3
  props: ['dataId'],
4
4
  computed: {
5
- slugName: function () {
5
+ slugName() {
6
6
  const name = (this.dataId.indexOf('<h2>') > -1 ? FNR.utility.genSlug(this.dataId.split('<h2>')[1].split('</h2>')[0], '-') : FNR.utility.genSlug(this.dataId, '-'));
7
7
 
8
8
  return 'category-' + name;
@@ -16,7 +16,7 @@ Vue.component('categoria-foro', {
16
16
  });
17
17
 
18
18
  Vue.component('cabecera-foro', {
19
- data: function () {
19
+ data() {
20
20
  return {
21
21
  dataTitle: this.$slots['title'][0].tag === undefined ? this.$slots['title'][0].text : this.$slots['title'][0].children[0].text
22
22
  }
@@ -29,7 +29,7 @@ Vue.component('cabecera-foro', {
29
29
  });
30
30
 
31
31
  Vue.component('cabcategoria-foro', {
32
- data: function () {
32
+ data() {
33
33
  return {
34
34
  dataTitle: this.$slots['title'][0].tag === undefined ? this.$slots['title'][0].text : this.$slots['title'][0].children[0].text
35
35
  }
@@ -42,7 +42,7 @@ Vue.component('cabcategoria-foro', {
42
42
  });
43
43
 
44
44
  Vue.component('cabespecial-foro', {
45
- data: function () {
45
+ data() {
46
46
  return {
47
47
  dataTitle: this.$slots['title'][0].tag === undefined ? this.$slots['title'][0].text : this.$slots['title'][0].children[0].text
48
48
  }
@@ -57,7 +57,7 @@ Vue.component('cabespecial-foro', {
57
57
  Vue.component('subforo-foro', {
58
58
  props: ['dataId'],
59
59
  computed: {
60
- slugId: function () {
60
+ slugId() {
61
61
  let id = '';
62
62
 
63
63
  if (window.location.pathname.match(/f(\d+)-/)) {
@@ -68,7 +68,7 @@ Vue.component('subforo-foro', {
68
68
 
69
69
  return 'subforum-' + id;
70
70
  },
71
- slugName: function () {
71
+ slugName() {
72
72
  const name = (this.dataId.indexOf('<h2>') > -1 ? FNR.utility.genSlug(this.dataId.split('<h2>')[1].split('</h2>')[0], '-') : FNR.utility.genSlug(this.dataId, '-'));
73
73
 
74
74
  return 'subforum-' + name;
@@ -83,7 +83,7 @@ Vue.component('subforo-foro', {
83
83
 
84
84
  Vue.component('lista-temas-cabecera', {
85
85
  props: ['dataElements'],
86
- data: function () {
86
+ data() {
87
87
  return {
88
88
  elementos: JSON.parse(this.dataElements.replace(/'/g, '"'))
89
89
  }
@@ -99,7 +99,7 @@ Vue.component('lista-temas-cabecera', {
99
99
 
100
100
  Vue.component('tema-foro', {
101
101
  computed: {
102
- slugId: function () {
102
+ slugId() {
103
103
  let id = '';
104
104
 
105
105
  if (window.location.pathname.match(/t(\d+)-/)) {
@@ -110,7 +110,7 @@ Vue.component('tema-foro', {
110
110
 
111
111
  return 'topic-' + id;
112
112
  },
113
- slugName: function () {
113
+ slugName() {
114
114
  const name = FNR.utility.genSlug((this.$slots['title'][0].tag === undefined ? this.$slots['title'][0].text : this.$slots['title'][0].children[0].text), '-');
115
115
 
116
116
  return 'topic-' + name;
@@ -125,13 +125,13 @@ Vue.component('tema-foro', {
125
125
 
126
126
  Vue.component('mando-foro', {
127
127
  props: ['dataId', 'dataApp'],
128
- data: function () {
128
+ data() {
129
129
  return {
130
130
  children: 0
131
131
  }
132
132
  },
133
133
  computed: {
134
- isStatusClass: function () {
134
+ isStatusClass() {
135
135
  if (this.children > 0) return 'forum-controls';
136
136
  else return 'forum-controls not-show';
137
137
  }
@@ -170,7 +170,7 @@ Vue.component('titulo-especial', {
170
170
  Vue.component('cuerpo-widget', {
171
171
  props: ['dataClass'],
172
172
  computed: {
173
- currentClass: function () {
173
+ currentClass() {
174
174
  if (this.dataClass === undefined) return 'plank-inner';
175
175
  else return 'plank-inner' + ' ' + this.dataClass;
176
176
  }
@@ -186,7 +186,7 @@ Vue.component('cuerpo-widget', {
186
186
 
187
187
  Vue.component('separador-foro', {
188
188
  props: ['dataFaction'],
189
- data: function () {
189
+ data() {
190
190
  return {
191
191
  image: forumDefaults.separator
192
192
  }
@@ -200,13 +200,13 @@ Vue.component('separador-foro', {
200
200
 
201
201
  Vue.component('tema-ref', {
202
202
  props: ['dataInfo'],
203
- data: function () {
203
+ data() {
204
204
  return {
205
205
  profileName: forumConfig.profileOptions.profileName || 'perfil'
206
206
  }
207
207
  },
208
208
  computed: {
209
- userColor: function () {
209
+ userColor() {
210
210
  return 'color: ' + this.dataInfo.lastpost.who.color;
211
211
  }
212
212
  },
@@ -244,14 +244,14 @@ Vue.component('campo-foro', {
244
244
  Vue.component('boton-foro', {
245
245
  props: ['dataUrl', 'dataName', 'dataIcon', 'dataType', 'dataInput'],
246
246
  computed: {
247
- realClass: function () {
247
+ realClass() {
248
248
  if (this.dataInput === 'true') return 'forum-button is-input';
249
249
  else return 'forum-button';
250
250
  },
251
- realName: function () {
251
+ realName() {
252
252
  return 'text' + (this.dataType === 'no-name' ? ' is-hidden-touch' : '');
253
253
  },
254
- realUrl: function () {
254
+ realUrl() {
255
255
  if (this.dataInput === 'true') return 'javascript:{}';
256
256
  else return this.dataUrl;
257
257
  }
@@ -297,7 +297,7 @@ Vue.component('aviso-foro', {
297
297
  });
298
298
 
299
299
  Vue.component('afiliaciones-foro', {
300
- data: function () {
300
+ data() {
301
301
  return {
302
302
  afis: {}
303
303
  }
@@ -314,7 +314,7 @@ Vue.component('afiliaciones-foro', {
314
314
 
315
315
  /* Navbar del foro */
316
316
  Vue.component('controles-foro', {
317
- data: function () {
317
+ data() {
318
318
  return {
319
319
  maPage: 0,
320
320
  userName: _userdata.username,
@@ -327,12 +327,12 @@ Vue.component('controles-foro', {
327
327
  };
328
328
  },
329
329
  computed: {
330
- isActiveClass: function () {
330
+ isActiveClass() {
331
331
  return 'has-bg' + ((this.isActive) ? ' visible' : ' not-visible');
332
332
  }
333
333
  },
334
334
  methods: {
335
- turnActive: function () {
335
+ turnActive() {
336
336
  this.isActive = (this.isActive) ? false : true;
337
337
  }
338
338
  },
@@ -378,7 +378,7 @@ Vue.component('controles-foro', {
378
378
 
379
379
  Vue.component('navbar-foro', {
380
380
  props: ['dataUsername', 'dataUserlevel', 'dataUserid', 'dataUserlog', 'dataUsermp', 'dataUserout'],
381
- data: function () {
381
+ data() {
382
382
  return {
383
383
  profileName: forumConfig.profileOptions.profileName || 'perfil',
384
384
  items: forumContent.navbar,
@@ -391,20 +391,20 @@ Vue.component('navbar-foro', {
391
391
  }
392
392
  },
393
393
  computed: {
394
- isStatusClass: function () {
394
+ isStatusClass() {
395
395
  return ((this.dataUserlog === 1) ? 'is-logged' : 'is-unlogged') + ((this.dataUserlevel === 1) ? ' is-admin' : ' is-user')
396
396
  },
397
- mpText: function () {
397
+ mpText() {
398
398
  return 'Mensajería' + ((this.dataUsermp !== 0) ? ' (' + this.dataUsermp + ')' : '')
399
399
  },
400
- links: function () {
400
+ links() {
401
401
  return forumContent.links.filter((item) => {
402
402
  return item.icon !== undefined;
403
403
  });
404
404
  }
405
405
  },
406
406
  methods: {
407
- changeAccount: function () {
407
+ changeAccount() {
408
408
  this.$parent.maPage = 1;
409
409
 
410
410
  FNR.user.changeAccount(this.dataUserout, this.multiAccount.accounts[this.multiAccount.position].name, this.multiAccount.accounts[this.multiAccount.position].password).then((r) => {
@@ -532,7 +532,7 @@ Vue.component('navbar-foro', {
532
532
 
533
533
  /* Widgets del foro */
534
534
  Vue.component('links-ayuda', {
535
- data: function () {
535
+ data() {
536
536
  return {
537
537
  links: forumContent.links
538
538
  }
@@ -545,7 +545,7 @@ Vue.component('links-ayuda', {
545
545
  });
546
546
 
547
547
  Vue.component('links-anuncios', {
548
- data: function () {
548
+ data() {
549
549
  return {
550
550
  announcements: forumContent.announcements
551
551
  }
@@ -561,7 +561,7 @@ Vue.component('links-anuncios', {
561
561
  });
562
562
 
563
563
  Vue.component('links-staff', {
564
- data: function () {
564
+ data() {
565
565
  return {
566
566
  staff: forumContent.staff
567
567
  }
@@ -574,7 +574,7 @@ Vue.component('links-staff', {
574
574
  });
575
575
 
576
576
  Vue.component('sabias-que', {
577
- data: function () {
577
+ data() {
578
578
  return {
579
579
  content: {}
580
580
  }
@@ -594,7 +594,7 @@ Vue.component('sabias-que', {
594
594
  });
595
595
 
596
596
  Vue.component('busquedas', {
597
- data: function () {
597
+ data() {
598
598
  return {
599
599
  content: {}
600
600
  }
@@ -630,7 +630,7 @@ Vue.component('note-info', {
630
630
  Vue.component('redirect', {
631
631
  props: ['dataTo'],
632
632
  computed: {
633
- currentStatus: function () {
633
+ currentStatus() {
634
634
  if (window.location.pathname.match(/t(\d+)-/)) return true;
635
635
  else return false;
636
636
  }
@@ -689,7 +689,7 @@ Vue.component('wiki-index-items-d', {
689
689
 
690
690
  Vue.component('wiki-index', {
691
691
  computed: {
692
- indexContent: function () {
692
+ indexContent() {
693
693
  const getChildren = (name) => {
694
694
  return filtered.filter((item) => {
695
695
  return item.component.page_parent === name;
@@ -780,7 +780,7 @@ Vue.component('wiki-contenido', {
780
780
 
781
781
  Vue.component('wiki-nav', {
782
782
  computed: {
783
- more: function () {
783
+ more() {
784
784
  return routes.filter((item) => {
785
785
  return item.component
786
786
  }).filter((item) => {
@@ -789,7 +789,7 @@ Vue.component('wiki-nav', {
789
789
  })[0].component.page_parent
790
790
  }).length > 1;
791
791
  },
792
- nav: function () {
792
+ nav() {
793
793
  const list = routes.filter((item) => {
794
794
  return item.component
795
795
  }).filter((item) => {
@@ -820,7 +820,7 @@ Vue.component('wiki-nav', {
820
820
  Vue.component('wiki-children', {
821
821
  props: ['dataName', 'dataCategory'],
822
822
  computed: {
823
- nav: function () {
823
+ nav() {
824
824
  return routes.filter((item) => {
825
825
  return item.component
826
826
  }).filter((item) => {
@@ -840,7 +840,7 @@ Vue.component('wiki-children', {
840
840
  Vue.component('modal-foro', {
841
841
  props: ['dataTitle'],
842
842
  methods: {
843
- modalClose: function () {
843
+ modalClose() {
844
844
  this.$parent.state.modal = false;
845
845
  this.$emit('modal-close');
846
846
  }
@@ -876,7 +876,7 @@ Vue.component('controles-modal', {
876
876
 
877
877
  /* Expediente */
878
878
  Vue.component('expediente-usuario', {
879
- data: function () {
879
+ data() {
880
880
  return {
881
881
  info: {
882
882
  name: _userdata.username,
@@ -888,16 +888,16 @@ Vue.component('expediente-usuario', {
888
888
  }
889
889
  },
890
890
  computed: {
891
- userRank: function () {
891
+ userRank() {
892
892
  return this.profile.fields[forumConfig.profileOptions.profileRank].content;
893
893
  },
894
- userCite: function () {
894
+ userCite() {
895
895
  return this.profile.fields[forumConfig.profileOptions.profileCite].content
896
896
  },
897
- userCover: function () {
897
+ userCover() {
898
898
  return this.profile.fields[forumConfig.profileOptions.profileCover].content
899
899
  },
900
- usableMiniFields: function () {
900
+ usableMiniFields() {
901
901
  if (this.config.miniFields === undefined || !this.config.miniFields.length) return [];
902
902
  else return Object.entries(this.profile.fields).filter((item) => {
903
903
  return this.config.miniFields.indexOf(item[0]) > -1;
@@ -921,7 +921,7 @@ Vue.component('expediente-usuario', {
921
921
  };
922
922
  });
923
923
  },
924
- usableBigFields: function () {
924
+ usableBigFields() {
925
925
  if (this.config.mainFields === undefined || !Object.keys(this.config.mainFields).length) return [];
926
926
  else return Object.entries(this.profile.fields).filter((item) => {
927
927
  return Object.keys(this.config.mainFields).indexOf(item[0]) > -1;
@@ -947,7 +947,7 @@ Vue.component('expediente-usuario', {
947
947
  };
948
948
  });
949
949
  },
950
- lengthBigFields: function () {
950
+ lengthBigFields() {
951
951
  let length = 0;
952
952
 
953
953
  this.usableBigFields.map((item) => {
@@ -958,7 +958,7 @@ Vue.component('expediente-usuario', {
958
958
 
959
959
  return length;
960
960
  },
961
- usableExtraFields: function () {
961
+ usableExtraFields() {
962
962
  if (this.config.extraFields === undefined || !this.config.extraFields.length) return [];
963
963
  else return Object.entries(this.profile.fields).filter((item) => {
964
964
  return this.config.extraFields.indexOf(item[0]) > -1;
@@ -982,7 +982,7 @@ Vue.component('expediente-usuario', {
982
982
  };
983
983
  });
984
984
  },
985
- lengthExtraFields: function () {
985
+ lengthExtraFields() {
986
986
  let length = 0;
987
987
 
988
988
  this.usableExtraFields.map((item) => {
@@ -993,7 +993,7 @@ Vue.component('expediente-usuario', {
993
993
 
994
994
  return length;
995
995
  },
996
- usableLinkFields: function () {
996
+ usableLinkFields() {
997
997
  if (this.profile.contact.length) return [];
998
998
  else return Object.entries(this.profile.contact).filter((item) => {
999
999
  return item[1].label !== 'Mensaje Privado';
@@ -1007,15 +1007,15 @@ Vue.component('expediente-usuario', {
1007
1007
  }
1008
1008
  });
1009
1009
  },
1010
- chronologyField: function () {
1010
+ chronologyField() {
1011
1011
  if (this.config.cronoField === undefined || !this.config.cronoField.length) return [];
1012
1012
  else return FNR.utility.genArray(this.profile.fields[FNR.utility.genSlug(this.config.cronoField, '_')].content);
1013
1013
  },
1014
- relationshipsField: function () {
1014
+ relationshipsField() {
1015
1015
  if (this.config.relaField === undefined || !this.config.relaField.length) return [];
1016
1016
  else return FNR.utility.genArray(this.profile.fields[FNR.utility.genSlug(this.config.relaField, '_')].content);
1017
1017
  },
1018
- lengthHistoryFields: function () {
1018
+ lengthHistoryFields() {
1019
1019
  let length = 0;
1020
1020
 
1021
1021
  length += this.chronologyField.length;
@@ -1023,7 +1023,7 @@ Vue.component('expediente-usuario', {
1023
1023
 
1024
1024
  return length;
1025
1025
  },
1026
- currentClass: function () {
1026
+ currentClass() {
1027
1027
  return 'usergroup-' + this.profile.colour
1028
1028
  }
1029
1029
  },
@@ -1181,7 +1181,7 @@ Vue.component('expediente-usuario', {
1181
1181
  Vue.component('cuerpo-principal', {
1182
1182
  props: ['dataTitle'],
1183
1183
  computed: {
1184
- title: function () {
1184
+ title() {
1185
1185
  if (typeof this.dataTitle === 'undefined') return '';
1186
1186
  else return this.dataTitle;
1187
1187
  }
@@ -1199,7 +1199,7 @@ Vue.component('cuerpo-principal', {
1199
1199
  Vue.component('cuerpo-interior', {
1200
1200
  props: ['dataTitle'],
1201
1201
  computed: {
1202
- title: function () {
1202
+ title() {
1203
1203
  if (typeof this.dataTitle === 'undefined') return '';
1204
1204
  else return this.dataTitle;
1205
1205
  }
@@ -1217,7 +1217,7 @@ Vue.component('cuerpo-interior', {
1217
1217
  Vue.component('cuerpo-lista', {
1218
1218
  props: ['dataTitle'],
1219
1219
  computed: {
1220
- title: function () {
1220
+ title() {
1221
1221
  if (typeof this.dataTitle === 'undefined') return '';
1222
1222
  else return this.dataTitle;
1223
1223
  }
@@ -38,7 +38,7 @@ const topbar = new Vue({
38
38
  if (document.querySelector('#forum-wiki:not(.is-not-vue)')) {
39
39
  const wiki = new Vue({
40
40
  router,
41
- updated: function () {
41
+ updated() {
42
42
  this.$nextTick(function () {
43
43
  FNR.behaviour.genWiki();
44
44
  });