@omegagrid/grid-core 0.10.86 → 0.10.88

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.
@@ -1 +1 @@
1
- {"version":3,"file":"cellModel.js","sourceRoot":"","sources":["../../src/model/cellModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentAdapter, dates, numbers, utils, ValueFormatter } from \"@omegagrid/core\";\nimport { isFormula, prefixFormula } from \"../calculations/formula\";\nimport { CellRange } from \"../common\";\n// import { cellTypeRendererMap } from \"../renderers\";\nimport { ColumnModel } from \"./columnModel\";\nimport { ElementModel, ElementSource } from \"./elementModel\";\nimport { GridModel } from \"./gridModel\";\nimport { RowModel } from \"./rowModel\";\nimport { Style, StylePropertyKey } from \"./style\";\nimport { CSSStyle, styleToCSStyle } from \"./cssStyle\";\nimport { CellSerializationOptions, CellType } from \"../types\";\nimport { CommentSource } from \"./commentModel\";\nimport { validateValue } from \"./validations\";\n\n/** Source object type for grid cell */\nexport type CellSource = {\n\t/** row index */\n\tr: number;\n\t/** col index */\n\tc: number;\n\t/** cell value */\n\tv?: unknown;\n\t/** cell display value */\n\tdv?: string;\n\t/** cell column span */\n\tcs?: number;\n\t/** cell row span */\n\trs?: number;\n\t/** hyperlink */\n\thl?: string;\n\t/** cell tooltip content */\n\ttooltip?: string|unknown;\n\t/** comment */\n\tcomment?: CommentSource;\n} & ElementSource;\n\nconst cellValueHandler: Record<string, (v: unknown, cell: CellModel) => unknown> = {\n\t['n']: (v) => {\n\t\tconst value = utils.isString(v) ? parseFloat((v as string).replace(',', '.')) : v;\n\t\treturn Number.isNaN(value) ? v : value;\n\t},\n\t['t']: (v) => v,\n\t['d']: (v, cell) => {\n\t\tif (v == null || v === '') return null;\n\t\tif (utils.isString(v)) {\n\t\t\ttry {\n\t\t\t\treturn utils.isNumericString(v as string)\n\t\t\t\t\t? utils.strToNum(v as string)\n\t\t\t\t\t: dates.dateToSerialDate(dates.parse(v as string, cell.model.options.formatLocale));\n\t\t\t} catch (error) {\n\t\t\t\tcell.model.logger.error(`Invalid date value in cell ${cell.address}: ${v}`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\tif (v instanceof Date) return dates.dateToSerialDate(v);\n\t\treturn v;\n\t},\n\t// TODO: unfinnished implementation of time and datetime\n\t['tm']: (v) => utils.isString(v) ? new Date(v as string) : v,\n\t['dt']: (v) => utils.isString(v) ? new Date(v as string) : v,\n\t['b']: (v) => !!v && v !== '0' && v.toString().toLowerCase() !== 'false',\n\t['s']: (v) => v,\n\t['m']: (v) => v,\n\t['g']: (v) => {\n\t\tif (v == null || v === '') return null;\n\t\tconst f = parseFloat((v as string).toString().replace(',', '.'));\n\t\treturn isNaN(f) ? v : f;\n\t},\n\t['a']: (v) => utils.isString(v) && v !== '' ? JSON.parse(v as string) : v,\n\t['h']: (v) => v,\n};\n\nconst dropdownFormatters = new Map<{k: string, v: string}[], ValueFormatter<string>>();\nconst getDropdownFormatter = (content?: { k: string, v: string }[]) => {\n\tcontent = content || null;\n\tif (!dropdownFormatters.has(content)) {\n\t\tif (content) {\n\t\t\tconst items = content.reduce((map, e) => map.set(e.k, e.v), new Map<string, string>());\n\t\t\tdropdownFormatters.set(content, (k: string) => items.has(k) ? items.get(k) : k);\n\t\t} else {\n\t\t\tdropdownFormatters.set(content, (k: string) => k);\n\t\t}\n\t}\n\treturn dropdownFormatters.get(content);\n};\n\nexport type CellError = {\n\tmessage: string;\n\thandled?: boolean;\n}\n\nexport class CellModel extends ElementModel {\n\n\tpublic _content: HTMLDivElement;\n\n\tprivate _tooltip: string|unknown;\n\tget tooltip() { return this._tooltip }\n\tset tooltip(v: string|unknown) { this._tooltip = v }\n\tget hasTooltip() { return this._tooltip != null }\n\n\tget merge() { return this.model.merges.mergedCells.get(this.address) }\n\n\tprivate _row: RowModel;\n\tget row() { return this._row }\n\tset row(v: RowModel) { this._row = v }\n\tget r() { return this._row.index}\n\n\tprivate _column: ColumnModel;\n\tget column() { return this._column }\n\tset column(v: ColumnModel) { this._column = v }\n\tget c() { return this._column.index }\n\n\tprivate _value: unknown;\n\tprivate _evaluated = true;\n\tget hasValue() { return this._value != null }\n\tget value() {\n\t\tif (!this._evaluated) this.evaluate();\n\t\treturn this._value\n\t}\n\tset value(v: unknown) {\n\t\tif (v && isFormula(v.toString())) {\n\t\t\tthis._value = undefined;\n\t\t\tthis.formula = v as string;\n\t\t} else {\n\t\t\tlet value = cellValueHandler[this.type](v, this);\n\n\t\t\tif (!validateValue(this, value)) value = undefined;\n\n\t\t\tif (value !== this._value) {\n\t\t\t\tthis._value = value;\n\t\t\t\tthis._displayValue = undefined;\n\t\t\t}\n\n\t\t\tif (this.row.data && this.column.data) {\n\t\t\t\tthis.row.data[this.column.data] = this._value;\n\t\t\t}\n\t\t}\n\t}\n\tevaluate() {\n\t\tthis._value = cellValueHandler[this.type](this.model.calculations.evaluate(this), this);\n\t\tthis._evaluated = true;\n\t\treturn this._value;\n\t}\n\n\tget value2() { return this.hasFormula ? prefixFormula(this.formula) : this.value }\n\n\tprivate _displayValue: string;\n\tget hasDisplayValue() { return this._displayValue != null }\n\tget displayValue() { return this._displayValue }\n\tset displayValue(v: string) { this._displayValue = v }\n\n\t/* tells if cell has type that prefers usage of display value */\n\tget prefersDisplayValue() { return ['s', 'm'].includes(this.type) }\n\n\tprivate _error: CellError;\n\tget error() { return this._error }\n\tset error(v: CellError) { this._error = v }\n\tget hasError() { return !!this._error }\n\tclearError() { this._error = undefined }\n\n\tprivate _spillRange: CellRange;\n\tprivate _prevSpillRange: CellRange;\n\tget spillRange() { return this._spillRange }\n\tget prevSpillRange() { return this._prevSpillRange }\n\tset spillRange(v: CellRange) {\n\t\tif (this._spillRange && (!v || !this._spillRange.equals(v))) {\n\t\t\tthis._prevSpillRange = this._spillRange;\n\t\t}\n\t\tthis._spillRange = v;\n\t}\n\tget isSpillSource() { return this._spillRange != null }\n\n\tprivate _spillSource: CellModel;\n\tget spillSource() { return this._spillSource }\n\tget isSpilled() { return this._spillSource != null }\n\tspillValue(v: unknown, source?: CellModel) {\n\t\tthis.value = v;\n\t\tthis._spillSource = source;\n\t}\n\tclearSpilledValue() {\n\t\tthis._spillSource = undefined;\n\t\tthis._value = undefined;\n\t}\n\n\tprivate _sparkline: boolean = null;\n\tget hasSparkline() {\n\t\treturn this._sparkline === null ? (this._sparkline = this.model.sparklines.has(this.address)) : this._sparkline;\n\t}\n\n\tprivate _hasComment?: boolean = null;\n\tget hasComment() {\n\t\treturn this._hasComment === null ? (\n\t\t\tthis._hasComment = (this.model.comments.get(this.address) ?? []).length > 0\n\t\t) : this._hasComment;\n\t}\n\tget comments() { return this.model.comments.get(this.address) }\n\n\tprivate _composedStyle: Style;\n\tprivate _cssStyle: CSSStyle;\n\tprivate _hasStyle?: boolean = null;\n\n\tget valueFormatter(): ValueFormatter<unknown> {\n\t\tconst formatter = super.valueFormatter ?? this.row.valueFormatter ?? this.column.valueFormatter;\n\t\tif (formatter) return formatter;\n\n\t\tconst type = this.type;\n\t\tconst format = this.format;\n\t\tconst { formatLocale, fixNumberFormat } = this.model.options;\n\t\tconst v = this.value;\n\n\t\tif (v == null || v === '') { // TODO: maybe allow DropdownFormatter for v === ''\n\t\t\treturn null;\n\t\t} else if (type == 'n') {\n\t\t\tif (format != null) return numbers.getNumberFormatter(formatLocale, format, fixNumberFormat);\n\t\t\telse return this.model.options.numberFormatter;\n\t\t} else if (type == 'g') {\n\t\t\tif (format != null) return numbers.getNumberFormatter(formatLocale, format, fixNumberFormat);\n\t\t\telse if (utils.isNumber(v)) return this.model.options.numberFormatter;\n\t\t} else if (type == 't') {\n\t\t\treturn format == null ? null : numbers.getNumberFormatter(formatLocale, format, false);\n\t\t} else if (type == 'd') {\n\t\t\treturn format ? dates.getDateFormatter(formatLocale, format) : this.model.options.dateFormatter;\n\t\t} else if (type == 's' && this.editorContent) {\n\t\t\treturn getDropdownFormatter(this.editorContent as {k: string, v: string}[]);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget formattedValue(): string {\n\t\tif (this.value == null) return '';\n\t\tif (this.hasDisplayValue) return this.displayValue;\n\t\treturn this.valueFormatter ? this.valueFormatter(this.value) : this.value.toString();\n\t}\n\n\tprivate get elm1() { return this.row.priority >= this.column.priority ? this.row : this.column }\n\tprivate get elm2() { return this.row.priority < this.column.priority ? this.row : this.column }\n\n\tget clickable() { return super.clickable ?? this.elm1.clickable ?? this.elm2.clickable }\n\tget type() { return super.type ?? this.elm1.type ?? this.elm2.type ?? 'g' }\n\tset type(value: CellType) { this._type = value }\n\tget editorContent() { return super.editorContent ?? this.elm1.editorContent ?? this.elm2.editorContent ?? null }\n\tget adapter() { return super.adapter ?? this.elm1.adapter ?? this.elm2.adapter }\n\tset adapter(value: ComponentAdapter) { this._adapter = value }\n\n\tget address() { return this.column.address + this.row.address }\n\tget range() { return CellRange.fromA1(this.address) }\n\tget validation() { return super.validation ?? this.elm1.validation ?? this.elm2.validation ?? this.model.options.cellValidation }\n\tget editable() { return super.editable ?? this.elm1.editable ?? this.elm2.editable ?? this.model.options.editable }\n\tset editable(v: boolean) { this._editable = v }\n\tget commentable() { return super.commentable ?? this.elm1.commentable ?? this.elm2.commentable ?? this.model.options.commentable }\n\tget renderer() { return super.renderer ?? this.elm1.renderer ?? this.elm2.renderer }\n\tget afterRenderer() { return super.afterRenderer ?? this.elm1.afterRenderer ?? this.elm2.afterRenderer ?? this.model.options.afterRenderer }\n\tget commentRenderer() { return super.commentRenderer ?? this.elm1.commentRenderer ?? this.elm2.commentRenderer ?? this.model.options.comments.renderer }\n\tget editorFactory() { return super.editorFactory ?? this.elm1.editorFactory ?? this.elm2.editorFactory }\n\tget format() { return super.format ?? this.elm1.format ?? this.elm2.format }\n\tset format(v: numbers.NumberFormatString) { super.format = v }\n\n\tprivate _hyperlink : string;\n\tget hyperlink() { return this._hyperlink }\n\tset hyperlink(v: string) { this._hyperlink = v }\n\n\tprivate _hasFormula: boolean;\n\n\tget hasOwnFormula() { return !!this._formula }\n\tget hasFormula() {\n\t\tif (this._hasFormula == null) this._hasFormula = !!this.formula;\n\t\treturn this._hasFormula;\n\t}\n\tget formula() { return this._formula ?? this.elm1.formula ?? this.elm2.formula }\n\tset formula(v: string) {\n\t\tsuper.formula = v;\n\t\tthis.refreshFormula();\n\t}\n\n\tgetProperty(key: string) { return super.getProperty(key) ?? this.elm1.getProperty(key) ?? this.elm2.getProperty(key) }\n\n\tinvalidateValue() {\n\t\tif (this.hasFormula) {\n\t\t\tthis._value = undefined;\n\t\t\tthis._evaluated = false;\n\t\t} else {\n\t\t\tthis._evaluated = true;\n\t\t}\n\t\tthis.clearError();\n\t}\n\n\trefreshFormula() {\n\t\tthis.invalidateValue();\n\t\tthis._hasFormula = null;\n\t}\n\n\tclearFormula() {\n\t\tthis._formula = null;\n\t\tthis._hasFormula = false;\n\t\tthis._evaluated = true;\n\t}\n\n\tconstructor(model: GridModel, source: CellSource) {\n\t\tsuper(model);\n\t\tthis.row = model.rows[source.r];\n\t\tthis.column = model.columns[source.c];\n\t\tthis.populate(source);\n\t}\n\n\tpopulate(source: CellSource) {\n\t\tsuper.populate(source);\n\t\tthis._tooltip = source.tooltip;\n\t\tthis._hyperlink = source.hl;\n\t\tif (source.f != null && source.f !== '') this._evaluated = false;\n\t\telse if (source.v != null) this.value = source.v; // load static value only if no formula is present\n\t\tthis._displayValue = source.dv; // display value must be set after value\n\t}\n\n\tupdate(source: Partial<CellSource>) {\n\t\tconst updatedProps = super.update(source) as CellSource;\n\t\tif ('tooltip' in source) { updatedProps.tooltip = this._tooltip; this._tooltip = source.tooltip; }\n\t\tif ('hl' in source) { updatedProps.hl = this._hyperlink; this._hyperlink = source.hl; }\n\t\tif ('f' in source) { this._evaluated = false; }\n\t\telse if ('v' in source) { updatedProps.v = this.value; this.value = source.v; }\n\t\tif ('dv' in source) { updatedProps.dv = this._displayValue; this._displayValue = source.dv; }\n\t\treturn updatedProps;\n\t}\n\n\tgetSourceData(options?: CellSerializationOptions) : CellSource {\n\t\tconst data = super.getSourceData() as CellSource;\n\n\t\tif (this.merge) {\n\t\t\tdata.cs = this.merge.cs;\n\t\t\tdata.rs = this.merge.rs;\n\t\t}\n\n\t\tif (this.value != null) data.v = this.value;\n\t\tif (this.hasTooltip) data.tooltip = this._tooltip;\n\t\tif (this._hyperlink) data.hl = this._hyperlink;\n\n\t\tif (options) {\n\t\t\tif (options.displayValue && this.hasDisplayValue) data.dv = this._displayValue;\n\t\t}\n\n\t\treturn data;\n\t}\n\n\tprivate createComposedStyle(columnStyle?: Style|number, rowStyle?: Style|number, extraStyle?: Style) {\n\t\tconst styles: (number|Style)[] = [];\n\n\t\tcolumnStyle = columnStyle || this.column.style;\n\t\trowStyle = rowStyle || this.row.style;\n\t\tif (columnStyle != null && rowStyle != null) {\n\t\t\tif (this.column.priority > this.row.priority) {\n\t\t\t\tstyles.push(rowStyle, columnStyle);\n\t\t\t} else {\n\t\t\t\tstyles.push(columnStyle, rowStyle);\n\t\t\t}\n\t\t}\n\t\telse if (columnStyle != null) styles.push(columnStyle);\n\t\telse if (rowStyle != null) styles.push(rowStyle);\n\n\t\tif (this.style != null) styles.push(this.style);\n\t\tif (extraStyle != null) styles.push(extraStyle);\n\n\t\treturn styles.length > 0 ? this.model.styles.merge(...styles) : null;\n\t}\n\n\tget composedStyle() : Style {\n\t\tif (this._hasStyle === null) {\n\t\t\tconst s = this.createComposedStyle(null, null, this.model.conditionalFormats.evaluate(this));\n\t\t\tthis._hasStyle = s != null;\n\t\t\tthis._composedStyle = s;\n\t\t}\n\t\treturn this._composedStyle;\n\t}\n\n\tget calculatedIndent(): number|null {\n\t\tconst s = this.composedStyle;\n\t\tif (s?.alignment?.indent) return s.alignment.indent;\n\n\t\t// calculates cell text indent based on row level\n\t\tif (this.column.levelIndent && this.row.level > 0) {\n\t\t\treturn this.row.level * this.model.options.levelIndentFactor;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget cssStyle() : CSSStyle {\n\t\tif (this._hasStyle === false) return null;\n\t\tif (!this._cssStyle) {\n\t\t\tconst composedStyle = this.composedStyle;\n\t\t\tif (composedStyle) {\n\t\t\t\tthis._cssStyle = styleToCSStyle(composedStyle);\n\t\t\t}\n\t\t}\n\t\treturn this._cssStyle;\n\t}\n\n\tinvalidateStyle() {\n\t\tthis._hasComment = null;\n\t\tthis._hasStyle = null;\n\t\tthis._composedStyle = null;\n\t\tthis._cssStyle = null;\n\t\tthis._sparkline = null;\n\t}\n\n\tsetStyleProperties(props: Record<StylePropertyKey, unknown>) {\n\t\tsuper.setStyleProperties(props);\n\t\tthis.invalidateStyle();\n\t}\n\n\tremoveStyleProperties(props: string[]) {\n\t\tsuper.removeStyleProperties(props);\n\t\tthis.invalidateStyle();\n\t}\n\n\tpreviewStyleProperties(\n\t\tprops: Record<StylePropertyKey, unknown>,\n\t\ttype: 'cell'|'column'|'row' = 'cell'\n\t) {\n\t\tconst composedStyle = Object.assign({}, this.createComposedStyle(type == 'column' ? props : null, type == 'row' ? props : null) ?? {});\n\n\t\tif (type == 'cell') {\n\t\t\tfor (const k in props) composedStyle[k] = props[k];\n\t\t}\n\t\tthis._hasStyle = true;\n\t\tthis._cssStyle = styleToCSStyle(composedStyle);\n\t}\n\n\tvalidate() {\n\t\tif (!this.validation) return true;\n\t\treturn validateValue(this, this.value);\n\t}\n\n\ttoString() { return this.address }\n\n}\n"]}
1
+ {"version":3,"file":"cellModel.js","sourceRoot":"","sources":["../../src/model/cellModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentAdapter, dates, numbers, utils, ValueFormatter } from \"@omegagrid/core\";\nimport { addQuotePrefix, isFormula, prefixFormula } from \"../calculations/formula\";\nimport { CellRange } from \"../common\";\n// import { cellTypeRendererMap } from \"../renderers\";\nimport { ColumnModel } from \"./columnModel\";\nimport { ElementModel, ElementSource } from \"./elementModel\";\nimport { GridModel } from \"./gridModel\";\nimport { RowModel } from \"./rowModel\";\nimport { Style, StylePropertyKey } from \"./style\";\nimport { CSSStyle, styleToCSStyle } from \"./cssStyle\";\nimport { CellSerializationOptions, CellType } from \"../types\";\nimport { CommentSource } from \"./commentModel\";\nimport { validateValue } from \"./validations\";\n\n/** Source object type for grid cell */\nexport type CellSource = {\n\t/** row index */\n\tr: number;\n\t/** col index */\n\tc: number;\n\t/** cell value */\n\tv?: unknown;\n\t/** cell display value */\n\tdv?: string;\n\t/** quote prefix, the value is kept as a plain text */\n\tqp?: boolean;\n\t/** cell column span */\n\tcs?: number;\n\t/** cell row span */\n\trs?: number;\n\t/** hyperlink */\n\thl?: string;\n\t/** cell tooltip content */\n\ttooltip?: string|unknown;\n\t/** comment */\n\tcomment?: CommentSource;\n} & ElementSource;\n\nconst cellValueHandler: Record<string, (v: unknown, cell: CellModel) => unknown> = {\n\t['n']: (v) => {\n\t\tconst value = utils.isString(v) ? parseFloat((v as string).replace(',', '.')) : v;\n\t\treturn Number.isNaN(value) ? v : value;\n\t},\n\t['t']: (v) => v,\n\t['d']: (v, cell) => {\n\t\tif (v == null || v === '') return null;\n\t\tif (utils.isString(v)) {\n\t\t\ttry {\n\t\t\t\treturn utils.isNumericString(v as string)\n\t\t\t\t\t? utils.strToNum(v as string)\n\t\t\t\t\t: dates.dateToSerialDate(dates.parse(v as string, cell.model.options.formatLocale));\n\t\t\t} catch (error) {\n\t\t\t\tcell.model.logger.error(`Invalid date value in cell ${cell.address}: ${v}`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\tif (v instanceof Date) return dates.dateToSerialDate(v);\n\t\treturn v;\n\t},\n\t// TODO: unfinnished implementation of time and datetime\n\t['tm']: (v) => utils.isString(v) ? new Date(v as string) : v,\n\t['dt']: (v) => utils.isString(v) ? new Date(v as string) : v,\n\t['b']: (v) => !!v && v !== '0' && v.toString().toLowerCase() !== 'false',\n\t['s']: (v) => v,\n\t['m']: (v) => v,\n\t['g']: (v) => {\n\t\tif (v == null || v === '') return null;\n\t\tconst f = parseFloat((v as string).toString().replace(',', '.'));\n\t\treturn isNaN(f) ? v : f;\n\t},\n\t['a']: (v) => utils.isString(v) && v !== '' ? JSON.parse(v as string) : v,\n\t['h']: (v) => v,\n};\n\n/** cell types whose values are not entered as a free text, the quote prefix has no meaning for them */\nconst nonQuotePrefixTypes: CellType[] = ['b', 's', 'm', 'a'];\n\nconst dropdownFormatters = new Map<{k: string, v: string}[], ValueFormatter<string>>();\nconst getDropdownFormatter = (content?: { k: string, v: string }[]) => {\n\tcontent = content || null;\n\tif (!dropdownFormatters.has(content)) {\n\t\tif (content) {\n\t\t\tconst items = content.reduce((map, e) => map.set(e.k, e.v), new Map<string, string>());\n\t\t\tdropdownFormatters.set(content, (k: string) => items.has(k) ? items.get(k) : k);\n\t\t} else {\n\t\t\tdropdownFormatters.set(content, (k: string) => k);\n\t\t}\n\t}\n\treturn dropdownFormatters.get(content);\n};\n\nexport type CellError = {\n\tmessage: string;\n\thandled?: boolean;\n}\n\nexport class CellModel extends ElementModel {\n\n\tpublic _content: HTMLDivElement;\n\n\tprivate _tooltip: string|unknown;\n\tget tooltip() { return this._tooltip }\n\tset tooltip(v: string|unknown) { this._tooltip = v }\n\tget hasTooltip() { return this._tooltip != null }\n\n\tget merge() { return this.model.merges.mergedCells.get(this.address) }\n\n\tprivate _row: RowModel;\n\tget row() { return this._row }\n\tset row(v: RowModel) { this._row = v }\n\tget r() { return this._row.index}\n\n\tprivate _column: ColumnModel;\n\tget column() { return this._column }\n\tset column(v: ColumnModel) { this._column = v }\n\tget c() { return this._column.index }\n\n\tprivate _quotePrefix = false;\n\t/** tells if the cell value is kept as a plain text, see CellSource.qp */\n\tget quotePrefix() { return this._quotePrefix }\n\tset quotePrefix(v: boolean) { this._quotePrefix = !!v }\n\t/** tells if the entered value of the cell can be prefixed by the quote prefix */\n\tget quotePrefixable() { return !nonQuotePrefixTypes.includes(this.type) }\n\n\tprivate _value: unknown;\n\tprivate _evaluated = true;\n\tget hasValue() { return this._value != null }\n\tget value() {\n\t\tif (!this._evaluated) this.evaluate();\n\t\treturn this._value\n\t}\n\tset value(v: unknown) {\n\t\tif (v && !this._quotePrefix && this.model.formulasEnabled && isFormula(v.toString())) {\n\t\t\tthis._value = undefined;\n\t\t\tthis.formula = v as string;\n\t\t} else {\n\t\t\tlet value = this._quotePrefix && v != null ? v.toString() : cellValueHandler[this.type](v, this);\n\n\t\t\tif (!validateValue(this, value)) value = undefined;\n\n\t\t\tif (value !== this._value) {\n\t\t\t\tthis._value = value;\n\t\t\t\tthis._displayValue = undefined;\n\t\t\t}\n\n\t\t\tif (this.row.data && this.column.data) {\n\t\t\t\tthis.row.data[this.column.data] = this._value;\n\t\t\t}\n\t\t}\n\t}\n\tevaluate() {\n\t\tthis._value = cellValueHandler[this.type](this.model.calculations.evaluate(this), this);\n\t\tthis._evaluated = true;\n\t\treturn this._value;\n\t}\n\n\tget value2() {\n\t\tif (this.hasFormula) return prefixFormula(this.formula);\n\t\treturn this._quotePrefix && this.hasValue ? addQuotePrefix(this.value) : this.value;\n\t}\n\n\tprivate _displayValue: string;\n\tget hasDisplayValue() { return this._displayValue != null }\n\tget displayValue() { return this._displayValue }\n\tset displayValue(v: string) { this._displayValue = v }\n\n\t/* tells if cell has type that prefers usage of display value */\n\tget prefersDisplayValue() { return ['s', 'm'].includes(this.type) }\n\n\tprivate _error: CellError;\n\tget error() { return this._error }\n\tset error(v: CellError) { this._error = v }\n\tget hasError() { return !!this._error }\n\tclearError() { this._error = undefined }\n\n\tprivate _spillRange: CellRange;\n\tprivate _prevSpillRange: CellRange;\n\tget spillRange() { return this._spillRange }\n\tget prevSpillRange() { return this._prevSpillRange }\n\tset spillRange(v: CellRange) {\n\t\tif (this._spillRange && (!v || !this._spillRange.equals(v))) {\n\t\t\tthis._prevSpillRange = this._spillRange;\n\t\t}\n\t\tthis._spillRange = v;\n\t}\n\tget isSpillSource() { return this._spillRange != null }\n\n\tprivate _spillSource: CellModel;\n\tget spillSource() { return this._spillSource }\n\tget isSpilled() { return this._spillSource != null }\n\tspillValue(v: unknown, source?: CellModel) {\n\t\tthis.value = v;\n\t\tthis._spillSource = source;\n\t}\n\tclearSpilledValue() {\n\t\tthis._spillSource = undefined;\n\t\tthis._value = undefined;\n\t}\n\n\tprivate _sparkline: boolean = null;\n\tget hasSparkline() {\n\t\treturn this._sparkline === null ? (this._sparkline = this.model.sparklines.has(this.address)) : this._sparkline;\n\t}\n\n\tprivate _hasComment?: boolean = null;\n\tget hasComment() {\n\t\treturn this._hasComment === null ? (\n\t\t\tthis._hasComment = (this.model.comments.get(this.address) ?? []).length > 0\n\t\t) : this._hasComment;\n\t}\n\tget comments() { return this.model.comments.get(this.address) }\n\n\tprivate _composedStyle: Style;\n\tprivate _cssStyle: CSSStyle;\n\tprivate _hasStyle?: boolean = null;\n\n\tget valueFormatter(): ValueFormatter<unknown> {\n\t\tconst formatter = super.valueFormatter ?? this.row.valueFormatter ?? this.column.valueFormatter;\n\t\tif (formatter) return formatter;\n\n\t\tconst type = this.type;\n\t\tconst format = this.format;\n\t\tconst { formatLocale, fixNumberFormat } = this.model.options;\n\t\tconst v = this.value;\n\n\t\tif (v == null || v === '') { // TODO: maybe allow DropdownFormatter for v === ''\n\t\t\treturn null;\n\t\t} else if (type == 'n') {\n\t\t\tif (format != null) return numbers.getNumberFormatter(formatLocale, format, fixNumberFormat);\n\t\t\telse return this.model.options.numberFormatter;\n\t\t} else if (type == 'g') {\n\t\t\tif (format != null) return numbers.getNumberFormatter(formatLocale, format, fixNumberFormat);\n\t\t\telse if (utils.isNumber(v)) return this.model.options.numberFormatter;\n\t\t} else if (type == 't') {\n\t\t\treturn format == null ? null : numbers.getNumberFormatter(formatLocale, format, false);\n\t\t} else if (type == 'd') {\n\t\t\treturn format ? dates.getDateFormatter(formatLocale, format) : this.model.options.dateFormatter;\n\t\t} else if (type == 's' && this.editorContent) {\n\t\t\treturn getDropdownFormatter(this.editorContent as {k: string, v: string}[]);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget formattedValue(): string {\n\t\tif (this.value == null) return '';\n\t\tif (this.hasDisplayValue) return this.displayValue;\n\t\tif (this._quotePrefix) return this.value.toString();\n\t\treturn this.valueFormatter ? this.valueFormatter(this.value) : this.value.toString();\n\t}\n\n\tprivate get elm1() { return this.row.priority >= this.column.priority ? this.row : this.column }\n\tprivate get elm2() { return this.row.priority < this.column.priority ? this.row : this.column }\n\n\tget clickable() { return super.clickable ?? this.elm1.clickable ?? this.elm2.clickable }\n\tget type() { return super.type ?? this.elm1.type ?? this.elm2.type ?? 'g' }\n\tset type(value: CellType) { this._type = value }\n\tget editorContent() { return super.editorContent ?? this.elm1.editorContent ?? this.elm2.editorContent ?? null }\n\tget adapter() { return super.adapter ?? this.elm1.adapter ?? this.elm2.adapter }\n\tset adapter(value: ComponentAdapter) { this._adapter = value }\n\n\tget address() { return this.column.address + this.row.address }\n\tget range() { return CellRange.fromA1(this.address) }\n\tget validation() { return super.validation ?? this.elm1.validation ?? this.elm2.validation ?? this.model.options.cellValidation }\n\tget editable() { return super.editable ?? this.elm1.editable ?? this.elm2.editable ?? this.model.options.editable }\n\tset editable(v: boolean) { this._editable = v }\n\tget commentable() { return super.commentable ?? this.elm1.commentable ?? this.elm2.commentable ?? this.model.options.commentable }\n\tget renderer() { return super.renderer ?? this.elm1.renderer ?? this.elm2.renderer }\n\tget afterRenderer() { return super.afterRenderer ?? this.elm1.afterRenderer ?? this.elm2.afterRenderer ?? this.model.options.afterRenderer }\n\tget commentRenderer() { return super.commentRenderer ?? this.elm1.commentRenderer ?? this.elm2.commentRenderer ?? this.model.options.comments.renderer }\n\tget editorFactory() { return super.editorFactory ?? this.elm1.editorFactory ?? this.elm2.editorFactory }\n\tget format() { return super.format ?? this.elm1.format ?? this.elm2.format }\n\tset format(v: numbers.NumberFormatString) { super.format = v }\n\n\tprivate _hyperlink : string;\n\tget hyperlink() { return this._hyperlink }\n\tset hyperlink(v: string) { this._hyperlink = v }\n\n\tprivate _hasFormula: boolean;\n\n\tget hasOwnFormula() { return !!this._formula }\n\tget hasFormula() {\n\t\tif (this._hasFormula == null) this._hasFormula = !!this.formula;\n\t\treturn this._hasFormula;\n\t}\n\tget formula() { return this._formula ?? this.elm1.formula ?? this.elm2.formula }\n\tset formula(v: string) {\n\t\tsuper.formula = v;\n\t\tthis.refreshFormula();\n\t}\n\n\tgetProperty(key: string) { return super.getProperty(key) ?? this.elm1.getProperty(key) ?? this.elm2.getProperty(key) }\n\n\tinvalidateValue() {\n\t\tif (this.hasFormula) {\n\t\t\tthis._value = undefined;\n\t\t\tthis._evaluated = false;\n\t\t} else {\n\t\t\tthis._evaluated = true;\n\t\t}\n\t\tthis.clearError();\n\t}\n\n\trefreshFormula() {\n\t\tthis._hasFormula = null;\n\t\tthis.invalidateValue();\n\t}\n\n\tclearFormula() {\n\t\tthis._formula = null;\n\t\tthis._hasFormula = false;\n\t\tthis._evaluated = true;\n\t}\n\n\tconstructor(model: GridModel, source: CellSource) {\n\t\tsuper(model);\n\t\tthis.row = model.rows[source.r];\n\t\tthis.column = model.columns[source.c];\n\t\tthis.populate(source);\n\t}\n\n\tpopulate(source: CellSource) {\n\t\tsuper.populate(source);\n\t\tthis._tooltip = source.tooltip;\n\t\tthis._hyperlink = source.hl;\n\t\tthis._quotePrefix = !!source.qp; // quote prefix must be set before the value\n\t\tif (this._formula != null && this._formula !== '') this._evaluated = false;\n\t\telse if (source.v != null) this.value = source.v; // load static value only if no formula is present\n\t\tthis._displayValue = source.dv; // display value must be set after value\n\t}\n\n\tupdate(source: Partial<CellSource>) {\n\t\tconst updatedProps = super.update(source) as CellSource;\n\t\tif ('tooltip' in source) { updatedProps.tooltip = this._tooltip; this._tooltip = source.tooltip; }\n\t\tif ('hl' in source) { updatedProps.hl = this._hyperlink; this._hyperlink = source.hl; }\n\t\t// quote prefix must be updated before the value\n\t\tif ('qp' in source) { updatedProps.qp = this._quotePrefix; this._quotePrefix = !!source.qp; }\n\t\tif ('f' in source && this.model.formulasEnabled) { this._evaluated = false; }\n\t\telse if ('v' in source) { updatedProps.v = this.value; this.value = source.v; }\n\t\tif ('dv' in source) { updatedProps.dv = this._displayValue; this._displayValue = source.dv; }\n\t\treturn updatedProps;\n\t}\n\n\tgetSourceData(options?: CellSerializationOptions) : CellSource {\n\t\tconst data = super.getSourceData() as CellSource;\n\n\t\tif (this.merge) {\n\t\t\tdata.cs = this.merge.cs;\n\t\t\tdata.rs = this.merge.rs;\n\t\t}\n\n\t\tif (this.value != null) data.v = this.value;\n\t\tif (this._quotePrefix) data.qp = true;\n\t\tif (this.hasTooltip) data.tooltip = this._tooltip;\n\t\tif (this._hyperlink) data.hl = this._hyperlink;\n\n\t\tif (options) {\n\t\t\tif (options.displayValue && this.hasDisplayValue) data.dv = this._displayValue;\n\t\t}\n\n\t\treturn data;\n\t}\n\n\tprivate createComposedStyle(columnStyle?: Style|number, rowStyle?: Style|number, extraStyle?: Style) {\n\t\tconst styles: (number|Style)[] = [];\n\n\t\tcolumnStyle = columnStyle || this.column.style;\n\t\trowStyle = rowStyle || this.row.style;\n\t\tif (columnStyle != null && rowStyle != null) {\n\t\t\tif (this.column.priority > this.row.priority) {\n\t\t\t\tstyles.push(rowStyle, columnStyle);\n\t\t\t} else {\n\t\t\t\tstyles.push(columnStyle, rowStyle);\n\t\t\t}\n\t\t}\n\t\telse if (columnStyle != null) styles.push(columnStyle);\n\t\telse if (rowStyle != null) styles.push(rowStyle);\n\n\t\tif (this.style != null) styles.push(this.style);\n\t\tif (extraStyle != null) styles.push(extraStyle);\n\n\t\treturn styles.length > 0 ? this.model.styles.merge(...styles) : null;\n\t}\n\n\tget composedStyle() : Style {\n\t\tif (this._hasStyle === null) {\n\t\t\tconst s = this.createComposedStyle(null, null, this.model.conditionalFormats.evaluate(this));\n\t\t\tthis._hasStyle = s != null;\n\t\t\tthis._composedStyle = s;\n\t\t}\n\t\treturn this._composedStyle;\n\t}\n\n\tget calculatedIndent(): number|null {\n\t\tconst s = this.composedStyle;\n\t\tif (s?.alignment?.indent) return s.alignment.indent;\n\n\t\t// calculates cell text indent based on row level\n\t\tif (this.column.levelIndent && this.row.level > 0) {\n\t\t\treturn this.row.level * this.model.options.levelIndentFactor;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tget cssStyle() : CSSStyle {\n\t\tif (this._hasStyle === false) return null;\n\t\tif (!this._cssStyle) {\n\t\t\tconst composedStyle = this.composedStyle;\n\t\t\tif (composedStyle) {\n\t\t\t\tthis._cssStyle = styleToCSStyle(composedStyle);\n\t\t\t}\n\t\t}\n\t\treturn this._cssStyle;\n\t}\n\n\tinvalidateStyle() {\n\t\tthis._hasComment = null;\n\t\tthis._hasStyle = null;\n\t\tthis._composedStyle = null;\n\t\tthis._cssStyle = null;\n\t\tthis._sparkline = null;\n\t}\n\n\tsetStyleProperties(props: Record<StylePropertyKey, unknown>) {\n\t\tsuper.setStyleProperties(props);\n\t\tthis.invalidateStyle();\n\t}\n\n\tremoveStyleProperties(props: string[]) {\n\t\tsuper.removeStyleProperties(props);\n\t\tthis.invalidateStyle();\n\t}\n\n\tpreviewStyleProperties(\n\t\tprops: Record<StylePropertyKey, unknown>,\n\t\ttype: 'cell'|'column'|'row' = 'cell'\n\t) {\n\t\tconst composedStyle = Object.assign({}, this.createComposedStyle(type == 'column' ? props : null, type == 'row' ? props : null) ?? {});\n\n\t\tif (type == 'cell') {\n\t\t\tfor (const k in props) composedStyle[k] = props[k];\n\t\t}\n\t\tthis._hasStyle = true;\n\t\tthis._cssStyle = styleToCSStyle(composedStyle);\n\t}\n\n\tvalidate() {\n\t\tif (!this.validation) return true;\n\t\treturn validateValue(this, this.value);\n\t}\n\n\ttoString() { return this.address }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"elementModel.d.ts","sourceRoot":"","sources":["../../src/model/elementModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementModel.d.ts","sourceRoot":"","sources":["../../src/model/elementModel.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export class ElementModel {
27
27
  set validation(v) { this._validation = v; }
28
28
  get hasFormula() { return !!this._formula; }
29
29
  get formula() { return this._formula; }
30
- set formula(v) { this._formula = v ? v.replace(/^=/, '') : null; }
30
+ set formula(v) { this._formula = v && this.model.formulasEnabled ? v.replace(/^=/, '') : null; }
31
31
  get value2() { return this.hasFormula ? prefixFormula(this.formula) : null; }
32
32
  get editorContent() { return this._editorContent; }
33
33
  set editorContent(v) { this._editorContent = v; }
@@ -67,7 +67,7 @@ export class ElementModel {
67
67
  this._editorContent = source.content;
68
68
  this._adapter = source.adapter;
69
69
  this._format = source.z;
70
- this._formula = source.f;
70
+ this._formula = this.model.formulasEnabled ? source.f : null;
71
71
  this._editable = source.e;
72
72
  this._commentable = source.commentable;
73
73
  this._clickable = source.clickable;
@@ -113,7 +113,7 @@ export class ElementModel {
113
113
  }
114
114
  if ('f' in source) {
115
115
  updatedProps.f = this._formula;
116
- this._formula = source.f;
116
+ this._formula = this.model.formulasEnabled ? source.f : null;
117
117
  }
118
118
  if ('e' in source) {
119
119
  updatedProps.e = this._editable;
@@ -1 +1 @@
1
- {"version":3,"file":"elementModel.js","sourceRoot":"","sources":["../../src/model/elementModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentAdapter, numbers, ValueFormatter, CustomProperties, utils } from \"@omegagrid/core\";\nimport { prefixFormula } from \"../calculations\";\nimport { CellType, CellValidation, CellValidationSource, CommentRenderer, EditorFactory, Renderer, StyleSource } from \"../types\";\nimport { CSSStyle } from \"./cssStyle\";\nimport { GridModel } from \"./gridModel\";\nimport { Style, StylePropertyKey } from \"./style\";\nimport { normalizeCellValidation } from \"./validations\";\n\n/** \n * Source object type for grid element.\n * Common ancestor for ColumnSource, RowSource and CellSource.\n */\nexport type ElementSource = {\n\t/** cell type */\n\tt?: CellType,\n\t/** style */\n\ts?: StyleSource,\n\t/** enable cell editing */\n\te?: boolean,\n\t/** number format */\n\tz?: numbers.NumberFormatString,\n\t/** formula */\n\tf?: string,\n\t/** range name */\n\tname?: string,\n\t/** custom properties */\n\tprops?: CustomProperties,\n\t/** cell editor content */\n\tcontent?: unknown,\n\t/** cell editor adapter */\n\tadapter?: ComponentAdapter,\n\t/** enable cell commenting */\n\tcommentable?: boolean,\n\t/** enable cell clicking */\n\tclickable?: boolean,\n\t/** cell renderer */\n\trenderer?: Renderer,\n\t/** cell renderer applied after initial renderer */\n\tafterRenderer?: Renderer,\n\t/** comment content renderer */\n\tcommentRenderer?: CommentRenderer,\n\t/** cell value validation options */\n\tvalidation?: CellValidationSource,\n\t/** custom cell editor factory */\n\teditorFactory?: EditorFactory\n}\n\nexport class ElementModel {\n\n\tget address(): string { return null }\n\t\n\tprotected _renderer: Renderer;\n\tget renderer() { return this._renderer }\n\tset renderer(renderer: Renderer) { this._renderer = renderer }\n\n\tprotected _afterRenderer: Renderer;\n\tget afterRenderer() { return this._afterRenderer }\n\tset afterRenderer(afterRenderer: Renderer) { this._afterRenderer = afterRenderer }\n\n\tprotected _commentRenderer: CommentRenderer;\n\tget commentRenderer() { return this._commentRenderer }\n\tset commentRenderer(commentRenderer: CommentRenderer) { this._commentRenderer = commentRenderer }\n\n\tprotected _editorFactory: EditorFactory;\n\tget editorFactory() { return this._editorFactory }\n\tset editorFactory(editorFactory: EditorFactory) { this._editorFactory = editorFactory }\n\t\n\tprotected _type: CellType = null;\n\tget type() { return this._type }\n\tset type(v: CellType) { this._type = v }\n\n\tprotected _name: string;\n\tget name() { return this._name }\n\tset name(v: string) { this._name = v }\n\n\tprotected _style: number;\n\tget style() { return this._style }\n\tset style(v: number) { this._style = v }\n\n\tprotected _commentable: boolean;\n\tget commentable() { return this._commentable }\n\tset commentable(v: boolean) { this._commentable = v }\n\n\tprotected _clickable = false;\n\tget clickable() { return this._clickable }\n\tset clickable(v: boolean) { this._clickable = v }\n\n\tprotected _editable: boolean;\n\tget editable() { return this._editable }\n\tset editable(v: boolean) { this._editable = v }\n\n\tprotected _validation: CellValidation;\n\tget validation() { return this._validation }\n\tset validation(v: CellValidation) { this._validation = v }\n\n\tprotected _formula: string;\n\tget hasFormula() { return !!this._formula }\n\tget formula() { return this._formula }\n\tset formula(v: string) { this._formula = v ? v.replace(/^=/, '') : null }\n\n\tget value2(): string|unknown { return this.hasFormula ? prefixFormula(this.formula) : null }\n\n\tprotected _editorContent: unknown;\n\tget editorContent() { return this._editorContent }\n\tset editorContent(v: unknown) { this._editorContent = v }\n\n\tprotected _adapter: ComponentAdapter;\n\tget adapter() { return this._adapter }\n\tset adapter(v: ComponentAdapter) { this._adapter = v }\n\n\tprotected _properties: CustomProperties;\n\tget properties() { return this._properties }\n\tset properties(v: CustomProperties) { this._properties = v }\n\n\tgetProperty(key: string) { return this._properties?.[key] }\n\tsetProperty(key: string, value: unknown) {\n\t\tif (!this._properties) this._properties = {};\n\t\tthis._properties[key] = value;\n\t}\n\n\tprotected _valueFormatter: ValueFormatter;\n\tprotected _format: numbers.NumberFormatString;\n\tget format() { return this._format }\n\tset format(v: numbers.NumberFormatString) {\n\t\tthis._format = v;\n\t\tthis._valueFormatter = null;\n\t}\n\n\t///TODO: implement date formatter\n\tget valueFormatter(): ValueFormatter {\n\t\treturn this._valueFormatter;\n\t}\n\n\tconstructor(public readonly model: GridModel, source?: ElementSource) {\n\t\tif (source) this.populate(source);\n\t}\n\n\tpopulate(source: ElementSource) {\n\t\tthis._renderer = source.renderer;\n\t\tthis._afterRenderer = source.afterRenderer;\n\t\tthis._commentRenderer = source.commentRenderer;\n\t\tthis._editorFactory = source.editorFactory;\n\t\tthis._name = source.name;\n\t\tthis._type = source.t;\n\t\tthis._editorContent = source.content;\n\t\tthis._adapter = source.adapter;\n\t\tthis._format = source.z;\n\t\tthis._formula = source.f;\n\t\tthis._editable = source.e;\n\t\tthis._commentable = source.commentable;\n\t\tthis._clickable = source.clickable;\n\t\tthis._validation = source.validation ? normalizeCellValidation(source.validation) : null;\n\t\tthis._properties = source.props;\n\t\tthis._style = source.s == null ? null : this.model.styles.add(source.s)?.id;\n\t}\n\n\tupdate(source: ElementSource) {\n\t\tconst updatedProps = {} as ElementSource;\n\t\tif ('renderer' in source) { updatedProps.renderer = this._renderer; this._renderer = source.renderer; }\n\t\tif ('afterRenderer' in source) { this._afterRenderer = source.afterRenderer; }\n\t\tif ('commentRenderer' in source) { this._commentRenderer = source.commentRenderer; }\n\t\tif ('editorFactory' in source) { updatedProps.editorFactory = this._editorFactory; this._editorFactory = source.editorFactory; }\n\t\tif ('name' in source) { updatedProps.name = this._name; this._name = source.name; }\n\t\tif ('t' in source) { updatedProps.t = this._type; this._type = source.t; }\n\t\tif ('content' in source) { updatedProps.content = this._editorContent; this._editorContent = source.content; }\n\t\tif ('adapter' in source) { updatedProps.adapter = this._adapter; this._adapter = source.adapter; }\n\t\tif ('z' in source) { updatedProps.z = this._format; this._format = source.z; }\n\t\tif ('f' in source) { updatedProps.f = this._formula; this._formula = source.f; }\n\t\tif ('e' in source) { updatedProps.e = this._editable; this._editable = source.e; }\n\t\tif ('commentable' in source) { updatedProps.commentable = this._commentable; this._commentable = source.commentable; }\n\t\tif ('clickable' in source) { updatedProps.clickable = this._clickable; this._clickable = source.clickable; }\n\t\tif ('validation' in source) { updatedProps.validation = this._validation; this._validation = normalizeCellValidation(source.validation); }\n\t\tif ('props' in source) { updatedProps.props = this._properties; this._properties = source.props; }\n\t\tif ('s' in source) {\n\t\t\tconst styleId = this.model.styles.add(source.s as string|Style|CSSStyle).id;\n\t\t\tif (this._style !== styleId) { updatedProps.s = this._style; this._style = styleId; }\n\t\t}\n\t\treturn updatedProps;\n\t}\n\n\tgetSourceData() {\n\t\tconst data = {} as ElementSource;\n\t\tif (this._type != null) data.t = this._type;\n\t\tif (this._format != null) data.z = this._format;\n\t\tif (this._formula != null) data.f = this._formula;\n\t\tif (this._editable != null) data.e = this._editable;\n\t\tif (this._commentable != null) data.commentable = this._commentable;\n\t\tif (this._clickable != null) data.clickable = this._clickable;\n\t\tif (this._properties) data.props = utils.cloneDeep(this._properties);\n\t\tif (this._editorContent != null) data.content = utils.isObject(this._editorContent) \n\t\t\t? utils.cloneDeep(this._editorContent) : this._editorContent;\n\t\tif (this._style != null) data.s = this._style;\n\t\tif (this._name != null) data.name = this._name;\n\t\treturn data;\n\t}\n\t\t\n\tsetStyleProperties(props: Record<StylePropertyKey, unknown>, updateEixistingStyle = false) {\n\t\tif (updateEixistingStyle) {\n\t\t\tthis.style = this.model.styles.set(this.style, props).id;\n\t\t} else {\n\t\t\tthis.style = this.model.styles.duplicate(this.style, props).id;\n\t\t}\n\t}\n\n\tremoveStyleProperties(props: string[]) {\n\t\tif (this.style !== null) this.model.styles.unset(this.style, props);\n\t}\n\n\tget composedStyle() : Style {\n\t\treturn this.model.styles.get(this.style);\n\t}\n\n}"]}
1
+ {"version":3,"file":"elementModel.js","sourceRoot":"","sources":["../../src/model/elementModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentAdapter, numbers, ValueFormatter, CustomProperties, utils } from \"@omegagrid/core\";\nimport { prefixFormula } from \"../calculations\";\nimport { CellType, CellValidation, CellValidationSource, CommentRenderer, EditorFactory, Renderer, StyleSource } from \"../types\";\nimport { CSSStyle } from \"./cssStyle\";\nimport { GridModel } from \"./gridModel\";\nimport { Style, StylePropertyKey } from \"./style\";\nimport { normalizeCellValidation } from \"./validations\";\n\n/** \n * Source object type for grid element.\n * Common ancestor for ColumnSource, RowSource and CellSource.\n */\nexport type ElementSource = {\n\t/** cell type */\n\tt?: CellType,\n\t/** style */\n\ts?: StyleSource,\n\t/** enable cell editing */\n\te?: boolean,\n\t/** number format */\n\tz?: numbers.NumberFormatString,\n\t/** formula */\n\tf?: string,\n\t/** range name */\n\tname?: string,\n\t/** custom properties */\n\tprops?: CustomProperties,\n\t/** cell editor content */\n\tcontent?: unknown,\n\t/** cell editor adapter */\n\tadapter?: ComponentAdapter,\n\t/** enable cell commenting */\n\tcommentable?: boolean,\n\t/** enable cell clicking */\n\tclickable?: boolean,\n\t/** cell renderer */\n\trenderer?: Renderer,\n\t/** cell renderer applied after initial renderer */\n\tafterRenderer?: Renderer,\n\t/** comment content renderer */\n\tcommentRenderer?: CommentRenderer,\n\t/** cell value validation options */\n\tvalidation?: CellValidationSource,\n\t/** custom cell editor factory */\n\teditorFactory?: EditorFactory\n}\n\nexport class ElementModel {\n\n\tget address(): string { return null }\n\t\n\tprotected _renderer: Renderer;\n\tget renderer() { return this._renderer }\n\tset renderer(renderer: Renderer) { this._renderer = renderer }\n\n\tprotected _afterRenderer: Renderer;\n\tget afterRenderer() { return this._afterRenderer }\n\tset afterRenderer(afterRenderer: Renderer) { this._afterRenderer = afterRenderer }\n\n\tprotected _commentRenderer: CommentRenderer;\n\tget commentRenderer() { return this._commentRenderer }\n\tset commentRenderer(commentRenderer: CommentRenderer) { this._commentRenderer = commentRenderer }\n\n\tprotected _editorFactory: EditorFactory;\n\tget editorFactory() { return this._editorFactory }\n\tset editorFactory(editorFactory: EditorFactory) { this._editorFactory = editorFactory }\n\t\n\tprotected _type: CellType = null;\n\tget type() { return this._type }\n\tset type(v: CellType) { this._type = v }\n\n\tprotected _name: string;\n\tget name() { return this._name }\n\tset name(v: string) { this._name = v }\n\n\tprotected _style: number;\n\tget style() { return this._style }\n\tset style(v: number) { this._style = v }\n\n\tprotected _commentable: boolean;\n\tget commentable() { return this._commentable }\n\tset commentable(v: boolean) { this._commentable = v }\n\n\tprotected _clickable = false;\n\tget clickable() { return this._clickable }\n\tset clickable(v: boolean) { this._clickable = v }\n\n\tprotected _editable: boolean;\n\tget editable() { return this._editable }\n\tset editable(v: boolean) { this._editable = v }\n\n\tprotected _validation: CellValidation;\n\tget validation() { return this._validation }\n\tset validation(v: CellValidation) { this._validation = v }\n\n\tprotected _formula: string;\n\tget hasFormula() { return !!this._formula }\n\tget formula() { return this._formula }\n\tset formula(v: string) { this._formula = v && this.model.formulasEnabled ? v.replace(/^=/, '') : null }\n\n\tget value2(): string|unknown { return this.hasFormula ? prefixFormula(this.formula) : null }\n\n\tprotected _editorContent: unknown;\n\tget editorContent() { return this._editorContent }\n\tset editorContent(v: unknown) { this._editorContent = v }\n\n\tprotected _adapter: ComponentAdapter;\n\tget adapter() { return this._adapter }\n\tset adapter(v: ComponentAdapter) { this._adapter = v }\n\n\tprotected _properties: CustomProperties;\n\tget properties() { return this._properties }\n\tset properties(v: CustomProperties) { this._properties = v }\n\n\tgetProperty(key: string) { return this._properties?.[key] }\n\tsetProperty(key: string, value: unknown) {\n\t\tif (!this._properties) this._properties = {};\n\t\tthis._properties[key] = value;\n\t}\n\n\tprotected _valueFormatter: ValueFormatter;\n\tprotected _format: numbers.NumberFormatString;\n\tget format() { return this._format }\n\tset format(v: numbers.NumberFormatString) {\n\t\tthis._format = v;\n\t\tthis._valueFormatter = null;\n\t}\n\n\t///TODO: implement date formatter\n\tget valueFormatter(): ValueFormatter {\n\t\treturn this._valueFormatter;\n\t}\n\n\tconstructor(public readonly model: GridModel, source?: ElementSource) {\n\t\tif (source) this.populate(source);\n\t}\n\n\tpopulate(source: ElementSource) {\n\t\tthis._renderer = source.renderer;\n\t\tthis._afterRenderer = source.afterRenderer;\n\t\tthis._commentRenderer = source.commentRenderer;\n\t\tthis._editorFactory = source.editorFactory;\n\t\tthis._name = source.name;\n\t\tthis._type = source.t;\n\t\tthis._editorContent = source.content;\n\t\tthis._adapter = source.adapter;\n\t\tthis._format = source.z;\n\t\tthis._formula = this.model.formulasEnabled ? source.f : null;\n\t\tthis._editable = source.e;\n\t\tthis._commentable = source.commentable;\n\t\tthis._clickable = source.clickable;\n\t\tthis._validation = source.validation ? normalizeCellValidation(source.validation) : null;\n\t\tthis._properties = source.props;\n\t\tthis._style = source.s == null ? null : this.model.styles.add(source.s)?.id;\n\t}\n\n\tupdate(source: ElementSource) {\n\t\tconst updatedProps = {} as ElementSource;\n\t\tif ('renderer' in source) { updatedProps.renderer = this._renderer; this._renderer = source.renderer; }\n\t\tif ('afterRenderer' in source) { this._afterRenderer = source.afterRenderer; }\n\t\tif ('commentRenderer' in source) { this._commentRenderer = source.commentRenderer; }\n\t\tif ('editorFactory' in source) { updatedProps.editorFactory = this._editorFactory; this._editorFactory = source.editorFactory; }\n\t\tif ('name' in source) { updatedProps.name = this._name; this._name = source.name; }\n\t\tif ('t' in source) { updatedProps.t = this._type; this._type = source.t; }\n\t\tif ('content' in source) { updatedProps.content = this._editorContent; this._editorContent = source.content; }\n\t\tif ('adapter' in source) { updatedProps.adapter = this._adapter; this._adapter = source.adapter; }\n\t\tif ('z' in source) { updatedProps.z = this._format; this._format = source.z; }\n\t\tif ('f' in source) { updatedProps.f = this._formula; this._formula = this.model.formulasEnabled ? source.f : null; }\n\t\tif ('e' in source) { updatedProps.e = this._editable; this._editable = source.e; }\n\t\tif ('commentable' in source) { updatedProps.commentable = this._commentable; this._commentable = source.commentable; }\n\t\tif ('clickable' in source) { updatedProps.clickable = this._clickable; this._clickable = source.clickable; }\n\t\tif ('validation' in source) { updatedProps.validation = this._validation; this._validation = normalizeCellValidation(source.validation); }\n\t\tif ('props' in source) { updatedProps.props = this._properties; this._properties = source.props; }\n\t\tif ('s' in source) {\n\t\t\tconst styleId = this.model.styles.add(source.s as string|Style|CSSStyle).id;\n\t\t\tif (this._style !== styleId) { updatedProps.s = this._style; this._style = styleId; }\n\t\t}\n\t\treturn updatedProps;\n\t}\n\n\tgetSourceData() {\n\t\tconst data = {} as ElementSource;\n\t\tif (this._type != null) data.t = this._type;\n\t\tif (this._format != null) data.z = this._format;\n\t\tif (this._formula != null) data.f = this._formula;\n\t\tif (this._editable != null) data.e = this._editable;\n\t\tif (this._commentable != null) data.commentable = this._commentable;\n\t\tif (this._clickable != null) data.clickable = this._clickable;\n\t\tif (this._properties) data.props = utils.cloneDeep(this._properties);\n\t\tif (this._editorContent != null) data.content = utils.isObject(this._editorContent) \n\t\t\t? utils.cloneDeep(this._editorContent) : this._editorContent;\n\t\tif (this._style != null) data.s = this._style;\n\t\tif (this._name != null) data.name = this._name;\n\t\treturn data;\n\t}\n\t\t\n\tsetStyleProperties(props: Record<StylePropertyKey, unknown>, updateEixistingStyle = false) {\n\t\tif (updateEixistingStyle) {\n\t\t\tthis.style = this.model.styles.set(this.style, props).id;\n\t\t} else {\n\t\t\tthis.style = this.model.styles.duplicate(this.style, props).id;\n\t\t}\n\t}\n\n\tremoveStyleProperties(props: string[]) {\n\t\tif (this.style !== null) this.model.styles.unset(this.style, props);\n\t}\n\n\tget composedStyle() : Style {\n\t\treturn this.model.styles.get(this.style);\n\t}\n\n}"]}
@@ -109,6 +109,7 @@ export declare class GridModel implements Model<GridSource> {
109
109
  set theme(v: TableTheme);
110
110
  readonly logger: log.Logger;
111
111
  options: Options;
112
+ get formulasEnabled(): boolean;
112
113
  group: GroupModel;
113
114
  constructor(source: GridSource, options?: Options, logger?: log.Logger);
114
115
  getConnectedModel(name: string): GridModel;
@@ -1 +1 @@
1
- {"version":3,"file":"gridModel.d.ts","sourceRoot":"","sources":["../../src/model/gridModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gridModel.d.ts","sourceRoot":"","sources":["../../src/model/gridModel.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export class GridModel {
34
34
  set properties(v) { this._properties = v; }
35
35
  get theme() { return this._theme; }
36
36
  set theme(v) { this._theme = v; }
37
+ get formulasEnabled() { return this.options.formulas !== false; }
37
38
  constructor(source, options, logger) {
38
39
  this.otherModels = {};
39
40
  this.autofitColumns = new Set();
@@ -156,7 +157,7 @@ export class GridModel {
156
157
  this.columns = source.columns.map((columnSource, c) => {
157
158
  if (!columnSource)
158
159
  columnSource = {};
159
- if (columnSource.l > 0)
160
+ if (columnSource.l !== 0 && columnSource.l != null)
160
161
  hasColLevelBasedTree = true;
161
162
  if (columnSource.p != null)
162
163
  hasColParentBasedTree = true;
@@ -697,7 +698,7 @@ export class GridModel {
697
698
  return movingColumns;
698
699
  }
699
700
  spillValues(opt) {
700
- const { cell, values, displayValues, propertyCell } = opt;
701
+ const { cell, values, displayValues, quotePrefixes, propertyCell } = opt;
701
702
  const cells = [];
702
703
  const oldValues = [];
703
704
  const empty = values.length === 0 || values[0].length === 0;
@@ -723,6 +724,8 @@ export class GridModel {
723
724
  spillCell = row.cell(c);
724
725
  if (spillCell.editable) {
725
726
  oldValues.push(spillCell.value2);
727
+ if (quotePrefixes)
728
+ spillCell.quotePrefix = !!quotePrefixes[r2][c2];
726
729
  spillCell.spillValue(values[r2][c2], cell);
727
730
  if (propertyCell) {
728
731
  spillCell.format = propertyCell.format;