/// <summary> /// Called by the framework when the component needs to be rendered as HTML. /// </summary> /// <param name="model">The model being rendered by the component.</param> /// <returns>The component rendered as HTML.</returns> public async Task <string> RenderAsync(SerializableList <SkinDefinition> model) { HtmlBuilder hb = new HtmlBuilder(); int index = 0; SkinAccess skinAccess = new SkinAccess(); hb.Append($@" <div id='{ControlId}' class='yt_moduleskins t_edit'> {await HtmlHelper.ForEditComponentAsync(Container, PropertyName, null, "Hidden", HtmlAttributes: new { __NoTemplate = true, @class = Forms.CssFormNoSubmit })}"); foreach (SkinCollectionInfo skinDef in (from s in skinAccess.GetAllSkinCollections() orderby s.CollectionDescription select s).ToList()) { hb.Append($@" <div class='t_collection'>"); SkinDefinition sd = (from s in model where s.Collection == skinDef.CollectionName select s).FirstOrDefault(); string fileName = sd?.FileName; ModuleSkinUI ms = new ModuleSkinUI { Collection = skinDef.CollectionName, FileName = fileName, FileNameCaption = skinDef.CollectionDescription, FileName_ModuleSkinList = skinAccess.GetAllModuleSkins(skinDef.CollectionName), }; using (Manager.StartNestedComponent($@"{FieldName}[{index}]")) { hb.Append(await HtmlHelper.ForDisplayAsync(ms, nameof(ms.Collection))); hb.Append(await HtmlHelper.ForLabelAsync(ms, nameof(ms.FileName))); hb.Append(await HtmlHelper.ForEditAsync(ms, nameof(ms.FileName))); hb.Append(ValidationMessage(FieldNamePrefix, nameof(ms.FileName))); } index++; hb.Append($@" </div>"); } hb.Append($@" </div>"); //Manager.ScriptManager.AddLast($@"new YetaWF_ComponentsHTML.ModuleSkinsEditComponent('{ControlId}');"); return(hb.ToString()); }
/// <summary> /// Called by the framework when the component needs to be rendered as HTML. /// </summary> /// <param name="model">The model being rendered by the component.</param> /// <returns>The component rendered as HTML.</returns> public async Task <string> RenderAsync(SerializableList <SkinDefinition> model) { HtmlBuilder hb = new HtmlBuilder(); int index = 0; SkinAccess skinAccess = new SkinAccess(); hb.Append($@" <div id='{DivId}' class='yt_moduleskins t_display'>"); foreach (SkinCollectionInfo skinDef in (from s in skinAccess.GetAllSkinCollections() orderby s.CollectionDescription select s).ToList()) { hb.Append($@" <div class='t_collection'>"); SkinDefinition sd = (from s in model where s.Collection == skinDef.CollectionName select s).FirstOrDefault(); string fileName = sd?.FileName; ModuleSkinUI ms = new ModuleSkinUI { FileName = fileName, FileNameCaption = skinDef.CollectionDescription, FileName_ModuleSkinList = skinAccess.GetAllModuleSkins(skinDef.CollectionName), }; using (Manager.StartNestedComponent($@"{FieldName}[{index}]")) { hb.Append(await HtmlHelper.ForLabelAsync(ms, nameof(ms.FileName))); hb.Append(await HtmlHelper.ForDisplayAsync(ms, nameof(ms.FileName))); } index++; hb.Append($@" </div>"); } hb.Append($@" </div>"); return(hb.ToString()); }