Практические руководства

Об общих правилах кастомизации читайте в этой статье.

Как добавить счетчик прогресса

Если вы хотите отслеживать ход выполнения задач, вы можете настроить ToDo на подсчет процента выполненных подзадач.

Чтобы добавить счетчик выполнения, проделайте следующее:

1. Создайте класс MyContextMenu, унаследовав его от класса по умолчанию todo.views["workspace"]. С помощью пользовательского метода GetProgressTemplate() можно подсчитать выполненные подзадачи и добавить этот результат в отдельный span:

class CustomWorkSpace extends todo.views["workspace"] {
    GetProgressTemplate(obj, common) {
        var percent = Math.round((obj.$checked / obj.$count_all) * 100);
        return `<span class="webix_todo_count">${percent}%</span>`;
    }
}

2. Переопределите класс по умолчанию через свойство override:

var app = new todo.App({
    data: base_data,
    users: users,
    projects: projects,
    override: new Map([
        [todo.views["workspace"], CustomWorkSpace]
    ]),
});
app.render(document.body);

Related sample:  ToDo: Adding Progress Counter

Изменить формат дат

Чтобы изменить формат дат, проделайте следующее:

1. Создайте класс CustomWorkSpace, унаследовав его от класса по умолчанию todo.views["workspace"]. Чтобы изменить фомат дат, переопрделите метод init():

class CustomWorkSpace extends todo.views["workspace"] {
    init(view) {
        super.init(view);
 
        this.Formats.myFormat = webix.Date.dateToStr("%d.%m.%Y");
        view.refresh();
    }
    GetDueDateFormat() {
        return this.Formats.myFormat || this.Formats.full;
    }
}

2. Переопределите класс по умолчанию через свойство override:

var app = new todo.App({
    data: base_data,
    users: users,
    projects: projects,
    override: new Map([
        [todo.views["workspace"], CustomWorkSpace]
    ]),
});
app.render(document.body);

Related sample:  ToDo: Changing Date Format

Наверх