@true-directive/base
Version:
The set of base classes for the TrueDirective Grid
154 lines (153 loc) • 6.33 kB
JavaScript
/**
* Тип данных
*/
export var ColumnType;
(function (ColumnType) {
ColumnType["STRING"] = "STRING";
ColumnType["NUMBER"] = "NUMBER";
ColumnType["DATETIME"] = "DATETIME";
ColumnType["BOOLEAN"] = "BOOLEAN";
ColumnType["REFERENCE"] = "REFERENCE";
ColumnType["IMAGE"] = "IMAGE";
ColumnType["CHECKBOX"] = "CHECKBOX";
ColumnType["HTML"] = "HTML";
ColumnType["UNSAFE_HTML"] = "UNSAFE_HTML";
ColumnType["CUSTOM"] = "CUSTOM";
})(ColumnType || (ColumnType = {}));
// Режим отслеживания изменений
var DetectionMode = /** @class */ (function () {
function DetectionMode(name) {
this.name = name;
}
// Стандартный режим Angular. Изменения автоматически влияют на представление.
// Работает медленно при большом количестве строк. Переключите в MANUAL, если
// ожидается более 100 строк в модели данных
DetectionMode.DEFAULT = new DetectionMode('Default');
// После внесения изменений в модель необходимо вручную вызвать метод
// TrueGrid.detectChanges();
DetectionMode.MANUAL = new DetectionMode('Manual');
return DetectionMode;
}());
export { DetectionMode };
/**
* Части грида
*/
var GridPart = /** @class */ (function () {
function GridPart(name) {
this.name = name;
}
// Левые зафиксированный колонки
GridPart.LEFT = new GridPart('left');
// Основная центральная часть
GridPart.CENTER = new GridPart('');
// Правые зафиксированные ячейки
GridPart.RIGHT = new GridPart('right');
// Перетаскиваемый заголовок колонки или строка
GridPart.DRAG_ITEM = new GridPart('dragItem');
// Колонка, по которой сгруппированы данные (содержатся в области группировок)
GridPart.GROUPED_COLUMN = new GridPart('groupedColumn');
return GridPart;
}());
export { GridPart };
var LazyLoadingMode = /** @class */ (function () {
function LazyLoadingMode(name) {
this.name = name;
}
LazyLoadingMode.NONE = new LazyLoadingMode('None');
LazyLoadingMode.INCREMENTAL = new LazyLoadingMode('Incremental');
LazyLoadingMode.FRAGMENTARY = new LazyLoadingMode('Fragmentary');
return LazyLoadingMode;
}());
export { LazyLoadingMode };
/**
* Режим рендера строк
*/
var RenderMode = /** @class */ (function () {
function RenderMode(name) {
this.name = name;
}
/**
* Рендерятся все строки
*/
RenderMode.ALL = new RenderMode('All');
/**
* Рендерятся только видимые при текущей scroll position и несколько десятков
* строк вверх и вниз (см. параметр prerenderRowCount).
* Только ячейки, которые вписываются во вьюпорт по горизонтали
*/
RenderMode.VISIBLE = new RenderMode('Visible');
/**
* Рендерятся только видимые при текущей scroll position и несколько десятков
* строк вверх и вниз (см. параметр prerenderRowCount).
* Рендерятся все ячейки этих строк
*/
RenderMode.VISIBLE_ROWS = new RenderMode('VisibleRows');
return RenderMode;
}());
export { RenderMode };
/**
* Способ перехода ячейки в режим редактирования
*/
var EditorShowMode = /** @class */ (function () {
function EditorShowMode(name) {
this.name = name;
}
// Редактирование отключено
EditorShowMode.NONE = new EditorShowMode('NONE');
// По нажатию кнопки мыши
EditorShowMode.ON_MOUSE_DOWN = new EditorShowMode('ON_MOUSE_DOWN');
// При фокусировке ячейки
EditorShowMode.ON_FOCUS = new EditorShowMode('ON_FOCUS');
// При клике по сфокусированной ячейки
EditorShowMode.ON_CLICK_FOCUSED = new EditorShowMode('ON_CLICK_FOCUSED');
// При двойном клике по ячейке
EditorShowMode.ON_DBL_CLICK = new EditorShowMode('ON_DBL_CLICK');
return EditorShowMode;
}());
export { EditorShowMode };
/**
* Способ выделения ячеек
*/
var SelectionMode = /** @class */ (function () {
function SelectionMode(name, range) {
if (range === void 0) { range = false; }
this.name = name;
this.range = range;
}
/**
* Выделяются только отдельные ячейки
*/
SelectionMode.NONE = new SelectionMode('NONE');
/**
* Выделяются только отдельные ячейки
*/
SelectionMode.CELL = new SelectionMode('CELL');
/**
* Выделяются отдельные строки целиком
*/
SelectionMode.ROW = new SelectionMode('ROW');
/**
* Можно выбрать прямоугольные области
*/
SelectionMode.RANGE = new SelectionMode('RANGE', true);
/**
* Выделяются отдельные строки, но при движении мышью выделяется
* прямоугольная область
*/
SelectionMode.ROW_AND_RANGE = new SelectionMode('ROW_AND_RANGE', true);
return SelectionMode;
}());
export { SelectionMode };
/**
* Способ позиционирования всплывающих окон
*/
var PopupPosition = /** @class */ (function () {
function PopupPosition(name) {
this.name = name;
}
PopupPosition.RELATIVE = new PopupPosition('RELATIVE');
PopupPosition.ABSOLUTE = new PopupPosition('ABSOLUTE');
PopupPosition.MODAL = new PopupPosition('MODAL');
return PopupPosition;
}());
export { PopupPosition };