import { computed, makeObservable } from 'mobx'; import { ELEMENT_NAME } from '../constants' import { Element } from '../element' export class UserElement extends Element { // eslint-disable-next-line @typescript-eslint/no-explicit-any constructor(...args: any) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore: this is fine super(...args); makeObservable(this, { initials: computed, }) } static get TYPE() { return 'Person' } static get ATTRIBUTES() { return { ...Element.ATTRIBUTES, DEFAULT_MAP_LISTING: '', DEFAULT_MAP_LAYERS: '', CENTER: '', OPERATION: '', CONTRACTOR: '', } } get initials() { return this.getAttributeTextValue(ELEMENT_NAME) .split(' ') .map((n) => n[0]) .join('') } }