public System.Web.WebPages.HelperResult RenderModel(CollectionSettings settings) { #line default #line hidden return(new System.Web.WebPages.HelperResult(__razor_helper_writer => { #line 159 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" var db = ((OziController)ViewContext.Controller).DataModelContext; foreach (var item in settings.Fields.GetOf <FieldSettings, CollectionSettings>()) { #line default #line hidden #line 163 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, RenderModel(item)); #line default #line hidden #line 163 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } var thisModelName = settings.GetFullPropertyName().Replace(".", string.Empty); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "var "); #line 166 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, thisModelName); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "Model = function(m, index, parentCollection, parent){ "); WriteLiteralTo(__razor_helper_writer, @" var self = this; self.plugins = []; self.renderPlugins = function() { $(self.plugins).each(function(index, f){ f(); }); self.plugins = []; }; self.index = ko.observable(index); self.ItemId = ko.observable(m.ItemId || 0); self.ModelId = "); #line 177 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, WebContext.Model != null ? WebContext.Model.Id : 0); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ";\r\n self.parent = parent;\r\n self.propName = \'"); #line 179 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, settings.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\';\r\n self.parentCollection = parentCollection;\r\n\r\n"); #line 182 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" #line default #line hidden #line 182 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" foreach (var item in settings.Fields.GetNotOf <FieldSettings, CollectionSettings>()) { #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self."); #line 183 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, " = ko.observable(m."); #line 183 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ");"); WriteLiteralTo(__razor_helper_writer, " "); #line 183 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 185 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" #line default #line hidden #line 185 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" foreach (var item in settings.Fields.GetOf <FieldSettings, SelectSettings>()) { var type = TypeHelpers.GetPropertyType(WebContext.Model, item.GetFullPropertyName()); var list = ((IListSource)TypeHelpers.GetEntitySet(db, type)).GetList().Cast <object>().Select <object, string>(a => string.Format("{{value: {0}, label: '{1}'}}", TypeHelpers.GetPropertyValue(a, item.OptionValue), TypeHelpers.GetPropertyValue(a, item.OptionTitle))); #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.available"); #line 189 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, " = ["); #line 189 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, Html.Raw(string.Join(",", list))); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "];"); WriteLiteralTo(__razor_helper_writer, "\r\n"); WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.newValue = \'\';"); WriteLiteralTo(__razor_helper_writer, "\r\n"); WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "$(\"body\").data(\""); #line 191 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.GetFullPropertyName().Replace(".", "_")); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\", self.available"); #line 191 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ");"); WriteLiteralTo(__razor_helper_writer, "\r\n"); WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.current"); #line 192 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, " = ko.computed({ \r\n read: function(){\r\n var result = $(" + "self.available"); #line 194 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ").filter(function(index, el){\r\n return el.value == self."); #line 195 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "();\r\n });\r\n return (result && result.length > 0) ? " + "result[0].label : self.newValue;\r\n }, \r\n write: function(v" + "alue){\r\n var result = $(self.available"); #line 200 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ").filter(function(index, el){\r\n return el.value == value;\r\n " + " });\r\n if (result && result.length > 0) {\r\n " + " self.newValue = \'\';\r\n self."); #line 205 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "(result[0].value);\r\n } else {\r\n self.newValue =" + " value;\r\n self."); #line 208 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "(0);\r\n }\r\n },\r\n owner: self});"); WriteLiteralTo(__razor_helper_writer, "\r\n"); WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.parent.plugins.push(function(){\r\n makeAutocomplete($(\"#\" + self.g" + "enerateId() + \"_"); #line 213 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.OptionTitle); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\").get(0));\r\n });"); WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 215 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 217 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" #line default #line hidden #line 217 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" foreach (var item in settings.Fields.GetOf <FieldSettings, UploadFileSettings>()) { #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.parent.plugins.push(function(){\r\n makeFileUpload(\"#\" + self.gener" + "ateId() + \"_"); #line 220 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\");\r\n });"); WriteLiteralTo(__razor_helper_writer, "\r\n"); WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.show"); #line 222 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "img = ko.computed(function(){\r\n return !!self.ItemId() && !!self.Model" + "Id && !!self."); #line 223 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "();\r\n }, self);"); WriteLiteralTo(__razor_helper_writer, "\r\n"); WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.show"); #line 225 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "panel = ko.computed(function(){\r\n return !!self.ItemId() && !!self.Mod" + "elId;\r\n }, self);"); WriteLiteralTo(__razor_helper_writer, "\r\n"); WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "self.show"); #line 228 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "text = ko.computed(function(){\r\n return !self.ItemId() || !self.ModelI" + "d;\r\n }, self);"); WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 231 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 233 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" #line default #line hidden #line 233 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" foreach (var item in settings.Fields.GetOf <FieldSettings, CollectionSettings>()) { #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "\r\n self."); #line 235 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, " = ko.observableArray([]);\r\n self.add"); #line 236 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "Item = function(){\r\n self."); #line 237 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ".push(new "); #line 237 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.GetFullPropertyName().Replace(".", string.Empty)); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "Model({}, self."); #line 237 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "().length, self."); #line 237 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, item.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ", self));\r\n };\r\n "); WriteLiteralTo(__razor_helper_writer, " \r\n"); #line 240 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } #line default #line hidden WriteLiteralTo(__razor_helper_writer, @" self.removeItem = function(item){ if(confirm(""Удалить элемент?"")){ self.parentCollection.remove(self); $(self.parentCollection()).each(function(i, e){ e.index(i); }); } }; self.generateName = ko.computed(function(){ var parentName = ''; var prefix =''; if (!!this.parent && !!this.parent.generateName) parentName = this.parent.generateName() + "".""; else prefix = 'collection_'; return prefix + parentName + this.propName + ""["" + this.index() + ""]""; }, self); self.generateId = ko.computed(function(){ return self.generateName().replace(/[\[\]\.]/g, ""_"");//.replace(""."", ""_"").replace(""["", ""_"").replace(""]"", ""_""); }, self); }; "); WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 261 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" #line default #line hidden })); #line 261 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" }
public System.Web.WebPages.HelperResult RenderInitModelValues(CollectionSettings settings, IEntity model) { #line default #line hidden return(new System.Web.WebPages.HelperResult(__razor_helper_writer => { #line 127 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" // тут генерируем JSON для наших объектов var simpleFields = settings.Fields.GetNotOf <FieldSettings, CollectionSettings>().ToList(); var children = settings.Fields.GetOf <FieldSettings, CollectionSettings>().ToList(); var values = (IEnumerable)TypeHelpers.GetPropertyValue(model, settings.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "[ \r\n"); #line 133 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" foreach (var item in values) { #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, "{"); WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 136 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" foreach (var field in simpleFields) { #line default #line hidden #line 137 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, GenerateJsonField(field, item)); #line default #line hidden #line 137 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } foreach (var child in children) { #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, " "); #line 139 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, child.Name); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ": "); #line 139 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, RenderInitModelValues(child, (IEntity)item)); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ", "); WriteLiteralTo(__razor_helper_writer, " "); #line 139 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } #line default #line hidden WriteLiteralTo(__razor_helper_writer, " "); WriteLiteralTo(__razor_helper_writer, " ItemId: "); #line 140 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, ((IEntity)item).Id); #line default #line hidden WriteLiteralTo(__razor_helper_writer, ", OziPropertiesPath: \'"); #line 140 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" WriteTo(__razor_helper_writer, settings.GetFullPropertyName()); #line default #line hidden WriteLiteralTo(__razor_helper_writer, "\'},"); WriteLiteralTo(__razor_helper_writer, "\r\n"); #line 141 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" } #line default #line hidden WriteLiteralTo(__razor_helper_writer, "]\r\n"); #line 143 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" #line default #line hidden })); #line 143 "..\..\Areas\Admin\Views\Shared\EditorTemplates\ozi_Collection.cshtml" }