Автогруппировка строк
Есть список в котором находится столбец с числовыми пунктами. У каждого пункта может быть подпункт. У каждого подпункта может быть свой подпункт и т.д (см. приложение 1). Глубина подпунктов определяется точкой.
Нужна помощь с кодом к appscripts для автогруппировки всех пунктов и подпунктов. Насколько я понял, это можно провернуть с помощью следующих методов: Class Group и Class Range.
Алгоритм создания групп, скорее всего, будет строится на количестве точек в подпункте. Если в пункте на следующей строке точек больше, то он попадает в подгруппу для предыдущего пункта и т.д.
В результате, конечная группировка будет выглядеть следующим образом (см. приложение 2)
Ответы (1 шт):
Основной алгоритм должен быть таким:
- Взять все
- Сортировать
- Идти по дереву, исключая элементы без детей
- Формализовать дерево для метода группировки
- Снять все текущие группировки
- Применить новые группировки
В идеале при формализации нужно для каждой группы создать запрос вида
{
"updateDimensionGroup": {
"dimensionGroup": {
"range": {
"sheetId": <sheet_guid>,
"dimension": "ROWS",
"startIndex": 2,
"endIndex": 5
},
"collapsed": true,
"depth": 1
},
"fields": "collapsed"
}
}
Запросы на обновление нужно отправлять пакетным методом.

