Как проверить, отключена ли группа элементов в транспортире? - PullRequest
0 голосов
/ 12 июня 2018

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

Я пробовал следующее, но оно не работает.

areAllElementsDisabled: function (allElements) {
        return allElements.filter(function (elem) {
            return elem.isEnabled().then(function (isEnabled) {
                return isEnabled;
            });
        }).length===0;
    }

Кто-нибудь может предложить способ решения проблемы?Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Вы можете вызвать count() для отфильтрованных элементов, чтобы сделать код более простым:

areAllElementsDisabled: function (allElements) {
    return allElements.filter(function (elem) {
        return elem.isEnabled();
    }).count(function(cnt){
        return cnt === 0;
    });
}
0 голосов
/ 12 июня 2018

Если кто-то сталкивается с подобной проблемой, я нашел способ, который работает для меня:

areAllElementsDisabled: function (allElements) {
            var allElemetsPromises = allElements.map(function(elem){
                return elem.isEnabled();
            });

            return Promise.all(allElemetsPromises).then(function(values){
                return values.every(function(value){
                    return !value;
                })
            });
        }
...