public JuiceWidgetState(IWidget widget) { Widget = widget; foreach(EventDescriptor widgetEvent in TypeDescriptor.GetEvents(Widget.GetType()).OfType<EventDescriptor>()) { WidgetEventAttribute attribute = widgetEvent.Attributes.OfType<WidgetEventAttribute>().SingleOrDefault(); if(attribute != null && attribute.DataChangedHandler == true) { _dataChangedEvent = new WidgetEvent(attribute.Name); break; } } _cssManager = new CssManager(widget as Control); }
public JuiceWidgetState(IWidget widget) { Widget = widget; foreach (EventDescriptor widgetEvent in TypeDescriptor.GetEvents(Widget.GetType()).OfType <EventDescriptor>()) { WidgetEventAttribute attribute = widgetEvent.Attributes.OfType <WidgetEventAttribute>().SingleOrDefault(); if (attribute != null && attribute.DataChangedHandler == true) { _dataChangedEvent = new WidgetEvent(attribute.Name); break; } } _cssManager = new CssManager(widget as Control); }
private void ParseEvents() { // Add widget events from control type declaration _events.AddRange( from widgetEvent in TypeDescriptor.GetAttributes(Widget).OfType<WidgetEventAttribute>() select new WidgetEvent(widgetEvent.Name) ); IAutoPostBackWidget autoPostBackWidget = Widget as IAutoPostBackWidget; Boolean autoPostBack = autoPostBackWidget == null ? false : autoPostBackWidget.AutoPostBack; // Add widget events from control events foreach(EventDescriptor widgetEvent in TypeDescriptor.GetEvents(Widget.GetType()).OfType<EventDescriptor>()) { WidgetEventAttribute attribute = widgetEvent.Attributes.OfType<WidgetEventAttribute>().SingleOrDefault(); if(attribute == null) { continue; } WidgetEvent @event = new WidgetEvent(attribute.Name); @event.CausesPostBack = attribute.AutoPostBack && autoPostBack; @event.DataChangedEvent = _dataChangedEvent != null && _dataChangedEvent.Name == @event.Name; //String postBackArgument = _dataChangedEvent == null ? @event.Name : (_dataChangedEvent.Name == @event.Name ? String.Empty : @event.Name); //PostBackOptions postOptions = new PostBackOptions((Control)Widget, postBackArgument) { AutoPostBack = true }; //var handler = new Lazy<string>(() => Widget.Page.ClientScript.GetPostBackEventReference(postOptions)); //@event.PostBackHandler = handler; _events.Add(@event); } }
private void ParseEvents() { // Add widget events from control type declaration _events.AddRange( from widgetEvent in TypeDescriptor.GetAttributes(Widget).OfType<WidgetEventAttribute>() select new WidgetEvent(widgetEvent.Name) ); IAutoPostBackWidget autoPostBackWidget = Widget as IAutoPostBackWidget; Boolean autoPostBack = autoPostBackWidget == null ? false : autoPostBackWidget.AutoPostBack; // Add widget events from control events foreach(EventDescriptor widgetEvent in TypeDescriptor.GetEvents(Widget.GetType()).OfType<EventDescriptor>()) { WidgetEventAttribute attribute = widgetEvent.Attributes.OfType<WidgetEventAttribute>().SingleOrDefault(); if(attribute == null) { continue; } WidgetEvent @event = new WidgetEvent(attribute.Name); @event.CausesPostBack = attribute.AutoPostBack && autoPostBack; @event.DataChangedEvent = _dataChangedEvent != null && _dataChangedEvent.Name == @event.Name; _events.Add(@event); } }