Skip to content
Merged

Next #57

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
377d620
[add] translations
mkozhukh Jul 1, 2025
9b08825
[update] translations for 1.6.4
mkozhukh Jul 13, 2025
7b25191
Whats new for release v1.6.5
serhiipylypchuk1991 Jul 14, 2025
db7e623
retranslated
mkozhukh Jul 31, 2025
846ba70
[update] replace cn with zh
serhiipylypchuk1991 Aug 19, 2025
504fc45
[update] locales (minor fix)
serhiipylypchuk1991 Aug 20, 2025
64d0a3d
[update] ZH to CN (revert back)
serhiipylypchuk1991 Aug 25, 2025
9063d21
[update] links
serhiipylypchuk1991 Aug 26, 2025
20a381d
Add minor fix
serhiipylypchuk1991 Jul 14, 2025
71e7ddc
[update] add missing locales (SVAR-2526)
serhiipylypchuk1991 Jul 31, 2025
ce1331f
[update] locales
serhiipylypchuk1991 Aug 1, 2025
d00f75f
[update] SVAR-2489 Update server example description
serhiipylypchuk1991 Aug 4, 2025
f7dcb74
[update] the columns property. Add custom styling description (SVAR-1…
serhiipylypchuk1991 Aug 4, 2025
2a8ebe7
[update] minor fixes
serhiipylypchuk1991 Aug 4, 2025
8213e1d
[update] minor fix
serhiipylypchuk1991 Aug 4, 2025
75ca98d
[update] stylization and related topics (2310)
serhiipylypchuk1991 Aug 4, 2025
c6b5b12
[update] revert the editorShape state removing from the getState() me…
serhiipylypchuk1991 Aug 5, 2025
84bb2e9
[update] incorrect link
serhiipylypchuk1991 Aug 13, 2025
df2fd97
[update] incorrect link 2
serhiipylypchuk1991 Aug 13, 2025
ef27069
[update] docs version to v3.8.1
serhiipylypchuk1991 Aug 14, 2025
46b86b2
[update] locales
serhiipylypchuk1991 Aug 19, 2025
2e66550
[update] the deleteComment() method
serhiipylypchuk1991 Aug 19, 2025
68325c3
[add] translations
mkozhukh Jul 1, 2025
33131c8
[update] links
serhiipylypchuk1991 Aug 26, 2025
5373e7b
algolia add
yudinantonxb Sep 4, 2025
3619f01
[update] the columns property. Add custom styling description (SVAR-1…
serhiipylypchuk1991 Aug 4, 2025
4812d8c
[add] translations
mkozhukh Jul 1, 2025
407060c
[update] links
serhiipylypchuk1991 Aug 26, 2025
16d5eea
[update] stylization and related topics (2310)
serhiipylypchuk1991 Aug 4, 2025
c2a2dd5
[update] incorrect link
serhiipylypchuk1991 Aug 13, 2025
20b26d4
[update] incorrect link 2
serhiipylypchuk1991 Aug 13, 2025
0fbf807
[update] minor changes
serhiipylypchuk1991 Sep 5, 2025
014c2ec
[update] gitignore
serhiipylypchuk1991 Oct 3, 2025
0f0a860
[update] Add full doc folder
serhiipylypchuk1991 Oct 3, 2025
e292298
[dev] Update doc engine and node version
serhiipylypchuk1991 Oct 3, 2025
c304eff
[update] sidebar
serhiipylypchuk1991 Oct 3, 2025
1204e98
[update] gitignore
serhiipylypchuk1991 Oct 3, 2025
983faa8
[update] yarn lock file
serhiipylypchuk1991 Oct 3, 2025
d5d1cfd
[dev] update deprecated onBrokenMarkdownLinks config
serhiipylypchuk1991 Oct 3, 2025
d4e4e7b
[update] normalize links
serhiipylypchuk1991 Oct 7, 2025
b1d9ae1
[update] move images into src folder
serhiipylypchuk1991 Oct 7, 2025
f021de5
[add] salesforce integration
serhiipylypchuk1991 Oct 7, 2025
08bf7e1
Merge branch 'master' into next
serhiipylypchuk1991 Oct 7, 2025
40239e5
[update] salesforce export function
serhiipylypchuk1991 Oct 8, 2025
60b0f02
[update] Salesforce in WN
serhiipylypchuk1991 Oct 8, 2025
75b0f15
[update] release date
serhiipylypchuk1991 Oct 14, 2025
5576d5a
[update] Normalize docs before i18n
serhiipylypchuk1991 Oct 14, 2025
14c1501
[update] en translations and gitignore file
serhiipylypchuk1991 Oct 23, 2025
90d7470
[update] translation for ru version
serhiipylypchuk1991 Oct 23, 2025
3da985f
[update] translation for de version
serhiipylypchuk1991 Oct 23, 2025
62c06f5
[update] translation for ko version
serhiipylypchuk1991 Oct 23, 2025
16e88b5
[update] translation for zh version
serhiipylypchuk1991 Oct 23, 2025
4f25969
[update] broken links (extra)
serhiipylypchuk1991 Oct 23, 2025
db0a253
[fix] anchors for RU locale
serhiipylypchuk1991 Oct 23, 2025
49a3e26
[fix] anchors for ZH locale
serhiipylypchuk1991 Oct 23, 2025
fde0e5d
[fix] anchors for DE locale
serhiipylypchuk1991 Oct 23, 2025
24fe4e6
[fix] anchors for KO locale
serhiipylypchuk1991 Oct 23, 2025
e89a391
Merge branch 'master' into next
serhiipylypchuk1991 Oct 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 20 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,23 @@ jobs:
tags: registry.webix.io/kanban-docs-alt:${{ steps.vars.outputs.short_ref }}

- run: curl "https://docs.dhtmlx.com/hooks/restart-docker?token=${{ secrets.RESTART_TOKEN }}&project=docs-kanban-alt-${{ steps.vars.outputs.short_ref }}"
algolia-crawl:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout Repo
uses: actions/checkout@v4

- name: Wait for Deployment
run: sleep 30

- name: Algolia Crawler Creation and Crawl
uses: algolia/[email protected]
with:
crawler-user-id: ${{ secrets.CRAWLER_USER_ID }}
crawler-api-key: ${{ secrets.CRAWLER_API_KEY }}
algolia-app-id: ${{ secrets.ALGOLIA_APP_ID }}
algolia-api-key: ${{ secrets.ALGOLIA_API_KEY }}
site-url: "https://docs.dhtmlx.com/kanban/"
crawler-name: "Kanban Docs Crawler"
override-config: true
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
*.cjs
.pnp.loader.mjs
.yarn
.pnp.cjs
.pnp.loader.mjs
.yarnrc.yml
prompts
gptit.toml
.gitconfig
52 changes: 26 additions & 26 deletions docs/api/overview/main_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,29 +197,29 @@ new kanban.Toolbar("#toolbar", {

| Name | Description |
| ----------------------------------------------------------- | ------------------------------------------------------ |
| [GET `/cards`](../provider/rest_routes/get_routes/js_kanban_get_cards_route.md) | @getshort(../provider/rest_routes/get_routes/js_kanban_get_cards_route.md) |
| [GET `/columns`](../provider/rest_routes/get_routes/js_kanban_get_columns_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_columns_route.md) |
| [GET `/links`](../provider/rest_routes/get_routes/js_kanban_get_links_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_links_route.md) |
| [GET `/rows`](../provider/rest_routes/get_routes/js_kanban_get_rows_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_rows_route.md) |
| [GET `/users`](../provider/rest_routes/get_routes/js_kanban_get_users_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_users_route.md) |
| [GET `/uploads`](../provider/rest_routes/get_routes/js_kanban_get_uploads_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_uploads_route.md) |
| [POST `/cards`](../provider/rest_routes/post_routes/js_kanban_post_cards_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_cards_route.md) |
| [POST `/cards/{cardId}/comments`](../provider/rest_routes/post_routes/js_kanban_post_cards_comments_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_cards_comments_route.md) |
| [POST `/cards/{cardId}/vote`](../provider/rest_routes/post_routes/js_kanban_post_cards_votes_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_cards_votes_route.md) |
| [POST `/columns`](../provider/rest_routes/post_routes/js_kanban_post_columns_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_columns_route.md) |
| [POST `/links`](../provider/rest_routes/post_routes/js_kanban_post_links_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_links_route.md) |
| [POST `/rows`](../provider/rest_routes/post_routes/js_kanban_post_rows_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_rows_route.md) |
| [POST `/uploads`](../provider/rest_routes/post_routes/js_kanban_post_uploads_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_uploads_route.md) |
| [PUT `/cards`](../provider/rest_routes/put_routes/js_kanban_put_cards_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_cards_route.md) |
| [PUT `/cards/{id}/move`](../provider/rest_routes/put_routes/js_kanban_put_cards_move_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_cards_move_route.md) |
| [PUT `/cards/{cardId}/comments/{cardId}`](../provider/rest_routes/put_routes/js_kanban_put_cards_comments_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_cards_comments_route.md) |
| [PUT `/columns`](../provider/rest_routes/put_routes/js_kanban_put_columns_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_columns_route.md) |
| [PUT `/columns/{id}/move`](../provider/rest_routes/put_routes/js_kanban_put_columns_move_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_columns_move_route.md) |
| [PUT `/rows`](../provider/rest_routes/put_routes/js_kanban_put_rows_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_rows_route.md) |
| [PUT `/rows/{id}/move`](../provider/rest_routes/put_routes/js_kanban_put_rows_move_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_rows_move_route.md) |
| [DELETE `/cards`](../provider/rest_routes/delete_routes/js_kanban_delete_cards_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_cards_route.md) |
| [DELETE `/cards/{cardId}/comments/{cardId}`](../provider/rest_routes/delete_routes/js_kanban_delete_cards_comments_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_cards_comments_route.md) |
| [DELETE `/cards/{cardId}/vote`](../provider/rest_routes/delete_routes/js_kanban_delete_cards_votes_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_cards_votes_route.md) |
| [DELETE `/columns`](../provider/rest_routes/delete_routes/js_kanban_delete_columns_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_columns_route.md) |
| [DELETE `/links`](../provider/rest_routes/delete_routes/js_kanban_delete_links_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_links_route.md) |
| [DELETE `/rows`](../provider/rest_routes/delete_routes/js_kanban_delete_rows_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_rows_route.md) |
| [GET `/cards`](api/provider/rest_routes/get_routes/js_kanban_get_cards_route.md) | @getshort(../provider/rest_routes/get_routes/js_kanban_get_cards_route.md) |
| [GET `/columns`](api/provider/rest_routes/get_routes/js_kanban_get_columns_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_columns_route.md) |
| [GET `/links`](api/provider/rest_routes/get_routes/js_kanban_get_links_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_links_route.md) |
| [GET `/rows`](api/provider/rest_routes/get_routes/js_kanban_get_rows_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_rows_route.md) |
| [GET `/users`](api/provider/rest_routes/get_routes/js_kanban_get_users_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_users_route.md) |
| [GET `/uploads`](api/provider/rest_routes/get_routes/js_kanban_get_uploads_route.md)| @getshort(../provider/rest_routes/get_routes/js_kanban_get_uploads_route.md) |
| [POST `/cards`](api/provider/rest_routes/post_routes/js_kanban_post_cards_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_cards_route.md) |
| [POST `/cards/{cardId}/comments`](api/provider/rest_routes/post_routes/js_kanban_post_cards_comments_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_cards_comments_route.md) |
| [POST `/cards/{cardId}/vote`](api/provider/rest_routes/post_routes/js_kanban_post_cards_votes_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_cards_votes_route.md) |
| [POST `/columns`](api/provider/rest_routes/post_routes/js_kanban_post_columns_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_columns_route.md) |
| [POST `/links`](api/provider/rest_routes/post_routes/js_kanban_post_links_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_links_route.md) |
| [POST `/rows`](api/provider/rest_routes/post_routes/js_kanban_post_rows_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_rows_route.md) |
| [POST `/uploads`](api/provider/rest_routes/post_routes/js_kanban_post_uploads_route.md)| @getshort(../provider/rest_routes/post_routes/js_kanban_post_uploads_route.md) |
| [PUT `/cards`](api/provider/rest_routes/put_routes/js_kanban_put_cards_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_cards_route.md) |
| [PUT `/cards/{id}/move`](api/provider/rest_routes/put_routes/js_kanban_put_cards_move_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_cards_move_route.md) |
| [PUT `/cards/{cardId}/comments/{cardId}`](api/provider/rest_routes/put_routes/js_kanban_put_cards_comments_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_cards_comments_route.md) |
| [PUT `/columns`](api/provider/rest_routes/put_routes/js_kanban_put_columns_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_columns_route.md) |
| [PUT `/columns/{id}/move`](api/provider/rest_routes/put_routes/js_kanban_put_columns_move_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_columns_move_route.md) |
| [PUT `/rows`](api/provider/rest_routes/put_routes/js_kanban_put_rows_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_rows_route.md) |
| [PUT `/rows/{id}/move`](api/provider/rest_routes/put_routes/js_kanban_put_rows_move_route.md)| @getshort(../provider/rest_routes/put_routes/js_kanban_put_rows_move_route.md) |
| [DELETE `/cards`](api/provider/rest_routes/delete_routes/js_kanban_delete_cards_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_cards_route.md) |
| [DELETE `/cards/{cardId}/comments/{cardId}`](api/provider/rest_routes/delete_routes/js_kanban_delete_cards_comments_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_cards_comments_route.md) |
| [DELETE `/cards/{cardId}/vote`](api/provider/rest_routes/delete_routes/js_kanban_delete_cards_votes_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_cards_votes_route.md) |
| [DELETE `/columns`](api/provider/rest_routes/delete_routes/js_kanban_delete_columns_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_columns_route.md) |
| [DELETE `/links`](api/provider/rest_routes/delete_routes/js_kanban_delete_links_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_links_route.md) |
| [DELETE `/rows`](api/provider/rest_routes/delete_routes/js_kanban_delete_rows_route.md)| @getshort(../provider/rest_routes/delete_routes/js_kanban_delete_rows_route.md) |
2 changes: 1 addition & 1 deletion docs/api/overview/rest_routes_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: You can have an Internal RestDataProvider routes overview of JavaSc
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.<br> 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.<br/> Before you dive into each route description, it's recommended to read about [Working with Server](guides/working_with_server.md).

---

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/initialization.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ To learn more about configuring the Toolbar of Kanban, read the [**Configuration
### Configuration properties

:::note
The full list of properties to configure **Kanban** can be found [**here**](api/overview/properties_overview.md). <br>
The full list of properties to configure **Kanban** can be found [**here**](api/overview/properties_overview.md). <br/>
The full list of properties to configure **Toolbar of Kanban** can be found [**here**](api/overview/toolbar_properties_overview.md).
:::

Expand Down
29 changes: 25 additions & 4 deletions docs/guides/integration_with_salesforce.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ You should be familiar with the basic concepts and patterns of [**Salesforce**](
DHTMLX Kanban is compatible with [Salesforce](https://www.salesforce.com/) platform. We have prepared code examples on how to add DHTMLX Kanban into Salesforce environment. For more information, refer to the corresponding [Example on GitHub](https://github.com/DHTMLX/salesforce-lwc-demo).

:::note
The JavaScript Kanban widget automatically detects that it operates within a [Salesforce](https://www.salesforce.com/) environment and configures the integration logic internally. In most cases, you do not need to call any [Salesforce-specific methods](#salesforce-specific-methods) manually.
The JavaScript Kanban widget automatically detects that it operates within a [**Salesforce**](https://www.salesforce.com/) environment and configures the integration logic internally. In most cases, you do not need to call any [**Salesforce-specific methods**](#salesforce-specific-methods) manually.
:::

## Preparing environment
Expand Down Expand Up @@ -49,20 +49,41 @@ Normally, salesforce-specific methods are not required, but they can be availabl

### Salesforce-specific methods

You can use the following methods of the `salesForceEnv` helper class:
You can use the following methods of the `salesForceEnv` helper class:

| Method | Description |
| :--------------------------------------------------------------- | :----------------------------------------------------------------------------- |
| `salesForceEnv.detect()` | Detects whether the Kanban is running inside Salesforce |
| `salesForceEnv.addGlobalEvent(eventName, handler, htmlElement)` | Attaches a global event to the first available `HTMLElement` |
| `salesForceEnv.getTopNode()` | Returns the first available `HTMLElement` inside the Salesforce DOM hierarchy |
| `salesForceEnv.addGlobalEvent(eventName, handler, htmlElement)` | Attaches a global event to the first available HTML element |
| `salesForceEnv.getTopNode()` | Returns the first available HTML element inside the Salesforce DOM hierarchy |

```jsx {4,7}
import {
Kanban,
Toolbar,
salesForceEnv
} from "@dhx/trial-kanban";

salesForceEnv.detect();
```

### Additional exported function

| Function | Description |
| :------------------- | :-------------------------------------------------------------------------------- |
| `enableSalesForce()` | Manually sets the Salesforce environment when automatic detection is unavailable |

```jsx {5,8}
import {
Kanban,
Toolbar,
salesForceEnv,
enableSalesForce
} from "@dhx/trial-kanban";

enableSalesForce();
```

## Workflow steps

1. Add the `data-wx-root="true"` attribute to your LWC container
Expand Down
2 changes: 1 addition & 1 deletion docs/news/whats_new.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ If you are updating Kanban from an older version, check [Migration to newer vers

Released on October 14, 2025

[Review of release on the blog](https://dhtmlx.com/blog/dhtmlx-kanban-1-7/)
[Review of release on the blog](https://dhtmlx.com/blog/meet-dhtmlx-kanban-1-7/)

### Salesforce Integration

Expand Down
27 changes: 22 additions & 5 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,17 +134,30 @@ const onAfterDataTransformation = (data) => {
const config = {
noIndex: false,
title: 'DHTMLX JavaScript Kanban Docs',
tagline: 'DHTMLX JavaScript Kanban Docs',
tagline: 'DHTMLX JavaScript Kanban Docs',
url: 'https://docs.dhtmlx.com',
baseUrl: '/kanban/',

baseUrl: process.env.DOCUSAURUS_BASEURL || '/kanban/',
i18n: {
defaultLocale: 'en',
locales: ['en', 'de', 'ru', 'zh', 'ko'],
localeConfigs: {
zh: {
htmlLang: 'zh-CN',
label: '中文'
},
}
},
onBrokenLinks: 'warn',
onBrokenMarkdownLinks: 'warn',
onBrokenAnchors: 'warn',
favicon: 'img/favicon.ico',
organizationName: 'DHTMLX', // Usually your GitHub org/user name.
projectName: 'docs-kanban', // Usually your repo name.
trailingSlash: true,
markdown: {
hooks: {
onBrokenMarkdownLinks: 'warn',
}
},
scripts:[
{
src: 'https://dhtmlx.com/gtag/docs.js',
Expand Down Expand Up @@ -217,7 +230,11 @@ const config = {
"label": "Download",
"href": "https://dhtmlx.com/docs/products/dhtmlxKanban/download.shtml",
"position": "right"
}
},
{
type: 'localeDropdown',
position: 'right',
},
],
},
footer: {
Expand Down
Loading
Loading