Kendo UI Window Cascade Открытые окна

Я хотел бы добавить пользовательское взаимодействие, которое будет каскадировать мой Kendo Windows.

Приложение позволяет открывать много окон, и я добавлю в свое Меню, Окно, Каскад.

То, что мне нужно решить, это.

  1. Могу ли я получить список Windows Kendo
  2. Могу ли я проверить, открыты они или нет
  3. Могу ли я установить x,y для этих окон.

Я бы тогда написал что-то вроде приведенного ниже псевдокода

x = 10, y = 10
for each w window {
    w.x = x;
    x.y = y;
    x += 10;
    y += 10;
}

1 ответ

Решение

Кендо назначает класс k-window-content для всех ваших окон. Поэтому вы можете использовать функцию jQuery each() для итерации всех ваших окон. Чтобы увидеть, открыто ли окно, проверьте .options.visible имущество. Затем, чтобы расположить окна, используйте .setOptions({ }) метод и метод toFront().

function CascadeWindows(){
    var x = 10, y = 10;
    $(".k-window-content").each(function(idx){
        var kwin = $(this).data("kendoWindow");
        if (kwin.options.visible) {
          kwin.setOptions({
            position: {
                top: y,
                left: x
            }
        });
        kwin.toFront();   
        x += 10;
        y += 10;
    }
});

Рабочая ДЕМО

Другие вопросы по тегам