Skip to content

Commit 656bdc4

Browse files
committed
add support for resetting color
1 parent 86569d9 commit 656bdc4

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

assets/js/app/app.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,8 @@ var open_event_edit_dialog = function open_event_edit_dialog(event) {
705705

706706
// Initialize color picker
707707
$('input.pick_color').colorPicker();
708+
// Show the reset button from the color picker
709+
$('#color_selector').find('#reset_color').show();
708710

709711
if (is_new) {
710712
// Initialize color picker with the calendar color for new events
@@ -732,6 +734,7 @@ var open_event_edit_dialog = function open_event_edit_dialog(event) {
732734
return calendar.calendar === selectedCalendarId;
733735
});
734736
if (selectedCalendar) {
737+
$.fn.colorPicker.calendarColor = selectedCalendar.color; // for reset button
735738
$('input.pick_color').next('.color_picker').css('background-color', $.fn.colorPicker.calendarColor);
736739
}
737740
});
@@ -982,6 +985,8 @@ var calendar_modify_dialog = function calendar_modify_dialog(calendar_obj) {
982985
width: 500,
983986
pre_func: function() {
984987
$('input.pick_color').colorPicker();
988+
// Hide the reset button from the color picker
989+
$('#color_selector').find('#reset_color').hide();
985990

986991
if (AgenDAVConf.enable_calendar_sharing === true && data.is_shared !== true) {
987992
shares_manager();

assets/js/other/jquery.colorPicker.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,19 @@
6565
if(event.keyCode == 27) {toggleSelector()}
6666
});
6767

68-
$("<div id='color_custom'></div>").append(color_field).appendTo(selector);
68+
//add reset button
69+
reset_button = $("<button type='button' id='reset_color'>Reset color</button>");
70+
reset_button.bind("mouseover", function(e){
71+
var defaultColor = $.fn.colorPicker.calendarColor || '#FFFFFF';
72+
$("input#color_value").val(defaultColor);
73+
});
74+
reset_button.bind("mouseout", function(e){
75+
var currentColor = $(selectorOwner).prev("input").val();
76+
$("input#color_value").val(currentColor);
77+
});
78+
reset_button.bind("click", function(e){ resetColor(); });
79+
80+
$("<div id='color_custom'></div>").append(color_field).append(reset_button).appendTo(selector);
6981

7082
$("body").append(selector);
7183
selector.hide();
@@ -120,6 +132,18 @@
120132
hideSelector();
121133
};
122134

135+
resetColor = function(){
136+
var defaultColor = $.fn.colorPicker.calendarColor || '#FFFFFF'; // Use the calendar color or fallback to white
137+
$(selectorOwner).prev("input").val(null).change();
138+
$(selectorOwner).css("background-color", defaultColor);
139+
140+
// Update the color value input field
141+
$("input#color_value").val(defaultColor);
142+
143+
//close the selector
144+
hideSelector();
145+
};
146+
123147
//public methods
124148
$.fn.colorPicker.addColors = function(colorArray){
125149
$.fn.colorPicker.defaultColors = $.fn.colorPicker.defaultColors.concat(colorArray);

0 commit comments

Comments
 (0)