Проблема с порядком выбора элементов Google Slides - PullRequest
2 голосов
/ 20 июня 2020

Я пытался получить выбранные формы из текущего выбора пользователя в слайдах Google с помощью скрипта приложений. Возвращаемые формы не всегда соответствуют порядку выбора пользователя.

Пример. Допустим, у нас есть 4 фигуры на слайде: №1, №2, №3, №4. Если я выберу # 4, # 2, # 3, # 1 на слайде один за другим, результат должен соответствовать [shape # 4, shape # 2, shpae # 3, shape # 1]. Однако иногда я обнаруживал, что результат возврата - беспорядок, не отражающий фактический порядок, который я выбрал. Не уверен, что это ошибка или что-то в этом роде.

Вот мой код для получения выбранных фигур, чтобы поместить их в список.

function getSelectedShapes(){
    let shapes = []
    let selections = SlidesApp.getActivePresentation().getSelection()
    let pageElementRange = selections.getPageElementRange()
    if (pageElementRange){
        let elements = pageElementRange.getPageElements()
        shapes = elements.map(element=>element.asShape())
    }
    return shapes
}

1 Ответ

2 голосов
/ 22 июня 2020

Как указано @Tanaike, метод getPageElements возвращает элементы и формы, отображаемые на странице, в произвольном порядке, и поэтому вы не сможете получить их в каком-либо определенном порядке.

Как упоминалось в @Tanaike, вы можете сделать запрос функции с просьбой получить эти элементы в порядке вашего выбора.

...