/// <summary> /// Executes the provided delegate that is used to register the script files fluently in default group. /// </summary> /// <param name="configureAction">The configure action.</param> /// <returns></returns> public virtual ScriptRegistrarBuilder DefaultGroup(Action<WebAssetItemGroupBuilder> configureAction) { Guard.IsNotNull(configureAction, "configureAction"); WebAssetItemGroupBuilder builder = new WebAssetItemGroupBuilder(scriptRegistrar.DefaultGroup); configureAction(builder); return this; }
/// <summary> /// Adds a new web asset group. /// </summary> /// <param name="name">The name.</param> /// <param name="configureAction">The configure action.</param> /// <example> /// <code lang="CS"> /// <%= Html.Telerik().ScriptRegistrar() /// .Scripts(scripts => scripts.AddGroup("Group1", group => /// { /// group.Add("script1.js"); /// } /// )) /// %> /// </code> /// </example> public virtual WebAssetItemCollectionBuilder AddGroup(string name, Action<WebAssetItemGroupBuilder> configureAction) { Guard.IsNotNullOrEmpty(name, "name"); Guard.IsNotNull(configureAction, "configureAction"); WebAssetItemGroup itemGroup = assets.FindGroupByName(name); if (itemGroup != null) { throw new ArgumentException(TextResource.GroupWithSpecifiedNameAlreadyExistsPleaseSpecifyADifferentName.FormatWith(name)); } itemGroup = new WebAssetItemGroup(name, false) { DefaultPath = assets.DefaultPath }; assets.Add(itemGroup); WebAssetItemGroupBuilder builder = new WebAssetItemGroupBuilder(itemGroup); configureAction(builder); return this; }
/// <summary> /// Executes the provided delegate that is used to configure the group fluently. /// </summary> /// <param name="name">The name.</param> /// <param name="configureAction">The configure action.</param> public virtual WebAssetItemCollectionBuilder GetGroup(string name, Action<WebAssetItemGroupBuilder> configureAction) { Guard.IsNotNullOrEmpty(name, "name"); Guard.IsNotNull(configureAction, "configureAction"); WebAssetItemGroup itemGroup = assets.FindGroupByName(name); if (itemGroup == null) { throw new ArgumentException(TextResource.GroupWithSpecifiedNameDoesNotExistPleaseMakeSureYouHaveSpecifiedACorrectName.FormatWith(name)); } if (itemGroup.IsShared) { throw new InvalidOperationException(TextResource.YouCannotConfigureASharedWebAssetGroup); } WebAssetItemGroupBuilder builder = new WebAssetItemGroupBuilder(itemGroup); configureAction(builder); return this; }