@syncfusion/ej2-inplace-editor 25.2.3 → 26.1.35
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/.eslintrc.json +3 -2
- package/dist/ej2-inplace-editor.umd.min.js +2 -2
- package/dist/ej2-inplace-editor.umd.min.js.map +1 -1
- package/dist/es6/ej2-inplace-editor.es2015.js +22 -43
- package/dist/es6/ej2-inplace-editor.es2015.js.map +1 -1
- package/dist/es6/ej2-inplace-editor.es5.js +77 -98
- package/dist/es6/ej2-inplace-editor.es5.js.map +1 -1
- package/dist/global/ej2-inplace-editor.min.js +2 -2
- package/dist/global/ej2-inplace-editor.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/dist/ts/index.d.ts +4 -0
- package/dist/ts/index.ts +4 -0
- package/dist/ts/inplace-editor/base/classes.d.ts +63 -0
- package/dist/ts/inplace-editor/base/classes.ts +63 -0
- package/dist/ts/inplace-editor/base/events.d.ts +17 -0
- package/dist/ts/inplace-editor/base/events.ts +18 -0
- package/dist/ts/inplace-editor/base/index.d.ts +10 -0
- package/dist/ts/inplace-editor/base/index.ts +10 -0
- package/dist/ts/inplace-editor/base/inplace-editor-model.d.ts +344 -0
- package/dist/ts/inplace-editor/base/inplace-editor.d.ts +623 -0
- package/dist/ts/inplace-editor/base/inplace-editor.ts +1758 -0
- package/dist/ts/inplace-editor/base/interface.d.ts +117 -0
- package/dist/ts/inplace-editor/base/interface.ts +127 -0
- package/dist/ts/inplace-editor/base/models-model.d.ts +22 -0
- package/dist/ts/inplace-editor/base/models.d.ts +31 -0
- package/dist/ts/inplace-editor/base/models.ts +45 -0
- package/dist/ts/inplace-editor/base/util.d.ts +28 -0
- package/dist/ts/inplace-editor/base/util.ts +104 -0
- package/dist/ts/inplace-editor/index.d.ts +5 -0
- package/dist/ts/inplace-editor/index.ts +5 -0
- package/dist/ts/inplace-editor/modules/auto-complete.d.ts +34 -0
- package/dist/ts/inplace-editor/modules/auto-complete.ts +65 -0
- package/dist/ts/inplace-editor/modules/base-module.d.ts +19 -0
- package/dist/ts/inplace-editor/modules/base-module.ts +74 -0
- package/dist/ts/inplace-editor/modules/color-picker.d.ts +29 -0
- package/dist/ts/inplace-editor/modules/color-picker.ts +55 -0
- package/dist/ts/inplace-editor/modules/combo-box.d.ts +34 -0
- package/dist/ts/inplace-editor/modules/combo-box.ts +63 -0
- package/dist/ts/inplace-editor/modules/date-range-picker.d.ts +29 -0
- package/dist/ts/inplace-editor/modules/date-range-picker.ts +55 -0
- package/dist/ts/inplace-editor/modules/index.d.ts +12 -0
- package/dist/ts/inplace-editor/modules/index.ts +12 -0
- package/dist/ts/inplace-editor/modules/multi-select.d.ts +35 -0
- package/dist/ts/inplace-editor/modules/multi-select.ts +88 -0
- package/dist/ts/inplace-editor/modules/rte.d.ts +31 -0
- package/dist/ts/inplace-editor/modules/rte.ts +73 -0
- package/dist/ts/inplace-editor/modules/slider.d.ts +30 -0
- package/dist/ts/inplace-editor/modules/slider.ts +59 -0
- package/dist/ts/inplace-editor/modules/time-picker.d.ts +29 -0
- package/dist/ts/inplace-editor/modules/time-picker.ts +54 -0
- package/package.json +17 -17
- package/src/inplace-editor/base/inplace-editor.d.ts +0 -1
- package/src/inplace-editor/base/interface.js +0 -1
- package/src/inplace-editor/base/models.js +0 -2
- package/styles/bootstrap-dark.css +61 -14
- package/styles/bootstrap-dark.scss +26 -1
- package/styles/bootstrap.css +63 -15
- package/styles/bootstrap.scss +26 -1
- package/styles/bootstrap4.css +71 -19
- package/styles/bootstrap4.scss +26 -1
- package/styles/bootstrap5-dark.css +62 -14
- package/styles/bootstrap5-dark.scss +26 -1
- package/styles/bootstrap5.css +62 -14
- package/styles/bootstrap5.scss +26 -1
- package/styles/fabric-dark.css +59 -13
- package/styles/fabric-dark.scss +26 -1
- package/styles/fabric.css +61 -14
- package/styles/fabric.scss +26 -1
- package/styles/fluent-dark.css +63 -15
- package/styles/fluent-dark.scss +26 -1
- package/styles/fluent.css +63 -15
- package/styles/fluent.scss +26 -1
- package/styles/fluent2.css +1996 -0
- package/styles/fluent2.scss +26 -0
- package/styles/highcontrast-light.css +62 -13
- package/styles/highcontrast-light.scss +26 -1
- package/styles/highcontrast.css +64 -14
- package/styles/highcontrast.scss +26 -1
- package/styles/inplace-editor/_bootstrap5.3-definition.scss +69 -0
- package/styles/inplace-editor/_fluent2-definition.scss +71 -0
- package/styles/inplace-editor/_theme.scss +8 -3
- package/styles/inplace-editor/bootstrap-dark.css +61 -14
- package/styles/inplace-editor/bootstrap.css +63 -15
- package/styles/inplace-editor/bootstrap4.css +71 -19
- package/styles/inplace-editor/bootstrap5-dark.css +62 -14
- package/styles/inplace-editor/bootstrap5.css +62 -14
- package/styles/inplace-editor/fabric-dark.css +59 -13
- package/styles/inplace-editor/fabric.css +61 -14
- package/styles/inplace-editor/fluent-dark.css +63 -15
- package/styles/inplace-editor/fluent.css +63 -15
- package/styles/inplace-editor/fluent2.css +1996 -0
- package/styles/inplace-editor/fluent2.scss +26 -0
- package/styles/inplace-editor/highcontrast-light.css +62 -13
- package/styles/inplace-editor/highcontrast.css +64 -14
- package/styles/inplace-editor/icons/_bootstrap5.3.scss +19 -0
- package/styles/inplace-editor/icons/_fluent2.scss +19 -0
- package/styles/inplace-editor/material-dark.css +79 -17
- package/styles/inplace-editor/material.css +95 -20
- package/styles/inplace-editor/material3-dark.css +101 -21
- package/styles/inplace-editor/material3.css +101 -21
- package/styles/inplace-editor/tailwind-dark.css +72 -17
- package/styles/inplace-editor/tailwind.css +72 -17
- package/styles/material-dark.css +79 -17
- package/styles/material-dark.scss +26 -1
- package/styles/material.css +95 -20
- package/styles/material.scss +26 -1
- package/styles/material3-dark.css +101 -21
- package/styles/material3-dark.scss +26 -1
- package/styles/material3.css +101 -21
- package/styles/material3.scss +26 -1
- package/styles/tailwind-dark.css +72 -17
- package/styles/tailwind-dark.scss +26 -1
- package/styles/tailwind.css +72 -17
- package/styles/tailwind.scss +26 -1
- package/CHANGELOG.md +0 -262
- package/dist/ej2-inplace-editor.min.js +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ej2-inplace-editor.es5.js","sources":["../../src/inplace-editor/base/util.js","../../src/inplace-editor/base/events.js","../../src/inplace-editor/base/models.js","../../src/inplace-editor/base/classes.js","../../src/inplace-editor/base/inplace-editor.js","../../src/inplace-editor/base/index.js","../../src/inplace-editor/modules/base-module.js","../../src/inplace-editor/modules/auto-complete.js","../../src/inplace-editor/modules/color-picker.js","../../src/inplace-editor/modules/combo-box.js","../../src/inplace-editor/modules/date-range-picker.js","../../src/inplace-editor/modules/multi-select.js","../../src/inplace-editor/modules/rte.js","../../src/inplace-editor/modules/slider.js","../../src/inplace-editor/modules/time-picker.js","../../src/inplace-editor/modules/index.js","../../src/inplace-editor/index.js","../../src/index.js"],"sourcesContent":["import { isNullOrUndefined as isNOU, Internationalization, isBlazor } from '@syncfusion/ej2-base';\n/**\n * Exports util methods used by In-place editor.\n */\nvar intl = new Internationalization();\n/**\n * @param {string} type - specifies the string type\n * @param {valueType} val - specifies the value type\n * @param {modelType} model - specifies the model type\n * @returns {string} - returns the string\n */\nexport function parseValue(type, val, model) {\n if (isNOU(val) || val === '') {\n return '';\n }\n var result;\n var tempFormat;\n switch (type) {\n case 'Color': {\n var hex = val;\n result = (hex.length > 7) ? hex.slice(0, -2) : hex;\n break;\n }\n case 'Date':\n tempFormat = model.format;\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' });\n break;\n case 'DateRange': {\n tempFormat = model.format;\n var date = val;\n result = intl.formatDate(date[0], { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' }) + ' - '\n + intl.formatDate(date[1], { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' });\n break;\n }\n case 'DateTime':\n tempFormat = model.format;\n if (isNOU(tempFormat) || tempFormat === '') {\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' }) + ' '\n + intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 't' : 'hm' });\n }\n else {\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' });\n }\n break;\n case 'Time':\n tempFormat = model.format;\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 't' : 'hm' });\n break;\n case 'Numeric': {\n tempFormat = isNOU(model.format) ? 'n2' :\n model.format;\n var tempVal = isNOU(val) ? null : (typeof (val) === 'number' ? val : intl.parseNumber(val));\n result = intl.formatNumber(tempVal, { format: tempFormat });\n break;\n }\n default:\n result = val.toString();\n break;\n }\n return result;\n}\n/**\n * @param {string} type - specifies the string value\n * @param {valueType} val - specifies the value type\n * @returns {valueType} - returns the value type\n */\nexport function getCompValue(type, val) {\n if (isNOU(val) || val === '') {\n return val;\n }\n if ((type === 'Date' || type === 'Time' || type === 'DateTime') && typeof (val) === 'string') {\n val = new Date(val);\n }\n else if (type === 'DateRange') {\n if (typeof (val) === 'object' && typeof (val[0]) === 'string') {\n val = [new Date(val[0]), new Date(val[1])];\n }\n else if (typeof (val) === 'string') {\n var temp = val.split('-');\n val = [new Date(temp[0]), new Date(temp[1])];\n }\n }\n return val;\n}\n/**\n * @param {string} value - specifies the string value\n * @returns {string} - returns the string\n * @hidden\n */\nexport function encode(value) {\n var data = [];\n for (var i = value.length - 1; i >= 0; i--) {\n data.unshift(['&#', value[i].charCodeAt(0), ';'].join(''));\n }\n return data.join('');\n}\n","/**\n * In-place Editor events defined here.\n */\n/** @hidden */\nexport var render = 'render';\n/** @hidden */\nexport var update = 'update';\n/** @hidden */\nexport var destroy = 'destroy';\n/** @hidden */\nexport var setFocus = 'set-focus';\n/** @hidden */\nexport var accessValue = 'access-value';\n/** @hidden */\nexport var destroyModules = 'destroy-modules';\n/** @hidden */\nexport var showPopup = 'show-popup';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ChildProperty, Property } from '@syncfusion/ej2-base';\n/**\n * Configures the popup settings of the In-place editor.\n */\nvar PopupSettings = /** @class */ (function (_super) {\n __extends(PopupSettings, _super);\n function PopupSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property('')\n ], PopupSettings.prototype, \"title\", void 0);\n __decorate([\n Property(null)\n ], PopupSettings.prototype, \"model\", void 0);\n return PopupSettings;\n}(ChildProperty));\nexport { PopupSettings };\n/**\n * @hidden\n */\nexport var modulesList = {\n 'AutoComplete': 'auto-complete',\n 'Color': 'color-picker',\n 'ComboBox': 'combo-box',\n 'DateRange': 'date-range-picker',\n 'MultiSelect': 'multi-select',\n 'RTE': 'rte',\n 'Slider': 'slider',\n 'Time': 'time-picker'\n /* eslint-enable */\n};\n/**\n * @hidden\n */\n// eslint-disable-next-line\nexport var localeConstant = {\n 'Click': { 'editAreaClick': 'Click to edit' },\n 'DblClick': { 'editAreaDoubleClick': 'Double click to edit' },\n 'EditIconClick': { 'editAreaClick': 'Click to edit' }\n /* eslint-enable */\n};\n","/**\n * In-place Editor classes defined here.\n */\n/** @hidden */\nexport var ROOT = 'e-inplaceeditor';\n/** @hidden */\nexport var ROOT_TIP = 'e-inplaceeditor-tip';\n/** @hidden */\nexport var VALUE_WRAPPER = 'e-editable-value-wrapper';\n/** @hidden */\nexport var VALUE = 'e-editable-value';\n/** @hidden */\nexport var OVERLAY_ICON = 'e-editable-overlay-icon';\n/** @hidden */\nexport var TIP_TITLE = 'e-editable-tip-title';\n/** @hidden */\nexport var TITLE = 'e-editable-title';\n/** @hidden */\nexport var INLINE = 'e-editable-inline';\n/** @hidden */\nexport var POPUP = 'e-editable-popup';\n/** @hidden */\nexport var WRAPPER = 'e-editable-wrapper';\n/** @hidden */\nexport var LOADING = 'e-editable-loading';\n/** @hidden */\nexport var FORM = 'e-editable-form';\n/** @hidden */\nexport var CTRL_GROUP = 'e-component-group';\n/** @hidden */\nexport var INPUT = 'e-editable-component';\n/** @hidden */\nexport var BUTTONS = 'e-editable-action-buttons';\n/** @hidden */\nexport var EDITABLE_ERROR = 'e-editable-error';\n/** @hidden */\nexport var ELEMENTS = 'e-editable-elements';\n/** @hidden */\nexport var OPEN = 'e-editable-open';\n/** @hidden */\nexport var BTN_SAVE = 'e-btn-save';\n/** @hidden */\nexport var BTN_CANCEL = 'e-btn-cancel';\n/** @hidden */\nexport var RTE_SPIN_WRAP = 'e-rte-spin-wrap';\n/** @hidden */\nexport var CTRL_OVERLAY = 'e-control-overlay';\n/** @hidden */\nexport var DISABLE = 'e-disable';\n/** @hidden */\nexport var ICONS = 'e-icons';\n/** @hidden */\nexport var PRIMARY = 'e-primary';\n/** @hidden */\nexport var SHOW = 'e-show';\n/** @hidden */\nexport var HIDE = 'e-hide';\n/** @hidden */\nexport var RTL = 'e-rtl';\n/** @hidden */\nexport var ERROR = 'e-error';\n/** @hidden */\nexport var LOAD = 'e-loading';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Component, NotifyPropertyChanges, Property, Event, select } from '@syncfusion/ej2-base';\nimport { detach, addClass, removeClass, EventHandler, setStyleAttribute, Complex } from '@syncfusion/ej2-base';\nimport { isNullOrUndefined as isNOU, closest, extend, L10n, compile, Browser, Touch } from '@syncfusion/ej2-base';\nimport { updateBlazorTemplate, resetBlazorTemplate, SanitizeHtmlHelper, getValue, isBlazor } from '@syncfusion/ej2-base';\nimport { DataManager, UrlAdaptor, Query, WebApiAdaptor, ODataV4Adaptor, Predicate } from '@syncfusion/ej2-data';\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { DatePicker, DateTimePicker } from '@syncfusion/ej2-calendars';\nimport { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';\nimport { Tooltip } from '@syncfusion/ej2-popups';\nimport { NumericTextBox, TextBox } from '@syncfusion/ej2-inputs';\nimport { FormValidator, MaskedTextBox } from '@syncfusion/ej2-inputs';\nimport { DropDownList } from '@syncfusion/ej2-dropdowns';\n/* Helper modules */\nimport * as events from './events';\nimport * as classes from './classes';\n/* Models */\nimport { PopupSettings, modulesList, localeConstant } from './models';\n/* Interface */\nimport { parseValue, getCompValue, encode } from './util';\n/**\n * ```html\n * * The In-place editor control is used to edit an element in a place and to update the value in server.\n * <div id='element' />\n * <script>\n * var editorObj = new InPlaceEditor();\n * editorObj.appendTo('#element');\n * </script>\n * ```\n */\nvar InPlaceEditor = /** @class */ (function (_super) {\n __extends(InPlaceEditor, _super);\n /**\n * Initializes a new instance of the In-place editor class.\n *\n * @param {InPlaceEditorModel} options - Specifies In-place editor model properties as options.\n * @param {string} element - Specifies the element for which In-place editor applies.\n */\n function InPlaceEditor(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.needsID = true;\n return _this;\n }\n InPlaceEditor.prototype.initializeValue = function () {\n this.initRender = true;\n this.isTemplate = false;\n this.isVue = false;\n this.isExtModule = false;\n this.submitBtn = undefined;\n this.cancelBtn = undefined;\n this.isClearTarget = false;\n this.btnElements = undefined;\n this.dataManager = undefined;\n this.oldValue = undefined;\n this.divComponents = ['RTE', 'Slider'];\n this.clearComponents = ['AutoComplete', 'Mask', 'Text'];\n this.dateType = ['Date', 'DateTime', 'Time'];\n this.inputDataEle = ['Date', 'DateTime', 'DateRange', 'Time', 'Numeric'];\n this.dropDownEle = ['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'];\n this.moduleList = ['AutoComplete', 'Color', 'ComboBox', 'DateRange', 'MultiSelect', 'RTE', 'Slider', 'Time'];\n };\n /**\n * Initialize the event handler\n *\n * @returns {void}\n * @private\n */\n InPlaceEditor.prototype.preRender = function () {\n this.initializeValue();\n this.onScrollResizeHandler = this.scrollResizeHandler.bind(this);\n if (isNOU(this.model)) {\n this.setProperties({ model: {} }, true);\n }\n this.titleEle = this.createElement('div', { className: classes.TITLE });\n if (!isNOU(this.popupSettings.model) && this.popupSettings.model.afterOpen) {\n this.afterOpenEvent = this.popupSettings.model.afterOpen;\n }\n };\n /**\n * To Initialize the In-place editor rendering\n *\n * @returns {void}\n * @private\n */\n InPlaceEditor.prototype.render = function () {\n if (isNOU(this.element.getAttribute('tabindex'))) {\n this.disabled ? this.element.setAttribute('tabindex', '-1') : this.element.setAttribute('tabindex', '0');\n }\n this.checkIsTemplate();\n this.disable(this.disabled);\n this.updateAdaptor();\n this.appendValueElement();\n this.updateValue();\n this.textOption === 'Never' ?\n this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)))\n : this.renderInitialValue();\n this.wireEvents();\n this.setRtl(this.enableRtl);\n this.enableEditor(this.enableEditMode, true);\n this.setClass('add', this.cssClass);\n this.renderComplete();\n };\n InPlaceEditor.prototype.setClass = function (action, val) {\n if (!this.isEmpty(val)) {\n var allClassName = val.split(' ');\n for (var i = 0; i < allClassName.length; i++) {\n if (allClassName[i].trim() !== '') {\n action === 'add' ? addClass([this.element], [allClassName[i]]) : removeClass([this.element], [allClassName[i]]);\n }\n }\n }\n };\n InPlaceEditor.prototype.appendValueElement = function () {\n this.valueWrap = this.createElement('div', { id: this.element.id + '_wrap', className: classes.VALUE_WRAPPER });\n if (!isBlazor()) {\n this.element.innerHTML = '';\n }\n this.valueEle = this.createElement('span', { className: classes.VALUE });\n this.editIcon = this.createElement('span', {\n className: classes.OVERLAY_ICON + ' ' + classes.ICONS,\n attrs: { 'title': this.getLocale({ editIcon: 'Click to edit' }, 'editIcon') }\n });\n this.valueWrap.appendChild(this.valueEle);\n this.valueWrap.appendChild(this.editIcon);\n this.element.appendChild(this.valueWrap);\n };\n InPlaceEditor.prototype.renderInitialValue = function () {\n if (['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'].indexOf(this.type) > -1\n && !isNOU(this.value) && !this.isEmpty(this.value.toString()) && !isNOU(this.model.fields)\n && !isNOU(this.model.dataSource)) {\n this.renderValue(this.getLocale({ loadingText: 'Loading...' }, 'loadingText'));\n this.valueWrap.classList.add(classes.LOAD);\n createSpinner({ target: this.valueWrap, width: 10 });\n showSpinner(this.valueWrap);\n this.getInitFieldMapValue();\n }\n else {\n this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)));\n }\n };\n InPlaceEditor.prototype.getInitFieldMapValue = function () {\n var _this = this;\n var model = this.model;\n var mText = model.fields.text;\n var mVal = model.fields.value;\n var query = isNOU(model.query) ? new Query() : model.query;\n if (model.dataSource instanceof DataManager) {\n model.dataSource.executeQuery(this.getInitQuery(model, query)).then(function (e) {\n _this.updateInitValue(mText, mVal, e.result);\n });\n }\n else {\n this.updateInitValue(mText, mVal, new DataManager(model.dataSource).executeLocal(this.getInitQuery(model, query)));\n }\n };\n InPlaceEditor.prototype.getInitQuery = function (model, query) {\n var predicate;\n var mVal = model.fields.value;\n var value = this.value;\n if (this.type !== 'MultiSelect' || typeof (this.value) !== 'object') {\n predicate = new Predicate(mVal, 'equal', this.value);\n }\n else {\n var i = 0;\n for (var _i = 0, value_1 = value; _i < value_1.length; _i++) {\n var val = value_1[_i];\n predicate = ((i === 0) ? predicate = new Predicate(mVal, 'equal', val) : predicate.or(mVal, 'equal', val));\n i++;\n }\n }\n return query.where(predicate);\n };\n InPlaceEditor.prototype.updateInitValue = function (mText, mVal, result) {\n if (result.length <= 0) {\n return;\n }\n if (result.length === 1) {\n this.valueEle.innerHTML = this.checkValue(getValue((isNOU(mText) ? mVal : mText), result[0]));\n }\n else {\n var val = [];\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var obj = result_1[_i];\n val.push(getValue((isNOU(mText) ? mVal : mText), obj));\n }\n this.valueEle.innerHTML = this.checkValue(val.toString());\n }\n hideSpinner(this.valueWrap);\n this.valueWrap.classList.remove(classes.LOAD);\n };\n InPlaceEditor.prototype.renderValue = function (val) {\n this.enableHtmlSanitizer && this.type !== 'RTE' && this.type !== 'MultiSelect' ? this.valueEle.innerText = val :\n (this.valueEle.innerHTML = this.enableHtmlParse ? val : encode(val));\n if (this.type === 'Color') {\n setStyleAttribute(this.valueEle, { 'color': val });\n }\n if (this.mode === 'Inline') {\n if (this.isEditorOpen()) {\n removeClass([this.valueWrap], [classes.HIDE]);\n }\n }\n };\n InPlaceEditor.prototype.isEditorOpen = function () {\n if (this.isVue && (this.enableEditMode || (!isNOU(this.valueWrap) &&\n !(this.valueWrap.classList.contains(classes.HIDE) || this.valueWrap.classList.contains('e-tooltip'))))) {\n return false;\n }\n else {\n return true;\n }\n };\n InPlaceEditor.prototype.renderEditor = function () {\n this.prevValue = this.value;\n this.beginEditArgs = { mode: this.mode, cancelFocus: false, cancel: false };\n this.trigger('beginEdit', this.beginEditArgs);\n if (this.beginEditArgs.cancel) {\n return;\n }\n var tipOptions = undefined;\n var target = select('.' + classes.VALUE_WRAPPER, this.element);\n if (this.editableOn !== 'EditIconClick') {\n target.parentElement.removeAttribute('title');\n }\n if (this.valueWrap.classList.contains(classes.OPEN)) {\n return;\n }\n if (this.mode === 'Inline') {\n addClass([this.valueWrap], [classes.HIDE]);\n this.inlineWrapper = this.createElement('div', { className: classes.INLINE });\n this.element.appendChild(this.inlineWrapper);\n if (['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'].indexOf(this.type) > -1) {\n this.checkRemoteData(this.model);\n }\n else {\n this.renderAndOpen();\n }\n }\n else {\n if (!isNOU(this.popupSettings.model) && this.popupSettings.model.afterOpen) {\n this.popupSettings.model.afterOpen = this.afterOpenHandler.bind(this);\n }\n var content = this.createElement('div', { className: classes.POPUP });\n if (!this.isEmpty(this.popupSettings.title)) {\n this.titleEle.innerHTML = this.popupSettings.title;\n content.appendChild(this.titleEle);\n }\n tipOptions = {\n content: content, opensOn: 'Custom',\n enableRtl: this.enableRtl, cssClass: classes.ROOT_TIP,\n afterOpen: this.afterOpenHandler.bind(this)\n };\n content.appendChild(this.renderControl(document.body));\n extend(tipOptions, this.popupSettings.model, tipOptions, true);\n this.tipObj = new Tooltip(tipOptions);\n this.tipObj.appendTo(target);\n this.tipObj.open(target);\n }\n if (this.actionOnBlur !== 'Ignore') {\n this.wireDocEvent();\n }\n addClass([this.valueWrap], [classes.OPEN]);\n this.setProperties({ enableEditMode: true }, true);\n if (this.isReact) {\n this.renderReactTemplates();\n }\n };\n InPlaceEditor.prototype.renderAndOpen = function () {\n this.renderControl(this.inlineWrapper);\n this.afterOpenHandler(null);\n };\n InPlaceEditor.prototype.checkRemoteData = function (model) {\n var _this = this;\n if (model.dataSource instanceof DataManager) {\n model.dataBound = function () {\n _this.afterOpenHandler(null);\n };\n this.renderControl(this.inlineWrapper);\n if ((isNOU(model.value) && isNOU(this.value)) || (model.value === this.value\n && (!isNOU(model.value) && model.value.length === 0))) {\n this.showDropDownPopup();\n }\n }\n else {\n this.renderAndOpen();\n }\n };\n InPlaceEditor.prototype.showDropDownPopup = function () {\n if (this.type === 'DropDownList') {\n if (!this.model.allowFiltering) {\n this.componentObj.focusIn();\n }\n this.componentObj.showPopup();\n }\n else {\n if (this.isExtModule) {\n this.notify(((this.type === 'MultiSelect') ? events.setFocus : events.showPopup), {});\n }\n }\n };\n InPlaceEditor.prototype.setAttribute = function (ele, attr) {\n var value = this.name && this.name.length !== 0 ? this.name : this.element.id;\n attr.forEach(function (val) {\n ele.setAttribute(val, ((val === 'id') ? (value + '_editor') : value));\n });\n };\n InPlaceEditor.prototype.renderControl = function (target) {\n var ele;\n this.containerEle = this.createElement('div', { className: classes.WRAPPER });\n this.loader = this.createElement('div', { className: classes.LOADING });\n this.formEle = this.createElement('form', { className: classes.FORM });\n var ctrlGroupEle = this.createElement('div', { className: classes.CTRL_GROUP });\n var inputWrap = this.createElement('div', { className: classes.INPUT });\n target.appendChild(this.containerEle);\n this.loadSpinner();\n this.containerEle.appendChild(this.formEle);\n this.formEle.appendChild(ctrlGroupEle);\n if (this.isTemplate) {\n this.appendTemplate(inputWrap, this.template);\n }\n else {\n if (Array.prototype.indexOf.call(this.divComponents, this.type) > -1) {\n ele = this.createElement('div');\n this.setAttribute(ele, ['id']);\n }\n else {\n ele = this.createElement('input');\n this.setAttribute(ele, ['id', 'name']);\n }\n this.componentRoot = ele;\n inputWrap.appendChild(ele);\n inputWrap.appendChild(this.loader);\n }\n ctrlGroupEle.appendChild(inputWrap);\n ctrlGroupEle.appendChild(this.createElement('div', { className: classes.EDITABLE_ERROR }));\n this.appendButtons(this.formEle);\n if (!this.isTemplate) {\n this.renderComponent(ele);\n }\n this.removeSpinner();\n if (this.submitOnEnter) {\n this.wireEditorKeyDownEvent(this.containerEle);\n }\n return this.containerEle;\n };\n InPlaceEditor.prototype.appendButtons = function (trg) {\n if (this.showButtons && trg) {\n this.btnElements = this.renderButtons();\n trg.appendChild(this.btnElements);\n this.wireBtnEvents();\n }\n };\n InPlaceEditor.prototype.renderButtons = function () {\n var btnWrap = this.createElement('div', { className: classes.BUTTONS });\n var primary = (!isNOU(this.saveButton.content) && this.saveButton.content.length !== 0) ? (' ' + classes.PRIMARY) : '';\n this.submitBtn = this.createButtons({\n constant: 'save', type: 'submit', container: btnWrap,\n title: { save: 'Save' }, model: this.saveButton,\n className: classes.BTN_SAVE + primary\n });\n this.cancelBtn = this.createButtons({\n type: 'button', constant: 'cancel', title: { cancel: 'Cancel' },\n container: btnWrap, model: this.cancelButton,\n className: classes.BTN_CANCEL\n });\n return btnWrap;\n };\n InPlaceEditor.prototype.createButtons = function (args) {\n var btnObj = undefined;\n if (Object.keys(args.model).length > 0) {\n var btnEle = this.createElement('button', {\n className: args.className,\n attrs: { 'type': args.type, 'title': (args.constant == \"save\") ? (isNOU(this.saveButton.content) ? this.getLocale(args.title, args.constant) : this.saveButton.content) : (isNOU(this.cancelButton.content) ? this.getLocale(args.title, args.constant) : this.cancelButton.content) }\n });\n args.container.appendChild(btnEle);\n btnObj = new Button(args.model, btnEle);\n }\n return btnObj;\n };\n InPlaceEditor.prototype.renderComponent = function (ele) {\n this.isExtModule = (Array.prototype.indexOf.call(this.moduleList, this.type) > -1) ? true : false;\n var classProp;\n if (!isNOU(this.model.cssClass)) {\n classProp = this.model.cssClass.indexOf(classes.ELEMENTS) < 0 ?\n this.model.cssClass === '' ? classes.ELEMENTS : this.model.cssClass + ' ' + classes.ELEMENTS :\n this.model.cssClass;\n }\n else {\n classProp = classes.ELEMENTS;\n }\n extend(this.model, this.model, {\n cssClass: classProp, enableRtl: this.enableRtl, locale: this.locale, change: this.changeHandler.bind(this)\n });\n if (!isNOU(this.value)) {\n this.updateModelValue(false);\n }\n if (this.isExtModule) {\n this.notify(events.render, { module: modulesList[this.type], target: ele, type: this.type });\n }\n else {\n if (isNOU(this.model.showClearButton) && !isBlazor()) {\n this.model.showClearButton = true;\n }\n switch (this.type) {\n case 'Date':\n this.componentObj = new DatePicker(this.model);\n break;\n case 'DateTime':\n this.componentObj = new DateTimePicker(this.model);\n break;\n case 'DropDownList':\n this.componentObj = new DropDownList(this.model);\n break;\n case 'Mask':\n this.componentObj = new MaskedTextBox(this.model);\n break;\n case 'Numeric':\n if (this.model.value) {\n var expRegex = new RegExp('[eE][\\-+]?([0-9]+)');\n if (expRegex.test(this.model.value)) {\n this.model.value = this.model.value;\n }\n else {\n this.model.value = this.model.value.toString().replace(/[`~!@#$%^&*()_|\\=?;:'\",<>\\{\\}\\[\\]\\\\\\/]/gi, '');\n }\n }\n this.componentObj = new NumericTextBox(this.model);\n break;\n case 'Text':\n this.componentObj = new TextBox(this.model);\n break;\n }\n this.componentObj.appendTo(ele);\n }\n };\n InPlaceEditor.prototype.updateAdaptor = function () {\n switch (this.adaptor) {\n case 'UrlAdaptor':\n this.dataAdaptor = new UrlAdaptor;\n break;\n case 'WebApiAdaptor':\n this.dataAdaptor = new WebApiAdaptor;\n break;\n case 'ODataV4Adaptor':\n this.dataAdaptor = new ODataV4Adaptor;\n break;\n }\n };\n InPlaceEditor.prototype.loadSpinner = function (callType) {\n addClass([this.loader], [classes.SHOW]);\n if (callType === 'validate' && (this.type === 'RTE' || this.type === 'Color' || this.type === 'Slider')) {\n addClass([this.loader], [classes.RTE_SPIN_WRAP]);\n addClass([this.getEditElement()], [classes.CTRL_OVERLAY]);\n this.spinObj = { target: this.loader };\n }\n else {\n this.spinObj = { target: this.loader, width: Browser.isDevice ? '16px' : '14px' };\n }\n if (this.formEle) {\n addClass([this.formEle], [classes.LOAD]);\n }\n if (this.btnElements) {\n addClass([this.btnElements], [classes.HIDE]);\n }\n setStyleAttribute(this.loader, { 'width': '100%' });\n createSpinner(this.spinObj);\n showSpinner(this.spinObj.target);\n };\n InPlaceEditor.prototype.removeSpinner = function (callType) {\n this.loader.removeAttribute('style');\n hideSpinner(this.spinObj.target);\n detach(this.spinObj.target.firstChild);\n if (callType === 'submit' && (this.type === 'RTE' || this.type === 'Color' || this.type === 'Slider')) {\n removeClass([this.loader], [classes.RTE_SPIN_WRAP]);\n removeClass([this.getEditElement()], [classes.CTRL_OVERLAY]);\n }\n if (this.formEle) {\n removeClass([this.formEle], [classes.LOAD]);\n }\n if (this.btnElements) {\n removeClass([this.btnElements], [classes.HIDE]);\n }\n removeClass([this.loader], [classes.SHOW]);\n };\n InPlaceEditor.prototype.getEditElement = function () {\n return select('.' + classes.ELEMENTS, this.formEle);\n };\n InPlaceEditor.prototype.getLocale = function (prop, val) {\n return new L10n('inplace-editor', prop, this.locale).getConstant(val);\n };\n InPlaceEditor.prototype.checkValue = function (val) {\n return (!this.isEmpty(val)) ? val : this.emptyText;\n };\n InPlaceEditor.prototype.extendModelValue = function (val) {\n var model = this.model;\n extend(model, { value: val });\n this.setProperties({ model: model }, true);\n };\n InPlaceEditor.prototype.updateValue = function () {\n this.oldValue = this.value;\n if (this.enableHtmlSanitizer && typeof (this.value) === 'string') {\n this.oldValue = this.sanitizeHelper(this.value);\n }\n if (!isNOU(this.value)) {\n this.setProperties({ value: getCompValue(this.type, this.oldValue) }, true);\n this.extendModelValue(getCompValue(this.type, this.oldValue));\n }\n };\n InPlaceEditor.prototype.updateModelValue = function (updateOldValue) {\n if (this.type === 'MultiSelect' && !this.isEmpty(this.value)) {\n this.model.value = !updateOldValue ? this.value.slice() : this.oldValue.slice();\n }\n else {\n this.model.value = !updateOldValue ? this.value : this.oldValue;\n }\n };\n InPlaceEditor.prototype.setValue = function () {\n if (this.isExtModule) {\n this.notify(events.update, { type: this.type });\n }\n else if (this.componentObj) {\n if (this.type === 'Numeric' && this.componentObj.value === null) {\n this.componentObj.setProperties({ value: null }, true);\n }\n this.setProperties({ value: this.componentObj.value }, true);\n this.extendModelValue(this.componentObj.value);\n }\n };\n InPlaceEditor.prototype.getDropDownsValue = function (display) {\n var value;\n if (Array.prototype.indexOf.call(this.dropDownEle, this.type) > -1 && this.type !== 'MultiSelect') {\n value = display ? select('.e-' + this.type.toLocaleLowerCase(), this.containerEle).value :\n this.value.toString();\n }\n else if (this.type === 'MultiSelect') {\n this.notify(events.accessValue, { type: this.type });\n value = display ? this.printValue : this.value.join();\n }\n return value;\n };\n InPlaceEditor.prototype.getSendValue = function () {\n if (this.isEmpty(this.value)) {\n return '';\n }\n if (Array.prototype.indexOf.call(this.dropDownEle, this.type) > -1) {\n return this.getDropDownsValue(false);\n }\n else if (Array.prototype.indexOf.call(this.dateType, this.type) > -1) {\n return this.value.toISOString();\n }\n else if (this.type === 'DateRange') {\n return this.value[0].toISOString() + ' - ' + this.value[1].toISOString();\n }\n else {\n return this.value.toString();\n }\n };\n InPlaceEditor.prototype.getRenderValue = function () {\n if (this.type === 'Mask' && this.componentObj.value.length !== 0) {\n return this.componentObj.getMaskedValue();\n }\n else if (Array.prototype.indexOf.call(this.inputDataEle, this.type) > -1) {\n return this.componentRoot.value;\n }\n else if (Array.prototype.indexOf.call(this.dropDownEle, this.type) > -1) {\n return this.getDropDownsValue(true);\n }\n else {\n return parseValue(this.type, this.value, this.model);\n }\n };\n InPlaceEditor.prototype.setRtl = function (value) {\n value ? addClass([this.element], [classes.RTL]) : removeClass([this.element], [classes.RTL]);\n };\n InPlaceEditor.prototype.setFocus = function () {\n if (this.isTemplate) {\n return;\n }\n this.isExtModule ? this.notify(events.setFocus, {}) : this.componentObj.getModuleName() === 'dropdownlist' ? this.componentObj.focusIn() : this.componentObj.element.focus();\n };\n InPlaceEditor.prototype.removeEditor = function (isBlazorDestroy) {\n var blazorContain = Object.keys(window);\n if (isBlazor() && !this.isStringTemplate) {\n resetBlazorTemplate(this.element.id + 'template', 'Template');\n }\n var tipEle;\n if (this.tipObj && this.formEle) {\n tipEle = closest(this.formEle, '.' + classes.ROOT_TIP);\n tipEle.classList.add(classes.HIDE);\n }\n this.unWireDocEvent();\n this.destroyComponents();\n this.formEle = undefined;\n if (!isNOU(select('.' + classes.INLINE, this.element))) {\n detach(this.inlineWrapper);\n this.inlineWrapper = undefined;\n }\n else if (this.tipObj) {\n if (this.type === 'MultiSelect') {\n EventHandler.remove(this.containerEle, 'mousedown', this.popMouseDown);\n EventHandler.remove(this.containerEle, 'click', this.popClickHandler);\n }\n this.tipObj.close();\n this.tipObj.destroy();\n this.tipObj = undefined;\n }\n this.containerEle = undefined;\n removeClass([this.valueWrap], [classes.OPEN, classes.HIDE]);\n if (!isBlazorDestroy) {\n this.setProperties({ enableEditMode: false }, true);\n }\n if (this.editableOn !== 'EditIconClick') {\n var titleConstant = (this.editableOn === 'DblClick') ? 'editAreaDoubleClick' : 'editAreaClick';\n if (!isNOU(this.valueWrap.parentElement)) {\n this.valueWrap.parentElement.setAttribute('title', this.getLocale(localeConstant[this.editableOn], titleConstant));\n }\n }\n if (this.isReact) {\n this.clearTemplate();\n }\n };\n InPlaceEditor.prototype.destroyComponents = function () {\n if (this.showButtons) {\n this.destroyButtons();\n }\n if (this.isExtModule) {\n this.notify(events.destroyModules, {});\n }\n else {\n if (this.templateEle) {\n document.body.appendChild(this.templateEle);\n this.templateEle.style.display = 'none';\n this.templateEle = undefined;\n }\n if (!isNOU(this.componentObj)) {\n this.componentObj.destroy();\n this.componentObj = undefined;\n }\n }\n if (this.formValidate) {\n this.formValidate = undefined;\n }\n if (this.submitOnEnter && this.containerEle) {\n this.unWireEditorKeyDownEvent(this.containerEle);\n }\n };\n InPlaceEditor.prototype.destroyButtons = function () {\n if (!isNOU(this.submitBtn)) {\n EventHandler.remove(this.submitBtn.element, 'mousedown', this.submitHandler);\n EventHandler.remove(this.submitBtn.element, 'click', this.submitPrevent);\n EventHandler.remove(this.submitBtn.element, 'keydown', this.btnKeyDownHandler);\n this.submitBtn.destroy();\n this.submitBtn = undefined;\n }\n if (!isNOU(this.cancelBtn)) {\n EventHandler.remove(this.cancelBtn.element, 'mousedown', this.cancelBtnClick);\n EventHandler.remove(this.cancelBtn.element, 'keydown', this.btnKeyDownHandler);\n this.cancelBtn.destroy();\n this.cancelBtn = undefined;\n }\n this.btnElements = undefined;\n };\n InPlaceEditor.prototype.getQuery = function (params) {\n var query = new Query();\n Object.keys(params).forEach(function (key) {\n query.addParams(key, params[key]);\n });\n return query;\n };\n InPlaceEditor.prototype.sendValue = function () {\n var _this = this;\n var eventArgs = { data: { name: this.name, primaryKey: this.primaryKey, value: this.getSendValue() } };\n this.trigger('actionBegin', eventArgs, function (actionBeginArgs) {\n if (actionBeginArgs.cancel) {\n _this.removeSpinner('submit');\n if (_this.mode === 'Popup') {\n _this.updateArrow();\n }\n }\n else {\n if (!_this.isEmpty(_this.url) && !_this.isEmpty(_this.primaryKey)\n && (_this.initRender || (!_this.initRender && _this.prevValue !== _this.value))) {\n _this.dataManager = new DataManager({ url: _this.url, adaptor: _this.dataAdaptor });\n if (_this.adaptor === 'UrlAdaptor') {\n _this.dataManager.executeQuery(_this.getQuery(actionBeginArgs.data), _this.successHandler.bind(_this), _this.failureHandler.bind(_this));\n }\n else {\n var crud = _this.dataManager.insert(actionBeginArgs.data);\n crud.then(function (e) { return _this.successHandler(e); }).catch(function (e) { return _this.failureHandler(e); });\n }\n }\n else {\n var eventArg = { data: {}, value: actionBeginArgs.data.value };\n _this.triggerSuccess(eventArg);\n }\n _this.dataManager = undefined;\n }\n });\n };\n InPlaceEditor.prototype.isEmpty = function (value) {\n return (!isNOU(value) && value.length !== 0) ? false : true;\n };\n InPlaceEditor.prototype.checkIsTemplate = function () {\n this.isTemplate = (!isNOU(this.template) && this.template !== '') ? true : false;\n };\n InPlaceEditor.prototype.templateCompile = function (trgEle, tempStr) {\n var tempEle;\n var blazorContain = Object.keys(window);\n if (typeof tempStr === 'string') {\n tempStr = tempStr.trim();\n }\n var compiler = compile(tempStr);\n if (!isNOU(compiler)) {\n var isString = (isBlazor() && typeof tempStr !== 'function' &&\n !this.isStringTemplate && (tempStr).indexOf('<div>Blazor') === 0) ?\n this.isStringTemplate : true;\n tempEle = compiler({}, this, 'template', this.element.id + 'template', isString);\n }\n if (!isNOU(compiler) && tempEle.length > 0) {\n [].slice.call(tempEle).forEach(function (el) {\n trgEle.appendChild(el);\n });\n if (isBlazor() && !this.isStringTemplate && typeof tempStr !== 'function' &&\n (tempStr).indexOf('<div>Blazor') === 0) {\n updateBlazorTemplate(this.element.id + 'template', 'Template', this);\n }\n }\n };\n /**\n * @param {string} value - specifies the string value\n * @returns {string} - returns the string\n * @hidden\n */\n InPlaceEditor.prototype.sanitizeHelper = function (value) {\n if (this.enableHtmlSanitizer) {\n var item_1 = SanitizeHtmlHelper.beforeSanitize();\n var beforeEvent = {\n cancel: false,\n helper: null\n };\n extend(item_1, item_1, beforeEvent);\n this.trigger('beforeSanitizeHtml', item_1, function (args) {\n if (item_1.cancel && !isNOU(item_1.helper)) {\n value = item_1.helper(value);\n }\n else if (!item_1.cancel) {\n value = SanitizeHtmlHelper.serializeValue(item_1, value);\n }\n });\n }\n return value;\n };\n InPlaceEditor.prototype.appendTemplate = function (trgEle, tempStr) {\n tempStr = typeof (tempStr) === 'string' ? this.sanitizeHelper(tempStr) : tempStr;\n this.setProperties({ template: tempStr }, true);\n if (typeof tempStr === 'function') {\n this.templateCompile(trgEle, tempStr);\n }\n else if (typeof tempStr === 'string' || isNOU(tempStr.innerHTML)) {\n if (tempStr[0] === '.' || tempStr[0] === '#') {\n if (document.querySelectorAll(tempStr).length) {\n this.templateEle = document.querySelector(tempStr);\n trgEle.appendChild(this.templateEle);\n this.templateEle.style.display = '';\n }\n else {\n this.templateCompile(trgEle, tempStr);\n }\n }\n else {\n this.templateCompile(trgEle, tempStr);\n }\n }\n else {\n this.templateEle = tempStr;\n trgEle.appendChild(this.templateEle);\n }\n };\n InPlaceEditor.prototype.disable = function (value) {\n value ? addClass([this.element], [classes.DISABLE]) : removeClass([this.element], [classes.DISABLE]);\n };\n InPlaceEditor.prototype.enableEditor = function (val, isInit) {\n if (isInit && !val) {\n return;\n }\n (val) ? this.renderEditor() : this.cancelHandler('cancel');\n };\n InPlaceEditor.prototype.checkValidation = function (fromSubmit, isValidate) {\n var _this = this;\n var args;\n if (this.validationRules) {\n var rules = Object.keys(this.validationRules);\n var validationLength_1 = Object.keys(this.validationRules[rules[0]]).length;\n validationLength_1 = 'validateHidden' in this.validationRules[rules[0]] ? validationLength_1 - 1 : validationLength_1;\n var count_1 = 0;\n this.formValidate = new FormValidator(this.formEle, {\n rules: this.validationRules,\n validationBegin: function (e) {\n if (_this.type === 'RTE') {\n var ele = document.createElement('div');\n ele.innerHTML = e.value;\n e.value = ele.innerText;\n }\n },\n validationComplete: function (e) {\n count_1 = count_1 + 1;\n args = {\n errorMessage: e.message,\n data: { name: _this.name, primaryKey: _this.primaryKey, value: _this.checkValue(_this.getSendValue()) }\n };\n _this.trigger('validating', args, function (validateArgs) {\n if (e.status === 'failure') {\n e.errorElement.innerText = validateArgs.errorMessage;\n _this.toggleErrorClass(true);\n }\n else {\n _this.toggleErrorClass(false);\n }\n if (!isNOU(fromSubmit) && fromSubmit && (validationLength_1 === count_1 || e.status === 'failure')) {\n fromSubmit = false;\n _this.afterValidation(isValidate);\n count_1 = 0;\n }\n });\n },\n customPlacement: function (inputElement, errorElement) {\n if (_this.formEle) {\n select('.' + classes.EDITABLE_ERROR, _this.formEle).appendChild(errorElement);\n }\n }\n });\n count_1 = 0;\n this.formValidate.validate();\n }\n else if (this.template !== '') {\n args = {\n errorMessage: '',\n data: { name: this.name, primaryKey: this.primaryKey, value: this.checkValue(this.getSendValue()) }\n };\n this.trigger('validating', args, function (validateArgs) {\n if (validateArgs.errorMessage) {\n select('.' + classes.EDITABLE_ERROR, _this.formEle).innerHTML = validateArgs.errorMessage;\n _this.toggleErrorClass(true);\n }\n else {\n _this.toggleErrorClass(false);\n }\n _this.afterValidation(isValidate);\n });\n }\n else {\n this.afterValidation(isValidate);\n }\n };\n InPlaceEditor.prototype.afterValidation = function (isValidate) {\n if (!this.formEle.classList.contains(classes.ERROR) && isValidate) {\n this.loadSpinner('validate');\n if (this.mode === 'Popup') {\n this.updateArrow();\n }\n this.sendValue();\n }\n };\n InPlaceEditor.prototype.toggleErrorClass = function (value) {\n if (isNOU(this.formEle)) {\n return;\n }\n var inputEle = select('.e-input-group', this.formEle);\n var errorClass = function (element, val, action) {\n [].slice.call(element).forEach(function (ele) {\n if (ele) {\n action === 'add' ? addClass([ele], [val]) : removeClass([ele], [val]);\n }\n });\n };\n errorClass([this.formEle, inputEle], classes.ERROR, value ? 'add' : 'remove');\n };\n InPlaceEditor.prototype.updateArrow = function () {\n var pos = this.tipObj.tipPointerPosition;\n this.tipObj.tipPointerPosition = (pos === 'Middle') ? 'Auto' : 'Middle';\n this.tipObj.tipPointerPosition = pos;\n this.tipObj.dataBind();\n };\n InPlaceEditor.prototype.triggerSuccess = function (args) {\n var _this = this;\n var val = args.value;\n this.trigger('actionSuccess', args, function (actionArgs) {\n _this.oldValue = val;\n _this.removeSpinner('submit');\n if (!actionArgs.cancel) {\n _this.renderValue(_this.checkValue((actionArgs.value !== val) ? actionArgs.value : _this.getRenderValue()));\n }\n if (actionArgs.cancel && _this.mode === 'Inline') {\n removeClass([_this.valueWrap], [classes.HIDE]);\n }\n _this.removeEditor();\n });\n };\n InPlaceEditor.prototype.triggerEndEdit = function (closeBeginBy) {\n var _this = this;\n var endEditArgs = { cancel: false, mode: this.mode, action: closeBeginBy };\n this.trigger('endEdit', endEditArgs, function (args) {\n if (!args.cancel) {\n if (_this.formEle && _this.formEle.classList.contains(classes.ERROR)) {\n _this.updateModelValue(true);\n _this.setProperties({ value: _this.oldValue }, true);\n }\n _this.removeEditor();\n }\n });\n };\n InPlaceEditor.prototype.wireEvents = function () {\n this.wireEditEvent(this.editableOn);\n EventHandler.add(this.editIcon, 'click', this.clickHandler, this);\n EventHandler.add(this.element, 'keydown', this.valueKeyDownHandler, this);\n document.addEventListener('scroll', this.onScrollResizeHandler);\n window.addEventListener('resize', this.onScrollResizeHandler);\n if (Array.prototype.indexOf.call(this.clearComponents, this.type) > -1) {\n EventHandler.add(this.element, 'mousedown', this.mouseDownHandler, this);\n }\n };\n InPlaceEditor.prototype.wireDocEvent = function () {\n EventHandler.add(document, 'mousedown', this.docClickHandler, this);\n };\n InPlaceEditor.prototype.wireEditEvent = function (event) {\n if (event === 'EditIconClick') {\n return;\n }\n var titleConstant = (event === 'Click') ? 'editAreaClick' : 'editAreaDoubleClick';\n this.element.setAttribute('title', this.getLocale(localeConstant[event], titleConstant));\n if (Browser.isDevice && Browser.isIos && event === 'DblClick') {\n this.touchModule = new Touch(this.valueWrap, { tap: this.doubleTapHandler.bind(this) });\n }\n else {\n EventHandler.add(this.valueWrap, event.toLowerCase(), this.clickHandler, this);\n }\n };\n InPlaceEditor.prototype.wireEditorKeyDownEvent = function (ele) {\n EventHandler.add(ele, 'keydown', this.enterKeyDownHandler, this);\n };\n InPlaceEditor.prototype.wireBtnEvents = function () {\n if (!isNOU(this.submitBtn)) {\n EventHandler.add(this.submitBtn.element, 'mousedown', this.submitHandler, this);\n EventHandler.add(this.submitBtn.element, 'click', this.submitPrevent, this);\n EventHandler.add(this.submitBtn.element, 'keydown', this.btnKeyDownHandler, this);\n }\n if (!isNOU(this.cancelBtn)) {\n EventHandler.add(this.cancelBtn.element, 'mousedown', this.cancelBtnClick, this);\n EventHandler.add(this.cancelBtn.element, 'keydown', this.btnKeyDownHandler, this);\n }\n };\n InPlaceEditor.prototype.cancelBtnClick = function (e) {\n this.cancelHandler('cancel');\n this.trigger('cancelClick', e);\n };\n InPlaceEditor.prototype.unWireEvents = function () {\n this.unWireEditEvent(this.editableOn);\n EventHandler.remove(this.editIcon, 'click', this.clickHandler);\n document.removeEventListener('scroll', this.onScrollResizeHandler);\n window.removeEventListener('resize', this.onScrollResizeHandler);\n EventHandler.remove(this.element, 'keydown', this.valueKeyDownHandler);\n if (Array.prototype.indexOf.call(this.clearComponents, this.type) > -1) {\n EventHandler.remove(this.element, 'mousedown', this.mouseDownHandler);\n }\n };\n InPlaceEditor.prototype.unWireDocEvent = function () {\n EventHandler.remove(document, 'mousedown', this.docClickHandler);\n };\n InPlaceEditor.prototype.unWireEditEvent = function (event) {\n if (event === 'EditIconClick') {\n return;\n }\n this.element.removeAttribute('title');\n if (Browser.isDevice && Browser.isIos && event === 'DblClick') {\n this.touchModule.destroy();\n this.touchModule = undefined;\n }\n else {\n EventHandler.remove(this.valueWrap, event.toLowerCase(), this.clickHandler);\n }\n };\n InPlaceEditor.prototype.unWireEditorKeyDownEvent = function (ele) {\n EventHandler.remove(ele, 'keydown', this.enterKeyDownHandler);\n };\n InPlaceEditor.prototype.submitPrevent = function (e) {\n e.preventDefault();\n };\n InPlaceEditor.prototype.btnKeyDownHandler = function (e) {\n var trg = e.target;\n if ((e.keyCode === 13 && e.which === 13) || (e.keyCode === 32 && e.which === 32)) {\n if (trg.classList.contains(classes.BTN_SAVE)) {\n this.save();\n }\n else if (trg.classList.contains(classes.BTN_CANCEL)) {\n this.cancelHandler('cancel');\n }\n }\n if (e.keyCode === 9 && e.shiftKey === false &&\n (isNOU(e.target.nextElementSibling) ||\n e.target.nextElementSibling.tagName !== 'BUTTON')) {\n if (this.actionOnBlur === 'Submit') {\n this.save();\n }\n else if (this.actionOnBlur === 'Cancel') {\n this.cancelHandler('cancel');\n }\n }\n };\n InPlaceEditor.prototype.afterOpenHandler = function (e) {\n if (this.mode === 'Popup' && this.type === 'MultiSelect') {\n EventHandler.add(this.containerEle, 'mousedown', this.popMouseDown, this);\n EventHandler.add(this.containerEle, 'click', this.popClickHandler, this);\n }\n if (this.mode === 'Popup' && !this.isEmpty(this.titleEle.innerHTML)) {\n e.element.classList.add(classes.TIP_TITLE);\n }\n if (this.type === 'RTE') {\n this.rteModule.refresh();\n this.setAttribute(select('.e-richtexteditor textarea', this.containerEle), ['name']);\n }\n else if (this.type === 'Slider') {\n this.sliderModule.refresh();\n this.setAttribute(select('.e-slider-input', this.containerEle), ['name']);\n }\n if (!this.beginEditArgs.cancelFocus) {\n if (this.mode === 'Inline' && (['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'].indexOf(this.type) > -1)\n && this.model.dataSource instanceof DataManager) {\n this.showDropDownPopup();\n }\n else {\n this.setFocus();\n }\n }\n if (this.afterOpenEvent) {\n this.tipObj.setProperties({ afterOpen: this.afterOpenEvent }, true);\n this.tipObj.trigger('afterOpen', e);\n }\n };\n InPlaceEditor.prototype.popMouseDown = function (e) {\n var trgClass = e.target.classList;\n if (trgClass.contains('e-chips-close') && !trgClass.contains('e-close-hooker')) {\n this.updateArrow();\n }\n };\n InPlaceEditor.prototype.doubleTapHandler = function (e) {\n if (e.tapCount > 1) {\n this.clickHandler(e.originalEvent);\n }\n };\n InPlaceEditor.prototype.clickHandler = function (e) {\n if (this.editableOn !== 'EditIconClick') {\n e.stopPropagation();\n }\n this.renderEditor();\n };\n InPlaceEditor.prototype.submitHandler = function (e) {\n e.preventDefault();\n this.save();\n this.trigger('submitClick', e);\n };\n InPlaceEditor.prototype.cancelHandler = function (action) {\n this.triggerEndEdit(action);\n };\n InPlaceEditor.prototype.popClickHandler = function (e) {\n var tipTarget = select('.' + classes.VALUE_WRAPPER, this.element);\n if (e.target.classList.contains('e-chips-close')) {\n this.tipObj.refresh(tipTarget);\n }\n };\n InPlaceEditor.prototype.successHandler = function (e) {\n this.initRender = false;\n var eventArgs = { data: e, value: this.getSendValue() };\n this.triggerSuccess(eventArgs);\n };\n InPlaceEditor.prototype.failureHandler = function (e) {\n var _this = this;\n var eventArgs = { data: e, value: this.getSendValue() };\n this.trigger('actionFailure', eventArgs, function (args) {\n _this.removeSpinner('submit');\n if (_this.mode === 'Popup') {\n _this.updateArrow();\n }\n });\n };\n InPlaceEditor.prototype.enterKeyDownHandler = function (e) {\n if (!closest(e.target, '.' + classes.INPUT + ' .e-richtexteditor') && (!e.currentTarget.getElementsByTagName(\"textarea\")[0])) {\n if ((e.keyCode === 13 && e.which === 13) && closest(e.target, '.' + classes.INPUT)) {\n this.save();\n this.trigger('submitClick', e);\n }\n else if (e.keyCode === 27 && e.which === 27) {\n this.cancelHandler('cancel');\n }\n }\n };\n InPlaceEditor.prototype.valueKeyDownHandler = function (e) {\n if (e.keyCode === 9 && e.shiftKey === true && e.target.tagName !== 'BUTTON') {\n if (this.actionOnBlur === 'Submit') {\n this.save();\n }\n else if (this.actionOnBlur === 'Cancel') {\n this.cancelHandler('cancel');\n }\n }\n if ((e.keyCode === 13 && e.which === 13) && e.target.classList.contains(classes.ROOT) &&\n !this.valueWrap.classList.contains(classes.OPEN) && !this.element.classList.contains(classes.DISABLE)) {\n e.preventDefault();\n this.renderEditor();\n }\n };\n InPlaceEditor.prototype.mouseDownHandler = function (e) {\n if (e.target.classList.contains('e-clear-icon')) {\n this.isClearTarget = true;\n }\n };\n InPlaceEditor.prototype.scrollResizeHandler = function () {\n if (this.mode === 'Popup' && this.tipObj && !(Browser.isDevice)) {\n this.triggerEndEdit('cancel');\n }\n };\n InPlaceEditor.prototype.docClickHandler = function (e) {\n var trg = e.target;\n if (this.isClearTarget) {\n this.isClearTarget = false;\n return;\n }\n var relateRoot = closest(trg, '.' + classes.ROOT);\n var relateTipRoot = closest(trg, '.' + classes.ROOT_TIP);\n var relateElements = closest(trg, '.' + classes.ELEMENTS);\n var relateRTEElements = closest(trg, '.e-rte-elements');\n if ((!isNOU(relateRoot) && relateRoot.isEqualNode(this.element)) ||\n (!isNOU(relateTipRoot) && this.tipObj && (relateTipRoot.id.indexOf(this.valueWrap.id) > -1)) ||\n !isNOU(relateElements) || !isNOU(relateRTEElements) || trg.classList.contains('e-chips-close')) {\n return;\n }\n else {\n if (this.actionOnBlur === 'Submit') {\n this.save();\n }\n else if (this.actionOnBlur === 'Cancel') {\n this.cancelHandler('cancel');\n }\n }\n };\n InPlaceEditor.prototype.changeHandler = function (e) {\n var eventArgs = {\n previousValue: this.compPrevValue === undefined ? this.value : this.compPrevValue,\n value: e.value\n };\n if (this.type === 'AutoComplete' || this.type === 'ComboBox' || this.type === 'DropDownList') {\n eventArgs.itemData = e.itemData;\n eventArgs.previousItemData = e.previousItemData;\n }\n this.compPrevValue = eventArgs.value;\n this.trigger('change', eventArgs);\n };\n /**\n * Validate current editor value.\n *\n * @returns {void}\n */\n InPlaceEditor.prototype.validate = function () {\n this.checkValidation(true, false);\n };\n /**\n * Submit the edited input value to the server.\n *\n * @returns {void}\n */\n InPlaceEditor.prototype.save = function () {\n var _this = this;\n if (!this.formEle) {\n return;\n }\n this.element.focus();\n this.editEle = select('.' + classes.INPUT, this.formEle);\n var errEle = null;\n errEle = select('.' + classes.ERROR, this.editEle);\n if (!this.isTemplate) {\n this.setValue();\n }\n var endEditArgs = { cancel: false, mode: this.mode, action: 'submit' };\n this.trigger('endEdit', endEditArgs, function (args) {\n if (!args.cancel) {\n _this.checkValidation(true, true);\n }\n });\n };\n /**\n * Removes the control from the DOM and also removes all its related events.\n *\n * @returns {void}\n */\n InPlaceEditor.prototype.destroy = function () {\n var _this = this;\n this.removeEditor(isBlazor());\n if (this.isExtModule) {\n this.notify(events.destroy, {});\n }\n this.unWireEvents();\n var classList = [classes.DISABLE, classes.RTL];\n classList.forEach(function (val) {\n removeClass([_this.element], [val]);\n });\n while (this.element.firstElementChild) {\n this.element.removeChild(this.element.firstElementChild);\n }\n if (!(isBlazor() && this.isServerRendered)) {\n _super.prototype.destroy.call(this);\n }\n if (this.isReact) {\n this.clearTemplate();\n }\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} - returns the string\n */\n InPlaceEditor.prototype.getPersistData = function () {\n return this.addOnPersist(['value']);\n };\n /**\n * To provide the array of modules needed for component rendering\n *\n * @returns {ModuleDeclaration[]} - returns the module declaration\n * @hidden\n */\n InPlaceEditor.prototype.requiredModules = function () {\n var modules = [];\n if (Array.prototype.indexOf.call(this.moduleList, this.type) > -1) {\n modules.push({ member: modulesList[this.type], args: [this] });\n }\n return modules;\n };\n /**\n * Returns the current module name.\n *\n * @returns {string} - returrns the string\n * @private\n */\n InPlaceEditor.prototype.getModuleName = function () {\n return 'inplaceeditor';\n };\n /**\n * Gets called when the model property changes.The data that describes the old and new values of property that changed.\n *\n * @param {InPlaceEditorModel} newProp - specifies the new property\n * @param {InPlaceEditorModel} oldProp - specifies the old property\n * @returns {void}\n * @private\n */\n InPlaceEditor.prototype.onPropertyChanged = function (newProp, oldProp) {\n var checkValidation = this.validationRules ? !isNOU(this.element.querySelectorAll('.' + classes.ERROR)) &&\n this.element.querySelectorAll('.' + classes.ERROR).length > 0 ? false : true : true;\n if (checkValidation) {\n if (this.isEditorOpen()) {\n var editModeChanged = 'enableEditMode' in newProp;\n if ((editModeChanged && oldProp.enableEditMode && !newProp.enableEditMode) || (!editModeChanged && this.enableEditMode)) {\n this.triggerEndEdit('cancel');\n }\n else {\n this.removeEditor();\n }\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'showButtons':\n (newProp.showButtons) ? this.appendButtons(this.formEle) : this.destroyButtons();\n break;\n case 'value':\n this.updateValue();\n this.textOption === 'Never' ? this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)))\n : this.renderInitialValue();\n break;\n case 'emptyText':\n this.textOption === 'Never' ? this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)))\n : this.renderInitialValue();\n break;\n case 'template':\n this.checkIsTemplate();\n break;\n case 'disabled':\n this.disable(newProp.disabled);\n newProp.disabled ? this.element.tabIndex = -1 : this.element.tabIndex = 0;\n break;\n case 'enableRtl':\n this.setRtl(newProp.enableRtl);\n break;\n case 'cssClass':\n this.setClass('remove', oldProp.cssClass);\n this.setClass('add', newProp.cssClass);\n break;\n case 'mode':\n this.enableEditor(this.enableEditMode);\n break;\n case 'enableEditMode':\n this.enableEditor(newProp.enableEditMode);\n break;\n case 'editableOn':\n this.unWireEditEvent(oldProp.editableOn);\n if (newProp.editableOn !== 'EditIconClick') {\n this.wireEditEvent(newProp.editableOn);\n }\n break;\n }\n }\n }\n };\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"name\", void 0);\n __decorate([\n Property(null)\n ], InPlaceEditor.prototype, \"value\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"template\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"enableHtmlParse\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"cssClass\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"primaryKey\", void 0);\n __decorate([\n Property('Empty')\n ], InPlaceEditor.prototype, \"emptyText\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"url\", void 0);\n __decorate([\n Property('Popup')\n ], InPlaceEditor.prototype, \"mode\", void 0);\n __decorate([\n Property('UrlAdaptor')\n ], InPlaceEditor.prototype, \"adaptor\", void 0);\n __decorate([\n Property('Text')\n ], InPlaceEditor.prototype, \"type\", void 0);\n __decorate([\n Property('Click')\n ], InPlaceEditor.prototype, \"editableOn\", void 0);\n __decorate([\n Property('Never')\n ], InPlaceEditor.prototype, \"textOption\", void 0);\n __decorate([\n Property('Submit')\n ], InPlaceEditor.prototype, \"actionOnBlur\", void 0);\n __decorate([\n Property(false)\n ], InPlaceEditor.prototype, \"enablePersistence\", void 0);\n __decorate([\n Property(false)\n ], InPlaceEditor.prototype, \"disabled\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"showButtons\", void 0);\n __decorate([\n Property(false)\n ], InPlaceEditor.prototype, \"enableEditMode\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"submitOnEnter\", void 0);\n __decorate([\n Complex({}, PopupSettings)\n ], InPlaceEditor.prototype, \"popupSettings\", void 0);\n __decorate([\n Property(null)\n ], InPlaceEditor.prototype, \"model\", void 0);\n __decorate([\n Property({ iconCss: 'e-icons e-save-icon' })\n ], InPlaceEditor.prototype, \"saveButton\", void 0);\n __decorate([\n Property({ iconCss: 'e-icons e-cancel-icon' })\n ], InPlaceEditor.prototype, \"cancelButton\", void 0);\n __decorate([\n Property(null)\n ], InPlaceEditor.prototype, \"validationRules\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"created\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"beforeSanitizeHtml\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"actionBegin\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"actionSuccess\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"actionFailure\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"validating\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"beginEdit\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"endEdit\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"change\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"submitClick\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"cancelClick\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"destroyed\", void 0);\n InPlaceEditor = __decorate([\n NotifyPropertyChanges\n ], InPlaceEditor);\n return InPlaceEditor;\n}(Component));\nexport { InPlaceEditor };\n","/**\n * Base modules\n */\nexport * from './util';\nexport * from './events';\nexport * from './models';\nexport * from './classes';\nexport * from './inplace-editor';\n","import { isNullOrUndefined as isNOU } from '@syncfusion/ej2-base';\nimport * as events from '../base/events';\n/**\n * The `Base` module.\n */\nvar Base = /** @class */ (function () {\n function Base(parent, module) {\n this.parent = parent;\n this.module = module;\n this.addEventListener();\n }\n Base.prototype.render = function (e) {\n this.module.render(e);\n };\n Base.prototype.showPopup = function () {\n this.module.showPopup();\n };\n Base.prototype.focus = function () {\n this.module.focus();\n };\n Base.prototype.update = function (e) {\n this.module.updateValue(e);\n };\n Base.prototype.getValue = function () {\n this.module.getRenderValue();\n };\n Base.prototype.destroyComponent = function () {\n if (isNOU(this.module.compObj)) {\n return;\n }\n this.module.compObj.destroy();\n this.module.compObj = undefined;\n };\n Base.prototype.destroy = function () {\n this.destroyComponent();\n this.removeEventListener();\n };\n Base.prototype.addEventListener = function () {\n this.parent.on(events.render, this.render, this);\n this.parent.on(events.setFocus, this.focus, this);\n this.parent.on(events.showPopup, this.showPopup, this);\n this.parent.on(events.update, this.update, this);\n this.parent.on(events.accessValue, this.getValue, this);\n this.parent.on(events.destroyModules, this.destroyComponent, this);\n this.parent.on(events.destroy, this.destroy, this);\n };\n Base.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(events.render, this.render);\n this.parent.off(events.setFocus, this.focus);\n this.parent.off(events.showPopup, this.showPopup);\n this.parent.off(events.update, this.update);\n this.parent.off(events.accessValue, this.getValue);\n this.parent.off(events.destroyModules, this.destroyComponent);\n this.parent.off(events.destroy, this.destroy);\n };\n return Base;\n}());\nexport { Base };\n","import { AutoComplete as EJ2AutoComplete } from '@syncfusion/ej2-dropdowns';\nimport { Base } from './base-module';\n/**\n * The `AutoComplete` module is used configure the properties of Auto complete type editor.\n */\nvar AutoComplete = /** @class */ (function () {\n function AutoComplete(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.atcModule = this;\n this.base = new Base(this.parent, this);\n }\n AutoComplete.prototype.render = function (e) {\n this.compObj = new EJ2AutoComplete(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n /**\n * @hidden\n * @returns {void}\n */\n AutoComplete.prototype.showPopup = function () {\n this.compObj.focusIn();\n this.compObj.showPopup();\n };\n AutoComplete.prototype.focus = function () {\n this.compObj.element.focus();\n };\n AutoComplete.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'AutoComplete') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n AutoComplete.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n AutoComplete.prototype.getModuleName = function () {\n return 'auto-complete';\n };\n return AutoComplete;\n}());\nexport { AutoComplete };\n","import { ColorPicker as EJ2ColorPicker } from '@syncfusion/ej2-inputs';\nimport { Base } from './base-module';\n/**\n * The `ColorPicker` module is used configure the properties of Color picker type editor.\n */\nvar ColorPicker = /** @class */ (function () {\n function ColorPicker(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.colorModule = this;\n this.base = new Base(this.parent, this);\n }\n ColorPicker.prototype.render = function (e) {\n this.compObj = new EJ2ColorPicker(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n ColorPicker.prototype.focus = function () {\n this.compObj.element.focus();\n };\n ColorPicker.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'Color') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n ColorPicker.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - retunrs the string\n */\n ColorPicker.prototype.getModuleName = function () {\n return 'color-picker';\n };\n return ColorPicker;\n}());\nexport { ColorPicker };\n","import { ComboBox as EJ2ComboBox } from '@syncfusion/ej2-dropdowns';\nimport { Base } from './base-module';\n/**\n * The `ComboBox` module is used configure the properties of Combo box type editor.\n */\nvar ComboBox = /** @class */ (function () {\n function ComboBox(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.comboBoxModule = this;\n this.base = new Base(this.parent, this);\n }\n ComboBox.prototype.render = function (e) {\n this.compObj = new EJ2ComboBox(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n ComboBox.prototype.focus = function () {\n this.compObj.element.focus();\n };\n /**\n * @hidden\n * @returns {void}\n */\n ComboBox.prototype.showPopup = function () {\n this.compObj.focusIn();\n this.compObj.showPopup();\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n ComboBox.prototype.destroy = function () {\n this.base.destroy();\n };\n ComboBox.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'ComboBox') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n ComboBox.prototype.getModuleName = function () {\n return 'combo-box';\n };\n return ComboBox;\n}());\nexport { ComboBox };\n","import { DateRangePicker as EJ2DateRangePicker } from '@syncfusion/ej2-calendars';\nimport { Base } from './base-module';\n/**\n * The `DateRangePicker` module is used configure the properties of Date range picker type editor.\n */\nvar DateRangePicker = /** @class */ (function () {\n function DateRangePicker(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.dateRangeModule = this;\n this.base = new Base(this.parent, this);\n }\n DateRangePicker.prototype.render = function (e) {\n this.compObj = new EJ2DateRangePicker(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n DateRangePicker.prototype.focus = function () {\n this.compObj.element.focus();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n DateRangePicker.prototype.getModuleName = function () {\n return 'date-range-picker';\n };\n DateRangePicker.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'DateRange') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n DateRangePicker.prototype.destroy = function () {\n this.base.destroy();\n };\n return DateRangePicker;\n}());\nexport { DateRangePicker };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { closest } from '@syncfusion/ej2-base';\nimport { MultiSelect as EJ2MultiSelect } from '@syncfusion/ej2-dropdowns';\nimport { Base } from './base-module';\n/**\n * The `MultiSelect` module is used configure the properties of Multi select type editor.\n */\nvar MultiSelect = /** @class */ (function () {\n function MultiSelect(parent) {\n this.isPopOpen = false;\n this.compObj = undefined;\n this.parent = parent;\n this.parent.multiSelectModule = this;\n this.base = new Base(this.parent, this);\n }\n MultiSelect.prototype.render = function (e) {\n var compModel = __assign({}, this.parent.model);\n this.openEvent = compModel.open;\n this.closeEvent = compModel.close;\n compModel.open = this.openHandler.bind(this);\n compModel.close = this.closeHandler.bind(this);\n this.compObj = new EJ2MultiSelect(compModel);\n this.compObj.appendTo(e.target);\n };\n MultiSelect.prototype.openHandler = function (e) {\n this.isPopOpen = true;\n if (this.openEvent) {\n this.compObj.setProperties({ open: this.openEvent }, true);\n this.compObj.trigger('open', e);\n }\n };\n MultiSelect.prototype.closeHandler = function (e) {\n this.isPopOpen = false;\n if (this.closeEvent) {\n this.compObj.setProperties({ close: this.closeEvent }, true);\n this.compObj.trigger('close', e);\n }\n };\n MultiSelect.prototype.focus = function () {\n if (!this.isPopOpen) {\n var evt = document.createEvent('MouseEvent');\n evt.initEvent('mousedown', true, true);\n closest(this.compObj.element, '.e-multi-select-wrapper').dispatchEvent(evt);\n }\n };\n MultiSelect.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'MultiSelect') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n MultiSelect.prototype.getRenderValue = function () {\n this.parent.printValue = this.compObj.text;\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n MultiSelect.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n MultiSelect.prototype.getModuleName = function () {\n return 'multi-select';\n };\n return MultiSelect;\n}());\nexport { MultiSelect };\n","import { RichTextEditor, HtmlEditor } from '@syncfusion/ej2-richtexteditor';\nimport { MarkdownEditor, Toolbar, Link, Image, QuickToolbar, Table, FileManager, PasteCleanup, EmojiPicker, Audio, Video, FormatPainter, Count } from '@syncfusion/ej2-richtexteditor';\nimport { Base } from './base-module';\n/**\n * The `RTE` module is used configure the properties of RTE type editor.\n */\nvar Rte = /** @class */ (function () {\n function Rte(parent) {\n this.compObj = undefined;\n RichTextEditor.Inject(HtmlEditor, MarkdownEditor, Toolbar, Link, Image, QuickToolbar, Table, FileManager, PasteCleanup, EmojiPicker, Audio, Video, FormatPainter, Count);\n this.parent = parent;\n this.parent.rteModule = this;\n this.base = new Base(this.parent, this);\n }\n Rte.prototype.render = function (e) {\n this.compObj = new RichTextEditor(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n Rte.prototype.focus = function () {\n this.compObj.focusIn();\n };\n Rte.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'RTE') {\n this.parent.setProperties({ value: this.getRteValue() }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n Rte.prototype.getRteValue = function () {\n var rteVal;\n if (this.compObj.editorMode === 'Markdown') {\n rteVal = this.compObj.contentModule.getEditPanel().value;\n return (rteVal === '') ? '' : rteVal;\n }\n else {\n rteVal = this.compObj.contentModule.getEditPanel().innerHTML;\n return (rteVal === '<p><br></p>' || rteVal === '<p><br></p>' || rteVal === '') ? '' : rteVal;\n }\n };\n Rte.prototype.refresh = function () {\n this.compObj.refresh();\n };\n /**\n * Destroys the rte module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n Rte.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n Rte.prototype.getModuleName = function () {\n return 'rte';\n };\n return Rte;\n}());\nexport { Rte };\n","import { Slider as EJ2Slider } from '@syncfusion/ej2-inputs';\nimport { Base } from './base-module';\n/**\n * The `Slider` module is used configure the properties of Slider type editor.\n */\nvar Slider = /** @class */ (function () {\n function Slider(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.sliderModule = this;\n this.base = new Base(this.parent, this);\n }\n Slider.prototype.render = function (e) {\n this.compObj = new EJ2Slider(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n Slider.prototype.focus = function () {\n this.compObj.element.focus();\n };\n Slider.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'Slider') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n Slider.prototype.refresh = function () {\n this.compObj.refresh();\n };\n /**\n * Destroys the slider module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n Slider.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n Slider.prototype.getModuleName = function () {\n return 'slider';\n };\n return Slider;\n}());\nexport { Slider };\n","import { TimePicker as EJ2TimePicker } from '@syncfusion/ej2-calendars';\nimport { Base } from './base-module';\n/**\n * The `TimePicker` module is used configure the properties of Time picker type editor.\n */\nvar TimePicker = /** @class */ (function () {\n function TimePicker(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.timeModule = this;\n this.base = new Base(this.parent, this);\n }\n TimePicker.prototype.render = function (e) {\n this.compObj = new EJ2TimePicker(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n TimePicker.prototype.focus = function () {\n this.compObj.focusIn();\n };\n TimePicker.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'Time') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n TimePicker.prototype.getModuleName = function () {\n return 'time-picker';\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n TimePicker.prototype.destroy = function () {\n this.base.destroy();\n };\n return TimePicker;\n}());\nexport { TimePicker };\n","/**\n *\n */\nexport * from './base-module';\nexport * from './auto-complete';\nexport * from './color-picker';\nexport * from './combo-box';\nexport * from './date-range-picker';\nexport * from './multi-select';\nexport * from './rte';\nexport * from './slider';\nexport * from './time-picker';\n","/**\n *\n */\nexport * from './base/index';\nexport * from './modules/index';\n","/**\n *\n */\nexport * from './inplace-editor/index';\n"],"names":["isNOU","this","__extends","__decorate","classes.TITLE","classes.VALUE_WRAPPER","classes.VALUE","classes.OVERLAY_ICON","classes.ICONS","classes.LOAD","classes.HIDE","classes.OPEN","classes.INLINE","classes.POPUP","classes.ROOT_TIP","events.setFocus","events.showPopup","classes.WRAPPER","classes.LOADING","classes.FORM","classes.CTRL_GROUP","classes.INPUT","classes.EDITABLE_ERROR","classes.BUTTONS","classes.PRIMARY","classes.BTN_SAVE","classes.BTN_CANCEL","classes.ELEMENTS","events.render","classes.SHOW","classes.RTE_SPIN_WRAP","classes.CTRL_OVERLAY","events.update","events.accessValue","classes.RTL","events.destroyModules","classes.DISABLE","classes.ERROR","classes.TIP_TITLE","classes.ROOT","events.destroy","AutoComplete","EJ2AutoComplete","ColorPicker","EJ2ColorPicker","ComboBox","EJ2ComboBox","DateRangePicker","EJ2DateRangePicker","MultiSelect","EJ2MultiSelect","Slider","EJ2Slider","TimePicker","EJ2TimePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ej2-inplace-editor.es5.js","sources":["../../src/inplace-editor/base/util.js","../../src/inplace-editor/base/events.js","../../src/inplace-editor/base/models.js","../../src/inplace-editor/base/classes.js","../../src/inplace-editor/base/inplace-editor.js","../../src/inplace-editor/modules/base-module.js","../../src/inplace-editor/modules/auto-complete.js","../../src/inplace-editor/modules/color-picker.js","../../src/inplace-editor/modules/combo-box.js","../../src/inplace-editor/modules/date-range-picker.js","../../src/inplace-editor/modules/multi-select.js","../../src/inplace-editor/modules/rte.js","../../src/inplace-editor/modules/slider.js","../../src/inplace-editor/modules/time-picker.js"],"sourcesContent":["import { isNullOrUndefined as isNOU, Internationalization, isBlazor } from '@syncfusion/ej2-base';\n/**\n * Exports util methods used by In-place editor.\n */\nvar intl = new Internationalization();\n/**\n * @param {string} type - specifies the string type\n * @param {valueType} val - specifies the value type\n * @param {modelType} model - specifies the model type\n * @returns {string} - returns the string\n */\nexport function parseValue(type, val, model) {\n if (isNOU(val) || val === '') {\n return '';\n }\n var result;\n var tempFormat;\n switch (type) {\n case 'Color': {\n var hex = val;\n result = (hex.length > 7) ? hex.slice(0, -2) : hex;\n break;\n }\n case 'Date':\n tempFormat = model.format;\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' });\n break;\n case 'DateRange': {\n tempFormat = model.format;\n var date = val;\n result = intl.formatDate(date[0], { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' }) + ' - '\n + intl.formatDate(date[1], { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' });\n break;\n }\n case 'DateTime':\n tempFormat = model.format;\n if (isNOU(tempFormat) || tempFormat === '') {\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' }) + ' '\n + intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 't' : 'hm' });\n }\n else {\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 'd' : 'yMd' });\n }\n break;\n case 'Time':\n tempFormat = model.format;\n result = intl.formatDate(val, { format: tempFormat, type: type, skeleton: isBlazor() ? 't' : 'hm' });\n break;\n case 'Numeric': {\n tempFormat = isNOU(model.format) ? 'n2' :\n model.format;\n var tempVal = isNOU(val) ? null : (typeof (val) === 'number' ? val : intl.parseNumber(val));\n result = intl.formatNumber(tempVal, { format: tempFormat });\n break;\n }\n default:\n result = val.toString();\n break;\n }\n return result;\n}\n/**\n * @param {string} type - specifies the string value\n * @param {valueType} val - specifies the value type\n * @returns {valueType} - returns the value type\n */\nexport function getCompValue(type, val) {\n if (isNOU(val) || val === '') {\n return val;\n }\n if ((type === 'Date' || type === 'Time' || type === 'DateTime') && typeof (val) === 'string') {\n val = new Date(val);\n }\n else if (type === 'DateRange') {\n if (typeof (val) === 'object' && typeof (val[0]) === 'string') {\n val = [new Date(val[0]), new Date(val[1])];\n }\n else if (typeof (val) === 'string') {\n var temp = val.split('-');\n val = [new Date(temp[0]), new Date(temp[1])];\n }\n }\n return val;\n}\n/**\n * @param {string} value - specifies the string value\n * @returns {string} - returns the string\n * @hidden\n */\nexport function encode(value) {\n var data = [];\n for (var i = value.length - 1; i >= 0; i--) {\n data.unshift(['&#', value[i].charCodeAt(0), ';'].join(''));\n }\n return data.join('');\n}\n","/**\n * In-place Editor events defined here.\n */\n/** @hidden */\nexport var render = 'render';\n/** @hidden */\nexport var update = 'update';\n/** @hidden */\nexport var destroy = 'destroy';\n/** @hidden */\nexport var setFocus = 'set-focus';\n/** @hidden */\nexport var accessValue = 'access-value';\n/** @hidden */\nexport var destroyModules = 'destroy-modules';\n/** @hidden */\nexport var showPopup = 'show-popup';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ChildProperty, Property } from '@syncfusion/ej2-base';\n/**\n * Configures the popup settings of the In-place editor.\n */\nvar PopupSettings = /** @class */ (function (_super) {\n __extends(PopupSettings, _super);\n function PopupSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property('')\n ], PopupSettings.prototype, \"title\", void 0);\n __decorate([\n Property(null)\n ], PopupSettings.prototype, \"model\", void 0);\n return PopupSettings;\n}(ChildProperty));\nexport { PopupSettings };\n/**\n * @hidden\n */\nexport var modulesList = {\n 'AutoComplete': 'auto-complete',\n 'Color': 'color-picker',\n 'ComboBox': 'combo-box',\n 'DateRange': 'date-range-picker',\n 'MultiSelect': 'multi-select',\n 'RTE': 'rte',\n 'Slider': 'slider',\n 'Time': 'time-picker'\n /* eslint-enable */\n};\n/**\n * @hidden\n */\nexport var localeConstant = {\n 'Click': { 'editAreaClick': 'Click to edit' },\n 'DblClick': { 'editAreaDoubleClick': 'Double click to edit' },\n 'EditIconClick': { 'editAreaClick': 'Click to edit' }\n};\n","/**\n * In-place Editor classes defined here.\n */\n/** @hidden */\nexport var ROOT = 'e-inplaceeditor';\n/** @hidden */\nexport var ROOT_TIP = 'e-inplaceeditor-tip';\n/** @hidden */\nexport var VALUE_WRAPPER = 'e-editable-value-wrapper';\n/** @hidden */\nexport var VALUE = 'e-editable-value';\n/** @hidden */\nexport var OVERLAY_ICON = 'e-editable-overlay-icon';\n/** @hidden */\nexport var TIP_TITLE = 'e-editable-tip-title';\n/** @hidden */\nexport var TITLE = 'e-editable-title';\n/** @hidden */\nexport var INLINE = 'e-editable-inline';\n/** @hidden */\nexport var POPUP = 'e-editable-popup';\n/** @hidden */\nexport var WRAPPER = 'e-editable-wrapper';\n/** @hidden */\nexport var LOADING = 'e-editable-loading';\n/** @hidden */\nexport var FORM = 'e-editable-form';\n/** @hidden */\nexport var CTRL_GROUP = 'e-component-group';\n/** @hidden */\nexport var INPUT = 'e-editable-component';\n/** @hidden */\nexport var BUTTONS = 'e-editable-action-buttons';\n/** @hidden */\nexport var EDITABLE_ERROR = 'e-editable-error';\n/** @hidden */\nexport var ELEMENTS = 'e-editable-elements';\n/** @hidden */\nexport var OPEN = 'e-editable-open';\n/** @hidden */\nexport var BTN_SAVE = 'e-btn-save';\n/** @hidden */\nexport var BTN_CANCEL = 'e-btn-cancel';\n/** @hidden */\nexport var RTE_SPIN_WRAP = 'e-rte-spin-wrap';\n/** @hidden */\nexport var CTRL_OVERLAY = 'e-control-overlay';\n/** @hidden */\nexport var DISABLE = 'e-disable';\n/** @hidden */\nexport var ICONS = 'e-icons';\n/** @hidden */\nexport var PRIMARY = 'e-primary';\n/** @hidden */\nexport var SHOW = 'e-show';\n/** @hidden */\nexport var HIDE = 'e-hide';\n/** @hidden */\nexport var RTL = 'e-rtl';\n/** @hidden */\nexport var ERROR = 'e-error';\n/** @hidden */\nexport var LOAD = 'e-loading';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Component, NotifyPropertyChanges, Property, Event, select } from '@syncfusion/ej2-base';\nimport { detach, addClass, removeClass, EventHandler, setStyleAttribute, Complex } from '@syncfusion/ej2-base';\nimport { isNullOrUndefined as isNOU, closest, extend, L10n, compile, Browser, Touch } from '@syncfusion/ej2-base';\nimport { updateBlazorTemplate, resetBlazorTemplate, SanitizeHtmlHelper, getValue, isBlazor } from '@syncfusion/ej2-base';\nimport { DataManager, UrlAdaptor, Query, WebApiAdaptor, ODataV4Adaptor, Predicate } from '@syncfusion/ej2-data';\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { DatePicker, DateTimePicker } from '@syncfusion/ej2-calendars';\nimport { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';\nimport { Tooltip } from '@syncfusion/ej2-popups';\nimport { NumericTextBox, TextBox } from '@syncfusion/ej2-inputs';\nimport { FormValidator, MaskedTextBox } from '@syncfusion/ej2-inputs';\nimport { DropDownList } from '@syncfusion/ej2-dropdowns';\n/* Helper modules */\nimport * as events from './events';\nimport * as classes from './classes';\n/* Models */\nimport { PopupSettings, modulesList, localeConstant } from './models';\n/* Interface */\nimport { parseValue, getCompValue, encode } from './util';\n/**\n * ```html\n * * The In-place editor control is used to edit an element in a place and to update the value in server.\n * <div id='element' />\n * <script>\n * var editorObj = new InPlaceEditor();\n * editorObj.appendTo('#element');\n * </script>\n * ```\n */\nvar InPlaceEditor = /** @class */ (function (_super) {\n __extends(InPlaceEditor, _super);\n /**\n * Initializes a new instance of the In-place editor class.\n *\n * @param {InPlaceEditorModel} options - Specifies In-place editor model properties as options.\n * @param {string} element - Specifies the element for which In-place editor applies.\n */\n function InPlaceEditor(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.needsID = true;\n return _this;\n }\n InPlaceEditor.prototype.initializeValue = function () {\n this.initRender = true;\n this.isTemplate = false;\n this.isVue = false;\n this.isExtModule = false;\n this.submitBtn = undefined;\n this.cancelBtn = undefined;\n this.isClearTarget = false;\n this.btnElements = undefined;\n this.dataManager = undefined;\n this.oldValue = undefined;\n this.divComponents = ['RTE', 'Slider'];\n this.clearComponents = ['AutoComplete', 'Mask', 'Text'];\n this.dateType = ['Date', 'DateTime', 'Time'];\n this.inputDataEle = ['Date', 'DateTime', 'DateRange', 'Time', 'Numeric'];\n this.dropDownEle = ['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'];\n this.moduleList = ['AutoComplete', 'Color', 'ComboBox', 'DateRange', 'MultiSelect', 'RTE', 'Slider', 'Time'];\n };\n /**\n * Initialize the event handler\n *\n * @returns {void}\n * @private\n */\n InPlaceEditor.prototype.preRender = function () {\n this.initializeValue();\n this.onScrollResizeHandler = this.scrollResizeHandler.bind(this);\n if (isNOU(this.model)) {\n this.setProperties({ model: {} }, true);\n }\n this.titleEle = this.createElement('div', { className: classes.TITLE });\n if (!isNOU(this.popupSettings.model) && this.popupSettings.model.afterOpen) {\n this.afterOpenEvent = this.popupSettings.model.afterOpen;\n }\n };\n /**\n * To Initialize the In-place editor rendering\n *\n * @returns {void}\n * @private\n */\n InPlaceEditor.prototype.render = function () {\n if (isNOU(this.element.getAttribute('tabindex'))) {\n this.disabled ? this.element.setAttribute('tabindex', '-1') : this.element.setAttribute('tabindex', '0');\n }\n this.checkIsTemplate();\n this.disable(this.disabled);\n this.updateAdaptor();\n this.appendValueElement();\n this.updateValue();\n this.textOption === 'Never' ?\n this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)))\n : this.renderInitialValue();\n this.wireEvents();\n this.setRtl(this.enableRtl);\n this.enableEditor(this.enableEditMode, true);\n this.setClass('add', this.cssClass);\n this.renderComplete();\n };\n InPlaceEditor.prototype.setClass = function (action, val) {\n if (!this.isEmpty(val)) {\n var allClassName = val.split(' ');\n for (var i = 0; i < allClassName.length; i++) {\n if (allClassName[i].trim() !== '') {\n action === 'add' ? addClass([this.element], [allClassName[i]]) : removeClass([this.element], [allClassName[i]]);\n }\n }\n }\n };\n InPlaceEditor.prototype.appendValueElement = function () {\n this.valueWrap = this.createElement('div', { id: this.element.id + '_wrap', className: classes.VALUE_WRAPPER });\n if (!isBlazor()) {\n this.element.innerHTML = '';\n }\n this.valueEle = this.createElement('span', { className: classes.VALUE });\n this.editIcon = this.createElement('span', {\n className: classes.OVERLAY_ICON + ' ' + classes.ICONS,\n attrs: { 'title': this.getLocale({ editIcon: 'Click to edit' }, 'editIcon') }\n });\n this.valueWrap.appendChild(this.valueEle);\n this.valueWrap.appendChild(this.editIcon);\n this.element.appendChild(this.valueWrap);\n };\n InPlaceEditor.prototype.renderInitialValue = function () {\n if (['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'].indexOf(this.type) > -1\n && !isNOU(this.value) && !this.isEmpty(this.value.toString()) && !isNOU(this.model.fields)\n && !isNOU(this.model.dataSource)) {\n this.renderValue(this.getLocale({ loadingText: 'Loading...' }, 'loadingText'));\n this.valueWrap.classList.add(classes.LOAD);\n createSpinner({ target: this.valueWrap, width: 10 });\n showSpinner(this.valueWrap);\n this.getInitFieldMapValue();\n }\n else {\n this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)));\n }\n };\n InPlaceEditor.prototype.getInitFieldMapValue = function () {\n var _this = this;\n var model = this.model;\n var mText = model.fields.text;\n var mVal = model.fields.value;\n var query = isNOU(model.query) ? new Query() : model.query;\n if (model.dataSource instanceof DataManager) {\n model.dataSource.executeQuery(this.getInitQuery(model, query)).then(function (e) {\n _this.updateInitValue(mText, mVal, e.result);\n });\n }\n else {\n this.updateInitValue(mText, mVal, new DataManager(model.dataSource).executeLocal(this.getInitQuery(model, query)));\n }\n };\n InPlaceEditor.prototype.getInitQuery = function (model, query) {\n var predicate;\n var mVal = model.fields.value;\n var value = this.value;\n if (this.type !== 'MultiSelect' || typeof (this.value) !== 'object') {\n predicate = new Predicate(mVal, 'equal', this.value);\n }\n else {\n var i = 0;\n for (var _i = 0, value_1 = value; _i < value_1.length; _i++) {\n var val = value_1[_i];\n predicate = ((i === 0) ? predicate = new Predicate(mVal, 'equal', val) : predicate.or(mVal, 'equal', val));\n i++;\n }\n }\n return query.where(predicate);\n };\n InPlaceEditor.prototype.updateInitValue = function (mText, mVal, result) {\n if (result.length <= 0) {\n return;\n }\n if (result.length === 1) {\n this.valueEle.innerHTML = this.checkValue(getValue((isNOU(mText) ? mVal : mText), result[0]));\n }\n else {\n var val = [];\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var obj = result_1[_i];\n val.push(getValue((isNOU(mText) ? mVal : mText), obj));\n }\n this.valueEle.innerHTML = this.checkValue(val.toString());\n }\n hideSpinner(this.valueWrap);\n this.valueWrap.classList.remove(classes.LOAD);\n };\n InPlaceEditor.prototype.renderValue = function (val) {\n this.enableHtmlSanitizer && this.type !== 'RTE' && this.type !== 'MultiSelect' ? this.valueEle.innerText = val :\n (this.valueEle.innerHTML = this.enableHtmlParse ? val : encode(val));\n if (this.type === 'Color') {\n setStyleAttribute(this.valueEle, { 'color': val });\n }\n if (this.mode === 'Inline') {\n if (this.isEditorOpen()) {\n removeClass([this.valueWrap], [classes.HIDE]);\n }\n }\n };\n InPlaceEditor.prototype.isEditorOpen = function () {\n if (this.isVue && (this.enableEditMode || (!isNOU(this.valueWrap) &&\n !(this.valueWrap.classList.contains(classes.HIDE) || this.valueWrap.classList.contains('e-tooltip'))))) {\n return false;\n }\n else {\n return true;\n }\n };\n InPlaceEditor.prototype.renderEditor = function () {\n this.prevValue = this.value;\n this.beginEditArgs = { mode: this.mode, cancelFocus: false, cancel: false };\n this.trigger('beginEdit', this.beginEditArgs);\n if (this.beginEditArgs.cancel) {\n return;\n }\n var tipOptions = undefined;\n var target = select('.' + classes.VALUE_WRAPPER, this.element);\n if (this.editableOn !== 'EditIconClick') {\n target.parentElement.removeAttribute('title');\n }\n if (this.valueWrap.classList.contains(classes.OPEN)) {\n return;\n }\n if (this.mode === 'Inline') {\n addClass([this.valueWrap], [classes.HIDE]);\n this.inlineWrapper = this.createElement('div', { className: classes.INLINE });\n this.element.appendChild(this.inlineWrapper);\n if (['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'].indexOf(this.type) > -1) {\n this.checkRemoteData(this.model);\n }\n else {\n this.renderAndOpen();\n }\n }\n else {\n if (!isNOU(this.popupSettings.model) && this.popupSettings.model.afterOpen) {\n this.popupSettings.model.afterOpen = this.afterOpenHandler.bind(this);\n }\n var content = this.createElement('div', { className: classes.POPUP });\n if (!this.isEmpty(this.popupSettings.title)) {\n this.titleEle.innerHTML = this.popupSettings.title;\n content.appendChild(this.titleEle);\n }\n tipOptions = {\n content: content, opensOn: 'Custom',\n enableRtl: this.enableRtl, cssClass: classes.ROOT_TIP,\n afterOpen: this.afterOpenHandler.bind(this)\n };\n content.appendChild(this.renderControl(document.body));\n extend(tipOptions, this.popupSettings.model, tipOptions, true);\n this.tipObj = new Tooltip(tipOptions);\n this.tipObj.appendTo(target);\n this.tipObj.open(target);\n }\n if (this.actionOnBlur !== 'Ignore') {\n this.wireDocEvent();\n }\n addClass([this.valueWrap], [classes.OPEN]);\n this.setProperties({ enableEditMode: true }, true);\n if (this.isReact) {\n this.renderReactTemplates();\n }\n };\n InPlaceEditor.prototype.renderAndOpen = function () {\n this.renderControl(this.inlineWrapper);\n this.afterOpenHandler(null);\n };\n InPlaceEditor.prototype.checkRemoteData = function (model) {\n var _this = this;\n if (model.dataSource instanceof DataManager) {\n model.dataBound = function () {\n _this.afterOpenHandler(null);\n };\n this.renderControl(this.inlineWrapper);\n if ((isNOU(model.value) && isNOU(this.value)) || (model.value === this.value\n && (!isNOU(model.value) && model.value.length === 0))) {\n this.showDropDownPopup();\n }\n }\n else {\n this.renderAndOpen();\n }\n };\n InPlaceEditor.prototype.showDropDownPopup = function () {\n if (this.type === 'DropDownList') {\n if (!this.model.allowFiltering) {\n this.componentObj.focusIn();\n }\n this.componentObj.showPopup();\n }\n else {\n if (this.isExtModule) {\n this.notify(((this.type === 'MultiSelect') ? events.setFocus : events.showPopup), {});\n }\n }\n };\n InPlaceEditor.prototype.setAttribute = function (ele, attr) {\n var value = this.name && this.name.length !== 0 ? this.name : this.element.id;\n attr.forEach(function (val) {\n ele.setAttribute(val, ((val === 'id') ? (value + '_editor') : value));\n });\n };\n InPlaceEditor.prototype.renderControl = function (target) {\n var ele;\n this.containerEle = this.createElement('div', { className: classes.WRAPPER });\n this.loader = this.createElement('div', { className: classes.LOADING });\n this.formEle = this.createElement('form', { className: classes.FORM });\n var ctrlGroupEle = this.createElement('div', { className: classes.CTRL_GROUP });\n var inputWrap = this.createElement('div', { className: classes.INPUT });\n target.appendChild(this.containerEle);\n this.loadSpinner();\n this.containerEle.appendChild(this.formEle);\n this.formEle.appendChild(ctrlGroupEle);\n if (this.isTemplate) {\n this.appendTemplate(inputWrap, this.template);\n }\n else {\n if (Array.prototype.indexOf.call(this.divComponents, this.type) > -1) {\n ele = this.createElement('div');\n this.setAttribute(ele, ['id']);\n }\n else {\n ele = this.createElement('input');\n this.setAttribute(ele, ['id', 'name']);\n }\n this.componentRoot = ele;\n inputWrap.appendChild(ele);\n inputWrap.appendChild(this.loader);\n }\n ctrlGroupEle.appendChild(inputWrap);\n ctrlGroupEle.appendChild(this.createElement('div', { className: classes.EDITABLE_ERROR }));\n this.appendButtons(this.formEle);\n if (!this.isTemplate) {\n this.renderComponent(ele);\n }\n this.removeSpinner();\n if (this.submitOnEnter) {\n this.wireEditorKeyDownEvent(this.containerEle);\n }\n return this.containerEle;\n };\n InPlaceEditor.prototype.appendButtons = function (trg) {\n if (this.showButtons && trg) {\n this.btnElements = this.renderButtons();\n trg.appendChild(this.btnElements);\n this.wireBtnEvents();\n }\n };\n InPlaceEditor.prototype.renderButtons = function () {\n var btnWrap = this.createElement('div', { className: classes.BUTTONS });\n var primary = (!isNOU(this.saveButton.content) && this.saveButton.content.length !== 0) ? (' ' + classes.PRIMARY) : '';\n this.submitBtn = this.createButtons({\n constant: 'save', type: 'submit', container: btnWrap,\n title: { save: 'Save' }, model: this.saveButton,\n className: classes.BTN_SAVE + primary\n });\n this.cancelBtn = this.createButtons({\n type: 'button', constant: 'cancel', title: { cancel: 'Cancel' },\n container: btnWrap, model: this.cancelButton,\n className: classes.BTN_CANCEL\n });\n return btnWrap;\n };\n InPlaceEditor.prototype.createButtons = function (args) {\n var btnObj = undefined;\n if (Object.keys(args.model).length > 0) {\n var btnEle = this.createElement('button', {\n className: args.className,\n attrs: { 'type': args.type, 'title': (args.constant == \"save\") ? (isNOU(this.saveButton.content) ? this.getLocale(args.title, args.constant) : this.saveButton.content) : (isNOU(this.cancelButton.content) ? this.getLocale(args.title, args.constant) : this.cancelButton.content) }\n });\n args.container.appendChild(btnEle);\n btnObj = new Button(args.model, btnEle);\n }\n return btnObj;\n };\n InPlaceEditor.prototype.renderComponent = function (ele) {\n this.isExtModule = (Array.prototype.indexOf.call(this.moduleList, this.type) > -1) ? true : false;\n var classProp;\n if (!isNOU(this.model.cssClass)) {\n classProp = this.model.cssClass.indexOf(classes.ELEMENTS) < 0 ?\n this.model.cssClass === '' ? classes.ELEMENTS : this.model.cssClass + ' ' + classes.ELEMENTS :\n this.model.cssClass;\n }\n else {\n classProp = classes.ELEMENTS;\n }\n extend(this.model, this.model, {\n cssClass: classProp, enableRtl: this.enableRtl, locale: this.locale, change: this.changeHandler.bind(this)\n });\n if (!isNOU(this.value)) {\n this.updateModelValue(false);\n }\n if (this.isExtModule) {\n this.notify(events.render, { module: modulesList[this.type], target: ele, type: this.type });\n }\n else {\n if (isNOU(this.model.showClearButton) && !isBlazor()) {\n this.model.showClearButton = true;\n }\n switch (this.type) {\n case 'Date':\n this.componentObj = new DatePicker(this.model);\n break;\n case 'DateTime':\n this.componentObj = new DateTimePicker(this.model);\n break;\n case 'DropDownList':\n this.componentObj = new DropDownList(this.model);\n break;\n case 'Mask':\n this.componentObj = new MaskedTextBox(this.model);\n break;\n case 'Numeric':\n if (this.model.value) {\n var expRegex = new RegExp('[eE][\\-+]?([0-9]+)');\n if (expRegex.test(this.model.value)) {\n this.model.value = this.model.value;\n }\n else {\n this.model.value = this.model.value.toString().replace(/[`~!@#$%^&*()_|\\=?;:'\",<>\\{\\}\\[\\]\\\\\\/]/gi, '');\n }\n }\n this.componentObj = new NumericTextBox(this.model);\n break;\n case 'Text':\n this.componentObj = new TextBox(this.model);\n break;\n }\n this.componentObj.appendTo(ele);\n }\n };\n InPlaceEditor.prototype.updateAdaptor = function () {\n switch (this.adaptor) {\n case 'UrlAdaptor':\n this.dataAdaptor = new UrlAdaptor;\n break;\n case 'WebApiAdaptor':\n this.dataAdaptor = new WebApiAdaptor;\n break;\n case 'ODataV4Adaptor':\n this.dataAdaptor = new ODataV4Adaptor;\n break;\n }\n };\n InPlaceEditor.prototype.loadSpinner = function (callType) {\n addClass([this.loader], [classes.SHOW]);\n if (callType === 'validate' && (this.type === 'RTE' || this.type === 'Color' || this.type === 'Slider')) {\n addClass([this.loader], [classes.RTE_SPIN_WRAP]);\n addClass([this.getEditElement()], [classes.CTRL_OVERLAY]);\n this.spinObj = { target: this.loader };\n }\n else {\n this.spinObj = { target: this.loader, width: Browser.isDevice ? '16px' : '14px' };\n }\n if (this.formEle) {\n addClass([this.formEle], [classes.LOAD]);\n }\n if (this.btnElements) {\n addClass([this.btnElements], [classes.HIDE]);\n }\n setStyleAttribute(this.loader, { 'width': '100%' });\n createSpinner(this.spinObj);\n showSpinner(this.spinObj.target);\n };\n InPlaceEditor.prototype.removeSpinner = function (callType) {\n this.loader.removeAttribute('style');\n hideSpinner(this.spinObj.target);\n detach(this.spinObj.target.firstChild);\n if (callType === 'submit' && (this.type === 'RTE' || this.type === 'Color' || this.type === 'Slider')) {\n removeClass([this.loader], [classes.RTE_SPIN_WRAP]);\n removeClass([this.getEditElement()], [classes.CTRL_OVERLAY]);\n }\n if (this.formEle) {\n removeClass([this.formEle], [classes.LOAD]);\n }\n if (this.btnElements) {\n removeClass([this.btnElements], [classes.HIDE]);\n }\n removeClass([this.loader], [classes.SHOW]);\n };\n InPlaceEditor.prototype.getEditElement = function () {\n return select('.' + classes.ELEMENTS, this.formEle);\n };\n InPlaceEditor.prototype.getLocale = function (prop, val) {\n return new L10n('inplace-editor', prop, this.locale).getConstant(val);\n };\n InPlaceEditor.prototype.checkValue = function (val) {\n return (!this.isEmpty(val)) ? val : this.emptyText;\n };\n InPlaceEditor.prototype.extendModelValue = function (val) {\n var model = this.model;\n extend(model, { value: val });\n this.setProperties({ model: model }, true);\n };\n InPlaceEditor.prototype.updateValue = function () {\n this.oldValue = this.value;\n if (this.enableHtmlSanitizer && typeof (this.value) === 'string') {\n this.oldValue = this.sanitizeHelper(this.value);\n }\n if (!isNOU(this.value)) {\n this.setProperties({ value: getCompValue(this.type, this.oldValue) }, true);\n this.extendModelValue(getCompValue(this.type, this.oldValue));\n }\n };\n InPlaceEditor.prototype.updateModelValue = function (updateOldValue) {\n if (this.type === 'MultiSelect' && !this.isEmpty(this.value)) {\n this.model.value = !updateOldValue ? this.value.slice() : this.oldValue.slice();\n }\n else {\n this.model.value = !updateOldValue ? this.value : this.oldValue;\n }\n };\n InPlaceEditor.prototype.setValue = function () {\n if (this.isExtModule) {\n this.notify(events.update, { type: this.type });\n }\n else if (this.componentObj) {\n if (this.type === 'Numeric' && this.componentObj.value === null) {\n this.componentObj.setProperties({ value: null }, true);\n }\n this.setProperties({ value: this.componentObj.value }, true);\n this.extendModelValue(this.componentObj.value);\n }\n };\n InPlaceEditor.prototype.getDropDownsValue = function (display) {\n var value;\n if (Array.prototype.indexOf.call(this.dropDownEle, this.type) > -1 && this.type !== 'MultiSelect') {\n value = display ? select('.e-' + this.type.toLocaleLowerCase(), this.containerEle).value :\n this.value.toString();\n }\n else if (this.type === 'MultiSelect') {\n this.notify(events.accessValue, { type: this.type });\n value = display ? this.printValue : this.value.join();\n }\n return value;\n };\n InPlaceEditor.prototype.getSendValue = function () {\n if (this.isEmpty(this.value)) {\n return '';\n }\n if (Array.prototype.indexOf.call(this.dropDownEle, this.type) > -1) {\n return this.getDropDownsValue(false);\n }\n else if (Array.prototype.indexOf.call(this.dateType, this.type) > -1) {\n return this.value.toISOString();\n }\n else if (this.type === 'DateRange') {\n return this.value[0].toISOString() + ' - ' + this.value[1].toISOString();\n }\n else {\n return this.value.toString();\n }\n };\n InPlaceEditor.prototype.getRenderValue = function () {\n if (this.type === 'Mask' && this.componentObj.value.length !== 0) {\n return this.componentObj.getMaskedValue();\n }\n else if (Array.prototype.indexOf.call(this.inputDataEle, this.type) > -1) {\n return this.componentRoot.value;\n }\n else if (Array.prototype.indexOf.call(this.dropDownEle, this.type) > -1) {\n return this.getDropDownsValue(true);\n }\n else {\n return parseValue(this.type, this.value, this.model);\n }\n };\n InPlaceEditor.prototype.setRtl = function (value) {\n value ? addClass([this.element], [classes.RTL]) : removeClass([this.element], [classes.RTL]);\n };\n InPlaceEditor.prototype.setFocus = function () {\n if (this.isTemplate) {\n return;\n }\n this.isExtModule ? this.notify(events.setFocus, {}) : this.componentObj.getModuleName() === 'dropdownlist' ? this.componentObj.focusIn() : this.componentObj.element.focus();\n };\n InPlaceEditor.prototype.removeEditor = function (isBlazorDestroy) {\n var blazorContain = Object.keys(window);\n if (isBlazor() && !this.isStringTemplate) {\n resetBlazorTemplate(this.element.id + 'template', 'Template');\n }\n var tipEle;\n if (this.tipObj && this.formEle) {\n tipEle = closest(this.formEle, '.' + classes.ROOT_TIP);\n tipEle.classList.add(classes.HIDE);\n }\n this.unWireDocEvent();\n this.destroyComponents();\n this.formEle = undefined;\n if (!isNOU(select('.' + classes.INLINE, this.element))) {\n detach(this.inlineWrapper);\n this.inlineWrapper = undefined;\n }\n else if (this.tipObj) {\n if (this.type === 'MultiSelect') {\n EventHandler.remove(this.containerEle, 'mousedown', this.popMouseDown);\n EventHandler.remove(this.containerEle, 'click', this.popClickHandler);\n }\n this.tipObj.close();\n this.tipObj.destroy();\n this.tipObj = undefined;\n }\n this.containerEle = undefined;\n removeClass([this.valueWrap], [classes.OPEN, classes.HIDE]);\n if (!isBlazorDestroy) {\n this.setProperties({ enableEditMode: false }, true);\n }\n if (this.editableOn !== 'EditIconClick') {\n var titleConstant = (this.editableOn === 'DblClick') ? 'editAreaDoubleClick' : 'editAreaClick';\n if (!isNOU(this.valueWrap.parentElement)) {\n this.valueWrap.parentElement.setAttribute('title', this.getLocale(localeConstant[this.editableOn], titleConstant));\n }\n }\n if (this.isReact) {\n this.clearTemplate();\n }\n };\n InPlaceEditor.prototype.destroyComponents = function () {\n if (this.showButtons) {\n this.destroyButtons();\n }\n if (this.isExtModule) {\n this.notify(events.destroyModules, {});\n }\n else {\n if (this.templateEle) {\n document.body.appendChild(this.templateEle);\n this.templateEle.style.display = 'none';\n this.templateEle = undefined;\n }\n if (!isNOU(this.componentObj)) {\n this.componentObj.destroy();\n this.componentObj = undefined;\n }\n }\n if (this.formValidate) {\n this.formValidate = undefined;\n }\n if (this.submitOnEnter && this.containerEle) {\n this.unWireEditorKeyDownEvent(this.containerEle);\n }\n };\n InPlaceEditor.prototype.destroyButtons = function () {\n if (!isNOU(this.submitBtn)) {\n EventHandler.remove(this.submitBtn.element, 'mousedown', this.submitHandler);\n EventHandler.remove(this.submitBtn.element, 'click', this.submitPrevent);\n EventHandler.remove(this.submitBtn.element, 'keydown', this.btnKeyDownHandler);\n this.submitBtn.destroy();\n this.submitBtn = undefined;\n }\n if (!isNOU(this.cancelBtn)) {\n EventHandler.remove(this.cancelBtn.element, 'mousedown', this.cancelBtnClick);\n EventHandler.remove(this.cancelBtn.element, 'keydown', this.btnKeyDownHandler);\n this.cancelBtn.destroy();\n this.cancelBtn = undefined;\n }\n this.btnElements = undefined;\n };\n InPlaceEditor.prototype.getQuery = function (params) {\n var query = new Query();\n Object.keys(params).forEach(function (key) {\n query.addParams(key, params[key]);\n });\n return query;\n };\n InPlaceEditor.prototype.sendValue = function () {\n var _this = this;\n var eventArgs = { data: { name: this.name, primaryKey: this.primaryKey, value: this.getSendValue() } };\n this.trigger('actionBegin', eventArgs, function (actionBeginArgs) {\n if (actionBeginArgs.cancel) {\n _this.removeSpinner('submit');\n if (_this.mode === 'Popup') {\n _this.updateArrow();\n }\n }\n else {\n if (!_this.isEmpty(_this.url) && !_this.isEmpty(_this.primaryKey)\n && (_this.initRender || (!_this.initRender && _this.prevValue !== _this.value))) {\n _this.dataManager = new DataManager({ url: _this.url, adaptor: _this.dataAdaptor });\n if (_this.adaptor === 'UrlAdaptor') {\n _this.dataManager.executeQuery(_this.getQuery(actionBeginArgs.data), _this.successHandler.bind(_this), _this.failureHandler.bind(_this));\n }\n else {\n var crud = _this.dataManager.insert(actionBeginArgs.data);\n crud.then(function (e) { return _this.successHandler(e); }).catch(function (e) { return _this.failureHandler(e); });\n }\n }\n else {\n var eventArg = { data: {}, value: actionBeginArgs.data.value };\n _this.triggerSuccess(eventArg);\n }\n _this.dataManager = undefined;\n }\n });\n };\n InPlaceEditor.prototype.isEmpty = function (value) {\n return (!isNOU(value) && value.length !== 0) ? false : true;\n };\n InPlaceEditor.prototype.checkIsTemplate = function () {\n this.isTemplate = (!isNOU(this.template) && this.template !== '') ? true : false;\n };\n InPlaceEditor.prototype.templateCompile = function (trgEle, tempStr) {\n var tempEle;\n var blazorContain = Object.keys(window);\n if (typeof tempStr === 'string') {\n tempStr = tempStr.trim();\n }\n var compiler = compile(tempStr);\n if (!isNOU(compiler)) {\n var isString = (isBlazor() && typeof tempStr !== 'function' &&\n !this.isStringTemplate && (tempStr).indexOf('<div>Blazor') === 0) ?\n this.isStringTemplate : true;\n tempEle = compiler({}, this, 'template', this.element.id + 'template', isString);\n }\n if (!isNOU(compiler) && tempEle.length > 0) {\n [].slice.call(tempEle).forEach(function (el) {\n trgEle.appendChild(el);\n });\n if (isBlazor() && !this.isStringTemplate && typeof tempStr !== 'function' &&\n (tempStr).indexOf('<div>Blazor') === 0) {\n updateBlazorTemplate(this.element.id + 'template', 'Template', this);\n }\n }\n };\n /**\n * @param {string} value - specifies the string value\n * @returns {string} - returns the string\n * @hidden\n */\n InPlaceEditor.prototype.sanitizeHelper = function (value) {\n if (this.enableHtmlSanitizer) {\n var item_1 = SanitizeHtmlHelper.beforeSanitize();\n var beforeEvent = {\n cancel: false,\n helper: null\n };\n extend(item_1, item_1, beforeEvent);\n this.trigger('beforeSanitizeHtml', item_1, function (args) {\n if (item_1.cancel && !isNOU(item_1.helper)) {\n value = item_1.helper(value);\n }\n else if (!item_1.cancel) {\n value = SanitizeHtmlHelper.serializeValue(item_1, value);\n }\n });\n }\n return value;\n };\n InPlaceEditor.prototype.appendTemplate = function (trgEle, tempStr) {\n tempStr = typeof (tempStr) === 'string' ? this.sanitizeHelper(tempStr) : tempStr;\n this.setProperties({ template: tempStr }, true);\n if (typeof tempStr === 'function') {\n this.templateCompile(trgEle, tempStr);\n }\n else if (typeof tempStr === 'string' || isNOU(tempStr.innerHTML)) {\n if (tempStr[0] === '.' || tempStr[0] === '#') {\n if (document.querySelectorAll(tempStr).length) {\n this.templateEle = document.querySelector(tempStr);\n trgEle.appendChild(this.templateEle);\n this.templateEle.style.display = '';\n }\n else {\n this.templateCompile(trgEle, tempStr);\n }\n }\n else {\n this.templateCompile(trgEle, tempStr);\n }\n }\n else {\n this.templateEle = tempStr;\n trgEle.appendChild(this.templateEle);\n }\n };\n InPlaceEditor.prototype.disable = function (value) {\n value ? addClass([this.element], [classes.DISABLE]) : removeClass([this.element], [classes.DISABLE]);\n };\n InPlaceEditor.prototype.enableEditor = function (val, isInit) {\n if (isInit && !val) {\n return;\n }\n (val) ? this.renderEditor() : this.cancelHandler('cancel');\n };\n InPlaceEditor.prototype.checkValidation = function (fromSubmit, isValidate) {\n var _this = this;\n var args;\n if (this.validationRules) {\n var rules = Object.keys(this.validationRules);\n var validationLength_1 = Object.keys(this.validationRules[rules[0]]).length;\n validationLength_1 = 'validateHidden' in this.validationRules[rules[0]] ? validationLength_1 - 1 : validationLength_1;\n var count_1 = 0;\n this.formValidate = new FormValidator(this.formEle, {\n rules: this.validationRules,\n validationBegin: function (e) {\n if (_this.type === 'RTE') {\n var ele = document.createElement('div');\n ele.innerHTML = e.value;\n e.value = ele.innerText;\n }\n },\n validationComplete: function (e) {\n count_1 = count_1 + 1;\n args = {\n errorMessage: e.message,\n data: { name: _this.name, primaryKey: _this.primaryKey, value: _this.checkValue(_this.getSendValue()) }\n };\n _this.trigger('validating', args, function (validateArgs) {\n if (e.status === 'failure') {\n e.errorElement.innerText = validateArgs.errorMessage;\n _this.toggleErrorClass(true);\n }\n else {\n _this.toggleErrorClass(false);\n }\n if (!isNOU(fromSubmit) && fromSubmit && (validationLength_1 === count_1 || e.status === 'failure')) {\n fromSubmit = false;\n _this.afterValidation(isValidate);\n count_1 = 0;\n }\n });\n },\n customPlacement: function (inputElement, errorElement) {\n if (_this.formEle) {\n select('.' + classes.EDITABLE_ERROR, _this.formEle).appendChild(errorElement);\n }\n }\n });\n count_1 = 0;\n this.formValidate.validate();\n }\n else if (this.template !== '') {\n args = {\n errorMessage: '',\n data: { name: this.name, primaryKey: this.primaryKey, value: this.checkValue(this.getSendValue()) }\n };\n this.trigger('validating', args, function (validateArgs) {\n if (validateArgs.errorMessage) {\n select('.' + classes.EDITABLE_ERROR, _this.formEle).innerHTML = validateArgs.errorMessage;\n _this.toggleErrorClass(true);\n }\n else {\n _this.toggleErrorClass(false);\n }\n _this.afterValidation(isValidate);\n });\n }\n else {\n this.afterValidation(isValidate);\n }\n };\n InPlaceEditor.prototype.afterValidation = function (isValidate) {\n if (!this.formEle.classList.contains(classes.ERROR) && isValidate) {\n this.loadSpinner('validate');\n if (this.mode === 'Popup') {\n this.updateArrow();\n }\n this.sendValue();\n }\n };\n InPlaceEditor.prototype.toggleErrorClass = function (value) {\n if (isNOU(this.formEle)) {\n return;\n }\n var inputEle = select('.e-input-group', this.formEle);\n var errorClass = function (element, val, action) {\n [].slice.call(element).forEach(function (ele) {\n if (ele) {\n action === 'add' ? addClass([ele], [val]) : removeClass([ele], [val]);\n }\n });\n };\n errorClass([this.formEle, inputEle], classes.ERROR, value ? 'add' : 'remove');\n };\n InPlaceEditor.prototype.updateArrow = function () {\n var pos = this.tipObj.tipPointerPosition;\n this.tipObj.tipPointerPosition = (pos === 'Middle') ? 'Auto' : 'Middle';\n this.tipObj.tipPointerPosition = pos;\n this.tipObj.dataBind();\n };\n InPlaceEditor.prototype.triggerSuccess = function (args) {\n var _this = this;\n var val = args.value;\n this.trigger('actionSuccess', args, function (actionArgs) {\n _this.oldValue = val;\n _this.removeSpinner('submit');\n if (!actionArgs.cancel) {\n _this.renderValue(_this.checkValue((actionArgs.value !== val) ? actionArgs.value : _this.getRenderValue()));\n }\n if (actionArgs.cancel && _this.mode === 'Inline') {\n removeClass([_this.valueWrap], [classes.HIDE]);\n }\n _this.removeEditor();\n });\n };\n InPlaceEditor.prototype.triggerEndEdit = function (closeBeginBy) {\n var _this = this;\n var endEditArgs = { cancel: false, mode: this.mode, action: closeBeginBy };\n this.trigger('endEdit', endEditArgs, function (args) {\n if (!args.cancel) {\n if (_this.formEle && _this.formEle.classList.contains(classes.ERROR)) {\n _this.updateModelValue(true);\n _this.setProperties({ value: _this.oldValue }, true);\n }\n _this.removeEditor();\n }\n });\n };\n InPlaceEditor.prototype.wireEvents = function () {\n this.wireEditEvent(this.editableOn);\n EventHandler.add(this.editIcon, 'click', this.clickHandler, this);\n EventHandler.add(this.element, 'keydown', this.valueKeyDownHandler, this);\n document.addEventListener('scroll', this.onScrollResizeHandler);\n window.addEventListener('resize', this.onScrollResizeHandler);\n if (Array.prototype.indexOf.call(this.clearComponents, this.type) > -1) {\n EventHandler.add(this.element, 'mousedown', this.mouseDownHandler, this);\n }\n };\n InPlaceEditor.prototype.wireDocEvent = function () {\n EventHandler.add(document, 'mousedown', this.docClickHandler, this);\n };\n InPlaceEditor.prototype.wireEditEvent = function (event) {\n if (event === 'EditIconClick') {\n return;\n }\n var titleConstant = (event === 'Click') ? 'editAreaClick' : 'editAreaDoubleClick';\n this.element.setAttribute('title', this.getLocale(localeConstant[event], titleConstant));\n if (Browser.isDevice && Browser.isIos && event === 'DblClick') {\n this.touchModule = new Touch(this.valueWrap, { tap: this.doubleTapHandler.bind(this) });\n }\n else {\n EventHandler.add(this.valueWrap, event.toLowerCase(), this.clickHandler, this);\n }\n };\n InPlaceEditor.prototype.wireEditorKeyDownEvent = function (ele) {\n EventHandler.add(ele, 'keydown', this.enterKeyDownHandler, this);\n };\n InPlaceEditor.prototype.wireBtnEvents = function () {\n if (!isNOU(this.submitBtn)) {\n EventHandler.add(this.submitBtn.element, 'mousedown', this.submitHandler, this);\n EventHandler.add(this.submitBtn.element, 'click', this.submitPrevent, this);\n EventHandler.add(this.submitBtn.element, 'keydown', this.btnKeyDownHandler, this);\n }\n if (!isNOU(this.cancelBtn)) {\n EventHandler.add(this.cancelBtn.element, 'mousedown', this.cancelBtnClick, this);\n EventHandler.add(this.cancelBtn.element, 'keydown', this.btnKeyDownHandler, this);\n }\n };\n InPlaceEditor.prototype.cancelBtnClick = function (e) {\n this.cancelHandler('cancel');\n this.trigger('cancelClick', e);\n };\n InPlaceEditor.prototype.unWireEvents = function () {\n this.unWireEditEvent(this.editableOn);\n EventHandler.remove(this.editIcon, 'click', this.clickHandler);\n document.removeEventListener('scroll', this.onScrollResizeHandler);\n window.removeEventListener('resize', this.onScrollResizeHandler);\n EventHandler.remove(this.element, 'keydown', this.valueKeyDownHandler);\n if (Array.prototype.indexOf.call(this.clearComponents, this.type) > -1) {\n EventHandler.remove(this.element, 'mousedown', this.mouseDownHandler);\n }\n };\n InPlaceEditor.prototype.unWireDocEvent = function () {\n EventHandler.remove(document, 'mousedown', this.docClickHandler);\n };\n InPlaceEditor.prototype.unWireEditEvent = function (event) {\n if (event === 'EditIconClick') {\n return;\n }\n this.element.removeAttribute('title');\n if (Browser.isDevice && Browser.isIos && event === 'DblClick') {\n this.touchModule.destroy();\n this.touchModule = undefined;\n }\n else {\n EventHandler.remove(this.valueWrap, event.toLowerCase(), this.clickHandler);\n }\n };\n InPlaceEditor.prototype.unWireEditorKeyDownEvent = function (ele) {\n EventHandler.remove(ele, 'keydown', this.enterKeyDownHandler);\n };\n InPlaceEditor.prototype.submitPrevent = function (e) {\n e.preventDefault();\n };\n InPlaceEditor.prototype.btnKeyDownHandler = function (e) {\n var trg = e.target;\n if ((e.keyCode === 13 && e.which === 13) || (e.keyCode === 32 && e.which === 32)) {\n if (trg.classList.contains(classes.BTN_SAVE)) {\n this.save();\n }\n else if (trg.classList.contains(classes.BTN_CANCEL)) {\n this.cancelHandler('cancel');\n }\n }\n if (e.keyCode === 9 && e.shiftKey === false &&\n (isNOU(e.target.nextElementSibling) ||\n e.target.nextElementSibling.tagName !== 'BUTTON')) {\n if (this.actionOnBlur === 'Submit') {\n this.save();\n }\n else if (this.actionOnBlur === 'Cancel') {\n this.cancelHandler('cancel');\n }\n }\n };\n InPlaceEditor.prototype.afterOpenHandler = function (e) {\n if (this.mode === 'Popup' && this.type === 'MultiSelect') {\n EventHandler.add(this.containerEle, 'mousedown', this.popMouseDown, this);\n EventHandler.add(this.containerEle, 'click', this.popClickHandler, this);\n }\n if (this.mode === 'Popup' && !this.isEmpty(this.titleEle.innerHTML)) {\n e.element.classList.add(classes.TIP_TITLE);\n }\n if (this.type === 'RTE') {\n this.rteModule.refresh();\n this.setAttribute(select('.e-richtexteditor textarea', this.containerEle), ['name']);\n }\n else if (this.type === 'Slider') {\n this.sliderModule.refresh();\n this.setAttribute(select('.e-slider-input', this.containerEle), ['name']);\n }\n if (!this.beginEditArgs.cancelFocus) {\n if (this.mode === 'Inline' && (['AutoComplete', 'ComboBox', 'DropDownList', 'MultiSelect'].indexOf(this.type) > -1)\n && this.model.dataSource instanceof DataManager) {\n this.showDropDownPopup();\n }\n else {\n this.setFocus();\n }\n }\n if (this.afterOpenEvent) {\n this.tipObj.setProperties({ afterOpen: this.afterOpenEvent }, true);\n this.tipObj.trigger('afterOpen', e);\n }\n };\n InPlaceEditor.prototype.popMouseDown = function (e) {\n var trgClass = e.target.classList;\n if (trgClass.contains('e-chips-close') && !trgClass.contains('e-close-hooker')) {\n this.updateArrow();\n }\n };\n InPlaceEditor.prototype.doubleTapHandler = function (e) {\n if (e.tapCount > 1) {\n this.clickHandler(e.originalEvent);\n }\n };\n InPlaceEditor.prototype.clickHandler = function (e) {\n if (this.editableOn !== 'EditIconClick') {\n e.stopPropagation();\n }\n this.renderEditor();\n };\n InPlaceEditor.prototype.submitHandler = function (e) {\n e.preventDefault();\n this.save();\n this.trigger('submitClick', e);\n };\n InPlaceEditor.prototype.cancelHandler = function (action) {\n this.triggerEndEdit(action);\n };\n InPlaceEditor.prototype.popClickHandler = function (e) {\n var tipTarget = select('.' + classes.VALUE_WRAPPER, this.element);\n if (e.target.classList.contains('e-chips-close')) {\n this.tipObj.refresh(tipTarget);\n }\n };\n InPlaceEditor.prototype.successHandler = function (e) {\n this.initRender = false;\n var eventArgs = { data: e, value: this.getSendValue() };\n this.triggerSuccess(eventArgs);\n };\n InPlaceEditor.prototype.failureHandler = function (e) {\n var _this = this;\n var eventArgs = { data: e, value: this.getSendValue() };\n this.trigger('actionFailure', eventArgs, function (args) {\n _this.removeSpinner('submit');\n if (_this.mode === 'Popup') {\n _this.updateArrow();\n }\n });\n };\n InPlaceEditor.prototype.enterKeyDownHandler = function (e) {\n if (!closest(e.target, '.' + classes.INPUT + ' .e-richtexteditor') && (!e.currentTarget.getElementsByTagName(\"textarea\")[0])) {\n if ((e.keyCode === 13 && e.which === 13) && closest(e.target, '.' + classes.INPUT)) {\n this.save();\n this.trigger('submitClick', e);\n }\n else if (e.keyCode === 27 && e.which === 27) {\n this.cancelHandler('cancel');\n }\n }\n };\n InPlaceEditor.prototype.valueKeyDownHandler = function (e) {\n if (e.keyCode === 9 && e.shiftKey === true && e.target.tagName !== 'BUTTON') {\n if (this.actionOnBlur === 'Submit') {\n this.save();\n }\n else if (this.actionOnBlur === 'Cancel') {\n this.cancelHandler('cancel');\n }\n }\n if ((e.keyCode === 13 && e.which === 13) && e.target.classList.contains(classes.ROOT) &&\n !this.valueWrap.classList.contains(classes.OPEN) && !this.element.classList.contains(classes.DISABLE)) {\n e.preventDefault();\n this.renderEditor();\n }\n };\n InPlaceEditor.prototype.mouseDownHandler = function (e) {\n if (e.target.classList.contains('e-clear-icon')) {\n this.isClearTarget = true;\n }\n };\n InPlaceEditor.prototype.scrollResizeHandler = function () {\n if (this.mode === 'Popup' && this.tipObj && !(Browser.isDevice)) {\n this.triggerEndEdit('cancel');\n }\n };\n InPlaceEditor.prototype.docClickHandler = function (e) {\n var trg = e.target;\n if (this.isClearTarget) {\n this.isClearTarget = false;\n return;\n }\n var relateRoot = closest(trg, '.' + classes.ROOT);\n var relateTipRoot = closest(trg, '.' + classes.ROOT_TIP);\n var relateElements = closest(trg, '.' + classes.ELEMENTS);\n var relateRTEElements = closest(trg, '.e-rte-elements');\n if ((!isNOU(relateRoot) && relateRoot.isEqualNode(this.element)) ||\n (!isNOU(relateTipRoot) && this.tipObj && (relateTipRoot.id.indexOf(this.valueWrap.id) > -1)) ||\n !isNOU(relateElements) || !isNOU(relateRTEElements) || trg.classList.contains('e-chips-close')) {\n return;\n }\n else {\n if (this.actionOnBlur === 'Submit') {\n this.save();\n }\n else if (this.actionOnBlur === 'Cancel') {\n this.cancelHandler('cancel');\n }\n }\n };\n InPlaceEditor.prototype.changeHandler = function (e) {\n var eventArgs = {\n previousValue: this.compPrevValue === undefined ? this.value : this.compPrevValue,\n value: e.value\n };\n if (this.type === 'AutoComplete' || this.type === 'ComboBox' || this.type === 'DropDownList') {\n eventArgs.itemData = e.itemData;\n eventArgs.previousItemData = e.previousItemData;\n }\n this.compPrevValue = eventArgs.value;\n this.trigger('change', eventArgs);\n };\n /**\n * Validate current editor value.\n *\n * @returns {void}\n */\n InPlaceEditor.prototype.validate = function () {\n this.checkValidation(true, false);\n };\n /**\n * Submit the edited input value to the server.\n *\n * @returns {void}\n */\n InPlaceEditor.prototype.save = function () {\n var _this = this;\n if (!this.formEle) {\n return;\n }\n this.element.focus();\n this.editEle = select('.' + classes.INPUT, this.formEle);\n var errEle = null;\n errEle = select('.' + classes.ERROR, this.editEle);\n if (!this.isTemplate) {\n this.setValue();\n }\n var endEditArgs = { cancel: false, mode: this.mode, action: 'submit' };\n this.trigger('endEdit', endEditArgs, function (args) {\n if (!args.cancel) {\n _this.checkValidation(true, true);\n }\n });\n };\n /**\n * Removes the control from the DOM and also removes all its related events.\n *\n * @returns {void}\n */\n InPlaceEditor.prototype.destroy = function () {\n var _this = this;\n this.removeEditor(isBlazor());\n if (this.isExtModule) {\n this.notify(events.destroy, {});\n }\n this.unWireEvents();\n var classList = [classes.DISABLE, classes.RTL];\n classList.forEach(function (val) {\n removeClass([_this.element], [val]);\n });\n while (this.element.firstElementChild) {\n this.element.removeChild(this.element.firstElementChild);\n }\n if (!(isBlazor() && this.isServerRendered)) {\n _super.prototype.destroy.call(this);\n }\n if (this.isReact) {\n this.clearTemplate();\n }\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} - returns the string\n */\n InPlaceEditor.prototype.getPersistData = function () {\n return this.addOnPersist(['value']);\n };\n /**\n * To provide the array of modules needed for component rendering\n *\n * @returns {ModuleDeclaration[]} - returns the module declaration\n * @hidden\n */\n InPlaceEditor.prototype.requiredModules = function () {\n var modules = [];\n if (Array.prototype.indexOf.call(this.moduleList, this.type) > -1) {\n modules.push({ member: modulesList[this.type], args: [this] });\n }\n return modules;\n };\n /**\n * Returns the current module name.\n *\n * @returns {string} - returrns the string\n * @private\n */\n InPlaceEditor.prototype.getModuleName = function () {\n return 'inplaceeditor';\n };\n /**\n * Gets called when the model property changes.The data that describes the old and new values of property that changed.\n *\n * @param {InPlaceEditorModel} newProp - specifies the new property\n * @param {InPlaceEditorModel} oldProp - specifies the old property\n * @returns {void}\n * @private\n */\n InPlaceEditor.prototype.onPropertyChanged = function (newProp, oldProp) {\n var checkValidation = this.validationRules ? !isNOU(this.element.querySelectorAll('.' + classes.ERROR)) &&\n this.element.querySelectorAll('.' + classes.ERROR).length > 0 ? false : true : true;\n if (checkValidation) {\n if (this.isEditorOpen()) {\n var editModeChanged = 'enableEditMode' in newProp;\n if ((editModeChanged && oldProp.enableEditMode && !newProp.enableEditMode) || (!editModeChanged && this.enableEditMode)) {\n this.triggerEndEdit('cancel');\n }\n else {\n this.removeEditor();\n }\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'showButtons':\n (newProp.showButtons) ? this.appendButtons(this.formEle) : this.destroyButtons();\n break;\n case 'value':\n this.updateValue();\n this.textOption === 'Never' ? this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)))\n : this.renderInitialValue();\n break;\n case 'emptyText':\n this.textOption === 'Never' ? this.renderValue(this.checkValue(parseValue(this.type, this.value, this.model)))\n : this.renderInitialValue();\n break;\n case 'template':\n this.checkIsTemplate();\n break;\n case 'disabled':\n this.disable(newProp.disabled);\n newProp.disabled ? this.element.tabIndex = -1 : this.element.tabIndex = 0;\n break;\n case 'enableRtl':\n this.setRtl(newProp.enableRtl);\n break;\n case 'cssClass':\n this.setClass('remove', oldProp.cssClass);\n this.setClass('add', newProp.cssClass);\n break;\n case 'mode':\n this.enableEditor(this.enableEditMode);\n break;\n case 'enableEditMode':\n this.enableEditor(newProp.enableEditMode);\n break;\n case 'editableOn':\n this.unWireEditEvent(oldProp.editableOn);\n if (newProp.editableOn !== 'EditIconClick') {\n this.wireEditEvent(newProp.editableOn);\n }\n break;\n }\n }\n }\n };\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"name\", void 0);\n __decorate([\n Property(null)\n ], InPlaceEditor.prototype, \"value\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"template\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"enableHtmlParse\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"cssClass\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"primaryKey\", void 0);\n __decorate([\n Property('Empty')\n ], InPlaceEditor.prototype, \"emptyText\", void 0);\n __decorate([\n Property('')\n ], InPlaceEditor.prototype, \"url\", void 0);\n __decorate([\n Property('Popup')\n ], InPlaceEditor.prototype, \"mode\", void 0);\n __decorate([\n Property('UrlAdaptor')\n ], InPlaceEditor.prototype, \"adaptor\", void 0);\n __decorate([\n Property('Text')\n ], InPlaceEditor.prototype, \"type\", void 0);\n __decorate([\n Property('Click')\n ], InPlaceEditor.prototype, \"editableOn\", void 0);\n __decorate([\n Property('Never')\n ], InPlaceEditor.prototype, \"textOption\", void 0);\n __decorate([\n Property('Submit')\n ], InPlaceEditor.prototype, \"actionOnBlur\", void 0);\n __decorate([\n Property(false)\n ], InPlaceEditor.prototype, \"enablePersistence\", void 0);\n __decorate([\n Property(false)\n ], InPlaceEditor.prototype, \"disabled\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"showButtons\", void 0);\n __decorate([\n Property(false)\n ], InPlaceEditor.prototype, \"enableEditMode\", void 0);\n __decorate([\n Property(true)\n ], InPlaceEditor.prototype, \"submitOnEnter\", void 0);\n __decorate([\n Complex({}, PopupSettings)\n ], InPlaceEditor.prototype, \"popupSettings\", void 0);\n __decorate([\n Property(null)\n ], InPlaceEditor.prototype, \"model\", void 0);\n __decorate([\n Property({ iconCss: 'e-icons e-save-icon' })\n ], InPlaceEditor.prototype, \"saveButton\", void 0);\n __decorate([\n Property({ iconCss: 'e-icons e-cancel-icon' })\n ], InPlaceEditor.prototype, \"cancelButton\", void 0);\n __decorate([\n Property(null)\n ], InPlaceEditor.prototype, \"validationRules\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"created\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"beforeSanitizeHtml\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"actionBegin\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"actionSuccess\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"actionFailure\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"validating\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"beginEdit\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"endEdit\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"change\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"submitClick\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"cancelClick\", void 0);\n __decorate([\n Event()\n ], InPlaceEditor.prototype, \"destroyed\", void 0);\n InPlaceEditor = __decorate([\n NotifyPropertyChanges\n ], InPlaceEditor);\n return InPlaceEditor;\n}(Component));\nexport { InPlaceEditor };\n","import { isNullOrUndefined as isNOU } from '@syncfusion/ej2-base';\nimport * as events from '../base/events';\n/**\n * The `Base` module.\n */\nvar Base = /** @class */ (function () {\n function Base(parent, module) {\n this.parent = parent;\n this.module = module;\n this.addEventListener();\n }\n Base.prototype.render = function (e) {\n this.module.render(e);\n };\n Base.prototype.showPopup = function () {\n this.module.showPopup();\n };\n Base.prototype.focus = function () {\n this.module.focus();\n };\n Base.prototype.update = function (e) {\n this.module.updateValue(e);\n };\n Base.prototype.getValue = function () {\n this.module.getRenderValue();\n };\n Base.prototype.destroyComponent = function () {\n if (isNOU(this.module.compObj)) {\n return;\n }\n this.module.compObj.destroy();\n this.module.compObj = undefined;\n };\n Base.prototype.destroy = function () {\n this.destroyComponent();\n this.removeEventListener();\n };\n Base.prototype.addEventListener = function () {\n this.parent.on(events.render, this.render, this);\n this.parent.on(events.setFocus, this.focus, this);\n this.parent.on(events.showPopup, this.showPopup, this);\n this.parent.on(events.update, this.update, this);\n this.parent.on(events.accessValue, this.getValue, this);\n this.parent.on(events.destroyModules, this.destroyComponent, this);\n this.parent.on(events.destroy, this.destroy, this);\n };\n Base.prototype.removeEventListener = function () {\n if (this.parent.isDestroyed) {\n return;\n }\n this.parent.off(events.render, this.render);\n this.parent.off(events.setFocus, this.focus);\n this.parent.off(events.showPopup, this.showPopup);\n this.parent.off(events.update, this.update);\n this.parent.off(events.accessValue, this.getValue);\n this.parent.off(events.destroyModules, this.destroyComponent);\n this.parent.off(events.destroy, this.destroy);\n };\n return Base;\n}());\nexport { Base };\n","import { AutoComplete as EJ2AutoComplete } from '@syncfusion/ej2-dropdowns';\nimport { Base } from './base-module';\n/**\n * The `AutoComplete` module is used configure the properties of Auto complete type editor.\n */\nvar AutoComplete = /** @class */ (function () {\n function AutoComplete(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.atcModule = this;\n this.base = new Base(this.parent, this);\n }\n AutoComplete.prototype.render = function (e) {\n this.compObj = new EJ2AutoComplete(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n /**\n * @hidden\n * @returns {void}\n */\n AutoComplete.prototype.showPopup = function () {\n this.compObj.focusIn();\n this.compObj.showPopup();\n };\n AutoComplete.prototype.focus = function () {\n this.compObj.element.focus();\n };\n AutoComplete.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'AutoComplete') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n AutoComplete.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n AutoComplete.prototype.getModuleName = function () {\n return 'auto-complete';\n };\n return AutoComplete;\n}());\nexport { AutoComplete };\n","import { ColorPicker as EJ2ColorPicker } from '@syncfusion/ej2-inputs';\nimport { Base } from './base-module';\n/**\n * The `ColorPicker` module is used configure the properties of Color picker type editor.\n */\nvar ColorPicker = /** @class */ (function () {\n function ColorPicker(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.colorModule = this;\n this.base = new Base(this.parent, this);\n }\n ColorPicker.prototype.render = function (e) {\n this.compObj = new EJ2ColorPicker(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n ColorPicker.prototype.focus = function () {\n this.compObj.element.focus();\n };\n ColorPicker.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'Color') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n ColorPicker.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - retunrs the string\n */\n ColorPicker.prototype.getModuleName = function () {\n return 'color-picker';\n };\n return ColorPicker;\n}());\nexport { ColorPicker };\n","import { ComboBox as EJ2ComboBox } from '@syncfusion/ej2-dropdowns';\nimport { Base } from './base-module';\n/**\n * The `ComboBox` module is used configure the properties of Combo box type editor.\n */\nvar ComboBox = /** @class */ (function () {\n function ComboBox(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.comboBoxModule = this;\n this.base = new Base(this.parent, this);\n }\n ComboBox.prototype.render = function (e) {\n this.compObj = new EJ2ComboBox(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n ComboBox.prototype.focus = function () {\n this.compObj.element.focus();\n };\n /**\n * @hidden\n * @returns {void}\n */\n ComboBox.prototype.showPopup = function () {\n this.compObj.focusIn();\n this.compObj.showPopup();\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n ComboBox.prototype.destroy = function () {\n this.base.destroy();\n };\n ComboBox.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'ComboBox') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n ComboBox.prototype.getModuleName = function () {\n return 'combo-box';\n };\n return ComboBox;\n}());\nexport { ComboBox };\n","import { DateRangePicker as EJ2DateRangePicker } from '@syncfusion/ej2-calendars';\nimport { Base } from './base-module';\n/**\n * The `DateRangePicker` module is used configure the properties of Date range picker type editor.\n */\nvar DateRangePicker = /** @class */ (function () {\n function DateRangePicker(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.dateRangeModule = this;\n this.base = new Base(this.parent, this);\n }\n DateRangePicker.prototype.render = function (e) {\n this.compObj = new EJ2DateRangePicker(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n DateRangePicker.prototype.focus = function () {\n this.compObj.element.focus();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n DateRangePicker.prototype.getModuleName = function () {\n return 'date-range-picker';\n };\n DateRangePicker.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'DateRange') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n DateRangePicker.prototype.destroy = function () {\n this.base.destroy();\n };\n return DateRangePicker;\n}());\nexport { DateRangePicker };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { closest } from '@syncfusion/ej2-base';\nimport { MultiSelect as EJ2MultiSelect } from '@syncfusion/ej2-dropdowns';\nimport { Base } from './base-module';\n/**\n * The `MultiSelect` module is used configure the properties of Multi select type editor.\n */\nvar MultiSelect = /** @class */ (function () {\n function MultiSelect(parent) {\n this.isPopOpen = false;\n this.compObj = undefined;\n this.parent = parent;\n this.parent.multiSelectModule = this;\n this.base = new Base(this.parent, this);\n }\n MultiSelect.prototype.render = function (e) {\n var compModel = __assign({}, this.parent.model);\n this.openEvent = compModel.open;\n this.closeEvent = compModel.close;\n compModel.open = this.openHandler.bind(this);\n compModel.close = this.closeHandler.bind(this);\n this.compObj = new EJ2MultiSelect(compModel);\n this.compObj.appendTo(e.target);\n };\n MultiSelect.prototype.openHandler = function (e) {\n this.isPopOpen = true;\n if (this.openEvent) {\n this.compObj.setProperties({ open: this.openEvent }, true);\n this.compObj.trigger('open', e);\n }\n };\n MultiSelect.prototype.closeHandler = function (e) {\n this.isPopOpen = false;\n if (this.closeEvent) {\n this.compObj.setProperties({ close: this.closeEvent }, true);\n this.compObj.trigger('close', e);\n }\n };\n MultiSelect.prototype.focus = function () {\n if (!this.isPopOpen) {\n var evt = document.createEvent('MouseEvent');\n evt.initEvent('mousedown', true, true);\n closest(this.compObj.element, '.e-multi-select-wrapper').dispatchEvent(evt);\n }\n };\n MultiSelect.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'MultiSelect') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n MultiSelect.prototype.getRenderValue = function () {\n this.parent.printValue = this.compObj.text;\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n MultiSelect.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n MultiSelect.prototype.getModuleName = function () {\n return 'multi-select';\n };\n return MultiSelect;\n}());\nexport { MultiSelect };\n","import { RichTextEditor, HtmlEditor } from '@syncfusion/ej2-richtexteditor';\nimport { MarkdownEditor, Toolbar, Link, Image, QuickToolbar, Table, FileManager, PasteCleanup, EmojiPicker, Audio, Video, FormatPainter, Count } from '@syncfusion/ej2-richtexteditor';\nimport { Base } from './base-module';\n/**\n * The `RTE` module is used configure the properties of RTE type editor.\n */\nvar Rte = /** @class */ (function () {\n function Rte(parent) {\n this.compObj = undefined;\n RichTextEditor.Inject(HtmlEditor, MarkdownEditor, Toolbar, Link, Image, QuickToolbar, Table, FileManager, PasteCleanup, EmojiPicker, Audio, Video, FormatPainter, Count);\n this.parent = parent;\n this.parent.rteModule = this;\n this.base = new Base(this.parent, this);\n }\n Rte.prototype.render = function (e) {\n this.compObj = new RichTextEditor(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n Rte.prototype.focus = function () {\n this.compObj.focusIn();\n };\n Rte.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'RTE') {\n this.parent.setProperties({ value: this.getRteValue() }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n Rte.prototype.getRteValue = function () {\n var rteVal;\n if (this.compObj.editorMode === 'Markdown') {\n rteVal = this.compObj.contentModule.getEditPanel().value;\n return (rteVal === '') ? '' : rteVal;\n }\n else {\n rteVal = this.compObj.contentModule.getEditPanel().innerHTML;\n return (rteVal === '<p><br></p>' || rteVal === '<p><br></p>' || rteVal === '') ? '' : rteVal;\n }\n };\n Rte.prototype.refresh = function () {\n this.compObj.refresh();\n };\n /**\n * Destroys the rte module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n Rte.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n Rte.prototype.getModuleName = function () {\n return 'rte';\n };\n return Rte;\n}());\nexport { Rte };\n","import { Slider as EJ2Slider } from '@syncfusion/ej2-inputs';\nimport { Base } from './base-module';\n/**\n * The `Slider` module is used configure the properties of Slider type editor.\n */\nvar Slider = /** @class */ (function () {\n function Slider(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.sliderModule = this;\n this.base = new Base(this.parent, this);\n }\n Slider.prototype.render = function (e) {\n this.compObj = new EJ2Slider(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n Slider.prototype.focus = function () {\n this.compObj.element.focus();\n };\n Slider.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'Slider') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n Slider.prototype.refresh = function () {\n this.compObj.refresh();\n };\n /**\n * Destroys the slider module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n Slider.prototype.destroy = function () {\n this.base.destroy();\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n Slider.prototype.getModuleName = function () {\n return 'slider';\n };\n return Slider;\n}());\nexport { Slider };\n","import { TimePicker as EJ2TimePicker } from '@syncfusion/ej2-calendars';\nimport { Base } from './base-module';\n/**\n * The `TimePicker` module is used configure the properties of Time picker type editor.\n */\nvar TimePicker = /** @class */ (function () {\n function TimePicker(parent) {\n this.compObj = undefined;\n this.parent = parent;\n this.parent.timeModule = this;\n this.base = new Base(this.parent, this);\n }\n TimePicker.prototype.render = function (e) {\n this.compObj = new EJ2TimePicker(this.parent.model);\n this.compObj.appendTo(e.target);\n };\n TimePicker.prototype.focus = function () {\n this.compObj.focusIn();\n };\n TimePicker.prototype.updateValue = function (e) {\n if (this.compObj && e.type === 'Time') {\n this.parent.setProperties({ value: this.compObj.value }, true);\n this.parent.extendModelValue(this.compObj.value);\n }\n };\n /**\n * For internal use only - Get the module name.\n *\n * @returns {string} - returns the string\n */\n TimePicker.prototype.getModuleName = function () {\n return 'time-picker';\n };\n /**\n * Destroys the module.\n *\n * @function destroy\n * @returns {void}\n * @hidden\n */\n TimePicker.prototype.destroy = function () {\n this.base.destroy();\n };\n return TimePicker;\n}());\nexport { TimePicker };\n"],"names":["isNOU","this","__extends","__decorate","classes.TITLE","classes.VALUE_WRAPPER","classes.VALUE","classes.OVERLAY_ICON","classes.ICONS","classes.LOAD","classes.HIDE","classes.OPEN","classes.INLINE","classes.POPUP","classes.ROOT_TIP","events.setFocus","events.showPopup","classes.WRAPPER","classes.LOADING","classes.FORM","classes.CTRL_GROUP","classes.INPUT","classes.EDITABLE_ERROR","classes.BUTTONS","classes.PRIMARY","classes.BTN_SAVE","classes.BTN_CANCEL","classes.ELEMENTS","events.render","classes.SHOW","classes.RTE_SPIN_WRAP","classes.CTRL_OVERLAY","events.update","events.accessValue","classes.RTL","events.destroyModules","classes.DISABLE","classes.ERROR","classes.TIP_TITLE","classes.ROOT","events.destroy","EJ2AutoComplete","EJ2ColorPicker","EJ2ComboBox","EJ2DateRangePicker","EJ2MultiSelect","EJ2Slider","EJ2TimePicker"],"mappings":"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"}
|