diff --git a/languages/en_us/Vtiger.php b/languages/en_us/Vtiger.php index b93df6ce8be8a4de9ee36c93ca9c84760a280e53..a2940edfe56bd8662dd212145fd6f97fcb6d6a71 100644 --- a/languages/en_us/Vtiger.php +++ b/languages/en_us/Vtiger.php @@ -1390,6 +1390,7 @@ $languageStrings = array( 'LBL_DEFAULT_DASHBOARD_TOOLTIP'=>'Make this dashboard as default by reordering it as the first tab!', 'LBL_RELATED_MODULES_PERMISSION_DENIED' => 'Related modules permission is denied', 'LBL_RECORD_PERMISSION_DENIED' => 'Record permissions denied', + 'LBL_MASS_SELECT' => 'Mass Select', ); $jsLanguageStrings = array( diff --git a/layouts/v7/modules/Calendar/CalendarSharedUsers.tpl b/layouts/v7/modules/Calendar/CalendarSharedUsers.tpl index daf591d71b5e41f5d4445320cf87b0ee7c5e7ccd..928a360eb6c10f7203c20adce283f41dda379bb6 100644 --- a/layouts/v7/modules/Calendar/CalendarSharedUsers.tpl +++ b/layouts/v7/modules/Calendar/CalendarSharedUsers.tpl @@ -14,6 +14,12 @@ <div class="sidebar-widget-contents" name='calendarViewTypes'> <div id="calendarview-feeds"> <ul class="list-group feedslist"> + <li class="activitytype-indicator calendar-feed-indicator mass-edit-option" style="background-color:#2c3b49; color:#FFFFFF;"> + <span>{vtranslate('LBL_MASS_SELECT')}</span> + <span class="activitytype-actions pull-right"> + <input class="mass-select" type="checkbox"> + </span> + </li> <li class="activitytype-indicator calendar-feed-indicator" style="background-color: {$SHAREDUSERS_INFO[$CURRENT_USER_ID]['color']};"> <span> {vtranslate('LBL_MINE',$MODULE)} diff --git a/layouts/v7/modules/Calendar/CalendarViewTypes.tpl b/layouts/v7/modules/Calendar/CalendarViewTypes.tpl index c381ed82564e7d0dc5cfd59e95be27f2f6f48348..04948d11102d191a2dad3a23a42366166fcc7281 100644 --- a/layouts/v7/modules/Calendar/CalendarViewTypes.tpl +++ b/layouts/v7/modules/Calendar/CalendarViewTypes.tpl @@ -11,6 +11,12 @@ <div class="sidebar-widget-contents" name='calendarViewTypes'> <div id="calendarview-feeds"> <ul class="list-group feedslist"> + <li class="activitytype-indicator calendar-feed-indicator mass-edit-option" style="background-color:#2c3b49; color:#FFFFFF;"> + <span>{vtranslate('LBL_MASS_SELECT')}</span> + <span class="activitytype-actions pull-right"> + <input class="mass-select" type="checkbox"> + </span> + </li> {foreach item=VIEWINFO from=$VIEWTYPES['visible'] name=calendarview} <li class="activitytype-indicator calendar-feed-indicator container-fluid" style="background-color: {$VIEWINFO['color']};"> <span> @@ -51,4 +57,4 @@ </ul> </div> </div> -{/strip} \ No newline at end of file +{/strip} diff --git a/layouts/v7/modules/Calendar/resources/Calendar.js b/layouts/v7/modules/Calendar/resources/Calendar.js index e3926669f34b55c477b6773e68d6d8dad34ffa34..f96694335c6b001a81c38b49548e57f38f13394f 100644 --- a/layouts/v7/modules/Calendar/resources/Calendar.js +++ b/layouts/v7/modules/Calendar/resources/Calendar.js @@ -911,8 +911,30 @@ Vtiger.Class("Calendar_Calendar_Js", { thisInstance.registerFeedChangeEvent(); thisInstance.registerFeedsColorEditEvent(); thisInstance.registerFeedDeleteEvent(); + thisInstance.registerFeedMassSelectEvent(); }); }, + + /** + * Event listener for change on mass select checkbox. + * Click/set true/false on all non-matching checkboxes & + * trigger change event. Contributed by Libertus Solutions + **/ + registerFeedMassSelectEvent : function() { + var container = jQuery('#calendarview-feeds'); + var calendarFeeds = jQuery('ul.feedslist input.toggleCalendarFeed', container); + jQuery('input.mass-select', container).on('change', function() { + var massSelectchecked = this.checked; + calendarFeeds.each(function(i) { + // Only trigger change where necessary + if(this.checked != massSelectchecked) { + this.checked = massSelectchecked; + jQuery(this).change(); + } + }); + }); + }, + changeWidgetDisplayState: function (widget, state) { var key = widget.data('widgetName') + '_WIDGET_DISPLAY_STATE'; app.storage.set(key, state);