UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

43 lines (42 loc) 2.21 kB
import { Field } from '../../../../model/fields/field'; import { Pair } from '@devexpress/utils/lib/class/pair'; import { NumberMapUtils } from '@devexpress/utils/lib/utils/map/number'; import { BaseFormatter, StdProps } from '../base-formatter'; export class CCF_Field extends BaseFormatter { isHandleObject(obj) { return obj instanceof Field; } getShortDescription(_config) { const list = [ new Pair("", this.curr.index + ":"), new Pair("", this.curr.showCode ? "showCode" : "showRes"), new Pair("", `${this.curr.getFieldStartPosition()}[${this.curr.getSeparatorPosition()}|]${this.curr.getFieldEndPosition()}`) ]; if (this.curr.isHyperlinkField()) list.push(new Pair("", "hyperl")); return this.stdShow(new StdProps(list).showAsLine()); } availableFullDescription(_config) { return true; } getFullDescription(_config) { const list = [new Pair("index", this.curr.index)]; if (this.curr.parent) list.push(new Pair("parentInd", this.curr.parent.index)); list.push(new Pair("isShowCode", this.curr.showCode)); if (this.curr.isHyperlinkField()) { const hypInfo = this.curr.getHyperlinkInfo(); list.push(new Pair("anchor", hypInfo.anchor)); list.push(new Pair("tip", hypInfo.tip)); list.push(new Pair("uri", hypInfo.uri)); list.push(new Pair("visited", hypInfo.visited)); } list.push(new Pair("intervals", `(${this.curr.getFieldStartPosition()})[code(${this.curr.getSeparatorPosition()})|result](${this.curr.getFieldEndPosition()})`)); list.push(new Pair("text", `[${this.getSubDocument().getText(this.curr.getCodeInterval())}|${this.getSubDocument().getText(this.curr.getResultInterval())}]`)); return this.stdShow(new StdProps(list).showAsColumn()); } getSubDocument() { return NumberMapUtils.elementBy(this.model.subDocuments, (subD) => subD.fields[this.curr.index] ? subD.fields[this.curr.index] === this.curr : null); } } CCF_Field._foo = BaseFormatter.addToFormattersList(new CCF_Field());