/// <summary> /// Destroys the widget. Called automatically when the widget element is removed from document /// </summary> public virtual void Destroy() { this.element.RemoveClass("s-" + this.GetType().Name); element.Unbind("." + widgetName) .RemoveData(widgetName); element = null; }
public static void ExecuteOnceWhenShown(jQueryObject element, Action callback) { autoIncrement++; string eventClass = "ExecuteOnceWhenShown" + autoIncrement; bool executed = false; if (element.Is(":visible")) callback(); else { jQueryObject uiTabs = element.Closest(".ui-tabs"); if (uiTabs.Length > 0) { uiTabs.Bind("tabsshow." + eventClass, delegate(jQueryEvent e) { if (element.Is(":visible")) { uiTabs.Unbind("tabsshow." + eventClass); if (!executed) { executed = true; element.Unbind("shown." + eventClass); callback(); } } }); } jQueryObject dialog; if (element.HasClass("ui-dialog")) dialog = element.Children(".ui-dialog-content"); else dialog = element.Closest(".ui-dialog-content"); if (dialog.Length > 0) dialog.Bind("dialogopen." + eventClass, delegate { dialog.Unbind("dialogopen." + eventClass); if (element.Is(":visible") && !executed) { executed = true; element.Unbind("shown." + eventClass); callback(); } }); element.Bind("shown." + eventClass, delegate { if (element.Is(":visible")) { element.Unbind("shown." + eventClass); if (!executed) { executed = true; callback(); } } }); } }
public static void ExecuteOnceWhenShown(jQueryObject element, Action callback) { autoIncrement++; string eventClass = "ExecuteOnceWhenShown" + autoIncrement; bool executed = false; if (element.Is(":visible")) { callback(); } else { jQueryObject uiTabs = element.Closest(".ui-tabs"); if (uiTabs.Length > 0) { uiTabs.Bind("tabsshow." + eventClass, delegate(jQueryEvent e) { if (element.Is(":visible")) { uiTabs.Unbind("tabsshow." + eventClass); if (!executed) { executed = true; element.Unbind("shown." + eventClass); callback(); } } }); } jQueryObject dialog; if (element.HasClass("ui-dialog")) { dialog = element.Children(".ui-dialog-content"); } else { dialog = element.Closest(".ui-dialog-content"); } if (dialog.Length > 0) { dialog.Bind("dialogopen." + eventClass, delegate { dialog.Unbind("dialogopen." + eventClass); if (element.Is(":visible") && !executed) { executed = true; element.Unbind("shown." + eventClass); callback(); } }); } element.Bind("shown." + eventClass, delegate { if (element.Is(":visible")) { element.Unbind("shown." + eventClass); if (!executed) { executed = true; callback(); } } }); } }
public static jQueryObject RemoveValidationRule(this jQueryObject element, string eventClass) { element.Unbind("customValidate." + eventClass); return(element); }