/*! * * This library has been modified! This function has been changed: mouseProto._mouseInit * * Original Version: * * mouseProto._mouseInit = function () { * * var self = this; * * // Delegate the touch handlers to the widget's element * self.element.bind({ * touchstart: $.proxy(self, '_touchStart'), * touchmove: $.proxy(self, '_touchMove'), * touchend: $.proxy(self, '_touchEnd') * }); * * // Call the original $.ui.mouse init method * _mouseInit.call(self); * }; * * * New Version: * * mouseProto._mouseInit = function () { * * var self = this; * * // Delegate the touch handlers to the widget's element * self.element * .bind('taphold', $.proxy(self, '_touchStart')) // IMPORTANT!MOD FOR TAPHOLD TO START SORTABLE * .bind('touchmove', $.proxy(self, '_touchMove')) * .bind('touchend', $.proxy(self, '_touchEnd')); * * // Call the original $.ui.mouse init method * _mouseInit.call(self); * }; * * Why? * * The original version mapped any tap start to a click. This means that you weren't able to scroll through * the sortable on a mobile device, as every attempt to scroll was intercepted as a click. * * jQuery UI Touch Punch 0.2.3 * * Copyright 2011–2014, Dave Furfero * Dual licensed under the MIT or GPL Version 2 licenses. * * Depends: * jquery.ui.widget.js * jquery.ui.mouse.js */ (function ($) { // Detect touch support $.support.touch = 'ontouchend' in document; // Ignore browsers without touch support if (!$.support.touch) { return; } var mouseProto = $.ui.mouse.prototype, _mouseInit = mouseProto._mouseInit, _mouseDestroy = mouseProto._mouseDestroy, touchHandled; /** * Simulate a mouse event based on a corresponding touch event * @param {Object} event A touch event * @param {String} simulatedType The corresponding mouse event */ function simulateMouseEvent (event, simulatedType) { // Ignore multi-touch events if (event.originalEvent.touches.length > 1) { return; } event.preventDefault(); var touch = event.originalEvent.changedTouches[0], simulatedEvent = document.createEvent('MouseEvents'); // Initialize the simulated mouse event using the touch event's coordinates simulatedEvent.initMouseEvent( simulatedType, // type true, // bubbles true, // cancelable window, // view 1, // detail touch.screenX, // screenX touch.screenY, // screenY touch.clientX, // clientX touch.clientY, // clientY false, // ctrlKey false, // altKey false, // shiftKey false, // metaKey 0, // button null // relatedTarget ); // Dispatch the simulated event to the target element event.target.dispatchEvent(simulatedEvent); } /** * Handle the jQuery UI widget's touchstart events * @param {Object} event The widget element's touchstart event */ mouseProto._touchStart = function (event) { var self = this; // Ignore the event if another widget is already being handled if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) { return; } // Set the flag to prevent other widgets from inheriting the touch event touchHandled = true; // Track movement to determine if interaction was a click self._touchMoved = false; // Simulate the mouseover event simulateMouseEvent(event, 'mouseover'); // Simulate the mousemove event simulateMouseEvent(event, 'mousemove'); // Simulate the mousedown event simulateMouseEvent(event, 'mousedown'); }; /** * Handle the jQuery UI widget's touchmove events * @param {Object} event The document's touchmove event */ mouseProto._touchMove = function (event) { // Ignore event if not handled if (!touchHandled) { return; } // Interaction was not a click this._touchMoved = true; // Simulate the mousemove event simulateMouseEvent(event, 'mousemove'); }; /** * Handle the jQuery UI widget's touchend events * @param {Object} event The document's touchend event */ mouseProto._touchEnd = function (event) { // Ignore event if not handled if (!touchHandled) { return; } // Simulate the mouseup event simulateMouseEvent(event, 'mouseup'); // Simulate the mouseout event simulateMouseEvent(event, 'mouseout'); // If the touch interaction did not move, it should trigger a click if (!this._touchMoved) { // Simulate the click event simulateMouseEvent(event, 'click'); } // Unset the flag to allow other widgets to inherit the touch event touchHandled = false; }; /** * A duck punch of the $.ui.mouse _mouseInit method to support touch events. * This method extends the widget with bound touch event handlers that * translate touch events to mouse events and pass them to the widget's * original mouse event handling methods. */ mouseProto._mouseInit = function () { var self = this; // Delegate the touch handlers to the widget's element self.element .bind('taphold', $.proxy(self, '_touchStart')) // IMPORTANT!MOD FOR TAPHOLD TO START SORTABLE .bind('touchmove', $.proxy(self, '_touchMove')) .bind('touchend', $.proxy(self, '_touchEnd')); // Call the original $.ui.mouse init method _mouseInit.call(self); }; /** * Remove the touch event handlers */ mouseProto._mouseDestroy = function () { var self = this; // Delegate the touch handlers to the widget's element self.element.unbind({ touchstart: $.proxy(self, '_touchStart'), touchmove: $.proxy(self, '_touchMove'), touchend: $.proxy(self, '_touchEnd') }); // Call the original $.ui.mouse destroy method _mouseDestroy.call(self); }; })(jQuery); English Country Wedding at Hedsor House | CyEhis Events

HOPE & WARREN

Classic, English Country Wedding at Hedsor House

Classic, English country weddings have a timeless elegance, and this Hedsor House celebration was no exception. From a romantic church ceremony to a luxurious reception, every detail was thoughtfully curated. Stunning décor, a string quartet for a touch of sophistication, and lively DJ entertainment ensured each moment was unforgettable. With meticulous planning by CyEhis Events, this wedding combined classic charm with modern luxury, creating memories that will last a lifetime.

Wedding Planner & Designer: CyEhis Events

Photography: Zaki Charles Photography

Videography: Marv Brown Films  

Venue: Hedsor House 

KIND WORDS FROM THE HAPPY COUPLE...

Cynthia is simply an incredible wedding planner. My husband and I had the wedding day of our dreams – we couldn’t have chosen anyone else to take us on the planning journey! From our initial consultation, we were struck by Cynthia’s warm, positive and calming presence . We also appreciated that she was very transparent with her fee quote and responsive over email and WhatsApp. Her professionalism really stood out to us above the other wedding planners we considered. This only continued throughout the wedding planning process. We had a fairly large wedding and wanted a lot of special/bespoke touches on our day. Both my husband and I are very specific with what we like and love to be all over every detail, which we appreciate could annoy some planners! Due to our busy jobs however we really would have struggled to manage everything and keep to deadlines ourselves. Cynthia kept on top of absolutely everything and she was in touch pretty much everyday with updates on her progress and key deadlines – her organisation skills are unmatched and I still don’t know how she does it whilst remaining so calm and upbeat! She really goes above and beyond to provide a top tier level of service. She has also clearly built very strong connections with a number of vendors in the industry which made us feel so at ease and trusting when it came to speaking with them and negotiating on costs. On the day itself, again Cynthia was an absolute dream and we felt as though a friend rather than a “vendor” was with us. She even helped me get into my wedding dress! We didn’t have to worry about a thing and if anything wasn’t going to plan behind the scenes we certainly didn’t know about it. So many family and friends said that we had the best organised wedding they’ve ever been to and highlighted Cynthia as such a friendly face on the day. You really won’t regret choosing Cynthia as your wedding planner. We’ve recommended her to so many friends since our wedding and have seen lots of other couples pick her since. We cannot see her as anything other than a friend now and are so grateful for her making our experience as wonderful as it was!
- HOPE & WARREN

READY TO PLAN YOUR DREAM WEDDING WITH CYEHIS EVENTS?

LET'S CHAT