groupBy

группирует задачи по указанному атрибуту задачи

void groupBy(GroupConfig | boolean config);
configGroupConfig | booleanобъект конфигурации группировки или false для разгруппировки задач

Available only in PRO Edition

Example

// одноступенчатая группировка
gantt.groupBy({
    relation_property: "priority",
    groups: [
        {key:0, label: "Высокий"},
        {key:4, label: "Нормальный"},
        {key:5, label: "Низкий"},
    ],
    group_id: "key",
    group_text: "label",
    save_tree_structure: true
});
 
// многоуровневая группировка
gantt.groupBy({
    relation_property: "priority",
    groups: [
        {key:0, label: "Высокий"},
        {key:4, label: "Нормальный"},
        {key:5, label: "Низкий"},
        // многоуровневые группы
        {key:1, label: "Обратить Высокое Внимание", "priority":0},
        {key:2, label: "Решить Немедленно", "priority":0},
        {key:3, label: "Сохранить Для Следующего Релиза", "priority":5}
    ],
    group_id: "key",
    group_text: "label"
});
 
// использование коллекций
gantt.serverList("priority", [
    {key:1, label: "Высокий"},
    {key:2, label: "Нормальный"},
    {key:3, label: "Низкий"}
]);
gantt.groupBy({
    groups: gantt.serverList("priority"),
    relation_property: "priority",
    group_id: "key",
    group_text: "label"
});
 
// разгруппировка задач
gantt.groupBy(false);

Related samples

Details

Эта функциональность доступна только в PRO версии.

Этот метод определен в расширении grouping, поэтому вам необходимо активировать плагин grouping. Подробности читайте в статье Группировка Задач.

Объект конфигурации группировки имеет следующие свойства:

  • relation_property - (string) - свойство объекта задачи, которое будет использоваться для группировки элементов.
  • groups - (СollectionItem[]) - массив элементов групп (сводных). Каждый элемент должен иметь свойства, заданные в параметрах group_id и group_text (по умолчанию, key и label).
  • group_id? - (string) - необязательный, id группы. Значение по умолчанию - 'key'.
  • group_text? - (string) - необязательный, метка группы. Значение по умолчанию - 'label'.
  • delimiter? - (string) - необязательный, разделитель, используемый для автоматического создания групп для задач с несколькими ресурсами. Значение по умолчанию - ",".
  • default_group_label? - (string) - необязательный, имя группы по умолчанию. Значение по умолчанию - 'None'.
  • save_tree_structure? - (boolean) - необязательный, определяет, должен ли gantt сохранять свою древовидную структуру внутри групп. Если не указано или установлено в false, задачи gantt будут отображаться в плоском виде.

Пожалуйста, обратите внимание:

  • Каждый объект 'group' должен содержать как минимум 2 свойства (но может содержать любое количество дополнительных): id и текстовое описание, указанные параметрами 'group_id' и 'group_text' соответственно. По умолчанию эти параметры имеют значения key и label. Вы можете использовать любые другие значения для этих параметров (кроме "id"), при условии, что они указаны в массиве групп.

Значение "id" не допускается, так как при группировке задач Gantt создает виртуальные групповые задачи и добавляет параметры 'group_id' и 'group_text' в эти задачи. Это означает, что по умолчанию сгруппированные задачи будут иметь свойства 'key' и 'value'. В то же время, каждая задача уже имеет свойство 'id', и изменение значений по умолчанию для задач приведет к нарушению древовидной структуры.

  • 'project' задачи из исходного набора данных не будут отображаться в режиме группировки, однако они будут доступны через api.
  • Элементы группы добавляются в набор данных как элементы с типом 'project' и включенным свойством 'readonly'. Их можно обнаружить по свойству '$virtual' и обрабатывать как обычные элементы данных:
gantt.templates.task_class=function(start, end, task){
  if(task.$virtual)
    return "summary-bar";
};
  • Группа по умолчанию включает задачи, которые не включены в другие группы. Группа по умолчанию не включает задачи, если у них есть relation_property, указанное как string|number значение.
    Related sample:  Save tree structure when grouping tasks
See also
Change log
  • параметр save_tree_structure был добавлен в версии v8.0
К началу