UNPKG

@syncfusion/ej2-documenteditor

Version:

Feature-rich document editor control with built-in support for context menu, options pane and dialogs.

391 lines (390 loc) 15.6 kB
import { Dictionary } from '../../base/dictionary'; import { WUniqueFormat } from '../../base/unique-format'; import { WUniqueFormats } from '../../base/unique-formats'; import { WBorders } from './borders'; import { WShading } from './shading'; import { isNullOrUndefined } from '@syncfusion/ej2-base'; /** * @private */ var WTableFormat = /** @class */ (function () { function WTableFormat(owner) { this.uniqueTableFormat = undefined; this.borders = new WBorders(this); this.shading = new WShading(this); this._title = undefined; this._description = undefined; this.ownerBase = undefined; this._styleName = undefined; this.ownerBase = owner; this.assignTableMarginValue(5.4, 0, 5.4, 0); } Object.defineProperty(WTableFormat.prototype, "title", { get: function () { return this._title; }, set: function (value) { this._title = value; }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "description", { get: function () { return this._description; }, set: function (value) { this._description = value; }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "allowAutoFit", { get: function () { return this.getPropertyValue('allowAutoFit'); }, set: function (value) { this.setPropertyValue('allowAutoFit', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "cellSpacing", { get: function () { return this.getPropertyValue('cellSpacing'); }, set: function (value) { if (value < 0 || value > 264.6) { throw new RangeError('The measurement must be between 0 px and 264.6 px.'); } this.setPropertyValue('cellSpacing', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "leftMargin", { get: function () { return this.getPropertyValue('leftMargin'); }, set: function (value) { this.setPropertyValue('leftMargin', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "topMargin", { get: function () { return this.getPropertyValue('topMargin'); }, set: function (value) { this.setPropertyValue('topMargin', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "rightMargin", { get: function () { return this.getPropertyValue('rightMargin'); }, set: function (value) { this.setPropertyValue('rightMargin', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "bottomMargin", { get: function () { return this.getPropertyValue('bottomMargin'); }, set: function (value) { this.setPropertyValue('bottomMargin', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "tableAlignment", { get: function () { return this.getPropertyValue('tableAlignment'); }, set: function (value) { this.setPropertyValue('tableAlignment', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "leftIndent", { get: function () { return this.getPropertyValue('leftIndent'); }, set: function (value) { if (value < -1440 || value > 1440) { throw new RangeError('The measurement must be between -1440 px and 1440 px.'); } this.setPropertyValue('leftIndent', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "preferredWidth", { get: function () { return this.getPropertyValue('preferredWidth'); }, set: function (value) { this.setPropertyValue('preferredWidth', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "preferredWidthType", { get: function () { return this.getPropertyValue('preferredWidthType'); }, set: function (value) { this.setPropertyValue('preferredWidthType', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "bidi", { get: function () { return this.getPropertyValue('bidi'); }, set: function (value) { this.setPropertyValue('bidi', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "horizontalPositionAbs", { get: function () { return this.getPropertyValue('horizontalPositionAbs'); }, set: function (value) { this.setPropertyValue('horizontalPositionAbs', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "horizontalPosition", { get: function () { return this.getPropertyValue('horizontalPosition'); }, set: function (value) { this.setPropertyValue('horizontalPosition', value); }, enumerable: true, configurable: true }); Object.defineProperty(WTableFormat.prototype, "styleName", { get: function () { return this._styleName; }, set: function (value) { this._styleName = value; }, enumerable: true, configurable: true }); /* eslint-disable */ WTableFormat.prototype.getPropertyValue = function (property) { var hasValue = this.hasValue(property); if (hasValue) { var propertyType = WUniqueFormat.getPropertyType(WTableFormat.uniqueFormatType, property); if (!isNullOrUndefined(this.uniqueTableFormat) && this.uniqueTableFormat.propertiesHash.containsKey(propertyType)) { return this.uniqueTableFormat.propertiesHash.get(propertyType); } } return WTableFormat.getPropertyDefaultValue(property); }; WTableFormat.prototype.setPropertyValue = function (property, value) { if (isNullOrUndefined(value) || value === '') { value = WTableFormat.getPropertyDefaultValue(property); } if (isNullOrUndefined(this.uniqueTableFormat)) { this.initializeUniqueTableFormat(property, value); } else { var propertyType = WUniqueFormat.getPropertyType(this.uniqueTableFormat.uniqueFormatType, property); if (this.uniqueTableFormat.propertiesHash.containsKey(propertyType) && this.uniqueTableFormat.propertiesHash.get(propertyType) === value) { //Do nothing, since no change in property value and return return; } this.uniqueTableFormat = WTableFormat.uniqueTableFormats.updateUniqueFormat(this.uniqueTableFormat, property, value); } }; WTableFormat.prototype.initializeUniqueTableFormat = function (property, propValue) { var uniqueTableFormatTemp = new Dictionary(); this.addUniqueTableFormat('allowAutoFit', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('cellSpacing', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('leftMargin', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('topMargin', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('bottomMargin', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('rightMargin', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('leftIndent', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('tableAlignment', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('preferredWidth', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('preferredWidthType', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('bidi', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('horizontalPositionAbs', property, propValue, uniqueTableFormatTemp); this.addUniqueTableFormat('horizontalPosition', property, propValue, uniqueTableFormatTemp); this.uniqueTableFormat = WTableFormat.uniqueTableFormats.addUniqueFormat(uniqueTableFormatTemp, WTableFormat.uniqueFormatType); }; WTableFormat.prototype.addUniqueTableFormat = function (property, modifiedProperty, propValue, uniqueTableFormatTemp) { var propertyType; propertyType = WUniqueFormat.getPropertyType(WTableFormat.uniqueFormatType, property); if (property === modifiedProperty) { uniqueTableFormatTemp.add(propertyType, propValue); } }; WTableFormat.getPropertyDefaultValue = function (property) { var value = undefined; switch (property) { case 'allowAutoFit': value = false; break; case 'cellSpacing': value = 0; break; case 'leftMargin': value = 5.4; break; case 'topMargin': value = 0; break; case 'bottomMargin': value = 0; break; case 'rightMargin': value = 5.4; break; case 'leftIndent': value = 0; break; case 'tableAlignment': value = 'Left'; break; case 'preferredWidth': value = 0; break; case 'preferredWidthType': value = 'Point'; break; case 'bidi': value = false; break; case 'horizontalPositionAbs': value = null; break; case 'horizontalPosition': value = 0; break; } return value; }; WTableFormat.prototype.assignTableMarginValue = function (left, top, right, bottom) { this.leftMargin = left; this.topMargin = top; this.rightMargin = right; this.bottomMargin = bottom; }; WTableFormat.prototype.initializeTableBorders = function () { this.borders.left.lineStyle = 'Single'; this.borders.left.lineWidth = 0.5; this.borders.right.lineStyle = 'Single'; this.borders.right.lineWidth = 0.5; this.borders.top.lineStyle = 'Single'; this.borders.top.lineWidth = 0.5; this.borders.bottom.lineStyle = 'Single'; this.borders.bottom.lineWidth = 0.5; this.borders.horizontal.lineStyle = 'Single'; this.borders.horizontal.lineWidth = 0.5; this.borders.vertical.lineStyle = 'Single'; this.borders.vertical.lineWidth = 0.5; }; WTableFormat.prototype.destroy = function () { if (!isNullOrUndefined(this.borders)) { this.borders.destroy(); } if (!isNullOrUndefined(this.shading)) { this.shading.destroy(); } if (!isNullOrUndefined(this.uniqueTableFormat)) { WTableFormat.uniqueTableFormats.remove(this.uniqueTableFormat); } this.uniqueTableFormat = undefined; this.ownerBase = undefined; this.borders = undefined; this.shading = undefined; }; WTableFormat.prototype.cloneFormat = function () { var tableFormat = new WTableFormat(undefined); tableFormat.leftIndent = this.leftIndent; tableFormat.tableAlignment = this.tableAlignment; tableFormat.cellSpacing = this.cellSpacing; tableFormat.leftMargin = this.leftMargin; tableFormat.rightMargin = this.rightMargin; tableFormat.topMargin = this.topMargin; tableFormat.bottomMargin = this.bottomMargin; tableFormat.preferredWidth = this.preferredWidth; tableFormat.preferredWidthType = this.preferredWidthType; tableFormat.horizontalPositionAbs = this.horizontalPositionAbs; tableFormat.horizontalPosition = this.horizontalPosition; tableFormat.borders = isNullOrUndefined(this.borders) ? undefined : this.borders.cloneFormat(); tableFormat.shading = isNullOrUndefined(this.shading) ? undefined : this.shading.cloneFormat(); tableFormat.bidi = this.bidi; tableFormat.allowAutoFit = this.allowAutoFit; tableFormat.styleName = this.styleName; tableFormat.title = this.title; tableFormat.description = this.description; return tableFormat; }; WTableFormat.prototype.hasValue = function (property) { if (!isNullOrUndefined(this.uniqueTableFormat)) { var propertyType = WUniqueFormat.getPropertyType(this.uniqueTableFormat.uniqueFormatType, property); return this.uniqueTableFormat.propertiesHash.containsKey(propertyType); } return false; }; WTableFormat.prototype.copyFormat = function (format) { if (!isNullOrUndefined(format)) { if (!isNullOrUndefined(format.uniqueTableFormat)) { this.cellSpacing = format.cellSpacing; this.leftMargin = format.leftMargin; this.topMargin = format.topMargin; this.rightMargin = format.rightMargin; this.bottomMargin = format.bottomMargin; this.leftIndent = format.leftIndent; this.tableAlignment = format.tableAlignment; this.preferredWidth = format.preferredWidth; this.preferredWidthType = format.preferredWidthType; this.bidi = format.bidi; this.allowAutoFit = format.allowAutoFit; this.horizontalPosition = format.horizontalPosition; this.horizontalPositionAbs = format.horizontalPositionAbs; this.styleName = format.styleName; } if (!isNullOrUndefined(format.borders)) { this.borders = new WBorders(this); this.borders.copyFormat(format.borders); } if (!isNullOrUndefined(format.shading)) { this.shading = new WShading(this); this.shading.copyFormat(format.shading); } if (!isNullOrUndefined(format.title)) { this.title = format.title; } if (!isNullOrUndefined(format.description)) { this.description = format.description; } } }; WTableFormat.clear = function () { this.uniqueTableFormats.clear(); }; WTableFormat.uniqueTableFormats = new WUniqueFormats(); WTableFormat.uniqueFormatType = 8; return WTableFormat; }()); export { WTableFormat };