com.phloxui
Version:
PhloxUI Ng2+ Framework
1,363 lines (1,362 loc) • 110 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, EventEmitter, Output } from '@angular/core';
import { I18N, Option } from '../../decorator/decorators';
import { AbstractTableComponent } from './AbstractTableComponent';
import { DRAG_EVENT, DRAG_START_EVENT, DRAG_END_EVENT, DRAG_ENTER_EVENT, DRAG_OVER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT, DROP_ACCEPT_EVENT, DROP_REJECT_EVENT, } from '../../share/CustomEventType';
import { NeedFocusService } from '../../service/NeedFocusService.service';
import { EventUtils } from '../../share/utils/EventUtils';
import { DataUtils } from '../../share/utils/DataUtils';
var /** @type {?} */ TYPE_NAME = "phx-table-row";
var /** @type {?} */ DEFAULT_DROP_EFFECT_REJECT_CLASS = 'shake shake-constant';
var /** @type {?} */ DEFAULT_DROP_EFFECT_REJECT_DURATION = 300;
var /** @type {?} */ DEFAULT_DROP_DATA_TRANSFER_DROP_EFFECT = 'move';
var /** @type {?} */ DEFAULT_DRAG_DATA_TRANSFER_EFFECT_ALLOWED = 'move';
var DefaultTableRow = /** @class */ (function (_super) {
tslib_1.__extends(DefaultTableRow, _super);
function DefaultTableRow(elRef, needFocusService) {
var _this = _super.call(this, elRef) || this;
_this.needFocusService = needFocusService;
_this.rowDragEvent = new EventEmitter();
_this.rowDragStartEvent = new EventEmitter();
_this.rowDragEndEvent = new EventEmitter();
_this.rowDragEnterEvent = new EventEmitter();
_this.rowDragOverEvent = new EventEmitter();
_this.rowDragLeaveEvent = new EventEmitter();
_this.rowDropEvent = new EventEmitter();
_this.rowDropAcceptedEvent = new EventEmitter();
_this.rowDropRejectedEvent = new EventEmitter();
_this.wrapperHandlers = [];
_this.cellInstances = [];
return _this;
}
/**
* @return {?}
*/
DefaultTableRow.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
if (this.dropEffectRejectClass === null || typeof this.dropEffectRejectClass === 'undefined') {
this.dropEffectRejectClass = DEFAULT_DROP_EFFECT_REJECT_CLASS;
}
if (this.dropEffectRejectDuration === null || typeof this.dropEffectRejectDuration === 'undefined') {
this.dropEffectRejectDuration = DEFAULT_DROP_EFFECT_REJECT_DURATION;
}
if (this.dropDataTransferDropEffect === null || typeof this.dropDataTransferDropEffect === 'undefined') {
this.dropDataTransferDropEffect = DEFAULT_DROP_DATA_TRANSFER_DROP_EFFECT;
}
if (this.dragDataTransferEffectAllowed === null || typeof this.dragDataTransferEffectAllowed === 'undefined') {
this.dragDataTransferEffectAllowed = DEFAULT_DRAG_DATA_TRANSFER_EFFECT_ALLOWED;
}
};
// Implement
/**
* @param {?} table
* @return {?}
*/
DefaultTableRow.prototype.doInitialize = /**
* @param {?} table
* @return {?}
*/
function (table) {
var _this = this;
if (table === null && typeof table === 'undefined') {
return;
}
if (table.getModel() && table.getModel().getRowModel() && table.getModel().getRowModel().getCellModels()
&& Array.isArray(table.getModel().getRowModel().getCellModels())) {
var /** @type {?} */ cellModels = table.getModel().getRowModel().getCellModels();
this.wrapperHandlers = new Array(cellModels.length);
this.cellInstances = new Array(cellModels.length);
var _loop_1 = function (i) {
this_1.wrapperHandlers[i] = function (event) {
_this.cellInstances[i] = event.instance;
// auto saveData for dirty
if (typeof _this.cellInstances[i].saveData === 'function') {
// delay for component init end
setTimeout(function () {
_this.cellInstances[i].saveData(_this.originalData);
}, 5);
}
// subscribe focus, lostFocus & change of instance
if (typeof _this.cellInstances[i].getFocusEvent === 'function') {
typeof _this.cellInstances[i].getFocusEvent().subscribe(function (event) {
if (_this.getTable()) {
_this.getTable().onCellFocused(_this.getRowIndex(), i, event);
}
});
}
if (typeof _this.cellInstances[i].getLostFocusEvent === 'function') {
typeof _this.cellInstances[i].getLostFocusEvent().subscribe(function (event) {
if (_this.getTable()) {
_this.getTable().onCellLostFocused(_this.getRowIndex(), i, event);
}
});
}
if (typeof _this.cellInstances[i].getChangeEvent === 'function') {
typeof _this.cellInstances[i].getChangeEvent().subscribe(function (event) {
if (_this.getTable()) {
_this.getTable().onCellChanged(_this.getRowIndex(), i, event);
}
});
}
if (_this.controller !== null && typeof _this.controller !== 'undefined') {
_this.controller.setCellComponentInstanceAt(i, event.instance);
}
};
};
var this_1 = this;
for (var /** @type {?} */ i = 0; i < cellModels.length; i++) {
_loop_1(i);
}
}
else {
this.wrapperHandlers = [];
this.cellInstances = [];
}
// Auto set element's style if specified
if (this.elementRef !== null && typeof this.elementRef !== 'undefined') {
if (table.getModel() && table.getModel().getRowModel()) {
if (typeof table.getModel().getRowModel().getHeight() === 'string') {
$(this.elementRef.nativeElement).css('height', table.getModel().getRowModel().getHeight());
}
}
}
};
/**
* @param {?} index
* @return {?}
*/
DefaultTableRow.prototype._getWrapperHandler = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (this.wrapperHandlers === null || typeof this.wrapperHandlers === 'undefined' || !Array.isArray(this.wrapperHandlers)) {
return null;
}
if (index < 0 || index >= this.wrapperHandlers.length) {
return null;
}
return this.wrapperHandlers[index];
};
/**
* @param {?} event
* @param {?} columnIndex
* @param {?=} fireEvent
* @return {?}
*/
DefaultTableRow.prototype.onTableRowCellClicked = /**
* @param {?} event
* @param {?} columnIndex
* @param {?=} fireEvent
* @return {?}
*/
function (event, columnIndex, fireEvent) {
if (fireEvent === null || fireEvent === undefined) {
fireEvent = true;
}
if (this.getTable()) {
this.getTable().onCellClicked(this.getRowIndex(), columnIndex, event, fireEvent);
}
};
/**
* @param {?} event
* @param {?} columnIndex
* @param {?=} fireEvent
* @return {?}
*/
DefaultTableRow.prototype.onTableRowCellDblClicked = /**
* @param {?} event
* @param {?} columnIndex
* @param {?=} fireEvent
* @return {?}
*/
function (event, columnIndex, fireEvent) {
if (fireEvent === null || fireEvent === undefined) {
fireEvent = true;
}
if (this.getTable()) {
this.getTable().onCellDblClicked(this.getRowIndex(), columnIndex, event, fireEvent);
}
};
/**
* @param {?} event
* @param {?=} fireEvent
* @return {?}
*/
DefaultTableRow.prototype.onFocus = /**
* @param {?} event
* @param {?=} fireEvent
* @return {?}
*/
function (event, fireEvent) {
};
/**
* @param {?} event
* @param {?=} fireEvent
* @return {?}
*/
DefaultTableRow.prototype.onLostFocus = /**
* @param {?} event
* @param {?=} fireEvent
* @return {?}
*/
function (event, fireEvent) {
};
/**
* @return {?}
*/
DefaultTableRow.prototype.playDropRejectEffect = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
try {
$(_this.elementRef.nativeElement).find('.phx-table-cell > *').addClass(_this.dropEffectRejectClass);
if (_this.dropEffectRejectTimer !== null && typeof _this.dropEffectRejectTimer !== 'undefined') {
clearTimeout(_this.dropEffectRejectTimer);
_this.dropEffectRejectTimer = null;
}
_this.dropEffectRejectTimer = setTimeout(function () {
$(_this.elementRef.nativeElement).find('.phx-table-cell > *').removeClass(_this.dropEffectRejectClass);
resolve();
}, _this.dropEffectRejectDuration);
}
catch (/** @type {?} */ e) {
reject();
}
});
};
/**
* @return {?}
*/
DefaultTableRow.prototype.isSelfDataDirty = /**
* @return {?}
*/
function () {
var /** @type {?} */ b = JSON.stringify(this.data) !== JSON.stringify(this.originalData);
return b;
};
/**
* @param {?} data
* @return {?}
*/
DefaultTableRow.prototype.selfSaveData = /**
* @param {?} data
* @return {?}
*/
function (data) {
if (typeof this.data === 'object') {
this.originalData = JSON.parse(JSON.stringify(this.data));
}
else {
this.originalData = this.data;
}
};
/**
* @return {?}
*/
DefaultTableRow.prototype.selfResetData = /**
* @return {?}
*/
function () {
if (this.originalData === null || typeof this.originalData === 'undefined') {
this.data = this.originalData;
}
else if (this.data === null || typeof this.data === 'undefined') {
this.data = JSON.parse(JSON.stringify(this.originalData));
}
else if (Array.isArray(this.originalData)) {
if (Array.isArray(this.data)) {
// Re-copy members from original data (do not change this.data object reference)
this.data.splice(0, this.data.length);
this.data.concat(this.originalData);
}
else {
// Copy array member values
this.data = [].concat(this.originalData);
}
}
else if (typeof this.originalData === 'object') {
if (typeof this.data === 'object') {
// Copy data values from originalData (overwrite=true and resetOldValues=true)
// (do not change this.data object reference)
DataUtils.copyDataValues(this.originalData, this.data, true, true);
}
else {
// Clone object from original data
this.data = JSON.parse(JSON.stringify(this.originalData));
}
}
else {
this.data = this.originalData;
}
};
/**
* @param {?} controller
* @return {?}
*/
DefaultTableRow.prototype.setController = /**
* @param {?} controller
* @return {?}
*/
function (controller) {
if (this.controller !== null && typeof this.controller !== 'undefined') {
this.controller.resetCellComponents();
}
this.controller = controller;
if (this.cellInstances !== null && Array.isArray(this.cellInstances)) {
for (var /** @type {?} */ i = 0; i < this.cellInstances.length; i++) {
this.controller.setCellComponentInstanceAt(i, this.cellInstances[i]);
}
}
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getController = /**
* @return {?}
*/
function () {
return this.controller;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getComponentInstance = /**
* @return {?}
*/
function () {
return this;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getCellComponentInstances = /**
* @return {?}
*/
function () {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.getCellComponentInstances();
};
/**
* @param {?} index
* @return {?}
*/
DefaultTableRow.prototype.getCellComponentInstanceAt = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.getCellComponentInstanceAt(index);
};
/**
* @param {?} index
* @param {?} component
* @return {?}
*/
DefaultTableRow.prototype.setCellComponentInstanceAt = /**
* @param {?} index
* @param {?} component
* @return {?}
*/
function (index, component) {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
this.controller.setCellComponentInstanceAt(index, component);
};
/**
* @return {?}
*/
DefaultTableRow.prototype.resetCellComponents = /**
* @return {?}
*/
function () {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
this.controller.resetCellComponents();
};
/**
* @return {?}
*/
DefaultTableRow.prototype.isEditable = /**
* @return {?}
*/
function () {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.isEditable();
};
/**
* @return {?}
*/
DefaultTableRow.prototype.isEditingMode = /**
* @return {?}
*/
function () {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.isEditingMode();
};
/**
* @return {?}
*/
DefaultTableRow.prototype.isEditing = /**
* @return {?}
*/
function () {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.isEditing();
};
/**
* @param {?} editing
* @return {?}
*/
DefaultTableRow.prototype.setEditing = /**
* @param {?} editing
* @return {?}
*/
function (editing) {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
this.controller.setEditing(editing);
};
/**
* @param {?} oldState
* @return {?}
*/
DefaultTableRow.prototype.loadState = /**
* @param {?} oldState
* @return {?}
*/
function (oldState) {
if (this.controller === null || typeof this.controller === 'undefined') {
return;
}
if (oldState === null || typeof oldState === 'undefined') {
return;
}
if (oldState instanceof DefaultTableRow) {
this.controller.loadState((/** @type {?} */ (oldState)).getController());
}
else {
this.controller.loadState(oldState);
}
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getOldState = /**
* @return {?}
*/
function () {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.getOldState();
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.isDraggable = /**
* @param {?} event
* @return {?}
*/
function (event) {
try {
return this.table.getModel().getRowModel().isDraggable();
}
catch (/** @type {?} */ e) {
return false;
}
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.getDragStartDataTransfer = /**
* @param {?} event
* @return {?}
*/
function (event) {
return {
// Set drag image as entire row
image: this.elementRef.nativeElement,
data: this.controller.getData(),
effectAllowed: this.dragDataTransferEffectAllowed
};
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDrag = /**
* @param {?} event
* @return {?}
*/
function (event) {
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DRAG_EVENT, this, data, event);
if (this.rowDragEvent !== null && this.rowDragEvent !== undefined) {
this.rowDragEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDrag === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDrag(ev);
}
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDragStart = /**
* @param {?} event
* @return {?}
*/
function (event) {
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DRAG_START_EVENT, this, data, event);
if (this.rowDragStartEvent !== null && this.rowDragStartEvent !== undefined) {
this.rowDragStartEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDragStart === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDragStart(ev);
}
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDragEnd = /**
* @param {?} event
* @return {?}
*/
function (event) {
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DRAG_END_EVENT, this, data, event);
if (this.rowDragEndEvent !== null && this.rowDragEndEvent !== undefined) {
this.rowDragEndEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDragEnd === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDragEnd(ev);
}
};
/**
* @param {?} event
* @param {?} format
* @param {?} data
* @return {?}
*/
DefaultTableRow.prototype.isAcceptDragData = /**
* @param {?} event
* @param {?} format
* @param {?} data
* @return {?}
*/
function (event, format, data) {
// Default is to return "true" meaning that we'll accept drag data according to
// its data "format" only.
return true;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.getDragOverDataTransfer = /**
* @param {?} event
* @return {?}
*/
function (event) {
return {
dropEffect: this.dropDataTransferDropEffect
};
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDragEnter = /**
* @param {?} event
* @return {?}
*/
function (event) {
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DRAG_ENTER_EVENT, this, data, event);
if (this.rowDragEnterEvent !== null && this.rowDragEnterEvent !== undefined) {
this.rowDragEnterEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDragEnter === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDragEnter(ev);
}
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDragOver = /**
* @param {?} event
* @return {?}
*/
function (event) {
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DRAG_OVER_EVENT, this, data, event);
if (this.rowDragOverEvent !== null && this.rowDragOverEvent !== undefined) {
this.rowDragOverEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDragOver === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDragOver(ev);
}
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDragLeave = /**
* @param {?} event
* @return {?}
*/
function (event) {
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DRAG_LEAVE_EVENT, this, data, event);
if (this.rowDragLeaveEvent !== null && this.rowDragLeaveEvent !== undefined) {
this.rowDragLeaveEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDragLeave === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDragLeave(ev);
}
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDrop = /**
* @param {?} event
* @return {?}
*/
function (event) {
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DROP_EVENT, this, data, event);
if (this.rowDropEvent !== null && this.rowDropEvent !== undefined) {
this.rowDropEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDrop === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDrop(ev);
}
};
/**
* @param {?} event
* @param {?} data
* @return {?}
*/
DefaultTableRow.prototype.onDropAccepted = /**
* @param {?} event
* @param {?} data
* @return {?}
*/
function (event, data) {
// emit event
var /** @type {?} */ d = {
item: this,
result: data
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DROP_ACCEPT_EVENT, this, d, event);
if (this.rowDropAcceptedEvent !== null && this.rowDropAcceptedEvent !== undefined) {
this.rowDropAcceptedEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDropAccepted === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDropAccepted(ev);
}
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.onDropRejected = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.playDropRejectEffect();
// emit event
var /** @type {?} */ data = {
item: this
};
var /** @type {?} */ ev = EventUtils.newCustomEvent(DROP_REJECT_EVENT, this, data, event);
if (this.rowDropRejectedEvent !== null && this.rowDropRejectedEvent !== undefined) {
this.rowDropRejectedEvent.emit(ev);
}
var /** @type {?} */ parent = /** @type {?} */ (this.getDataParent());
if (parent !== null && typeof parent.onDropRejected === 'function') {
// TableBody will emit "ev" out without wrapping into CustomEvent.
// So, we'll pass "ev" (CustomEvent) to parent directly.
parent.onDropRejected(ev);
}
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowIndex = /**
* @return {?}
*/
function () {
if (this.controller === null || this.controller === undefined) {
return -1;
}
return this.controller.getRowIndex();
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getTable = /**
* @return {?}
*/
function () {
return this.table;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getData = /**
* @return {?}
*/
function () {
return this.data;
};
/**
* @param {?} data
* @return {?}
*/
DefaultTableRow.prototype.setData = /**
* @param {?} data
* @return {?}
*/
function (data) {
this.data = data;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.isSelfEditable = /**
* @return {?}
*/
function () {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.isSelfEditable();
};
/**
* @param {?} editable
* @return {?}
*/
DefaultTableRow.prototype.setSelfEditable = /**
* @param {?} editable
* @return {?}
*/
function (editable) {
this.controller.setSelfEditable(editable);
};
/**
* @param {?} index
* @return {?}
*/
DefaultTableRow.prototype.isCellEditable = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.isCellEditable(index);
};
/**
* @param {?} index
* @return {?}
*/
DefaultTableRow.prototype.isCellEditingMode = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.isCellEditingMode(index);
};
/**
* @param {?} index
* @return {?}
*/
DefaultTableRow.prototype.isCellEditing = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
return this.controller.isCellEditing(index);
};
/**
* @param {?} index
* @param {?} editing
* @return {?}
*/
DefaultTableRow.prototype.setCellEditing = /**
* @param {?} index
* @param {?} editing
* @return {?}
*/
function (index, editing) {
if (this.controller === null || typeof this.controller === 'undefined') {
return null;
}
this.controller.setCellEditing(index, editing);
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getNeedFocusService = /**
* @return {?}
*/
function () {
return this.needFocusService;
};
/**
* @param {?} component
* @param {?=} event
* @return {?}
*/
DefaultTableRow.prototype.setFocusingComponent = /**
* @param {?} component
* @param {?=} event
* @return {?}
*/
function (component, event) {
this.getNeedFocusService().setFocusingComponent(component, event);
};
/**
* @param {?} classes
* @return {?}
*/
DefaultTableRow.prototype.addStyleClasses = /**
* @param {?} classes
* @return {?}
*/
function (classes) {
try {
for (var classes_1 = tslib_1.__values(classes), classes_1_1 = classes_1.next(); !classes_1_1.done; classes_1_1 = classes_1.next()) {
var c = classes_1_1.value;
$(this.elementRef.nativeElement).addClass(c);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (classes_1_1 && !classes_1_1.done && (_a = classes_1.return)) _a.call(classes_1);
}
finally { if (e_1) throw e_1.error; }
}
var e_1, _a;
};
/**
* @param {?} classes
* @return {?}
*/
DefaultTableRow.prototype.removeStyleClasses = /**
* @param {?} classes
* @return {?}
*/
function (classes) {
try {
for (var classes_2 = tslib_1.__values(classes), classes_2_1 = classes_2.next(); !classes_2_1.done; classes_2_1 = classes_2.next()) {
var c = classes_2_1.value;
$(this.elementRef.nativeElement).removeClass(c);
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (classes_2_1 && !classes_2_1.done && (_a = classes_2.return)) _a.call(classes_2);
}
finally { if (e_2) throw e_2.error; }
}
var e_2, _a;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDragEvent = /**
* @return {?}
*/
function () {
return this.rowDragEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDragEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDragEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDragStartEvent = /**
* @return {?}
*/
function () {
return this.rowDragStartEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDragStartEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDragStartEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDragEndEvent = /**
* @return {?}
*/
function () {
return this.rowDragEndEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDragEndEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDragEndEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDragEnterEvent = /**
* @return {?}
*/
function () {
return this.rowDragEnterEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDragEnterEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDragEnterEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDragOverEvent = /**
* @return {?}
*/
function () {
return this.rowDragOverEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDragOverEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDragOverEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDragLeaveEvent = /**
* @return {?}
*/
function () {
return this.rowDragLeaveEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDragLeaveEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDragLeaveEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDropEvent = /**
* @return {?}
*/
function () {
return this.rowDropEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDropEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDropEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDropAcceptedEvent = /**
* @return {?}
*/
function () {
return this.rowDropAcceptedEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDropAcceptedEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDropAcceptedEvent = event;
};
/**
* @return {?}
*/
DefaultTableRow.prototype.getRowDropRejectedEvent = /**
* @return {?}
*/
function () {
return this.rowDropRejectedEvent;
};
/**
* @param {?} event
* @return {?}
*/
DefaultTableRow.prototype.setRowDropRejectedEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.rowDropRejectedEvent = event;
};
DefaultTableRow.TYPE_NAME = TYPE_NAME;
DefaultTableRow.DEFAULT_DROP_EFFECT_REJECT_CLASS = DEFAULT_DROP_EFFECT_REJECT_CLASS;
DefaultTableRow.DEFAULT_DROP_EFFECT_REJECT_DURATION = DEFAULT_DROP_EFFECT_REJECT_DURATION;
DefaultTableRow.DEFAULT_DRAG_DATA_TRANSFER_EFFECT_ALLOWED = DEFAULT_DRAG_DATA_TRANSFER_EFFECT_ALLOWED;
DefaultTableRow.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<ng-template [ngIf]=\"getTable() !== undefined\">\n <div *ngFor=\"let cell of getTable().getModel().getRowModel().getCellModels(); let idx = index\"\n [style.width]=\"getTable().getModel().getColumnModels()[idx].getWidth()\"\n [style.max-width]=\"getTable().getModel().getColumnModels()[idx].getWidth()\"\n [attr.class]=\"'phx-table-cell' + (cell.getCSSClass() ? ' ' + cell.getCSSClass() : '')\"\n [phxDroppable]=\"this\" (click)=\"onTableRowCellClicked($event, idx)\" (dblclick)=\"onTableRowCellDblClicked($event, idx)\">\n <phx-component-wrapper [type]=\"cell.getComponentType()\"\n [options]=\"cell.getComponentOptions()\"\n [handler]=\"_getWrapperHandler(idx)\"\n [dataParent]=\"this\"\n [data]=\"getData()\"\n *ngIf=\"!isCellEditingMode(idx)\">\n </phx-component-wrapper>\n <phx-component-wrapper [type]=\"cell.getEditorComponentType()\"\n [options]=\"cell.getEditorComponentOptions()\"\n [handler]=\"_getWrapperHandler(idx)\"\n [dataParent]=\"this\"\n [data]=\"getData()\"\n *ngIf=\"isCellEditingMode(idx)\">\n </phx-component-wrapper>\n </div>\n</ng-template>\n"
},] },
];
/** @nocollapse */
DefaultTableRow.ctorParameters = function () { return [
{ type: ElementRef, },
{ type: NeedFocusService, },
]; };
DefaultTableRow.propDecorators = {
"dataParent": [{ type: Input },],
"ignoreParentData": [{ type: Input },],
"data": [{ type: Input },],
"ignoreParentDisabled": [{ type: Input },],
"delegateHistory": [{ type: Input },],
"onDisabled": [{ type: Input },],
"onEnabled": [{ type: Input },],
"loadingEnabled": [{ type: Input },],
"i18nKey": [{ type: Input },],
"bypass": [{ type: Input, args: ['i18nBypass',] },],
"options": [{ type: Input },],
"disabled": [{ type: Input },],
"help": [{ type: Input },],
"dropEffectRejectClass": [{ type: Input },],
"dropEffectRejectDuration": [{ type: Input },],
"dropDataTransferDropEffect": [{ type: Input },],
"dragDataTransferEffectAllowed": [{ type: Input },],
"rowDragEvent": [{ type: Output, args: ['phxRowDrag',] },],
"rowDragStartEvent": [{ type: Output, args: ['phxRowDragStart',] },],
"rowDragEndEvent": [{ type: Output, args: ['phxRowDragEnd',] },],
"rowDragEnterEvent": [{ type: Output, args: ['phxRowDragEnter',] },],
"rowDragOverEvent": [{ type: Output, args: ['phxRowDragOver',] },],
"rowDragLeaveEvent": [{ type: Output, args: ['phxRowDragLeave',] },],
"rowDropEvent": [{ type: Output, args: ['phxRowDrop',] },],
"rowDropAcceptedEvent": [{ type: Output, args: ['phxRowDropAccepted',] },],
"rowDropRejectedEvent": [{ type: Output, args: ['phxRowDropRejected',] },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], DefaultTableRow.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultTableRow.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], DefaultTableRow.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultTableRow.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultTableRow.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], DefaultTableRow.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], DefaultTableRow.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultTableRow.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], DefaultTableRow.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], DefaultTableRow.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], DefaultTableRow.prototype, "disabled", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], DefaultTableRow.prototype, "help", void 0);
tslib_1.__decorate([
Option('drop.effect.reject.class'),
tslib_1.__metadata("design:type", String)
], DefaultTableRow.prototype, "dropEffectRejectClass", void 0);
tslib_1.__decorate([
Option('drop.effect.reject.duration'),
tslib_1.__metadata("design:type", Number)
], DefaultTableRow.prototype, "dropEffectRejectDuration", void 0);
tslib_1.__decorate([
Option('drop.dataTransfer.dropEffect'),
tslib_1.__metadata("design:type", String)
], DefaultTableRow.prototype, "dropDataTransferDropEffect", void 0);
tslib_1.__decorate([
Option('drag.dataTransfer.effectAllowed'),
tslib_1.__metadata("design:type", String)
], DefaultTableRow.prototype, "dragDataTransferEffectAllowed", void 0);
tslib_1.__decorate([
Option('rowDrag'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDragEvent", void 0);
tslib_1.__decorate([
Option('rowDragStart'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDragStartEvent", void 0);
tslib_1.__decorate([
Option('rowDragEnd'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDragEndEvent", void 0);
tslib_1.__decorate([
Option('rowDragEnter'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDragEnterEvent", void 0);
tslib_1.__decorate([
Option('rowDragOver'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDragOverEvent", void 0);
tslib_1.__decorate([
Option('rowDragLeave'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDragLeaveEvent", void 0);
tslib_1.__decorate([
Option('rowDrop'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDropEvent", void 0);
tslib_1.__decorate([
Option('rowDropAccepted'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDropAcceptedEvent", void 0);
tslib_1.__decorate([
Option('rowDropRejected'),
tslib_1.__metadata("design:type", EventEmitter)
], DefaultTableRow.prototype, "rowDropRejectedEvent", void 0);
return DefaultTableRow;
}(AbstractTableComponent));
export { DefaultTableRow };
function DefaultTableRow_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
DefaultTableRow.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
DefaultTableRow.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
DefaultTableRow.propDecorators;
/** @type {?} */
DefaultTableRow.TYPE_NAME;
/** @type {?} */
DefaultTableRow.DEFAULT_DROP_EFFECT_REJECT_CLASS;
/** @type {?} */
DefaultTableRow.DEFAULT_DROP_EFFECT_REJECT_DURATION;
/** @type {?} */
DefaultTableRow.DEFAULT_DRAG_DATA_TRANSFER_EFFECT_ALLOWED;
/** @type {?} */
DefaultTableRow.prototype.dataParent;
/** @type {?} */
DefaultTableRow.prototype.ignoreParentData;
/** @type {?} */
DefaultTableRow.prototype.data;
/** @type {?} */
DefaultTableRow.prototype.ignoreParentDisabled;
/** @type {?} */
DefaultTableRow.prototype.delegateHistory;
/** @type {?} */
DefaultTableRow.prototype.onDisabled;
/** @type {?} */
DefaultTableRow.prototype.onEnabled;
/** @type {?} */
DefaultTableRow.prototype.loadingEnabled;
/** @type {?} */
DefaultTableRow.prototype.i18nKey;
/** @type {?} */
DefaultTableRow.prototype.bypass;
/** @type {?} */
DefaultTableRow.prototype.options;
/** @type {?} */
DefaultTableRow.prototype.disabled;
/** @type {?} */
DefaultTableRow.prototype.help;
/** @type {?} */
DefaultTableRow.prototype.dropEffectRejectClass;
/** @type {?} */
DefaultTableRow.prototype.dropEffectRejectDuration;
/** @type {?} */
DefaultTableRow.prototype.dropDataTransferDropEffect;
/** @type {?} */
DefaultTableRow.prototype.dragDataTransferEffectAllowed;
/** @type {?} */
DefaultTableRow.prototype.rowDragEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDragStartEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDragEndEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDragEnterEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDragOverEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDragLeaveEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDropEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDropAcceptedEvent;
/** @type {?} */
DefaultTableRow.prototype.rowDropRejectedEvent;
/** @type {?} */
DefaultTableRow.prototype.controller;
/** @type {?} */
DefaultTableRow.prototype.wrapperHandlers;
/** @type {?} */
DefaultTableRow.prototype.cellInstances;
/** @type {?} */
DefaultTableRow.prototype.originalData;
/** @type {?} */
DefaultTableRow.prototype.dropEffectRejectTimer;
/** @type {?} */
DefaultTableRow.prototype.needFocusService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdFRhYmxlUm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC90YWJsZS9EZWZhdWx0VGFibGVSb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUsxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtsRSxPQUFPLEVBQ0wsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFDNUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUNuRCxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEdBQ2pELE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RCxxQkFBTSxTQUFTLEdBQVcsZUFBZSxDQUFDO0FBRTFDLHFCQUFNLGdDQUFnQyxHQUFXLHNCQUFzQixDQUFDO0FBQ3hFLHFCQUFNLG1DQUFtQyxHQUFXLEdBQUcsQ0FBQztBQUN4RCxxQkFBTSxzQ0FBc0MsR0FBVyxNQUFNLENBQUM7QUFDOUQscUJBQU0seUNBQXlDLEdBQVcsTUFBTSxDQUFDOztJQStCNUIsMkNBQXNCOzZCQW1HdEMsS0FBaUIsRUFBRSxnQkFBa0M7b0JBQ3RFLGtCQUFNLEtBQUssQ0FBQztRQUVaLEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUV6QyxL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