コード例 #1
0
 /// <summary>
 /// Write the properties from the bag to the writer. This method can be overrided for advanced scenarios.
 /// </summary>
 /// <param name="jw">The writer.</param>
 protected override void WriteProperties(DextopJsWriter jw)
 {
     jw.DefaultProperty("itemId", itemId);
     jw.DefaultProperty("xtype", xtype);
     if (itemId != null)
     {
         jw.AddLocalizationProperty("title", title, itemId + "Title");
     }
     else
     {
         jw.DefaultProperty("title", title);
     }
     if (layout != null)
     {
         jw.AddProperty("layout", layout);
     }
     jw.DefaultRawProperty("defaults", defaults);
     jw.DefaultRawProperty("fieldDefaults", fieldDefaults);
     jw.DefaultProperty("margins", margins);
     jw.DefaultProperty("style", style);
     jw.DefaultProperty("bodyStyle", bodyStyle);
     jw.DefaultProperty("border", border);
     jw.DefaultProperty("autoHeight", autoHeight);
     jw.DefaultProperty("anchor", anchor);
     base.WriteProperties(jw);
 }
コード例 #2
0
 /// <summary>
 /// Write the properties from the bag to the writer. This method can be overrided for advanced scenarios.
 /// </summary>
 /// <param name="jw">The writer.</param>
 protected override void WriteProperties(DextopJsWriter jw)
 {
     jw.AddProperty("field", field);
     jw.AddProperty("type", type);
     jw.DefaultProperty("min", min);
     jw.DefaultProperty("max", max);
     if (list != null)
     {
         jw.AddRawProperty("list", DextopUtil.Encode(list));
     }
     jw.DefaultProperty("matcher", matcher);
     base.WriteProperties(jw);
 }
コード例 #3
0
            /// <summary>
            /// Write the properties from the bag to the writer. This method can be overrided for advanced scenarios.
            /// </summary>
            /// <param name="jw">The writer.</param>
            protected override void WriteProperties(DextopJsWriter jw)
            {
                jw.AddProperty("name", name);
                jw.DefaultProperty("type", type);
                jw.DefaultProperty("defaultValue", defaultValue);
                if (useNull == true)
                {
                    jw.AddProperty("useNull", useNull);
                }
                if (persist == false)
                {
                    jw.AddProperty("persist", false);
                }
                jw.DefaultProperty("mapping", mapping);
                jw.DefaultRawProperty("sortType", sortType);
                jw.DefaultRawProperty("convert", convert);
                jw.DefaultProperty("sortDir", sortDir);

                base.WriteProperties(jw);
            }
コード例 #4
0
 /// <summary>
 /// Write the properties from the bag to the writer. This method can be overrided for advanced scenarios.
 /// </summary>
 /// <param name="jw">The writer.</param>
 protected override void WriteProperties(DextopJsWriter jw)
 {
     jw.AddProperty("extend", "Ext.data.Model");
     if (Fields != null)
     {
         jw.AddProperty("fields", Fields);
     }
     if (Validations != null && Validations.Count > 0)
     {
         jw.AddProperty("validations", Validations);
     }
     jw.DefaultProperty("idProperty", idProperty);
     base.WriteProperties(jw);
 }
コード例 #5
0
        /// <summary>
        /// Write the properties from the bag to the writer. This method can be overrided for advanced scenarios.
        /// </summary>
        /// <param name="jw">The writer.</param>
        protected override void WriteProperties(DextopJsWriter jw)
        {
            if (id != dataIndex)
            {
                jw.DefaultProperty("id", id);
            }
            jw.AddLocalizationProperty("text", text, id + "Text");
            jw.AddLocalizationProperty("tooltip", tooltip, id + "TooltipText");
            jw.DefaultProperty("flex", flex);
            jw.DefaultProperty("width", width);
            jw.DefaultProperty("renderer", renderer);
            jw.DefaultProperty("format", format);

            if (_columns == null || _columns.Count == 0)
            {
                jw.AddProperty("dataIndex", dataIndex);
                jw.AddProperty("type", type);
                jw.DefaultProperty("required", required);
                jw.DefaultProperty("tooltipTpl", tooltipTpl);
                jw.DefaultProperty("readonly", readOnly);
            }
            else
            {
                jw.WritePropertyName("columns");
                jw.Write("[");
                for (var i = 0; i < _columns.Count; i++)
                {
                    if (i > 0)
                    {
                        jw.Write(", ");
                    }
                    if ((jw.Options & DextopJsWriterOptions.ItemFactory) != 0)
                    {
                        jw.Write("dict[\"{0}\"]", _columns[i].id);
                    }
                    else
                    {
                        jw.WriteObject(_columns[i]);
                    }
                }
                jw.Write("]");
            }
            base.WriteProperties(jw);
        }
コード例 #6
0
ファイル: DextopForm.Field.cs プロジェクト: joxwell/dextop
        /// <summary>
        /// Write the properties from the bag to the writer. This method can be overrided for advanced scenarios.
        /// </summary>
        /// <param name="jw">The writer.</param>
        protected override void WriteProperties(DextopJsWriter jw)
        {
            jw.AddProperty("name", name);
            jw.AddLocalizationProperty("fieldLabel", fieldLabel, ItemName + "FieldLabelText");
            jw.DefaultProperty("xtype", xtype);
            jw.AddLocalizationProperty("boxLabel", boxLabel, ItemName + "BoxLabelText");
            jw.DefaultProperty("anchor", anchor);
            jw.AddLocalizationProperty("emptyText", emptyText, ItemName + "EmptyText");
            jw.DefaultProperty("readOnly", readOnly);
            jw.DefaultProperty("allowBlank", allowBlank);
            jw.DefaultProperty("inputType", inputType);
            jw.DefaultProperty("vtype", vtype);
            jw.DefaultProperty("vtypeText", vtypeText);
            jw.DefaultProperty("flex", flex);
            jw.DefaultProperty("labelAlign", labelAlign);
            jw.DefaultProperty("margin", margin);
            jw.DefaultProperty("width", width);
            jw.DefaultProperty("style", style);
            jw.DefaultProperty("fieldStyle", fieldStyle);
            jw.DefaultProperty("cls", cls);
            jw.DefaultProperty("fieldCls", fieldCls);

            switch (xtype)
            {
            case "checkboxfield":
                jw.AddRawProperty("checked", String.Format("options.data['{0}']", name));
                break;

            case "radio":
                break;

            default:
                jw.AddRawProperty("value", String.Format("options.data['{0}']", name));
                break;
            }
            base.WriteProperties(jw);
        }
コード例 #7
0
ファイル: DemoPreprocessor.cs プロジェクト: andreskane/dextop
        public void ProcessAssemblies(DextopApplication application, IList <Assembly> assemblies, Stream output)
        {
            using (var tw = new StreamWriter(output))
            {
                DextopJsWriter jw       = new DextopJsWriter(tw);
                var            assembly = this.GetType().Assembly;
                var            data     = AssemblyHelper.GetTypeAttributeDictionaryForAssembly <DemoAttribute>(assembly, false);
                jw.ExtNamespace("Showcase");
                jw.Write("Showcase.Demos = [");
                bool first = true;

                HashSet <String> levels     = new HashSet <string>();
                HashSet <String> categories = new HashSet <string>();
                HashSet <String> topics     = new HashSet <string>();

                foreach (var entry in data)
                {
                    var att = entry.Value;
                    if (first)
                    {
                        first = false;
                    }
                    else
                    {
                        jw.Write(", ");
                    }
                    jw.StartBlock();
                    jw.AddProperty("id", att.Id);
                    jw.DefaultProperty("title", att.Title);
                    jw.DefaultProperty("description", att.Description);
                    jw.AddProperty("clientLauncher", att.ClientLauncher);
                    LevelAttribute level;
                    if (AttributeHelper.TryGetAttribute <LevelAttribute>(entry.Key, out level, false))
                    {
                        jw.AddProperty("level", level.Name);
                    }
                    TopicAttribute topic;
                    if (AttributeHelper.TryGetAttribute <TopicAttribute>(entry.Key, out topic, false))
                    {
                        jw.AddProperty("topic", topic.Name);
                    }
                    CategoryAttribute cat;
                    if (AttributeHelper.TryGetAttribute <CategoryAttribute>(entry.Key, out cat, false))
                    {
                        jw.AddProperty("category", cat.Name);
                    }

                    jw.AddProperty("sourceUrlBase", DextopUtil.AbsolutePath(String.Format("source/{0}", att.Id)));
                    jw.AddProperty("cacheBuster", GetCacheBuster(att));

                    jw.CloseBlock();
                    ((ShowcaseApplication)application).RegisterDemo(att.Id, entry.Key);

                    if (!levels.Contains(level.Name))
                    {
                        levels.Add(level.Name);
                    }

                    if (!topics.Contains(topic.Name))
                    {
                        topics.Add(topic.Name);
                    }

                    if (!categories.Contains(cat.Name))
                    {
                        categories.Add(cat.Name);
                    }
                }
                jw.WriteLine("];");
                jw.WriteLine();
                jw.Write("Showcase.Topics = ");
                jw.Write(DextopUtil.Encode(topics.ToArray()));
                jw.WriteLine(";");
                jw.WriteLine();
                jw.Write("Showcase.Levels = ");
                jw.Write(DextopUtil.Encode(levels.ToArray()));
                jw.WriteLine(";");
                jw.WriteLine();
                jw.Write("Showcase.Categories = ");
                jw.Write(DextopUtil.Encode(categories.ToArray()));
                jw.WriteLine(";");
            }
        }