Перетащите с помощью транспортира в компоненте dthmlx

Я использую компонент планировщика dhtmlx с angular. Планировщик Dhtmlx Вы можете найти перетаскивание событий в интерактивной демонстрации временной шкалы< /сильный>.

Мне нужно написать для него тестовый пример транспортира. Как я могу выполнить перетаскивание компонента dhtmlx с помощью транспортира?


person Kuldeep Vithlani    schedule 30.12.2014    source источник


Ответы (1)


Демонстрации, доступные на странице планировщика Dhtmlx, не используют angular. Я нашел другую подходящую демонстрационную страницу, которую я бы использовал в качестве примера.

Общая идея довольно проста - используйте функцию dragAndDrop(). К сожалению, это не задокументировано на странице документации по API. Может быть, это потому, что он исходит от webdriverjs, и транспортир не имеет к этому никакого отношения. В любом случае, в настоящее время вы можете найти некоторую информацию и образцы здесь:

По сути, вы можете переместить элемент на x или y влево или вправо, вверх или вниз; или вы можете перейти к другому элементу.

Вот пример (перемещение Task #1 на 1000 вправо):

describe("Sample test", function () {
    beforeEach(function () {
        browser.get("http://dhtmlx.github.io/angular-gantt-demo/");
        browser.waitForAngular();
    });

    it("should move the task", function () {
        var task = element(by.xpath('//div[@class="gantt_bars_area"]//div[@task_id="2"]'));

        browser.actions().dragAndDrop(
            task,
            {x:1000, y:0}
        ).perform();

        browser.sleep(10000);
    });
});

Кроме того, вы можете вручную связать действия mouseDown(), mouseMove(), mouseUp(), например:

person alecxe    schedule 30.12.2014