/// <summary> /// Gets the collapsible panel image url (expanded or collapsed). /// </summary> /// <param name="theme"> /// The theme. /// </param> /// <param name="panelID"> /// ID of collapsible panel /// </param> /// <param name="defaultState"> /// Default Panel State /// </param> /// <returns> /// Image URL /// </returns> public static string GetCollapsiblePanelImageURL( [NotNull] this ITheme theme, [NotNull] string panelID, CollapsiblePanelState defaultState) { CodeContracts.ArgumentNotNull(theme, "theme"); CodeContracts.ArgumentNotNull(panelID, "panelID"); CollapsiblePanelState stateValue = YafContext.Current.Get<IYafSession>().PanelState[panelID]; if (stateValue == CollapsiblePanelState.None) { stateValue = defaultState; YafContext.Current.Get<IYafSession>().PanelState[panelID] = defaultState; } return theme.GetItem("ICONS", stateValue == CollapsiblePanelState.Expanded ? "PANEL_COLLAPSE" : "PANEL_EXPAND"); }
/// <summary> /// Gets the collapsible panel image url (expanded or collapsed). /// </summary> /// <param name="theme"> /// The theme. /// </param> /// <param name="panelID"> /// ID of collapsible panel /// </param> /// <param name="defaultState"> /// Default Panel State /// </param> /// <returns> /// Image URL /// </returns> public static string GetCollapsiblePanelImageURL( [NotNull] this ITheme theme, [NotNull] string panelID, CollapsiblePanelState defaultState) { CodeContracts.VerifyNotNull(theme, "theme"); CodeContracts.VerifyNotNull(panelID, "panelID"); CollapsiblePanelState stateValue = YafContext.Current.Get <IYafSession>().PanelState[panelID]; if (stateValue == CollapsiblePanelState.None) { stateValue = defaultState; YafContext.Current.Get <IYafSession>().PanelState[panelID] = defaultState; } return(theme.GetItem("ICONS", stateValue == CollapsiblePanelState.Expanded ? "PANEL_COLLAPSE" : "PANEL_EXPAND")); }
/// <summary> /// The toggle panel state. /// </summary> /// <param name="panelID"> /// The panel id. /// </param> /// <param name="defaultState"> /// The default state. /// </param> public void TogglePanelState([NotNull] string panelID, CollapsiblePanelState defaultState) { var currentState = this[panelID]; if (currentState == CollapsiblePanelState.None) { currentState = defaultState; } if (currentState == CollapsiblePanelState.Collapsed) { this[panelID] = CollapsiblePanelState.Expanded; } else if (currentState == CollapsiblePanelState.Expanded) { this[panelID] = CollapsiblePanelState.Collapsed; } }
/// <summary> /// The toggle panel state. /// </summary> /// <param name="panelID"> /// The panel id. /// </param> /// <param name="defaultState"> /// The default state. /// </param> public void TogglePanelState([NotNull] string panelID, CollapsiblePanelState defaultState) { var currentState = this[panelID]; if (currentState == CollapsiblePanelState.None) { currentState = defaultState; } this[panelID] = currentState switch { CollapsiblePanelState.Collapsed => CollapsiblePanelState.Expanded, CollapsiblePanelState.Expanded => CollapsiblePanelState.Collapsed, _ => this[panelID] }; } #endregion }
/// <summary> /// The toggle panel state. /// </summary> /// <param name="panelID"> /// The panel id. /// </param> /// <param name="defaultState"> /// The default state. /// </param> public void TogglePanelState([NotNull] string panelID, CollapsiblePanelState defaultState) { CollapsiblePanelState currentState = this[panelID]; if (currentState == CollapsiblePanelState.None) { currentState = defaultState; } if (currentState == CollapsiblePanelState.Collapsed) { this[panelID] = CollapsiblePanelState.Expanded; } else if (currentState == CollapsiblePanelState.Expanded) { this[panelID] = CollapsiblePanelState.Collapsed; } }
/// <summary> /// Gets the collapsible panel image url (expanded or collapsed). /// </summary> /// <param name="panelID"> /// ID of collapsible panel /// </param> /// <param name="defaultState"> /// Default Panel State /// </param> /// <returns> /// Image URL /// </returns> public string GetCollapsiblePanelImageURL([NotNull] string panelID, CollapsiblePanelState defaultState) { return(this.Get <ITheme>().GetCollapsiblePanelImageURL(panelID, defaultState)); }
/// <summary> /// Gets the collapsible panel image url (expanded or collapsed). /// </summary> /// <param name="panelID"> /// ID of collapsible panel /// </param> /// <param name="defaultState"> /// Default Panel State /// </param> /// <returns> /// Image URL /// </returns> public string GetCollapsiblePanelImageURL([NotNull] string panelID, CollapsiblePanelState defaultState) { return this.Get<ITheme>().GetCollapsiblePanelImageURL(panelID, defaultState); }