{"id":12048,"date":"2024-01-31T18:15:07","date_gmt":"2024-01-31T15:15:07","guid":{"rendered":"https:\/\/dhtmlx.com\/blog\/?p=12048"},"modified":"2024-10-17T18:12:50","modified_gmt":"2024-10-17T15:12:50","slug":"dhtmlx-scheduler-7-0","status":"publish","type":"post","link":"https:\/\/dhtmlx.com\/blog\/dhtmlx-scheduler-7-0\/","title":{"rendered":"DHTMLX Scheduler 7.0 with Customizable Themes, New Dark Theme, Google-Like Agenda View, New Tooltip API, and More"},"content":{"rendered":"<p>We are thrilled to present a highly anticipated release of DHTMLX Scheduler 7.0. It is another major step in the development of this <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxScheduler\/\" rel=\"noopener\" target=\"_blank\">JavaScript scheduling library<\/a>. If the previous major update of Scheduler focused on the internal structure of the project, the new version is related to significant improvements on the user interface side.<\/p>\n<p>First of all, this major update is notable for greatly enhanced styling capabilities, including rewritten Scheduler themes, simplified customization of themes with CSS variables, updated default Terrace theme, a new Dark theme, and other useful changes. Moreover, you\u2019ll be pleased to see the renewed Agenda view that offers a new way of displaying a list of upcoming events. We also updated the Tooltip API to simplify the attachment of tooltips to custom elements and added a new way of enabling the Scheduler export.<\/p>\n\n\t\t<div class='post-banner'>\n\t\t    <div class='post-banner__inside'>\n\t\t        <div>\n\t\t            <div class=\"post-banner__title\">Download DHTMLX Scheduler v7.0<\/div>\n\t\t            <div class=\"post-banner__text\">Estimate the updated functionality for building modern JavaScript scheduling calendars<\/div>\n                <\/div>\n\t\t            \n                \n            <div class='post-banner__btn'>\n                <a href='https:\/\/dhtmlx.com\/docs\/products\/dhtmlxScheduler\/download.shtml' title='' class='button-secondary'>Get free trial<\/a>\n            <\/div>\n        \n            <\/div>\n\t\t<\/div>\n\t\n<p>Now let us review all these novelties in more detail.<\/p>\n<h5>Updates in Scheduler Themes<\/h5>\n<p>Themes play a crucial role in the styling capabilities of modern JavaScript libraries. But the importance of themes lies not only in making web apps more visually appealing since they also help in achieving such goals as personalized user experience, enhanced accessibility, brand consistency, and more. Using themes included in JavaScript libraries, web developers get the necessary flexibility to tailor the UI to various project requirements with less time and effort. That is why we decided to introduce a range of updates and improvements related to themes in Scheduler 7.0.<\/p>\n<h6>Overhauled Themes<\/h6>\n<p>The core styles of DHTMLX Scheduler were developed some time ago focusing on cross-browser compatibility. However, as legacy browsers became obsolete, these implementations also started showing their age. If you&#8217;ve used our Scheduler, you may have noticed some issues. The default Terrace theme appeared outdated and needed rejuvenation, theme customization required writing extensive CSS code, and certain elements struggled with overflow and faced issues while rendering on smaller screens. The new Scheduler version tackles all these issues.<\/p>\n<p>We have fully rewritten all the themes from scratch, making sure to adopt modern practices. <\/p>\n<p>Let us provide you with more details in the following sections. <\/p>\n<h6>Updated Terrace Theme<\/h6>\n<p>In v7.0, the Terrace theme has undergone an overhaul towards a fresh and vibrant appearance that aligns with modern design standards.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/terrace-1-3.png\" alt=\"DHTMLX Scheduler - Terrace Theme\" width=\"1800\" height=\"956\" class=\"aligncenter size-full wp-image-12079\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/terrace-1-3.png 1800w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/terrace-1-3-300x159.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/terrace-1-3-768x408.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/terrace-1-3-1024x544.png 1024w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\" \/><a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/samples\/01_initialization_loading\/01_basic_init.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>The Terrace theme has been updated for easier customization and resolving numerous visual issues.<\/p>\n<h6>New Dark Theme<\/h6>\n<p>If you take a look at the top design trends of recent years, you are most likely to find a dark theme (or dark mode) in the list. Dark themes not only give a modern look to the UI but also contribute to reduced eye fatigue, improved accessibility, enhanced focus on the content, and an extended battery life on mobile devices. So if you lack this feature in your JavaScript scheduling calendar built with DHTMLX, there is good news for you. In version 7.0, we added the dark option to the list of available built-in themes in our Scheduler component.<br \/>\n<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/dark-1-1024x543.png\" alt=\"Scheduler - Dark mode\" width=\"1024\" height=\"543\" class=\"alignnone size-large wp-image-12058\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/dark-1-1024x543.png 1024w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/dark-1-300x159.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/dark-1-768x407.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/dark-1.png 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/samples\/07_skins\/06_dark.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h6>Changes in Theme Structure<\/h6>\n<p>This major update brings significant changes to the CSS structure of our themes. Firstly, all themes are now defined in a single CSS file, simplifying theme management. You can enable the needed theme directly in the code in two ways:<\/p>\n<ul>\n<li>by setting the property:<\/li>\n<\/ul>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">scheduler.<span class=\"me1\">skin<\/span> <span class=\"sy0\">=<\/span> <span class=\"st0\">&quot;dark&quot;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<ul>\n<li>by using a method call:<\/li>\n<\/ul>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">scheduler.<span class=\"me1\">setSkin<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;dark&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>This enhancement allows for seamless switching between themes at runtime. It means that themes can be applied dynamically based on application settings, providing a more flexible and user-friendly experience.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/image6.gif\" alt=\"Scheduler 7.0 - switching between themes\" width=\"997\" height=\"501\" class=\"alignnone size-full wp-image-12051\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/o6u8ldp7?mode=wide\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h6>Customizing Themes with CSS Variables<\/h6>\n<p>In this release we&#8217;ve introduced support for CSS variables, marking a significant advancement in theme customization. CSS variables, also known as custom properties, offer a more dynamic and efficient approach to styling. And that\u2019s exactly what you need to be able to customize existing Scheduler themes with less time and effort. <\/p>\n<p>From now on, you can easily modify the appearance of the Scheduler by changing a few key variables. This means that altering colors, fonts, and other stylistic elements across the entire application can now be accomplished with minimal code changes.  <\/p>\n<p>Here is a quick example to show you the benefit of the new styling approach. A common Scheduler customization case for developers is changing event colors. In previous versions of the Scheduler component, it required updating specific styles like in the code below:<\/p>\n<div class=\"codecolorer-container css default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"css codecolorer\"><span class=\"coMULTI\">\/*event in day or week view*\/<\/span><br \/>\n<span class=\"re1\">.dhx_cal_event<\/span><span class=\"re1\">.manager_event<\/span> div<span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background-color<\/span><span class=\"sy0\">:<\/span> <span class=\"re0\">#009966<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">color<\/span><span class=\"sy0\">:<\/span> <span class=\"kw4\">black<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"coMULTI\">\/*multi-day event in month view*\/<\/span><br \/>\n<span class=\"re1\">.dhx_cal_event_line<\/span>.manager_event<span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">background-color<\/span><span class=\"sy0\">:<\/span> <span class=\"re0\">#009966<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">color<\/span><span class=\"sy0\">:<\/span> <span class=\"kw4\">black<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"coMULTI\">\/*event with fixed time, in month view*\/<\/span><br \/>\n<span class=\"re1\">.dhx_cal_event_clear<\/span>.manager_event<span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">color<\/span><span class=\"sy0\">:<\/span> <span class=\"kw4\">black<\/span> !important<span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p>With Scheduler v7.0, you simply redefine the CSS variables responsible for event colors:<\/p>\n<div class=\"codecolorer-container css default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"css codecolorer\"><span class=\"re1\">.manager_event<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"re4\">--dhx-scheduler-event-background<\/span><span class=\"sy0\">:<\/span> <span class=\"re0\">#009966<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"re4\">--dhx-scheduler-event-color<\/span><span class=\"sy0\">:<\/span> <span class=\"kw4\">black<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/div>\n<p><a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/samples\/02_customization\/01_events_coloring.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>Altering colors, fonts, and other stylistic elements across the Scheduler can now be accomplished much faster. For instance, changing the color scheme of your JavaScript scheduling calendar is as simple as redefining a set of color variables. This change simplifies customization and ensures flexible, scalable theme development, thereby enabling developers to create more personalized user experiences with ease.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/DHTMLX-Scheduler-Theme-Customization-1.png\" alt=\"DHTMLX Scheduler Theme Customization\" width=\"1800\" height=\"765\" class=\"aligncenter size-full wp-image-12088\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/DHTMLX-Scheduler-Theme-Customization-1.png 1800w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/DHTMLX-Scheduler-Theme-Customization-1-300x128.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/DHTMLX-Scheduler-Theme-Customization-1-768x326.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/DHTMLX-Scheduler-Theme-Customization-1-1024x435.png 1024w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/cv29bgma?mode=wide\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h6>Other Minor Theme Improvements<\/h6>\n<p>Apart from the major changes described above, DHTMLX Scheduler 7.0  also delivers plenty of minor but still useful improvements in themes, and they deserve your attention. <\/p>\n<p>In previous versions, the Scheduler&#8217;s background grid for days was specified using a background image, which caused some inconvenience when scaling or changing the height of the time scale. Now the background grid is implemented with blocks, therefore you just need to change the <strong>hour_size_px<\/strong> config to set a new height for the scheduler\u2019s time scale.<\/p>\n<p>This change not only simplifies the configuration but also allows for simple and powerful scaling of the Day\/Week views:<br \/>\n<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/image7.gif\" alt=\"Scheduler 7.0  - scaling in Day\/Week views\" width=\"997\" height=\"501\" class=\"alignnone size-full wp-image-12053\" \/><a href=\"https:\/\/snippet.dhtmlx.com\/19hkrn3o?text=scheduler&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>Starting from v7.0, the dimensions of some Scheduler elements can be simply set via CSS styles instead of using the <strong>scheduler.xy<\/strong> config. For instance, now it is much easier to ensure that navbar buttons do not overlap on small screens but move to a new line.<\/p>\n<p>Earlier you needed to write custom code to nicely display <a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/custom_events_display.html#example\" rel=\"noopener\" target=\"_blank\">short custom events<\/a> (less than 30 minutes). The new version renders such events out of the box.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/bandicam-2024-01-31-13-48-15-113.png\" alt=\"Scheduler 7.0 - dimensions of events\" width=\"529\" height=\"365\" class=\"alignnone size-full wp-image-12065\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/bandicam-2024-01-31-13-48-15-113.png 529w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/bandicam-2024-01-31-13-48-15-113-300x207.png 300w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><br \/>\n<a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/samples\/01_initialization_loading\/01_basic_init.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>Lastly, it should be noted that style customizations used in old Scheduler versions aren\u2019t automatically compatible with the fully rewritten styles delivered in v7.0. But at the same time, the new class names and HTML structure remained very similar to the old ones, so we expect that the migration is not going to be a big issue.<\/p>\n<h5>New Setup of Agenda View<\/h5>\n<p>The Agenda view is one of five basic options included in our JavaScript scheduling library to keep track of all planned arrangements. For version 7.0, our development team rolled out a fully redesigned Agenda view. The new Agenda view works just like a List View used in Google Calendar and other similar tools.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/agenda-2.png\" alt=\"DHTMLX Scheduler Agenda View\" width=\"1800\" height=\"965\" class=\"aligncenter size-full wp-image-12082\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/agenda-2.png 1800w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/agenda-2-300x161.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/agenda-2-768x412.png 768w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/agenda-2-1024x549.png 1024w\" sizes=\"auto, (max-width: 1800px) 100vw, 1800px\" \/><a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/samples\/03_extensions\/03_agenda_view.html\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<p>Although the old Agenda View is now deprecated, it is still available if needed in your project.<\/p>\n<h5>Updated Tooltip API<\/h5>\n<p>This major release brings along an updated API that greatly simplifies the process of adding tooltips to any element within the Scheduler. <\/p>\n<p>With the new <strong>scheduler.ext.tooltips.tooltipFor()<\/strong> method, you can effortlessly attach tooltips using CSS selectors. Here&#8217;s an example:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">scheduler.<span class=\"me1\">ext<\/span>.<span class=\"me1\">tooltips<\/span>.<span class=\"me1\">tooltipFor<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; selector<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;.dhx_matrix_scell&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; html<span class=\"sy0\">:<\/span> <span class=\"kw1\">function<\/span> <span class=\"br0\">&#40;<\/span>event<span class=\"sy0\">,<\/span> node<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">const<\/span> sectionId <span class=\"sy0\">=<\/span> scheduler.<span class=\"me1\">getActionData<\/span><span class=\"br0\">&#40;<\/span>event<span class=\"br0\">&#41;<\/span>.<span class=\"me1\">section<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">const<\/span> timeline <span class=\"sy0\">=<\/span> scheduler.<span class=\"me1\">getView<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;timeline&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">const<\/span> section <span class=\"sy0\">=<\/span> timeline.<span class=\"me1\">y_unit<\/span><span class=\"br0\">&#91;<\/span>timeline.<span class=\"me1\">order<\/span><span class=\"br0\">&#91;<\/span>sectionId<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> `Tooltip <span class=\"kw1\">for<\/span> <span class=\"sy0\">&lt;<\/span>b<span class=\"sy0\">&gt;<\/span>$<span class=\"br0\">&#123;<\/span>section.<span class=\"me1\">label<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">&lt;\/<\/span>b<span class=\"sy0\">&gt;<\/span>`<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>The helper enables you to add a tooltip to any element using its CSS selector and works the same way as the Tooltip extension of DHTMLX Gantt.<\/p>\n<h5>New Way of Enabling Scheduler Export<\/h5>\n<p>Exporting is a significant feature of DHTMLX Scheduler. Earlier you could start using it after including the <strong>export api.js<\/strong> file on the HTML page or by putting it in the configuration folder and importing it (when using JS frameworks and Node.js). In v7.0, we provide a more convenient way to enable this functionality. Now you can set it to work with the <strong>plugins()<\/strong> method:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">scheduler.<span class=\"me1\">plugins<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#123;<\/span><br \/>\nexport_api<span class=\"sy0\">:<\/span> <span class=\"kw2\">true<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p>Learn more about this novelty in the <a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/migration_from_older_version.html#6070\" rel=\"noopener\" target=\"_blank\">migration notes<\/a>.<\/p>\n<h5>Other Improvements<\/h5>\n<p>Now we want to highlight other minor but helpful changes delivered in v7.0.<\/p>\n<h6>Formatting and Styling Time Slots in Day\/Week Views<\/h6>\n<p>In version 7.0, you can use the <strong>scheduler.templates.time_slot_class<\/strong> and <strong>scheduler.templates.time_slot_text<\/strong> templates to specify the styles and HTML content of the time slot elements of the Day\/Week views:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\">scheduler.<span class=\"me1\">templates<\/span>.<span class=\"me1\">time_slot_class<\/span><span class=\"sy0\">=<\/span><span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>date<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span><span class=\"br0\">&#40;<\/span>date.<span class=\"me1\">getHours<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">7<\/span> <span class=\"sy0\">||<\/span> date.<span class=\"me1\">getHours<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">18<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"st0\">&quot;custom_color&quot;<\/span><span class=\"sy0\">;<\/span>&nbsp; <br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<p><a href=\"https:\/\/snippet.dhtmlx.com\/z4ls1sju?text=scheduler&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">Check the sample ><\/a><\/p>\n<h6>Map View<\/h6>\n<p>Markers of the Map view now can be customized using the <strong>scheduler.ext.mapView.createMarker<\/strong> function:<\/p>\n<div class=\"codecolorer-container javascript default\" style=\"overflow:auto;white-space:nowrap;\"><div class=\"javascript codecolorer\"><span class=\"kw1\">const<\/span> <span class=\"br0\">&#123;<\/span> AdvancedMarkerElement<span class=\"sy0\">,<\/span> <br \/>\n&nbsp; &nbsp; PinElement <span class=\"br0\">&#125;<\/span> <span class=\"sy0\">=<\/span> await google.<span class=\"me1\">maps<\/span>.<span class=\"me1\">importLibrary<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;marker&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nscheduler.<span class=\"me1\">ext<\/span>.<span class=\"me1\">mapView<\/span>.<span class=\"me1\">createMarker<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw1\">function<\/span><span class=\"br0\">&#40;<\/span>config<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">const<\/span> pinViewGlyph <span class=\"sy0\">=<\/span> <span class=\"kw1\">new<\/span> PinElement<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; glyphColor<span class=\"sy0\">:<\/span> <span class=\"st0\">&quot;white&quot;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"kw1\">new<\/span> AdvancedMarkerElement<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; ...<span class=\"me1\">config<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; content<span class=\"sy0\">:<\/span> pinViewGlyph.<span class=\"me1\">element<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><\/div><\/div>\n<h6>Extra Space Inside Day Columns<\/h6>\n<p>In our standard Scheduler configuration, events in the Day view occupy the entire width of their respective columns, as it is shown in the image below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-without-padding.png\" alt=\"Event without padding\" width=\"900\" height=\"432\" class=\"alignnone size-full wp-image-12061\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-without-padding.png 900w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-without-padding-300x144.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-without-padding-768x369.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>Being efficient in terms of space utilization, this design presented a challenge for some end-users. The thing is that the absence of empty space in the day column can hinder the ability to create new events with drag-and-drop. To solve this problem, we&#8217;ve introduced a new configuration option &#8211; <strong>scheduler.config.day_column_padding<\/strong>.<\/p>\n<p>This feature enables you to reserve some horizontal space next to the event boxes. By implementing this padding end-users are guaranteed ample space within the day container to conveniently create new events as needed. Therefore, this API addition enhances the Scheduler&#8217;s usability and flexibility.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-with-padding.png\" alt=\"Event with padding\" width=\"898\" height=\"432\" class=\"alignnone size-full wp-image-12062\" srcset=\"https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-with-padding.png 898w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-with-padding-300x144.png 300w, https:\/\/dhtmlx.com\/blog\/wp-content\/uploads\/2024\/01\/Event-with-padding-768x369.png 768w\" sizes=\"auto, (max-width: 898px) 100vw, 898px\" \/><\/p>\n<p>In this release, we also updated type definitions.<\/p>\n<p>Last but not least, all versions (trial and licensed) of DHTMLX Scheduler can be installed using npm or yarn without extra steps.<\/p>\n<p>The &#8220;<a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/what_s_new.html#70\" rel=\"noopener\" target=\"_blank\">What\u2019s new<\/a>&#8221; section will help you to make a quick revision of all the novelties included in this major update.<\/p>\n<p>If you want to try the new version of DHTMLX Scheduler in a real-case scenario, download a <a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxScheduler\/download.shtml\" rel=\"noopener\" target=\"_blank\">free 30-day trial version<\/a>. For our current clients, v7.0 is available in their <a href=\"https:\/\/dhtmlx.com\/clients\/\" rel=\"noopener\" target=\"_blank\">Client\u2019s Area<\/a>.<\/p>\n<p>We hope that this release will enhance your experience with DHTMLX Scheduler and contribute to the success of your web projects. We also invite you to share your thoughts on this big update in the comments below.<\/p>\n<h5>Related Materials:<\/h5>\n<ul>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/what_s_new.html#70\" rel=\"noopener\" target=\"_blank\">What\u2019s new in v7.0<\/a><\/li>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/\" rel=\"noopener\" target=\"_blank\">DHTMLX Scheduler documentation<\/a><\/li>\n<li><a href=\"https:\/\/docs.dhtmlx.com\/scheduler\/samples\/\" rel=\"noopener\" target=\"_blank\">DHTMLX Scheduler samples<\/a><\/li>\n<li><a href=\"https:\/\/snippet.dhtmlx.com\/o6u8ldp7?&#038;tag=scheduler&#038;mode=wide\" rel=\"noopener\" target=\"_blank\">DHTMLX Scheduler code snippets<\/a><\/li>\n<li><a href=\"https:\/\/dhtmlx.com\/docs\/products\/dhtmlxScheduler\/download.shtml\" rel=\"noopener\" target=\"_blank\">DHTMLX Scheduler free trial version<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>We are thrilled to present a highly anticipated release of DHTMLX Scheduler 7.0. It is another major step in the development of this JavaScript scheduling library. If the previous &#8230;<\/p>\n","protected":false},"author":101014,"featured_media":12063,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[33,15],"class_list":["post-12048","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-releases","tag-all-posts","tag-dhtmlxscheduler"],"_links":{"self":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/12048","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\/101014"}],"replies":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/comments?post=12048"}],"version-history":[{"count":27,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/12048\/revisions"}],"predecessor-version":[{"id":12105,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/posts\/12048\/revisions\/12105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media\/12063"}],"wp:attachment":[{"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/media?parent=12048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/categories?post=12048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dhtmlx.com\/blog\/wp-json\/wp\/v2\/tags?post=12048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}