{"id":8029,"date":"2020-12-07T14:40:34","date_gmt":"2020-12-07T11:40:34","guid":{"rendered":"https:\/\/dhtmlx.com\/blog\/?p=8029"},"modified":"2025-03-10T15:58:41","modified_gmt":"2025-03-10T12:58:41","slug":"dhtmlx-suite-7-0-pagination-node-js-css-templates-touch-support","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/dhtmlx-suite-7-0-pagination-node-js-css-templates-touch-support\/","title":{"rendered":"DHTMLX Suite 7.0 with New Pagination Widget, Node.js Demos, CSS Widget Templates, Perfect Touch Support, and Much More"},"content":{"rendered":"<p>DHTMLX development team has been working hard on the major release of the Suite <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/\" target=\"_blank\" rel=\"noopener\">JavaScript widget library<\/a>. As a result, DHTMLX Suite receives plenty of brand new powers in version 7.0.<\/p>\n<p>Meet the highlights of the major update:<\/p>\n<ul>\n<li>Pagination widget<\/li>\n<li>code examples of using Suite widgets with Node.js<\/li>\n<li>CSS templates for styling widgets<\/li>\n<li>perfect work on touch devices<\/li>\n<li>Layout, Form, and Tabbar reworked<\/li>\n<\/ul>\n<p><strong><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/download.shtml\" target=\"_blank\" rel=\"noopener\">Download the trial version of DHTMLX Suite 7.0 now &gt;<\/a><\/strong><\/p>\n<h5>DHTMLX Pagination [PRO]<\/h5>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8033\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Pagination.png\" alt=\"JavaScript Pagination - DHTMLX widget\" width=\"1221\" height=\"546\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Pagination.png 1221w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Pagination-300x134.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Pagination-768x343.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Pagination-1024x458.png 1024w\" sizes=\"auto, (max-width: 1221px) 100vw, 1221px\" \/><a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/pagination\/01_init\/04_with_grid.html\" target=\"_blank\" rel=\"noopener\">Check the sample &gt;<\/a><\/p>\n<p>Interacting with data is one of the biggest challenges users face in web apps. When there is a huge amount of data rows in a table spread across numerous pages, it is essential to provide users with a proper navigation control. Starting with v7.0, DHTMLX Suite is supplemented with the <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxPagination\/\" target=\"_blank\" rel=\"noopener\">JavaScript Pagination widget<\/a> for navigating content in DHTMLX Grid, TreeGrid, Tree, List, and DataView.<\/p>\n<p>DHTMLX Pagination enables end-users to quickly search for the necessary information with the help of an input field and navigation buttons. It works out-of-the-box but can also be adjusted to the requirements of your web application. A range of API properties allows manipulating the input width, the number of items displayed per page, and defining the initial page. API methods for working with the widget together with event listeners ensure an interactive and user-friendly experience for your end-users. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/pagination\/\" target=\"_blank\" rel=\"noopener\">Learn more in the documentation &gt;<\/a><\/p>\n<p><em>Note that DHTMLX Pagination is available in the PRO edition only.<\/em><\/p>\n<h5>Node.js Demos<\/h5>\n<p>At the request of DHTMLX clients, we have prepared code examples of how to implement DHTMLX widgets using Node.js for the backend. The samples show how to get, edit, delete and send data in DHTMLX Grid, Tree, Form, DataView, List, Chart, and SimpleVault widgets. You can access and explore the Node.js demo <a href=\"https:\/\/github.com\/DHTMLX\/nodejs-suite-demo\" target=\"_blank\" rel=\"noopener\">on GitHub<\/a>.<\/p>\n<h5>CSS Widget Templates<\/h5>\n<p>One of our primary goals is to accelerate web development. To achieve it we have laid out the core design principles of a successful application in a step-by-step guide <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/how-to-create-javascript-applications\/\" target=\"_blank\" rel=\"noopener\">&#8220;How to create a user-friendly application in JavaScript&#8221;<\/a>. There we uncover the key points of convenient navigation, data editing, filtering, and styling.<\/p>\n<p>We have also presented a novel way of styling DHTMLX widgets in your web applications using CSS templates. Now you can choose the desired look of the widget, copy the CSS styles from the snippet, and apply them in your app. Here is an example of a dark toolbar:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8034\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Dark-toolbar-CSS.png\" alt=\"Dark toolbar CSS\" width=\"951\" height=\"52\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Dark-toolbar-CSS.png 951w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Dark-toolbar-CSS-300x16.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Dark-toolbar-CSS-768x42.png 768w\" sizes=\"auto, (max-width: 951px) 100vw, 951px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/toolbar_template_a\" target=\"_blank\" rel=\"noopener\">Check CSS styles in the code snippet &gt; <\/a><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-8041\" style=\"float: right; margin-left: 30px; margin-top: 60px;\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Suite70_mobile-192x300.png\" alt=\"DHTMLX Suite - Touch Support\" width=\"192\" height=\"300\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Suite70_mobile-192x300.png 192w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Suite70_mobile.png 382w\" sizes=\"auto, (max-width: 192px) 100vw, 192px\" \/><\/p>\n<div>\n<h5>Perfect Touch Support<\/h5>\n<p>From now on, DHTMLX Suite provides smooth work of all UI widgets on touch devices so that end-users can enjoy a truly native experience using your app on any device. All events triggered by a click and double-click are preserved and will fire as usual. You can test DHTMLX widgets on your mobile device following the link: <a href=\"https:\/\/snippet.dhtmlx.com\/q3cu6x1a?mode=mobile\" target=\"_blank\" rel=\"noopener\">https:\/\/snippet.dhtmlx.com\/q3cu6x1a?mode=mobile<\/a><\/p>\n<\/div>\n<h5>Layout Reworked<\/h5>\n<p>In v7.0 DHTMLX Layout offers a new approach to arranging widgets on a page compared to the previous versions.<\/p>\n<p>First of all, we added a number of anticipated API properties for managing the size of Layout cells such as <a href=\"https:\/\/docs.dhtmlx.com\/suite\/layout\/cell_configuration\/\" target=\"_blank\" rel=\"noopener\"><strong>width<\/strong> and <strong>height<\/strong><\/a> for automatically adjusting to the content size, <a href=\"https:\/\/docs.dhtmlx.com\/suite\/layout\/api\/cell\/layout_cell_maxheight_config\/\" target=\"_blank\" rel=\"noopener\"><strong>maxHeight<\/strong><\/a>, <a href=\"https:\/\/docs.dhtmlx.com\/suite\/layout\/api\/cell\/layout_cell_maxwidth_config\/\" target=\"_blank\" rel=\"noopener\"><strong>maxWidth<\/strong><\/a>, <a href=\"https:\/\/docs.dhtmlx.com\/suite\/layout\/api\/cell\/layout_cell_minheight_config\/\" target=\"_blank\" rel=\"noopener\"><strong>minHeight<\/strong><\/a>, and <a href=\"https:\/\/docs.dhtmlx.com\/suite\/layout\/api\/cell\/layout_cell_minwidth_config\/\" target=\"_blank\" rel=\"noopener\"><strong>minWidth<\/strong><\/a>. The <a href=\"https:\/\/docs.dhtmlx.com\/suite\/layout\/api\/cell\/layout_cell_gravity_config\/\" target=\"_blank\" rel=\"noopener\"><strong>gravity<\/strong><\/a> property now serves to specify the weight of a cell in relation to other cells in the same row and within one parent.<\/p>\n<p>Secondly, we introduced three <a href=\"https:\/\/docs.dhtmlx.com\/suite\/layout\/api\/cell\/layout_cell_type_config\/\" target=\"_blank\" rel=\"noopener\">types of borders<\/a> between Layout cells: &#8220;space&#8221;, &#8220;wide&#8221;, and &#8220;line&#8221;. These are values of the <strong>type<\/strong> configuration property of a Layout cell. Cells with the &#8220;space&#8221; type have wide space around them. The &#8220;wide&#8221; type adds a cell border and leaves a wide space only between sibling cells. The &#8220;line&#8221; type adds only borders to cells.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8063\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-10-47-370.png\" alt=\"DHTMLX space layout\" width=\"888\" height=\"415\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-10-47-370.png 888w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-10-47-370-300x140.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-10-47-370-768x359.png 768w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/9ge1a4zx\" target=\"_blank\" rel=\"noopener\">Check the sample &gt;<\/a><\/p>\n<p>Children cells inherit the type of borders of their parents if they don&#8217;t have their own type specified. Thus, you can quickly apply the necessary Layout configuration and define the desired border types to visually separate cells from each other.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8035\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Layout-2.png\" alt=\"JS Mixed Layout by DHTMLX\" width=\"885\" height=\"476\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Layout-2.png 885w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Layout-2-300x161.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Layout-2-768x413.png 768w\" sizes=\"auto, (max-width: 885px) 100vw, 885px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/w00fgl57\" target=\"_blank\" rel=\"noopener\">Layout with combined types. Check the sample &gt;<\/a><\/p>\n<h5>Form Reworked<\/h5>\n<p>Our development team reshaped the Event System of DHTMLX Form to enhance interactivity. We created new <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/api\/api_overview\/\" target=\"_blank\" rel=\"noopener\">Form events<\/a> as well as events for <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/api\/api_overview\/\" target=\"_blank\" rel=\"noopener\">individual controls<\/a>.<\/p>\n<p>In v7.0 we also introduced a new type of Form controls &#8211; <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/checkboxgroup\/\" target=\"_blank\" rel=\"noopener\">CheckboxGroup<\/a>. It represents a group of checkboxes arranged together in one block. The CheckboxGroup has its own API with methods and attributes for controlling its look and feel.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8036\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Checkbox-Group.png\" alt=\"Checkbox Group - DHTMLX Form\" width=\"403\" height=\"149\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Checkbox-Group.png 403w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Checkbox-Group-300x111.png 300w\" sizes=\"auto, (max-width: 403px) 100vw, 403px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/p89u4ovb\" target=\"_blank\" rel=\"noopener\">Check the sample &gt;<\/a><\/p>\n<p>Besides, there appeared a new Spacer element in DHTMLX Form. It allows separating the controls by occupying space between them. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/spacer\/\" target=\"_blank\" rel=\"noopener\">Learn more about Spacer and its API &gt;<\/a><\/p>\n<p>Such HTML attributes as <strong>minlength<\/strong>, <strong>maxlength<\/strong>, <strong>min<\/strong>, and <strong>max<\/strong> are available for the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/input\/\" target=\"_blank\" rel=\"noopener\">Input<\/a> and <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/textarea\/\" target=\"_blank\" rel=\"noopener\">Textarea<\/a> controls now.<\/p>\n<p>We added a new property for specifying the initial value in the RadioGroup control. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/radiogroup\/\" target=\"_blank\" rel=\"noopener\">Learn more &gt;<\/a><\/p>\n<p>Additionally, v7.0 delivered the ability to <a href=\"https:\/\/docs.dhtmlx.com\/suite\/form\/work_with_form\/\" target=\"_blank\" rel=\"noopener\">set focus<\/a> on a specified Form control with the help of new API methods: <strong>setFocus<\/strong> and <strong>focus()<\/strong>.<\/p>\n<h5>Tab Bar: Size, Alignment, Content Overflow<\/h5>\n<p>DHTMLX Tabbar got new API properties for controlling the size of tabs. Starting with v7.0, you can define the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/tabbar\/api\/tabbar_views_config\/\" target=\"_blank\" rel=\"noopener\">size of each tab<\/a> with the help of the <strong>tabWidth<\/strong> and <strong>tabHeight<\/strong> properties. Besides, now it is possible to adjust the width and height of tabs automatically to the size of the container via the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/tabbar\/api\/tabbar_tabautowidth_config\/\" target=\"_blank\" rel=\"noopener\"><strong>tabAutoWidth<\/strong><\/a> and <a href=\"https:\/\/docs.dhtmlx.com\/suite\/tabbar\/api\/tabbar_tabautoheight_config\/\" target=\"_blank\" rel=\"noopener\"><strong>tabAutoHeight<\/strong><\/a> properties.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8037\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-26-816-2.png\" alt=\"DHTMLX JS Tab Bar - AutoWidth\" width=\"802\" height=\"201\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-26-816-2.png 802w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-26-816-2-300x75.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-26-816-2-768x192.png 768w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/mlzko8am\" target=\"_blank\" rel=\"noopener\">Check the sample &gt;<\/a><\/p>\n<p>In v7.0 you can easily align tabs to the left, center, or right with the help of the <a href=\"https:\/\/docs.dhtmlx.com\/suite\/tabbar\/api\/tabbar_tabalign_config\/\" target=\"_blank\" rel=\"noopener\"><strong>tabAlign<\/strong><\/a> property.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8038\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-32-687-1.png\" alt=\"DHTMLX Tab Bar - Right Alignment\" width=\"802\" height=\"201\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-32-687-1.png 802w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-32-687-1-300x75.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/bandicam-2020-12-07-11-23-32-687-1-768x192.png 768w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/bctscs71\" target=\"_blank\" rel=\"noopener\">Check the sample &gt;<\/a><\/p>\n<p>If the container overflows with content in tabs, a user can switch between tabs with the help of nice-looking arrows and smoothly scroll through tabs.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8039\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2020\/12\/Untitled-Project.gif\" alt=\"Scrolling tabs in DHTMLX Tab Bar\" width=\"804\" height=\"52\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/3gf9av9q\" target=\"_blank\" rel=\"noopener\">Check the sample &gt;<\/a><\/p>\n<h5>Grid and TreeGrid: Hiding and Showing Rows<\/h5>\n<p>Another much-awaited feature brought out in v7.0 is the ability to hide and show rows in DHTMLX <a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/usage\/\" target=\"_blank\" rel=\"noopener\">Grid<\/a> and <a href=\"https:\/\/docs.dhtmlx.com\/suite\/grid\/usage\/\" target=\"_blank\" rel=\"noopener\">TreeGrid<\/a>. For that purpose, we added new API methods: <strong>showRow()<\/strong> and <strong>hideRow()<\/strong>. <a href=\"https:\/\/docs.dhtmlx.com\/suite\/samples\/grid\/03_usage\/15_show_hide_row.html\" target=\"_blank\" rel=\"noopener\">Check the sample &gt;<\/a><\/p>\n<h5>Drag-n-Drop Events<\/h5>\n<p>V7.0 has presented new drag-n-drop events in DHTMLX DataView, Grid, List, Tree, and TreeGrid. Now all end-user actions can be covered with specific events that will let you gain complete control over the functioning of your web application. V7.0 includes event listeners for such user actions as starting and finishing dragging or dropping a row, for example. You can get acquainted with new events for each widget in the documentation.<\/p>\n<h5>Other Updates<\/h5>\n<p>The list of new functionality and updates in v7.0 is far from being finished. Let&#8217;s take a brief look at other novelties and enhancements.<\/p>\n<ul>\n<li>The <strong>sort<\/strong> and <strong>filter<\/strong> methods of the DataCollection were improved. The new <strong>smartSorting<\/strong> method appeared for sorting data whenever the dataset changes.<\/li>\n<li>The event collection was updated and enriched for the Form, TimePicker, Tree, and TreeGrid widgets. The DataView, Grid, and List widgets received the ability to add event listeners to custom templates of items.<\/li>\n<li>The Selection API was updated in the Tree, List, DataView, and Grid widgets.<\/li>\n<li>It became possible to access and manipulate filters in the header of a Grid, for example, to focus on a filter of your choice, to change or to clear it.<\/li>\n<li>New API methods for manipulating the selection of items were created in the Menu, Toolbar, and Ribbon widgets.<\/li>\n<li>The property value for setting an initial value during the initialization of the widget was added to the ComboBox and TimePicker widgets.<\/li>\n<\/ul>\n<p>Please check out the entire <a href=\"https:\/\/docs.dhtmlx.com\/suite\/whatsnew\/\" target=\"_blank\" rel=\"noopener\">&#8220;What&#8217;s new&#8221;<\/a> list in the documentation to catch up on all updates.<\/p>\n<p>We are looking forward to hearing your feedback. Leave your comments in the discussion below!<\/p>\n<p>Current clients can access the latest version of DHTMLX Suite in their <a href=\"https:\/\/dhtmlx.com\/clients\/\" target=\"_blank\" rel=\"noopener\">Client&#8217;s Area<\/a>.<\/p>\n<p>If you would like to test the update first, here is a <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/download.shtml\" target=\"_blank\" rel=\"noopener\">free 30-day trial version<\/a>.<\/p>\n<h6>Related Materials:<\/h6>\n<ul>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/\" target=\"_blank\" rel=\"noopener\">DHTMLX Suite Documentation<\/a><\/li>\n<li><a href=\"https:\/\/snippet.dhtmlx.com\/cwiuna9l?tag=suite\" target=\"_blank\" rel=\"noopener\">DHTMLX Suite Code Snippets<\/a><\/li>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/suite\/whatsnew\/\" target=\"_blank\" rel=\"noopener\">Full What&#8217;s New List<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxSuite\/\" target=\"_blank\" rel=\"noopener\">JavaScript Widget Library<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>DHTMLX development team has been working hard on the major release of the Suite JavaScript widget library. As a result, DHTMLX Suite receives plenty of brand new powers in &#8230;<\/p>\n","protected":false},"author":101012,"featured_media":8054,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,70,1,38],"tags":[33,39,10],"class_list":["post-8029","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-posts-for-codeproject-com","category-releases","category-uncategorized","category-visible","tag-all-posts","tag-nodejs","tag-dhtmlxsuite"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/8029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/users\/101012"}],"replies":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/comments?post=8029"}],"version-history":[{"count":35,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/8029\/revisions"}],"predecessor-version":[{"id":13457,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/8029\/revisions\/13457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/8054"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=8029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=8029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=8029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}