Проблема с порядком выбора элементов Google Slides

Я пытался получить выбранные формы из текущего выбора пользователя в слайдах 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
}

person Ashton Fei    schedule 20.06.2020    source источник
comment
Я могу подтвердить вашу проблему. Я не уверен, ошибка ли это или текущая спецификация на стороне Google. Так как насчет того, чтобы сообщить об этом в систему отслеживания проблем Google? Ссылка Хотя я искал ту же проблему в системе отслеживания проблем Google, мне не удалось ее найти. Итак, как текущий ответ, когда в Google Slides выбрано несколько объектов, порядок элементов, извлекаемых getSelection().getPageElementRange().getPageElements(), не совпадает с порядком выбора по ошибке или текущей спецификации. Прошу прощения за это.   -  person Tanaike    schedule 22.06.2020
comment
@Tanaike, мы можем сказать, что это моя проблема stackoverflow.com/questions/63172078/ также ошибка выбора в getPageElements ()? верный ?   -  person Puzzled Boy    schedule 30.07.2020
comment
@ Озадаченный мальчик, которого я видел вопрос. Думаю, да. На текущем этапе кажется, что эта ошибка все еще не решена. Таким образом, в вашем случае не может быть получено 1-е выбранное изображение. Я думаю, что это текущая причина вашей проблемы.   -  person Tanaike    schedule 31.07.2020
comment
Отвечает ли это на ваш вопрос? Не все элементы преобразуются в тот же размер, что и размер первого элемента   -  person TheMaster    schedule 31.07.2020


Ответы (1)


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

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

person Community    schedule 22.06.2020