<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/">

<channel>
	<title>Mobiscroll Blog | Design, UI and UX for Successful Products</title>
	<atom:link href="https://blog.mobiscroll.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.mobiscroll.com</link>
	<description>Building products and services for mobile and web? We&#039;re writing about how to stand out and make products that help people.</description>
	<lastBuildDate>Thu, 02 Oct 2025 12:27:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>New release: 5.35 with Timeline &#038; Scheduler space optimization, Custom Cell Templates, Hover Interactivity and Angular Modernization</title>
		<link>https://blog.mobiscroll.com/new-release-5-35/</link>
					<comments>https://blog.mobiscroll.com/new-release-5-35/#respond</comments>
		
		<dc:creator><![CDATA[Tibi Szabo]]></dc:creator>
		<pubDate>Thu, 02 Oct 2025 12:27:30 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4351</guid>

					<description><![CDATA[Mobiscroll 5.35 brings a host of refinements, from hiding empty or invalid rows and columns in Scheduler and Timeline views to rich cell templating and hover interactions that make calendars feel truly interactive. Built‑in SortableJS and Dragula support, modernized Angular demos, Day.js &#8211; based timezone handling and a slew of smaller enhancements &#8211; including row [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-1-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-1-1024x512.jpg" alt="" class="wp-image-4423" srcset="https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-1-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-1-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-1-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-1-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-1-2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p></p>



<h2 class="wp-block-heading"><em>Mobiscroll 5.35 brings a host of refinements, from hiding empty or invalid rows and columns in Scheduler and Timeline views to rich cell templating and hover interactions that make calendars feel truly interactive. </em><br><br><em>Built‑in SortableJS and Dragula support, modernized Angular demos, Day.js &#8211; based timezone handling and a slew of smaller enhancements &#8211; including row and column highlights, drill‑down summaries and new unit‑testing guides &#8211; promise to make scheduling cleaner, smarter and more enjoyable.</em></h2>



<h2 class="wp-block-heading"><strong><strong>Hide empty or invalid rows/columns</strong></strong> <strong>in Scheduler and Timeline</strong> <strong>views</strong></h2>



<p>Large-scale schedules often contain entire days with no bookings, or resources that remain unused. In Mobiscroll 5.35, these empty rows and columns can now be removed with the following options: <code><a href="https://mobiscroll.com/docs/eventcalendar/timeline#view-timeline-hideEmptyRows" target="_blank" rel="noreferrer noopener">hideEmptyRows</a></code> and <code><a href="https://mobiscroll.com/docs/eventcalendar/timeline#view-timeline-hideInvalidRows" target="_blank" rel="noreferrer noopener">hideInvalidRows</a></code> options for the Timeline, along with <code><a href="https://mobiscroll.com/docs/eventcalendar/scheduler#view-schedule-hideEmptyColumns" target="_blank" rel="noreferrer noopener">hideEmptyColumns</a></code> and <code><a href="https://mobiscroll.com/docs/eventcalendar/scheduler#view-schedule-hideInvalidColumns" target="_blank" rel="noreferrer noopener">hideInvalidColumns</a></code> for the Scheduler. These options let you focus the interface on meaningful data only.</p>



<p>For example, in a <strong>hospital doctors appointment planner</strong>, empty resource rows for doctors who are off-duty can be hidden, keeping attention on active staff. The result is a denser, more efficient view: less scrolling, less wasted space, and a cleaner presentation for teams and end-users alike.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/multiple-days-weeks-months-quarters-years-variable-resolution" target="_blank" rel="https://demo.mobiscroll.com/timeline/multiple-days-weeks-months-quarters-years-variable-resolution"><img loading="lazy" decoding="async" width="1558" height="634" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/2025-10-01_15-33-401-ezgif.com-speed.gif" alt="" class="wp-image-4426"/></a></figure>



<p>Check out how you can hide empty rows in the <strong><a href="https://demo.mobiscroll.com/timeline/multiple-days-weeks-months-quarters-years-variable-resolution" target="_blank" rel="noreferrer noopener">Timeline view</a>.</strong></p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/show-hide-hours-days" target="_blank" rel="https://demo.mobiscroll.com/scheduler/show-hide-hours-days"><img loading="lazy" decoding="async" width="1554" height="644" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/2025-10-01_15-45-091-ezgif.com-speed.gif" alt="" class="wp-image-4427"/></a></figure>



<p>Check out how you can hide empty columns in the <a href="https://demo.mobiscroll.com/scheduler/show-hide-hours-days" target="_blank" rel="noreferrer noopener"><strong>Scheduler</strong></a>.</p>



<h2 class="wp-block-heading"><strong><strong>Cell templating for more customization</strong></strong></h2>



<p>The new release adds full control over how cells are rendered across the <strong>Event Calendar, Scheduler and Timeline</strong>. Through the new <code><a href="https://mobiscroll.com/docs/eventcalendar/scheduler#renderer-renderCell" target="_blank" rel="noreferrer noopener">renderCell</a></code>, <code><a href="https://mobiscroll.com/docs/eventcalendar/scheduler#renderer-renderCell" target="_blank" rel="noreferrer noopener">cellTemplate</a></code> and <code><a href="https://mobiscroll.com/docs/eventcalendar/scheduler#the-cell" target="_blank" rel="noreferrer noopener">cell</a></code> options, you can inject custom content like simple indicators to interactive elements.</p>



<p><strong>Timeline cells</strong> can now host custom buttons or actions. For instance, in a <strong>production schedule</strong>, each cell might include a “+” button that lets managers add assignments directly where capacity is available.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/dynamic-cell-content-template" target="_blank" rel="https://demo.mobiscroll.com/timeline/dynamic-cell-content-template"><img loading="lazy" decoding="async" width="1522" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/2025-09-30_15-07-491-ezgif.com-speed.gif" alt="" class="wp-image-4428"/></a></figure>



<p>Explore this <a href="https://demo.mobiscroll.com/timeline/dynamic-cell-content-template" target="_blank" rel="noreferrer noopener"><strong>demo</strong></a> to see timeline cells fully customized with interactive actions and workload indicators.</p>



<p><strong>Scheduler cells</strong> can display workload markers, icons, or interactive status badges, giving end-users quick visual cues without opening event details.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/cell-content-template" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1524" height="740" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/cell-customization-scheduler-minified.gif" alt="" class="wp-image-4392"/></a></figure>



<p><a href="https://demo.mobiscroll.com/scheduler/cell-content-template" target="_blank" rel="noreferrer noopener"><strong>Discover</strong></a> how to highlight holidays, availability, and statuses with custom cell content.</p>



<p>This level of customization helps teams tailor scheduling tools to their exact workflows &#8211; whether they need to surface KPIs, allow inline creation of new events, or highlight critical slots.</p>



<h2 class="wp-block-heading"><strong>Hover events for better interactivity</strong></h2>



<p>The latest release introduces hover events to the <strong>Scheduler</strong>, <strong>Timeline</strong> cells and resources, and <strong>Event Calendar</strong> cells, enabling developers to surface contextual information and quick actions directly in the grid. Added the <code><a href="https://mobiscroll.com/docs/eventcalendar/calendar#event-onCellHoverIn" target="_blank" rel="noreferrer noopener">onCellHoverIn</a></code> / <code><a href="https://mobiscroll.com/docs/eventcalendar/calendar#event-onCellHoverOut" target="_blank" rel="noreferrer noopener">onCellHoverOut</a></code> and <a href="https://mobiscroll.com/docs/eventcalendar/scheduler#event-onResourceHoverIn" target="_blank" rel="noreferrer noopener"><code>onResourceHoverIn</code> </a>/ <code><a href="https://mobiscroll.com/docs/eventcalendar/scheduler#event-onResourceHoverOut" target="_blank" rel="noreferrer noopener">onResourceHoverOut</a></code> events giving teams fine-grain control over cell- and resource-level interactions.</p>



<p><strong>Resource hover in Timeline</strong><br>Managers can now display tooltips or inline overlays when hovering over a resource row. In a fleet management app, hovering over a driver resource might reveal availability, assigned routes, or KPIs without navigating away.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/display-resource-information-on-hover" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1522" height="590" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/resource-on-hover-timeline-minified.gif" alt="" class="wp-image-4393"/></a></figure>



<p>Check out the timeline resource hover <a href="https://demo.mobiscroll.com/timeline/display-resource-information-on-hover" target="_blank" rel="noreferrer noopener"><strong>demo</strong></a></p>



<p><strong>Cell hover in Scheduler and Event Calendar<br></strong>Hovering over a time cell can display workload details or quick options. For example, in a <strong>hospital shift calendar</strong>, pointing at a cell could show how many nurses are already assigned.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/show-cell-summary-on-hover" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1524" height="740" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/summarize_cell.gif" alt="" class="wp-image-4379"/></a></figure>



<p>Explore how Scheduler cell hover can display workload details or quick options in the <a href="https://demo.mobiscroll.com/scheduler/show-cell-summary-on-hover" target="_blank" rel="noreferrer noopener"><strong>demo</strong></a></p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/eventcalendar/cell-template-on-hover#" target="_blank" rel="https://demo.mobiscroll.com/eventcalendar/cell-template-on-hover#"><img loading="lazy" decoding="async" width="1526" height="806" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/cell-template-on-hover-EC-minified.gif" alt="" class="wp-image-4402"/></a></figure>



<p>Explore how hover-based interactions can be simple yet elegant in the Event Calendar cell <a href="https://demo.mobiscroll.com/eventcalendar/cell-template-on-hover#" target="_blank" rel="noreferrer noopener"><strong>demo</strong></a></p>



<h2 class="wp-block-heading"><strong>SortableJS + Dragula support</strong></h2>



<p>Mobiscroll 5.35 integrates directly with <strong>SortableJS</strong> and <strong>Dragula</strong>, allowing events and resources to be dragged between external lists and <strong>Event Calendar</strong>, <strong>Scheduler</strong> &amp; <strong>Timeline</strong> views. For example, pending tasks can be scheduled by dragging them from a backlog into the calendar, or entire resources like drivers or classrooms can be reassigned between timelines.&nbsp;</p>



<figure class="wp-block-image size-full"><a class="" href="https://demo.mobiscroll.com/timeline/external-drag-drop-sortable-dragula" target="_blank" rel="https://demo.mobiscroll.com/timeline/external-drag-drop-sortable-dragula"><img loading="lazy" decoding="async" width="1538" height="696" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/2025-10-01_16-22-061-ezgif.com-speed.gif" alt="" class="wp-image-4430"/></a></figure>



<p>This reduces implementation effort while giving end-users fluid, enterprise-ready drag-and-drop workflows.</p>



<p>Try the demos: </p>



<ul class="wp-block-list">
<li><a href="https://demo.mobiscroll.com/eventcalendar/external-drag-drop-sortable-dragula" target="_blank" rel="noreferrer noopener"><strong>Event Calendar</strong></a></li>



<li><a href="https://demo.mobiscroll.com/scheduler/external-drag-drop-sortable-dragula" target="_blank" rel="noreferrer noopener"><strong>Scheduler</strong></a></li>



<li><a href="https://demo.mobiscroll.com/timeline/external-drag-drop-sortable-dragula" target="_blank" rel="noreferrer noopener"><strong>Timeline</strong></a></li>
</ul>



<h2 class="wp-block-heading"><strong><strong>Angular modernization: 350+ updated demos</strong></strong></h2>



<p>With the new release, all <strong>350+ Angular demos</strong> have been migrated from NgModules to <strong>standalone components</strong>, fully aligned with the latest Angular best practices. This allows developers to integrate Mobiscroll components directly, without additional module wiring, and to replicate real-world setups with less boilerplate.</p>



<h2 class="wp-block-heading"><strong>Timezone improvements: Day.js instead of Moment.js</strong></h2>



<p>The 5.35 updates all timezone demos to use <strong>Day.js</strong>, a lightweight and modern date library, replacing Moment.js. In practice, this means faster load times and smaller bundles for apps where timezone handling is critical.</p>



<h2 class="wp-block-heading"><strong><strong>Highlight rows and columns in Timeline</strong></strong></h2>



<p>We have built a demo using the <strong>Timeline view, utilizing the brand new hover events</strong> to dynamically highlight cursor position along with rows and columns, making dense schedules and large grids much easier to navigate. When a user hovers over a cell, the entire row and column light up, so it’s instantly clear <strong>where you are in the grid and how that slot connects across time and resources</strong>.</p>



<p>This improves data accuracy in complex scenarios, while internal teams benefit from reduced navigation errors when working with dense schedules.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/dynamic-resource-column-highlight-on-cell-hover" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1522" height="740" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/2025-09-30_15-32-331-ezgif.com-speed.gif" alt="" class="wp-image-4381"/></a></figure>



<p>Try out hover interactions and discover how quickly you can adapt them to your workflow <a href="https://demo.mobiscroll.com/timeline/dynamic-resource-column-highlight-on-cell-hover" target="_blank" rel="noreferrer noopener"><strong>here</strong></a></p>



<h2 class="wp-block-heading"><strong>Event Calendar drill-down with summaries</strong></h2>



<p>Another demo that we built using the new hover and templating capabilities is for the event calendar. This makes the calendar more intuitive: month cells now display totals &#8211; like daily bookings, tasks, or patient visits &#8211; and expand into week or day views with a single click. This gives users a clear overview at a glance and quick access to the details they need, without switching tools or views.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/eventcalendar/day-cell-aggregate-information" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1524" height="790" src="https://blog.mobiscroll.com/wp-content/uploads/2025/10/cell_aggregate.gif" alt="" class="wp-image-4382"/></a></figure>



<p>Explore this <a href="https://demo.mobiscroll.com/eventcalendar/day-cell-aggregate-information" target="_blank" rel="noreferrer noopener"><strong>demo</strong> </a>to see how aggregate data, custom visuals, and drill-down navigation create a smarter Event Calendar.</p>



<h2 class="wp-block-heading"><strong>Unit testing guide for every framework</strong></h2>



<p>Unit tests serve as an early safety layer &#8211; identifying issues before they reach production, minimizing risks during refactoring, and clarifying how the code is intended to work. For users, this ensures a dependable product with consistent features, seamless updates, and quicker access to trustworthy improvements.</p>



<p>Check out the updates and new unit testing guides we have published:</p>



<ul class="wp-block-list">
<li>Check the guide to learn <a href="https://mobiscroll.com/docs/javascript/guides/unit-testing" target="_blank" rel="noreferrer noopener"><strong>JavaScript</strong> </a>unit testing for Mobiscroll components</li>



<li>Discover how to validate Mobiscroll components using <a href="https://mobiscroll.com/docs/jquery/guides/unit-testing" target="_blank" rel="noreferrer noopener"><strong>jQuery</strong></a></li>



<li>Explore the <a href="https://mobiscroll.com/docs/angular/guides/unit-testing" target="_blank" rel="noreferrer noopener"><strong>Angular</strong></a> unit testing guide with practical Mobiscroll examples</li>



<li>See <a href="https://mobiscroll.com/docs/react/guides/unit-testing" target="_blank" rel="noreferrer noopener"><strong>React</strong></a> unit testing in action for Mobiscroll components</li>



<li>Learn how to test Mobiscroll components in <a href="https://mobiscroll.com/docs/vue/guides/unit-testing" target="_blank" rel="noreferrer noopener"><strong>Vue</strong></a> with @testing-library/vue</li>
</ul>



<h2 class="wp-block-heading"><strong>iOS 26 ready</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f44d.png" alt="👍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h2>



<p>Mobiscroll 5.35 is fully compatible with <strong>iOS 26</strong>, ensuring all components run smoothly on the latest release. We’ve verified performance across devices so your apps remain stable and reliable, and we’ll share more details on upcoming UI changes soon. </p>



<p>Keeping up to date with the latest version guarantees both compatibility and access to new features.</p>



<h2 class="wp-block-heading"><strong>What’s Next</strong></h2>



<p>Big changes are on the horizon with <strong>Mobiscroll 6</strong>. It will build on everything we’ve done so far and take scheduling, resource management, and calendar experiences further. Stay tuned &#8211; exciting things are coming!</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a href="https://mobiscroll.com/releases" target="_blank" rel="noreferrer noopener">check out the release notes</a> and <a href="https://download.mobiscroll.com/" target="_blank" rel="noreferrer noopener">download the latest version</a>.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-5-35/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-scaled.jpg" length="606292" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2025/10/mobiscroll-5-35-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: 5.34 with External Drag &#038; Drop for Timeline resources, Smarter Scheduler, Improved Accessibility and Angular 20 compatibility</title>
		<link>https://blog.mobiscroll.com/new-release-5-34/</link>
					<comments>https://blog.mobiscroll.com/new-release-5-34/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Wed, 28 May 2025 12:48:28 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4321</guid>

					<description><![CDATA[With our latest release, we’re excited to introduce powerful new tools for resource management, including external drag &#38; drop for timeline resources, flexible column sizing in the Scheduler, improved accessibility, modern timezone support, and enhanced performance for large-scale data handling. New Tools for Smarter Resource Management With Mobiscroll 5.33, we introduced resource drag &#38; drop, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-1024x512.jpg" alt="" class="wp-image-4337" srcset="https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><em>With our latest release, we’re excited to introduce powerful new tools for resource management, including external drag &amp; drop for timeline resources, flexible column sizing in the Scheduler, improved accessibility, modern timezone support, and enhanced performance for large-scale data handling.</em></h2>



<h2 class="wp-block-heading"><strong>New Tools for Smarter Resource Management</strong></h2>



<p>With <a href="https://blog.mobiscroll.com/new-release-5-33/" target="_blank" rel="noreferrer noopener">Mobiscroll 5.33</a>, we introduced <a href="https://demo.mobiscroll.com/timeline/resource-drag-drop-reorder" target="_blank" rel="noreferrer noopener">resource drag &amp; drop</a>, allowing you to reorder resources directly within the timeline view. In our latest release, we’re taking it a step further with external drag &amp; drop support.</p>



<p>You can now manually drag resources into and out of the timeline view — to external lists, containers, or even other timelines. This opens up a wide range of new use-cases, such as real-time team assembly and moving entire resource rows, not just events, between timelines.</p>



<h2 class="wp-block-heading"><strong>Easily Set Up and Manage Teams</strong></h2>



<p>This new functionality is especially useful for scenarios like field service management, shift planning, or dynamic team creation. You can now build interfaces that let users assemble teams or resource groups on the fly through external drag &amp; drop.</p>



<p>We’ve created an interactive example with an “Add Team” button, showing how team members can be moved from an external list into the timeline — and even between teams.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/resource-management-with-dynamic-team-creation#" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1105" height="498" src="https://blog.mobiscroll.com/wp-content/uploads/2025/05/manage-teams.gif" alt="" class="wp-image-4334"/></a></figure>



<p><a href="https://demo.mobiscroll.com/timeline/resource-management-with-dynamic-team-creation#" target="_blank" rel="noreferrer noopener">View the example</a>.</p>



<h2 class="wp-block-heading"><strong>Scheduler Gets Smarter: Variable Column Widths</strong></h2>



<p>The <a href="https://demo.mobiscroll.com/scheduler" target="_blank" rel="noreferrer noopener">Scheduler</a> offers a familiar calendar interface, great for managing appointments and bookings. For large-scale resource planning, our <a href="https://demo.mobiscroll.com/timeline" target="_blank" rel="noreferrer noopener">Timeline view</a> may still be more suitable — but with every update, the Scheduler is getting better and better.</p>



<p>The Scheduler view now supports variable column widths, giving you more flexibility to customize your layout. You can adjust the width of individual columns to better fit your content — whether that means making certain days or resources wider to fit more events, or layering different types of data using events with varying widths.</p>



<h2 class="wp-block-heading"><strong>Optimize Horizontal Space</strong></h2>



<p>If you’re aiming for a more compact or dense layout, you can now override the default column widths to suit your needs.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/customize-scheduler-column-width#" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1107" height="600" src="https://blog.mobiscroll.com/wp-content/uploads/2025/05/horizontal-space.gif" alt="" class="wp-image-4339"/></a></figure>



<p><a href="https://demo.mobiscroll.com/scheduler/customize-scheduler-column-width#" target="_blank" rel="noreferrer noopener">View the demo</a> and see how easy it is to override the default column widths.</p>



<h2 class="wp-block-heading"><strong>Make Columns Content-Aware</strong></h2>



<p>Not just limited to overriding the default width — you can now dynamically adjust column widths based on the content they display. For example, you might scale resource columns based on the length of their headers or the number of concurrent events. This ensures your layout stays readable and useful, regardless of data volume.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/dynamic-content-based-resource-width#" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1136" height="627" src="https://blog.mobiscroll.com/wp-content/uploads/2025/05/column-content.gif" alt="" class="wp-image-4335"/></a></figure>



<p><a href="https://demo.mobiscroll.com/scheduler/dynamic-content-based-resource-width#" target="_blank" rel="noreferrer noopener">See it in action</a></p>



<h2 class="wp-block-heading"><strong>Availability Planner &amp; Appointment Manager</strong></h2>



<p>The Scheduler&#8217;s intuitive layout makes it ideal for more than just event booking. With each release, we’re making it more capable of handling <strong>layered data</strong>, such as shifts, availability, scheduled vs. actual tasks, and more.</p>



<p>To support this, we’ve reworked how events are rendered, how scrolling behaves, and how widths are handled — allowing different event types to coexist naturally in a single view.</p>



<p>One great example is our new <a href="https://demo.mobiscroll.com/scheduler/doctors-availability-calendar-planner#" target="_blank" rel="noreferrer noopener">Doctor Availability Planner</a>, where each doctor’s shift appears as a slim indicator on the left, with appointment slots created and adjusted inside the shift window.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/doctors-availability-calendar-planner#" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1131" height="637" src="https://blog.mobiscroll.com/wp-content/uploads/2025/05/availability-planner.gif" alt="" class="wp-image-4336"/></a></figure>



<p><a href="https://demo.mobiscroll.com/scheduler/doctors-availability-calendar-planner#" target="_blank" rel="noreferrer noopener">Try the demo</a></p>



<h2 class="wp-block-heading"><strong>Accessibility &amp; WCAG 2.2 Compliance</strong></h2>



<p>From the start, we’ve aimed to make Mobiscroll fully accessible to everyone — including users with disabilities. That commitment continues with enhanced support for WCAG 2.2.</p>



<p>To help teams build compliant apps, we’ve published new documentation detailing accessibility features on a component-by-component basis.</p>



<p><a href="https://mobiscroll.com/docs/core-concepts/accessibility#wcag-22" target="_blank" rel="noreferrer noopener">Explore the Accessibility Docs</a></p>



<h2 class="wp-block-heading"><strong>Modern Timezone Support with Day.js</strong></h2>



<p>With Moment.js no longer recommended for new projects, we’ve added full support for Day.js, especially for timezone handling. This ensures Mobiscroll remains modern, lightweight, and compatible with current best practices.</p>



<h2 class="wp-block-heading"><strong>Smoother Auto-Scroll During Drag</strong></h2>



<p>We’ve improved drag behavior with smart auto-scrolling. As you drag items near the edge of the view, scrolling now speeds up or slows down based on pointer position, making it easier to navigate large datasets or wide views.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/loading-big-data-sets" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1195" height="627" src="https://blog.mobiscroll.com/wp-content/uploads/2025/05/2025-05-28_14-45-281-ezgif.com-optimize.gif" alt="" class="wp-image-4333"/></a></figure>



<h2 class="wp-block-heading"><strong>Enhanced Shadow DOM Support</strong></h2>



<p>Working inside the Shadow DOM? We&#8217;ve improved compatibility: lifecycle events now pass correct targets, and the Draggable component can keep elements inside the Shadow DOM with the new context option — rather than appending them to the body.</p>



<h2 class="wp-block-heading"><strong>Now Compatible with Angular 20</strong></h2>



<p>Angular just dropped its latest major version, and we’re happy to report that Mobiscroll is fully compatible with Angular 20. We&#8217;ll continue to maintain support for new Angular releases moving forward.</p>



<h2 class="wp-block-heading"><strong>What’s Next</strong></h2>



<p>We have some exciting updates in the pipeline, including advanced cell templating, virtual scroll for the Scheduler and the upcoming Mobiscroll 6, our next major release. Stay tuned!</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a href="https://mobiscroll.com/releases" target="_blank" rel="noreferrer noopener">check out the release notes</a> and <a href="https://download.mobiscroll.com/" target="_blank" rel="noreferrer noopener">download the latest version</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-5-34/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-scaled.jpg" length="616095" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2025/05/Mobiscroll-5-34-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: 5.33 with resource drag and drop reordering, sorting, timeline zoom and data loading on scroll</title>
		<link>https://blog.mobiscroll.com/new-release-5-33/</link>
					<comments>https://blog.mobiscroll.com/new-release-5-33/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Thu, 19 Dec 2024 14:46:20 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4297</guid>

					<description><![CDATA[With the last release of the year, we are happy to introduce new capabilities that enable a wide range of actions for the timeline resources, along with dynamic zoom, better control over columns and a big step towards making working with a lot of data not a performance killer. Reordering resources Resources are rendered in [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-1024x512.jpg" alt="" class="wp-image-4305" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><em>With the last release of the year, we are happy to introduce new capabilities that enable a wide range of actions for the timeline resources, along with dynamic zoom, better control over columns and a big step towards making working with a lot of data not a performance killer.</em></h2>



<h2 class="wp-block-heading"><strong>Reordering resources</strong></h2>



<p>Resources are rendered in the order they are passed to the&nbsp;<code>resources</code>&nbsp;array. Besides that, the order can change if some <a href="https://demo.mobiscroll.com/timeline/assign-unassign-work-orders-fixed-top-row#" target="_blank" rel="noreferrer noopener">resources are fixed the top</a> making the list below that scrollable, however that is not necessarily a fully custom order.</p>



<p>There are situation though when a custom order of resources helps the people working with the calendar. Imagine the timeline loading with a default order, but for the purpose of setting up tasks for the week effectively, seeing the resources in a custom order would eliminate unnecessary filtering and scrolling around. This could be just a temporary order until the next page reload, a custom order saved in local storage for the running session, or synced across devices and stored in a database.</p>



<p>Either way, the reordering capabilitites introduced in this release will make things a breeze for both developers and users.</p>



<p>Reordering can be enabled by setting&nbsp;<code>resourceReorder: true</code>&nbsp;which will display drag handles for the resources that have their&nbsp;<code>reorder</code>&nbsp;property set to&nbsp;<code>true</code>&nbsp;and put the UI into drag &amp; drop mode. Various lifecycle events are triggered through the interactions that can be used to further customizing the experience.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/resource-drag-drop-reorder" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1884" height="1061" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/resource-reorder.gif" alt="" class="wp-image-4307"/></a></figure>



<p>Explore the <a href="https://demo.mobiscroll.com/timeline/resource-drag-drop-reorder" target="_blank" rel="noreferrer noopener">demo</a> and check out how you can reorder resources through drag &amp; drop.</p>



<h2 class="wp-block-heading"><strong>Sorting the timeline</strong></h2>



<p>The default order of the resources or rows in the timeline is determined by the order they are put in the&nbsp;<code>resources</code>&nbsp;array. This order can be changed on the fly by manipulating the array and updating its content.</p>



<p>From an interaction perspective, users might require an order update or sort by resource name, resource property, by hour, day, week or any column for that matter. There might also be cases when sorting should happen based on more complex calculations.</p>



<p>We have added a number of examples on how resource sorting can be implemented may that be ASC/DESC or default order on resource columns and even day columns or sidebar columns. Ordering can come from an external dialog which takes different parameters of the resources and their events into account or by clicking on the headers of the columns.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/timeline-resource-details-side-panel-footer" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1890" height="857" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/timeline-with-column-sorting.gif" alt="" class="wp-image-4309"/></a></figure>



<p>Check out the <a href="https://demo.mobiscroll.com/timeline/timeline-resource-details-side-panel-footer" target="_blank" rel="noreferrer noopener">updated resource grid example</a> where we added sorting to the grid headers, including resource columns, sidebar and day headers as well.</p>



<p>This solution is pretty flexible and customizable since it uses the templating capabilities of the column headers, which means that you can customize everything from highlight to icons to actions.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/dynamic-calculation-resource-sort" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1920" height="1055" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/dynamic-sorting.gif" alt="" class="wp-image-4308"/></a></figure>



<p>In <a href="https://demo.mobiscroll.com/timeline/dynamic-calculation-resource-sort" target="_blank" rel="noreferrer noopener">this example</a>, which features a sorting modal that can be invoked from the calendar header, you can select the sorting criteria &#8211; based on a contextually relevant calculations &#8211; and the sort order.</p>



<p>Another cool thing about this demo is when you add, update or delete data from a resource row, which might affect its position in the currently applied order, the calendar dynamically navigates to the new position and temporarily highlights the row so that the user doesn’t lose track.</p>



<p>You can get creative and design your sorting and ordering logic the way you like, and with the available tooling like templating and lifecycle events you can actually make it happen for your users.</p>



<h2 class="wp-block-heading"><strong>Zooming the timeline</strong></h2>



<p>Zooming in &amp; out a timeline view for better visibility and overview could mean a couple of things. It could be increasing the length of the events, navigating across different horizontal resolutions &#8211; like hourly, daily, weekly, monthly, quarterly, yearly &#8211; and changing the width of the columns.</p>



<p>Dynamically changing the the resolution was already possible before this release, however it was hard to create a cohesive user experience. For simple resolution changes this was ok, but for a full zoom in/out experience with a lot of steps it could have gotten a bit disorienting for users.</p>



<p>We have enhanced the tooling, introduced an easier way to design the list of zoom levels that you would like to support and also added a simple way to apply the zoom level on the fly. All that with a great UX in mind, because it turned out that we’ll have to take the focus point of the user into account for the smoothest zooming experience, we are happy with the current state of tools for zooming.</p>



<p>We are adding the&nbsp;<code>columnWidth</code>&nbsp;property with a number of presets ranging from&nbsp;<code>xxsmall</code>&nbsp;to&nbsp;<code>xxxlarge</code>, which not just helps with designing a great zooming experience but also helps with dynamically changing the width of columns based on resolution.</p>



<p>We have also added the pair of&nbsp;<code>zoomLevels</code>&nbsp;and&nbsp;<code>zoomLevel</code>&nbsp;properties, where the first is an array of predefined options and values where you can control things like&nbsp;<code>type</code>,&nbsp;<code>size</code>,&nbsp;<code>resolutionHorizontal</code>,&nbsp;<code>columnWidth</code>&nbsp;and much more. And the&nbsp;<code>zoomLevel</code>&nbsp;simply takes care of applying the desired zoom preset.</p>



<p>With this, the UX is up to you on how you would like to handle changing the zoom level, may that be with buttons, a slider inside or outside of the calendar.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/calendar-zoom" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1887" height="846" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/timeline-zoom.gif" alt="" class="wp-image-4310"/></a></figure>



<p>Check out this <a href="https://demo.mobiscroll.com/timeline/calendar-zoom" target="_blank" rel="noreferrer noopener">interactive demo</a> and take a look on how you can add zoom capabilities to your timeline views.</p>



<h2 class="wp-block-heading"><strong>Resource column width</strong></h2>



<p>With the newly introduced&nbsp;<code>columnWidth</code>&nbsp;property you now have control over dynamically changing the width of the columns, which ranges from&nbsp;<code>xxsmall</code>&nbsp;to&nbsp;<code>xxxlarge</code>. These presets have predefined widths, which can be overridden in CSS.</p>



<p>This is not applicable to the resource column, which we made dynamic in case of hierarchies.</p>



<p>I case of very deep hierarchies the resource column would get very small and the content unreadable, so we are dynamically increasing the width by&nbsp;<code>20px</code>&nbsp;when a parent is expanded. This can be easily changed in CSS, under&nbsp;<code>.md-resource-grouping-hierarchy .mbsc-timeline-resource-depth-step</code>&nbsp;to a custom value or simply removed by setting it to&nbsp;<code>0px</code>.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/resource-grouping-hierarchy" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1882" height="846" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/resource-column-width-expand.gif" alt="" class="wp-image-4311"/></a></figure>



<p>See <a href="https://demo.mobiscroll.com/timeline/resource-grouping-hierarchy" target="_blank" rel="noreferrer noopener">how the resource column width adjusts itself</a>.</p>



<h2 class="wp-block-heading"><strong>Performance with a lot of data and loading things on demand</strong></h2>



<p>Since we introduced virtualization to the timeline view we opened up doors to large views and enabled work with thousands of resources at once even on less powerful devices like smartphones or tablets.</p>



<p>With all that, there were still situations when our customers were looking to load tens of thousands or even hundreds of thousands of events in a single view. Our event layouting engine needs to process all that data and there was some latency when drag &amp; drop or event creation happened.</p>



<p>Another issue posed loading so many events with their custom fields and properties into memory, which could take several seconds and lock the view behind a loading animation.</p>



<p>As a solution we have added more control over when the data can be loaded &#8211; may that be events and/or resources &#8211; in form of new lifecycle events that are triggered on virtual page scroll.</p>



<p>You can use the&nbsp;<code>onVirtualLoading</code>&nbsp;lifecycle event to load data on vertical or horizontal scrolling.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/load-resources-on-scroll#" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1884" height="1058" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/timeline-load-resources-on-scroll.gif" alt="" class="wp-image-4312"/></a></figure>



<p>Take a look at how you can <a href="https://demo.mobiscroll.com/timeline/load-events-on-scroll#" target="_blank" rel="noreferrer noopener">load events on virtual scroll</a> and how you can <a href="https://demo.mobiscroll.com/timeline/load-resources-on-scroll#" target="_blank" rel="noreferrer noopener">load both events and resources on scroll</a>.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/load-events-on-scroll#" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1882" height="1059" src="https://blog.mobiscroll.com/wp-content/uploads/2024/12/timeline-load-events-on-scroll.gif" alt="" class="wp-image-4313"/></a></figure>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We are proud of the new product features and capabilities we shipped across 2024 and are looking forward to a well deserved rest for the last couple of weeks of the year. Can’t wait to start next year, recharged and rested and show what we’ve been planning and designing for you.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a href="https://mobiscroll.com/releases" target="_blank" rel="noreferrer noopener">check out the release notes</a> and <a href="https://download.mobiscroll.com/" target="_blank" rel="noreferrer noopener">download the latest version</a>.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-5-33/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-scaled.jpg" length="582106" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2024/12/mobiscroll-5-33-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: 5.32 with new event rendering in the Calendar, Agenda customization, Date &#038; Time fixes, Vue TS updates, Accessibility and new Popup demos</title>
		<link>https://blog.mobiscroll.com/new-release-5-32/</link>
					<comments>https://blog.mobiscroll.com/new-release-5-32/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Fri, 22 Nov 2024 11:39:42 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4268</guid>

					<description><![CDATA[Happy to introduce updates and new features to the event calendar, agenda, date &#38; time, and the Vue components along with accessibility fixes and additions. Render events by the exact time The primary job of the event calendar is to show events, while in combination with the agenda it can be used for navigation as [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><a href="https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-scaled.jpg"><img loading="lazy" decoding="async" width="2560" height="1280" src="https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-scaled.jpg" alt="" class="wp-image-4275" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-scaled.jpg 2560w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-2048x1024.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a></figure>



<h2 class="wp-block-heading"><em>Happy to introduce updates and new features to the event calendar, agenda, date &amp; time, and the Vue components along with accessibility fixes and additions.</em></h2>



<h2 class="wp-block-heading"><strong>Render events by the exact time</strong></h2>



<p>The primary job of the event calendar is to show events, while <a href="https://demo.mobiscroll.com/eventcalendar/mobile-month-view#" target="_blank" rel="noreferrer noopener">in combination with the agenda</a> it can be used for navigation as well. Events can be rendered as <a href="https://demo.mobiscroll.com/eventcalendar/event-labels#" target="_blank" rel="noreferrer noopener">labels</a> or as a <a href="https://demo.mobiscroll.com/eventcalendar/event-popover#" target="_blank" rel="noreferrer noopener">list in a pop-over</a>. <a href="https://demo.mobiscroll.com/eventcalendar/customize-label-look-and-feel#" target="_blank" rel="noreferrer noopener">Label rendering</a> has several different options ranging from controlling the number of labels all the way to templating, however, it always rendered the labels as full-width events filling the whole day cell of the calendar. With the latest version, we are introducing the&nbsp;<code>eventDisplay</code>&nbsp;<a href="https://mobiscroll.com/docs/eventcalendar/calendar#view-calendar-eventDisplay" target="_blank" rel="noreferrer noopener">property</a> that can either be&nbsp;<code>fill</code>&nbsp;or&nbsp;<code>exact</code>&nbsp;where the latter will position and render the event according to its start and end times. This is super handy in situations where the start and end of an event is relevant in the context of the calendar view. A good example is a booking or reservation calendar with rendering that takes the actual check-in and check-out time into account.</p>



<figure class="wp-block-image size-large is-style-default"><a href="https://demo.mobiscroll.com/eventcalendar/property-booking-calendar#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="426" src="https://blog.mobiscroll.com/wp-content/uploads/2024/11/event-calendar-show-bookings-by-exact-time-1-1024x426.jpg" alt="" class="wp-image-4279" title="" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/11/event-calendar-show-bookings-by-exact-time-1-1024x426.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/event-calendar-show-bookings-by-exact-time-1-300x125.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/event-calendar-show-bookings-by-exact-time-1-768x319.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/event-calendar-show-bookings-by-exact-time-1-1536x638.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/event-calendar-show-bookings-by-exact-time-1-2048x851.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Check how this interactive example of a <a href="https://demo.mobiscroll.com/eventcalendar/property-booking-calendar#" target="_blank" rel="noreferrer noopener">reservation calendar</a> shows booked days from various sources.</p>



<h2 class="wp-block-heading"><strong>Show empty days in the agenda</strong></h2>



<p>The job of the Agenda view is to provide a list of events that are scheduled for a custom range, grouped by days. The list of events can be customized through <a href="https://demo.mobiscroll.com/agenda/full-event-customization#" target="_blank" rel="noreferrer noopener">templating and custom renderers</a>, along with <a href="https://demo.mobiscroll.com/agenda/empty-state#" target="_blank" rel="noreferrer noopener">completely empty states for event creation</a> however, day headers without events were not shown at all. Starting with 5.32 it is possible to enable empty day header rendering through the&nbsp;<code>showEmptyDays</code>&nbsp;<a href="https://mobiscroll.com/docs/eventcalendar/agenda#view-agenda-showEmptyDays" target="_blank" rel="noreferrer noopener">property</a> of the agenda configuration.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/agenda/show-empty-days#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1920" height="864" src="https://blog.mobiscroll.com/wp-content/uploads/2024/11/agenda-show-empty-days.gif" alt="" class="wp-image-4282"/></a></figure>



<p>Explore the <a href="https://demo.mobiscroll.com/agenda/show-empty-days#" target="_blank" rel="noreferrer noopener">empty day option for the agenda</a>.</p>



<h2 class="wp-block-heading"><strong>Agenda day header templating</strong></h2>



<p>Along with the ability to show empty day headers within the agenda, with templating the headers it is now possible to not only show additional information besides the date but also to provide contextual actions like adding new events.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/agenda/customizing-day-header#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1887" height="1061" src="https://blog.mobiscroll.com/wp-content/uploads/2024/11/agenda-day-header-templating-new-event.gif" alt="" class="wp-image-4283"/></a></figure>



<p>Check out how you can <a href="https://demo.mobiscroll.com/agenda/customizing-day-header#" target="_blank" rel="noreferrer noopener">add a new event button to the agenda day headers</a>.</p>



<h2 class="wp-block-heading"><strong>Timeline drag &amp; drop UX improvements</strong></h2>



<p>We have improved on the event drag &amp; drop experience especially when resources are grouped and rendered as a hierarchy. For flat lists, moving events between resources is not a problem. Even if all resource groups are expanded, it’s easy to move an event to any resource. The problem occurs only in situations if someone wants to move an event to a resource that is hidden under a collapsed group. With the event picked up, if you hover over a group that has <a href="https://mobiscroll.com/docs/eventcalendar/timeline#opt-resources" target="_blank" rel="noreferrer noopener">event creation turned off</a> and is collapsed, the group will automatically expand after a couple of milliseconds.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/work-order-scheduling#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1887" height="848" src="https://blog.mobiscroll.com/wp-content/uploads/2024/11/timeline-event-dnd-resource-expand.gif" alt="" class="wp-image-4284"/></a></figure>



<p>See it in action and <a href="https://demo.mobiscroll.com/timeline/work-order-scheduling#" target="_blank" rel="noreferrer noopener">give things a try</a>.</p>



<h2 class="wp-block-heading"><strong>Typescript types to Vue props</strong></h2>



<p>Types landed for the Vue props, making the Vue version of Mobiscroll that much easier to use. This reduces development time errors and brings auto-suggest and built-in documentation right into your IDE.</p>



<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><a href="https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-scaled.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="2560" height="1064" data-id="4287" src="https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-scaled.jpg" alt="" class="wp-image-4287" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-scaled.jpg 2560w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-300x125.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-1024x426.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-768x319.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-1536x638.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-api-documentation-in-ide-2048x851.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a><figcaption class="wp-element-caption">Contextual documentation loaded development time within the IDE</figcaption></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-scaled.jpg" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="2560" height="1064" data-id="4288" src="https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-scaled.jpg" alt="" class="wp-image-4288" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-scaled.jpg 2560w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-300x125.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-1024x426.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-768x319.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-1536x638.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/11/vue-auto-suggest-2048x851.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a><figcaption class="wp-element-caption">Auto-suggest thanks to type definitions</figcaption></figure>
</div></figure>



<h2 class="wp-block-heading"><strong>Resource objects within lifecycle events</strong></h2>



<p>We have added the relevant resource objects and references to various lifecycle events if views where built-in resource management is supported. Events that are triggered for both the Scheduler and Timeline view now receive the resources as arguments which is useful in situations where you would be interested in where the event is coming from and going to or just simply the full resource object that the event is tied to. You won’t have to manually look up the resource based on an ID and in some cases write recursive functions to do it.</p>



<h2 class="wp-block-heading"><strong>Various date &amp; time bugfixes</strong></h2>



<p>The Date &amp; time component received various fixes that piled up with time. These handle new issues and edge cases that present themselves to customers.</p>



<h2 class="wp-block-heading"><strong>Accessibility fixes for the calendars</strong></h2>



<p>With every new iteration, we are making our components more accessible. Fixed some issues with VoiceOver and TalkBack and added some new aria labels where relevant.</p>



<h2 class="wp-block-heading"><strong>Popup demos</strong></h2>



<p>Not lastly, we are happy to introduce the new <a href="https://demo.mobiscroll.com/popup" target="_blank" rel="noreferrer noopener">demo page section for the popup</a>. It should help you understand basic usage and also show examples of how it complements the event calendar and date picker components.</p>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We are preparing the last big release of the year with great features for resources, like reorder, drag &amp; drop along with load on scroll, zoom, and more new capabilities for the timeline.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a href="https://mobiscroll.com/releases" target="_blank" rel="noreferrer noopener">check out the release notes</a> and <a href="https://download.mobiscroll.com/" target="_blank" rel="noreferrer noopener">download the latest version</a>.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-5-32/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-scaled.jpg" length="523017" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2024/11/mobiscroll-5-32-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: 5.31 with empty resource template, performance improvements, resource search &#038; filtering and managing shifts with tasks</title>
		<link>https://blog.mobiscroll.com/new-release-5-31/</link>
					<comments>https://blog.mobiscroll.com/new-release-5-31/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Tue, 27 Aug 2024 13:28:30 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4254</guid>

					<description><![CDATA[Launching empty resource list template, better control over event ordering, performance update for the timeline view along with resource search &#38; filtering and managing shifts and tasks within the same view. Event ordering Custom event ordering was already available for the Agenda and Calendar views by writing a custom sort function. This release enables the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><a href="https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-scaled.jpg"><img loading="lazy" decoding="async" width="2560" height="1280" src="https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-scaled.jpg" alt="" class="wp-image-4255" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-scaled.jpg 2560w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-2048x1024.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a></figure>



<h2 class="wp-block-heading"><em>Launching empty resource list template, better control over event ordering, performance update for the timeline view along with resource search &amp; filtering and managing shifts and tasks within the same view.</em></h2>



<h2 class="wp-block-heading"><strong>Event ordering</strong></h2>



<p>Custom event ordering was already available for the Agenda and Calendar views by writing a custom sort function. This release enables the same thing for the Timeline and Scheduler views as well.</p>



<p>Besides that, we’ve made it even simpler, through the <code>order</code> property of the event data, which is used to order the events without the need of a custom sort function.</p>



<p>Check out how you can make this work for the <a href="https://demo.mobiscroll.com/eventcalendar/custom-event-sort">calendar view</a>, <a href="https://demo.mobiscroll.com/agenda/custom-event-sort">agenda</a>, <a href="https://demo.mobiscroll.com/scheduler/custom-event-sort">scheduler</a> and <a href="https://demo.mobiscroll.com/timeline/custom-event-sort">timeline</a>.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/agenda/custom-event-sort" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="2560" height="646" src="https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-event-ordering-scaled.jpg" alt="" class="wp-image-4256" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-event-ordering-scaled.jpg 2560w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-event-ordering-300x76.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-event-ordering-1024x258.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-event-ordering-768x194.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-event-ordering-1536x388.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-event-ordering-2048x517.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a><figcaption class="wp-element-caption">Event ordering available for all event calendar views</figcaption></figure>



<h2 class="wp-block-heading"><strong>Performance update: timeline virtual scroll improvements</strong></h2>



<p>The release includes a major refactor of the virtual scroll in the Timeline view. This improves the performance during scroll by loading the markup in smaller batches (rows, columns), instead of full pages.</p>



<p>The horizontal virtual scroll now supports batches smaller than a day, so scrolling is now smooth with large resolution views, such as 5 minutes steps, or event 1 minute steps.</p>



<p>The refactor also solved a number of long existing bugs, related to dynamic view changes.</p>



<h2 class="wp-block-heading"><strong><strong>Templating for new elements</strong></strong></h2>



<p>Templating, custom render functions and slots are important tools for customizing the views and UX you are going for. With the addition of an empty resource template, you can use it to show any custom message in case there are no resources added to the calendar and provide means to reset filters, reload data or add resources.</p>



<p>With the new implementation the resource column will disappear only if the resources option is not specified at all. When an empty array is passed, an empty resource column will be displayed, which can be customized using the <code>renderResourceEmpty</code> function in React, jQuery and JavaScript, the <code>resourceEmptyTemplate</code> option in Angular and the <code>resourceEmpty</code> slot in Vue.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/resource-filtering-search" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="2560" height="1153" src="https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-empty-state-scaled.jpg" alt="" class="wp-image-4257" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-empty-state-scaled.jpg 2560w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-empty-state-300x135.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-empty-state-1024x461.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-empty-state-768x346.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-empty-state-1536x692.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-empty-state-2048x922.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></a><figcaption class="wp-element-caption">Templating the empty resource container</figcaption></figure>



<h2 class="wp-block-heading"><strong><strong>Resource filtering &amp; search</strong></strong></h2>



<p><a href="https://demo.mobiscroll.com/timeline/searching-events-in-sidebar">Searching events</a> is very useful in a lot of use-cases, however in situations where work is performed across a lot of resources or decisions have to be made quickly based on allocated tasks… filtering and searching for resources is key.</p>



<p>Either remote or local search and/or filtering was possible before by adding the controls and UI for it to any of the templates (eg. <a href="https://demo.mobiscroll.com/scheduler/customizing-header">event calendar header</a>, <a href="https://demo.mobiscroll.com/timeline/resource-header-template">resource header</a>) or handling it externally, but with the addition of the resource empty template you can show custom messaging, call to action for resource creation, data reload/sync button or even filter reset functionality.</p>



<p>Check out the <a href="https://demo.mobiscroll.com/timeline/resource-filtering-search">fully functional demo</a> we have put together with resource search and filtering capability.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/resource-filtering-search" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1887" height="848" src="https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-resource-filter-search.gif" alt="" class="wp-image-4258"/></a><figcaption class="wp-element-caption">Resource filtering and search within the timeline view</figcaption></figure>



<h2 class="wp-block-heading"><strong>Visualize task &amp; shifts within the same timeline view</strong></h2>



<p>With the recent additions of variable event heights and the new, simple event ordering capabilities, it is possible to create views that can deal with different types of events that are related to each other, at the same time.</p>



<p>We can now nicely render shifts along with underlying tasks that are to be completed within those shifts all with dynamic validation that takes care of preventing overlaps, tasks sticking out of shift hours and everything that you might need to avoid scheduling problems.</p>



<p>Make sure to <a href="https://demo.mobiscroll.com/timeline/tasks-subtasks-under-shifts">check out the new use-case demo</a> that we published.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/tasks-subtasks-under-shifts"><img loading="lazy" decoding="async" width="1884" height="759" src="https://blog.mobiscroll.com/wp-content/uploads/2024/08/timeline-shift-task-management.gif" alt="" class="wp-image-4260"/></a><figcaption class="wp-element-caption">Working with shifts and tasks at the same time</figcaption></figure>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We are working on a new label rendering mode for the calendar view, improvements to the agenda and other resource management related features.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a rel="noreferrer noopener" href="https://mobiscroll.com/releases" target="_blank">check out the release notes</a> and <a rel="noreferrer noopener" href="https://download.mobiscroll.com/" target="_blank">download the latest version</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-5-31/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-scaled.jpg" length="460018" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2024/08/mobiscroll-5-31-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: Mobiscroll 5.30 with variable event heights, lists within events, group summaries, task progress and Angular 18 &#038; React 19 support</title>
		<link>https://blog.mobiscroll.com/new-release-mobiscroll-5-30/</link>
					<comments>https://blog.mobiscroll.com/new-release-mobiscroll-5-30/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Thu, 20 Jun 2024 14:01:12 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4231</guid>

					<description><![CDATA[Happy to introduce variable event heights, not just as a UX improvement to display content that might have been truncated before, but also opening up new usage opportunities and adding new capabilities to the timeline view. Variable event heights Displaying events on the timeline view is a complicated task. There are a lot of parameters [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--1024x512.jpg" alt="" class="wp-image-4240" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><em>Happy to introduce variable event heights, not just as a UX improvement to display content that might have been truncated before, but also opening up new usage opportunities and adding new capabilities to the timeline view.</em></h2>



<h2 class="wp-block-heading"><strong>Variable event heights</strong></h2>



<p>Displaying events on the timeline view is a complicated task. There are a lot of parameters to consider, like the page size and resolution of the view, the visible days and hours, the overlaps between the events… just to name a few.</p>



<p>This became even more complicated when we introduced virtual scrolling, to improve performance on large views with loads of data. So far, by knowing that all events have the same height, we could exactly calculate the dimensions of the timeline grid, even without displaying the rows, columns and events outside of the active virtual page.</p>



<p>With the introduction of variable height events this is no longer possible, so in case of large views we initially estimate the height of the rows which are outside of the currently active virtual page (not visible yet) and continuously update the dimension calculations during scroll, as new rows, columns and events are rendered. This all needs to happen so that size corrections don’t disrupt the continuity of scrolling and don’t result in content shifts (or at least minimizes the number of content shifts).</p>



<p>Navigating to an event was also a challenge. Not being present on the currently active virtual page, we only know the approximate location of it, so again we need to dynamically adjust parameters during navigation to ensure that we scroll to the correct location.</p>



<p>Since there are a lot of moving parts to supporting variable event heights, it is released as an experimental feature, and not enabled by default. You can activate it by setting the&nbsp;<code>eventHeight: 'variable'</code>&nbsp;property for the timeline inside the&nbsp;<code>view</code>&nbsp;<a href="https://mobiscroll.com/docs/eventcalendar/timeline#opt-view" target="_blank" rel="noreferrer noopener">option</a> which then activates the new rendering mode. Besides having variable event height activated, you will need to make sure that your event templates handle the rendering of variable event heights.</p>



<p>This enables new use-cases and opens up new capabilities. Useful when the content of the events vary, for example rendering lists with various lengths or supporting multiple event types with different content templates. If you want to keep all content visible, irregardless of the event length (width), the height will dynamically change when resized and not truncate depending on the available space.</p>



<p><a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/variable-event-height#" target="_blank">See it action</a> and learn how you can enable it for your content.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/variable-event-height#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1132" height="635" src="https://blog.mobiscroll.com/wp-content/uploads/2024/06/variable-event-height.gif" alt="" class="wp-image-4244"/></a><figcaption class="wp-element-caption">Variable event heights with auto-resizing resource tracks</figcaption></figure>



<h2 class="wp-block-heading"><strong>Sub-tasks as list on events</strong></h2>



<p>A lot of the times certain tasks, jobs or work orders require further division into sub-task or checklists &#8211; divide and conquer! And a lot of times it makes sense to tackle these lists right in the context of the work order.</p>



<p>With the addition of variable event heights it is possible to render different sized events that also grow the resource row height depending on the rendered events.</p>



<p>Take a look at the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/check-list-tasks-within-events" target="_blank">following example</a> where you can add items to a list right on the work orders. Use it as a starting point for building out more complex views and customize it to your needs and requirements.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/check-list-tasks-within-events" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1132" height="637" src="https://blog.mobiscroll.com/wp-content/uploads/2024/06/sub-tasks-and-lists.gif" alt="" class="wp-image-4245"/></a><figcaption class="wp-element-caption">Showing sub-tasks and lists on events</figcaption></figure>



<h2 class="wp-block-heading"><strong>Summaries for resource groups</strong></h2>



<p>At times when an overview of tasks under a single group needs to be easily accessible, you can use the parent resource rows to display summaries or aggregates. If this needs to happen across all resources and not on a group by group basis, utilizing <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/hour-day-week-month-quarter-year-header-footer-template#" target="_blank">header templates</a> is the way to go.</p>



<p>A good example where such summaries per group are useful is for <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/show-summaries-aggregates-for-resource-groups" target="_blank">internal fleet bookings</a> where each group represents a separate location and the resources are the vehicles that can be booked on a daily basis.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/show-summaries-aggregates-for-resource-groups" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1133" height="509" src="https://blog.mobiscroll.com/wp-content/uploads/2024/06/resource-grups-summaries.gif" alt="" class="wp-image-4246"/></a><figcaption class="wp-element-caption">Aggregates and resource groups summaries</figcaption></figure>



<p>These dynamically calculated values can be presented as custom templated events in resource parent rows. Whenever new bookings are made, updated or deleted, use the&nbsp;<code>onEventCreated</code>,&nbsp;<code>onEventUpdated</code>&nbsp;and&nbsp;<code>onEventDeleted</code>&nbsp;lifecycle events to update the aggregates for their parent resource.</p>



<p>This is another great example that wasn’t possible without the support for variable event heights.</p>



<h2 class="wp-block-heading"><strong>Showing and setting task progress</strong></h2>



<p>Usually a Gantt chart feature, showing progress on tasks visually in an overlay and setting it either programmatically or manually with a slider can be useful in a lot of situations.</p>



<p>Using the event templating capabilities, it is possible to render a live slider that reacts on hover and enables updating the progress inline.</p>



<p>Use the&nbsp;<code>renderScheduleEvent</code>&nbsp;function to customize the template and adjust it to your needs.</p>



<p>Besides being able to update progress right on the event, it is also possible to add a slider that controls task progression &#8211; saved in a custom property of the event &#8211; inside an add/edit dialog.</p>



<p>Check out the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/show-task-progress-on-event#" target="_blank">live example</a> and use the demo as a starting point and expand on it.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/show-task-progress-on-event#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1131" height="460" src="https://blog.mobiscroll.com/wp-content/uploads/2024/06/display-task-progress.gif" alt="" class="wp-image-4247"/></a><figcaption class="wp-element-caption">Gantt-like task progress on events</figcaption></figure>



<h2 class="wp-block-heading"><strong>Adding React 19 support</strong></h2>



<p>As we prepared 5.30, React 19 was just to be released. It came with a number of breaking changes, some of which affected Mobiscroll.</p>



<p>The&nbsp;<code>render</code>&nbsp;and&nbsp;<code>unmountComponentAtNode</code>&nbsp;functions are no longer available in React 19, the functional versions of the notifications (<code>alert</code>,&nbsp;<code>confirm</code>,&nbsp;<code>prompt</code>,&nbsp;<code>toast</code>&nbsp;and&nbsp;<code>snackbar</code>) stopped working. In&nbsp;<a target="_blank" rel="noreferrer noopener" href="https://mobiscroll.com/releases#product-v5210">v5.21.0</a>&nbsp;we introduced the component variants (<code>&lt;Alert /&gt;</code>,&nbsp;<code>&lt;Confirm /&gt;</code>,&nbsp;<code>&lt;Prompt /&gt;</code>,&nbsp;<code>&lt;Toast /&gt;</code>&nbsp;and&nbsp;<code>&lt;Snackbar /&gt;</code>), which can be used instead.</p>



<p>To avoid breaking older React apps using the notification functions, we created a separate package for React 18 and above. The Mobiscroll CLI &#8211;&nbsp;<code>mobiscroll config react</code>&nbsp;&#8211; will install the correct package depending on the React version of the project. When using our Download Builder, &#8220;React 18+&#8221; should be selected as the framework.</p>



<h2 class="wp-block-heading"><strong>Adding Angular 18 support</strong></h2>



<p>With Angular 18 released, things changed a little on how the builder looked for the TypeScript definition files. We updated the&nbsp;<code>package.json</code>&nbsp;to make it compatible with the latest version.</p>



<h2 class="wp-block-heading"><strong>General bugfixes and improvements</strong></h2>



<p>In addition to all these new capabilities we shipped a number of bugfixes and improvements related to the Angular version of Mobiscroll, the Select component and to the Timeline view where the native browser zoom messed up the layout in some situations.</p>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We are working on some new things that will add more control over event ordering, enable dynamic resource filtering and improve virtual scroll performance and timeline performance in general. We are also making steps towards preparing for Mobiscroll 6.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a rel="noreferrer noopener" href="https://mobiscroll.com/releases" target="_blank">check out the release notes</a> and <a rel="noreferrer noopener" href="https://download.mobiscroll.com/" target="_blank">download the latest version</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-mobiscroll-5-30/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--scaled.jpg" length="224228" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2024/06/mobiscroll-5-30--scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: Mobiscroll 5.29 with event buffers, improved row and column styling, demo projects on GitHub and a new documentation</title>
		<link>https://blog.mobiscroll.com/new-release-mobiscroll-5-29/</link>
					<comments>https://blog.mobiscroll.com/new-release-mobiscroll-5-29/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 09:53:22 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4199</guid>

					<description><![CDATA[Happy to introduce event buffers, an easy way to style rows and columns in the scheduler and timeline, brand new documentation and demo projects on GitHub. Event buffer times Apart from the actual length of an event it is often useful to define extra time before and after. This could be prep time, travel time [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-1024x512.jpg" alt="" class="wp-image-4227" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><em>Happy to introduce event buffers, an easy way to style rows and columns in the scheduler and timeline, brand new documentation and demo projects on GitHub.</em></h2>



<h2 class="wp-block-heading"><strong>Event buffer times</strong></h2>



<p>Apart from the actual length of an event it is often useful to define extra time before and after. This could be prep time, travel time for meetings or appointments, check-in and check-out time around flights, loading and unloading time for a truck, or anything that is not part of the event but affects scheduling. This release adds support for presenting event buffers on the timeline and on the scheduler.</p>



<p>Buffer times are displayed with a different styling, and templating is also available. Event buffers can be defined in the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/event-data-structure#" target="_blank">event data</a>, while displaying the buffers can be controlled using the&nbsp;<code>showEventBuffer</code>&nbsp;option.</p>



<p>Take a look at the default styling of the event buffers for the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/event-buffer#" target="_blank">timeline view</a> and the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/event-buffer" target="_blank">scheduler</a>.</p>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/timeline/event-buffer#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="724" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-1024x724.jpg" alt="" class="wp-image-4218" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-1024x724.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-300x212.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-768x543.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-1536x1087.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer.jpg 1812w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Default event buffer styling for Timeline</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/scheduler/event-buffer" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="726" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-1024x726.jpg" alt="" class="wp-image-4219" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-1024x726.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-300x213.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-768x544.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-1536x1088.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer.jpg 1812w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Default event buffer styling for Scheduler</figcaption></figure>



<p>Control over styling and customization is an important piece of the puzzle so naturally templating is available for the event buffers as well. We have updated our event templating demo for the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/timeline-custom-event-rendering#" target="_blank">timeline</a> and the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/customizing-events#" target="_blank">scheduler</a>.</p>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/timeline/timeline-custom-event-rendering#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="318" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-templating-1024x318.jpg" alt="" class="wp-image-4220" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-templating-1024x318.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-templating-300x93.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-templating-768x238.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-templating-1536x476.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-event-buffer-templating-2048x635.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Event buffer templating for Timeline</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/scheduler/customizing-events#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="577" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-templating-1024x577.jpg" alt="" class="wp-image-4221" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-templating-1024x577.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-templating-300x169.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-templating-768x432.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-templating-1536x865.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-event-buffer-templating-2048x1153.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Event buffer templating for Scheduler</figcaption></figure>



<h2 class="wp-block-heading"><strong>Easy row/column highlight and background for the timeline and scheduler</strong></h2>



<p>Coloring resource rows or scheduler columns was already possible using the&nbsp;<code>colors</code>&nbsp;option, but coloring an entire row or column was complicated, involving recurring rules and writing custom templates for a couple of different assets. Now it is as simple as setting a&nbsp;<code>background</code>&nbsp;property for the resource object, or adding a&nbsp;<code>cssClass</code>&nbsp;property for extra control over styling. Use it to dynamically highlight rows, even row selection or multi-select.</p>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/timeline/resource-background#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="498" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-customize-row-background-1024x498.jpg" alt="" class="wp-image-4223" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-customize-row-background-1024x498.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-customize-row-background-300x146.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-customize-row-background-768x374.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-customize-row-background-1536x747.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/timeline-customize-row-background-2048x997.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Timeline with resource background and styling</figcaption></figure>



<p>Check out how you can <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/resource-background#" target="_blank">style rows in the timeline</a> and how you can <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/resource-background#" target="_blank">do it in case of the scheduler</a>.</p>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/scheduler/resource-background#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-customize-column-background-1024x576.jpg" alt="" class="wp-image-4224" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-customize-column-background-1024x576.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-customize-column-background-300x169.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-customize-column-background-768x432.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-customize-column-background-1536x864.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/scheduler-customize-column-background-2048x1152.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Scheduler with custom resource background and styling</figcaption></figure>



<h2 class="wp-block-heading"><strong>Demo projects available on GitHub</strong></h2>



<p>We have made all Mobiscroll demos available and downloadable as part of a single project on GitHub on a framework to framework basis.</p>



<p>Depending on the version you are interested in these can be separately cloned and you can use the <a rel="noreferrer noopener" href="https://mobiscroll.com/docs/angular/getting-started/installation#install-the-cli" target="_blank">CLI</a> to install either a Mobiscroll trial or if you own a license, the licensed version, enabling you to easily get access to all demos and play around with them locally.</p>



<p>You’ll also find a link to the GitHub source for each demo.</p>



<figure class="wp-block-image size-large"><a href="https://github.com/acidb" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="607" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/view-code-on-github-1024x607.jpg" alt="" class="wp-image-4217" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/view-code-on-github-1024x607.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/view-code-on-github-300x178.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/view-code-on-github-768x455.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/view-code-on-github-1536x910.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/view-code-on-github-2048x1213.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Links to GitHub</figcaption></figure>



<p>Feel free to explore the new demo projects and start playing around with the code locally.</p>



<p>Check out the <a rel="noreferrer noopener" href="https://github.com/acidb/mobiscroll-demos-angular" target="_blank">Angular demos on GitHub</a>.</p>



<p>Check out the <a href="https://github.com/acidb/mobiscroll-demos-javascript" target="_blank" rel="noreferrer noopener">plain Javascript demos on GitHub</a>.</p>



<p>Check out the <a href="https://github.com/acidb/mobiscroll-demos-jquery" target="_blank" rel="noreferrer noopener">jQuery demos on GitHub</a>.</p>



<p>Check out the <a rel="noreferrer noopener" href="https://github.com/acidb/mobiscroll-demos-react" target="_blank">React (JSX) demos on GitHub</a>.</p>



<p>Check out the <a rel="noreferrer noopener" href="https://github.com/acidb/mobiscroll-demos-react-ts" target="_blank">React Typescript (TSX) demos on GitHub</a>.</p>



<p>Check out the <a rel="noreferrer noopener" href="https://github.com/acidb/mobiscroll-demos-vue" target="_blank">Vue demos on GitHub</a>.</p>



<p>Check out the <a rel="noreferrer noopener" href="https://github.com/acidb/mobiscroll-demos-vue-ts" target="_blank">Vue Typescript demos on GitHub</a>.</p>



<h2 class="wp-block-heading"><strong>New documentation and infrastructure</strong></h2>



<p>We have migrated from an in-house built and maintained documentation system to <a rel="noreferrer noopener" href="https://docusaurus.io/" target="_blank">Docosaurus</a>, which is a popular documentation framework that is very active and has a lot of integration and customization capabilities.</p>



<p>Like most of our customers use Mobiscroll because they are not in the business of building scheduling, calendaring and planning UI, we are not in the business of building documentation systems. And since the documentation is an important part of our “product“, moving to something more scalable and stable enables us to improve on the content more easily and add more systems on top of it, like search.</p>



<p>Although we have still work to do on the content and fine-tune different aspects, we have a solid foundation for it. (maybe live demos in the docs next?!?)</p>



<p>Check out the latest docs for <a rel="noreferrer noopener" href="https://mobiscroll.com/docs/javascript" target="_blank">Javascript</a>, <a rel="noreferrer noopener" href="https://mobiscroll.com/docs/jquery" target="_blank">jQuery</a>, <a rel="noreferrer noopener" href="https://mobiscroll.com/docs/angular" target="_blank">Angular</a>, <a rel="noreferrer noopener" href="https://mobiscroll.com/docs/react" target="_blank">React</a> and <a rel="noreferrer noopener" href="https://mobiscroll.com/docs/vue" target="_blank">Vue</a>.</p>



<figure class="wp-block-image size-large"><a href="https://mobiscroll.com/docs/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="588" src="https://blog.mobiscroll.com/wp-content/uploads/2024/04/new-mobiscroll-docs-1024x588.jpg" alt="" class="wp-image-4222" srcset="https://blog.mobiscroll.com/wp-content/uploads/2024/04/new-mobiscroll-docs-1024x588.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/new-mobiscroll-docs-300x172.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/new-mobiscroll-docs-768x441.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/new-mobiscroll-docs-1536x882.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2024/04/new-mobiscroll-docs-2048x1176.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">New documentation</figcaption></figure>



<h2 class="wp-block-heading"><strong>Various bugfixes and improvements</strong></h2>



<p>As with every release, we continuously fix bugs, solve issues and improve upon what is already available. The calendar received Vue specific fixes along with improvements to the lifecycle events and drag &amp; drop fixes for all frameworks. Recurring event processing was improved as well.</p>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We have a couple of pretty unique capabilities lined up. Variable event heights is shaping up really nicely along with other new features and fine-tuning. Stay tuned and let us know how we can help.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a rel="noreferrer noopener" href="https://mobiscroll.com/releases" target="_blank">check out the release notes</a> and <a rel="noreferrer noopener" href="https://download.mobiscroll.com/" target="_blank">download the latest version</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-mobiscroll-5-29/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-scaled.jpg" length="371961" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2024/04/Mobiscroll-5-29-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: Mobiscroll 5.28 with Vue final, event stacks, fixed rows for the timeline, quick navigation UX update and more</title>
		<link>https://blog.mobiscroll.com/new-release-mobiscroll-5-28/</link>
					<comments>https://blog.mobiscroll.com/new-release-mobiscroll-5-28/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Thu, 21 Dec 2023 14:34:45 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4179</guid>

					<description><![CDATA[Happy to introduce Mobiscroll for Vue final, control over event stacks, fixed rows for the timeline, quick navigation UX overhaul, new features for working with immutable data, accessibility and typescript improvements. Mobiscroll for Vue final The Vue version is officially out of beta now! There were another set of fixes and improvements added along with [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-1024x512.jpg" alt="" class="wp-image-4187" srcset="https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><em>Happy to introduce Mobiscroll for Vue final, control over event stacks, fixed rows for the timeline, quick navigation UX overhaul, new features for working with immutable data, accessibility and typescript improvements.</em></h2>



<h2 class="wp-block-heading"><strong>Mobiscroll for Vue final</strong></h2>



<p>The Vue version is officially out of beta now! There were another set of fixes and improvements added along with more smoothing out on the documentation front and the demos. So feel free to explore the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/vue" target="_blank">vue demos</a> and <a href="https://mobiscroll.com/docs/vue/" target="_blank" rel="noreferrer noopener">docs</a>.</p>



<h2 class="wp-block-heading"><strong>Event stacks and a show more button</strong></h2>



<p>Stacking occurs when a lot of events are overlapping. In case of the scheduler where the columns don’t grow in width as the number of simultaneous events grow, the labels can become hard to read and in case of the timeline the height of some resources might be significantly larger than others.</p>



<p>With the introduction of the&nbsp;<code>maxEventStack</code>&nbsp;option, you can set the maximum number of events that you would like to render at any given time. Events that are not rendered will show up in a pop-over through a “more“ button.</p>



<p>This results in a cleaner look and makes previously busy views easier to scan.</p>



<p>Play around with the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/control-number-of-concurrently-shown-events#" target="_blank">scheduler</a> and <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/control-number-of-concurrently-shown-events#" target="_blank">timeline view</a> configurations and see how the stacks look.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/control-number-of-concurrently-shown-events#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1128" height="1066" src="https://blog.mobiscroll.com/wp-content/uploads/2023/12/scheduler-event-stacks.gif" alt="" class="wp-image-4190"/></a><figcaption class="wp-element-caption">Event stacks for Scheduler</figcaption></figure>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/control-number-of-concurrently-shown-events#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="579" src="https://blog.mobiscroll.com/wp-content/uploads/2023/12/timeline-event-stacks.gif" alt="" class="wp-image-4191"/></a><figcaption class="wp-element-caption">Event stacks for Timeline</figcaption></figure>



<h2 class="wp-block-heading"><strong>Fixed rows for the timeline view</strong></h2>



<p>Tasks like assigning/un-assigning events all within a single timeline or comparing one or more resources next to each other was all doable before, however starting with 5.28 it is possible to fix one or more rows at the top of the timeline. That way the row is fixed along with the header and it’s much easier to perform these tasks rather then dragging events up &amp; down and scrolling long distances.</p>



<p>The solution is pretty simple with the newly introduced&nbsp;<code>fixed</code>&nbsp;property of the resources that can be set on initialization or changed on the fly to dynamically lock rows at the top or release them.</p>



<p>Take a look at <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/assign-unassign-work-orders-fixed-top-row#" target="_blank">this example for assigning and un-assigning events</a> and see this one for <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/compare-resources-fixed-at-top#" target="_blank">comparing resources at the top of the calendar</a>.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/assign-unassign-work-orders-fixed-top-row#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="674" src="https://blog.mobiscroll.com/wp-content/uploads/2023/12/timeline-assign-unassign-workorders.gif" alt="" class="wp-image-4192"/></a><figcaption class="wp-element-caption">Assign/un-assign work orders</figcaption></figure>



<h2 class="wp-block-heading"><strong>Mobiscroll and immutable data</strong></h2>



<p>Working with immutable data is very common, especially when unidirectional data flow principles are used. Until now it was not possible to pass immutable data directly to the event calendar. The calendar mutated the data in multiple places:</p>



<ul class="wp-block-list">
<li>the resource data was processed, and additional fields were written to the original objects</li>



<li>the event objects were also mutated when an event was dragged or resized</li>
</ul>



<p>This resulted in errors, when immutable data was passed, and the workaround was to pass a copy of the data to the calendar, which is mutable.</p>



<p>In v5.28.0 it is possible to work with immutable data directly without the need for a workaround. We introduced the <code>immutableData</code>&nbsp;<a rel="noreferrer noopener" href="https://docs.mobiscroll.com/eventcalendar#opt-immutableData" target="_blank">option</a> which is not enabled by default, to avoid breaking changes for those who rely on the data mutation being made. When enabled:</p>



<ul class="wp-block-list">
<li>the calendar will no longer mutate the input data.</li>



<li>in the case of the resources, the processing will create a copy of the resource data, and add the calculated properties only there.</li>



<li>in case of the events moving and resizing events will not change the original data, the calendar will only trigger the&nbsp;<code>onEventUpdate</code>&nbsp;and&nbsp;<code>onEventUpdated</code>&nbsp;lifecycle hooks with the modified data in the arguments, which can be used to update the data store.</li>
</ul>



<h2 class="wp-block-heading"><strong>Quick navigation UX overhaul for the event calendar views</strong></h2>



<p>With the quick navigation component that normally resides in the top left corner of every event calendar view we wanted to make it as easy as possible to move to a different year/month. Its job was to provide means for, you guessed it, quick navigation.</p>



<p>As time went by we added more features and expanded on the available views and their configuration with daily views, resolutions … so the job of navigating to a different day was not solved by the component we had.</p>



<p>With this overhaul we introduced a full date picker in the quick navigation component and we re-evaluated the defaults based on the configured views. We have also updated how the month &amp; year selection performs, changing the selection order in some cases and even omitting some parts in other cases.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/month-view#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="714" src="https://blog.mobiscroll.com/wp-content/uploads/2023/12/event-calendar-quick-navigation-date-picker.gif" alt="" class="wp-image-4193"/></a><figcaption class="wp-element-caption">Quick navigation with date picker</figcaption></figure>



<h2 class="wp-block-heading"><strong>Flight scheduling with two timelines</strong></h2>



<p>We have published a new demo that leverages several features and tools of Mobiscroll. It brings things together, like: working with two separate timeline instances, keeping them in sync while scrolling, drag &amp; drop between two instances, controlling the d&amp;d interactions &#8211; limiting it to only vertical moves, dynamic validation and background coloring with CSS patterns to name a few.</p>



<p>The top timeline holds the unassigned reservations, while the bottom timeline would be the crew and aircraft assigned view.</p>



<p>Check out the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/flight-scheduling-two-synchronized-timelines#" target="_blank">functional live demo here</a>.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/flight-scheduling-two-synchronized-timelines#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="726" src="https://blog.mobiscroll.com/wp-content/uploads/2023/12/flight-scheduling-timeline.gif" alt="" class="wp-image-4194"/></a><figcaption class="wp-element-caption">Flight scheduling with multiple timelines</figcaption></figure>



<h2 class="wp-block-heading"><strong>Accessibility improvements</strong></h2>



<p>We are continuously improving accessibility as we come across any issues. This time we have enabled localized date fields that were posing difficulties for some screen readers eg. NVDA by NV Access.</p>



<h2 class="wp-block-heading"><strong>A Typescript update</strong></h2>



<p>We did another sweep through our type definitions and improved it here and there. This makes working with Mobiscroll in Typescript even smoother.</p>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We have some more fun stuff incoming next year. Things like built-in buffer time support for events, variable event heights, more updates to our docs &amp; guides are some of the things we are working on. Stay tuned!</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a href="https://mobiscroll.com/releases" target="_blank" rel="noreferrer noopener">check out the release notes</a> and <a rel="noreferrer noopener" href="https://download.mobiscroll.com/" target="_blank">download the latest version</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-mobiscroll-5-28/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-scaled.jpg" length="380920" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2023/12/mobiscroll-5-28-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: Mobiscroll 5.27 with quarter resolution, preventing event overlaps, new empty states and improved drag &#038; drop control</title>
		<link>https://blog.mobiscroll.com/new-release-mobiscroll-5-27/</link>
					<comments>https://blog.mobiscroll.com/new-release-mobiscroll-5-27/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Wed, 01 Nov 2023 09:32:43 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4157</guid>

					<description><![CDATA[Happy to introduce the public beta of Mobiscroll for Vue, quarter resolution to the timeline view, along with easier validation control, new event connection types, and drag &#38; drop improvements. Mobiscroll for Vue The public beta is out for a couple of weeks now, all v5 demos are available for the Vue version and a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-1024x512.jpg" alt="" class="wp-image-4158" srcset="https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><em>Happy to introduce the public beta of Mobiscroll for Vue, quarter resolution to the timeline view, along with easier validation control, new event connection types, and drag &amp; drop improvements.</em></h2>



<h2 class="wp-block-heading"><strong>Mobiscroll for Vue</strong></h2>



<p>The public beta is out for a couple of weeks now, <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/vue" target="_blank">all v5 demos are available for the Vue version</a> and a <a rel="noreferrer noopener" href="https://mobiscroll.com/docs/vue/" target="_blank">new documentation is implemented</a>. The beta label is coming off shortly as well.</p>



<h2 class="wp-block-heading"><strong>Avoid double booking</strong></h2>



<p>When it comes to scheduling resources, overlapping events are not allowed in a lot of cases. More than just one event happening at the same time is still a thing and we not removing that, but we are introducing the&nbsp;<code>eventOverlap</code>&nbsp;option that is applicable to the instance, resources or individual events.&nbsp;</p>



<p>Prior to having this option it was necessary to rely on the&nbsp;<code>onEventCreate</code>&nbsp;and&nbsp;<code>onEventUpdate</code>&nbsp;lifecycle events and manually check and handle the overlap there.</p>



<p><a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/prevent-double-booking-events#" target="_blank">Play around with this example</a> to understand how you can control overlap validation or check out this <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/doctors-appointment#" target="_blank">great example for making doctor’s appointments</a>.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/prevent-double-booking-events#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="850" src="https://blog.mobiscroll.com/wp-content/uploads/2023/10/prevent-event-overlap-mobiscroll.gif" alt="" class="wp-image-4160"/></a><figcaption class="wp-element-caption">Prevent event overlap</figcaption></figure>



<h2 class="wp-block-heading"><strong>Timeline event connections</strong></h2>



<p>We had event connection for some time now &#8211; since they were <a rel="noreferrer noopener" href="https://blog.mobiscroll.com/new-release-5-19/" target="_blank">introduced in version 5.19</a>, with some limitations. We only supported&nbsp;<code>finish-to-start</code> connections which went from the end of one event and connected to the beginning of another event.</p>



<p>We are introducing four connection types:&nbsp;<code>finish-to-start</code>,&nbsp;<code>start-to-finish</code>,&nbsp;<code>start-to-start</code>&nbsp;and&nbsp;<code>finish-to-finish</code>.</p>



<p>Check out how you can <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/connecting-linking-events-arrows" target="_blank">control the event connections in this example</a>.</p>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/timeline/connecting-linking-events-arrows" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="770" src="https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-event-connections-1024x770.jpg" alt="" class="wp-image-4162" srcset="https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-event-connections-1024x770.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-event-connections-300x226.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-event-connections-768x578.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-event-connections-1536x1155.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-event-connections.jpg 1816w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Updated event connections</figcaption></figure>



<h2 class="wp-block-heading"><strong>Timeline Q1, Q2, Q3, Q4</strong></h2>



<p>We are adding horizontal quarter resolution to the timeline view. Use it for dividing the view into quarters.</p>



<p>Templating of the quarter header and footers is new as well and comes with this release.</p>



<p>Check out how to <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/hour-day-week-month-quarter-year-header-footer-template#" target="_blank">customize the header and footer</a> in case of any timeline resolution and <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/multiple-days-weeks-months-quarters-years-variable-resolution#" target="_blank">learn how to configure quarter resolution for your view</a>.</p>



<figure class="wp-block-image size-large"><a href="https://demo.mobiscroll.com/timeline/hour-day-week-month-quarter-year-header-footer-template#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="772" src="https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-quarter-resolution-1024x772.jpg" alt="" class="wp-image-4164" srcset="https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-quarter-resolution-1024x772.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-quarter-resolution-300x226.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-quarter-resolution-768x579.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-quarter-resolution-1536x1158.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2023/10/timeline-quarter-resolution.jpg 2014w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Timeline quarter view</figcaption></figure>



<h2 class="wp-block-heading"><strong>Drag &amp; drop control and improvements</strong></h2>



<p>We have added&nbsp;<code>dragInTime</code>&nbsp;support for external events. In times of scheduled but unassigned events listed externally of the calendar might be already fixed. When assigning such events it is better to just fix them in time in the calendar and let users only move them between resources rather than retroactively modifying them.</p>



<p>Time slots inherited the same drag &amp; drop controls that the resources have. This means if&nbsp;<code>eventDragBetweenSlots</code>&nbsp;is <code>true</code>, the events won’t be draggable between time slots. Eg. if someone wants for move an assignment and keep it in a specific shift, they can do that now without the need to write a custom validation logic in the lifecycle events.</p>



<h2 class="wp-block-heading"><strong>Agenda empty state</strong></h2>



<p>The empty state template was introduced in <a href="https://blog.mobiscroll.com/mobiscroll-5-26/" target="_blank" rel="noreferrer noopener">version 5.26</a>. Being able to create a custom template/render function for the views that don’t have events is useful for showing CTAs, images and text.</p>



<p><a rel="noreferrer noopener" href="https://demo.mobiscroll.com/agenda/empty-state#" target="_blank">Check out this example</a> and customize the agenda empty state through the&nbsp;<code>renderAgendaEmpty</code>&nbsp;and the&nbsp;<code>agendaEmptyTemplate</code>.</p>



<figure class="wp-block-image size-full is-resized"><a href="https://demo.mobiscroll.com/agenda/empty-state#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" src="https://blog.mobiscroll.com/wp-content/uploads/2023/10/agenda-empty-state.gif" alt="" class="wp-image-4165" width="841" height="1416"/></a></figure>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We are working on a couple of powerful features, like being able to fix certain rows at the top of the timeline, better control over handling many overlapping events along with new tools for a nice zoom feature.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a href="https://mobiscroll.com/releases" target="_blank" rel="noreferrer noopener">check out the release notes</a> and <a rel="noreferrer noopener" href="https://download.mobiscroll.com/" target="_blank">download the latest version</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/new-release-mobiscroll-5-27/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-scaled.jpg" length="259522" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2023/10/mobiscroll-5-27-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
		<item>
		<title>New release: Mobiscroll 5.26 with timeline header/footer templating, control over D&#038;D interactions, event drag between instances and to external targets</title>
		<link>https://blog.mobiscroll.com/mobiscroll-5-26/</link>
					<comments>https://blog.mobiscroll.com/mobiscroll-5-26/#respond</comments>
		
		<dc:creator><![CDATA[Levi]]></dc:creator>
		<pubDate>Wed, 26 Jul 2023 14:25:23 +0000</pubDate>
				<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://blog.mobiscroll.com/?p=4132</guid>

					<description><![CDATA[Happy to introduce a packed 5.26 with new features and improvements. We are adding more customization capabilities to the timeline view with templating headers and footers. Drag &#38; drop has been enhanced by introducing fine-grain control over the interactions on an event, resource and instance level, along with new drag and drop features that allow [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="512" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-1024x512.jpg" alt="" class="wp-image-4135" srcset="https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-1024x512.jpg 1024w, https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-300x150.jpg 300w, https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-768x384.jpg 768w, https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-1536x768.jpg 1536w, https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-2048x1024.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><em>Happy to introduce a packed 5.26 with new features and improvements. We are adding more customization capabilities to the timeline view with templating headers and footers. Drag &amp; drop has been enhanced by introducing fine-grain control over the interactions on an event, resource and instance level, along with new drag and drop features that allow events to be dragged between instances and from a calendar to a placeholder container.</em></h2>



<h2 class="wp-block-heading"><strong>Templating timeline header and footer across different resolutions</strong></h2>



<p>Templating or custom render functions are an important piece of the puzzle when it comes to customization. You will want to almost always use some kind of templating, wether if it’s just the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/timeline-custom-event-rendering#" target="_blank">events</a>, <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/resource-header-template#" target="_blank">resources</a> or things like <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/timeline-resource-details-side-panel-footer#" target="_blank">headers and footers</a> of the timeline columns. Templating allows you to alter the default look and feel and show any custom field that is relevant to your use-case.</p>



<p>We are adding&nbsp;<code>renderHour</code>&nbsp;and&nbsp;<code>renderHourFooter</code>&nbsp;for customizing hourly and sub-hourly headers and footers. The same template can be used if your columns go below the hour.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/hour-day-week-month-year-header-footer-template#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="756" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/timeline-hour-template.gif" alt="" class="wp-image-4138"/></a><figcaption class="wp-element-caption">Hour templating</figcaption></figure>



<p>The&nbsp;<code>renderDay</code>&nbsp;and&nbsp;<code>renderDayFooter</code>&nbsp;options were there before, so in the same way as before this controls the day resolution headers and footers.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/hour-day-week-month-year-header-footer-template#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="757" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/timeline-day-template.gif" alt="" class="wp-image-4140"/></a><figcaption class="wp-element-caption">Day templating</figcaption></figure>



<p>If you are setting weekly resolution or if you have week numbers displayed, the&nbsp;<code>renderWeek</code>&nbsp;and&nbsp;<code>renderWeekFooter</code>&nbsp;options will help in customizing the content and format.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/hour-day-week-month-year-header-footer-template#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="725" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/timeline-week-template.gif" alt="" class="wp-image-4141"/></a><figcaption class="wp-element-caption">Week templating</figcaption></figure>



<p>In case of month headers or monthly resolution, the&nbsp;<code>renderMonth</code>&nbsp;and&nbsp;<code>renderMonthFooter</code>&nbsp;options are there for templating.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/hour-day-week-month-year-header-footer-template#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="724" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/timeline-month-template.gif" alt="" class="wp-image-4142"/></a><figcaption class="wp-element-caption">Month templating</figcaption></figure>



<p>Annual resolution is covered by the&nbsp;<code>renderYear</code>&nbsp;and&nbsp;<code>renderYearFooter</code>&nbsp;options.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/hour-day-week-month-year-header-footer-template#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="776" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/timeline-year-template.gif" alt="" class="wp-image-4143"/></a><figcaption class="wp-element-caption">Year templating</figcaption></figure>



<p>Take a look at <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/hour-day-week-month-year-header-footer-template#" target="_blank">this example</a> where you can see every header and footer template in action.</p>



<h2 class="wp-block-heading"><strong>Control event drag &amp; drop interaction</strong></h2>



<p>Creating, resizing and moving events around are all core features of the event calendar. While it was and still is possible to enable or disable&nbsp;<code>clickToCreate</code>,&nbsp;<code>dragToCreate</code>,&nbsp;<code>dragToMove</code>&nbsp;and&nbsp;<code>dragToResize</code>&nbsp;on an instance level, now we are adding&nbsp;<code>dragInTime</code>&nbsp;and&nbsp;<code>dragBetweenResources</code>&nbsp;to limit the allowed actions on events.</p>



<p>Besides these two instance level options, the&nbsp;<code>eventDragInTime</code>,&nbsp;<code>eventDragBetweenResources</code>&nbsp;and&nbsp;<code>eventResize</code>&nbsp;locks all underlying events in time, to the resource and blocks the resize interaction. To learn more about the other properties of the resource, <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/resource-data-structure#" target="_blank">take a look at this example</a>.</p>



<p>On the event level it’s three new properties:&nbsp;<code>dragInTime</code>,&nbsp;<code>dragBetweenResources</code> and&nbsp;<code>resize</code>, that allow the same control on an event to event basis. You can check out <a href="https://demo.mobiscroll.com/scheduler/event-data-structure#" target="_blank" rel="noreferrer noopener">all the properties of the event object</a>.&nbsp;</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/conditional-move-resize-drag-drop-fixed-event-length-fixed-to-resource#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="711" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/scheduler-conditional-dd.gif" alt="" class="wp-image-4144"/></a><figcaption class="wp-element-caption">Conditional drag and drop</figcaption></figure>



<p>Take a look at how this works in the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/eventcalendar/conditional-move-resize-drag-drop-fixed-event-length-fixed-to-resource#" target="_blank">calendar view</a>, <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/conditional-move-resize-drag-drop-fixed-event-length-fixed-to-resource#" target="_blank">scheduler</a> and <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/conditional-move-resize-drag-drop-fixed-event-length-fixed-to-resource#" target="_blank">timeline</a>.</p>



<h2 class="wp-block-heading"><strong>Unscheduling by dragging events out of a calendar</strong></h2>



<p>External drag &amp; drop was introduced in <a rel="noreferrer noopener" href="https://blog.mobiscroll.com/new-release-5-2/" target="_blank">version 5.2</a>. That made it possible to drag events from an external container or list onto the calendar. This is a pretty common interaction for scheduling different appointments, jobs, events. In some cases unscheduling jobs is also a necessary and very helpful action. In those situations the users will want to move the events back to a staging area or back to the same list of unscheduled events.</p>



<p>With the help of the new&nbsp;<code>dropcontainer</code>&nbsp;component that can be initialized on any container that is to expect events dragged from a Mobiscroll event calendar, it is now possible to unschedule by dragging events out and dropping them some place else.&nbsp;</p>



<p>While picking up the events and moving them around, new lifecycle events like&nbsp;<code>onEventDragEnter</code>,&nbsp;<code>onEventDragLeave</code>,&nbsp;<code>onItemDragEnter</code>,&nbsp;<code>onItemDragLeave</code>&nbsp;and&nbsp;<code>onItemDrop</code>&nbsp;are triggered so that things like highlighting drop targets or any custom logic can be executed during the action.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/external-drag-drop-schedule-unschedule#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="628" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/scheduler-external-dd-1.gif" alt="" class="wp-image-4147"/></a><figcaption class="wp-element-caption">Unscheduling events</figcaption></figure>



<p>Take a look at these new interactions on the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/eventcalendar/external-drag-drop-schedule-unschedule#" target="_blank">calendar</a> and <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/external-drag-drop-schedule-unschedule#" target="_blank">scheduler</a> views.</p>



<h2 class="wp-block-heading"><strong>Dragging events between calendars</strong></h2>



<p>In most situations the real-life workflows can be modeled with the help of a single event calendar instance, may that be a timeline, scheduler or simply a month view. There are situations however that might require multiple instances for a great user experience and adding to that, events should be movable between those instances.</p>



<p>We are introducing drag &amp; drop between separate calendar instances. This opens up doors for more complex views, like two synchronized timelines for supporting advanced scheduling workflows.</p>



<p>It is just a matter of turning&nbsp;<code>externalDrag</code>&nbsp;and&nbsp;<code>externalDrop</code>&nbsp;on for the instances in question.</p>



<p>Just in the same way as for moving events back to a placeholder the appropriate lifecycle events will be triggered that can be used to fine-tune the UX.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/timeline/drag-drop-between-calendar-instances#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="814" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/timeline-drag-between-calendars.gif" alt="" class="wp-image-4149"/></a><figcaption class="wp-element-caption">Dragging events between timelines</figcaption></figure>



<p>Give this a try on the <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/eventcalendar/drag-drop-between-calendar-instances" target="_blank">calendar view</a>, <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/drag-drop-between-calendar-instances#" target="_blank">scheduler</a> or <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/timeline/drag-drop-between-calendar-instances#" target="_blank">timeline</a>.&nbsp;</p>



<h2 class="wp-block-heading"><strong>Doctor’s appointment use-case</strong></h2>



<p>Appointments can be booked then scheduled, unscheduled and maybe events moved between doctors in case of emergencies. In <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/doctors-appointment#" target="_blank">this use-case demo</a> we are focusing on dragging booked appointments with set variables, like intervention type, length … to a scheduler from a list of booked appointments and then back to the list to put them in a pending/unscheduled state. Past or ongoing appointments are locked in place and all other events can be moved between resources as well.</p>



<figure class="wp-block-image size-full"><a href="https://demo.mobiscroll.com/scheduler/doctors-appointment#" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1200" height="628" src="https://blog.mobiscroll.com/wp-content/uploads/2023/07/scheduler-doctors-appointment.gif" alt="" class="wp-image-4150"/></a><figcaption class="wp-element-caption">Doctor&#8217;s appointment</figcaption></figure>



<p>Take a <a rel="noreferrer noopener" href="https://demo.mobiscroll.com/scheduler/doctors-appointment#" target="_blank">look at the demo in action</a>.</p>



<h2 class="wp-block-heading"><strong>Updates to the Vue Beta</strong></h2>



<p>Fixes and improvements land for the Vue version of Mobiscroll. With the private beta moving along we are steadily making progress towards the public beta.</p>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p>We are making progress with Mobiscroll for Vue. Besides chewing through the demos along with the documentation, the next step for the Vue version is a public beta.</p>



<p>New features like built-in control over event overlaps, timeline quarter resolution and other useful tools are in the pipeline as well.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>For a full list of changes <a href="https://mobiscroll.com/releases" target="_blank" rel="noreferrer noopener">check out the release notes</a> and <a rel="noreferrer noopener" href="https://download.mobiscroll.com/" target="_blank">download the latest version</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.mobiscroll.com/mobiscroll-5-26/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<enclosure url="https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-scaled.jpg" length="346746" type="image/jpeg"/><media:content url="https://blog.mobiscroll.com/wp-content/uploads/2023/07/mobiscroll-5.26-scaled.jpg" width="2560" height="1280" medium="image" type="image/jpeg"/>	</item>
	</channel>
</rss>
