diff --git a/docs/api/api_overview.md b/docs/api/api_overview.md index d66b553..2a05952 100644 --- a/docs/api/api_overview.md +++ b/docs/api/api_overview.md @@ -8,50 +8,50 @@ description: You can have an API overview of the DHTMLX JavaScript To Do List li ## To Do List methods -| Name | Description | -| :------------------------------------------- | :-------------------------------------------------- | -| [](api/methods/addproject_method.md) | @getshort(api/methods/addproject_method.md) | -| [](api/methods/addtask_method.md) | @getshort(api/methods/addtask_method.md) | -| [](api/methods/assignuser_method.md) | @getshort(api/methods/assignuser_method.md) | -| [](api/methods/checktask_method.md) | @getshort(api/methods/checktask_method.md) | -| [](api/methods/closeinlineeditor_method.md) | @getshort(api/methods/closeinlineeditor_method.md) | -| [](api/methods/collapsetask_method.md) | @getshort(api/methods/collapsetask_method.md) | -| [](api/methods/copytask_method.md) | @getshort(api/methods/copytask_method.md) | -| [](api/methods/deleteproject_method.md) | @getshort(api/methods/deleteproject_method.md) | -| [](api/methods/deletetask_method.md) | @getshort(api/methods/deletetask_method.md) | -| [](api/methods/destructor_method.md) | @getshort(api/methods/destructor_method.md) | -| [](api/methods/eachselected_method.md) | @getshort(api/methods/eachselected_method.md) | -| [](api/methods/existsproject_method.md) | @getshort(api/methods/existsproject_method.md) | -| [](api/methods/existstask_method.md) | @getshort(api/methods/existstask_method.md) | -| [](api/methods/expandtask_method.md) | @getshort(api/methods/expandtask_method.md) | -| [](api/methods/getchildrenids_method.md) | @getshort(api/methods/getchildrenids_method.md) | -| [](api/methods/getparentids_method.md) | @getshort(api/methods/getparentids_method.md) | -| [](api/methods/getproject_method.md) | @getshort(api/methods/getproject_method.md) | -| [](api/methods/getselection_method.md) | @getshort(api/methods/getselection_method.md) | -| [](api/methods/gettask_method.md) | @getshort(api/methods/gettask_method.md) | -| [](api/methods/haschildren_method.md) | @getshort(api/methods/haschildren_method.md) | -| [](api/methods/hidecompletedtasks_method.md) | @getshort(api/methods/hidecompletedtasks_method.md) | -| [](api/methods/indenttask_method.md) | @getshort(api/methods/indenttask_method.md) | -| [](api/methods/movetask_method.md) | @getshort(api/methods/movetask_method.md) | -| [](api/methods/openinlineeditor_method.md) | @getshort(api/methods/openinlineeditor_method.md) | -| [](api/methods/parse_method.md) | @getshort(api/methods/parse_method.md) | -| [](api/methods/pastetask_method.md) | @getshort(api/methods/pastetask_method.md) | -| [](api/methods/redo_method.md) | @getshort(api/methods/redo_method.md) | -| [](api/methods/selecttask_method.md) | @getshort(api/methods/selecttask_method.md) | -| [](api/methods/serialize_method.md) | @getshort(api/methods/serialize_method.md) | -| [](api/methods/setconfig_method.md) | @getshort(api/methods/setconfig_method.md) | -| [](api/methods/setlocale_method.md) | @getshort(api/methods/setlocale_method.md) | -| [](api/methods/setfilter_method.md) | @getshort(api/methods/setfilter_method.md) | -| [](api/methods/setproject_method.md) | @getshort(api/methods/setproject_method.md) | -| [](api/methods/setsort_method.md) | @getshort(api/methods/setsort_method.md) | -| [](api/methods/showcompletedtasks_method.md) | @getshort(api/methods/showcompletedtasks_method.md) | -| [](api/methods/unassignuser_method.md) | @getshort(api/methods/unassignuser_method.md) | -| [](api/methods/unchecktask_method.md) | @getshort(api/methods/unchecktask_method.md) | -| [](api/methods/undo_method.md) | @getshort(api/methods/undo_method.md) | -| [](api/methods/unindenttask_method.md) | @getshort(api/methods/unindenttask_method.md) | -| [](api/methods/unselecttask_method.md) | @getshort(api/methods/unselecttask_method.md) | -| [](api/methods/updateproject_method.md) | @getshort(api/methods/updateproject_method.md) | -| [](api/methods/updatetask_method.md) | @getshort(api/methods/updatetask_method.md) | +| Name | Description | +| :------------------------------------------------- | :--------------------------------------------------- | +| [addProject()](/api/methods/addproject_method/) | @getshort(/api/methods/addproject_method.md) | +| [addTask()](/api/methods/addtask_method/) | @getshort(/api/methods/addtask_method.md) | +| [assignUser()](/api/methods/assignuser_method/) | @getshort(/api/methods/assignuser_method.md) | +| [checkTask()](/api/methods/checktask_method/) | @getshort(/api/methods/checktask_method.md) | +| [closeInlineEditor()](/api/methods/closeinlineeditor_method/) | @getshort(/api/methods/closeinlineeditor_method.md) | +| [collapseTask()](/api/methods/collapsetask_method/) | @getshort(/api/methods/collapsetask_method.md) | +| [copyTask()](/api/methods/copytask_method/) | @getshort(/api/methods/copytask_method.md) | +| [deleteProject()](/api/methods/deleteproject_method/) | @getshort(/api/methods/deleteproject_method.md) | +| [deleteTask()](/api/methods/deletetask_method/) | @getshort(/api/methods/deletetask_method.md) | +| [destructor()](/api/methods/destructor_method/) | @getshort(/api/methods/destructor_method.md) | +| [eachSelected()](/api/methods/eachselected_method/) | @getshort(/api/methods/eachselected_method.md) | +| [existsProject()](/api/methods/existsproject_method/) | @getshort(/api/methods/existsproject_method.md) | +| [existsTask()](/api/methods/existstask_method/) | @getshort(/api/methods/existstask_method.md) | +| [expandTask()](/api/methods/expandtask_method/) | @getshort(/api/methods/expandtask_method.md) | +| [getChildrenIds()](/api/methods/getchildrenids_method/) | @getshort(/api/methods/getchildrenids_method.md) | +| [getParentIds()](/api/methods/getparentids_method/) | @getshort(/api/methods/getparentids_method.md) | +| [getProject()](/api/methods/getproject_method/) | @getshort(/api/methods/getproject_method.md) | +| [getSelection()](/api/methods/getselection_method/) | @getshort(/api/methods/getselection_method.md) | +| [getTask()](/api/methods/gettask_method/) | @getshort(/api/methods/gettask_method.md) | +| [hasChildren()](/api/methods/haschildren_method/) | @getshort(/api/methods/haschildren_method.md) | +| [hideCompletedTasks()](/api/methods/hidecompletedtasks_method/) | @getshort(/api/methods/hidecompletedtasks_method.md) | +| [indentTask()](/api/methods/indenttask_method/) | @getshort(/api/methods/indenttask_method.md) | +| [moveTask()](/api/methods/movetask_method/) | @getshort(/api/methods/movetask_method.md) | +| [openInlineEditor()](/api/methods/openinlineeditor_method/) | @getshort(/api/methods/openinlineeditor_method.md) | +| [parse()](/api/methods/parse_method/) | @getshort(/api/methods/parse_method.md) | +| [pasteTask()](/api/methods/pastetask_method/) | @getshort(/api/methods/pastetask_method.md) | +| [redo()](/api/methods/redo_method/) | @getshort(/api/methods/redo_method.md) | +| [selectTask()](/api/methods/selecttask_method/) | @getshort(/api/methods/selecttask_method.md) | +| [serialize()](/api/methods/serialize_method/) | @getshort(/api/methods/serialize_method.md) | +| [setConfig()](/api/methods/setconfig_method/) | @getshort(/api/methods/setconfig_method.md) | +| [setFilter()](/api/methods/setfilter_method/) | @getshort(/api/methods/setfilter_method.md) | +| [setLocale()](/api/methods/setlocale_method/) | @getshort(/api/methods/setlocale_method.md) | +| [setProject()](/api/methods/setproject_method/) | @getshort(/api/methods/setproject_method.md) | +| [setSort()](/api/methods/setsort_method/) | @getshort(/api/methods/setsort_method.md) | +| [showCompletedTasks()](/api/methods/showcompletedtasks_method/) | @getshort(/api/methods/showcompletedtasks_method.md) | +| [unassignUser()](/api/methods/unassignuser_method/) | @getshort(/api/methods/unassignuser_method.md) | +| [uncheckTask()](/api/methods/unchecktask_method/) | @getshort(/api/methods/unchecktask_method.md) | +| [undo()](/api/methods/undo_method/) | @getshort(/api/methods/undo_method.md) | +| [unindentTask()](/api/methods/unindenttask_method/) | @getshort(/api/methods/unindenttask_method.md) | +| [unselectTask()](/api/methods/unselecttask_method/) | @getshort(/api/methods/unselecttask_method.md) | +| [updateProject()](/api/methods/updateproject_method/) | @getshort(/api/methods/updateproject_method.md) | +| [updateTask()](/api/methods/updatetask_method/) | @getshort(/api/methods/updatetask_method.md) | ## To Do List internal API @@ -59,73 +59,73 @@ description: You can have an API overview of the DHTMLX JavaScript To Do List li | Name | Description | | :----------------------------------- | :------------------------------------------ | -| [](api/internal/exec_method.md) | @getshort(api/internal/exec_method.md) | -| [](api/internal/intercept_method.md) | @getshort(api/internal/intercept_method.md) | -| [](api/internal/on_method.md) | @getshort(api/internal/on_method.md) | -| [](api/internal/setnext_method.md) | @getshort(api/internal/setnext_method.md) | +| [api.exec()](/api/internal/exec_method/) | @getshort(/api/internal/exec_method.md) | +| [api.intercept()](/api/internal/intercept_method/) | @getshort(/api/internal/intercept_method.md) | +| [api.on()](/api/internal/on_method/) | @getshort(/api/internal/on_method.md) | +| [api.setNext()](/api/internal/setnext_method/) | @getshort(/api/internal/setnext_method.md) | ### State methods | Name | Description | | :------------------------------------------ | :------------------------------------------------- | -| [](api/internal/getreactivestate_method.md) | @getshort(api/internal/getreactivestate_method.md) | -| [](api/internal/getstate_method.md) | @getshort(api/internal/getstate_method.md) | -| [](api/internal/getstores_method.md) | @getshort(api/internal/getstores_method.md) | +| [api.getReactiveState()](/api/internal/getreactivestate_method/) | @getshort(/api/internal/getreactivestate_method.md) | +| [api.getState()](/api/internal/getstate_method/) | @getshort(/api/internal/getstate_method.md) | +| [api.getStores()](/api/internal/getstores_method/) | @getshort(/api/internal/getstores_method.md) | ## To Do List events | Name | Description | | :----------------------------------------- | :------------------------------------------------ | -| [](api/events/addproject_event.md) | @getshort(api/events/addproject_event.md) | -| [](api/events/addtask_event.md) | @getshort(api/events/addtask_event.md) | -| [](api/events/assignuser_event.md) | @getshort(api/events/assignuser_event.md) | -| [](api/events/checktask_event.md) | @getshort(api/events/checktask_event.md) | -| [](api/events/clonetask_event.md) | @getshort(api/events/clonetask_event.md) | -| [](api/events/closeinlineeditor_event.md) | @getshort(api/events/closeinlineeditor_event.md) | -| [](api/events/closemenu_event.md) | @getshort(api/events/closemenu_event.md) | -| [](api/events/collapsetask_event.md) | @getshort(api/events/collapsetask_event.md) | -| [](api/events/copytask_event.md) | @getshort(api/events/copytask_event.md) | -| [](api/events/deleteproject_event.md) | @getshort(api/events/deleteproject_event.md) | -| [](api/events/deletetask_event.md) | @getshort(api/events/deletetask_event.md) | -| [](api/events/drag_event.md) | @getshort(api/events/drag_event.md) | -| [](api/events/edititem_event.md) | @getshort(api/events/edititem_event.md) | -| [](api/events/enddrag_event.md) | @getshort(api/events/enddrag_event.md) | -| [](api/events/expandtask_event.md) | @getshort(api/events/expandtask_event.md) | -| [](api/events/hidecompletedtasks_event.md) | @getshort(api/events/hidecompletedtasks_event.md) | -| [](api/events/indenttask_event.md) | @getshort(api/events/indenttask_event.md) | -| [](api/events/keypressontodo_event.md) | @getshort(api/events/keypressontodo_event.md) | -| [](api/events/movetask_event.md) | @getshort(api/events/movetask_event.md) | -| [](api/events/openinlineeditor_event.md) | @getshort(api/events/openinlineeditor_event.md) | -| [](api/events/openmenu_event.md) | @getshort(api/events/openmenu_event.md) | -| [](api/events/pastetask_event.md) | @getshort(api/events/pastetask_event.md) | -| [](api/events/selecttask_event.md) | @getshort(api/events/selecttask_event.md) | -| [](api/events/setfilter_event.md) | @getshort(api/events/setfilter_event.md) | -| [](api/events/setproject_event.md) | @getshort(api/events/setproject_event.md) | -| [](api/events/setsort_event.md) | @getshort(api/events/setsort_event.md) | -| [](api/events/showcompletedtasks_event.md) | @getshort(api/events/showcompletedtasks_event.md) | -| [](api/events/startdrag_event.md) | @getshort(api/events/startdrag_event.md) | -| [](api/events/unassignuser_event.md) | @getshort(api/events/unassignuser_event.md) | -| [](api/events/unchecktask_event.md) | @getshort(api/events/unchecktask_event.md) | -| [](api/events/unindenttask_event.md) | @getshort(api/events/unindenttask_event.md) | -| [](api/events/unselecttask_event.md) | @getshort(api/events/unselecttask_event.md) | -| [](api/events/updateproject_event.md) | @getshort(api/events/updateproject_event.md) | -| [](api/events/updatetask_event.md) | @getshort(api/events/updatetask_event.md) | +| [add-project](/api/events/addproject_event/) | @getshort(/api/events/addproject_event.md) | +| [add-task](/api/events/addtask_event/) | @getshort(/api/events/addtask_event.md) | +| [assign-user](/api/events/assignuser_event/) | @getshort(/api/events/assignuser_event.md) | +| [check-task](/api/events/checktask_event/) | @getshort(/api/events/checktask_event.md) | +| [clone-task](/api/events/clonetask_event/) | @getshort(/api/events/clonetask_event.md) | +| [close-inline-editor](/api/events/closeinlineeditor_event/) | @getshort(/api/events/closeinlineeditor_event.md) | +| [close-menu](/api/events/closemenu_event/) | @getshort(/api/events/closemenu_event.md) | +| [collapse-task](/api/events/collapsetask_event/) | @getshort(/api/events/collapsetask_event.md) | +| [copy-task](/api/events/copytask_event/) | @getshort(/api/events/copytask_event.md) | +| [delete-project](/api/events/deleteproject_event/) | @getshort(/api/events/deleteproject_event.md) | +| [delete-task](/api/events/deletetask_event/) | @getshort(/api/events/deletetask_event.md) | +| [drag](/api/events/drag_event/) | @getshort(/api/events/drag_event.md) | +| [edit-item](/api/events/edititem_event/) | @getshort(/api/events/edititem_event.md) | +| [end-drag](/api/events/enddrag_event/) | @getshort(/api/events/enddrag_event.md) | +| [expand-task](/api/events/expandtask_event/) | @getshort(/api/events/expandtask_event.md) | +| [hide-completed-tasks](/api/events/hidecompletedtasks_event/) | @getshort(/api/events/hidecompletedtasks_event.md) | +| [indent-task](/api/events/indenttask_event/) | @getshort(/api/events/indenttask_event.md) | +| [keypress-on-todo](/api/events/keypressontodo_event/) | @getshort(/api/events/keypressontodo_event.md) | +| [move-task](/api/events/movetask_event/) | @getshort(/api/events/movetask_event.md) | +| [open-inline-editor](/api/events/openinlineeditor_event/) | @getshort(/api/events/openinlineeditor_event.md) | +| [open-menu](/api/events/openmenu_event/) | @getshort(/api/events/openmenu_event.md) | +| [paste-task](/api/events/pastetask_event/) | @getshort(/api/events/pastetask_event.md) | +| [select-task](/api/events/selecttask_event/) | @getshort(/api/events/selecttask_event.md) | +| [set-filter](/api/events/setfilter_event/) | @getshort(/api/events/setfilter_event.md) | +| [set-project](/api/events/setproject_event/) | @getshort(/api/events/setproject_event.md) | +| [set-sort](/api/events/setsort_event/) | @getshort(/api/events/setsort_event.md) | +| [show-completed-tasks](/api/events/showcompletedtasks_event/) | @getshort(/api/events/showcompletedtasks_event.md) | +| [start-drag](/api/events/startdrag_event/) | @getshort(/api/events/startdrag_event.md) | +| [unassign-user](/api/events/unassignuser_event/) | @getshort(/api/events/unassignuser_event.md) | +| [uncheck-task](/api/events/unchecktask_event/) | @getshort(/api/events/unchecktask_event.md) | +| [unindent-task](/api/events/unindenttask_event/) | @getshort(/api/events/unindenttask_event.md) | +| [unselect-task](/api/events/unselecttask_event/) | @getshort(/api/events/unselecttask_event.md) | +| [update-project](/api/events/updateproject_event/) | @getshort(/api/events/updateproject_event.md) | +| [update-task](/api/events/updatetask_event/) | @getshort(/api/events/updatetask_event.md) | ## To Do List properties | Name | Description | | :-------------------------------------- | :--------------------------------------------- | -| [](api/configs/activeproject_config.md) | @getshort(api/configs/activeproject_config.md) | -| [](api/configs/drag_config.md) | @getshort(api/configs/drag_config.md) | -| [](api/configs/history_config.md) | @getshort(api/configs/history_config.md) | -| [](api/configs/id_config.md) | @getshort(api/configs/id_config.md) | -| [](api/configs/locale_config.md) | @getshort(api/configs/locale_config.md) | -| [](api/configs/menu_config.md) | @getshort(api/configs/menu_config.md) | -| [](api/configs/priorities_config.md) | @getshort(api/configs/priorities_config.md) | -| [](api/configs/projects_config.md) | @getshort(api/configs/projects_config.md) | -| [](api/configs/readonly_config.md) | @getshort(api/configs/readonly_config.md) | -| [](api/configs/selected_config.md) | @getshort(api/configs/selected_config.md) | -| [](api/configs/tags_config.md) | @getshort(api/configs/tags_config.md) | -| [](api/configs/tasks_config.md) | @getshort(api/configs/tasks_config.md) | -| [](api/configs/taskshape_config.md) | @getshort(api/configs/taskshape_config.md) | -| [](api/configs/users_config.md) | @getshort(api/configs/users_config.md) | +| [activeProject](/api/configs/activeproject_config/) | @getshort(/api/configs/activeproject_config.md) | +| [drag](/api/configs/drag_config/) | @getshort(/api/configs/drag_config.md) | +| [history](/api/configs/history_config/) | @getshort(/api/configs/history_config.md) | +| [id](/api/configs/id_config/) | @getshort(/api/configs/id_config.md) | +| [locale](/api/configs/locale_config/) | @getshort(/api/configs/locale_config.md) | +| [menu](/api/configs/menu_config/) | @getshort(/api/configs/menu_config.md) | +| [priorities](/api/configs/priorities_config/) | @getshort(/api/configs/priorities_config.md) | +| [projects](/api/configs/projects_config/) | @getshort(/api/configs/projects_config.md) | +| [readonly](/api/configs/readonly_config/) | @getshort(/api/configs/readonly_config.md) | +| [selected](/api/configs/selected_config/) | @getshort(/api/configs/selected_config.md) | +| [tags](/api/configs/tags_config/) | @getshort(/api/configs/tags_config.md) | +| [tasks](/api/configs/tasks_config/) | @getshort(/api/configs/tasks_config.md) | +| [taskShape](/api/configs/taskshape_config/) | @getshort(/api/configs/taskshape_config.md) | +| [users](/api/configs/users_config/) | @getshort(/api/configs/users_config.md) | diff --git a/docs/api/configs/activeproject_config.md b/docs/api/configs/activeproject_config.md index a863c8d..97d6eeb 100644 --- a/docs/api/configs/activeproject_config.md +++ b/docs/api/configs/activeproject_config.md @@ -50,4 +50,4 @@ const toolbar = new Toolbar("#toolbar", { }); ~~~ -**Related article:** [Managing projects](guides/project_index.md) \ No newline at end of file +**Related article:** [Managing projects](/guides/project_index/) \ No newline at end of file diff --git a/docs/api/configs/drag_config.md b/docs/api/configs/drag_config.md index fb1febf..61de975 100644 --- a/docs/api/configs/drag_config.md +++ b/docs/api/configs/drag_config.md @@ -70,4 +70,4 @@ const toolbar = new Toolbar("#toolbar", { **Change log:** Added in v1.1 -**Related article:** [Configuration](guides/configuration.md#drag-n-drop) \ No newline at end of file +**Related article:** [Configuration](/guides/configuration/#drag-n-drop) \ No newline at end of file diff --git a/docs/api/configs/history_config.md b/docs/api/configs/history_config.md index 1767154..7feec2b 100644 --- a/docs/api/configs/history_config.md +++ b/docs/api/configs/history_config.md @@ -11,7 +11,7 @@ description: You can learn about the history config in the documentation of the @short: Optional. Enables/disables managing the history of changes :::info -Using the `history` property you can enable/disable managing the history of changes in To Do List. If you set the `history` property to `false`, you will not be able to manage the history of changes using [`undo()`](api/methods/undo_method.md)/[`redo()`](api/methods/redo_method.md) methods and controls on Toolbar. +Using the `history` property you can enable/disable managing the history of changes in To Do List. If you set the `history` property to `false`, you will not be able to manage the history of changes using [`undo()`](/api/methods/undo_method/)/[`redo()`](/api/methods/redo_method/) methods and controls on Toolbar. ::: ### Usage @@ -67,5 +67,5 @@ new ToDo("#root", { **Change log:** The `history` config was added in v1.3 **Related API:** - - [`redo`](api/methods/redo_method.md) - - [`undo`](api/methods/undo_method.md) + - [`redo`](/api/methods/redo_method/) + - [`undo`](/api/methods/undo_method/) diff --git a/docs/api/configs/locale_config.md b/docs/api/configs/locale_config.md index 47c0bca..041f019 100644 --- a/docs/api/configs/locale_config.md +++ b/docs/api/configs/locale_config.md @@ -18,7 +18,7 @@ locale?: object; ### Default config -By default, DHTMLX To Do List uses [English locale](guides/localization.md#default-locale). +By default, DHTMLX To Do List uses [English locale](/guides/localization/#default-locale). ~~~js locale: en @@ -45,13 +45,13 @@ const toolbar = new Toolbar("#toolbar", { :::info -The Toolbar is a separate component of To Do List . Thus, you also need to apply the necessary locale to the **Toolbar** via the related [`locale`](api/toolbar_api/configs/locale_config.md) property +The Toolbar is a separate component of To Do List . Thus, you also need to apply the necessary locale to the **Toolbar** via the related [`locale`](/api/toolbar_api/configs/locale_config/) property ::: :::tip -To change the locale dynamically, use the [`setLocale()`](api/methods/setlocale_method.md) method +To change the locale dynamically, use the [`setLocale()`](/api/methods/setlocale_method/) method ::: -**Related article:** [Localization](guides/localization.md) +**Related article:** [Localization](/guides/localization/) **Related sample:** [To do list. Localization](https://snippet.dhtmlx.com/kzjwvuq5) \ No newline at end of file diff --git a/docs/api/configs/menu_config.md b/docs/api/configs/menu_config.md index df75747..af4ffae 100644 --- a/docs/api/configs/menu_config.md +++ b/docs/api/configs/menu_config.md @@ -101,7 +101,7 @@ The callback should return one of the following values: ] } ~~~ - ![Context menu item](../../assets/menu_item.png) + ![Context menu item](/assets/menu_item.png) - `"separator"` - the line for separating menu items @@ -147,7 +147,7 @@ The callback should return one of the following values: } ~~~ - ![Context menu item](../../assets/menu_priorities.png) + ![Context menu item](/assets/menu_priorities.png) - `"datepicker"` - the menu item intended for setting dates @@ -166,7 +166,7 @@ The callback should return one of the following values: } ~~~ - ![Context menu item](../../assets/menu_datepicker.png) + ![Context menu item](/assets/menu_datepicker.png) - `"user"` - the menu item intended for assigning users to tasks @@ -187,7 +187,7 @@ The callback should return one of the following values: } ~~~ - ![Context menu item](../../assets/menu_users.png) + ![Context menu item](/assets/menu_users.png) ### Example diff --git a/docs/api/configs/priorities_config.md b/docs/api/configs/priorities_config.md index 7313777..ab3d883 100644 --- a/docs/api/configs/priorities_config.md +++ b/docs/api/configs/priorities_config.md @@ -119,6 +119,6 @@ document.addEventListener("keydown", event => { ~~~ **Related articles:** -- [Loading and storing data](guides/loading_data.md) +- [Loading and storing data](/guides/loading_data/) **Related sample:** [To do list. Custom hotkeys for setting priorities](https://snippet.dhtmlx.com/5cymicwt?tag=todolist) diff --git a/docs/api/configs/projects_config.md b/docs/api/configs/projects_config.md index cd7cf04..e65f2e3 100644 --- a/docs/api/configs/projects_config.md +++ b/docs/api/configs/projects_config.md @@ -52,9 +52,9 @@ const toolbar = new Toolbar("#toolbar", { ~~~ :::tip -By default, the first project from the list of project objects will be loaded as an active project. To specify any other project as an active one, use the [`activeProject`](api/configs/activeproject_config.md) property +By default, the first project from the list of project objects will be loaded as an active project. To specify any other project as an active one, use the [`activeProject`](/api/configs/activeproject_config/) property ::: **Related articles:** -- [Loading and storing data](guides/loading_data.md) -- [Managing projects](guides/project_index.md) \ No newline at end of file +- [Loading and storing data](/guides/loading_data/) +- [Managing projects](/guides/project_index/) \ No newline at end of file diff --git a/docs/api/configs/readonly_config.md b/docs/api/configs/readonly_config.md index edf059f..a9d9b1b 100644 --- a/docs/api/configs/readonly_config.md +++ b/docs/api/configs/readonly_config.md @@ -47,4 +47,4 @@ const toolbar = new Toolbar("#toolbar", { }); ~~~ -**Related article:** [Read-only mode](guides/readonly_mode.md) \ No newline at end of file +**Related article:** [Read-only mode](/guides/readonly_mode/) \ No newline at end of file diff --git a/docs/api/configs/selected_config.md b/docs/api/configs/selected_config.md index ece9401..0d09437 100644 --- a/docs/api/configs/selected_config.md +++ b/docs/api/configs/selected_config.md @@ -39,4 +39,4 @@ const toolbar = new Toolbar("#toolbar", { **Change log:** Added in v1.1 -**Related article:** [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +**Related article:** [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/configs/tags_config.md b/docs/api/configs/tags_config.md index d690c59..0eecbfb 100644 --- a/docs/api/configs/tags_config.md +++ b/docs/api/configs/tags_config.md @@ -43,5 +43,5 @@ const toolbar = new Toolbar("#toolbar", { ~~~ **Related articles:** -- [Loading and storing data](guides/loading_data.md) -- [Inline editing](guides/inline_editing.md) +- [Loading and storing data](/guides/loading_data/) +- [Inline editing](/guides/inline_editing/) diff --git a/docs/api/configs/tasks_config.md b/docs/api/configs/tasks_config.md index 9cd40f2..c451725 100644 --- a/docs/api/configs/tasks_config.md +++ b/docs/api/configs/tasks_config.md @@ -39,7 +39,7 @@ The **tasks** property presents an array of task objects. Each object includes t - `id` - (optional) the id of a task - `parent` - (optional) the id of the parent task. The value of the parameter is **null | undefined** for root tasks -- `project` - (optional) the id of the project where the task should be rendered. To initialize the projects, use the [projects](api/configs/projects_config.md) property. +- `project` - (optional) the id of the project where the task should be rendered. To initialize the projects, use the [projects](/api/configs/projects_config/) property. :::info If there are projects initialized, specify the ID of the necessary project for the root task to display it in this project. @@ -50,12 +50,12 @@ If you don't specify the project ID for the root task or set it to *null* or *un - `text` - (optional) the text of the task - `checked` - (optional) marks the task as completed - `collapsed` - (optional) defines whether the task is collapsed initially (in case the task has subtasks) -- `assigned` - (optional) an array with ID(s) of the people assigned to the task. To initialize the list of assignees, use the [users](api/configs/users_config.md) property. +- `assigned` - (optional) an array with ID(s) of the people assigned to the task. To initialize the list of assignees, use the [users](/api/configs/users_config/) property. - `due_date` - (optional) the date when the task must be completed - `creation_date` - (optional) the date of the task creation (auto-generated) - `completion_date` - (optional) the date of the task completion (auto-generated when you mark a task as complete; auto-removed when you mark a task as incomplete) - `edited_date` - (optional) the date of the task editing (auto-generated when you change the text of the task) -- `priority` - (optional) the priority of the task. To set the priorities, use the [priorities](api/configs/priorities_config.md) property +- `priority` - (optional) the priority of the task. To set the priorities, use the [priorities](/api/configs/priorities_config/) property - `[key: string]`- (optional) a set of custom properties ### Example @@ -115,5 +115,5 @@ const toolbar = new Toolbar("#toolbar", { **Change log:** The `priority` parameter was added in v1.2 **Related articles:** -- [Loading and storing data](guides/loading_data.md) -- [Managing tasks](guides/task_index.md) +- [Loading and storing data](/guides/loading_data/) +- [Managing tasks](/guides/task_index/) diff --git a/docs/api/configs/taskshape_config.md b/docs/api/configs/taskshape_config.md index a5ab397..e1bece6 100644 --- a/docs/api/configs/taskshape_config.md +++ b/docs/api/configs/taskshape_config.md @@ -64,7 +64,7 @@ To configure the task's appearance, you can specify the following parameters in - *"percentage"* - the value of the counter is displayed as a percentage - `date` - (optional) an object with date settings: - `format` - (required) defines the format of displaying dates. By default, "%d %M %Y". The full list of available characters is given [below](#list-of-characters) - - `validate` - (required) defines whether the **due_date** property of the [task object](api/configs/tasks_config.md) should be validated + - `validate` - (required) defines whether the **due_date** property of the [task object](/api/configs/tasks_config/) should be validated - `completed` - (optional) an object with settings for managing the marking and display of completed tasks. It takes one parameter: - `behavior` - (required) sets behavior for the parent and child tasks when marking them as completed/uncompleted. There are two options: - *"auto"* - enables the **"auto"** mode: @@ -131,7 +131,7 @@ DHTMLX To Do List uses the following characters for setting a date format: | **%Y** | year as a number, 4 digits | :::tip -Check the [**Localization**](guides/localization.md) article to learn how to present the date labels in the necessary language +Check the [**Localization**](/guides/localization/) article to learn how to present the date labels in the necessary language ::: **Change log:** @@ -140,8 +140,8 @@ Check the [**Localization**](guides/localization.md) article to learn how to pre **Related articles:** -- [Configuration](guides/configuration.md#tasks) -- [Show/hide completed tasks](guides/hide_completed_tasks.md) +- [Configuration](/guides/configuration/#tasks) +- [Show/hide completed tasks](/guides/hide_completed_tasks/) **Related samples:** - [To do list. Subtask counter and date format](https://snippet.dhtmlx.com/magidhw8?tag=todolist) diff --git a/docs/api/configs/users_config.md b/docs/api/configs/users_config.md index 07d80b2..8f739b4 100644 --- a/docs/api/configs/users_config.md +++ b/docs/api/configs/users_config.md @@ -97,5 +97,5 @@ const toolbar = new Toolbar("#toolbar", { ~~~ **Related articles:** -- [Loading and storing data](guides/loading_data.md) -- [Task users](guides/task_users.md) \ No newline at end of file +- [Loading and storing data](/guides/loading_data/) +- [Task users](/guides/task_users/) \ No newline at end of file diff --git a/docs/api/events/addproject_event.md b/docs/api/events/addproject_event.md index 0719ec4..10b9fc5 100644 --- a/docs/api/events/addproject_event.md +++ b/docs/api/events/addproject_event.md @@ -28,7 +28,7 @@ The callback of the **add-project** event can take an object with the following - `label` - (optional) the name of the project :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -53,4 +53,4 @@ list.api.on("add-project", ({id, project}) => { }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md#adding-a-new-project) \ No newline at end of file +**Related article:** [Operations with projects](/guides/project_operations/#adding-a-new-project) \ No newline at end of file diff --git a/docs/api/events/addtask_event.md b/docs/api/events/addtask_event.md index 902c40d..d96ffe6 100644 --- a/docs/api/events/addtask_event.md +++ b/docs/api/events/addtask_event.md @@ -35,7 +35,7 @@ The callback of the **add-task** event can take an object with the following par - `task` - (required) the object of the added task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -60,4 +60,4 @@ list.api.on("add-task", (obj) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#adding-a-new-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#adding-a-new-task) \ No newline at end of file diff --git a/docs/api/events/assignuser_event.md b/docs/api/events/assignuser_event.md index 47e0bed..7ba9446 100644 --- a/docs/api/events/assignuser_event.md +++ b/docs/api/events/assignuser_event.md @@ -27,7 +27,7 @@ The callback of the **assign-user** event can take an object with the following - `userId` - (required) the id of the user assigned to the task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -52,4 +52,4 @@ list.api.on("assign-user", ({id, userId}) => { }); ~~~ -**Related article:** [Task users](guides/task_users.md) \ No newline at end of file +**Related article:** [Task users](/guides/task_users/) \ No newline at end of file diff --git a/docs/api/events/checktask_event.md b/docs/api/events/checktask_event.md index f9e698e..419d2df 100644 --- a/docs/api/events/checktask_event.md +++ b/docs/api/events/checktask_event.md @@ -27,7 +27,7 @@ The callback of the **check-task** event can take an object with the following p - `manual` - (optional) **true** if the task is marked as completed in the "manual" mode :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -52,4 +52,4 @@ list.api.on("check-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#marking-a-task-completeincomplete) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#marking-a-task-completeincomplete) \ No newline at end of file diff --git a/docs/api/events/clonetask_event.md b/docs/api/events/clonetask_event.md index 9f41948..3b2ae74 100644 --- a/docs/api/events/clonetask_event.md +++ b/docs/api/events/clonetask_event.md @@ -10,7 +10,7 @@ description: You can learn about the clone-task event in the documentation of th @short: Fires when a task is pasted from the clipboard into the specified position -The event fires after the [paste-task](api/events/pastetask_event.md) event +The event fires after the [paste-task](/api/events/pastetask_event/) event ### Usage @@ -33,7 +33,7 @@ The callback of the **clone-task** event can take an object with the following p - `batch` - (required) an array of objects that were created on copying and then pasted :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -58,4 +58,4 @@ list.api.on("clone-task", (obj) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#copyingpasting-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#copyingpasting-a-task) \ No newline at end of file diff --git a/docs/api/events/closeinlineeditor_event.md b/docs/api/events/closeinlineeditor_event.md index 620b762..a01307e 100644 --- a/docs/api/events/closeinlineeditor_event.md +++ b/docs/api/events/closeinlineeditor_event.md @@ -27,7 +27,7 @@ The callback of the **close-inline-editor** event can take an object with the fo - `save` - (required) **true** if the made changes have been saved after closing the editor; otherwise, **false** :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -52,4 +52,4 @@ list.api.on("close-inline-editor", ({id, save}) => { }); ~~~ -**Related article:** [Inline editing](guides/inline_editing.md#working-with-editor) \ No newline at end of file +**Related article:** [Inline editing](/guides/inline_editing/#working-with-editor) \ No newline at end of file diff --git a/docs/api/events/collapsetask_event.md b/docs/api/events/collapsetask_event.md index db5e9e8..2df8f6e 100644 --- a/docs/api/events/collapsetask_event.md +++ b/docs/api/events/collapsetask_event.md @@ -25,7 +25,7 @@ The callback of the **collapse-task** event can take an object with the followin - `id` - (required) the id of a task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,4 +50,4 @@ list.api.on("collapse-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#expandingcollapsing-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#expandingcollapsing-a-task) \ No newline at end of file diff --git a/docs/api/events/copytask_event.md b/docs/api/events/copytask_event.md index b86bd6b..e84e496 100644 --- a/docs/api/events/copytask_event.md +++ b/docs/api/events/copytask_event.md @@ -40,7 +40,7 @@ In case the copied task is also pasted from the clipboard into another position, - `reverse` - (optional) **true**, if the copied task is pasted before the target task; otherwise, **false** :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -67,4 +67,4 @@ list.api.on("copy-task", ({id}) => { **Change log:** The `join` parameter was added in v1.1 -**Related article:** [Operations with tasks](guides/task_operations.md#copyingpasting-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#copyingpasting-a-task) \ No newline at end of file diff --git a/docs/api/events/deleteproject_event.md b/docs/api/events/deleteproject_event.md index 48720fa..55c3c66 100644 --- a/docs/api/events/deleteproject_event.md +++ b/docs/api/events/deleteproject_event.md @@ -25,7 +25,7 @@ The callback of the **delete-project** event can take an object with the followi - `id` - (required) the ID of a project :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,4 +50,4 @@ list.api.on("delete-project", ({id}) => { }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md#deleting-a-project) \ No newline at end of file +**Related article:** [Operations with projects](/guides/project_operations/#deleting-a-project) \ No newline at end of file diff --git a/docs/api/events/deletetask_event.md b/docs/api/events/deletetask_event.md index dbcca64..0fc0a72 100644 --- a/docs/api/events/deletetask_event.md +++ b/docs/api/events/deletetask_event.md @@ -25,7 +25,7 @@ The callback of the **delete-task** event can take an object with the following - `id` - (required) the ID of a removed task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,4 +50,4 @@ list.api.on("delete-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#deleting-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#deleting-a-task) \ No newline at end of file diff --git a/docs/api/events/drag_event.md b/docs/api/events/drag_event.md index 95665c5..94ee1e8 100644 --- a/docs/api/events/drag_event.md +++ b/docs/api/events/drag_event.md @@ -29,7 +29,7 @@ The callback of the **drag** event can take an object with the following paramet - `target` - (required) the ID of a potential target task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -56,4 +56,4 @@ list.api.on("drag", ({start, source, target}) => { **Change log:** Added in v1.1 -**Related article:** [Drag-n-drop](guides/configuration.md#drag-n-drop) \ No newline at end of file +**Related article:** [Drag-n-drop](/guides/configuration/#drag-n-drop) \ No newline at end of file diff --git a/docs/api/events/edititem_event.md b/docs/api/events/edititem_event.md index 0e60c3e..39e5116 100644 --- a/docs/api/events/edititem_event.md +++ b/docs/api/events/edititem_event.md @@ -27,7 +27,7 @@ The callback of the **edit-item** event can take an object with the following pa - `currentValue` - (required) the current (but not saved) value of the task/project :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -52,4 +52,4 @@ list.api.on("edit-item", ({id, currentValue}) => { }); ~~~ -**Related article:** [Inline editing](guides/inline_editing.md) \ No newline at end of file +**Related article:** [Inline editing](/guides/inline_editing/) \ No newline at end of file diff --git a/docs/api/events/enddrag_event.md b/docs/api/events/enddrag_event.md index 85b7c97..c27b88e 100644 --- a/docs/api/events/enddrag_event.md +++ b/docs/api/events/enddrag_event.md @@ -34,7 +34,7 @@ The callback of the **end-drag** event can take an object with the following par - `copy` - the copy mode :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -61,4 +61,4 @@ list.api.on("drag", ({ target, dropPosition, mode }) => { **Change log:** Added in v1.1 -**Related article:** [Drag-n-drop](guides/configuration.md#drag-n-drop) +**Related article:** [Drag-n-drop](/guides/configuration/#drag-n-drop) diff --git a/docs/api/events/expandtask_event.md b/docs/api/events/expandtask_event.md index bbd277b..154a388 100644 --- a/docs/api/events/expandtask_event.md +++ b/docs/api/events/expandtask_event.md @@ -25,7 +25,7 @@ The callback of the **expand-task** event can take an object with the following - `id` - (required) the id of a task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,4 +50,4 @@ list.api.on("expand-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#expandingcollapsing-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#expandingcollapsing-a-task) \ No newline at end of file diff --git a/docs/api/events/hidecompletedtasks_event.md b/docs/api/events/hidecompletedtasks_event.md index d0a61c3..5ca2ac3 100644 --- a/docs/api/events/hidecompletedtasks_event.md +++ b/docs/api/events/hidecompletedtasks_event.md @@ -17,7 +17,7 @@ description: You can learn about the hide-completed-tasks event in the documenta ~~~ :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -44,5 +44,5 @@ list.api.on("hide-completed-tasks", () => { **Change log:** Added in v1.1 -**Related article:** [Show/hide completed tasks](guides/hide_completed_tasks.md) +**Related article:** [Show/hide completed tasks](/guides/hide_completed_tasks/) diff --git a/docs/api/events/indenttask_event.md b/docs/api/events/indenttask_event.md index 22d3944..a931310 100644 --- a/docs/api/events/indenttask_event.md +++ b/docs/api/events/indenttask_event.md @@ -25,7 +25,7 @@ The callback of the **indent-task** event can take an object with the following - `id` - (required) the id of a task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,4 +50,4 @@ list.api.on("indent-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#changing-the-indent-level-of-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#changing-the-indent-level-of-a-task) \ No newline at end of file diff --git a/docs/api/events/keypressontodo_event.md b/docs/api/events/keypressontodo_event.md index 17d3eff..eb8e5a6 100644 --- a/docs/api/events/keypressontodo_event.md +++ b/docs/api/events/keypressontodo_event.md @@ -27,7 +27,7 @@ The callback of the **keypress-on-todo** event can take an object with the follo - `event` - (required) a native [event object](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent) :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,49 +50,50 @@ const toolbar = new Toolbar("#toolbar", { list.api.on("keypress-on-todo", ({code, event}) => { console.log("The", code, "key is pressed"); }); -~~~ +~~~ -## Keyboard shortcuts +## Keyboard shortcuts -There are two groups of keyboard shortcuts: +### Default mode -1\. Keyboard shortcuts **in the default mode**, i.e. when the editing mode of a task is not activated +The following shortcuts work when the inline editor is **closed**. -| Keyboard shortcut |Key code| Description | -| :--------- |--| :------------------------------------------------------------------- | -| **Escape** |escape| Closes the menu if it is opened for the task when the key is pressed. Pressing again will close the editor, reset filtering, and collapse search results in the Toolbar| +| Keyboard shortcut | Key code | Description | +| :---------------- | -------- | :------------------------------------------------------------------- | +| Escape | `escape` | Closes the menu if it is opened for the task when the key is pressed. Pressing again will close the editor, reset filtering, and collapse search results in the Toolbar | :::tip -The key codes described below are not available if focus is set on the Search bar of the Toolbar. +The **key codes** described below are not available if focus is set on the Search bar of the Toolbar. ::: -| Keyboard shortcut |Key code| Description | -| :--------- |--| :------------------------------------------------------------------- | -| **Enter** |enter| Creates a new task on the same level as the selected one, moves selection to the created task and opens the editor | -| **ArrowUp** |arrowup| Moves the selection up to the previous task | -| **ArrowDown** |arrowdown| Moves the selection down to the next task | -| **Ctrl(Cmd)+Enter** |ctrl+enter| Opens the editor of the selected task | -|**Ctrl(Cmd)+Click** /
**Ctrl(Cmd)+Shift+Click**
added in v1.1|ctrl /
ctrl+shift|Selects multiple tasks with all their children.
If the task is currently selected - unselects it, moreover:
- If the task has parents which are also selected - unselects the task together with its parents.
- If the task has children which are also selected - unselects only the task itself.| -|**Shift+Click**
added in v1.1|shift|Selects a range of tasks| -|**Shift+ArrowUp**
added in v1.1|shift+arrowup|Selects a task above the current one.
If the task above is currently selected - unselects it| -|**Shift+ArrowDown**
added in v1.1|shift+arrowdown|Selects a task (and all its children) below the current one.
If the task below is currently selected - unselects it| -| **Ctrl+ArrowUp** |ctrl+arrowup| Moves the selected task up within the same level | -| **Ctrl+ArrowDown** |ctrl+arrowdown| Moves the selected task down within the same level | -| **Space** |space| Marks a task as complete or incomplete depending on its initial state | -| **Delete/
Backspace** |delete/
backspace | Removes the selected task by the following logic:
- after removing a child task, moves the selection down/up until it reaches the parent task
- after removing a parent task, moves the selection down to the next parent task if it's exist; otherwise, moves the selection up to the previous parent task | -| **ArrowRight** |arrowright| Expands the collapsed parent task | -| **ArrowLeft** |arrowleft| Collapses the expanded parent task. If the task is already collapsed or does not have child tasks, moves selection to the parent task | -| **Tab** |tab| Demotes the nesting level of the task to one lower level | -| **Shift+Tab** |shift+tab| Promotes the nesting level of the task to one higher level| -| **Ctrl(Cmd)+D** |ctrl+d| Duplicates the selected task at the same level | -| **Ctrl(Cmd)+C** |ctrl+c| Copies the selected task into the clipboard, including all child tasks | -| **Ctrl(Cmd)+V** |ctrl+v| Pastes the copied task to the same level as the currently selected task. It is possible to paste a copied task to any level, the structure of the copied task is saved | - -2\. Keyboard shortcuts **in the editing mode** - -| Keyboard shortcut |Key code| Description | -| :---------------- |--| :---------- | -| **Escape** |escape| Closes the editor without saving any changes you've made | -| **Enter** |enter| Closes the editor and saves the changes | -| **Shift+Enter** |shift+enter| Creates a new paragraph | - \ No newline at end of file +| Keyboard shortcut | Key code | Description | +| :---------------- | -------- | :------------------------------------------------------------------- | +| Enter | `enter` | Creates a new task on the same level as the selected one, moves selection to the created task and opens the editor | +| ArrowUp | `arrowup` | Moves the selection up to the previous task | +| ArrowDown | `arrowdown` | Moves the selection down to the next task | +| Ctrl(Cmd)+Enter | `ctrl+enter` | Opens the editor of the selected task | +| Ctrl(Cmd)+Click /
Ctrl(Cmd)+Shift+Click
added in v1.1 | `ctrl` /
`ctrl+shift` | Selects multiple tasks with all their children.
If the task is currently selected - unselects it, moreover:
- If the task has parents which are also selected - unselects the task together with its parents.
- If the task has children which are also selected - unselects only the task itself.| +| Shift+Click
added in v1.1| `shift` |Selects a range of tasks| +| Shift+ArrowUp
added in v1.1| `shift+arrowup` |Selects a task above the current one.
If the task above is currently selected - unselects it| +| Shift+ArrowDown
added in v1.1| `shift+arrowdown` |Selects a task (and all its children) below the current one.
If the task below is currently selected - unselects it| +| Ctrl+ArrowUp | `ctrl+arrowup` | Moves the selected task up within the same level | +| Ctrl+ArrowDown | `ctrl+arrowdown` | Moves the selected task down within the same level | +| Space | `space` | Marks a task as complete or incomplete depending on its initial state | +| Delete /
Backspace | `delete` /
`backspace` | Removes the selected task by the following logic:
- after removing a child task, moves the selection down/up until it reaches the parent task
- after removing a parent task, moves the selection down to the next parent task if it's exist; otherwise, moves the selection up to the previous parent task | +| ArrowRight | `arrowright` | Expands the collapsed parent task | +| ArrowLeft | `arrowleft` | Collapses the expanded parent task. If the task is already collapsed or does not have child tasks, moves selection to the parent task | +| Tab | `tab` | Demotes the nesting level of the task to one lower level | +| Shift+Tab | `shift+tab` | Promotes the nesting level of the task to one higher level| +| Ctrl(Cmd)+D | `ctrl+d` | Duplicates the selected task at the same level | +| Ctrl(Cmd)+C | `ctrl+c` | Copies the selected task into the clipboard, including all child tasks | +| Ctrl(Cmd)+V | `ctrl+v` | Pastes the copied task to the same level as the currently selected task. It is possible to paste a copied task to any level, the structure of the copied task is saved | + +### Editing mode + +The following shortcuts work when the inline editor is **open**. + +| Keyboard shortcut | Key code | Description | +| :---------------- | -------- | :---------- | +| Escape | `escape` | Closes the editor without saving any changes you've made | +| Enter | `enter` | Closes the editor and saves the changes | +| Shift+Enter | `shift+enter` | Creates a new paragraph | diff --git a/docs/api/events/movetask_event.md b/docs/api/events/movetask_event.md index b564da8..99f63a4 100644 --- a/docs/api/events/movetask_event.md +++ b/docs/api/events/movetask_event.md @@ -33,7 +33,7 @@ The callback of the **move-task** event can take an object with the following pa - `project` - (optional) the ID of the project - `targetId` - (optional) the ID of the target task - `reverse` - (optional) **true**, if the task is pasted before the target task; otherwise, **false** -- Additional parameters that can be applied to the [RestDataProvider](guides/working_with_server.md) work: +- Additional parameters that can be applied to the [RestDataProvider](/guides/working_with_server/) work: - `operation` - (optional) an operation type performed on a task; values: - **indent** - demoting the task nesting level by one - **unindent** - promoting the task nesting level by one @@ -42,7 +42,7 @@ The callback of the **move-task** event can take an object with the following pa - `batch` - (optional) an array of IDs of the tasks on which an operation is perfromed :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -67,4 +67,4 @@ list.api.on("move-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#moving-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#moving-a-task) \ No newline at end of file diff --git a/docs/api/events/openinlineeditor_event.md b/docs/api/events/openinlineeditor_event.md index 40569e1..1d1a525 100644 --- a/docs/api/events/openinlineeditor_event.md +++ b/docs/api/events/openinlineeditor_event.md @@ -27,7 +27,7 @@ The callback of the **open-inline-editor** event can take an object with the fol - `type` - (required) the type of the item: "task" or "project" :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -52,4 +52,4 @@ list.api.on("open-inline-editor", ({id, type}) => { }); ~~~ -**Related article:** [Inline editing](guides/inline_editing.md#working-with-editor) \ No newline at end of file +**Related article:** [Inline editing](/guides/inline_editing/#working-with-editor) \ No newline at end of file diff --git a/docs/api/events/pastetask_event.md b/docs/api/events/pastetask_event.md index d380768..fc1715f 100644 --- a/docs/api/events/pastetask_event.md +++ b/docs/api/events/pastetask_event.md @@ -31,7 +31,7 @@ The callback of the **paste-task** event can take an object with the following p - `reverse` - (optional) **true**, if the task is pasted before the target task; otherwise, **false** :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -56,4 +56,4 @@ list.api.on("paste-task", (obj) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#copyingpasting-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#copyingpasting-a-task) \ No newline at end of file diff --git a/docs/api/events/selecttask_event.md b/docs/api/events/selecttask_event.md index 1623319..dd77a65 100644 --- a/docs/api/events/selecttask_event.md +++ b/docs/api/events/selecttask_event.md @@ -29,7 +29,7 @@ The callback of the **select-task** event can take an object with the following - **false** - single selection mode :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -58,5 +58,5 @@ list.api.on("select-task", ({id, join}) => { **Change log:** The `join` parameter was added in v1.1 **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) +- [Operations with tasks](/guides/task_operations/) +- [Multiple select and bulk operations](/guides/multiselection/) diff --git a/docs/api/events/setfilter_event.md b/docs/api/events/setfilter_event.md index c59b773..bb4ae6b 100644 --- a/docs/api/events/setfilter_event.md +++ b/docs/api/events/setfilter_event.md @@ -31,7 +31,7 @@ The callback of the **set-filter** event can take an object with the following p - `strict` - (optional) **true**, if the *strict* mode of filtering is enabled; otherwise, **false** :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -56,5 +56,5 @@ list.api.on("set-filter", (obj) => { }); ~~~ -**Related article:** [Sorting and filtering tasks](guides/sorting_filtering_tasks.md) +**Related article:** [Sorting and filtering tasks](/guides/sorting_filtering_tasks/) diff --git a/docs/api/events/setproject_event.md b/docs/api/events/setproject_event.md index 026032f..4ceeebd 100644 --- a/docs/api/events/setproject_event.md +++ b/docs/api/events/setproject_event.md @@ -29,7 +29,7 @@ The callback of the **set-project** event can take an object with the following - `id` - (required) the ID of a newly active project :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -54,4 +54,4 @@ list.api.on("set-project", ({id}) => { }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md#changing-the-active-project) \ No newline at end of file +**Related article:** [Operations with projects](/guides/project_operations/#changing-the-active-project) \ No newline at end of file diff --git a/docs/api/events/setsort_event.md b/docs/api/events/setsort_event.md index 0914135..e45f934 100644 --- a/docs/api/events/setsort_event.md +++ b/docs/api/events/setsort_event.md @@ -24,12 +24,12 @@ description: You can learn about the set-sort event in the documentation of the The callback of the **set-sort** event can take an object with the following parameters: -- `by` - (optional) the search criterion (either the key of the [task attribute](api/configs/tasks_config.md#parameters) or a search function which returns a string) +- `by` - (optional) the search criterion (either the key of the [task attribute](/api/configs/tasks_config/#parameters) or a search function which returns a string) - `dir` - (optional) the direction of sorting: "asc" or "desc" - `tree` - (optional) defines whether sorting for child tasks is enabled :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -54,4 +54,4 @@ list.api.on("set-sort", ({ by, dir, tree }) => { }); ~~~ -**Related article:** [Sorting and filtering tasks](guides/sorting_filtering_tasks.md) \ No newline at end of file +**Related article:** [Sorting and filtering tasks](/guides/sorting_filtering_tasks/) \ No newline at end of file diff --git a/docs/api/events/showcompletedtasks_event.md b/docs/api/events/showcompletedtasks_event.md index 3261b9c..d364b3f 100644 --- a/docs/api/events/showcompletedtasks_event.md +++ b/docs/api/events/showcompletedtasks_event.md @@ -17,7 +17,7 @@ description: You can learn about the show-completed-tasks event in the documenta ~~~ :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -44,4 +44,4 @@ list.api.on("show-completed-tasks", () => { **Change log:** Added in v1.1 -**Related article:** [Show/hide completed tasks](guides/hide_completed_tasks.md) \ No newline at end of file +**Related article:** [Show/hide completed tasks](/guides/hide_completed_tasks/) \ No newline at end of file diff --git a/docs/api/events/startdrag_event.md b/docs/api/events/startdrag_event.md index f2e5b58..9f5830c 100644 --- a/docs/api/events/startdrag_event.md +++ b/docs/api/events/startdrag_event.md @@ -29,7 +29,7 @@ The callback of the **start-drag** event can take an object with the following p - `copy` - the copy mode :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -56,4 +56,4 @@ list.api.on("start-drag", ({ start, mode }) => { **Change log:** Added in v1.1 -**Related article:** [Drag-n-drop](guides/configuration.md#drag-n-drop) \ No newline at end of file +**Related article:** [Drag-n-drop](/guides/configuration/#drag-n-drop) \ No newline at end of file diff --git a/docs/api/events/unassignuser_event.md b/docs/api/events/unassignuser_event.md index 1a4331c..1b800ba 100644 --- a/docs/api/events/unassignuser_event.md +++ b/docs/api/events/unassignuser_event.md @@ -27,7 +27,7 @@ The callback of the **unassign-user** event can take an object with the followin - `userId` - (required) the id of the user unassigned from the task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -52,4 +52,4 @@ list.api.on("unassign-user", ({id, userId}) => { }); ~~~ -**Related article:** [Task users](guides/task_users.md) \ No newline at end of file +**Related article:** [Task users](/guides/task_users/) \ No newline at end of file diff --git a/docs/api/events/unchecktask_event.md b/docs/api/events/unchecktask_event.md index 8cac311..7091905 100644 --- a/docs/api/events/unchecktask_event.md +++ b/docs/api/events/unchecktask_event.md @@ -27,7 +27,7 @@ The callback of the **uncheck-task** event can take an object with the following - `manual` - (optional) **true** if the task is marked as uncompleted in the "manual" mode :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -52,4 +52,4 @@ list.api.on("uncheck-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#marking-a-task-completeincomplete) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#marking-a-task-completeincomplete) \ No newline at end of file diff --git a/docs/api/events/unindenttask_event.md b/docs/api/events/unindenttask_event.md index 3eb0f28..44ca383 100644 --- a/docs/api/events/unindenttask_event.md +++ b/docs/api/events/unindenttask_event.md @@ -25,7 +25,7 @@ The callback of the **unindent-task** event can take an object with the followin - `id` - (required) the id of a task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,4 +50,4 @@ list.api.on("unindent-task", ({id}) => { }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#changing-the-indent-level-of-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#changing-the-indent-level-of-a-task) \ No newline at end of file diff --git a/docs/api/events/unselecttask_event.md b/docs/api/events/unselecttask_event.md index dd23bc2..a043aaf 100644 --- a/docs/api/events/unselecttask_event.md +++ b/docs/api/events/unselecttask_event.md @@ -24,7 +24,7 @@ The callback of the **unselect-task** event can take an object with the followin - `id` - (required) the id of a task :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -50,5 +50,5 @@ list.api.on("unselect-task", ({id}) => { ~~~ **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Operations with tasks](/guides/task_operations/) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/events/updateproject_event.md b/docs/api/events/updateproject_event.md index d393f77..ca2dea1 100644 --- a/docs/api/events/updateproject_event.md +++ b/docs/api/events/updateproject_event.md @@ -28,7 +28,7 @@ The callback of the **update-project** event can take an object with the followi - `label` - (optional) the name of the project :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -53,4 +53,4 @@ list.api.on("update-project", ({id, project}) => { }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md#updating-a-project) \ No newline at end of file +**Related article:** [Operations with projects](/guides/project_operations/#updating-a-project) \ No newline at end of file diff --git a/docs/api/events/updatetask_event.md b/docs/api/events/updatetask_event.md index 10fa8fa..92be774 100644 --- a/docs/api/events/updatetask_event.md +++ b/docs/api/events/updatetask_event.md @@ -27,12 +27,12 @@ The callback of the **update-task** event can take an object with the following - `id` - (required) the id of the updated task - `task` - (required) the object of the updated task -- Additional parameters that can be applied to the [RestDataProvider](guides/working_with_server.md) work: +- Additional parameters that can be applied to the [RestDataProvider](/guides/working_with_server/) work: - `skipProvider` - (optional) allows skipping events sent to RestDataProvider; if **false (default)**, RestDataProvider works with the event, **true** - RestDataProvider skips the event - `batch` - (optional) an array of updated tasks objects :::info -To handle the inner events, you can use the [**Event Bus methods**](category/event-bus-methods.md) +To handle the inner events, you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example @@ -58,4 +58,4 @@ list.api.on("update-task", ({id, task}) => { ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md#updating-a-task) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/#updating-a-task) \ No newline at end of file diff --git a/docs/api/internal/exec_method.md b/docs/api/internal/exec_method.md index 4b6f50f..4bcaebc 100644 --- a/docs/api/internal/exec_method.md +++ b/docs/api/internal/exec_method.md @@ -27,7 +27,7 @@ api.exec( ### Events :::info -The full list of the To Do List internal events can be found [**here**](api/overview/events_overview.md) +The full list of the To Do List internal events can be found [**here**](/api/overview/events_overview/) ::: ### Example diff --git a/docs/api/internal/intercept_method.md b/docs/api/internal/intercept_method.md index 5f62ff8..8b16c2f 100644 --- a/docs/api/internal/intercept_method.md +++ b/docs/api/internal/intercept_method.md @@ -27,7 +27,7 @@ api.intercept( ### Events :::info -The full list of the To Do List internal events can be found [**here**](api/overview/events_overview.md) +The full list of the To Do List internal events can be found [**here**](/api/overview/events_overview/) ::: ### Example diff --git a/docs/api/internal/on_method.md b/docs/api/internal/on_method.md index 2162558..a57a2bf 100644 --- a/docs/api/internal/on_method.md +++ b/docs/api/internal/on_method.md @@ -27,7 +27,7 @@ api.on( ### Events :::info -The full list of the To Do List internal events can be found [**here**](api/overview/events_overview.md) +The full list of the To Do List internal events can be found [**here**](/api/overview/events_overview/) ::: ### Example diff --git a/docs/api/methods/addproject_method.md b/docs/api/methods/addproject_method.md index 461ad6f..e722ba0 100644 --- a/docs/api/methods/addproject_method.md +++ b/docs/api/methods/addproject_method.md @@ -51,4 +51,4 @@ list.addProject({ }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md) \ No newline at end of file +**Related article:** [Operations with projects](/guides/project_operations/) \ No newline at end of file diff --git a/docs/api/methods/addtask_method.md b/docs/api/methods/addtask_method.md index 3f04305..3221c2c 100644 --- a/docs/api/methods/addtask_method.md +++ b/docs/api/methods/addtask_method.md @@ -27,13 +27,13 @@ addTask({ - `id` - (optional) the ID of a new task - `parent` - (optional) the ID of the parent task -- `project` - (optional) the ID of the project. By default, the ID of the [currently active project](../../configs/activeproject_config/)
+- `project` - (optional) the ID of the project. By default, the ID of the [currently active project](../../configs/activeproject_config/)
:::info In case the active project is specified but you need to add a task into the *No project* section, specify the value of the parameter to **null** ::: - `targetId` - (optional) the ID of the future target task where the new task will be added - `reverse` - (optional) defines the position where the new task will be added: **before** or **after** the target task -- `task` - (required) the data object of the new task. The full list of the task parameters can be found [here](api/configs/tasks_config.md) +- `task` - (required) the data object of the new task. The full list of the task parameters can be found [here](/api/configs/tasks_config/) :::info If you specify the **id**, **parent**, **project** parameters of the method, you don't need to specify them in the task object @@ -75,4 +75,4 @@ list.addTask({ }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/) \ No newline at end of file diff --git a/docs/api/methods/assignuser_method.md b/docs/api/methods/assignuser_method.md index 913954b..985d13a 100644 --- a/docs/api/methods/assignuser_method.md +++ b/docs/api/methods/assignuser_method.md @@ -54,4 +54,4 @@ list.assignUser({ }); ~~~ -**Related article:** [Task assignees](guides/task_users.md) \ No newline at end of file +**Related article:** [Task assignees](/guides/task_users/) \ No newline at end of file diff --git a/docs/api/methods/checktask_method.md b/docs/api/methods/checktask_method.md index 92d3968..e04bf81 100644 --- a/docs/api/methods/checktask_method.md +++ b/docs/api/methods/checktask_method.md @@ -22,7 +22,7 @@ checkTask({ ### Parameters - `id` - (required) the id of a task -- `manual` - (optional) if `true`, marks the task in the "manual" mode. If `false`, the result of applying the method depends on the value which is specified for the **behavior** attribute of the **completed** parameter of the [taskShape](api/configs/taskshape_config.md) property +- `manual` - (optional) if `true`, marks the task in the "manual" mode. If `false`, the result of applying the method depends on the value which is specified for the **behavior** attribute of the **completed** parameter of the [taskShape](/api/configs/taskshape_config/) property ### Example @@ -71,5 +71,5 @@ list.eachSelected(id => { ~~~ **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Operations with tasks](/guides/task_operations/) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/closeinlineeditor_method.md b/docs/api/methods/closeinlineeditor_method.md index 00c562e..1ab5fae 100644 --- a/docs/api/methods/closeinlineeditor_method.md +++ b/docs/api/methods/closeinlineeditor_method.md @@ -49,4 +49,4 @@ list.closeInlineEditor({ }); ~~~ -**Related article:** [Inline editing](guides/inline_editing.md) \ No newline at end of file +**Related article:** [Inline editing](/guides/inline_editing/) \ No newline at end of file diff --git a/docs/api/methods/collapsetask_method.md b/docs/api/methods/collapsetask_method.md index 3905a5c..7aaaf47 100644 --- a/docs/api/methods/collapsetask_method.md +++ b/docs/api/methods/collapsetask_method.md @@ -46,4 +46,4 @@ list.collapseTask({ }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/) \ No newline at end of file diff --git a/docs/api/methods/copytask_method.md b/docs/api/methods/copytask_method.md index ffc931b..56dbc60 100644 --- a/docs/api/methods/copytask_method.md +++ b/docs/api/methods/copytask_method.md @@ -114,5 +114,5 @@ list.unselectTask({ id: null }); **Change log:** The `join` parameter was added in v1.1 -**Related article:** [Operations with tasks](guides/task_operations.md) +**Related article:** [Operations with tasks](/guides/task_operations/) diff --git a/docs/api/methods/deleteproject_method.md b/docs/api/methods/deleteproject_method.md index f1fe1b1..95f361b 100644 --- a/docs/api/methods/deleteproject_method.md +++ b/docs/api/methods/deleteproject_method.md @@ -47,4 +47,4 @@ const toolbar = new Toolbar("#toolbar", { list.deleteProject({ id: "first" }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md) \ No newline at end of file +**Related article:** [Operations with projects](/guides/project_operations/) \ No newline at end of file diff --git a/docs/api/methods/deletetask_method.md b/docs/api/methods/deletetask_method.md index 305706d..9abe2b6 100644 --- a/docs/api/methods/deletetask_method.md +++ b/docs/api/methods/deletetask_method.md @@ -72,5 +72,5 @@ list.eachSelected(id => { ~~~ **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Operations with tasks](/guides/task_operations/) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/eachselected_method.md b/docs/api/methods/eachselected_method.md index d07615e..b9d0c7a 100644 --- a/docs/api/methods/eachselected_method.md +++ b/docs/api/methods/eachselected_method.md @@ -74,4 +74,4 @@ list.eachSelected(id => { **Change log:** Added in v1.1 -**Related article:** [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +**Related article:** [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/existsproject_method.md b/docs/api/methods/existsproject_method.md index 2b7f9cf..6e283e5 100644 --- a/docs/api/methods/existsproject_method.md +++ b/docs/api/methods/existsproject_method.md @@ -47,4 +47,4 @@ list.existsProject({ id: 1 }); // -> false list.existsProject({ id: "first" }); // -> true ~~~ -**Related article:** [Project object](guides/project_object_operations.md) \ No newline at end of file +**Related article:** [Project object](/guides/project_object_operations/) \ No newline at end of file diff --git a/docs/api/methods/existstask_method.md b/docs/api/methods/existstask_method.md index cb5c28d..786d319 100644 --- a/docs/api/methods/existstask_method.md +++ b/docs/api/methods/existstask_method.md @@ -50,4 +50,4 @@ list.existsTask({ id: "2" }); // -> false list.existsTask({ id: "1.2" }); // -> true ~~~ -**Related article:** [Task object/Id](guides/task_object.md) \ No newline at end of file +**Related article:** [Task object/Id](/guides/task_object/) \ No newline at end of file diff --git a/docs/api/methods/expandtask_method.md b/docs/api/methods/expandtask_method.md index 114d6e5..30b2eaa 100644 --- a/docs/api/methods/expandtask_method.md +++ b/docs/api/methods/expandtask_method.md @@ -51,4 +51,4 @@ list.expandTask({ }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/) \ No newline at end of file diff --git a/docs/api/methods/getchildrenids_method.md b/docs/api/methods/getchildrenids_method.md index bb9701d..8d009da 100644 --- a/docs/api/methods/getchildrenids_method.md +++ b/docs/api/methods/getchildrenids_method.md @@ -75,4 +75,4 @@ console.log(list.getChildrenIds({ id: "1", filtered: true, hideCompleted: true } **Change log:** The `hideCompleted` parameter was added in v1.1 -**Related article:** [Task object/Id](guides/task_object.md) \ No newline at end of file +**Related article:** [Task object/Id](/guides/task_object/) \ No newline at end of file diff --git a/docs/api/methods/getparentids_method.md b/docs/api/methods/getparentids_method.md index c0fb803..53122e1 100644 --- a/docs/api/methods/getparentids_method.md +++ b/docs/api/methods/getparentids_method.md @@ -49,7 +49,7 @@ const toolbar = new Toolbar("#toolbar", { }); // get parents of the task -console.log(list.getParentIds({ id: "1.1.1" })); //  ['1.1', '1'] +console.log(list.getParentIds({ id: "1.1.1" })); // ['1.1', '1'] ~~~ -**Related article:** [Task object/Id](guides/task_object.md) \ No newline at end of file +**Related article:** [Task object/Id](/guides/task_object/) \ No newline at end of file diff --git a/docs/api/methods/getproject_method.md b/docs/api/methods/getproject_method.md index 62c468f..96a9aaf 100644 --- a/docs/api/methods/getproject_method.md +++ b/docs/api/methods/getproject_method.md @@ -48,4 +48,4 @@ const toolbar = new Toolbar("#toolbar", { list.getProject({ id: "first" }); // -> {id: 'first', label: 'First project'} ~~~ -**Related article:** [Project object](guides/project_object_operations.md) \ No newline at end of file +**Related article:** [Project object](/guides/project_object_operations/) \ No newline at end of file diff --git a/docs/api/methods/getselection_method.md b/docs/api/methods/getselection_method.md index bb742e5..0292a14 100644 --- a/docs/api/methods/getselection_method.md +++ b/docs/api/methods/getselection_method.md @@ -57,5 +57,5 @@ console.log(list.getSelection({ sorted: true })); // ["1.1", "1.2", "2.1", "2.2" **Change log:** The `sorted` parameter was added in v1.1 **Related article:** -- [Task object/Id](guides/task_object.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Task object/Id](/guides/task_object/) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/gettask_method.md b/docs/api/methods/gettask_method.md index 668f200..3482f1e 100644 --- a/docs/api/methods/gettask_method.md +++ b/docs/api/methods/gettask_method.md @@ -48,4 +48,4 @@ const toolbar = new Toolbar("#toolbar", { list.getTask({ id: "1.2" }); // -> {id: '1.2', text: 'Task 1.2', parent: '1'} ~~~ -**Related article:** [Task object/Id](guides/task_object.md) \ No newline at end of file +**Related article:** [Task object/Id](/guides/task_object/) \ No newline at end of file diff --git a/docs/api/methods/haschildren_method.md b/docs/api/methods/haschildren_method.md index 6ab1123..8649e43 100644 --- a/docs/api/methods/haschildren_method.md +++ b/docs/api/methods/haschildren_method.md @@ -70,4 +70,4 @@ console.log(list.hasChildren({ id: "1.1", filtered: true })); // -> false **Change log:** The `hideCompleted` parameter was added in v1.1 -**Related article:** [Task object/Id](guides/task_object.md) \ No newline at end of file +**Related article:** [Task object/Id](/guides/task_object/) \ No newline at end of file diff --git a/docs/api/methods/hidecompletedtasks_method.md b/docs/api/methods/hidecompletedtasks_method.md index 1d946e4..b0ec483 100644 --- a/docs/api/methods/hidecompletedtasks_method.md +++ b/docs/api/methods/hidecompletedtasks_method.md @@ -37,4 +37,4 @@ list.hideCompletedTasks(); **Change log:** Added in v1.1 -**Related article:** [Show/hide completed tasks](guides/hide_completed_tasks.md) \ No newline at end of file +**Related article:** [Show/hide completed tasks](/guides/hide_completed_tasks/) \ No newline at end of file diff --git a/docs/api/methods/indenttask_method.md b/docs/api/methods/indenttask_method.md index 8f55424..a5877a1 100644 --- a/docs/api/methods/indenttask_method.md +++ b/docs/api/methods/indenttask_method.md @@ -70,5 +70,5 @@ list.eachSelected(id => { ~~~ **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Operations with tasks](/guides/task_operations/) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/movetask_method.md b/docs/api/methods/movetask_method.md index cb434f1..c958f41 100644 --- a/docs/api/methods/movetask_method.md +++ b/docs/api/methods/movetask_method.md @@ -27,7 +27,7 @@ moveTask({ ### Parameters - `id` - (optional) the ID of the task to be moved -- `project` - (optional) the ID of the project
+- `project` - (optional) the ID of the project
:::info To move a task to the *No project* section, specify the value of the parameter to **null** ::: @@ -131,5 +131,5 @@ list.eachSelected(id => { ~~~ **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Operations with tasks](/guides/task_operations/) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/openinlineeditor_method.md b/docs/api/methods/openinlineeditor_method.md index 5580a5f..a0f067e 100644 --- a/docs/api/methods/openinlineeditor_method.md +++ b/docs/api/methods/openinlineeditor_method.md @@ -48,4 +48,4 @@ list.openInlineEditor({ }); ~~~ -**Related article:** [Inline editing](guides/inline_editing.md) \ No newline at end of file +**Related article:** [Inline editing](/guides/inline_editing/) \ No newline at end of file diff --git a/docs/api/methods/parse_method.md b/docs/api/methods/parse_method.md index 55fe55c..14c4c28 100644 --- a/docs/api/methods/parse_method.md +++ b/docs/api/methods/parse_method.md @@ -24,11 +24,11 @@ parse({ ### Parameters -- [`tasks`](api/configs/tasks_config.md) - (optional) an array of objects with tasks data -- [`users`](api/configs/users_config.md) - (optional) an array of objects with users data -- [`projects`](api/configs/projects_config.md) - (optional) an array of objects with projects data -- [`tags`](api/configs/tags_config.md) - (optional) an array with a list of tags -- [`activeProject`](api/configs/activeproject_config.md) - (optional) the ID of the active project +- [`tasks`](/api/configs/tasks_config/) - (optional) an array of objects with tasks data +- [`users`](/api/configs/users_config/) - (optional) an array of objects with users data +- [`projects`](/api/configs/projects_config/) - (optional) an array of objects with projects data +- [`tags`](/api/configs/tags_config/) - (optional) an array with a list of tags +- [`activeProject`](/api/configs/activeproject_config/) - (optional) the ID of the active project ### Example @@ -49,4 +49,4 @@ list.parse({ }); ~~~ -**Related article:** [Loading and storing data](guides/loading_data.md) +**Related article:** [Loading and storing data](/guides/loading_data/) diff --git a/docs/api/methods/pastetask_method.md b/docs/api/methods/pastetask_method.md index e607e31..15b3ffd 100644 --- a/docs/api/methods/pastetask_method.md +++ b/docs/api/methods/pastetask_method.md @@ -58,6 +58,6 @@ list.pasteTask({ }); ~~~ -**Related API:** [copyTask()](api/methods/copytask_method.md) +**Related API:** [copyTask()](/api/methods/copytask_method/) -**Related article:** [Operations with tasks](guides/task_operations.md) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/) \ No newline at end of file diff --git a/docs/api/methods/redo_method.md b/docs/api/methods/redo_method.md index beb5537..2b8c90a 100644 --- a/docs/api/methods/redo_method.md +++ b/docs/api/methods/redo_method.md @@ -11,7 +11,7 @@ description: You can learn about the redo method in the documentation of the DHT @short: Repeats the action that was reverted by the undo action :::info -If you set the [`history.projects`](api/configs/history_config.md) parameter to `true`, you will be able to manage the history of changes for each project separately; otherwise, you will be able to manage the history of changes for the whole app. +If you set the [`history.projects`](/api/configs/history_config/) parameter to `true`, you will be able to manage the history of changes for each project separately; otherwise, you will be able to manage the history of changes for the whole app. ::: ### Usage @@ -43,5 +43,5 @@ list.redo(); **Change log:** The `redo()` method was added in v1.3 **Related API:** - - [`history`](api/configs/history_config.md) - - [`undo`](api/methods/undo_method.md) + - [`history`](/api/configs/history_config/) + - [`undo`](/api/methods/undo_method/) diff --git a/docs/api/methods/selecttask_method.md b/docs/api/methods/selecttask_method.md index 32c4968..a5f7fa3 100644 --- a/docs/api/methods/selecttask_method.md +++ b/docs/api/methods/selecttask_method.md @@ -25,7 +25,7 @@ selectTask({ - `join` - (optional) if **true**, adds the specified task to the collection of selected tasks, saving the IDs of previously selected tasks :::info -Calling the method with `join: false` invokes the [`unselect-task`](api/events/unselecttask_event.md) event for previously selected tasks +Calling the method with `join: false` invokes the [`unselect-task`](/api/events/unselecttask_event/) event for previously selected tasks ::: ### Example @@ -47,16 +47,16 @@ const toolbar = new Toolbar("#toolbar", { api: list.api, }); -console.log(list.getSelection()); // -> ['1.1'] +console.log(list.getSelection()); // -> ['1.1'] list.selectTask({ id: "1.1.1", join: true }); -console.log(list.getSelection()); // -> ['1.1', '1.1.1'] +console.log(list.getSelection()); // -> ['1.1', '1.1.1'] ~~~ **Change log:** The `join` parameter was added in v1.1 -**Related article:** [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +**Related article:** [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/serialize_method.md b/docs/api/methods/serialize_method.md index ca1f5ef..a2aabf7 100644 --- a/docs/api/methods/serialize_method.md +++ b/docs/api/methods/serialize_method.md @@ -47,4 +47,4 @@ const list = new ToDo("#root", { list.serialize(); ~~~ -**Related article:** [Loading and storing data](guides/loading_data.md) +**Related article:** [Loading and storing data](/guides/loading_data/) diff --git a/docs/api/methods/setconfig_method.md b/docs/api/methods/setconfig_method.md index d6cc9ce..7fddb9f 100644 --- a/docs/api/methods/setconfig_method.md +++ b/docs/api/methods/setconfig_method.md @@ -18,14 +18,14 @@ setConfig(config: object): void; ### Parameters -- `config` - (required) an object with new configuration of To Do List. See the full list of properties [here](api/api_overview.md#to-do-list-properties) +- `config` - (required) an object with new configuration of To Do List. See the full list of properties [here](/api/api_overview/#to-do-list-properties) :::tip -The method changes only the parameters you passed. It is also possible to load data into the To Do List via the method, but we recommend that you use the [`parse()`](api/methods/parse_method.md) method for this purpose. +The method changes only the parameters you passed. It is also possible to load data into the To Do List via the method, but we recommend that you use the [`parse()`](/api/methods/parse_method/) method for this purpose. ::: :::important -The `setConfig()` method destroys the current component and initialize a new one. If you use the component with **Toolbar**, you need to call the [`setConfig()`](api/toolbar_api/methods/setconfig_method.md) method of **Toolbar**, because it uses the internal API of To Do List. See the example below! +The `setConfig()` method destroys the current component and initialize a new one. If you use the component with **Toolbar**, you need to call the [`setConfig()`](/api/toolbar_api/methods/setconfig_method/) method of **Toolbar**, because it uses the internal API of To Do List. See the example below! ::: ### Example diff --git a/docs/api/methods/setfilter_method.md b/docs/api/methods/setfilter_method.md index 9e39899..6859d3d 100644 --- a/docs/api/methods/setfilter_method.md +++ b/docs/api/methods/setfilter_method.md @@ -56,4 +56,4 @@ list.setFilter({ list.setFilter({ match: null }); ~~~ -**Related article:** [Sorting and filtering tasks](guides/sorting_filtering_tasks.md) \ No newline at end of file +**Related article:** [Sorting and filtering tasks](/guides/sorting_filtering_tasks/) \ No newline at end of file diff --git a/docs/api/methods/setlocale_method.md b/docs/api/methods/setlocale_method.md index 99b701f..e418771 100644 --- a/docs/api/methods/setlocale_method.md +++ b/docs/api/methods/setlocale_method.md @@ -23,7 +23,7 @@ setLocale( - `locale` - (required) an object of the locale :::important -The `setLocale()` method destroys the current component and initialize a new one. If you use the component with **Toolbar**, you need to call the [`setLocale()`](api/toolbar_api/methods/setlocale_method.md) method of **Toolbar**, to change its locale. See the example below! +The `setLocale()` method destroys the current component and initialize a new one. If you use the component with **Toolbar**, you need to call the [`setLocale()`](/api/toolbar_api/methods/setlocale_method/) method of **Toolbar**, to change its locale. See the example below! ::: ### Example @@ -132,4 +132,4 @@ list.setLocale(de); toolbar.setLocale(de, list.api); ~~~ -**Related article:** [Localization](guides/localization.md) \ No newline at end of file +**Related article:** [Localization](/guides/localization/) \ No newline at end of file diff --git a/docs/api/methods/setproject_method.md b/docs/api/methods/setproject_method.md index 0edf774..20dbd13 100644 --- a/docs/api/methods/setproject_method.md +++ b/docs/api/methods/setproject_method.md @@ -46,4 +46,4 @@ list.setProject({ }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md) \ No newline at end of file +**Related article:** [Operations with projects](/guides/project_operations/) \ No newline at end of file diff --git a/docs/api/methods/setsort_method.md b/docs/api/methods/setsort_method.md index 98778bb..d563ed5 100644 --- a/docs/api/methods/setsort_method.md +++ b/docs/api/methods/setsort_method.md @@ -22,7 +22,7 @@ setSort({ ### Parameters -- `by` - (optional) the search criterion (either the key of the [task attribute](api/configs/tasks_config.md#parameters) or a search function which returns a string) +- `by` - (optional) the search criterion (either the key of the [task attribute](/api/configs/tasks_config/#parameters) or a search function which returns a string) - `dir` - (optional) the direction of sorting: "asc" or "desc" - `tree` - (optional) enables/disables sorting for child tasks; **false** by default @@ -58,4 +58,4 @@ list.setSort({ **Change log:** Added in v1.1 -**Related article:** [Sorting and filtering tasks](guides/sorting_filtering_tasks.md) \ No newline at end of file +**Related article:** [Sorting and filtering tasks](/guides/sorting_filtering_tasks/) \ No newline at end of file diff --git a/docs/api/methods/showcompletedtasks_method.md b/docs/api/methods/showcompletedtasks_method.md index cc5ef31..6d37052 100644 --- a/docs/api/methods/showcompletedtasks_method.md +++ b/docs/api/methods/showcompletedtasks_method.md @@ -37,4 +37,4 @@ list.showCompletedTasks(); **Change log:** Added in v1.1 -**Related article:** [Show/hide completed tasks](guides/hide_completed_tasks.md) \ No newline at end of file +**Related article:** [Show/hide completed tasks](/guides/hide_completed_tasks/) \ No newline at end of file diff --git a/docs/api/methods/unassignuser_method.md b/docs/api/methods/unassignuser_method.md index 5b17904..8beac21 100644 --- a/docs/api/methods/unassignuser_method.md +++ b/docs/api/methods/unassignuser_method.md @@ -54,4 +54,4 @@ list.unassignUser({ }); ~~~ -**Related article:** [Task assignees](guides/task_users.md) \ No newline at end of file +**Related article:** [Task assignees](/guides/task_users/) \ No newline at end of file diff --git a/docs/api/methods/unchecktask_method.md b/docs/api/methods/unchecktask_method.md index 94ca617..a646b05 100644 --- a/docs/api/methods/unchecktask_method.md +++ b/docs/api/methods/unchecktask_method.md @@ -22,7 +22,7 @@ uncheckTask({ ### Parameters - `id` - (required) the id of a task -- `manual` - (optional) if `true`, marks the task in the "manual" mode. If `false`, the result of applying the method depends on the value which is specified for the **behavior** attribute of the **completed** parameter of the [taskShape](api/configs/taskshape_config.md) property +- `manual` - (optional) if `true`, marks the task in the "manual" mode. If `false`, the result of applying the method depends on the value which is specified for the **behavior** attribute of the **completed** parameter of the [taskShape](/api/configs/taskshape_config/) property ### Example @@ -76,5 +76,5 @@ list.eachSelected(id => { ~~~ **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Operations with tasks](/guides/task_operations/) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/undo_method.md b/docs/api/methods/undo_method.md index ac129b2..4700251 100644 --- a/docs/api/methods/undo_method.md +++ b/docs/api/methods/undo_method.md @@ -11,7 +11,7 @@ description: You can learn about the undo method in the documentation of the DHT @short: Reverts the last operation in To Do List :::info -If you set the [`history.projects`](api/configs/history_config.md) parameter to `true`, you will be able to manage the history of changes for each project separately; otherwise, you will be able to manage the history of changes for the whole app. +If you set the [`history.projects`](/api/configs/history_config/) parameter to `true`, you will be able to manage the history of changes for each project separately; otherwise, you will be able to manage the history of changes for the whole app. ::: ### Usage @@ -42,5 +42,5 @@ list.undo(); **Change log:** The `undo()` method was added in v1.3 **Related API:** - - [`history`](api/configs/history_config.md) - - [`redo`](api/methods/redo_method.md) + - [`history`](/api/configs/history_config/) + - [`redo`](/api/methods/redo_method/) diff --git a/docs/api/methods/unindenttask_method.md b/docs/api/methods/unindenttask_method.md index 8ddc4d6..d169865 100644 --- a/docs/api/methods/unindenttask_method.md +++ b/docs/api/methods/unindenttask_method.md @@ -70,5 +70,5 @@ list.eachSelected(id => { ~~~ **Related articles:** -- [Operations with tasks](guides/task_operations.md) -- [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +- [Operations with tasks](/guides/task_operations.md) +- [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/unselecttask_method.md b/docs/api/methods/unselecttask_method.md index 69f9925..5ff1df5 100644 --- a/docs/api/methods/unselecttask_method.md +++ b/docs/api/methods/unselecttask_method.md @@ -23,7 +23,7 @@ unselectTask({ - `id` - (required) the id of the task to be unselected :::info -Passing `id: null` to the method unselects all selected tasks and invokes the [`unselect-task`](api/events/unselecttask_event.md) event for each of them +Passing `id: null` to the method unselects all selected tasks and invokes the [`unselect-task`](/api/events/unselecttask_event/) event for each of them ::: @@ -54,4 +54,4 @@ list.unselectTask({ id: "1.1" }); **Change log:** The ability to pass `id: null` to the method was added in v1.1 -**Related article:** [Multiple select and bulk operations](guides/multiselection.md) \ No newline at end of file +**Related article:** [Multiple select and bulk operations](/guides/multiselection/) \ No newline at end of file diff --git a/docs/api/methods/updateproject_method.md b/docs/api/methods/updateproject_method.md index 49e0757..059c4e9 100644 --- a/docs/api/methods/updateproject_method.md +++ b/docs/api/methods/updateproject_method.md @@ -51,4 +51,4 @@ list.updateProject({ }); ~~~ -**Related article:** [Operations with projects](guides/project_operations.md) +**Related article:** [Operations with projects](/guides/project_operations/) diff --git a/docs/api/methods/updatetask_method.md b/docs/api/methods/updatetask_method.md index b3dd066..e691512 100644 --- a/docs/api/methods/updatetask_method.md +++ b/docs/api/methods/updatetask_method.md @@ -22,7 +22,7 @@ updateTask({ ### Parameters - `id` - (required) the id of the task to be updated -- `task` - (required) an object with a hash of task's properties which need to be updated. The full list of the task parameters can be found [here](api/configs/tasks_config.md) +- `task` - (required) an object with a hash of task's properties which need to be updated. The full list of the task parameters can be found [here](/api/configs/tasks_config/) ### Example @@ -51,4 +51,4 @@ list.updateTask({ }); ~~~ -**Related article:** [Operations with tasks](guides/task_operations.md) \ No newline at end of file +**Related article:** [Operations with tasks](/guides/task_operations/) \ No newline at end of file diff --git a/docs/api/overview/configs_overview.md b/docs/api/overview/configs_overview.md index 8fc1d78..3a72946 100644 --- a/docs/api/overview/configs_overview.md +++ b/docs/api/overview/configs_overview.md @@ -6,19 +6,20 @@ description: You can explore the API properties of To Do List in the documentati # API properties overview -| Name | Description | -| :------------------------------------- | :-------------------------------------------- | -| [](../configs/activeproject_config.md) | @getshort(../configs/activeproject_config.md) | -| [](../configs/drag_config.md) | @getshort(../configs/drag_config.md) | -| [](../configs/history_config.md) | @getshort(../configs/history_config.md) | -| [](../configs/id_config.md) | @getshort(../configs/id_config.md) | -| [](../configs/locale_config.md) | @getshort(../configs/locale_config.md) | -| [](../configs/menu_config.md) | @getshort(../configs/menu_config.md) | -| [](../configs/priorities_config.md) | @getshort(../configs/priorities_config.md) | -| [](../configs/projects_config.md) | @getshort(../configs/projects_config.md) | -| [](../configs/readonly_config.md) | @getshort(../configs/readonly_config.md) | -| [](../configs/selected_config.md) | @getshort(../configs/selected_config.md) | -| [](../configs/tags_config.md) | @getshort(../configs/tags_config.md) | -| [](../configs/tasks_config.md) | @getshort(../configs/tasks_config.md) | -| [](../configs/taskshape_config.md) | @getshort(../configs/taskshape_config.md) | -| [](../configs/users_config.md) | @getshort(../configs/users_config.md) | +| Name | Description | +| :-------------------------------------- | :--------------------------------------------- | +| [activeProject](/api/configs/activeproject_config/) | @getshort(../configs/activeproject_config.md) | +| [drag](/api/configs/drag_config/) | @getshort(../configs/drag_config.md) | +| [history](/api/configs/history_config/) | @getshort(../configs/history_config.md) | +| [id](/api/configs/id_config/) | @getshort(../configs/id_config.md) | +| [locale](/api/configs/locale_config/) | @getshort(../configs/locale_config.md) | +| [menu](/api/configs/menu_config/) | @getshort(../configs/menu_config.md) | +| [priorities](/api/configs/priorities_config/) | @getshort(../configs/priorities_config.md) | +| [projects](/api/configs/projects_config/) | @getshort(../configs/projects_config.md) | +| [readonly](/api/configs/readonly_config/) | @getshort(../configs/readonly_config.md) | +| [selected](/api/configs/selected_config/) | @getshort(../configs/selected_config.md) | +| [tags](/api/configs/tags_config/) | @getshort(../configs/tags_config.md) | +| [tasks](/api/configs/tasks_config/) | @getshort(../configs/tasks_config.md) | +| [taskShape](/api/configs/taskshape_config/) | @getshort(../configs/taskshape_config.md) | +| [users](/api/configs/users_config/) | @getshort(../configs/users_config.md) | + diff --git a/docs/api/overview/events_overview.md b/docs/api/overview/events_overview.md index 2aeff5a..35d74aa 100644 --- a/docs/api/overview/events_overview.md +++ b/docs/api/overview/events_overview.md @@ -7,39 +7,39 @@ description: You can explore the API events in the documentation of the DHTMLX J # API events overview -| Name | Description | -| :---------------------------------------- | :----------------------------------------------- | -| [](../events/addproject_event.md) | @getshort(../events/addproject_event.md) | -| [](../events/addtask_event.md) | @getshort(../events/addtask_event.md) | -| [](../events/assignuser_event.md) | @getshort(../events/assignuser_event.md) | -| [](../events/checktask_event.md) | @getshort(../events/checktask_event.md) | -| [](../events/clonetask_event.md) | @getshort(../events/clonetask_event.md) | -| [](../events/closeinlineeditor_event.md) | @getshort(../events/closeinlineeditor_event.md) | -| [](../events/closemenu_event.md) | @getshort(../events/closemenu_event.md) | -| [](../events/collapsetask_event.md) | @getshort(../events/collapsetask_event.md) | -| [](../events/copytask_event.md) | @getshort(../events/copytask_event.md) | -| [](../events/deleteproject_event.md) | @getshort(../events/deleteproject_event.md) | -| [](../events/deletetask_event.md) | @getshort(../events/deletetask_event.md) | -| [](../events/drag_event.md) | @getshort(../events/drag_event.md) | -| [](../events/edititem_event.md) | @getshort(../events/edititem_event.md) | -| [](../events/enddrag_event.md) | @getshort(../events/enddrag_event.md) | -| [](../events/expandtask_event.md) | @getshort(../events/expandtask_event.md) | -| [](../events/hidecompletedtasks_event.md) | @getshort(../events/hidecompletedtasks_event.md) | -| [](../events/indenttask_event.md) | @getshort(../events/indenttask_event.md) | -| [](../events/keypressontodo_event.md) | @getshort(../events/keypressontodo_event.md) | -| [](../events/movetask_event.md) | @getshort(../events/movetask_event.md) | -| [](../events/openinlineeditor_event.md) | @getshort(../events/openinlineeditor_event.md) | -| [](../events/openmenu_event.md) | @getshort(../events/openmenu_event.md) | -| [](../events/pastetask_event.md) | @getshort(../events/pastetask_event.md) | -| [](../events/selecttask_event.md) | @getshort(../events/selecttask_event.md) | -| [](../events/setfilter_event.md) | @getshort(../events/setfilter_event.md) | -| [](../events/setproject_event.md) | @getshort(../events/setproject_event.md) | -| [](../events/setsort_event.md) | @getshort(../events/setsort_event.md) | -| [](../events/showcompletedtasks_event.md) | @getshort(../events/showcompletedtasks_event.md) | -| [](../events/startdrag_event.md) | @getshort(../events/startdrag_event.md) | -| [](../events/unassignuser_event.md) | @getshort(../events/unassignuser_event.md) | -| [](../events/unchecktask_event.md) | @getshort(../events/unchecktask_event.md) | -| [](../events/unindenttask_event.md) | @getshort(../events/unindenttask_event.md) | -| [](../events/unselecttask_event.md) | @getshort(../events/unselecttask_event.md) | -| [](../events/updateproject_event.md) | @getshort(../events/updateproject_event.md) | -| [](../events/updatetask_event.md) | @getshort(../events/updatetask_event.md) | +| Name | Description | +| :----------------------------------------- | :------------------------------------------------ | +| [add-project](/api/events/addproject_event/) | @getshort(../events/addproject_event.md) | +| [add-task](/api/events/addtask_event/) | @getshort(../events/addtask_event.md) | +| [assign-user](/api/events/assignuser_event/) | @getshort(../events/assignuser_event.md) | +| [check-task](/api/events/checktask_event/) | @getshort(../events/checktask_event.md) | +| [clone-task](/api/events/clonetask_event/) | @getshort(../events/clonetask_event.md) | +| [close-inline-editor](/api/events/closeinlineeditor_event/) | @getshort(../events/closeinlineeditor_event.md) | +| [close-menu](/api/events/closemenu_event/) | @getshort(../events/closemenu_event.md) | +| [collapse-task](/api/events/collapsetask_event/) | @getshort(../events/collapsetask_event.md) | +| [copy-task](/api/events/copytask_event/) | @getshort(../events/copytask_event.md) | +| [delete-project](/api/events/deleteproject_event/) | @getshort(../events/deleteproject_event.md) | +| [delete-task](/api/events/deletetask_event/) | @getshort(../events/deletetask_event.md) | +| [drag](/api/events/drag_event/) | @getshort(../events/drag_event.md) | +| [edit-item](/api/events/edititem_event/) | @getshort(../events/edititem_event.md) | +| [end-drag](/api/events/enddrag_event/) | @getshort(../events/enddrag_event.md) | +| [expand-task](/api/events/expandtask_event/) | @getshort(../events/expandtask_event.md) | +| [hide-completed-tasks](/api/events/hidecompletedtasks_event/) | @getshort(../events/hidecompletedtasks_event.md) | +| [indent-task](/api/events/indenttask_event/) | @getshort(../events/indenttask_event.md) | +| [keypress-on-todo](/api/events/keypressontodo_event/) | @getshort(../events/keypressontodo_event.md) | +| [move-task](/api/events/movetask_event/) | @getshort(../events/movetask_event.md) | +| [open-inline-editor](/api/events/openinlineeditor_event/) | @getshort(../events/openinlineeditor_event.md) | +| [open-menu](/api/events/openmenu_event/) | @getshort(../events/openmenu_event.md) | +| [paste-task](/api/events/pastetask_event/) | @getshort(../events/pastetask_event.md) | +| [select-task](/api/events/selecttask_event/) | @getshort(../events/selecttask_event.md) | +| [set-filter](/api/events/setfilter_event/) | @getshort(../events/setfilter_event.md) | +| [set-project](/api/events/setproject_event/) | @getshort(../events/setproject_event.md) | +| [set-sort](/api/events/setsort_event/) | @getshort(../events/setsort_event.md) | +| [show-completed-tasks](/api/events/showcompletedtasks_event/) | @getshort(../events/showcompletedtasks_event.md) | +| [start-drag](/api/events/startdrag_event/) | @getshort(../events/startdrag_event.md) | +| [unassign-user](/api/events/unassignuser_event/) | @getshort(../events/unassignuser_event.md) | +| [uncheck-task](/api/events/unchecktask_event/) | @getshort(../events/unchecktask_event.md) | +| [unindent-task](/api/events/unindenttask_event/) | @getshort(../events/unindenttask_event.md) | +| [unselect-task](/api/events/unselecttask_event/) | @getshort(../events/unselecttask_event.md) | +| [update-project](/api/events/updateproject_event/) | @getshort(../events/updateproject_event.md) | +| [update-task](/api/events/updatetask_event/) | @getshort(../events/updatetask_event.md) | diff --git a/docs/api/overview/methods_overview.md b/docs/api/overview/methods_overview.md index 4da85d5..cf853bd 100644 --- a/docs/api/overview/methods_overview.md +++ b/docs/api/overview/methods_overview.md @@ -6,48 +6,48 @@ description: You can explore the API methods in the documentation of the DHTMLX # API methods overview -| Name | Description | -| :------------------------------------------ | :------------------------------------------------- | -| [](../methods/addproject_method.md) | @getshort(../methods/addproject_method.md) | -| [](../methods/addtask_method.md) | @getshort(../methods/addtask_method.md) | -| [](../methods/assignuser_method.md) | @getshort(../methods/assignuser_method.md) | -| [](../methods/checktask_method.md) | @getshort(../methods/checktask_method.md) | -| [](../methods/closeinlineeditor_method.md) | @getshort(../methods/closeinlineeditor_method.md) | -| [](../methods/collapsetask_method.md) | @getshort(../methods/collapsetask_method.md) | -| [](../methods/copytask_method.md) | @getshort(../methods/copytask_method.md) | -| [](../methods/deleteproject_method.md) | @getshort(../methods/deleteproject_method.md) | -| [](../methods/deletetask_method.md) | @getshort(../methods/deletetask_method.md) | -| [](../methods/destructor_method.md) | @getshort(../methods/destructor_method.md) | -| [](../methods/eachselected_method.md) | @getshort(../methods/eachselected_method.md) | -| [](../methods/existsproject_method.md) | @getshort(../methods/existsproject_method.md) | -| [](../methods/existstask_method.md) | @getshort(../methods/existstask_method.md) | -| [](../methods/expandtask_method.md) | @getshort(../methods/expandtask_method.md) | -| [](../methods/getchildrenids_method.md) | @getshort(../methods/getchildrenids_method.md) | -| [](../methods/getparentids_method.md) | @getshort(../methods/getparentids_method.md) | -| [](../methods/getproject_method.md) | @getshort(../methods/getproject_method.md) | -| [](../methods/getselection_method.md) | @getshort(../methods/getselection_method.md) | -| [](../methods/gettask_method.md) | @getshort(../methods/gettask_method.md) | -| [](../methods/haschildren_method.md) | @getshort(../methods/haschildren_method.md) | -| [](../methods/hidecompletedtasks_method.md) | @getshort(../methods/hidecompletedtasks_method.md) | -| [](../methods/indenttask_method.md) | @getshort(../methods/indenttask_method.md) | -| [](../methods/movetask_method.md) | @getshort(../methods/movetask_method.md) | -| [](../methods/openinlineeditor_method.md) | @getshort(../methods/openinlineeditor_method.md) | -| [](../methods/parse_method.md) | @getshort(../methods/parse_method.md) | -| [](../methods/pastetask_method.md) | @getshort(../methods/pastetask_method.md) | -| [](../methods/redo_method.md) | @getshort(../methods/redo_method.md) | -| [](../methods/selecttask_method.md) | @getshort(../methods/selecttask_method.md) | -| [](../methods/serialize_method.md) | @getshort(../methods/serialize_method.md) | -| [](../methods/setconfig_method.md) | @getshort(../methods/setconfig_method.md) | -| [](../methods/setfilter_method.md) | @getshort(../methods/setfilter_method.md) | -| [](../methods/setlocale_method.md) | @getshort(../methods/setlocale_method.md) | -| [](../methods/setproject_method.md) | @getshort(../methods/setproject_method.md) | -| [](../methods/setsort_method.md) | @getshort(../methods/setsort_method.md) | -| [](../methods/showcompletedtasks_method.md) | @getshort(../methods/showcompletedtasks_method.md) | -| [](../methods/unassignuser_method.md) | @getshort(../methods/unassignuser_method.md) | -| [](../methods/unchecktask_method.md) | @getshort(../methods/unchecktask_method.md) | -| [](../methods/undo_method.md) | @getshort(../methods/undo_method.md) | -| [](../methods/unindenttask_method.md) | @getshort(../methods/unindenttask_method.md) | -| [](../methods/unselecttask_method.md) | @getshort(../methods/unselecttask_method.md) | -| [](../methods/updateproject_method.md) | @getshort(../methods/updateproject_method.md) | -| [](../methods/updatetask_method.md) | @getshort(../methods/updatetask_method.md) | +| Name | Description | +| :------------------------------------------------- | :--------------------------------------------------- | +| [addProject()](/api/methods/addproject_method/) | @getshort(../methods/addproject_method.md) | +| [addTask()](/api/methods/addtask_method/) | @getshort(../methods/addtask_method.md) | +| [assignUser()](/api/methods/assignuser_method/) | @getshort(../methods/assignuser_method.md) | +| [checkTask()](/api/methods/checktask_method/) | @getshort(../methods/checktask_method.md) | +| [closeInlineEditor()](/api/methods/closeinlineeditor_method/) | @getshort(../methods/closeinlineeditor_method.md) | +| [collapseTask()](/api/methods/collapsetask_method/) | @getshort(../methods/collapsetask_method.md) | +| [copyTask()](/api/methods/copytask_method/) | @getshort(../methods/copytask_method.md) | +| [deleteProject()](/api/methods/deleteproject_method/) | @getshort(../methods/deleteproject_method.md) | +| [deleteTask()](/api/methods/deletetask_method/) | @getshort(../methods/deletetask_method.md) | +| [destructor()](/api/methods/destructor_method/) | @getshort(../methods/destructor_method.md) | +| [eachSelected()](/api/methods/eachselected_method/) | @getshort(../methods/eachselected_method.md) | +| [existsProject()](/api/methods/existsproject_method/) | @getshort(../methods/existsproject_method.md) | +| [existsTask()](/api/methods/existstask_method/) | @getshort(../methods/existstask_method.md) | +| [expandTask()](/api/methods/expandtask_method/) | @getshort(../methods/expandtask_method.md) | +| [getChildrenIds()](/api/methods/getchildrenids_method/) | @getshort(../methods/getchildrenids_method.md) | +| [getParentIds()](/api/methods/getparentids_method/) | @getshort(../methods/getparentids_method.md) | +| [getProject()](/api/methods/getproject_method/) | @getshort(../methods/getproject_method.md) | +| [getSelection()](/api/methods/getselection_method/) | @getshort(../methods/getselection_method.md) | +| [getTask()](/api/methods/gettask_method/) | @getshort(../methods/gettask_method.md) | +| [hasChildren()](/api/methods/haschildren_method/) | @getshort(../methods/haschildren_method.md) | +| [hideCompletedTasks()](/api/methods/hidecompletedtasks_method/) | @getshort(../methods/hidecompletedtasks_method.md) | +| [indentTask()](/api/methods/indenttask_method/) | @getshort(../methods/indenttask_method.md) | +| [moveTask()](/api/methods/movetask_method/) | @getshort(../methods/movetask_method.md) | +| [openInlineEditor()](/api/methods/openinlineeditor_method/) | @getshort(../methods/openinlineeditor_method.md) | +| [parse()](/api/methods/parse_method/) | @getshort(../methods/parse_method.md) | +| [pasteTask()](/api/methods/pastetask_method/) | @getshort(../methods/pastetask_method.md) | +| [redo()](/api/methods/redo_method/) | @getshort(../methods/redo_method.md) | +| [selectTask()](/api/methods/selecttask_method/) | @getshort(../methods/selecttask_method.md) | +| [serialize()](/api/methods/serialize_method/) | @getshort(../methods/serialize_method.md) | +| [setConfig()](/api/methods/setconfig_method/) | @getshort(../methods/setconfig_method.md) | +| [setFilter()](/api/methods/setfilter_method/) | @getshort(../methods/setfilter_method.md) | +| [setLocale()](/api/methods/setlocale_method/) | @getshort(../methods/setlocale_method.md) | +| [setProject()](/api/methods/setproject_method/) | @getshort(../methods/setproject_method.md) | +| [setSort()](/api/methods/setsort_method/) | @getshort(../methods/setsort_method.md) | +| [showCompletedTasks()](/api/methods/showcompletedtasks_method/) | @getshort(../methods/showcompletedtasks_method.md) | +| [unassignUser()](/api/methods/unassignuser_method/) | @getshort(../methods/unassignuser_method.md) | +| [uncheckTask()](/api/methods/unchecktask_method/) | @getshort(../methods/unchecktask_method.md) | +| [undo()](/api/methods/undo_method/) | @getshort(../methods/undo_method.md) | +| [unindentTask()](/api/methods/unindenttask_method/) | @getshort(../methods/unindenttask_method.md) | +| [unselectTask()](/api/methods/unselecttask_method/) | @getshort(../methods/unselecttask_method.md) | +| [updateProject()](/api/methods/updateproject_method/) | @getshort(../methods/updateproject_method.md) | +| [updateTask()](/api/methods/updatetask_method/) | @getshort(../methods/updatetask_method.md) | diff --git a/docs/api/rest_api/methods/getprojects_method.md b/docs/api/rest_api/methods/getprojects_method.md index 88fce0c..e63ed13 100644 --- a/docs/api/rest_api/methods/getprojects_method.md +++ b/docs/api/rest_api/methods/getprojects_method.md @@ -53,4 +53,4 @@ Promise.all([ ~~~ --- -**Related articles**: [Working with Server](guides/working_with_server.md) \ No newline at end of file +**Related articles**: [Working with Server](/guides/working_with_server/) \ No newline at end of file diff --git a/docs/api/rest_api/methods/getprojecttasks_method.md b/docs/api/rest_api/methods/getprojecttasks_method.md index ceecb2a..0bd081b 100644 --- a/docs/api/rest_api/methods/getprojecttasks_method.md +++ b/docs/api/rest_api/methods/getprojecttasks_method.md @@ -59,4 +59,4 @@ Promise.all([ ~~~ --- -**Related articles**: [Working with Server](guides/working_with_server.md) \ No newline at end of file +**Related articles**: [Working with Server](/guides/working_with_server/) \ No newline at end of file diff --git a/docs/api/rest_api/methods/gettags_method.md b/docs/api/rest_api/methods/gettags_method.md index 8a0e082..cdfac4c 100644 --- a/docs/api/rest_api/methods/gettags_method.md +++ b/docs/api/rest_api/methods/gettags_method.md @@ -55,4 +55,4 @@ Promise.all([ ~~~ --- -**Related articles**: [Working with Server](guides/working_with_server.md) \ No newline at end of file +**Related articles**: [Working with Server](/guides/working_with_server/) \ No newline at end of file diff --git a/docs/api/rest_api/methods/gettasks_method.md b/docs/api/rest_api/methods/gettasks_method.md index 7ec7402..d794945 100644 --- a/docs/api/rest_api/methods/gettasks_method.md +++ b/docs/api/rest_api/methods/gettasks_method.md @@ -52,4 +52,4 @@ Promise.all([ ~~~ --- -**Related articles**: [Working with Server](guides/working_with_server.md) \ No newline at end of file +**Related articles**: [Working with Server](/guides/working_with_server/) \ No newline at end of file diff --git a/docs/api/rest_api/methods/getusers_method.md b/docs/api/rest_api/methods/getusers_method.md index fcbc502..174222b 100644 --- a/docs/api/rest_api/methods/getusers_method.md +++ b/docs/api/rest_api/methods/getusers_method.md @@ -56,4 +56,4 @@ Promise.all([ --- -**Related articles**: [Working with Server](guides/working_with_server.md) \ No newline at end of file +**Related articles**: [Working with Server](/guides/working_with_server/) \ No newline at end of file diff --git a/docs/api/rest_api/methods/send_method.md b/docs/api/rest_api/methods/send_method.md index 54fdead..371e9a5 100644 --- a/docs/api/rest_api/methods/send_method.md +++ b/docs/api/rest_api/methods/send_method.md @@ -10,7 +10,7 @@ description: You can learn about the send method of the RestDataProvider in the @short: Sends a necessary HTTP request to the server and returns a promise with or without data depending on the request -All requests to the server are made with the **send()** method which is a part of the [**RestDataProvider**](guides/working_with_server.md/#restdataprovider) service. +All requests to the server are made with the **send()** method which is a part of the [**RestDataProvider**](/guides/working_with_server/#restdataprovider) service. ### Usage @@ -125,4 +125,4 @@ MyDataProvider.setAPI(list.api); ~~~ --- -**Related articles**: [Working with Server](guides/working_with_server.md) \ No newline at end of file +**Related articles**: [Working with Server](/guides/working_with_server/) \ No newline at end of file diff --git a/docs/api/rest_api/methods/setapi_method.md b/docs/api/rest_api/methods/setapi_method.md index 32c5d5f..05befab 100644 --- a/docs/api/rest_api/methods/setapi_method.md +++ b/docs/api/rest_api/methods/setapi_method.md @@ -58,4 +58,4 @@ Promise.all([ --- -**Related articles**: [Working with Server](guides/working_with_server.md) \ No newline at end of file +**Related articles**: [Working with Server](/guides/working_with_server/) \ No newline at end of file diff --git a/docs/api/rest_api/routes/delete_routes/delete_projects.md b/docs/api/rest_api/routes/delete_routes/delete_projects.md index e727455..3e3616a 100644 --- a/docs/api/rest_api/routes/delete_routes/delete_projects.md +++ b/docs/api/rest_api/routes/delete_routes/delete_projects.md @@ -55,6 +55,6 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [send()](api/rest_api/methods/send_method.md) -- [deleteProject()](api/methods/deleteproject_method.md) -- [Working with Server](guides/working_with_server.md) +- [send()](/api/rest_api/methods/send_method/) +- [deleteProject()](/api/methods/deleteproject_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/delete_routes/delete_tasks.md b/docs/api/rest_api/routes/delete_routes/delete_tasks.md index e96ceb8..5cdf058 100644 --- a/docs/api/rest_api/routes/delete_routes/delete_tasks.md +++ b/docs/api/rest_api/routes/delete_routes/delete_tasks.md @@ -65,6 +65,6 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [send()](api/rest_api/methods/send_method.md) -- [deleteTasks()](api/methods/deletetask_method.md) -- [Working with Server](guides/working_with_server.md) +- [send()](/api/rest_api/methods/send_method/) +- [deleteTasks()](/api/methods/deletetask_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/get_routes/get_projects.md b/docs/api/rest_api/routes/get_routes/get_projects.md index c8d4e52..e393a23 100644 --- a/docs/api/rest_api/routes/get_routes/get_projects.md +++ b/docs/api/rest_api/routes/get_routes/get_projects.md @@ -32,7 +32,7 @@ No payload is required. ### Response The route returns a json object with an array of all projects objects. -For an example of the returned object, go to [**projects**](api/configs/projects_config.md). +For an example of the returned object, go to [**projects**](/api/configs/projects_config/). The HTTP status code shows whether the request succeeds (response.status == 200) or fails (response.status == 500). @@ -40,5 +40,5 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [getProjects()](api/rest_api/methods/getprojects_method.md) -- [Working with Server](guides/working_with_server.md) +- [getProjects()](/api/rest_api/methods/getprojects_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/get_routes/get_projecttasks.md b/docs/api/rest_api/routes/get_routes/get_projecttasks.md index e867c05..a5f7f39 100644 --- a/docs/api/rest_api/routes/get_routes/get_projecttasks.md +++ b/docs/api/rest_api/routes/get_routes/get_projecttasks.md @@ -42,7 +42,7 @@ No payload is required. ### Response The route returns a json object with an array that contains data for all tasks of the specified project. -You can find an example of the object that is returned here: [**tasks**](api/configs/tasks_config.md). +You can find an example of the object that is returned here: [**tasks**](/api/configs/tasks_config/). The HTTP status code shows whether the request succeeds (response.status == 200) or fails (response.status == 500). @@ -50,5 +50,5 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [getProjectTasks()](api/rest_api/methods/getprojecttasks_method.md) -- [Working with Server](guides/working_with_server.md) +- [getProjectTasks()](/api/rest_api/methods/getprojecttasks_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/get_routes/get_tags.md b/docs/api/rest_api/routes/get_routes/get_tags.md index dac131a..43bb4f0 100644 --- a/docs/api/rest_api/routes/get_routes/get_tags.md +++ b/docs/api/rest_api/routes/get_routes/get_tags.md @@ -32,7 +32,7 @@ No payload is required. ### Response The route returns a json object with an array of all default tags. -You can find an example of the object that is returned in the [**tags**](api/configs/tags_config.md) section. +You can find an example of the object that is returned in the [**tags**](/api/configs/tags_config) section. The HTTP status code shows whether the request succeeds (response.status == 200) or fails (response.status == 500). @@ -40,5 +40,5 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [getTags()](api/rest_api/methods/gettags_method.md) -- [Working with Server](guides/working_with_server.md) +- [getTags()](/api/rest_api/methods/gettags_method) +- [Working with Server](/guides/working_with_server) diff --git a/docs/api/rest_api/routes/get_routes/get_tasks.md b/docs/api/rest_api/routes/get_routes/get_tasks.md index 596ae08..4618ddd 100644 --- a/docs/api/rest_api/routes/get_routes/get_tasks.md +++ b/docs/api/rest_api/routes/get_routes/get_tasks.md @@ -32,12 +32,12 @@ No payload is required. ### Response The route returns a json object with an array of all tasks objects. -You can look up an example of the tasks object in the [**tasks**](api/configs/tasks_config.md) section.
+You can look up an example of the tasks object in the [**tasks**](/api/configs/tasks_config/) section.
The HTTP status code shows whether the request succeeds (response.status == 200) or fails (response.status == 500). --- **Related articles**: -- [getTasks()](api/rest_api/methods/gettasks_method.md) -- [Working with Server](guides/working_with_server.md) +- [getTasks()](/api/rest_api/methods/gettasks_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/get_routes/get_users.md b/docs/api/rest_api/routes/get_routes/get_users.md index 6f52527..1fe29de 100644 --- a/docs/api/rest_api/routes/get_routes/get_users.md +++ b/docs/api/rest_api/routes/get_routes/get_users.md @@ -32,12 +32,12 @@ No payload is required. ### Response The route returns a json object with an array of all users objects.
-Look up an example of the users object in the [**users**](api/configs/users_config.md) section.
+Look up an example of the users object in the [**users**](/api/configs/users_config/) section.
The HTTP status code shows whether the request succeeds (response.status == 200) or fails (response.status == 500). --- **Related articles**: -- [getUsers()](api/rest_api/methods/getusers_method.md) -- [Working with Server](guides/working_with_server.md) +- [getUsers()](/api/rest_api/methods/getusers_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/post_routes/post_clone.md b/docs/api/rest_api/routes/post_routes/post_clone.md index f6137eb..8ce1c49 100644 --- a/docs/api/rest_api/routes/post_routes/post_clone.md +++ b/docs/api/rest_api/routes/post_routes/post_clone.md @@ -83,14 +83,14 @@ Example: ### Response -The route returns a json object with the client task ID and duplicated task ID of the server.
+The route returns a json object with the client task ID and duplicated task ID of the server.
Client tasks IDs are temporary IDs received in the requests and values are new tasks IDs generated during data saving. Example: ~~~json { - //“clientId”: serverId, + //"clientId": serverId, "temp://1667215197027": 62, "temp://1667215197028": 63, "temp://1667215197029": 65, @@ -103,8 +103,8 @@ The HTTP status code shows whether the request succeeds (response.status == 200) --- **Related articles**: -- [clone-task](api/events/clonetask_event.md) -- [copyTask()](api/methods/copytask_method.md) -- [pasteTask()](api/methods/pastetask_method.md) -- [send()](api/rest_api/methods/send_method.md) -- [Working with Server](guides/working_with_server.md) +- [clone-task](/api/events/clonetask_event/) +- [copyTask()](/api/methods/copytask_method/) +- [pasteTask()](/api/methods/pastetask_method/) +- [send()](/api/rest_api/methods/send_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/post_routes/post_projects.md b/docs/api/rest_api/routes/post_routes/post_projects.md index eea5e4e..cdcda28 100644 --- a/docs/api/rest_api/routes/post_routes/post_projects.md +++ b/docs/api/rest_api/routes/post_routes/post_projects.md @@ -63,6 +63,6 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [send()](api/rest_api/methods/send_method.md) -- [addProject()](api/methods/addproject_method.md) -- [Working with Server](guides/working_with_server.md) +- [send()](/api/rest_api/methods/send_method/) +- [addProject()](/api/methods/addproject_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/post_routes/post_tasks.md b/docs/api/rest_api/routes/post_routes/post_tasks.md index 66cf172..8b6b74c 100644 --- a/docs/api/rest_api/routes/post_routes/post_tasks.md +++ b/docs/api/rest_api/routes/post_routes/post_tasks.md @@ -36,7 +36,7 @@ The server side expects to receive a json object with the next properties: | `parent` | number | *Optional*. The ID of the parent task.| | `project` | number | *Optional*. The ID of the project to which a new task should be added.| | `reverse` | boolean | *Optional*. Defines the position where a new task will be added: **true**, if the task is added before the target task; otherwise, **false** (default).| -| `task` | object | *Required*. The task object an example of which you can find here [**tasks**](api/configs/tasks_config.md).| +| `task` | object | *Required*. The task object an example of which you can find here [**tasks**](/api/configs/tasks_config/).| Example: @@ -73,6 +73,6 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Change log**: The `id` parameter was added in v1.3 **Related articles**: -- [send()](api/rest_api/methods/send_method.md) -- [addTask()](api/methods/addtask_method.md) -- [Working with Server](guides/working_with_server.md) +- [send()](/api/rest_api/methods/send_method/) +- [addTask()](/api/methods/addtask_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/put_routes/put_move.md b/docs/api/rest_api/routes/put_routes/put_move.md index 58e66d7..fe3e634 100644 --- a/docs/api/rest_api/routes/put_routes/put_move.md +++ b/docs/api/rest_api/routes/put_routes/put_move.md @@ -50,7 +50,7 @@ The server expects to receive a json object with the next properties: | `parent` | number | *Optional*. The ID of the parent task.| | `project` | number | *Optional*. The ID of the project to which a task belongs to.| | `targetId` | number | *Optional*. The ID of the target task where the moved task will be pasted.| -| `operation`| string | *Required*. A server-specific parameter. It indicates the operation type. Available operation types: "null" - moves a task to a specified position within the current project (see [**"move-task"**](api/methods/movetask_method.md)), [**"indent"**](api/methods/indenttask_method.md), [**"unindent"**](api/methods/unindenttask_method.md), **"project"** - moves a task to another project (see [**"move-task"**](api/methods/movetask_method.md)).
If a task is moved within one project (operation === null), the operation property is not mandatory in the payload.| +| `operation`| string | *Required*. A server-specific parameter. It indicates the operation type. Available operation types: "null" - moves a task to a specified position within the current project (see [**"move-task"**](/api/methods/movetask_method/)), [**"indent"**](/api/methods/indenttask_method/), [**"unindent"**](/api/methods/unindenttask_method/), **"project"** - moves a task to another project (see [**"move-task"**](/api/methods/movetask_method/)).
If a task is moved within one project (operation === null), the operation property is not mandatory in the payload.| | `reverse` | boolean | *Optional*. The position where a task will be moved: before the target task (true) or after it (false by default).| | `batch` | object | *Required*. An array of IDs of all tasks that are moved. If a task has child items, only the task parent ID is included into the object.| @@ -193,6 +193,6 @@ In case of the success status, an empty json object is returned. --- **Related articles**: -- [move-task](api/events/movetask_event.md) -- [send()](api/rest_api/methods/send_method.md) -- [Working with Server](guides/working_with_server.md) +- [move-task](/api/events/movetask_event/) +- [send()](/api/rest_api/methods/send_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/put_routes/put_projects.md b/docs/api/rest_api/routes/put_routes/put_projects.md index 65dd246..790953f 100644 --- a/docs/api/rest_api/routes/put_routes/put_projects.md +++ b/docs/api/rest_api/routes/put_routes/put_projects.md @@ -47,7 +47,7 @@ Example: } ~~~ -You can find another example of the project object in the [**projects**](api/configs/projects_config.md) section. +You can find another example of the project object in the [**projects**](/api/configs/projects_config/) section. ### Response @@ -59,6 +59,6 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [updateProject()](api/methods/updateproject_method.md) -- [send()](api/rest_api/methods/send_method.md) -- [Working with Server](guides/working_with_server.md) +- [updateProject()](/api/methods/updateproject_method/) +- [send()](/api/rest_api/methods/send_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/put_routes/put_sort.md b/docs/api/rest_api/routes/put_routes/put_sort.md index 33d745e..5b4e75b 100644 --- a/docs/api/rest_api/routes/put_routes/put_sort.md +++ b/docs/api/rest_api/routes/put_routes/put_sort.md @@ -61,6 +61,6 @@ The HTTP status code shows whether the request succeeds (response.status == 200) --- **Related articles**: -- [send()](api/rest_api/methods/send_method.md) -- [setSort()](api/methods/setsort_method.md) -- [Working with Server](guides/working_with_server.md) +- [send()](/api/rest_api/methods/send_method/) +- [setSort()](/api/methods/setsort_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/put_routes/put_tasks.md b/docs/api/rest_api/routes/put_routes/put_tasks.md index 1764bcf..b3aba2e 100644 --- a/docs/api/rest_api/routes/put_routes/put_tasks.md +++ b/docs/api/rest_api/routes/put_routes/put_tasks.md @@ -54,9 +54,9 @@ Example: } ~~~ -You can find another example of the task object in the [**tasks**](api/configs/tasks_config.md) section. +You can find another example of the task object in the [**tasks**](/api/configs/tasks_config/) section. -To update multiple tasks with one request, you should add an array of tasks objects with necessary changes to the **batch** object in the request body.
In this case the task ID in the request line is also mandatory with all task parameters that precede the **batch** object in the request body. +To update multiple tasks with one request, you should add an array of tasks objects with necessary changes to the **batch** object in the request body.
In this case the task ID in the request line is also mandatory with all task parameters that precede the **batch** object in the request body. Example: @@ -100,6 +100,6 @@ The HTTP status code shows whether the request succeeds (response.status == 200) **Related articles**: -- [updateTask()](api/methods/updatetask_method.md) -- [send()](api/rest_api/methods/send_method.md) -- [Working with Server](guides/working_with_server.md) +- [updateTask()](/api/methods/updatetask_method/) +- [send()](/api/rest_api/methods/send_method/) +- [Working with Server](/guides/working_with_server/) diff --git a/docs/api/rest_api/routes/rest_routes_overview.md b/docs/api/rest_api/routes/rest_routes_overview.md index c5a783b..fe58382 100644 --- a/docs/api/rest_api/routes/rest_routes_overview.md +++ b/docs/api/rest_api/routes/rest_routes_overview.md @@ -9,7 +9,7 @@ description: You can have the REST routes overview of the DHTMLX JavaScript To D import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -This page gives you the list of all REST routes with their short description and links to pages with more details.
Before you dive into each route description, it's recommended to read about [Working with Server](guides/working_with_server.md). +This page gives you the list of all REST routes with their short description and links to pages with more details.
Before you dive into each route description, it's recommended to read about [Working with Server](/guides/working_with_server/). --- @@ -38,42 +38,42 @@ For quick navigation you can use either of the two tabs below: `GET` - /tasks + /tasks Gets data on all tasks and returns a json object with an array of tasks objects `GET` - /project/tasks + /project/tasks Gets data on all tasks of the specified project and returns a json object with an array of all tasks objects for this specified project `POST` - /tasks + /tasks Creates a new task and returns a task object with the ID of a new task `POST` - /clone + /clone Creates a copy of a task and returns a json object with the client task ID and duplicated task ID of the server `PUT` - /tasks + /tasks Updates data on the specified task(s) and returns an empty json object `PUT` - /move + /move Moves a task to the specified position and returns an empty json object `PUT` - /sort + /sort Sorts all tasks of an active project by the specified parameters and returns an empty json object `DELETE` - /tasks + /tasks Deletes data on a task and returns an empty json object @@ -94,21 +94,21 @@ For quick navigation you can use either of the two tabs below: `GET` - /projects + /projects Gets data on all projects and returns a json object with an array of projects objects `POST` - /projects + /projects Creates a new project and returns a project object with the project ID in it `PUT` - /projectsUpdates data on a project and returns an empty json object + /projectsUpdates data on a project and returns an empty json object `DELETE` - /projects + /projects Deletes data on a project and returns an empty json object @@ -128,7 +128,7 @@ For quick navigation you can use either of the two tabs below: `GET` - /users + /users Gets data on all users and returns a json object with an array of users objects @@ -148,7 +148,7 @@ For quick navigation you can use either of the two tabs below: `GET` - /tags + /tags Gets data on all tags and returns a json object with an array of these tags @@ -172,23 +172,23 @@ For quick navigation you can use either of the two tabs below: -GET /users +GET /users Returns a json object with an array of all users objects -GET /tasks +GET /tasks Returns a json object with an array of all tasks objects -GET /projects +GET /projects Returns a json object with an array of all available projects objects -GET /tags +GET /tags Returns a json object with an array of all default tags -GET /project/tasks +GET /project/tasks Returns a json object with an array of all tasks objects for the specified project @@ -206,15 +206,15 @@ For quick navigation you can use either of the two tabs below: -POST /clone +POST /clone Returns a json object with the client task ID and duplicated task ID of the server. -POST /projects +POST /projects Returns a new project object with the project ID in it -POST /tasks +POST /tasks Returns a new task object with the ID of a new task @@ -230,19 +230,19 @@ For quick navigation you can use either of the two tabs below: -PUT /move +PUT /move Returns an empty json object in case tasks are successfully moved as requested -PUT /sort +PUT /sort Returns an empty json object in case tasks are sorted as requested -PUT /tasks +PUT /tasks Returns an empty json object in case a task is modified as requested -PUT /projectsReturns an empty json object in case a project is modified as requested +PUT /projectsReturns an empty json object in case a project is modified as requested @@ -258,11 +258,11 @@ For quick navigation you can use either of the two tabs below: -DELETE /tasks +DELETE /tasks Returns an empty json object in case a task is successfully removed -DELETE /projects +DELETE /projects Returns an empty json object in case a project is successfully removed diff --git a/docs/api/toolbar_api/configs/api_config.md b/docs/api/toolbar_api/configs/api_config.md index 5c097e1..b6cf997 100644 --- a/docs/api/toolbar_api/configs/api_config.md +++ b/docs/api/toolbar_api/configs/api_config.md @@ -38,4 +38,4 @@ const toolbar = new Toolbar("#toolbar", { ~~~ **Related article:** -- [Initialization](guides/initialization.md) \ No newline at end of file +- [Initialization](/guides/initialization/) \ No newline at end of file diff --git a/docs/api/toolbar_api/configs/items_config.md b/docs/api/toolbar_api/configs/items_config.md index 2d128be..1b06182 100644 --- a/docs/api/toolbar_api/configs/items_config.md +++ b/docs/api/toolbar_api/configs/items_config.md @@ -80,5 +80,5 @@ const toolbar = new Toolbar("#toolbar", { **Change log:** The `"undo"` and `"redo"` parameters were added in v1.3 **Related articles:** -- [Configuration](guides/configuration.md#toolbar) -- [Customization](guides/customization.md#toolbar) +- [Configuration](/guides/configuration/#toolbar) +- [Customization](/guides/customization/#toolbar) diff --git a/docs/api/toolbar_api/configs/locale_config.md b/docs/api/toolbar_api/configs/locale_config.md index 6c1f5a3..e8cf4a2 100644 --- a/docs/api/toolbar_api/configs/locale_config.md +++ b/docs/api/toolbar_api/configs/locale_config.md @@ -18,7 +18,7 @@ locale?: object; ### Default config -By default, Toolbar of DHTMLX To Do List uses [English locale](guides/localization.md#default-locale). +By default, Toolbar of DHTMLX To Do List uses [English locale](/guides/localization/#default-locale). ~~~js locale: en @@ -50,7 +50,7 @@ Toolbar is a separate component of To Do List. Thus, before applying the necessa ::: :::tip -To change the locale dynamically, use the [`setLocale()`](api/toolbar_api/methods/setlocale_method.md) method +To change the locale dynamically, use the [`setLocale()`](/api/toolbar_api/methods/setlocale_method/) method ::: -**Related article:** [Localization](guides/localization.md) \ No newline at end of file +**Related article:** [Localization](/guides/localization/) \ No newline at end of file diff --git a/docs/api/toolbar_api/methods/setconfig_method.md b/docs/api/toolbar_api/methods/setconfig_method.md index 0747fdb..4654e07 100644 --- a/docs/api/toolbar_api/methods/setconfig_method.md +++ b/docs/api/toolbar_api/methods/setconfig_method.md @@ -19,7 +19,7 @@ setConfig(config: object): void; ### Parameters -- `config` - (required) an object with Toolbar configurations. See the full list of properties [here](category/toolbar-properties.md) +- `config` - (required) an object with Toolbar configurations. See the full list of properties [here](/category/toolbar-properties/) ### Example diff --git a/docs/api/toolbar_api/methods/setlocale_method.md b/docs/api/toolbar_api/methods/setlocale_method.md index f405804..4e65d3e 100644 --- a/docs/api/toolbar_api/methods/setlocale_method.md +++ b/docs/api/toolbar_api/methods/setlocale_method.md @@ -131,7 +131,7 @@ toolbar.setLocale(de, list.api); ~~~ :::info -The **Toolbar** of the To Do List is a separate component. Before changing its locale, be sure that you have already applied the [`setLocale()`](api/toolbar_api/methods/setlocale_method.md) method to the **To Do List** component +The **Toolbar** of the To Do List is a separate component. Before changing its locale, be sure that you have already applied the [`setLocale()`](/api/toolbar_api/methods/setlocale_method/) method to the **To Do List** component ::: -**Related article:** [Localization](guides/localization.md) \ No newline at end of file +**Related article:** [Localization](/guides/localization/) \ No newline at end of file diff --git a/docs/guides/configuration.md b/docs/guides/configuration.md index 29ccd98..d4be765 100644 --- a/docs/guides/configuration.md +++ b/docs/guides/configuration.md @@ -22,11 +22,11 @@ You can also configure the mode of [hiding completed tasks](#mode-of-hiding-comp You can change the type of the counter which renders the progress of completion of the child tasks. -![counter](../assets/counter.png) +![counter](/assets/counter.png) By default, each parent task is equipped with the counter whose value is shown as a ratio of completed child tasks and the total number of the child tasks. -If you want the value of the counter to be displayed as a percentage, specify the *type: "percentage"* attribute inside the **counter** parameter of the [`taskShape`](api/configs/taskshape_config.md) property: +If you want the value of the counter to be displayed as a percentage, specify the *type: "percentage"* attribute inside the **counter** parameter of the [`taskShape`](/api/configs/taskshape_config/) property: ~~~js {5-9} const list = new ToDo("#root", { @@ -45,7 +45,7 @@ const list = new ToDo("#root", { ### Date format -By default, the To Do List displays dates in the "%d %M %Y" format (it looks like 09 Mar 2033). If you want to specify another format for dates, use the **date** parameter of the [`taskShape`](api/configs/taskshape_config.md) property: +By default, the To Do List displays dates in the "%d %M %Y" format (it looks like 09 Mar 2033). If you want to specify another format for dates, use the **date** parameter of the [`taskShape`](/api/configs/taskshape_config/) property: ~~~js {5-10} const list = new ToDo("#root", { @@ -63,13 +63,13 @@ const list = new ToDo("#root", { **Related sample:** [To do list. Subtask counter and date format](https://snippet.dhtmlx.com/magidhw8) -Check [the list of available characters](api/configs/taskshape_config.md#list-of-characters). +Check [the list of available characters](/api/configs/taskshape_config/#list-of-characters). ### Drag-n-drop The default configuration of To Do List includes the drag-n-drop functionality. You can [select one or several tasks](../../#selecting-tasks) and drag the selected tasks vertically at once. If you need to create a copy of the selected tasks, hold the *Alt* key during drag-n-drop. -There is the [`drag`](api/configs/drag_config.md) property which allows you: +There is the [`drag`](/api/configs/drag_config/) property which allows you: - to configure the behavior of the collapsed tasks so that they don't expand when you hover them over during drag-n-drop: @@ -99,17 +99,17 @@ const list = new ToDo("#root", { ### Due date validation -If you specify a [due date](api/configs/tasks_config.md) for a task, the due date validation will track the completion of the task. The due date of the task has green color until the task becomes Overdue. +If you specify a [due date](/api/configs/tasks_config/) for a task, the due date validation will track the completion of the task. The due date of the task has green color until the task becomes Overdue. -![due_date](../assets/due_date.png) +![due_date](/assets/due_date.png) The dates of the tasks which have not been completed on the due date are highlighted in red. -![due_date](../assets/overdue_task.png) +![due_date](/assets/overdue_task.png) This validation works by default. -In case you want to disable this functionality, specify the **validate** setting inside the *date* parameter of the [`taskShape`](api/configs/taskshape_config.md) property to *false*: +In case you want to disable this functionality, specify the **validate** setting inside the *date* parameter of the [`taskShape`](/api/configs/taskshape_config/) property to *false*: ~~~js {5-10} const list = new ToDo("#root", { @@ -136,7 +136,7 @@ By default, the process of checking/unchecking tasks is implemented in the "auto - If you mark at least one child of a completed task as uncompleted, the task automatically becomes marked as uncompleted - If you mark the parent task as uncompleted, all its child automatically become uncompleted -You can disable this behavior and activate the "manual" mode. For that, apply the **behavior: "manual"** setting of the **completed** parameter of the [`taskShape`](api/configs/taskshape_config.md) property: +You can disable this behavior and activate the "manual" mode. For that, apply the **behavior: "manual"** setting of the **completed** parameter of the [`taskShape`](/api/configs/taskshape_config/) property: ~~~js {5-9} const list = new ToDo("#root", { @@ -155,9 +155,9 @@ const list = new ToDo("#root", { ## Toolbar -The toolbar is a top part of To Do List which is [initialized](guides/initialization.md#initialize-toolbar) and [configured](category/toolbar-properties.md) separately from To Do List. +The toolbar is a top part of To Do List which is [initialized](/guides/initialization/#initialize-toolbar) and [configured](/category/toolbar-properties.md) separately from To Do List. -To change the default structure of the toolbar, use the [`items`](api/toolbar_api/configs/items_config.md) configuration property of the Toolbar component. +To change the default structure of the toolbar, use the [`items`](/api/toolbar_api/configs/items_config/) configuration property of the Toolbar component. ~~~js const toolbar = new Toolbar("#toolbar", { @@ -170,8 +170,8 @@ The property allows you to define which controls should be shown or hidden. Besi ## Mode of hiding completed tasks -Read the details on how to hide completed tasks from To Do List in the [related section](guides/hide_completed_tasks.md). +Read the details on how to hide completed tasks from To Do List in the [related section](/guides/hide_completed_tasks/). ## Read-only mode -Read the details on how to make the To Do List read-only in the [related section](guides/readonly_mode.md). +Read the details on how to make the To Do List read-only in the [related section](/guides/readonly_mode/). diff --git a/docs/guides/customization.md b/docs/guides/customization.md index 3c3bd5b..4679cfb 100644 --- a/docs/guides/customization.md +++ b/docs/guides/customization.md @@ -8,7 +8,7 @@ description: You can learn about the To Do List Customization in the documentati ## Toolbar -It is possible to customize the appearance of the toolbar. You can hide some default controls, add custom ones, and place them in the necessary order. To do that, use the [`items`](api/toolbar_api/configs/items_config.md) property of the Toolbar component. +It is possible to customize the appearance of the toolbar. You can hide some default controls, add custom ones, and place them in the necessary order. To do that, use the [`items`](/api/toolbar_api/configs/items_config/) property of the Toolbar component. You can customize your toolbar as in: @@ -16,7 +16,7 @@ You can customize your toolbar as in: ## Styling To Do List -You can change the look and feel of To Do List by changing values of the [**CSS variables provided by the library**](guides/stylization.md). +You can change the look and feel of To Do List by changing values of the [**CSS variables provided by the library**](/guides/stylization/). Check the example: diff --git a/docs/guides/hide_completed_tasks.md b/docs/guides/hide_completed_tasks.md index 0a78f0d..a975b8e 100644 --- a/docs/guides/hide_completed_tasks.md +++ b/docs/guides/hide_completed_tasks.md @@ -13,7 +13,7 @@ There are two modes of displaying tasks in To Do List: - when all tasks are shown on the page (*default*) - when completed tasks are hidden from the page -You may initialize To Do List in the mode when all completed tasks will be hidden from the page. It will let you focus only on those tasks which yet need to be done. For that, you need to enable the **taskHide** setting of the **completed** parameter of the [`taskShape`](api/configs/taskshape_config.md) property, as in: +You may initialize To Do List in the mode when all completed tasks will be hidden from the page. It will let you focus only on those tasks which yet need to be done. For that, you need to enable the **taskHide** setting of the **completed** parameter of the [`taskShape`](/api/configs/taskshape_config/) property, as in: ~~~js {6} const list = new ToDo("#root", { @@ -33,7 +33,7 @@ You may easily switch between these two modes after initialization of To Do List - via the **Completed tasks -> Show/Hide** option of the [Toolbar menu](../../#toolbar) -- via the related [`hideCompletedTasks()`](api/methods/hidecompletedtasks_method.md) and [`showCompletedTasks()`](api/methods/showcompletedtasks_method.md) methods: +- via the related [`hideCompletedTasks()`](/api/methods/hidecompletedtasks_method/) and [`showCompletedTasks()`](/api/methods/showcompletedtasks_method/) methods: ~~~js list.hideCompletedTasks(); diff --git a/docs/guides/initialization.md b/docs/guides/initialization.md index d594e93..c002697 100644 --- a/docs/guides/initialization.md +++ b/docs/guides/initialization.md @@ -50,7 +50,7 @@ Thus, create **two containers** to place a List and Toolbar into and give them I After that, initialize List with the **new ToDo()** constructor. It takes two parameters: - a container to place a List into. The one we have created at the previous step -- an object with configuration properties. [See the full list here](api/overview/configs_overview.md) +- an object with configuration properties. [See the full list here](/api/overview/configs_overview/) ~~~js title="index.js" const { ToDo, Toolbar } = todo; // apply the object destructuring @@ -66,7 +66,7 @@ const list = new ToDo("#root", { Next, initialize Toolbar with the **new Toolbar()** constructor. The constructor also takes two parameters: - a container to place a Toolbar into. The one we have created at the previous step -- an object with configuration properties. [See the full list here](category/toolbar-properties.md) +- an object with configuration properties. [See the full list here](/category/toolbar-properties/) :::info Initialization of the Toolbar is optional. You can skip this step if you don't need the Toolbar in your application @@ -94,7 +94,7 @@ You don't need this step if you will use the **new todo.ToDo()** and **new todo. ## Loading data into To Do List -Detailed information on loading data into DHTMLX To Do is given in the [Data loading](guides/loading_data.md) article. +Detailed information on loading data into DHTMLX To Do is given in the [Data loading](/guides/loading_data/) article. ## Example diff --git a/docs/guides/inline_editing.md b/docs/guides/inline_editing.md index 1d3d21b..227e11d 100644 --- a/docs/guides/inline_editing.md +++ b/docs/guides/inline_editing.md @@ -9,7 +9,7 @@ description: You can learn about inline editing in the documentation of the DHTM Inline editing lets you edit the content of a task/project directly by double-clicking on it. The functionality is enabled by default. :::tip -When you enable the [**readonly**](api/configs/readonly_config.md) mode of To Do List, inline editing becomes unavailable. +When you enable the [**readonly**](/api/configs/readonly_config/) mode of To Do List, inline editing becomes unavailable. ::: ## Supported formats of data @@ -30,7 +30,7 @@ Use hashtags to categorize tasks and make them more searchable. Here are some si - To activate strict filtering, click a hashtag or enter it in the search bar in the toolbar :::info -You can create a default list of tags via the [`tags`](api/configs/tags_config.md) property +You can create a default list of tags via the [`tags`](/api/configs/tags_config/) property ::: 3\. **Dates** @@ -40,20 +40,20 @@ To enter a date via the inline editor, type the `!` symbol and the built-in date You can also wrap some text in the special symbols - `!()` - for instance, **!(Enter Booking date)**, and press Enter to close the editor. In the future, clicking on this text will open the date picker. :::info -The appearance of the added dates depends on the specified [**locale**](api/configs/locale_config.md) and [**date format**](api/configs/taskshape_config.md) +The appearance of the added dates depends on the specified [**locale**](/api/configs/locale_config/) and [**date format**](/api/configs/taskshape_config/) ::: ## Working with editor You can manage the editor by using the API: -To open the editor for a particular task/project, use the [`openInlineEditor()`](../../api/methods/openinlineeditor_method/) method: +To open the editor for a particular task/project, use the [`openInlineEditor()`](/api/methods/openinlineeditor_method/) method: ~~~js list.openInlineEditor({ id: "1.1.1" }); ~~~ -To close the editor after finishing the editing of the item and save the changes made, pass the ID of the item to the [`closeInlineEditor()`](../../api/methods/closeinlineeditor_method/) method: +To close the editor after finishing the editing of the item and save the changes made, pass the ID of the item to the [`closeInlineEditor()`](/api/methods/closeinlineeditor_method/) method: ~~~js list.closeInlineEditor({ @@ -70,3 +70,8 @@ list.closeInlineEditor({ }); ~~~~ +## Keyboard shortcuts + +:::info +Refer to the [**Keyboard navigation**](guides/keyboard_navigation.md) guide for more information. +::: diff --git a/docs/guides/integration_with_angular.md b/docs/guides/integration_with_angular.md index 6d048bc..5aea5f3 100644 --- a/docs/guides/integration_with_angular.md +++ b/docs/guides/integration_with_angular.md @@ -363,6 +363,6 @@ platformBrowserDynamic() After that, you can start the app to see To Do List loaded with data on a page. -![To Do List initialization](../assets/trial_todolist.png) +![To Do List initialization](/assets/trial_todolist.png) Now you know how to integrate DHTMLX To Do List with Angular. You can customize the code according to your specific requirements. The final example you can find on [**GitHub**](https://github.com/DHTMLX/angular-todolist-demo). diff --git a/docs/guides/integration_with_react.md b/docs/guides/integration_with_react.md index 6846680..76d1e20 100644 --- a/docs/guides/integration_with_react.md +++ b/docs/guides/integration_with_react.md @@ -327,6 +327,6 @@ export default App; After that, you can start the app to see To Do List loaded with data on a page. -![To Do List initialization](../assets/trial_todolist.png) +![To Do List initialization](/assets/trial_todolist.png) Now you know how to integrate DHTMLX To Do List with React. You can customize the code according to your specific requirements. The final example you can find on [**GitHub**](https://github.com/DHTMLX/react-todolist-demo). diff --git a/docs/guides/integration_with_svelte.md b/docs/guides/integration_with_svelte.md index 0e98458..a8df02f 100644 --- a/docs/guides/integration_with_svelte.md +++ b/docs/guides/integration_with_svelte.md @@ -318,6 +318,6 @@ const { users, tasks, projects } = getData(); After that, you can start the app to see To Do List loaded with data on a page. -![To Do List initialization](../assets/trial_todolist.png) +![To Do List initialization](/assets/trial_todolist.png) Now you know how to integrate DHTMLX To Do List with Svelte. You can customize the code according to your specific requirements. The final example you can find on [**GitHub**](https://github.com/DHTMLX/svelte-todolist-demo). diff --git a/docs/guides/integration_with_vue.md b/docs/guides/integration_with_vue.md index cc77354..6fc5d8a 100644 --- a/docs/guides/integration_with_vue.md +++ b/docs/guides/integration_with_vue.md @@ -339,6 +339,6 @@ export default { After that, you can start the app to see To Do List loaded with data on a page. -![To Do List initialization](../assets/trial_todolist.png) +![To Do List initialization](/assets/trial_todolist.png) Now you know how to integrate DHTMLX To Do List with Vue. You can customize the code according to your specific requirements. The final example you can find on [**GitHub**](https://github.com/DHTMLX/vue-todolist-demo). diff --git a/docs/guides/keyboard_navigation.md b/docs/guides/keyboard_navigation.md new file mode 100644 index 0000000..fc85514 --- /dev/null +++ b/docs/guides/keyboard_navigation.md @@ -0,0 +1,73 @@ +--- +sidebar_label: Keyboard navigation +title: Keyboard navigation +description: You can learn about keyboard navigation in the documentation of the DHTMLX JavaScript To Do List library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX To Do List. +--- + +# Keyboard navigation + +DHTMLX To Do List supports full keyboard navigation, so you can create, manage, and organize tasks without a mouse. + +Keyboard shortcuts work only when a task is focused. To focus a task, click on it or use ArrowUp / ArrowDown to navigate through the list. + +:::tip +Keyboard shortcuts do **not** work when the Search bar in the Toolbar is focused. +::: + +:::info +Keyboard navigation does not work in [`readonly`](api/configs/readonly_config.md) mode. +::: + +## Default mode + +The following shortcuts work when the inline editor is **closed**. + +### Navigation and selection + +| Keyboard shortcut | Description | +| :---------------- | :---------- | +| ArrowUp | Moves selection to the previous task | +| ArrowDown | Moves selection to the next task | +| ArrowRight | Expands a collapsed parent task | +| ArrowLeft | Collapses an expanded parent task. Otherwise (already collapsed or no children), moves selection to the parent task | +| Shift+ArrowUp | Extends selection to the task above. If that task is already selected, deselects it | +| Shift+ArrowDown | Extends selection to the task below (including its children). If that task is already selected, deselects it | +| Ctrl(Cmd)+Click / Ctrl(Cmd)+Shift+Click | Selects or deselects multiple tasks together with their children:
• if the task has selected parents — deselects the task and its parents
• if the task has selected children — deselects only the task itself | +| Shift+Click | Selects a range of tasks between the currently selected task and the clicked task | + +:::info +To learn more about working with multiple selected tasks, see the [Multiselection](guides/multiselection.md) guide. +::: + +### Task management + +| Keyboard shortcut | Description | +| :---------------- | :---------- | +| Enter | Creates a new task at the same level as the selected one, moves selection to it, and opens the editor | +| Ctrl(Cmd)+Enter | Opens the inline editor for the selected task | +| Space | Marks the selected task as complete. If already complete, marks it as incomplete | +| Delete / Backspace | Removes the selected task. After removal, selection moves down to the next task, or up to the parent task if no next task exists | +| Tab | Demotes the task — moves it one nesting level deeper | +| Shift+Tab | Promotes the task — moves it one nesting level up | +| Ctrl+ArrowUp | Moves the selected task up within the same level | +| Ctrl+ArrowDown | Moves the selected task down within the same level | +| Ctrl(Cmd)+D | Duplicates the selected task at the same level | +| Ctrl(Cmd)+C | Copies the selected task (including all child tasks) to the clipboard | +| Ctrl(Cmd)+V | Pastes the copied task at the same level as the currently selected task, preserving the original structure | +| Escape | Closes the context menu if it is open. Press again to close the editor, reset active filtering, and collapse search results in the Toolbar | + +## Editing mode + +The following shortcuts work when the inline editor is **open**. + +| Keyboard shortcut | Description | +| :---------------- | :---------- | +| Enter | Saves changes and closes the editor | +| Shift+Enter | Inserts a new paragraph within the editor | +| Escape | Closes the editor without saving any changes | + +## Related articles + +- [keypress-on-todo](api/events/keypressontodo_event.md) event — use this event to intercept key presses and implement custom behavior +- [Inline editing](guides/inline_editing.md) — learn how to manage the editor programmatically +- [Multiselection](guides/multiselection.md) — work with multiple selected tasks diff --git a/docs/guides/loading_data.md b/docs/guides/loading_data.md index b316340..bf7b361 100644 --- a/docs/guides/loading_data.md +++ b/docs/guides/loading_data.md @@ -10,12 +10,12 @@ description: You can learn about loading and storing data in the documentation o There are the following types of information which can be loaded into DHTMLX To Do List: -- [**tasks**](api/configs/tasks_config.md) -- [**projects**](api/configs/projects_config.md) -- [**users**](api/configs/users_config.md) -- [**priorities**](api/configs/priorities_config.md) -- [**tags**](api/configs/tags_config.md) -- [**activeProject**](api/configs/activeproject_config.md) +- [**tasks**](/api/configs/tasks_config/) +- [**projects**](/api/configs/projects_config/) +- [**users**](/api/configs/users_config/) +- [**priorities**](/api/configs/priorities_config/) +- [**tags**](/api/configs/tags_config/) +- [**activeProject**](/api/configs/activeproject_config/) You can prepare data in a separate file. Here is an example of an appropriate data set: @@ -178,7 +178,7 @@ const { tasks, users, projects, priorities } = getData(); ### Loading data on initialization -You can load [a predefined data](guides/loading_data.md#preparing-data-to-load) into To Do List on the initialization stage in the following way: +You can load [a predefined data](#preparing-data-to-load) into To Do List on the initialization stage in the following way: ~~~js {2,5-8} title="index.js" const { ToDo } = todo; @@ -194,7 +194,7 @@ const list = new ToDo("#root", { ### Loading data after initialization -To load data from a local data source after initialization of the To Do List, use the [`parse()`](api/methods/parse_method.md) method: +To load data from a local data source after initialization of the To Do List, use the [`parse()`](/api/methods/parse_method/) method: ~~~js {3,5,12-17} title="index.js" const { ToDo, Toolbar } = todo; @@ -218,7 +218,7 @@ list.parse({ ## Saving and restoring state -To save the current state of a To Do, use the [`serialize()`](api/methods/serialize_method.md) method. It converts the data of the To Do List into a JSON object. +To save the current state of a To Do, use the [`serialize()`](/api/methods/serialize_method/) method. It converts the data of the To Do List into a JSON object. ~~~js const state = list.serialize(); diff --git a/docs/guides/localization.md b/docs/guides/localization.md index c6d91e7..ce2889d 100644 --- a/docs/guides/localization.md +++ b/docs/guides/localization.md @@ -163,7 +163,7 @@ const toolbar = new Toolbar("#toolbar", { ~~~ :::tip -To change the locale dynamically, use the related `setLocale()` methods of the [To Do List](api/methods/setlocale_method.md) and [Toolbar](api/toolbar_api/methods/setlocale_method.md) +To change the locale dynamically, use the related `setLocale()` methods of the [To Do List](/api/methods/setlocale_method/) and [Toolbar](/api/toolbar_api/methods/setlocale_method/) ::: ## Example diff --git a/docs/guides/multiselection.md b/docs/guides/multiselection.md index 5c39a89..3fd57c8 100644 --- a/docs/guides/multiselection.md +++ b/docs/guides/multiselection.md @@ -12,7 +12,7 @@ In this article we'll discuss the details on how to initialize To Do List with s We'll consider how to perform bulk operations over the selected tasks and provide you with a list of available operations. And, finally, we'll show you the ways of resetting selection. -![Multiselection](../assets/multiselection.png) +![Multiselection](/assets/multiselection.png) :::info Learn how to [select](../../#selecting-tasks) and [manage multiple tasks](../../#managing-multiple-tasks) via UI @@ -20,7 +20,7 @@ Learn how to [select](../../#selecting-tasks) and [manage multiple tasks](../../ ## Initially selected tasks -If you want to create a To Do List with initially selected tasks, use the [`selected`](api/configs/selected_config.md) configuration property of To Do List: +If you want to create a To Do List with initially selected tasks, use the [`selected`](/api/configs/selected_config/) configuration property of To Do List: ~~~js {12} const list = new ToDo("#root", { @@ -42,7 +42,7 @@ console.log(list.getSelection()); // ["1.1", "1.2", "2.2"] ## Selecting tasks -The library provides you with the [`selectTask()`](api/methods/selecttask_method.md) method which lets you select tasks after To Do List initialization. The method has two parameters: +The library provides you with the [`selectTask()`](/api/methods/selecttask_method/) method which lets you select tasks after To Do List initialization. The method has two parameters: - `id` - the ID of the task to select - `join` - defines whether To Do List should join the specified task to the previously selected tasks @@ -119,7 +119,7 @@ console.log(list.getSelection()) // ["1.1", "1.2", "2.2", "2.1"] ## Getting all selected tasks -To get all tasks that are currently selected, use the [`getSelection()`](api/methods/getselection_method.md) method: +To get all tasks that are currently selected, use the [`getSelection()`](/api/methods/getselection_method/) method: ~~~js // sorted - disable; @@ -135,7 +135,7 @@ Enable the **sorted** parameter if you need to get IDs of the selected tasks in After you have selected multiple tasks, you may apply different operations to them at once. -For this purpose, the library includes the [`eachSelected()`](api/methods/eachselected_method.md) method that allows iterating over all selected tasks. The additional parameters of the method - **sorted** and **reversed** - let you define whether the tasks should be sorted or not and specify the direction of iteration. +For this purpose, the library includes the [`eachSelected()`](/api/methods/eachselected_method/) method that allows iterating over all selected tasks. The additional parameters of the method - **sorted** and **reversed** - let you define whether the tasks should be sorted or not and specify the direction of iteration. For example, you can apply the method to delete all selected tasks: @@ -151,18 +151,18 @@ Check the full list of available operations you can perform over multiple tasks Here is the full list of bulk operations you can perform over multiple selected tasks via API methods: -- copying tasks via the [`copyTask()`](../../api/methods/copytask_method/) method -- pasting tasks via the [`pasteTask()`](../../api/methods/pastetask_method/) method -- moving tasks via the [`moveTask()`](../../api/methods/movetask_method/) method -- deleting tasks via the [`deleteTask()`](../../api/methods/deletetask_method/) method -- marking tasks complete/incomplete via the [`checkTask()`](../../api/methods/checktask_method/) and [`uncheckTask()`](../../api/methods/unchecktask_method/) methods -- demoting and promoting the nesting level of tasks via the [`indentTask()`](../../api/methods/indenttask_method/) and [`unindentTask()`](../../api/methods/unindenttask_method/) methods +- copying tasks via the [`copyTask()`](/api/methods/copytask_method/) method +- pasting tasks via the [`pasteTask()`](/api/methods/pastetask_method/) method +- moving tasks via the [`moveTask()`](/api/methods/movetask_method/) method +- deleting tasks via the [`deleteTask()`](/api/methods/deletetask_method/) method +- marking tasks complete/incomplete via the [`checkTask()`](/api/methods/checktask_method/) and [`uncheckTask()`](/api/methods/unchecktask_method/) methods +- demoting and promoting the nesting level of tasks via the [`indentTask()`](/api/methods/indenttask_method/) and [`unindentTask()`](/api/methods/unindenttask_method/) methods ## Resetting selection ### Unselecting one task -To remove selection from one selected task, pass the ID of the task as a parameter to the [`unselectTask()`](../../api/methods/unselecttask_method/) method: +To remove selection from one selected task, pass the ID of the task as a parameter to the [`unselectTask()`](/api/methods/unselecttask_method/) method: ~~~js list.unselectTask({ id: "1.1" }); @@ -170,14 +170,14 @@ list.unselectTask({ id: "1.1" }); ### Unselecting all tasks -To unselect all currently selected tasks, pass **id: null** to the [`unselectTask()`](../../api/methods/unselecttask_method/) method: +To unselect all currently selected tasks, pass **id: null** to the [`unselectTask()`](/api/methods/unselecttask_method/) method: ~~~js list.unselectTask({ id: null }); ~~~ +## Keyboard shortcuts - - - - +:::info +Refer to the [**Keyboard navigation**](guides/keyboard_navigation.md) guide for more information. +::: diff --git a/docs/guides/project_index.md b/docs/guides/project_index.md index 7499d21..25878cd 100644 --- a/docs/guides/project_index.md +++ b/docs/guides/project_index.md @@ -8,11 +8,11 @@ description: You can learn how to manage projects in the documentation of the DH :::info -To configure projects, use the [`projects`](api/configs/projects_config.md) property of To Do List. +To configure projects, use the [`projects`](/api/configs/projects_config/) property of To Do List. -To define what project a task will belong to, you need to pass the id of the necessary project to the **project** parameter of the related [`task`](api/configs/tasks_config.md) object +To define what project a task will belong to, you need to pass the id of the necessary project to the **project** parameter of the related [`task`](/api/configs/tasks_config/) object -To make a certain project active on initialization of To Do List, use the [`activeProject`](api/configs/activeproject_config.md) property. +To make a certain project active on initialization of To Do List, use the [`activeProject`](/api/configs/activeproject_config/) property. ::: diff --git a/docs/guides/project_object_operations.md b/docs/guides/project_object_operations.md index e0c198a..ef6eaed 100644 --- a/docs/guides/project_object_operations.md +++ b/docs/guides/project_object_operations.md @@ -8,7 +8,7 @@ description: You can learn about project object in the documentation of the DHTM ## Getting a project object -To get a project object, use the [`getProject()`](api/methods/getproject_method.md) method: +To get a project object, use the [`getProject()`](/api/methods/getproject_method/) method: ~~~js {13} const projects = [ @@ -28,7 +28,7 @@ list.getProject({ id: "first" }); // -> {id: 'first', label: 'First project'} ## Checking if a project exists -To check whether a project exists or not, use the [`existsProject()`](api/methods/existsproject_method.md) method: +To check whether a project exists or not, use the [`existsProject()`](/api/methods/existsproject_method/) method: ~~~js {13-14} const projects = [ diff --git a/docs/guides/project_operations.md b/docs/guides/project_operations.md index 5aaea83..0b3fb52 100644 --- a/docs/guides/project_operations.md +++ b/docs/guides/project_operations.md @@ -8,7 +8,7 @@ description: You can learn about operations with projects in the documentation o ## Changing the active project -It is possible to change the currently active project via the [`setProject()`](../../api/methods/setproject_method/) method. It takes the id of a project as a parameter: +It is possible to change the currently active project via the [`setProject()`](/api/methods/setproject_method/) method. It takes the id of a project as a parameter: ~~~js {9,16} const projects = [ @@ -31,7 +31,7 @@ list.setProject({ id: "first" }); ## Adding a new project -You may create a new project via the [`addProject()`](../../api/methods/addproject_method/) method: +You may create a new project via the [`addProject()`](/api/methods/addproject_method/) method: ~~~js {13-18} const projects = [ @@ -56,7 +56,7 @@ list.addProject({ ## Updating a project -To dynamically update parameters of a project, apply the [`updateProject()`](../../api/methods/updateproject_method/) method. For instance, you can update the label of the project: +To dynamically update parameters of a project, apply the [`updateProject()`](/api/methods/updateproject_method/) method. For instance, you can update the label of the project: ~~~js {13-18} const projects = [ @@ -81,7 +81,7 @@ list.updateProject({ ## Deleting a project -To remove an unnecessary project, apply the [`deleteProject()`](../../api/methods/deleteproject_method/) method: +To remove an unnecessary project, apply the [`deleteProject()`](/api/methods/deleteproject_method/) method: ~~~js {17} const projects = [ diff --git a/docs/guides/readonly_mode.md b/docs/guides/readonly_mode.md index b378ada..f7c0c35 100644 --- a/docs/guides/readonly_mode.md +++ b/docs/guides/readonly_mode.md @@ -6,7 +6,7 @@ description: You can learn about the read-only mode in the documentation of the # Read-only mode -To make the To Do List read-only, set the [`readonly`](../../api/configs/readonly_config/) configuration property to *true*. +To make the To Do List read-only, set the [`readonly`](/api/configs/readonly_config/) configuration property to *true*. ~~~js {8} const { ToDo, Toolbar } = todo; diff --git a/docs/guides/sorting_filtering_tasks.md b/docs/guides/sorting_filtering_tasks.md index 7ec7819..aa4ece7 100644 --- a/docs/guides/sorting_filtering_tasks.md +++ b/docs/guides/sorting_filtering_tasks.md @@ -12,7 +12,7 @@ The library allows you to sort tasks in the list after initialization of To Do L - via the **Sort by** option of the [Toolbar menu](../../#toolbar). You may sort tasks by *text*, *due date*, *completion date*, *creation date*, or *editing date* -- via the [`setSort()`](api/methods/setsort_method.md) method. You may specify your own search function or implement sorting by a [task attribute](api/configs/tasks_config.md#parameters). For instance: +- via the [`setSort()`](/api/methods/setsort_method/) method. You may specify your own search function or implement sorting by a [task attribute](/api/configs/tasks_config/#parameters). For instance: ~~~js list.setSort({ @@ -28,7 +28,7 @@ You can find the tasks that match the specified criteria in 2 ways: - via the [search bar](../../#toolbar) of Toolbar -- through the [`setFilter()`](api/methods/setfilter_method.md) method. The method supports the *strict* mode of filtering that allows you to filter tasks by the exact match. +- through the [`setFilter()`](/api/methods/setfilter_method/) method. The method supports the *strict* mode of filtering that allows you to filter tasks by the exact match. ~~~js // filter data by the specified rules diff --git a/docs/guides/stylization.md b/docs/guides/stylization.md index f0dac4b..3fc4f05 100644 --- a/docs/guides/stylization.md +++ b/docs/guides/stylization.md @@ -101,4 +101,6 @@ In this snippet you can see how to apply a custom style to To Do List: -**Related articles:** [Customization](../customization) +## Related articles + +- [Customization](guides/customization.md) diff --git a/docs/guides/task_index.md b/docs/guides/task_index.md index 50961b7..bd83624 100644 --- a/docs/guides/task_index.md +++ b/docs/guides/task_index.md @@ -7,7 +7,7 @@ description: You can learn about managing tasks in the documentation of the DHTM # Managing tasks :::info -To configure tasks, use the [`tasks`](api/configs/tasks_config.md) property of To Do List +To configure tasks, use the [`tasks`](/api/configs/tasks_config/) property of To Do List ::: In the next guides you will find information related to the API of To Do List intended for work with tasks. You will learn how to get the object of a task, how to work with parents and children of a task, how to perform different operations over tasks (such as adding, deleting, updating, copying, moving a task, etc), how to select multiple tasks and manage them at once, and more. diff --git a/docs/guides/task_object.md b/docs/guides/task_object.md index 25fbf54..85d8a46 100644 --- a/docs/guides/task_object.md +++ b/docs/guides/task_object.md @@ -8,7 +8,7 @@ description: You can learn about task object and task id in the documentation of ## Getting a task object -To get a task object, use the [`getTask()`](api/methods/gettask_method.md) method: +To get a task object, use the [`getTask()`](/api/methods/gettask_method/) method: ~~~js const tasks = [ @@ -24,7 +24,7 @@ list.getTask({ id: "1.2" }); // -> {id: '1.2', text: 'Task 1.2', parent: '1'} ## Checking if a task exists -To check whether a task exists or not, use the [`existsTask()`](api/methods/existstask_method.md) method: +To check whether a task exists or not, use the [`existsTask()`](/api/methods/existstask_method/) method: ~~~js const tasks = [ @@ -41,7 +41,7 @@ list.existsTask({ id: "1.2" }); // -> true ## Getting child Ids -To get the children of a task, use the [`getChildrenIds()`](api/methods/getchildrenids_method.md) method: +To get the children of a task, use the [`getChildrenIds()`](/api/methods/getchildrenids_method/) method: ~~~js const tasks = [ @@ -103,7 +103,7 @@ console.log(list.getChildrenIds({ id: "1", filtered: false, tree: true, hideComp ## Checking if a task has children -To check whether a task has child tasks, apply the [`hasChildren()`](api/methods/haschildren_method.md) method: +To check whether a task has child tasks, apply the [`hasChildren()`](/api/methods/haschildren_method/) method: ~~~js const tasks = [ @@ -144,7 +144,7 @@ console.log(list.hasChildren({ id: "1.1", hideCompleted: true })); // -> false ## Getting parent Ids -To get the parents of a task, use the [`getParentIds()`](api/methods/getparentids_method.md) method: +To get the parents of a task, use the [`getParentIds()`](/api/methods/getparentids_method/) method: ~~~js const tasks = [ @@ -161,7 +161,7 @@ console.log(list.getParentIds({ id: "1.1.1" })); // ['1.1', '1'] ## Getting Ids of selected tasks -To get IDs of all currently selected tasks, use the [`getSelection()`](api/methods/getselection_method.md) method: +To get IDs of all currently selected tasks, use the [`getSelection()`](/api/methods/getselection_method/) method: ~~~js const tasks = [ diff --git a/docs/guides/task_operations.md b/docs/guides/task_operations.md index 711009e..3b7d659 100644 --- a/docs/guides/task_operations.md +++ b/docs/guides/task_operations.md @@ -8,7 +8,7 @@ description: You can learn about operations with tasks in the documentation of t ## Adding a new task -To add a new task to the list, use the [`addTask()`](../../api/methods/addtask_method/) method: +To add a new task to the list, use the [`addTask()`](/api/methods/addtask_method/) method: ~~~js list.addTask({ @@ -27,7 +27,7 @@ list.addTask({ ### Copy and paste -The quickest way to copy and paste a task is use the [`copyTask()`](../../api/methods/copytask_method/) method. For that, it is necessary to pass the following parameters to the method: +The quickest way to copy and paste a task is use the [`copyTask()`](/api/methods/copytask_method/) method. For that, it is necessary to pass the following parameters to the method: - the ID of the task that you want to copy and paste - the ID of the future project (if it exists) - the ID of the target task where the copied task should be pasted @@ -46,7 +46,7 @@ list.copyTask({ ### Copy to the clipboard -To copy a necessary task to the clipboard without its further pasting, pass the ID of the task to the [`copyTask()`](../../api/methods/copytask_method/) method: +To copy a necessary task to the clipboard without its further pasting, pass the ID of the task to the [`copyTask()`](/api/methods/copytask_method/) method: ~~~js list.copyTask({ @@ -57,12 +57,12 @@ list.copyTask({ ### Saving IDs of other copies :::info -If you want to copy the task and save other previously copied tasks, you need to pass the **join: true** parameter to the [`copyTask()`](../../api/methods/copytask_method/) method. Otherwise, only the specified task will be copied, all others copies created earlier will be reset. +If you want to copy the task and save other previously copied tasks, you need to pass the **join: true** parameter to the [`copyTask()`](/api/methods/copytask_method/) method. Otherwise, only the specified task will be copied, all others copies created earlier will be reset. ::: ### Paste from the clipboard -You can paste the copied task from the clipboard to the necessary place via the [`pasteTask()`](../../api/methods/pastetask_method/) method: +You can paste the copied task from the clipboard to the necessary place via the [`pasteTask()`](/api/methods/pastetask_method/) method: ~~~js list.pasteTask({ @@ -73,7 +73,7 @@ list.pasteTask({ ## Updating a task -To dynamically update parameters of a task, apply the [`updateTask()`](../../api/methods/updatetask_method/) method: +To dynamically update parameters of a task, apply the [`updateTask()`](/api/methods/updatetask_method/) method: ~~~js list.updateTask({ @@ -86,7 +86,7 @@ list.updateTask({ ## Moving a task -To move a task to another position, use the [`moveTask()`](../../api/methods/movetask_method/) method: +To move a task to another position, use the [`moveTask()`](/api/methods/movetask_method/) method: ~~~js list.moveTask({ @@ -104,7 +104,7 @@ If you move a parent task, it will be moved together with its subtasks. ## Deleting a task -To delete a task, use the [`deleteTask()`](../../api/methods/deletetask_method/) method: +To delete a task, use the [`deleteTask()`](/api/methods/deletetask_method/) method: ~~~js list.deleteTask({ id: "1.2" }); @@ -116,14 +116,14 @@ The method removes the task with all its child tasks ## Expanding/collapsing a task -To collapse a task, use the [`collapseTask()`](../../api/methods/collapsetask_method/) method. The method takes the ID of the task as a parameter: +To collapse a task, use the [`collapseTask()`](/api/methods/collapsetask_method/) method. The method takes the ID of the task as a parameter: ~~~js list.collapseTask({ id: "1.1" }); ~~~ -To expand a collapsed task by its ID, use the [`expandTask()`](../../api/methods/expandtask_method/) method: +To expand a collapsed task by its ID, use the [`expandTask()`](/api/methods/expandtask_method/) method: ~~~js list.expandTask({ id: "1.1" }); @@ -131,7 +131,7 @@ list.expandTask({ id: "1.1" }); ## Marking a task complete/incomplete -You may mark the necessary task as complete/incomplete via the corresponding [`checkTask()`](../../api/methods/checktask_method/) and [`uncheckTask()`](../../api/methods/unchecktask_method/) methods: +You may mark the necessary task as complete/incomplete via the corresponding [`checkTask()`](/api/methods/checktask_method/) and [`uncheckTask()`](/api/methods/unchecktask_method/) methods: ~~~js list.checkTask({ @@ -145,9 +145,9 @@ list.uncheckTask({ }); ~~~ -When `manual: false` is set, the result of applying the method depends on the value which is specified for the **behavior** attribute of the **completed** parameter of the [`taskShape`](api/configs/taskshape_config.md) property. +When `manual: false` is set, the result of applying the method depends on the value which is specified for the **behavior** attribute of the **completed** parameter of the [`taskShape`](/api/configs/taskshape_config/) property. -If the "auto" mode is specified via the **taskShape** property but you need to check/uncheck the task in the "manual" mode, set the **manual** parameter of the [`checkTask()`](../../api/methods/checktask_method/) or [`uncheckTask()`](../../api/methods/unchecktask_method/) method to *true*: +If the "auto" mode is specified via the **taskShape** property but you need to check/uncheck the task in the "manual" mode, set the **manual** parameter of the [`checkTask()`](/api/methods/checktask_method/) or [`uncheckTask()`](/api/methods/unchecktask_method/) method to *true*: ~~~js list.checkTask({ @@ -165,7 +165,7 @@ list.uncheckTask({ To change the nesting level of a task dynamically, use the following two methods: -- [`indentTask()`](../../api/methods/indenttask_method/) - to demote the nesting level of a task to one lower level +- [`indentTask()`](/api/methods/indenttask_method/) - to demote the nesting level of a task to one lower level ~~~js const list = new ToDo("#root", { @@ -182,7 +182,7 @@ list.indentTask({ id: "1.2" }); console.log(list.getParentIds({ id: "1.2" })); // ['1.1', '1'] ~~~ -- [`unindentTask()`](../../api/methods/unindenttask_method/) - to promote the nesting level of the task to one higher level +- [`unindentTask()`](/api/methods/unindenttask_method/) - to promote the nesting level of the task to one higher level ~~~js const list = new ToDo("#root", { @@ -205,7 +205,7 @@ The result of applying the methods depends on the structure of the list ## Filtering tasks -You can find the tasks that match the specified criteria with the help of the [`setFilter()`](../../api/methods/setfilter_method/) method. The method supports the *strict* mode of filtering that allows you to filter tasks by the exact match. +You can find the tasks that match the specified criteria with the help of the [`setFilter()`](/api/methods/setfilter_method/) method. The method supports the *strict* mode of filtering that allows you to filter tasks by the exact match. ~~~js // filter data by the specified rules diff --git a/docs/guides/task_users.md b/docs/guides/task_users.md index 78d9965..1f45d1f 100644 --- a/docs/guides/task_users.md +++ b/docs/guides/task_users.md @@ -10,7 +10,7 @@ You can delegate tasks to one or several people. ## Configuring task assignees -The list of assignees is specified via the [`users`](../../api/configs/users_config/) configuration property of To Do List. +The list of assignees is specified via the [`users`](/api/configs/users_config/) configuration property of To Do List. ~~~js const users = [ @@ -25,7 +25,7 @@ const list = new ToDo("#root", { users }); ## Setting assignees on initialization stage -To assign people to the necessary task on the initialization stage, pass the id(s) of the assignees to the **assigned** parameter of the related [`task`](../../api/configs/tasks_config/) object: +To assign people to the necessary task on the initialization stage, pass the id(s) of the assignees to the **assigned** parameter of the related [`task`](/api/configs/tasks_config/) object: ~~~js {11} const users = [ @@ -50,7 +50,7 @@ const list = new ToDo("#root", { As a result, the assigned people will be displayed to the right of the task. -![users](../assets/users.png) +![users](/assets/users.png) To view the list of people assigned to a task, click on the people avatars. To close the opened list, click outside it. @@ -59,7 +59,7 @@ To view the list of people assigned to a task, click on the people avatars. To c You can re-assign or remove a task assignee after initialization of To Do List in the following ways: - via the **Assign to** option of the task menu -- via the corresponding [`assignUser()`](../../api/methods/assignuser_method/) and [`unassignUser()`](../../api/methods/unassignuser_method/) methods, for example: +- via the corresponding [`assignUser()`](/api/methods/assignuser_method/) and [`unassignUser()`](/api/methods/unassignuser_method/) methods, for example: ~~~js // assign a person to the task diff --git a/docs/guides/working_with_server.md b/docs/guides/working_with_server.md index fabf97c..136ec7c 100644 --- a/docs/guides/working_with_server.md +++ b/docs/guides/working_with_server.md @@ -27,13 +27,13 @@ The To Do List has the **RestDataProvider** service that completely supports RES The **RestDataProvider** service includes the special REST methods for dynamic data loading: -- [`getProjects()`](api/rest_api/methods/getprojects_method.md) - gets a promise with the **projects data** -- [`getProjectTasks()`](api/rest_api/methods/getprojecttasks_method.md) - gets a promise with the **tasks data** of the specified **project** -- [`getTags()`](api/rest_api/methods/gettags_method.md) - gets a promise with a list of **default tags** -- [`getTasks()`](api/rest_api/methods/gettasks_method.md) - gets a promise with the **tasks data** -- [`getUsers()`](api/rest_api/methods/getusers_method.md) - gets a promise with the **users data** -- [`setAPI()`](api/rest_api/methods/setapi_method.md) - sets API of the To Do List component into RestDataProvider -- [`send()`](api/rest_api/methods/send_method.md) - sends a necessary request to the server and gets a promise with or without data depending on the request +- [`getProjects()`](/api/rest_api/methods/getprojects_method/) - gets a promise with the **projects data** +- [`getProjectTasks()`](/api/rest_api/methods/getprojecttasks_method/) - gets a promise with the **tasks data** of the specified **project** +- [`getTags()`](/api/rest_api/methods/gettags_method/) - gets a promise with a list of **default tags** +- [`getTasks()`](/api/rest_api/methods/gettasks_method/) - gets a promise with the **tasks data** +- [`getUsers()`](/api/rest_api/methods/getusers_method/) - gets a promise with the **users data** +- [`setAPI()`](/api/rest_api/methods/setapi_method/) - sets API of the To Do List component into RestDataProvider +- [`send()`](/api/rest_api/methods/send_method/) - sends a necessary request to the server and gets a promise with or without data depending on the request ## Interacting with backend @@ -45,7 +45,7 @@ To interact with the server, you need to connect **RestDataProvider** to the cor or you can create a custom one. :::tip -If you use custom backend, refer to the [**REST API routes**](../../api/rest_api/routes/rest_routes_overview/) topic for more information! +If you use custom backend, refer to the [**REST API routes**](/api/rest_api/routes/rest_routes_overview/) topic for more information! ::: To connect **RestDataProvider** to the backend, you need to call the **new RestDataProvider()** constructor by passing the corresponding **URL** as a parameter. @@ -79,7 +79,7 @@ Promise.all([ ~~~ :::info -You need to include **RestDataProvider** into the **Event Bus** order via the [`api.setNext()`](api/internal/setnext_method.md) method to perform operations with data (*adding, deleting,* etc) and send the corresponding requests to the server +You need to include **RestDataProvider** into the **Event Bus** order via the [`api.setNext()`](/api/internal/setnext_method/) method to perform operations with data (*adding, deleting,* etc) and send the corresponding requests to the server ::: ### Example diff --git a/docs/how_to_start.md b/docs/how_to_start.md index a3ec38a..c7f6e39 100644 --- a/docs/how_to_start.md +++ b/docs/how_to_start.md @@ -8,7 +8,7 @@ description: You can learn about how to start working with DHTMLX To Do List in This tutorial will teach you how to create a fully featured To Do List and add it into your web application. -![how_to_start](assets/todolist.png) +![how_to_start](/assets/todolist.png) After completing all the steps below, you will get a ready-to-use To Do List which you can easily configure to suite your needs and efficiently use in real life. @@ -101,7 +101,7 @@ You don't need this step if you use the **new todo.ToDo()** and **new todo.Toolb Toolbar is an optional part of the To Do List interface. To create a To Do List without the Toolbar, you can specify only one DIV container and initialize List via the **new ToDo()** constructor ::: -For more information about initialization of To Do List read the [Initialization](guides/initialization.md) article. +For more information about initialization of To Do List read the [Initialization](/guides/initialization/) article. ## Step 3. Load data into To Do List @@ -111,7 +111,7 @@ As you can see, we've initialized the To Do List but it is still empty. At this You can skip this step if you want to display an empty component on the page ::: -At first, you should prepare data to load into the component. The data can include the following sets of information: [**tasks**](api/configs/tasks_config.md), [**projects**](api/configs/projects_config.md), [**users**](api/configs/users_config.md), [**tags**](api/configs/tags_config.md), and [**activeProject**](api/configs/activeproject_config.md) +At first, you should prepare data to load into the component. The data can include the following sets of information: [**tasks**](/api/configs/tasks_config/), [**projects**](/api/configs/projects_config/), [**users**](/api/configs/users_config/), [**tags**](/api/configs/tags_config/), and [**activeProject**](/api/configs/activeproject_config/) The most convenient way is to prepare data in a separate file, for example: @@ -214,7 +214,7 @@ Now, you can populate the To Do List with data. For that, specify the related pr ~~~ -You can find more information on loading data into To Do List in the [Data loading](guides/loading_data.md) article. +You can find more information on loading data into To Do List in the [Data loading](/guides/loading_data/) article. ## Step 4. Configure To Do List @@ -222,8 +222,8 @@ Now, you can define the desired configuration of the To Do list. As you already know, To Do List consists of two separate interfaces: List and Toolbar. And each of them possesses a separate list of configuration options: -- check the list of [To Do List properties](api/overview/configs_overview.md) -- check the list of [Toolbar properties](category/toolbar-properties.md) +- check the list of [To Do List properties](/api/overview/configs_overview/) +- check the list of [Toolbar properties](/category/toolbar-properties/) As an example, let's enable the *readonly* mode for your To Do List, specify an active project, and show only the search bar in the toolbar: @@ -249,5 +249,5 @@ Now you have a ready To Do List. You can load your own set of data, and configur If you feel like diving deeper into the world of To Do List, these are suggestions for further studying: - [To Do List overview](../) -- [Guides](category/guides.md) -- [API](category/api.md) \ No newline at end of file +- [Guides](/category/guides/) +- [API](/category/api/) \ No newline at end of file diff --git a/docs/overview.md b/docs/overview.md index ff29d1b..4582437 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -19,11 +19,11 @@ The interface of the To Do List component consists of two parts: [Toolbar](#tool - a **combo** control for switching between projects, and searching for the necessary project -![toolbar](assets/toolbar.png) +![toolbar](/assets/toolbar.png) - a **search bar** for searching for the needed tasks -![toolbar](assets/search_field.png) +![toolbar](/assets/search_field.png) - a **menu** with a set of controls which allow you to: - sort tasks in the ascending/descending order by the following criteria: @@ -36,17 +36,17 @@ The interface of the To Do List component consists of two parts: [Toolbar](#tool - hide/show completed tasks - add a new project, rename or delete a currently active project -![toolbar](assets/project_menu.png) +![toolbar](/assets/project_menu.png) :::info -You can change the toolbar structure by adding custom elements or changing the order of the built-in controls. Read more in the [**Configuration**](guides/configuration.md#toolbar) and [**Customization**](guides/customization.md#toolbar) sections. +You can change the toolbar structure by adding custom elements or changing the order of the built-in controls. Read more in the [**Configuration**](/guides/configuration/#toolbar) and [**Customization**](/guides/customization/#toolbar) sections. ::: ### List -The **list of tasks** is the main part of the To Do List interface intended for adding new tasks, editing, or deleting the existing ones. You can easily configure the appearance of tasks. Read more in the [Configuration](guides/configuration.md) section. +The **list of tasks** is the main part of the To Do List interface intended for adding new tasks, editing, or deleting the existing ones. You can easily configure the appearance of tasks. Read more in the [Configuration](/guides/configuration/) section. -![list](assets/list.png) +![list](/assets/list.png) ## Selecting tasks @@ -79,7 +79,7 @@ You can manage the selected task both via the context menu or keyboard navigatio The **context menu** of a task contains a set of items and sub-items and looks like this: -![context_menu_of_task](assets/task_context_menu.png) +![context_menu_of_task](/assets/task_context_menu.png) ### Adding a new task @@ -93,7 +93,7 @@ The **context menu** of a task contains a set of items and sub-items and looks l ### Editing a task - To edit a task, double-click on the task record in the list or press `Ctrl (Cmd) + Enter`. Then, make the changes and press `Enter` -> It is possible to enter text, numbers, hashtags, dates. For more details, read [Supported formats of data](guides/inline_editing.md#supported-formats-of-data). +> It is possible to enter text, numbers, hashtags, dates. For more details, read [Supported formats of data](/guides/inline_editing/#supported-formats-of-data). - To mark a task as complete/incomplete, click on the checkbox to the left of the task or press `Space` - To collapse/expand a task with subtasks, click on the arrow icon to the left of the task or press `Arrow Left`/ `Arrow Right` @@ -124,7 +124,7 @@ After you have selected [multiple tasks](#selecting-multiple-tasks), you can per - to open a **context menu** for the selected tasks -![context_menu_of_tasks](assets/tasks_context_menu.png) +![context_menu_of_tasks](/assets/tasks_context_menu.png) - to delete tasks by pressing `Backspace`/`Delete` - to copy tasks via `Ctrl (Cmd) + C` and paste them via `Ctrl (Cmd) + V`. The tasks which are selected in the chaotic order will be structured depending on the structure of the data @@ -136,9 +136,9 @@ After you have selected [multiple tasks](#selecting-multiple-tasks), you can per - to mark tasks as complete/incomplete by pressing `Space` :::info -Read the [**keyboard shortcuts**](api/events/keypressontodo_event.md#keyboard-shortcuts) section for more detail +Read the [**keyboard shortcuts**](/api/events/keypressontodo_event/#keyboard-shortcuts) section for more detail ::: ## What's next -Once you have a short overview of To Do List you are ready to learn how to display the component on the page. Follow the directions given in the [How to start](how_to_start/) article. \ No newline at end of file +Once you have a short overview of To Do List you are ready to learn how to display the component on the page. Follow the directions given in the [How to start](/how_to_start/) article. \ No newline at end of file diff --git a/docs/whats_new.md b/docs/whats_new.md index 62e8762..c04ce82 100644 --- a/docs/whats_new.md +++ b/docs/whats_new.md @@ -6,7 +6,7 @@ description: You can learn a new information about DHTMLX JavaScript To Do List # What's new -If you are updating To Do List from an older version, check [Migration to newer version](migration.md) for details. +If you are updating To Do List from an older version, check [Migration to newer version](/migration/) for details. ## Version 1.3.1 @@ -24,21 +24,21 @@ Released on February 27, 2025 ### New functionality -- You can manage the history of changes in a separate project or in the whole app via the [`history`](../api/configs/history_config) property and [`undo()`](../api/methods/undo_method)/[`redo()`](../api/methods/redo_method) methods -- You can customize a context menu via the [`menu`](../api/configs/menu_config) property ([Example](https://snippet.dhtmlx.com/slpjstbb)) +- You can manage the history of changes in a separate project or in the whole app via the [`history`](/api/configs/history_config) property and [`undo()`](/api/methods/undo_method)/[`redo()`](/api/methods/redo_method) methods +- You can customize a context menu via the [`menu`](/api/configs/menu_config) property ([Example](https://snippet.dhtmlx.com/slpjstbb)) ### New API -- The [`history`](../api/configs/history_config) property allows you to enable/disable the history of changes in a separate project or in the whole app and limit the number of stored actions -- The [`undo()`](../api/methods/undo_method)/[`redo()`](../api/methods/redo_method) methods allows you to manage the history of changes -- The [`menu`](../api/configs/menu_config) property allows you to customize a context menu ([Example](https://snippet.dhtmlx.com/cmfqmg00)) +- The [`history`](/api/configs/history_config) property allows you to enable/disable the history of changes in a separate project or in the whole app and limit the number of stored actions +- The [`undo()`](/api/methods/undo_method)/[`redo()`](/api/methods/redo_method) methods allows you to manage the history of changes +- The [`menu`](/api/configs/menu_config) property allows you to customize a context menu ([Example](https://snippet.dhtmlx.com/cmfqmg00)) ### Updates -- The [`getState()`](../api/internal/getstate_method) and [`getReactiveState()`](../api/internal/getreactivestate_method) methods return the `historyState` object -- The [`items`](../api/toolbar_api/configs/items_config) property of Toolbar was extended by `"undo"` and `"redo"` parameters that allow you to display controls for managing history of changes -- The **POST** [`/tasks`](../api/rest_api/routes/post_routes/post_tasks) and [`/projects`](../api/rest_api/routes/post_routes/post_projects) routes were extended by the `id` parameter, that allows you to manage history changes on backend -- The **DELETE** [`/tasks`](../api/rest_api/routes/delete_routes/delete_tasks) route was extended by the `batch` payload. The `id` parameter related to the task to be deleted become optional. You can delete multiple tasks by once +- The [`getState()`](/api/internal/getstate_method) and [`getReactiveState()`](/api/internal/getreactivestate_method) methods return the `historyState` object +- The [`items`](/api/toolbar_api/configs/items_config) property of Toolbar was extended by `"undo"` and `"redo"` parameters that allow you to display controls for managing history of changes +- The **POST** [`/tasks`](/api/rest_api/routes/post_routes/post_tasks) and [`/projects`](/api/rest_api/routes/post_routes/post_projects) routes were extended by the `id` parameter, that allows you to manage history changes on backend +- The **DELETE** [`/tasks`](/api/rest_api/routes/delete_routes/delete_tasks) route was extended by the `batch` payload. The `id` parameter related to the task to be deleted become optional. You can delete multiple tasks by once ### Fixes @@ -88,7 +88,7 @@ Released on February 6, 2024 - Problem with pressing Enter when renaming a project - Problem with pressing Enter when searching for projects -- Overriding wx styles when using with complex widgets. Refer to the [Stylization](guides/stylization.md) guide for details +- Overriding wx styles when using with complex widgets. Refer to the [Stylization](/guides/stylization/) guide for details ## Version 1.2.5 @@ -134,18 +134,18 @@ Released on May 16, 2023 - You can prioritize your tasks using context menu or the corresponding API ([Example](https://snippet.dhtmlx.com/5cymicwt)) - You can sort tasks by priorities -- [Multiuser backend](../guides/working_with_server/#multiuser-backend) allows you to track changes of other users in a real time ([Example](https://snippet.dhtmlx.com/82ayq2lk)) +- [Multiuser backend](/guides/working_with_server/#multiuser-backend) allows you to track changes of other users in a real time ([Example](https://snippet.dhtmlx.com/82ayq2lk)) - Displaying To Do List tasks in a Table view. Integration with the [JavaScript DataGrid](https://dhtmlx.com/docs/products/dhtmlxGrid/) component ([Example](https://snippet.dhtmlx.com/e97idjs8)) ### New API -The [`priorities`](../api/configs/priorities_config) property allows you to apply an initial priority to the tasks +The [`priorities`](/api/configs/priorities_config) property allows you to apply an initial priority to the tasks ### Updates -- The [`tasks`](../api/configs/tasks_config) property was extended by the ***priority*** parameter. This parameter allows users to specify an initial priority -- The [`taskShape`](../api/configs/taskshape_config) property was extended by the ***priority*** parameter. This parameter allows user to manage the priority appearance of the card -- The extended list of [localized options](guides/localization.md) +- The [`tasks`](/api/configs/tasks_config) property was extended by the ***priority*** parameter. This parameter allows users to specify an initial priority +- The [`taskShape`](/api/configs/taskshape_config) property was extended by the ***priority*** parameter. This parameter allows user to manage the priority appearance of the card +- The extended list of [localized options](/guides/localization/) ### Fixes - Setting users without **users[n].avatar** property invokes an error @@ -158,41 +158,41 @@ Released on October 10, 2022 ### Breaking changes -The new release introduces some changes to the `taskShape` property. Check the [Migration article](migration.md#10---11) to keep in step with the latest version. +The new release introduces some changes to the `taskShape` property. Check the [Migration article](/migration/#10---11) to keep in step with the latest version. ### New functionality - Drag-n-drop: - - the ability to [configure or disable the functionality](guides/configuration.md#drag-n-drop) - - new events: [`start-drag`](api/events/startdrag_event.md), [`drag`](api/events/drag_event.md), [`end-drag`](api/events/enddrag_event.md) + - the ability to [configure or disable the functionality](/guides/configuration/#drag-n-drop) + - new events: [`start-drag`](/api/events/startdrag_event/), [`drag`](/api/events/drag_event/), [`end-drag`](/api/events/enddrag_event/) - Multi-select and bulk operations: - the ability to [select](../#selecting-multiple-tasks) and [manage](../#managing-multiple-tasks) multiple tasks using keyboard shortcuts - the ability to manage multiple tasks via menu - - the ability to [select and manage multiple tasks via API](guides/multiselection.md): - - new [`selected`](api/configs/selected_config.md) property - - new `join` parameter for the methods: [`selectTask()`](api/methods/selecttask_method.md), [`copyTask()`](api/methods/copytask_method.md) - - new `join` parameter for the events: [`select-task`](api/events/selecttask_event.md), [`copy-task`](api/events/copytask_event.md) - - new method: [`eachSelected()`](api/methods/eachselected_method.md) - - updated method: [`getSelection()`](api/methods/getselection_method.md) - - the ability to unselect all tasks via the [`unselectTask()`](api/methods/unselecttask_method.md) method -- [To Do List with hidden completed tasks](guides/hide_completed_tasks.md#initial-mode) -- [Showing/hiding completed tasks](guides/hide_completed_tasks.md#switching-between-modes): + - the ability to [select and manage multiple tasks via API](/guides/multiselection/): + - new [`selected`](/api/configs/selected_config/) property + - new `join` parameter for the methods: [`selectTask()`](/api/methods/selecttask_method/), [`copyTask()`](/api/methods/copytask_method/) + - new `join` parameter for the events: [`select-task`](/api/events/selecttask_event/), [`copy-task`](/api/events/copytask_event/) + - new method: [`eachSelected()`](/api/methods/eachselected_method/) + - updated method: [`getSelection()`](/api/methods/getselection_method/) + - the ability to unselect all tasks via the [`unselectTask()`](/api/methods/unselecttask_method/) method +- [To Do List with hidden completed tasks](/guides/hide_completed_tasks/#initial-mode) +- [Showing/hiding completed tasks](/guides/hide_completed_tasks/#switching-between-modes): - via Toolbar menu - via API: - - new methods: [`hideCompletedTasks()`](api/methods/hidecompletedtasks_method.md), [`showCompletedTasks()`](api/methods/showcompletedtasks_method.md) - - new events: [`hide-completed-tasks`](api/events/hidecompletedtasks_event.md), [`show-completed-tasks`](api/events/showcompletedtasks_event.md) - - new `hideCompleted` parameter for the methods: [`hasChildren()`](api/methods/haschildren_method.md), [`getChildrenIds()`](api/methods/getchildrenids_method.md) -- [Task sorting](guides/sorting_filtering_tasks.md#sorting-tasks): + - new methods: [`hideCompletedTasks()`](/api/methods/hidecompletedtasks_method/), [`showCompletedTasks()`](/api/methods/showcompletedtasks_method/) + - new events: [`hide-completed-tasks`](/api/events/hidecompletedtasks_event/), [`show-completed-tasks`](/api/events/showcompletedtasks_event/) + - new `hideCompleted` parameter for the methods: [`hasChildren()`](/api/methods/haschildren_method/), [`getChildrenIds()`](/api/methods/getchildrenids_method/) +- [Task sorting](/guides/sorting_filtering_tasks/#sorting-tasks): - via Toolbar menu - via API: - - new method: [`setSort()`](api/methods/setsort_method.md) - - new event: [`set-sort`](api/events/setsort_event.md) - - extended list of parameters of the [`tasks`](api/configs/tasks_config.md) property -- New events for managing the menu: [`open-menu`](api/events/openmenu_event.md) and [`close-menu`](api/events/closemenu_event.md) + - new method: [`setSort()`](/api/methods/setsort_method/) + - new event: [`set-sort`](/api/events/setsort_event/) + - extended list of parameters of the [`tasks`](/api/configs/tasks_config/) property +- New events for managing the menu: [`open-menu`](/api/events/openmenu_event/) and [`close-menu`](/api/events/closemenu_event/) ### Updates -- [Extended list of locale options](guides/localization.md) +- [Extended list of locale options](/guides/localization/) ## Version 1.0.1 @@ -210,62 +210,62 @@ Released on June 20, 2022 ### Initial functionality -- The ability [to load data for **tasks**, **projects**, **users**, **tags**, **activeProject**](guides/loading_data.md) +- The ability [to load data for **tasks**, **projects**, **users**, **tags**, **activeProject**](/guides/loading_data/) - The ability to work with **projects** in the following ways: - - [via API](guides/project_index.md): - - [change the active project](api/methods/setproject_method.md) - - [add new projects](api/methods/addproject_method.md) - - [update projects](api/methods/updateproject_method.md) - - [delete projects](api/methods/deleteproject_method.md) + - [via API](/guides/project_index/): + - [change the active project](/api/methods/setproject_method/) + - [add new projects](/api/methods/addproject_method/) + - [update projects](/api/methods/updateproject_method/) + - [delete projects](/api/methods/deleteproject_method/) - [via UI](../#toolbar): - switch between projects - add, rename, or delete projects - search for the necessary projects - The ability to work with **tasks** in the following ways: - - [via API](guides/task_index.md): - - [add new tasks](api/methods/addtask_method.md) - - [update tasks](api/methods/updatetask_method.md) - - [delete tasks](api/methods/deletetask_method.md) - - [move tasks](api/methods/movetask_method.md) - - [copy](api/methods/copytask_method.md) and [paste](api/methods/pastetask_method.md) tasks - - [check](api/methods/checktask_method.md) and [uncheck](api/methods/unchecktask_method.md) tasks - - [collapse](api/methods/collapsetask_method.md) and [expand](api/methods/expandtask_method.md) tasks - - [select](api/methods/selecttask_method.md) and [unselect](api/methods/unselecttask_method.md) tasks - - change the indent level of tasks: [indentTask()](api/methods/indenttask_method.md) / [unindentTask()](api/methods/unindenttask_method.md) - - [assign](api/methods/assignuser_method.md) and [unassign](api/methods/unassignuser_method.md) users - - [filter tasks](api/methods/setfilter_method.md) + - [via API](/guides/task_index/): + - [add new tasks](/api/methods/addtask_method/) + - [update tasks](/api/methods/updatetask_method/) + - [delete tasks](/api/methods/deletetask_method/) + - [move tasks](/api/methods/movetask_method/) + - [copy](/api/methods/copytask_method/) and [paste](/api/methods/pastetask_method/) tasks + - [check](/api/methods/checktask_method/) and [uncheck](/api/methods/unchecktask_method/) tasks + - [collapse](/api/methods/collapsetask_method/) and [expand](/api/methods/expandtask_method/) tasks + - [select](/api/methods/selecttask_method/) and [unselect](/api/methods/unselecttask_method/) tasks + - change the indent level of tasks: [indentTask()](/api/methods/indenttask_method/) / [unindentTask()](/api/methods/unindenttask_method/) + - [assign](/api/methods/assignuser_method/) and [unassign](/api/methods/unassignuser_method/) users + - [filter tasks](/api/methods/setfilter_method/) - [via UI](../#managing-a-task): - add, copy and paste, select, move, indent/unindent, delete tasks - search for tasks (by symbols or hashtags) - edit tasks: - - [edit the content of a task by double-click on it](guides/inline_editing.md): enter text, numbers, hashtags, dates + - [edit the content of a task by double-click on it](/guides/inline_editing/): enter text, numbers, hashtags, dates - assign/unassign users - set due date - The ability to configure **tasks appearance and behavior**: - - [counter of completed subtasks](guides/configuration.md#counter-of-completed-subtasks) - - [date format](guides/configuration.md#date-format) - - [due date validation](guides/configuration.md#due-date-validation) - - [mode of marking tasks complete](guides/configuration.md#mode-of-marking-tasks-complete) -- The ability to [configure](guides/configuration.md#toolbar) and [customize](guides/customization.md#toolbar) **Toolbar** -- [Keyboard navigation](api/events/keypressontodo_event.md#keyboard-shortcuts) -- [Read-only mode](guides/readonly_mode.md) -- [Localization](guides/localization.md) -- [Backend integration](guides/working_with_server.md) (Go and Node) -- [Integration with other DHTMLX widgets](guides/integration.md) + - [counter of completed subtasks](/guides/configuration/#counter-of-completed-subtasks) + - [date format](/guides/configuration/#date-format) + - [due date validation](/guides/configuration/#due-date-validation) + - [mode of marking tasks complete](/guides/configuration/#mode-of-marking-tasks-complete) +- The ability to [configure](/guides/configuration/#toolbar) and [customize](/guides/customization/#toolbar) **Toolbar** +- [Keyboard navigation](/api/events/keypressontodo_event/#keyboard-shortcuts) +- [Read-only mode](/guides/readonly_mode/) +- [Localization](/guides/localization/) +- [Backend integration](/guides/working_with_server/) (Go and Node) +- [Integration with other DHTMLX widgets](/guides/integration/) - Cross browser compatibility - Touch support ### API - **To Do List API**: - - [methods](api/overview/methods_overview.md) + - [methods](/api/overview/methods_overview/) - internal API: - - [Event Bus methods](category/event-bus-methods.md) - - [State methods](category/state-methods.md) - - [events](api/overview/events_overview.md) - - [properties](api/overview/configs_overview.md) + - [Event Bus methods](/category/event-bus-methods/) + - [State methods](/category/state-methods/) + - [events](/api/overview/events_overview/) + - [properties](/api/overview/configs_overview/) - **Toolbar API**: - - [methods](category/toolbar-methods.md) - - [properties](category/toolbar-properties.md) + - [methods](/category/toolbar-methods/) + - [properties](/category/toolbar-properties/) - **RestDataProvider API**: - - [REST methods](category/rest-methods.md) + - [REST methods](/category/rest-methods/) diff --git a/docusaurus.config.js b/docusaurus.config.js index e4fad23..7978d9d 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -130,6 +130,16 @@ module.exports = { tagline: 'DHTMLX JavaScript To Do List Docs', url: 'https://docs.dhtmlx.com', baseUrl: '/todolist/', + i18n: { + defaultLocale: 'en', + locales: ['en', 'de', 'ru', 'zh', 'ko'], + localeConfigs: { + zh: { + htmlLang: 'zh-CN', + label: '中文' + }, + } + }, onBrokenLinks: 'warn', onBrokenAnchors: 'warn', markdown: { @@ -173,6 +183,10 @@ module.exports = { label: 'Download', href: 'https://dhtmlx.com/docs/products/dhtmlxTodo/download.shtml', position: 'right' + }, + { + type: 'localeDropdown', + position: 'right', } ] }, diff --git a/i18n/de/code.json b/i18n/de/code.json new file mode 100644 index 0000000..74546c4 --- /dev/null +++ b/i18n/de/code.json @@ -0,0 +1,364 @@ +{ + "theme.ErrorPageContent.title": { + "message": "Die Seite ist abgestürzt.", + "description": "The title of the fallback page when the page crashed" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "Zurück nach oben scrollen", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "Archiv", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "Archiv", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "Navigation der Blog-Listenseite", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "Neuere Einträge", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "Ältere Einträge", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "Blog Post Seiten Navigation", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "Neuer Post", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "Älterer Post", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.tags.tagsPageLink": { + "message": "Alle Tags anzeigen", + "description": "The label of the link targeting the tag list page" + }, + "theme.colorToggle.ariaLabel.mode.system": { + "message": "system mode", + "description": "The name for the system color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "heller Modus", + "description": "The name for the light color mode" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "dunkler Modus", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel": { + "message": "Umschalten zwischen dunkler und heller Ansicht (momentan {mode})", + "description": "The ARIA label for the color mode toggle" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "Breadcrumbs", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.DocCard.categoryDescription.plurals": { + "message": "1 Eintrag|{count} Einträge", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "Dokumentation Seiten", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "Zurück", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "Weiter", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "Ein doc getaggt|{count} docs getaggt", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged} mit \"{tagName}\"", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "Version: {versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "Das ist die unveröffentlichte Dokumentation für {siteTitle} {versionLabel}.", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "Das ist die Dokumentation für {siteTitle} {versionLabel} und wird nicht weiter gewartet.", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "Für die aktuellste Dokumentation bitte auf {latestVersionLink} ({versionLabel}) gehen.", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "letzte Version", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "Diese Seite bearbeiten", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "Direkter Link zur {heading}", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": " am {date}", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": " von {user}", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "Letztes Update{atDate}{byUser}", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "Versionen", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.NotFound.title": { + "message": "Seite nicht gefunden", + "description": "The title of the 404 page" + }, + "theme.tags.tagsListLabel": { + "message": "Tags:", + "description": "The label alongside a tag list" + }, + "theme.admonition.caution": { + "message": "vorsicht", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "gefahr", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "info", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "hinweis", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "tipp", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "warnung", + "description": "The default label used for the Warning admonition (:::warning)" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "Schließen", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "Navigation der letzten Beiträge im Blog", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "Expand sidebar category '{label}'", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "Collapse sidebar category '{label}'", + "description": "The ARIA label to collapse the sidebar category" + }, + "theme.IconExternalLink.ariaLabel": { + "message": "(opens in new tab)", + "description": "The ARIA label for the external link icon" + }, + "theme.NavBar.navAriaLabel": { + "message": "Main", + "description": "The ARIA label for the main navigation" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "Sprachen", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.NotFound.p1": { + "message": "Wir konnten nicht finden, wonach Sie gesucht haben.", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "Bitte kontaktieren Sie den Besitzer der Seite, die Sie mit der ursprünglichen URL verlinkt hat, und teilen Sie ihm mit, dass der Link nicht mehr funktioniert.", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "Auf dieser Seite", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readMore": { + "message": "Mehr lesen", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "Mehr lesen über {title}", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.blog.post.readingTime.plurals": { + "message": "Eine Minute Lesezeit|{readingTime} Minuten Lesezeit", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.CodeBlock.copy": { + "message": "Kopieren", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.copied": { + "message": "Kopiert", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "In die Zwischenablage kopieren", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "Toggle word wrap", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.docs.breadcrumbs.home": { + "message": "Home page", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "Seitenleiste einklappen", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "Seitenleiste einklappen", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "Docs sidebar", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "Close navigation bar", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← Zurück zum Hauptmenü", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "Toggle navigation bar", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { + "message": "Expand the dropdown", + "description": "The ARIA label of the button to expand the mobile dropdown navbar item" + }, + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { + "message": "Collapse the dropdown", + "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "Seitenleiste ausklappen", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "Seitenleiste ausklappen", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.SearchBar.noResultsText": { + "message": "Keine Ergebnisse" + }, + "theme.SearchBar.seeAllOutsideContext": { + "message": "Alle Ergebnisse außerhalb von \"{context}\" anzeigen" + }, + "theme.SearchBar.searchInContext": { + "message": "Alle Ergebnisse innerhalb von \"{context}\" anzeigen" + }, + "theme.SearchBar.seeAll": { + "message": "Alle Ergebnisse anzeigen" + }, + "theme.SearchBar.label": { + "message": "Suche", + "description": "The ARIA label and placeholder for search button" + }, + "theme.SearchPage.existingResultsTitle": { + "message": "Suchergebnisse für \"{query}\"", + "description": "The search page title for non-empty query" + }, + "theme.SearchPage.emptyResultsTitle": { + "message": "Suche in der Dokumentation", + "description": "The search page title for empty query" + }, + "theme.SearchPage.searchContext.everywhere": { + "message": "Überall" + }, + "theme.SearchPage.documentsFound.plurals": { + "message": "1 Dokument gefunden|{count} Dokumente gefunden", + "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.SearchPage.noResultsText": { + "message": "Es wurden keine Dokumente gefunden", + "description": "The paragraph for empty search result" + }, + "theme.blog.post.plurals": { + "message": "Ein Post|{count} Posts", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "{nPosts} getaggt mit \"{tagName}\"", + "description": "The title of the page for a blog tag" + }, + "theme.blog.author.pageTitle": { + "message": "{authorName} - {nPosts}", + "description": "The title of the page for a blog author" + }, + "theme.blog.authorsList.pageTitle": { + "message": "Authors", + "description": "The title of the authors page" + }, + "theme.blog.authorsList.viewAll": { + "message": "View All Authors", + "description": "The label of the link targeting the blog authors page" + }, + "theme.blog.author.noPosts": { + "message": "This author has not written any posts yet.", + "description": "The text for authors with 0 blog post" + }, + "theme.contentVisibility.unlistedBanner.title": { + "message": "Unlisted page", + "description": "The unlisted content banner title" + }, + "theme.contentVisibility.unlistedBanner.message": { + "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.", + "description": "The unlisted content banner message" + }, + "theme.contentVisibility.draftBanner.title": { + "message": "Draft page", + "description": "The draft content banner title" + }, + "theme.contentVisibility.draftBanner.message": { + "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.", + "description": "The draft content banner message" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "Nochmal versuchen", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "Zum Hauptinhalt springen", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "Tags", + "description": "The title of the tag list page" + } +} diff --git a/i18n/de/docusaurus-plugin-content-docs/current.json b/i18n/de/docusaurus-plugin-content-docs/current.json new file mode 100644 index 0000000..324cac4 --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,170 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docs.category.What's new and migration": { + "message": "What's new and migration", + "description": "The label for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.What's new and migration.link.generated-index.title": { + "message": "What's new and migration", + "description": "The generated-index page title for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.API": { + "message": "API", + "description": "The label for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List API": { + "message": "To Do List API", + "description": "The label for category 'To Do List API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List methods": { + "message": "To Do List methods", + "description": "The label for category 'To Do List methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API": { + "message": "To Do List internal API", + "description": "The label for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods": { + "message": "Event Bus methods", + "description": "The label for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods.link.generated-index.title": { + "message": "Event Bus methods", + "description": "The generated-index page title for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods": { + "message": "State methods", + "description": "The label for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods.link.generated-index.title": { + "message": "State methods", + "description": "The generated-index page title for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List events": { + "message": "To Do List events", + "description": "The label for category 'To Do List events' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List properties": { + "message": "To Do List properties", + "description": "The label for category 'To Do List properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API": { + "message": "Toolbar API", + "description": "The label for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API.link.generated-index.title": { + "message": "Toolbar API", + "description": "The generated-index page title for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods": { + "message": "Toolbar methods", + "description": "The label for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods.link.generated-index.title": { + "message": "Toolbar methods", + "description": "The generated-index page title for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties": { + "message": "Toolbar properties", + "description": "The label for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties.link.generated-index.title": { + "message": "Toolbar properties", + "description": "The generated-index page title for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API": { + "message": "Backend API", + "description": "The label for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API.link.generated-index.title": { + "message": "Backend API", + "description": "The generated-index page title for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API": { + "message": "RestDataProvider API", + "description": "The label for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API.link.generated-index.title": { + "message": "RestDataProvider API", + "description": "The generated-index page title for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods": { + "message": "REST methods", + "description": "The label for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods.link.generated-index.title": { + "message": "REST methods", + "description": "The generated-index page title for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST routes": { + "message": "REST routes", + "description": "The label for category 'REST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes": { + "message": "GET routes", + "description": "The label for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes.link.generated-index.title": { + "message": "GET routes", + "description": "The generated-index page title for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes": { + "message": "POST routes", + "description": "The label for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes.link.generated-index.title": { + "message": "POST routes", + "description": "The generated-index page title for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes": { + "message": "PUT routes", + "description": "The label for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes.link.generated-index.title": { + "message": "PUT routes", + "description": "The generated-index page title for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes": { + "message": "DELETE routes", + "description": "The label for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes.link.generated-index.title": { + "message": "DELETE routes", + "description": "The generated-index page title for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration": { + "message": "Backend and frameworks integration", + "description": "The label for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration.link.generated-index.title": { + "message": "Backend and frameworks integration", + "description": "The generated-index page title for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides": { + "message": "Guides", + "description": "The label for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides.link.generated-index.title": { + "message": "Guides", + "description": "The generated-index page title for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing tasks": { + "message": "Managing tasks", + "description": "The label for category 'Managing tasks' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing projects": { + "message": "Managing projects", + "description": "The label for category 'Managing projects' in sidebar 'docs'" + } +} diff --git a/i18n/de/docusaurus-theme-classic/footer.json b/i18n/de/docusaurus-theme-classic/footer.json new file mode 100644 index 0000000..f1edd50 --- /dev/null +++ b/i18n/de/docusaurus-theme-classic/footer.json @@ -0,0 +1,62 @@ +{ + "link.title.Development center": { + "message": "Development center", + "description": "The title of the footer links column with title=Development center in the footer" + }, + "link.title.Community": { + "message": "Community", + "description": "The title of the footer links column with title=Community in the footer" + }, + "link.title.Company": { + "message": "Company", + "description": "The title of the footer links column with title=Company in the footer" + }, + "link.item.label.Download To Do List": { + "message": "Download To Do List", + "description": "The label of footer link with label=Download To Do List linking to https://dhtmlx.com/docs/products/dhtmlxTodo/download.shtml" + }, + "link.item.label.Examples": { + "message": "Examples", + "description": "The label of footer link with label=Examples linking to https://snippet.dhtmlx.com/3vwlbwee?tag=todolist" + }, + "link.item.label.Blog": { + "message": "Blog", + "description": "The label of footer link with label=Blog linking to https://dhtmlx.com/blog/tag/to-do-list/" + }, + "link.item.label.Forum": { + "message": "Forum", + "description": "The label of footer link with label=Forum linking to https://forum.dhtmlx.com/c/todo" + }, + "link.item.label.GitHub": { + "message": "GitHub", + "description": "The label of footer link with label=GitHub linking to https://github.com/DHTMLX" + }, + "link.item.label.Youtube": { + "message": "Youtube", + "description": "The label of footer link with label=Youtube linking to https://www.youtube.com/user/dhtmlx" + }, + "link.item.label.Facebook": { + "message": "Facebook", + "description": "The label of footer link with label=Facebook linking to https://www.facebook.com/dhtmlx" + }, + "link.item.label.Twitter": { + "message": "Twitter", + "description": "The label of footer link with label=Twitter linking to https://twitter.com/dhtmlx" + }, + "link.item.label.Linkedin": { + "message": "Linkedin", + "description": "The label of footer link with label=Linkedin linking to https://www.linkedin.com/groups/3345009/" + }, + "link.item.label.About us": { + "message": "About us", + "description": "The label of footer link with label=About us linking to https://dhtmlx.com/docs/company.shtml" + }, + "link.item.label.Contact us": { + "message": "Contact us", + "description": "The label of footer link with label=Contact us linking to https://dhtmlx.com/docs/contact.shtml" + }, + "link.item.label.Licensing": { + "message": "Licensing", + "description": "The label of footer link with label=Licensing linking to https://dhtmlx.com/docs/products/dhtmlxTodo/#licensing" + } +} diff --git a/i18n/de/docusaurus-theme-classic/navbar.json b/i18n/de/docusaurus-theme-classic/navbar.json new file mode 100644 index 0000000..4b6fb38 --- /dev/null +++ b/i18n/de/docusaurus-theme-classic/navbar.json @@ -0,0 +1,26 @@ +{ + "title": { + "message": "To Do List Documentation", + "description": "The title in the navbar" + }, + "logo.alt": { + "message": "DHTMLX To Do List Logo", + "description": "The alt text of navbar logo" + }, + "item.label.Examples": { + "message": "Examples", + "description": "Navbar item with label Examples" + }, + "item.label.Forum": { + "message": "Forum", + "description": "Navbar item with label Forum" + }, + "item.label.Support": { + "message": "Support", + "description": "Navbar item with label Support" + }, + "item.label.Download": { + "message": "Download", + "description": "Navbar item with label Download" + } +} diff --git a/i18n/en/code.json b/i18n/en/code.json new file mode 100644 index 0000000..d054b09 --- /dev/null +++ b/i18n/en/code.json @@ -0,0 +1,364 @@ +{ + "theme.ErrorPageContent.title": { + "message": "This page crashed.", + "description": "The title of the fallback page when the page crashed" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "Scroll back to top", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "Archive", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "Archive", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "Blog list page navigation", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "Newer entries", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "Older entries", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "Blog post page navigation", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "Newer post", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "Older post", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.tags.tagsPageLink": { + "message": "View all tags", + "description": "The label of the link targeting the tag list page" + }, + "theme.colorToggle.ariaLabel.mode.system": { + "message": "system mode", + "description": "The name for the system color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "light mode", + "description": "The name for the light color mode" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "dark mode", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel": { + "message": "Switch between dark and light mode (currently {mode})", + "description": "The ARIA label for the color mode toggle" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "Breadcrumbs", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.DocCard.categoryDescription.plurals": { + "message": "1 item|{count} items", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "Docs pages", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "Previous", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "Next", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "One doc tagged|{count} docs tagged", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged} with \"{tagName}\"", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "Version: {versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "latest version", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "Edit this page", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "Direct link to {heading}", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": " on {date}", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": " by {user}", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "Last updated{atDate}{byUser}", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "Versions", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.NotFound.title": { + "message": "Page Not Found", + "description": "The title of the 404 page" + }, + "theme.tags.tagsListLabel": { + "message": "Tags:", + "description": "The label alongside a tag list" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "Close", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.admonition.caution": { + "message": "caution", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "danger", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "info", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "note", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "tip", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "warning", + "description": "The default label used for the Warning admonition (:::warning)" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "Blog recent posts navigation", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "Expand sidebar category '{label}'", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "Collapse sidebar category '{label}'", + "description": "The ARIA label to collapse the sidebar category" + }, + "theme.IconExternalLink.ariaLabel": { + "message": "(opens in new tab)", + "description": "The ARIA label for the external link icon" + }, + "theme.NavBar.navAriaLabel": { + "message": "Main", + "description": "The ARIA label for the main navigation" + }, + "theme.NotFound.p1": { + "message": "We could not find what you were looking for.", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "Languages", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "On this page", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readMore": { + "message": "Read more", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "Read more about {title}", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.blog.post.readingTime.plurals": { + "message": "One min read|{readingTime} min read", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.CodeBlock.copy": { + "message": "Copy", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.copied": { + "message": "Copied", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "Copy code to clipboard", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "Toggle word wrap", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.docs.breadcrumbs.home": { + "message": "Home page", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "Collapse sidebar", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "Collapse sidebar", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "Docs sidebar", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "Close navigation bar", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← Back to main menu", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "Toggle navigation bar", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { + "message": "Expand the dropdown", + "description": "The ARIA label of the button to expand the mobile dropdown navbar item" + }, + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { + "message": "Collapse the dropdown", + "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "Expand sidebar", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "Expand sidebar", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.SearchBar.noResultsText": { + "message": "No results" + }, + "theme.SearchBar.seeAllOutsideContext": { + "message": "See all results outside \"{context}\"" + }, + "theme.SearchBar.searchInContext": { + "message": "See all results within \"{context}\"" + }, + "theme.SearchBar.seeAll": { + "message": "See all results" + }, + "theme.SearchBar.label": { + "message": "Search", + "description": "The ARIA label and placeholder for search button" + }, + "theme.SearchPage.existingResultsTitle": { + "message": "Search results for \"{query}\"", + "description": "The search page title for non-empty query" + }, + "theme.SearchPage.emptyResultsTitle": { + "message": "Search the documentation", + "description": "The search page title for empty query" + }, + "theme.SearchPage.searchContext.everywhere": { + "message": "Everywhere" + }, + "theme.SearchPage.documentsFound.plurals": { + "message": "1 document found|{count} documents found", + "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.SearchPage.noResultsText": { + "message": "No documents were found", + "description": "The paragraph for empty search result" + }, + "theme.blog.post.plurals": { + "message": "One post|{count} posts", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "{nPosts} tagged with \"{tagName}\"", + "description": "The title of the page for a blog tag" + }, + "theme.blog.author.pageTitle": { + "message": "{authorName} - {nPosts}", + "description": "The title of the page for a blog author" + }, + "theme.blog.authorsList.pageTitle": { + "message": "Authors", + "description": "The title of the authors page" + }, + "theme.blog.authorsList.viewAll": { + "message": "View all authors", + "description": "The label of the link targeting the blog authors page" + }, + "theme.blog.author.noPosts": { + "message": "This author has not written any posts yet.", + "description": "The text for authors with 0 blog post" + }, + "theme.contentVisibility.unlistedBanner.title": { + "message": "Unlisted page", + "description": "The unlisted content banner title" + }, + "theme.contentVisibility.unlistedBanner.message": { + "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.", + "description": "The unlisted content banner message" + }, + "theme.contentVisibility.draftBanner.title": { + "message": "Draft page", + "description": "The draft content banner title" + }, + "theme.contentVisibility.draftBanner.message": { + "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.", + "description": "The draft content banner message" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "Try again", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "Skip to main content", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "Tags", + "description": "The title of the tag list page" + } +} diff --git a/i18n/en/docusaurus-plugin-content-docs/current.json b/i18n/en/docusaurus-plugin-content-docs/current.json new file mode 100644 index 0000000..324cac4 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,170 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docs.category.What's new and migration": { + "message": "What's new and migration", + "description": "The label for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.What's new and migration.link.generated-index.title": { + "message": "What's new and migration", + "description": "The generated-index page title for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.API": { + "message": "API", + "description": "The label for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List API": { + "message": "To Do List API", + "description": "The label for category 'To Do List API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List methods": { + "message": "To Do List methods", + "description": "The label for category 'To Do List methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API": { + "message": "To Do List internal API", + "description": "The label for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods": { + "message": "Event Bus methods", + "description": "The label for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods.link.generated-index.title": { + "message": "Event Bus methods", + "description": "The generated-index page title for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods": { + "message": "State methods", + "description": "The label for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods.link.generated-index.title": { + "message": "State methods", + "description": "The generated-index page title for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List events": { + "message": "To Do List events", + "description": "The label for category 'To Do List events' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List properties": { + "message": "To Do List properties", + "description": "The label for category 'To Do List properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API": { + "message": "Toolbar API", + "description": "The label for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API.link.generated-index.title": { + "message": "Toolbar API", + "description": "The generated-index page title for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods": { + "message": "Toolbar methods", + "description": "The label for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods.link.generated-index.title": { + "message": "Toolbar methods", + "description": "The generated-index page title for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties": { + "message": "Toolbar properties", + "description": "The label for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties.link.generated-index.title": { + "message": "Toolbar properties", + "description": "The generated-index page title for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API": { + "message": "Backend API", + "description": "The label for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API.link.generated-index.title": { + "message": "Backend API", + "description": "The generated-index page title for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API": { + "message": "RestDataProvider API", + "description": "The label for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API.link.generated-index.title": { + "message": "RestDataProvider API", + "description": "The generated-index page title for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods": { + "message": "REST methods", + "description": "The label for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods.link.generated-index.title": { + "message": "REST methods", + "description": "The generated-index page title for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST routes": { + "message": "REST routes", + "description": "The label for category 'REST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes": { + "message": "GET routes", + "description": "The label for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes.link.generated-index.title": { + "message": "GET routes", + "description": "The generated-index page title for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes": { + "message": "POST routes", + "description": "The label for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes.link.generated-index.title": { + "message": "POST routes", + "description": "The generated-index page title for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes": { + "message": "PUT routes", + "description": "The label for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes.link.generated-index.title": { + "message": "PUT routes", + "description": "The generated-index page title for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes": { + "message": "DELETE routes", + "description": "The label for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes.link.generated-index.title": { + "message": "DELETE routes", + "description": "The generated-index page title for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration": { + "message": "Backend and frameworks integration", + "description": "The label for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration.link.generated-index.title": { + "message": "Backend and frameworks integration", + "description": "The generated-index page title for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides": { + "message": "Guides", + "description": "The label for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides.link.generated-index.title": { + "message": "Guides", + "description": "The generated-index page title for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing tasks": { + "message": "Managing tasks", + "description": "The label for category 'Managing tasks' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing projects": { + "message": "Managing projects", + "description": "The label for category 'Managing projects' in sidebar 'docs'" + } +} diff --git a/i18n/en/docusaurus-theme-classic/footer.json b/i18n/en/docusaurus-theme-classic/footer.json new file mode 100644 index 0000000..f1edd50 --- /dev/null +++ b/i18n/en/docusaurus-theme-classic/footer.json @@ -0,0 +1,62 @@ +{ + "link.title.Development center": { + "message": "Development center", + "description": "The title of the footer links column with title=Development center in the footer" + }, + "link.title.Community": { + "message": "Community", + "description": "The title of the footer links column with title=Community in the footer" + }, + "link.title.Company": { + "message": "Company", + "description": "The title of the footer links column with title=Company in the footer" + }, + "link.item.label.Download To Do List": { + "message": "Download To Do List", + "description": "The label of footer link with label=Download To Do List linking to https://dhtmlx.com/docs/products/dhtmlxTodo/download.shtml" + }, + "link.item.label.Examples": { + "message": "Examples", + "description": "The label of footer link with label=Examples linking to https://snippet.dhtmlx.com/3vwlbwee?tag=todolist" + }, + "link.item.label.Blog": { + "message": "Blog", + "description": "The label of footer link with label=Blog linking to https://dhtmlx.com/blog/tag/to-do-list/" + }, + "link.item.label.Forum": { + "message": "Forum", + "description": "The label of footer link with label=Forum linking to https://forum.dhtmlx.com/c/todo" + }, + "link.item.label.GitHub": { + "message": "GitHub", + "description": "The label of footer link with label=GitHub linking to https://github.com/DHTMLX" + }, + "link.item.label.Youtube": { + "message": "Youtube", + "description": "The label of footer link with label=Youtube linking to https://www.youtube.com/user/dhtmlx" + }, + "link.item.label.Facebook": { + "message": "Facebook", + "description": "The label of footer link with label=Facebook linking to https://www.facebook.com/dhtmlx" + }, + "link.item.label.Twitter": { + "message": "Twitter", + "description": "The label of footer link with label=Twitter linking to https://twitter.com/dhtmlx" + }, + "link.item.label.Linkedin": { + "message": "Linkedin", + "description": "The label of footer link with label=Linkedin linking to https://www.linkedin.com/groups/3345009/" + }, + "link.item.label.About us": { + "message": "About us", + "description": "The label of footer link with label=About us linking to https://dhtmlx.com/docs/company.shtml" + }, + "link.item.label.Contact us": { + "message": "Contact us", + "description": "The label of footer link with label=Contact us linking to https://dhtmlx.com/docs/contact.shtml" + }, + "link.item.label.Licensing": { + "message": "Licensing", + "description": "The label of footer link with label=Licensing linking to https://dhtmlx.com/docs/products/dhtmlxTodo/#licensing" + } +} diff --git a/i18n/en/docusaurus-theme-classic/navbar.json b/i18n/en/docusaurus-theme-classic/navbar.json new file mode 100644 index 0000000..4b6fb38 --- /dev/null +++ b/i18n/en/docusaurus-theme-classic/navbar.json @@ -0,0 +1,26 @@ +{ + "title": { + "message": "To Do List Documentation", + "description": "The title in the navbar" + }, + "logo.alt": { + "message": "DHTMLX To Do List Logo", + "description": "The alt text of navbar logo" + }, + "item.label.Examples": { + "message": "Examples", + "description": "Navbar item with label Examples" + }, + "item.label.Forum": { + "message": "Forum", + "description": "Navbar item with label Forum" + }, + "item.label.Support": { + "message": "Support", + "description": "Navbar item with label Support" + }, + "item.label.Download": { + "message": "Download", + "description": "Navbar item with label Download" + } +} diff --git a/i18n/ko/code.json b/i18n/ko/code.json new file mode 100644 index 0000000..d19da4f --- /dev/null +++ b/i18n/ko/code.json @@ -0,0 +1,364 @@ +{ + "theme.ErrorPageContent.title": { + "message": "페이지에 오류가 발생하였습니다.", + "description": "The title of the fallback page when the page crashed" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "맨 위로 스크롤하기", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "게시물 목록", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "게시물 목록", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "블로그 게시물 목록 탐색", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "이전 페이지", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "다음 페이지", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "블로그 게시물 탐색", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "이전 게시물", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "다음 게시물", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.tags.tagsPageLink": { + "message": "모든 태그 보기", + "description": "The label of the link targeting the tag list page" + }, + "theme.colorToggle.ariaLabel.mode.system": { + "message": "system mode", + "description": "The name for the system color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "밝은 모드", + "description": "The name for the light color mode" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "어두운 모드", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel": { + "message": "어두운 모드와 밝은 모드 전환하기 (현재 {mode})", + "description": "The ARIA label for the color mode toggle" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "탐색 경로", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.DocCard.categoryDescription.plurals": { + "message": "{count} 항목", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "문서 페이지", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "이전", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "다음", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "{count}개 문서가", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged} \"{tagName}\" 태그에 분류되었습니다", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "버전: {versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "{siteTitle} {versionLabel} 문서는 아직 정식 공개되지 않았습니다.", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "{siteTitle} {versionLabel} 문서는 더 이상 업데이트되지 않습니다.", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "최신 문서는 {latestVersionLink} ({versionLabel})을 확인하세요.", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "최신 버전", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "페이지 편집", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "{heading}에 대한 직접 링크", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": " {date}에", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": " {user}가", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "최종 수정: {atDate}{byUser}", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "버전", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.NotFound.title": { + "message": "페이지를 찾을 수 없습니다.", + "description": "The title of the 404 page" + }, + "theme.tags.tagsListLabel": { + "message": "태그:", + "description": "The label alongside a tag list" + }, + "theme.admonition.caution": { + "message": "주의", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "위험", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "정보", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "노트", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "팁", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "경고", + "description": "The default label used for the Warning admonition (:::warning)" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "닫기", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "최근 블로그 문서 둘러보기", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "사이드바 분류 '{label}' 펼치기", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "사이드바 분류 '{label}' 접기", + "description": "The ARIA label to collapse the sidebar category" + }, + "theme.IconExternalLink.ariaLabel": { + "message": "(opens in new tab)", + "description": "The ARIA label for the external link icon" + }, + "theme.NavBar.navAriaLabel": { + "message": "메인", + "description": "The ARIA label for the main navigation" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "언어", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.NotFound.p1": { + "message": "원하는 페이지를 찾을 수 없습니다.", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "사이트 관리자에게 링크가 깨진 것을 알려주세요.", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "이 페이지에서", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readMore": { + "message": "자세히 보기", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "{title} 에 대해 더 읽어보기", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.blog.post.readingTime.plurals": { + "message": "약 {readingTime}분", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.CodeBlock.copy": { + "message": "복사", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.copied": { + "message": "복사했습니다", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "클립보드에 코드 복사", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "줄 바꿈 전환", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.docs.breadcrumbs.home": { + "message": "홈", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "사이드바 숨기기", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "사이드바 숨기기", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "문서 사이드바", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "사이드바 닫기", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← 메인 메뉴로 돌아가기", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "사이드바 펼치거나 접기", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { + "message": "Expand the dropdown", + "description": "The ARIA label of the button to expand the mobile dropdown navbar item" + }, + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { + "message": "Collapse the dropdown", + "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "사이드바 열기", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "사이드바 열기", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.SearchBar.noResultsText": { + "message": "No results" + }, + "theme.SearchBar.seeAllOutsideContext": { + "message": "See all results outside \"{context}\"" + }, + "theme.SearchBar.searchInContext": { + "message": "See all results within \"{context}\"" + }, + "theme.SearchBar.seeAll": { + "message": "See all results" + }, + "theme.SearchBar.label": { + "message": "Search", + "description": "The ARIA label and placeholder for search button" + }, + "theme.SearchPage.existingResultsTitle": { + "message": "Search results for \"{query}\"", + "description": "The search page title for non-empty query" + }, + "theme.SearchPage.emptyResultsTitle": { + "message": "Search the documentation", + "description": "The search page title for empty query" + }, + "theme.SearchPage.searchContext.everywhere": { + "message": "Everywhere" + }, + "theme.SearchPage.documentsFound.plurals": { + "message": "1 document found|{count} documents found", + "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.SearchPage.noResultsText": { + "message": "No documents were found", + "description": "The paragraph for empty search result" + }, + "theme.blog.post.plurals": { + "message": "{count}개 게시물", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "\"{tagName}\" 태그로 연결된 {nPosts}개의 게시물이 있습니다.", + "description": "The title of the page for a blog tag" + }, + "theme.blog.author.pageTitle": { + "message": "{authorName} - {nPosts}", + "description": "The title of the page for a blog author" + }, + "theme.blog.authorsList.pageTitle": { + "message": "저자", + "description": "The title of the authors page" + }, + "theme.blog.authorsList.viewAll": { + "message": "모든 저자 보기", + "description": "The label of the link targeting the blog authors page" + }, + "theme.blog.author.noPosts": { + "message": "작성자가 아직 게시글을 작성하지 않았습니다.", + "description": "The text for authors with 0 blog post" + }, + "theme.contentVisibility.unlistedBanner.title": { + "message": "색인되지 않은 문서", + "description": "The unlisted content banner title" + }, + "theme.contentVisibility.unlistedBanner.message": { + "message": "이 문서는 색인되지 않습니다. 검색 엔진이 이 문서를 색인하지 않으며, 주소를 알고 있는 사용자만 접근할 수 있습니다.", + "description": "The unlisted content banner message" + }, + "theme.contentVisibility.draftBanner.title": { + "message": "작성 중인 페이지", + "description": "The draft content banner title" + }, + "theme.contentVisibility.draftBanner.message": { + "message": "이 페이지는 아직 작성 중입니다. 개발 환경에서만 보이며 프로덕션 빌드에서는 제외됩니다.", + "description": "The draft content banner message" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "다시 시도해 보세요", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "본문으로 건너뛰기", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "태그", + "description": "The title of the tag list page" + } +} diff --git a/i18n/ko/docusaurus-plugin-content-docs/current.json b/i18n/ko/docusaurus-plugin-content-docs/current.json new file mode 100644 index 0000000..324cac4 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,170 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docs.category.What's new and migration": { + "message": "What's new and migration", + "description": "The label for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.What's new and migration.link.generated-index.title": { + "message": "What's new and migration", + "description": "The generated-index page title for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.API": { + "message": "API", + "description": "The label for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List API": { + "message": "To Do List API", + "description": "The label for category 'To Do List API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List methods": { + "message": "To Do List methods", + "description": "The label for category 'To Do List methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API": { + "message": "To Do List internal API", + "description": "The label for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods": { + "message": "Event Bus methods", + "description": "The label for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods.link.generated-index.title": { + "message": "Event Bus methods", + "description": "The generated-index page title for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods": { + "message": "State methods", + "description": "The label for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods.link.generated-index.title": { + "message": "State methods", + "description": "The generated-index page title for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List events": { + "message": "To Do List events", + "description": "The label for category 'To Do List events' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List properties": { + "message": "To Do List properties", + "description": "The label for category 'To Do List properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API": { + "message": "Toolbar API", + "description": "The label for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API.link.generated-index.title": { + "message": "Toolbar API", + "description": "The generated-index page title for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods": { + "message": "Toolbar methods", + "description": "The label for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods.link.generated-index.title": { + "message": "Toolbar methods", + "description": "The generated-index page title for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties": { + "message": "Toolbar properties", + "description": "The label for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties.link.generated-index.title": { + "message": "Toolbar properties", + "description": "The generated-index page title for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API": { + "message": "Backend API", + "description": "The label for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API.link.generated-index.title": { + "message": "Backend API", + "description": "The generated-index page title for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API": { + "message": "RestDataProvider API", + "description": "The label for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API.link.generated-index.title": { + "message": "RestDataProvider API", + "description": "The generated-index page title for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods": { + "message": "REST methods", + "description": "The label for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods.link.generated-index.title": { + "message": "REST methods", + "description": "The generated-index page title for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST routes": { + "message": "REST routes", + "description": "The label for category 'REST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes": { + "message": "GET routes", + "description": "The label for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes.link.generated-index.title": { + "message": "GET routes", + "description": "The generated-index page title for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes": { + "message": "POST routes", + "description": "The label for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes.link.generated-index.title": { + "message": "POST routes", + "description": "The generated-index page title for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes": { + "message": "PUT routes", + "description": "The label for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes.link.generated-index.title": { + "message": "PUT routes", + "description": "The generated-index page title for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes": { + "message": "DELETE routes", + "description": "The label for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes.link.generated-index.title": { + "message": "DELETE routes", + "description": "The generated-index page title for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration": { + "message": "Backend and frameworks integration", + "description": "The label for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration.link.generated-index.title": { + "message": "Backend and frameworks integration", + "description": "The generated-index page title for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides": { + "message": "Guides", + "description": "The label for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides.link.generated-index.title": { + "message": "Guides", + "description": "The generated-index page title for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing tasks": { + "message": "Managing tasks", + "description": "The label for category 'Managing tasks' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing projects": { + "message": "Managing projects", + "description": "The label for category 'Managing projects' in sidebar 'docs'" + } +} diff --git a/i18n/ko/docusaurus-theme-classic/footer.json b/i18n/ko/docusaurus-theme-classic/footer.json new file mode 100644 index 0000000..f1edd50 --- /dev/null +++ b/i18n/ko/docusaurus-theme-classic/footer.json @@ -0,0 +1,62 @@ +{ + "link.title.Development center": { + "message": "Development center", + "description": "The title of the footer links column with title=Development center in the footer" + }, + "link.title.Community": { + "message": "Community", + "description": "The title of the footer links column with title=Community in the footer" + }, + "link.title.Company": { + "message": "Company", + "description": "The title of the footer links column with title=Company in the footer" + }, + "link.item.label.Download To Do List": { + "message": "Download To Do List", + "description": "The label of footer link with label=Download To Do List linking to https://dhtmlx.com/docs/products/dhtmlxTodo/download.shtml" + }, + "link.item.label.Examples": { + "message": "Examples", + "description": "The label of footer link with label=Examples linking to https://snippet.dhtmlx.com/3vwlbwee?tag=todolist" + }, + "link.item.label.Blog": { + "message": "Blog", + "description": "The label of footer link with label=Blog linking to https://dhtmlx.com/blog/tag/to-do-list/" + }, + "link.item.label.Forum": { + "message": "Forum", + "description": "The label of footer link with label=Forum linking to https://forum.dhtmlx.com/c/todo" + }, + "link.item.label.GitHub": { + "message": "GitHub", + "description": "The label of footer link with label=GitHub linking to https://github.com/DHTMLX" + }, + "link.item.label.Youtube": { + "message": "Youtube", + "description": "The label of footer link with label=Youtube linking to https://www.youtube.com/user/dhtmlx" + }, + "link.item.label.Facebook": { + "message": "Facebook", + "description": "The label of footer link with label=Facebook linking to https://www.facebook.com/dhtmlx" + }, + "link.item.label.Twitter": { + "message": "Twitter", + "description": "The label of footer link with label=Twitter linking to https://twitter.com/dhtmlx" + }, + "link.item.label.Linkedin": { + "message": "Linkedin", + "description": "The label of footer link with label=Linkedin linking to https://www.linkedin.com/groups/3345009/" + }, + "link.item.label.About us": { + "message": "About us", + "description": "The label of footer link with label=About us linking to https://dhtmlx.com/docs/company.shtml" + }, + "link.item.label.Contact us": { + "message": "Contact us", + "description": "The label of footer link with label=Contact us linking to https://dhtmlx.com/docs/contact.shtml" + }, + "link.item.label.Licensing": { + "message": "Licensing", + "description": "The label of footer link with label=Licensing linking to https://dhtmlx.com/docs/products/dhtmlxTodo/#licensing" + } +} diff --git a/i18n/ko/docusaurus-theme-classic/navbar.json b/i18n/ko/docusaurus-theme-classic/navbar.json new file mode 100644 index 0000000..4b6fb38 --- /dev/null +++ b/i18n/ko/docusaurus-theme-classic/navbar.json @@ -0,0 +1,26 @@ +{ + "title": { + "message": "To Do List Documentation", + "description": "The title in the navbar" + }, + "logo.alt": { + "message": "DHTMLX To Do List Logo", + "description": "The alt text of navbar logo" + }, + "item.label.Examples": { + "message": "Examples", + "description": "Navbar item with label Examples" + }, + "item.label.Forum": { + "message": "Forum", + "description": "Navbar item with label Forum" + }, + "item.label.Support": { + "message": "Support", + "description": "Navbar item with label Support" + }, + "item.label.Download": { + "message": "Download", + "description": "Navbar item with label Download" + } +} diff --git a/i18n/ru/code.json b/i18n/ru/code.json new file mode 100644 index 0000000..6afc4ad --- /dev/null +++ b/i18n/ru/code.json @@ -0,0 +1,364 @@ +{ + "theme.ErrorPageContent.title": { + "message": "На странице произошёл сбой.", + "description": "The title of the fallback page when the page crashed" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "Прокрутка к началу", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "Архив", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "Архив", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "Навигация по странице списка блогов", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "Следующие записи", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "Предыдущие записи", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "Навигация по странице поста блога", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "Следующий пост", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "Предыдущий пост", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.tags.tagsPageLink": { + "message": "Посмотреть все теги", + "description": "The label of the link targeting the tag list page" + }, + "theme.colorToggle.ariaLabel.mode.system": { + "message": "system mode", + "description": "The name for the system color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "Светлый режим", + "description": "The name for the light color mode" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "Тёмный режим", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel": { + "message": "Переключение между темным и светлым режимом (сейчас используется {mode})", + "description": "The ARIA label for the color mode toggle" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "Навигационная цепочка текущей страницы", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.DocCard.categoryDescription.plurals": { + "message": "{count} элемент|{count} элемента|{count} элементов", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "Страница документа", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "Предыдущая страница", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "Следующая страница", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "Одна страница|{count} страницы|{count} страниц", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged} с тегом \"{tagName}\"", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "Версия: {versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "Это документация для будущей версии {siteTitle} {versionLabel}.", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "Это документация {siteTitle} для версии {versionLabel}, которая уже не поддерживается.", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "Актуальная документация находится на странице {latestVersionLink} ({versionLabel}).", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "последней версии", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "Отредактировать эту страницу", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "Прямая ссылка на {heading}", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": " {date}", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": " от {user}", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "Последнее обновление{atDate}{byUser}", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "Версии", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.NotFound.title": { + "message": "Страница не найдена", + "description": "The title of the 404 page" + }, + "theme.tags.tagsListLabel": { + "message": "Теги:", + "description": "The label alongside a tag list" + }, + "theme.admonition.caution": { + "message": "предупреждение", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "осторожно", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "к сведению", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "примечание", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "подсказка", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "warning", + "description": "The default label used for the Warning admonition (:::warning)" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "Закрыть", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "Навигация по последним постам в блоге", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "Expand sidebar category '{label}'", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "Collapse sidebar category '{label}'", + "description": "The ARIA label to collapse the sidebar category" + }, + "theme.IconExternalLink.ariaLabel": { + "message": "(opens in new tab)", + "description": "The ARIA label for the external link icon" + }, + "theme.NavBar.navAriaLabel": { + "message": "Main", + "description": "The ARIA label for the main navigation" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "Языки", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.NotFound.p1": { + "message": "К сожалению, мы не смогли найти запрашиваемую вами страницу.", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "Пожалуйста, обратитесь к владельцу сайта, с которого вы перешли на эту ссылку, чтобы сообщить ему, что ссылка не работает.", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "Содержание этой страницы", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readMore": { + "message": "Читать дальше", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "Подробнее о {title}", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.blog.post.readingTime.plurals": { + "message": "{readingTime} мин. чтения|{readingTime} мин. чтения|{readingTime} мин. чтения", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.CodeBlock.copy": { + "message": "Скопировать", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.copied": { + "message": "Скопировано", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "Скопировать в буфер обмена", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "Переключить перенос по строкам", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.docs.breadcrumbs.home": { + "message": "Главная страница", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "Свернуть сайдбар", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "Свернуть сайдбар", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "Docs sidebar", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "Закрыть панель навигации", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← Перейти к главному меню", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "Переключить навигационную панель", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { + "message": "Expand the dropdown", + "description": "The ARIA label of the button to expand the mobile dropdown navbar item" + }, + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { + "message": "Collapse the dropdown", + "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "Развернуть сайдбар", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "Развернуть сайдбар", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.SearchBar.noResultsText": { + "message": "No results" + }, + "theme.SearchBar.seeAllOutsideContext": { + "message": "See all results outside \"{context}\"" + }, + "theme.SearchBar.searchInContext": { + "message": "See all results within \"{context}\"" + }, + "theme.SearchBar.seeAll": { + "message": "See all results" + }, + "theme.SearchBar.label": { + "message": "Search", + "description": "The ARIA label and placeholder for search button" + }, + "theme.SearchPage.existingResultsTitle": { + "message": "Search results for \"{query}\"", + "description": "The search page title for non-empty query" + }, + "theme.SearchPage.emptyResultsTitle": { + "message": "Search the documentation", + "description": "The search page title for empty query" + }, + "theme.SearchPage.searchContext.everywhere": { + "message": "Everywhere" + }, + "theme.SearchPage.documentsFound.plurals": { + "message": "1 document found|{count} documents found", + "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.SearchPage.noResultsText": { + "message": "No documents were found", + "description": "The paragraph for empty search result" + }, + "theme.blog.post.plurals": { + "message": "{count} запись|{count} записи|{count} записей", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "{nPosts} с тегом \"{tagName}\"", + "description": "The title of the page for a blog tag" + }, + "theme.blog.author.pageTitle": { + "message": "{authorName} - {nPosts}", + "description": "The title of the page for a blog author" + }, + "theme.blog.authorsList.pageTitle": { + "message": "Authors", + "description": "The title of the authors page" + }, + "theme.blog.authorsList.viewAll": { + "message": "View All Authors", + "description": "The label of the link targeting the blog authors page" + }, + "theme.blog.author.noPosts": { + "message": "This author has not written any posts yet.", + "description": "The text for authors with 0 blog post" + }, + "theme.contentVisibility.unlistedBanner.title": { + "message": "Unlisted page", + "description": "The unlisted content banner title" + }, + "theme.contentVisibility.unlistedBanner.message": { + "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.", + "description": "The unlisted content banner message" + }, + "theme.contentVisibility.draftBanner.title": { + "message": "Draft page", + "description": "The draft content banner title" + }, + "theme.contentVisibility.draftBanner.message": { + "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.", + "description": "The draft content banner message" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "Попробуйте ещё раз", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "Перейти к основному содержимому", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "Теги", + "description": "The title of the tag list page" + } +} diff --git a/i18n/ru/docusaurus-plugin-content-docs/current.json b/i18n/ru/docusaurus-plugin-content-docs/current.json new file mode 100644 index 0000000..324cac4 --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,170 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docs.category.What's new and migration": { + "message": "What's new and migration", + "description": "The label for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.What's new and migration.link.generated-index.title": { + "message": "What's new and migration", + "description": "The generated-index page title for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.API": { + "message": "API", + "description": "The label for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List API": { + "message": "To Do List API", + "description": "The label for category 'To Do List API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List methods": { + "message": "To Do List methods", + "description": "The label for category 'To Do List methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API": { + "message": "To Do List internal API", + "description": "The label for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods": { + "message": "Event Bus methods", + "description": "The label for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods.link.generated-index.title": { + "message": "Event Bus methods", + "description": "The generated-index page title for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods": { + "message": "State methods", + "description": "The label for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods.link.generated-index.title": { + "message": "State methods", + "description": "The generated-index page title for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List events": { + "message": "To Do List events", + "description": "The label for category 'To Do List events' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List properties": { + "message": "To Do List properties", + "description": "The label for category 'To Do List properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API": { + "message": "Toolbar API", + "description": "The label for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API.link.generated-index.title": { + "message": "Toolbar API", + "description": "The generated-index page title for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods": { + "message": "Toolbar methods", + "description": "The label for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods.link.generated-index.title": { + "message": "Toolbar methods", + "description": "The generated-index page title for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties": { + "message": "Toolbar properties", + "description": "The label for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties.link.generated-index.title": { + "message": "Toolbar properties", + "description": "The generated-index page title for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API": { + "message": "Backend API", + "description": "The label for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API.link.generated-index.title": { + "message": "Backend API", + "description": "The generated-index page title for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API": { + "message": "RestDataProvider API", + "description": "The label for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API.link.generated-index.title": { + "message": "RestDataProvider API", + "description": "The generated-index page title for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods": { + "message": "REST methods", + "description": "The label for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods.link.generated-index.title": { + "message": "REST methods", + "description": "The generated-index page title for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST routes": { + "message": "REST routes", + "description": "The label for category 'REST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes": { + "message": "GET routes", + "description": "The label for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes.link.generated-index.title": { + "message": "GET routes", + "description": "The generated-index page title for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes": { + "message": "POST routes", + "description": "The label for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes.link.generated-index.title": { + "message": "POST routes", + "description": "The generated-index page title for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes": { + "message": "PUT routes", + "description": "The label for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes.link.generated-index.title": { + "message": "PUT routes", + "description": "The generated-index page title for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes": { + "message": "DELETE routes", + "description": "The label for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes.link.generated-index.title": { + "message": "DELETE routes", + "description": "The generated-index page title for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration": { + "message": "Backend and frameworks integration", + "description": "The label for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration.link.generated-index.title": { + "message": "Backend and frameworks integration", + "description": "The generated-index page title for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides": { + "message": "Guides", + "description": "The label for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides.link.generated-index.title": { + "message": "Guides", + "description": "The generated-index page title for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing tasks": { + "message": "Managing tasks", + "description": "The label for category 'Managing tasks' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing projects": { + "message": "Managing projects", + "description": "The label for category 'Managing projects' in sidebar 'docs'" + } +} diff --git a/i18n/ru/docusaurus-theme-classic/footer.json b/i18n/ru/docusaurus-theme-classic/footer.json new file mode 100644 index 0000000..f1edd50 --- /dev/null +++ b/i18n/ru/docusaurus-theme-classic/footer.json @@ -0,0 +1,62 @@ +{ + "link.title.Development center": { + "message": "Development center", + "description": "The title of the footer links column with title=Development center in the footer" + }, + "link.title.Community": { + "message": "Community", + "description": "The title of the footer links column with title=Community in the footer" + }, + "link.title.Company": { + "message": "Company", + "description": "The title of the footer links column with title=Company in the footer" + }, + "link.item.label.Download To Do List": { + "message": "Download To Do List", + "description": "The label of footer link with label=Download To Do List linking to https://dhtmlx.com/docs/products/dhtmlxTodo/download.shtml" + }, + "link.item.label.Examples": { + "message": "Examples", + "description": "The label of footer link with label=Examples linking to https://snippet.dhtmlx.com/3vwlbwee?tag=todolist" + }, + "link.item.label.Blog": { + "message": "Blog", + "description": "The label of footer link with label=Blog linking to https://dhtmlx.com/blog/tag/to-do-list/" + }, + "link.item.label.Forum": { + "message": "Forum", + "description": "The label of footer link with label=Forum linking to https://forum.dhtmlx.com/c/todo" + }, + "link.item.label.GitHub": { + "message": "GitHub", + "description": "The label of footer link with label=GitHub linking to https://github.com/DHTMLX" + }, + "link.item.label.Youtube": { + "message": "Youtube", + "description": "The label of footer link with label=Youtube linking to https://www.youtube.com/user/dhtmlx" + }, + "link.item.label.Facebook": { + "message": "Facebook", + "description": "The label of footer link with label=Facebook linking to https://www.facebook.com/dhtmlx" + }, + "link.item.label.Twitter": { + "message": "Twitter", + "description": "The label of footer link with label=Twitter linking to https://twitter.com/dhtmlx" + }, + "link.item.label.Linkedin": { + "message": "Linkedin", + "description": "The label of footer link with label=Linkedin linking to https://www.linkedin.com/groups/3345009/" + }, + "link.item.label.About us": { + "message": "About us", + "description": "The label of footer link with label=About us linking to https://dhtmlx.com/docs/company.shtml" + }, + "link.item.label.Contact us": { + "message": "Contact us", + "description": "The label of footer link with label=Contact us linking to https://dhtmlx.com/docs/contact.shtml" + }, + "link.item.label.Licensing": { + "message": "Licensing", + "description": "The label of footer link with label=Licensing linking to https://dhtmlx.com/docs/products/dhtmlxTodo/#licensing" + } +} diff --git a/i18n/ru/docusaurus-theme-classic/navbar.json b/i18n/ru/docusaurus-theme-classic/navbar.json new file mode 100644 index 0000000..4b6fb38 --- /dev/null +++ b/i18n/ru/docusaurus-theme-classic/navbar.json @@ -0,0 +1,26 @@ +{ + "title": { + "message": "To Do List Documentation", + "description": "The title in the navbar" + }, + "logo.alt": { + "message": "DHTMLX To Do List Logo", + "description": "The alt text of navbar logo" + }, + "item.label.Examples": { + "message": "Examples", + "description": "Navbar item with label Examples" + }, + "item.label.Forum": { + "message": "Forum", + "description": "Navbar item with label Forum" + }, + "item.label.Support": { + "message": "Support", + "description": "Navbar item with label Support" + }, + "item.label.Download": { + "message": "Download", + "description": "Navbar item with label Download" + } +} diff --git a/i18n/zh/code.json b/i18n/zh/code.json new file mode 100644 index 0000000..0389497 --- /dev/null +++ b/i18n/zh/code.json @@ -0,0 +1,364 @@ +{ + "theme.ErrorPageContent.title": { + "message": "页面已崩溃。", + "description": "The title of the fallback page when the page crashed" + }, + "theme.BackToTopButton.buttonAriaLabel": { + "message": "回到顶部", + "description": "The ARIA label for the back to top button" + }, + "theme.blog.archive.title": { + "message": "历史博文", + "description": "The page & hero title of the blog archive page" + }, + "theme.blog.archive.description": { + "message": "历史博文", + "description": "The page & hero description of the blog archive page" + }, + "theme.blog.paginator.navAriaLabel": { + "message": "博文列表分页导航", + "description": "The ARIA label for the blog pagination" + }, + "theme.blog.paginator.newerEntries": { + "message": "较新的博文", + "description": "The label used to navigate to the newer blog posts page (previous page)" + }, + "theme.blog.paginator.olderEntries": { + "message": "较旧的博文", + "description": "The label used to navigate to the older blog posts page (next page)" + }, + "theme.blog.post.paginator.navAriaLabel": { + "message": "博文分页导航", + "description": "The ARIA label for the blog posts pagination" + }, + "theme.blog.post.paginator.newerPost": { + "message": "较新一篇", + "description": "The blog post button label to navigate to the newer/previous post" + }, + "theme.blog.post.paginator.olderPost": { + "message": "较旧一篇", + "description": "The blog post button label to navigate to the older/next post" + }, + "theme.tags.tagsPageLink": { + "message": "查看所有标签", + "description": "The label of the link targeting the tag list page" + }, + "theme.colorToggle.ariaLabel.mode.system": { + "message": "system mode", + "description": "The name for the system color mode" + }, + "theme.colorToggle.ariaLabel.mode.light": { + "message": "浅色模式", + "description": "The name for the light color mode" + }, + "theme.colorToggle.ariaLabel.mode.dark": { + "message": "暗黑模式", + "description": "The name for the dark color mode" + }, + "theme.colorToggle.ariaLabel": { + "message": "切换浅色/暗黑模式(当前为{mode})", + "description": "The ARIA label for the color mode toggle" + }, + "theme.docs.breadcrumbs.navAriaLabel": { + "message": "页面路径", + "description": "The ARIA label for the breadcrumbs" + }, + "theme.docs.DocCard.categoryDescription.plurals": { + "message": "{count} 个项目", + "description": "The default description for a category card in the generated index about how many items this category includes" + }, + "theme.docs.paginator.navAriaLabel": { + "message": "文件选项卡", + "description": "The ARIA label for the docs pagination" + }, + "theme.docs.paginator.previous": { + "message": "上一页", + "description": "The label used to navigate to the previous doc" + }, + "theme.docs.paginator.next": { + "message": "下一页", + "description": "The label used to navigate to the next doc" + }, + "theme.docs.tagDocListPageTitle.nDocsTagged": { + "message": "{count} 篇文档带有标签", + "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.docs.tagDocListPageTitle": { + "message": "{nDocsTagged}「{tagName}」", + "description": "The title of the page for a docs tag" + }, + "theme.docs.versionBadge.label": { + "message": "版本:{versionLabel}" + }, + "theme.docs.versions.unreleasedVersionLabel": { + "message": "此为 {siteTitle} {versionLabel} 版尚未发行的文档。", + "description": "The label used to tell the user that he's browsing an unreleased doc version" + }, + "theme.docs.versions.unmaintainedVersionLabel": { + "message": "此为 {siteTitle} {versionLabel} 版的文档,现已不再积极维护。", + "description": "The label used to tell the user that he's browsing an unmaintained doc version" + }, + "theme.docs.versions.latestVersionSuggestionLabel": { + "message": "最新的文档请参阅 {latestVersionLink} ({versionLabel})。", + "description": "The label used to tell the user to check the latest version" + }, + "theme.docs.versions.latestVersionLinkLabel": { + "message": "最新版本", + "description": "The label used for the latest version suggestion link label" + }, + "theme.common.editThisPage": { + "message": "编辑此页", + "description": "The link label to edit the current page" + }, + "theme.common.headingLinkTitle": { + "message": "{heading}的直接链接", + "description": "Title for link to heading" + }, + "theme.lastUpdated.atDate": { + "message": "于 {date} ", + "description": "The words used to describe on which date a page has been last updated" + }, + "theme.lastUpdated.byUser": { + "message": "由 {user} ", + "description": "The words used to describe by who the page has been last updated" + }, + "theme.lastUpdated.lastUpdatedAtBy": { + "message": "最后{byUser}{atDate}更新", + "description": "The sentence used to display when a page has been last updated, and by who" + }, + "theme.NotFound.title": { + "message": "找不到页面", + "description": "The title of the 404 page" + }, + "theme.navbar.mobileVersionsDropdown.label": { + "message": "选择版本", + "description": "The label for the navbar versions dropdown on mobile view" + }, + "theme.tags.tagsListLabel": { + "message": "标签:", + "description": "The label alongside a tag list" + }, + "theme.admonition.caution": { + "message": "警告", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "危险", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "信息", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "备注", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "提示", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "注意", + "description": "The default label used for the Warning admonition (:::warning)" + }, + "theme.AnnouncementBar.closeButtonAriaLabel": { + "message": "关闭", + "description": "The ARIA label for close button of announcement bar" + }, + "theme.blog.sidebar.navAriaLabel": { + "message": "最近博文导航", + "description": "The ARIA label for recent posts in the blog sidebar" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "展开侧边栏分类 '{label}'", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "折叠侧边栏分类 '{label}'", + "description": "The ARIA label to collapse the sidebar category" + }, + "theme.IconExternalLink.ariaLabel": { + "message": "(opens in new tab)", + "description": "The ARIA label for the external link icon" + }, + "theme.NavBar.navAriaLabel": { + "message": "主导航", + "description": "The ARIA label for the main navigation" + }, + "theme.NotFound.p1": { + "message": "我们找不到您要找的页面。", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "请联系原始链接来源网站的所有者,并告知他们链接已损坏。", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.navbar.mobileLanguageDropdown.label": { + "message": "选择语言", + "description": "The label for the mobile language switcher dropdown" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "本页总览", + "description": "The label used by the button on the collapsible TOC component" + }, + "theme.blog.post.readMore": { + "message": "阅读更多", + "description": "The label used in blog post item excerpts to link to full blog posts" + }, + "theme.blog.post.readMoreLabel": { + "message": "阅读 {title} 的全文", + "description": "The ARIA label for the link to full blog posts from excerpts" + }, + "theme.blog.post.readingTime.plurals": { + "message": "阅读需 {readingTime} 分钟", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.CodeBlock.copy": { + "message": "复制", + "description": "The copy button label on code blocks" + }, + "theme.CodeBlock.copied": { + "message": "复制成功", + "description": "The copied button label on code blocks" + }, + "theme.CodeBlock.copyButtonAriaLabel": { + "message": "复制代码到剪贴板", + "description": "The ARIA label for copy code blocks button" + }, + "theme.CodeBlock.wordWrapToggle": { + "message": "切换自动换行", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.docs.breadcrumbs.home": { + "message": "主页面", + "description": "The ARIA label for the home page in the breadcrumbs" + }, + "theme.docs.sidebar.collapseButtonTitle": { + "message": "收起侧边栏", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.collapseButtonAriaLabel": { + "message": "收起侧边栏", + "description": "The title attribute for collapse button of doc sidebar" + }, + "theme.docs.sidebar.navAriaLabel": { + "message": "文档侧边栏", + "description": "The ARIA label for the sidebar navigation" + }, + "theme.docs.sidebar.closeSidebarButtonAriaLabel": { + "message": "关闭导航栏", + "description": "The ARIA label for close button of mobile sidebar" + }, + "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { + "message": "← 回到主菜单", + "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" + }, + "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { + "message": "切换导航栏", + "description": "The ARIA label for hamburger menu button of mobile navigation" + }, + "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { + "message": "Expand the dropdown", + "description": "The ARIA label of the button to expand the mobile dropdown navbar item" + }, + "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { + "message": "Collapse the dropdown", + "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" + }, + "theme.docs.sidebar.expandButtonTitle": { + "message": "展开侧边栏", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.docs.sidebar.expandButtonAriaLabel": { + "message": "展开侧边栏", + "description": "The ARIA label and title attribute for expand button of doc sidebar" + }, + "theme.SearchBar.noResultsText": { + "message": "没有找到任何文档" + }, + "theme.SearchBar.seeAllOutsideContext": { + "message": "查看“{context}”以外的全部结果" + }, + "theme.SearchBar.searchInContext": { + "message": "查看“{context}”以内的全部结果" + }, + "theme.SearchBar.seeAll": { + "message": "查看全部结果" + }, + "theme.SearchBar.label": { + "message": "搜索", + "description": "The ARIA label and placeholder for search button" + }, + "theme.SearchPage.existingResultsTitle": { + "message": "“{query}”的搜索结果", + "description": "The search page title for non-empty query" + }, + "theme.SearchPage.emptyResultsTitle": { + "message": "搜索文档", + "description": "The search page title for empty query" + }, + "theme.SearchPage.searchContext.everywhere": { + "message": "所有" + }, + "theme.SearchPage.documentsFound.plurals": { + "message": "共找到 {count} 篇文档", + "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.SearchPage.noResultsText": { + "message": "没有找到任何文档", + "description": "The paragraph for empty search result" + }, + "theme.blog.post.plurals": { + "message": "{count} 篇博文", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, + "theme.blog.tagTitle": { + "message": "{nPosts} 含有标签「{tagName}」", + "description": "The title of the page for a blog tag" + }, + "theme.blog.author.pageTitle": { + "message": "{authorName} - {nPosts}", + "description": "The title of the page for a blog author" + }, + "theme.blog.authorsList.pageTitle": { + "message": "作者", + "description": "The title of the authors page" + }, + "theme.blog.authorsList.viewAll": { + "message": "查看所有作者", + "description": "The label of the link targeting the blog authors page" + }, + "theme.blog.author.noPosts": { + "message": "该作者尚未撰写任何文章。", + "description": "The text for authors with 0 blog post" + }, + "theme.contentVisibility.unlistedBanner.title": { + "message": "未列出页", + "description": "The unlisted content banner title" + }, + "theme.contentVisibility.unlistedBanner.message": { + "message": "此页面未列出。搜索引擎不会对其索引,只有拥有直接链接的用户才能访问。", + "description": "The unlisted content banner message" + }, + "theme.contentVisibility.draftBanner.title": { + "message": "草稿页", + "description": "The draft content banner title" + }, + "theme.contentVisibility.draftBanner.message": { + "message": "此页面是草稿,仅在开发环境中可见,不会包含在正式版本中。", + "description": "The draft content banner message" + }, + "theme.ErrorPageContent.tryAgain": { + "message": "重试", + "description": "The label of the button to try again rendering when the React error boundary captures an error" + }, + "theme.common.skipToMainContent": { + "message": "跳到主要内容", + "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" + }, + "theme.tags.tagsPageTitle": { + "message": "标签", + "description": "The title of the tag list page" + } +} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current.json b/i18n/zh/docusaurus-plugin-content-docs/current.json new file mode 100644 index 0000000..324cac4 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,170 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docs.category.What's new and migration": { + "message": "What's new and migration", + "description": "The label for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.What's new and migration.link.generated-index.title": { + "message": "What's new and migration", + "description": "The generated-index page title for category 'What's new and migration' in sidebar 'docs'" + }, + "sidebar.docs.category.API": { + "message": "API", + "description": "The label for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List API": { + "message": "To Do List API", + "description": "The label for category 'To Do List API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List methods": { + "message": "To Do List methods", + "description": "The label for category 'To Do List methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API": { + "message": "To Do List internal API", + "description": "The label for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List internal API.link.generated-index.title": { + "message": "API", + "description": "The generated-index page title for category 'To Do List internal API' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods": { + "message": "Event Bus methods", + "description": "The label for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Event Bus methods.link.generated-index.title": { + "message": "Event Bus methods", + "description": "The generated-index page title for category 'Event Bus methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods": { + "message": "State methods", + "description": "The label for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.State methods.link.generated-index.title": { + "message": "State methods", + "description": "The generated-index page title for category 'State methods' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List events": { + "message": "To Do List events", + "description": "The label for category 'To Do List events' in sidebar 'docs'" + }, + "sidebar.docs.category.To Do List properties": { + "message": "To Do List properties", + "description": "The label for category 'To Do List properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API": { + "message": "Toolbar API", + "description": "The label for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar API.link.generated-index.title": { + "message": "Toolbar API", + "description": "The generated-index page title for category 'Toolbar API' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods": { + "message": "Toolbar methods", + "description": "The label for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar methods.link.generated-index.title": { + "message": "Toolbar methods", + "description": "The generated-index page title for category 'Toolbar methods' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties": { + "message": "Toolbar properties", + "description": "The label for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Toolbar properties.link.generated-index.title": { + "message": "Toolbar properties", + "description": "The generated-index page title for category 'Toolbar properties' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API": { + "message": "Backend API", + "description": "The label for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend API.link.generated-index.title": { + "message": "Backend API", + "description": "The generated-index page title for category 'Backend API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API": { + "message": "RestDataProvider API", + "description": "The label for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.RestDataProvider API.link.generated-index.title": { + "message": "RestDataProvider API", + "description": "The generated-index page title for category 'RestDataProvider API' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods": { + "message": "REST methods", + "description": "The label for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST methods.link.generated-index.title": { + "message": "REST methods", + "description": "The generated-index page title for category 'REST methods' in sidebar 'docs'" + }, + "sidebar.docs.category.REST routes": { + "message": "REST routes", + "description": "The label for category 'REST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes": { + "message": "GET routes", + "description": "The label for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.GET routes.link.generated-index.title": { + "message": "GET routes", + "description": "The generated-index page title for category 'GET routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes": { + "message": "POST routes", + "description": "The label for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.POST routes.link.generated-index.title": { + "message": "POST routes", + "description": "The generated-index page title for category 'POST routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes": { + "message": "PUT routes", + "description": "The label for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.PUT routes.link.generated-index.title": { + "message": "PUT routes", + "description": "The generated-index page title for category 'PUT routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes": { + "message": "DELETE routes", + "description": "The label for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.DELETE routes.link.generated-index.title": { + "message": "DELETE routes", + "description": "The generated-index page title for category 'DELETE routes' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration": { + "message": "Backend and frameworks integration", + "description": "The label for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Backend and frameworks integration.link.generated-index.title": { + "message": "Backend and frameworks integration", + "description": "The generated-index page title for category 'Backend and frameworks integration' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides": { + "message": "Guides", + "description": "The label for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Guides.link.generated-index.title": { + "message": "Guides", + "description": "The generated-index page title for category 'Guides' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing tasks": { + "message": "Managing tasks", + "description": "The label for category 'Managing tasks' in sidebar 'docs'" + }, + "sidebar.docs.category.Managing projects": { + "message": "Managing projects", + "description": "The label for category 'Managing projects' in sidebar 'docs'" + } +} diff --git a/i18n/zh/docusaurus-theme-classic/footer.json b/i18n/zh/docusaurus-theme-classic/footer.json new file mode 100644 index 0000000..f1edd50 --- /dev/null +++ b/i18n/zh/docusaurus-theme-classic/footer.json @@ -0,0 +1,62 @@ +{ + "link.title.Development center": { + "message": "Development center", + "description": "The title of the footer links column with title=Development center in the footer" + }, + "link.title.Community": { + "message": "Community", + "description": "The title of the footer links column with title=Community in the footer" + }, + "link.title.Company": { + "message": "Company", + "description": "The title of the footer links column with title=Company in the footer" + }, + "link.item.label.Download To Do List": { + "message": "Download To Do List", + "description": "The label of footer link with label=Download To Do List linking to https://dhtmlx.com/docs/products/dhtmlxTodo/download.shtml" + }, + "link.item.label.Examples": { + "message": "Examples", + "description": "The label of footer link with label=Examples linking to https://snippet.dhtmlx.com/3vwlbwee?tag=todolist" + }, + "link.item.label.Blog": { + "message": "Blog", + "description": "The label of footer link with label=Blog linking to https://dhtmlx.com/blog/tag/to-do-list/" + }, + "link.item.label.Forum": { + "message": "Forum", + "description": "The label of footer link with label=Forum linking to https://forum.dhtmlx.com/c/todo" + }, + "link.item.label.GitHub": { + "message": "GitHub", + "description": "The label of footer link with label=GitHub linking to https://github.com/DHTMLX" + }, + "link.item.label.Youtube": { + "message": "Youtube", + "description": "The label of footer link with label=Youtube linking to https://www.youtube.com/user/dhtmlx" + }, + "link.item.label.Facebook": { + "message": "Facebook", + "description": "The label of footer link with label=Facebook linking to https://www.facebook.com/dhtmlx" + }, + "link.item.label.Twitter": { + "message": "Twitter", + "description": "The label of footer link with label=Twitter linking to https://twitter.com/dhtmlx" + }, + "link.item.label.Linkedin": { + "message": "Linkedin", + "description": "The label of footer link with label=Linkedin linking to https://www.linkedin.com/groups/3345009/" + }, + "link.item.label.About us": { + "message": "About us", + "description": "The label of footer link with label=About us linking to https://dhtmlx.com/docs/company.shtml" + }, + "link.item.label.Contact us": { + "message": "Contact us", + "description": "The label of footer link with label=Contact us linking to https://dhtmlx.com/docs/contact.shtml" + }, + "link.item.label.Licensing": { + "message": "Licensing", + "description": "The label of footer link with label=Licensing linking to https://dhtmlx.com/docs/products/dhtmlxTodo/#licensing" + } +} diff --git a/i18n/zh/docusaurus-theme-classic/navbar.json b/i18n/zh/docusaurus-theme-classic/navbar.json new file mode 100644 index 0000000..4b6fb38 --- /dev/null +++ b/i18n/zh/docusaurus-theme-classic/navbar.json @@ -0,0 +1,26 @@ +{ + "title": { + "message": "To Do List Documentation", + "description": "The title in the navbar" + }, + "logo.alt": { + "message": "DHTMLX To Do List Logo", + "description": "The alt text of navbar logo" + }, + "item.label.Examples": { + "message": "Examples", + "description": "Navbar item with label Examples" + }, + "item.label.Forum": { + "message": "Forum", + "description": "Navbar item with label Forum" + }, + "item.label.Support": { + "message": "Support", + "description": "Navbar item with label Support" + }, + "item.label.Download": { + "message": "Download", + "description": "Navbar item with label Download" + } +} diff --git a/package.json b/package.json index 96f1491..f92ced8 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,9 @@ "deploy": "docusaurus deploy", "serve": "docusaurus serve", "generate": "cd plugins && node generate.js", - "normalizeLink": "cd plugins && node samplesLinksNormalize.js" + "normalizeLink": "cd plugins && node samplesLinksNormalize.js", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { "@docusaurus/core": "^3.9.2", diff --git a/plugins/dhx-md-data-transformer-plugin.js b/plugins/dhx-md-data-transformer-plugin.js index 789ab3b..a692140 100644 --- a/plugins/dhx-md-data-transformer-plugin.js +++ b/plugins/dhx-md-data-transformer-plugin.js @@ -35,7 +35,7 @@ module.exports = (context, options) => { ], }, resolveLoader: { - modules: ['node_modules', path.resolve(siteDir, 'loaders')] + modules: ['node_modules', path.resolve(siteDir, 'loaders'), path.resolve(siteDir, 'i18n')] } }; } diff --git a/sidebars.js b/sidebars.js index 0a25c49..55cfeab 100644 --- a/sidebars.js +++ b/sidebars.js @@ -483,6 +483,7 @@ module.exports = { ] }, "guides/inline_editing", + "guides/keyboard_navigation", "guides/localization", "guides/customization", "guides/stylization", diff --git a/static/assets/counter.png b/static/assets/counter.png new file mode 100644 index 0000000..6df6085 Binary files /dev/null and b/static/assets/counter.png differ diff --git a/static/assets/due_date.png b/static/assets/due_date.png new file mode 100644 index 0000000..9a75102 Binary files /dev/null and b/static/assets/due_date.png differ diff --git a/static/assets/hideshow_completedtasks.png b/static/assets/hideshow_completedtasks.png new file mode 100644 index 0000000..de7dc33 Binary files /dev/null and b/static/assets/hideshow_completedtasks.png differ diff --git a/static/assets/how_to_start.png b/static/assets/how_to_start.png new file mode 100644 index 0000000..98ae99b Binary files /dev/null and b/static/assets/how_to_start.png differ diff --git a/static/assets/list.png b/static/assets/list.png new file mode 100644 index 0000000..b46a776 Binary files /dev/null and b/static/assets/list.png differ diff --git a/static/assets/menu.png b/static/assets/menu.png new file mode 100644 index 0000000..2348fca Binary files /dev/null and b/static/assets/menu.png differ diff --git a/static/assets/menu_datepicker.png b/static/assets/menu_datepicker.png new file mode 100644 index 0000000..a9756a0 Binary files /dev/null and b/static/assets/menu_datepicker.png differ diff --git a/static/assets/menu_item.png b/static/assets/menu_item.png new file mode 100644 index 0000000..2a16901 Binary files /dev/null and b/static/assets/menu_item.png differ diff --git a/static/assets/menu_priorities.png b/static/assets/menu_priorities.png new file mode 100644 index 0000000..d6c6579 Binary files /dev/null and b/static/assets/menu_priorities.png differ diff --git a/static/assets/menu_users.png b/static/assets/menu_users.png new file mode 100644 index 0000000..a02f4bd Binary files /dev/null and b/static/assets/menu_users.png differ diff --git a/static/assets/multiselection.png b/static/assets/multiselection.png new file mode 100644 index 0000000..c29422b Binary files /dev/null and b/static/assets/multiselection.png differ diff --git a/static/assets/overdue_task.png b/static/assets/overdue_task.png new file mode 100644 index 0000000..b4ddc51 Binary files /dev/null and b/static/assets/overdue_task.png differ diff --git a/static/assets/project_menu.png b/static/assets/project_menu.png new file mode 100644 index 0000000..8b1db82 Binary files /dev/null and b/static/assets/project_menu.png differ diff --git a/static/assets/search_field.png b/static/assets/search_field.png new file mode 100644 index 0000000..d0fc11f Binary files /dev/null and b/static/assets/search_field.png differ diff --git a/static/assets/separate_toolbar.png b/static/assets/separate_toolbar.png new file mode 100644 index 0000000..e2e98eb Binary files /dev/null and b/static/assets/separate_toolbar.png differ diff --git a/static/assets/task_context_menu.png b/static/assets/task_context_menu.png new file mode 100644 index 0000000..16ece71 Binary files /dev/null and b/static/assets/task_context_menu.png differ diff --git a/static/assets/tasks_context_menu.png b/static/assets/tasks_context_menu.png new file mode 100644 index 0000000..03ab62d Binary files /dev/null and b/static/assets/tasks_context_menu.png differ diff --git a/static/assets/todo_overview.png b/static/assets/todo_overview.png new file mode 100644 index 0000000..11069d0 Binary files /dev/null and b/static/assets/todo_overview.png differ diff --git a/static/assets/todolist.png b/static/assets/todolist.png new file mode 100644 index 0000000..770733a Binary files /dev/null and b/static/assets/todolist.png differ diff --git a/static/assets/toolbar.png b/static/assets/toolbar.png new file mode 100644 index 0000000..f6e8f3c Binary files /dev/null and b/static/assets/toolbar.png differ diff --git a/static/assets/trial_todolist.png b/static/assets/trial_todolist.png new file mode 100644 index 0000000..5af3ebd Binary files /dev/null and b/static/assets/trial_todolist.png differ diff --git a/static/assets/users.png b/static/assets/users.png new file mode 100644 index 0000000..afa88e5 Binary files /dev/null and b/static/assets/users.png differ