Расширение Inline Editors

Для получения более подробной информации о расширении Inline Editors, вы можете ознакомиться со статьей Редактирование в гриде. Объект inlineEditors предоставляет следующий API:

Методы

Действия:

  • startEdit (taskId, columnName): void - Этот метод открывает редактор для конкретной задачи и ячейки, устанавливает её значение и фокусирует редактор в браузере.

    • taskId - (number | string) - ID задачи.
    • columnName - (string) - Название колонки.
  • show (taskId, columnName): void - Открывает пустой редактор в указанной задаче и ячейке.

    • taskId - (number | string) - ID задачи.
    • columnName - (string) - Название колонки.
  • setValue (): void - Заполняет текущий открытый редактор значениями задачи.

  • save (): void - Сохраняет внесенные изменения и закрывает редактор.

  • hide (): void - Закрывает редактор без сохранения изменений.

  • focus (): void - Фокусирует браузер на редакторе.

  • getState (): object - Возвращает текущее состояние редактора в виде объекта: {id: taskId, columnName: columnName, placeholder: HTMLElement}.

  • getValue (): string - Получает текущее значение из редактора.

Состояние:

  • isChanged (): boolean - Проверяет, было ли изменено текущее значение редактора по сравнению с его начальным значением.

  • isVisible (): boolean - Проверяет, виден ли в данный момент редактор.

События:

  • attachEvent (name, handler): string - Присоединяет обработчик события к объекту inlineEditors.

    • name - (string) - Имя события.
    • handler - (Function) - Функция, которая будет выполнена при возникновении события.
  • detachEvent (id): void - Удаляет обработчик события, который был ранее присоединен с помощью attachEvent().

    • id - (string) - ID обработчика события.

Навигация:

  • editNextCell (canChangeRow): void - Сохраняет содержимое текущего редактора и переходит к редактору следующей ячейки.

    • canChangeRow? - (boolean) - Указывает, может ли редактор перейти к первой ячейке следующей строки после достижения последней ячейки текущей строки.
  • editNextRow (skipReadonly): void - Сохраняет содержимое текущего редактора и открывает редактор в той же ячейке следующей задачи.

    • skipReadonly? - (boolean) - Определяет, следует ли пропускать задачи только для чтения и переходить к первой редактируемой задаче. По умолчанию false, что закрывает редактор, если следующая задача предназначена только для чтения.
  • editPrevCell (canChangeRow): void - Сохраняет содержимое текущего редактора и переходит к редактору предыдущей ячейки.

    • canChangeRow? - (boolean) - Указывает, может ли редактор перейти к последней ячейке предыдущей строки после достижения первой ячейки текущей строки.
  • editPrevRow (skipReadonly): void - Сохраняет содержимое текущего редактора и открывает редактор в той же ячейке предыдущей задачи.

    • skipReadonly? - (boolean) - Определяет, следует ли пропускать задачи только для чтения и переходить к первой редактируемой задаче. По умолчанию false, что закрывает редактор, если предыдущая задача предназначена только для чтения.
  • getFirstCell (): string - Возвращает название первой редактируемой колонки в гриде.

  • getLastCell (): string - Возвращает название последней редактируемой колонки в гриде.

  • getNextCell (direction): string | null - Получает название следующей редактируемой колонки.

    • direction - (number) - Указывает направление для поиска следующей ячейки: 1 для вправо, -1 для влево.

Вспомогательные:

  • locateCell (node): object | null - Проверяет, является ли указанный DOM элемент ячейкой задачи и, если да, возвращает её состояние редактора в виде объекта: {id: taskId, columnName: columnName}.
    • node - (HTMLElement) - HTML элемент для проверки.

Маппинг мыши/клавиатуры:

  • setMapping (mapping): void - Устанавливает пользовательскую конфигурацию маппинга.

    • mapping - (object) - Объект конфигурации маппинга:
      • init - (Function): Инициализирует маппинг.
        • inlineEditors - (InlineEditorMethods) - Объект inlineEditors.
        • grid - (any) - Вид разметки грида.
      • onShow - (Function): Вызывается при открытии inline редактора.
        • inlineEditors - (InlineEditorMethods) - Объект inlineEditors.
        • node - (HTMLElement) - HTML элемент.
        • grid - (any) - Вид разметки грида.
      • onHide - (Function): Вызывается при закрытии inline редактора.
        • inlineEditors - (InlineEditorMethods) - Объект inlineEditors.
        • node - (HTMLElement) - HTML элемент.
        • grid - (any) - Вид разметки грида.
      • destroy - (Function): Очищает маппинг.
  • getMapping (): object - Возвращает текущую применяемую конфигурацию маппинга.

События

onBeforeEditStart

Это событие срабатывает перед открытием редактора.

Аргументы:

  • state - (object) - Объект состояния редактора, включая:
    • id - (number | string) - ID редактируемой задачи.
    • columnName - (string) - Название колонки.
var inlineEditors = gantt.ext.inlineEditors;
 
inlineEditors.attachEvent("onBeforeEditStart", function(state){
   console.log(state);
   // -> {id: itemId, columnName: columnName};
   return true;
});

onEditStart

Это событие срабатывает при открытии редактора.

Аргументы:

  • state - (object) - Объект состояния редактора, включая:
    • id - (number | string) - ID редактируемой задачи.
    • columnName - (string) - Название колонки.
var inlineEditors = gantt.ext.inlineEditors;
 
inlineEditors.attachEvent("onEditStart", function(state){
   console.log(state);
   // -> {id: itemId, columnName: columnName};
});

onBeforeSave

Происходит перед сохранением изменений редактора и его закрытием.

Аргументы:

  • state - (object) - Объект состояния редактора, включая:
    • id - (number | string) - ID редактируемой задачи.
    • columnName - (string) - Название колонки.
    • oldValue - (any) - Начальное значение редактора.
    • newValue - (any) - Текущее значение редактора, которое может быть изменено.
var inlineEditors = gantt.ext.inlineEditors;
 
inlineEditors.attachEvent("onBeforeSave", function(state){
   console.log(state);
   // -> { id: itemId, 
   //      columnName: columnName, 
   //      oldValue: value, 
   //      newValue: value
   //    };
   return true;
});

onSave

Срабатывает после сохранения изменений редактора и обновления задачи.

Аргументы:

  • state - (object) - Объект состояния редактора, включая:
    • id - (number | string) - ID редактируемой задачи.
    • columnName - (string) - Название колонки.
    • oldValue - (any) - Начальное значение редактора.
    • newValue - (any) - Текущее значение редактора.
var inlineEditors = gantt.ext.inlineEditors;
 
inlineEditors.attachEvent("onSave", function(state){
   console.log(state);
   // -> { id: itemId, 
   //      columnName: columnName, 
   //      oldValue: value, 
   //      newValue: value
   //    };
});

onEditEnd

Происходит после закрытия inline редактора.

Аргументы:

  • state - (object) - Объект состояния редактора, включая:
    • id - (number | string) - ID редактируемой задачи.
    • columnName - (string) - Название колонки.
var inlineEditors = gantt.ext.inlineEditors;
 
inlineEditors.attachEvent("onEditEnd", function(state){
   console.log(state);
   // -> {id: itemId, columnName: columnName};
});
К началу