예제 #1
0
        /// <summary>
        /// Configures the <see cref="ScriptRegistrar.DefaultGroup"/>.
        /// </summary>
        /// <param name="configureAction">The configure action.</param>
        /// <example>
        /// <code lang="CS">
        /// &lt;%= Html.NequeoUI().ScriptRegistrar()
        ///            .DefaultGroup(group => group
        ///                 .Add("script1.js")
        ///                 .Add("script2.js")
        ///                 .Combined(true)
        ///            )
        /// %&gt;
        /// </code>
        /// </example>
        public virtual ScriptRegistrarBuilder DefaultGroup(Action <WebAssetItemGroupBuilder> configureAction)
        {
            // If the instance object is null.
            if (configureAction == null)
            {
                throw new System.ArgumentNullException("configureAction");
            }

            WebAssetItemGroupBuilder builder = new WebAssetItemGroupBuilder(_scriptRegistrar.DefaultGroup);

            configureAction(builder);

            return(this);
        }
예제 #2
0
        /// <summary>
        /// Call the script action handler.
        /// </summary>
        /// <param name="configurationAction">The configuration action.</param>
        /// <returns>The current script builder</returns>
        public TBuilder Scripts(Action <WebAssetItemGroupBuilder> configurationAction)
        {
            // If the instance object is null.
            if (configurationAction == null)
            {
                throw new System.ArgumentNullException("action");
            }

            // Create the web asset builder and execute the action.
            WebAssetItemGroupBuilder builder = new WebAssetItemGroupBuilder(Component.Scripts);

            configurationAction(builder);

            return(this as TBuilder);
        }
        /// <summary>
        /// Adds the group.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="configureAction">The configure action.</param>
        /// <returns></returns>
        public virtual SharedWebAssetGroupBuilder AddGroup(string name, Action<WebAssetItemGroupBuilder> configureAction)
        {
            Guard.IsNotNullOrEmpty(name, "name");
            Guard.IsNotNull(configureAction, "configureAction");

            WebAssetItemGroup group;

            if (assets.TryGetValue(name, out group))
            {
                throw new ArgumentException(TextResource.GroupWithSpecifiedNameAlreadyExistsPleaseSpecifyADifferentName.FormatWith(name));
            }

            group = new WebAssetItemGroup(name, true) { DefaultPath = defaultPath };
            assets.Add(name, group);

            WebAssetItemGroupBuilder builder = new WebAssetItemGroupBuilder(group);
            configureAction(builder);

            return this;
        }
        /// <summary>
        /// Gets the group.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="configureAction">The configure action.</param>
        /// <returns></returns>
        public virtual SharedWebAssetGroupBuilder GetGroup(string name, Action<WebAssetItemGroupBuilder> configureAction)
        {
            Guard.IsNotNullOrEmpty(name, "name");
            Guard.IsNotNull(configureAction, "configureAction");

            WebAssetItemGroup group;

            if (!assets.TryGetValue(name, out group))
            {
                throw new ArgumentException(TextResource.GroupWithSpecifiedNameDoesNotExistPleaseMakeSureYouHaveSpecifiedACorrectName.FormatWith(name));
            }

            WebAssetItemGroupBuilder builder = new WebAssetItemGroupBuilder(group);

            configureAction(builder);

            return this;
        }
 public WebAssetItemGroupBuilderTests()
 {
     _itemGroup = new WebAssetItemGroup("foo") { DefaultPath = WebAssetDefaultSettings.ScriptFilesPath };
     _builder = new WebAssetItemGroupBuilder(_itemGroup);
 }