var myjson = {
    Component: {
        template: {
            type: "Text",
        }
    },
    TestTemplate: {
        template: {
            type: "Text", Text: "@测试模板",
        }
    },
    Modal:{
        template:{
            type: "Dock", Classes:"@Modal BorderRound",
            children:[
                {"type":"Text", "Text":"stat.Title", "Pos":"@Top", PaddingLeft:"@20", PaddingBottom:"@20"},
                {"type":"Slot", "SlotName":"@item", "Pos":"@Center", Classes:"@BorderRect", StrokeStyle:"@#eaedee"},
                {
                    "type":"Stack", "Pos":"@Bottom", PaddingTop:"@20", Right:"@20", HAlign:"@Right", PaddingBottom:"@1",
                    children:[
                        {"type":"Button", "Text":"@取消", "@Click": "stat.Cancel()", Classes:"@Button2", Right:"@20"},
                        {"type":"Button", "Text":"@确定", "@Click": "stat.Confirm()", Classes:"@Button", FillStyle:"@#ffffff"},
                    ]
                },
            ]
        },
    },
    "Tips": {
        "template":{
            type: "Stack", Font:'@16px 苹方', Background:'@#ffffff',
            children: [
                {"type":"Text", "Text":"stat.Text",Left:"@5",Right:"@5",Top:"@5",Bottom:"@5"}
            ]
        }
    },
    DefaultOver:{
        template:{
            type:"Text", Font:"@16px 微软雅黑", Text:"@此处无效", Classes:"@Text",
        }
    },
    Button: {
        template: {
            type: 'Slot', SlotName: '@item', default: {
                Name: '@Button-Text',
                type: 'Text',
                Text: 'stat.Text',
            }
        }
    },
    Calendar:{
        template:{
            type:"Stack", Original:"@V", Background:"@#FFFFFF", Width:"@245", Height:"@275", Classes:"@BorderRound", Radius:"@4",
            children:[
                {
                    type:"Grid", Row:"@*", Column:"@1*,2*,1*", Top:"@14",Bottom:"@5",
                    children:[
                        {
                            type: 'Button', Text: '@<', '@Click': "stat.Prev().NotifyAll(stat,$Showstr$,$Days$,$Years$)", Font: '@15px 苹方',
                            Classes:"@CalendarTextNormal BorderRound"
                        },
                        {
                            type: 'Button', Text: 'stat.Showstr', '@Click': "stat.Super().NotifyAll(stat,$Showstr$,$ShowPanel$,$Years$)",Classes:"@CalendarTextNormal BorderRound"
                        },
                        {
                            type: 'Button', Text: '@>', '@Click': "stat.Next().NotifyAll(stat,$Showstr$,$Days$,$Years$)", Font: '@15px 苹方',Classes:"@CalendarTextNormal BorderRound"
                        },
                    ]
                },
                {
                    type:"Stack", Original:"@V", if:"stat.ShowPanel==$day$", Left:"@17",Right:"@17",
                    children:[
                        {
                            type:"Grid", Column:"@1*,1*,1*,1*,1*,1*,1*", Row:"@30",
                            children:[
                                {type:"Text", Text:"data", for:["日","一","二","三","四","五","六"],HAlign:"@Center", VAlign:"@Center",}
                            ]
                        },
                        {
                            type:"Grid", Column:"@1*,1*,1*,1*,1*,1*,1*", Row:"@1*,1*,1*,1*,1*,1*",Height:"@180",
                            children:[
                                {
                                    type:"Text", Text:"data.Day", for:"stat.Days", "@Click":"stat.ChooseDate(data).NotifyAll(stat,$Days$,$Showstr$)", Classes:"@CalendarTextNormal BorderRound"
                                }
                            ]
                        },
                        {
                            type:"Stack", children:[
                                {type:"Select",Width:"@50", Data:"stat.Hours", "@Change":"stat.SetHour(e.Value)"},{type:"Text","Text":"@时"},
                                {type:"Select",Width:"@50", Data:"stat.Minutes", "@Change":"stat.SetMinute(e.Value)"},{type:"Text","Text":"@分"},
                                {type:"Select",Width:"@50", Data:"stat.Minutes","@Change":"stat.SetSecond(e.Value)"},{type:"Text","Text":"@秒"},
                                {type:"Button",Width:"@50", Classes:"@Button", Text:"@确定","@Click":"stat.ChooseTime()",}
                            ]
                        }
                    ]

                },
                {
                    type:"Grid", Column:"@1*,1*,1*,1*",Row:"@1*,1*,1*", if:"stat.ShowPanel==$month$", Height:"@180", Left:"@17",Right:"@17",
                    children:[
                        {
                            type:"Text", Text:"data", for:"stat.Months", Top:"@10", "@Click":"stat.ChooseMonth(data).NotifyAll(stat,$Days$,$ShowPanel$,$Showstr$)", Classes:"@CalendarTextNormal BorderRound"
                        }
                    ]
                },
                {
                    type:"Grid", Column:"@1*,1*,1*,1*",Row:"@1*,1*,1*", if:"stat.ShowPanel==$year$", Height:"@180", Left:"@17",Right:"@17", Top:"@10",
                    children:[
                        {
                            type:"Text", Text:"data", for:"stat.Years", Top:"@10", "@Click":"stat.ChooseYear(data).NotifyAll(stat,$ShowPanel$,$Showstr$)", Classes:"@CalendarTextNormal BorderRound"
                        }
                    ]
                }
            ]
        }
    },
    DateInput:{
      template:{
          type:"Dropdown", Text:"stat.Date",
          Slots:{
              item: {
                  type:"Calendar", Date:"stat.Date", Width:"@245", Height:"@275", "@Change":"stat.GetTemplate().RestorePopup(e.draw),stat.SetDate(e.Value, stat), stat.Notify($Date$, stat)"
              }
          }
      }
    },
    CheckBox:{
        template:{
            type:"Image", Path:"stat.IsSelected:$checkbox_true$,$checkbox_false$", '@Click':"stat.Select()",
        }
    },
    DataGrid: {
        "template":{
            "type":"Dock", "Name":"@DataGrid_Dock",
            "children": [
                {
                    "type": "Slot", "Name": "@headSlot", "SlotName": "@head", "Pos": "@Top",
                    Background:"@#eff1f3", Font:"@14px 微软雅黑", FillStyle:"@#666666",
					"Column": "stat.Column",
                    "ContentX": "stat.Comps.Scroll.ContentX",
                    "@DragStart": "stat.Drag(e.x, e.y, this)",
                    "@Drop": "stat.Drop(e.x, e.y, this).Notify($ColumnOrder$, stat)",
				},
				{
					"type":"Scroll", "Name":"@DataGrid_Scroll", "Pos":"@Center", "ID": "@Scroll",
					"Slots": {
						"item":{
							"type": "List", "Data":"stat.Data", "Name": "@List",
							"Slots":{
								"item":{
									"type":"Slot", "Name": "@bodySlot", "SlotName": "@item",
                                    "Column": "stat.Column",
                                    "@Click": "stat.Select(data, stat)",
                                    FillStyle:"data==stat.Selected: $#ffffff$, $#333333$",
                                    Background:"data==stat.Selected: $#83a6c9$, this.MouseIn: $#eef1f4$, index%2==0:$#ffffff$, $#f9fafb$",
									"ColumnOrder": "stat.ColumnOrder"
								},
							},
						},
                    },
				},
            ],
		},
    },
    DateLine:{
        template:{
            type:"List", Data:"stat.Data",
            Slots:{
                item:{
                    type:"Grid", Column:"@*,1*",Row:"@*", Background:"stat.Background",
                    children:[
                        {
                            type:"Grid", Column:"@1*,1,1*", Row:"@*,1*",
                            children:[
                                {type:"Image", Path:"@cycle13",ColSpan:"@3", HAlign:"@Center", PaddingLeft:"@1", PaddingRight:"@1"},
                                {type:"Text", Text:"@",},
                                {type:"Stack", Width:"@1",HAlign:"@Center",Classes:"@BorderRect", StrokeStyle:"@#cccccc"}
                            ]
                        },
                        {
                            type:"Slot", SlotName:"@item", Left:"@5"
                        }
                    ]
                }
            }
        }
    },
    RadioButton:{
        template:{
            type:"Stack", Original:"stat.Original",
            children:[
                {
                    type:"Stack", for:"stat.Data",PaddingTop:"4",PaddingBottom:"4", "@Click":"stat.Select(data, stat)", Original:"@H", Left:"@15",
                    children:[
                        {type:"Image", Path:"data==stat.Selected:$radioButtonSelected$,this.MouseIn:$radioButtonHover$,$radioButtonNormal$", VAlign:"@Center"},
                        {type:"Text", Text:"data", Left:"@5", VAlign:"@Center"}
                    ]
                }
            ]
        }
    },
    TestDataGrid:{
        template:{
            type:"DataGrid", Font:'@16px Arial', Height: "@200", Width: "@400", Background: "@#ffffff",
            Column:"@150,200,50,100,150",
            Data:[
                {name:"张三", sex:"男", age:21, height:177, weight:150},
                {name:"李四", sex:"男", age:22, height:180, weight:160},
                {name:"王五", sex:"男", age:20, height:177, weight:140},
                {name:"赵六", sex:"女", age:23, height:177, weight:120},
                {name:"周七", sex:"男", age:22, height:177, weight:133},
                {name:"吴八", sex:"女", age:25, height:177, weight:122},
                {name:"郑九", sex:"女", age:26, height:177, weight:100},
            ],
            Slots: {
                "head": {type: "Grid", Row:"@50",
                    children:[
                        {type:"Text", Text:"@姓名"},
                        {type:"Text", Text:"@性别"},
                        {type:"Text", Text:"@年龄"},
                        {type:"Text", Text:"@身高"},
                        {type:"Text", Text:"@体重"},
                    ]
                },   
                "item": {type: "Grid", Row:"@50",
                    children:[
                        {type:"Text", Text:"data.name"},
                        {type:"Text", Text:"data.sex"},
                        {type:"Text", Text:"data.age"},
                        {type:"Text", Text:"data.height"},
                        {type:"Text", Text:"data.weight"},
                    ]
                }
            }
        }
    },
    Dropdown:{
        template: {
            "type": "Grid", "Column": "@1*,*", "Row": "@*",
            "@MouseDown": "stat.Popup(e.draw)", PaddingTop: "@8", PaddingBottom:"@8", PaddingLeft:"@10", PaddingRight:"@10",
            children: [
                {
                    Name: "@Dropdown_Value", type: "Text", Text: "stat.GetText(stat.Text, stat.PlaceHolder)",  FillStyle:"stat.Text==$$:$#666666$,$#333333$",
                },
                {
                    Name: "@Dropdown_down", type: "Image", Path: "@down_black10_6", VAlign:"@Center",Classes:"@BorderRound", "StrokeStyle":"@",
                },
            ]
        },
        Drag: {
            "popup": {
                "type": "Slot", "SlotName": "@item",
            }
        }
    },
    Select: {
        template: {
            type: 'Dropdown', Text: 'stat.GetShowText(stat.Text, stat.Selected)', PlaceHolder:"stat.PlaceHolder",
            Slots: {
                item: {
                    type: "Scroll", MaxHeight: "@150",
                    Slots: {
                        item: {
                            type: 'List', Data: 'stat.Data',
                            '@Change': 'stat.GetTemplate().RestorePopup(e.draw), stat.Select(e.Value, stat)',
                            Slots: {
                                item: {
                                    type:"Slot", SlotName:"@item", Background: '(stat.SelectMode!=$none$ && data==stat.Selected): $#d8eafb$, this.MouseIn: $#f5f6f7$, $$',
                                    default:{
                                        type: "Text", Text: "data", PaddingLeft:"@10", PaddingTop:"@8", PaddingRight:"@10", PaddingBottom:"@8",
                                    },
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    SearchBox:{
        template:{
            Name:"@SearchBox", type:"Input", "@Input":"stat.Search(e.Value)",
        },
        Drag:{
            popup:{
                type: "Scroll", MaxHeight: "@150",
                Slots: {
                    item: {
                        type: 'List', Data:"stat.Data", 
                        '@Change': 'stat.RestorePopup(e.draw)',
                        Slots: {
                            item: {
                                type: "Text", Text: "data"
                            }
                        }
                    }
                }
            }
        }
    },
    Input: {
        template: {
            type: "Text", Text: "stat.GetText(stat.Value, stat.PlaceHolder)",VAlign:"@Center",Background:"@#FFFFFF", Classes:"@BorderRound", Radius:"@2", FillStyle:"stat.Value==$$:$#666666$,$#333333$", StrokeStyle:"@#c7c7c7",
            PaddingLeft:"@10", PaddingRight:"@10"
        },
    },
    List:{
        template: {
            type:"Stack", Original: "@V",
                children:
                [
                    {
                        Background: '(stat.SelectMode!=$none$ && data==stat.Selected): $#d8eafb$, this.MouseIn: $#f5f6f7$, $$',
                        type:"Slot", for:'stat.ShowData', "@Click": "stat.Select(data, stat)",SlotName:'@item',
                        default:{
                            type: "Text", Text: "data", PaddingLeft:"@10", PaddingTop:"@8", PaddingRight:"@10", PaddingBottom:"@8",
                        },
                    }
                ]
        },
    },
    Test:{
        template: {
            type: "Stack", Original: "@V",
            children: [
                {
                type: "Stack", Original: "@H", Width: "@800", Background:"@#ffffff", Height:"@400",
                children: [
                    {type: "Text", Text: "@测试1", Width: "@100", Height: "@50", "@Click": "log(stat)"},
                    {type: "Button", Text: "@测试2", Width: "@100", Height: "@50",Radius:"@4", Classes:"@Button"},
                    {type: "Select", Data: ["a", "b", "c", "d", "e"], Width: "@200", Height: "@35", TemplateName:"@RadioButton", Original:"@H"},
                    {type: "Calendar", "@Change":"global.Log($time$,e.Value)", Height:"@275"},
                    {type:"DateInput",Width:"@100",Height:"@35", "@Change":"global.Log(e.Value)"},
                    {type: "Image", Name: "@flower", Path: "@SearchButton"},
                    {type: "CheckBox", Name: "@Check"},
                    {
                        type: "List", Width: "@100", Height: "@300",Data:["a","b","c","d"],
                        Slots: {
                            item: {
                                type: "Text", Text: "@data", Width: "@100", Height: "@35",
                            }
                        }
                    },
                    {
                        type: "Scroll", Width: "@100", Height: "@300",
                        Slots: {
                            item: {
                                type: "List",Data:["a","b","c","d"],
                                Slots: {
                                    item: {
                                        type: "Text", Text: "data", Width: "@100", Height: "@35",
                                    }
                                }
                            }
                        }
                    }
                ]},
                {
                    type: "Stack", Original: "@H", Width: "@800", Height:"@50", Background:"@#cccccc",
                    children:[
                        {
                            type: "Select",  Data:["a", "b", "c", "d","e", "f","g", "h", "i", "j", "k","l","m","n","o","p","q"], Classes:"@SelectWhite",Width:"@100"
                        },
                        {
                            type:"SearchBox", Height:"@35",Data:["a", "b", "c", "d", "e","a", "b", "c", "d", "e","a", "b", "c", "d", "e","a", "b", "c", "d", "e","f","g","h","i","k","l","m","n","l","o","p"]
                        },
                        {
                            type: "Component", TemplateName: "@TestTemplate",
                        },
                        {
                            type:"DateLine", Data:["1", "2", "3", "4"],Background:"@#ffffff",
                            Slots:{
                                item:{
                                    type:"Stack", Original:"@V",
                                    children:[
                                        {type:"Text", Text:"@xx年xx月xx日xx时",Bottom:"@10"},
                                        {type:"Text", Text:"@张三派发任务给李四", Bottom:"@10"},
                                    ]

                                }
                            }
                        },
                        {
                            type:"Select", Width:"@100", Data:[{name:"lisi"},{name:"zhangsan"},{name:"wangwu"},{name:"zhaoliu"}], Text:"this.Selected.name", Slots:{
                                item:{
                                    type:"Stack", PaddingTop:"@5", PaddingBottom:"@5",Background:"this.MouseIn: $#f5f6f7$,$#ffffff$",
                                    children:[
                                        {type:"CheckBox", "@Change":"global.Log($Select {data.name} {index}!!$)"},
                                        {type:"Text", Text:"data.name", Left:"@10"}
                                    ]
                                }
                            }
                        },
                        {
                            type:"Scroll", Width:"@200",
                            Slots:{
                                item:{
                                    type:"List", Data:["a","b","c","d","e","f","g"], "@Change":"global.Log($List选中{e.Value}!!!$)",
                                    Slots:{
                                        item:{
                                            type:"Grid", Column:"@1*,1*", Row:"@1*,1*", children:[
                                                {type:"Button", "@Click":"global.Log($按钮{data}被点击$)"},
                                                {type:"Select", Data:[1,2,3, 4, 5], "@Change":"global.Log($Select {data} 选中 {e.Value}$)"},
                                                {type:"DateInput", "@Change":"global.Log($DateInput {data} 选中 {e.Value}$)"},
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    type:"Grid", Height:"@300",Column:"@200,1*,100", Row:"@1*",  Background:"@yellow",
                    children:[
                        {
                            type:"WorkFlow", Rootid:"@1001",Background:"@#ffffff",Height:"@500", Width:"@300",
                            Data:{
                                "1001":{"defname": "节点1", "person": "张三", "backActivities": ["1002", "1003"],"finishTime":"2010-01-02 12:01:23"},
                                "1002":{"defname": "节点2", "person": "李四", "backActivities": ["1004", "1005"], "finishTime":"2010-02-02 12:01:23",},
                                "1003":{"defname": "节点3", "person": "张三", "backActivities": ["1006"], "finishTime":"2010-01-03 12:01:23",},
                                "1004":{"defname": "节点4", "person": "张三", "backActivities": ["1007"], "finishTime":"2011-03-02 12:01:23",},
                                "1005":{"defname": "节点5", "person": "张三", "backActivities": [],  "finishTime":"2011-02-02 12:01:23",},
                                "1006":{"defname": "节点6", "person": "张三", "backActivities": ["1007"], "finishTime":"2010-05-02 12:01:23",},
                                "1007":{"defname": "节点7", "person": "张三", "backActivities": [],  "finishTime":"2012-01-02 12:01:23",},
                            },
                            Slots:{
                                item:{
                                    type:"Text", Text:"data.defname"
                                }
                            }
                        },
                        {
                            type:"Scroll", Width:"@500", Height:"@250", Slots:{
                                item:
                                    // {
                                    // type:"Stack", children:[
                                        {type:"DynamicTable",TierHeight:"@50", SingleWidth:"@100",  Data:
                                                {
                                                "一单元":{
                                                    "upGround":[
                                                        [{id:"1001", userinfo:"张三", pipe:"a"},{id:"1002", userinfo:"李四", pipe:"b"},{id:"1003", userinfo:"王五", pipe:"c"},{id:"1004", userinfo:"赵六1", pipe:"d"},],
                                                        [{id:"2001", userinfo:"张三", pipe:"a"},{id:"2002", userinfo:"李四", pipe:"b"},{id:"2003", userinfo:"王五", pipe:"c"},{id:"2004", userinfo:"赵六2", pipe:"d"},],
                                                        [{id:"3001", userinfo:"张三", pipe:"a"},{id:"3002", userinfo:"李四", pipe:"b"},{id:"3003", userinfo:"王五", pipe:"c"},{id:"3004", userinfo:"赵六3", pipe:"d"},{id:"3005", userinfo:"赵六5", pipe:"c"},{id:"3006", userinfo:"赵六5", pipe:"c"},],
                                                        [{id:"4001", userinfo:"张三", pipe:"a"},{id:"4002", userinfo:"李四", pipe:"b"},{id:"4003", userinfo:"王五", pipe:"c"},{id:"4004", userinfo:"赵六4", pipe:"d"},],
                                                    ],
                                                    "underGround":[
                                                        [{id:"-1001", userinfo:"张三", pipe:"a"},{id:"-1002", userinfo:"李四", pipe:"b"},{id:"-1003", userinfo:"王五", pipe:"c"},{id:"-1004", userinfo:"赵六7", pipe:"d"},],
                                                        [{id:"-2001", userinfo:"张三", pipe:"a"},{id:"-2002", userinfo:"李四", pipe:"b"},{id:"-2003", userinfo:"王五", pipe:"c"},{id:"-2004", userinfo:"赵六8", pipe:"d"},{id:"-2005", userinfo:"赵六6", pipe:"d"},],
                                                    ],
                                                    "pipes":{a:1,b:1,c:3,d:2}
                                                },
                                                "二单元": {
                                                    "upGround": [
                                                        [{id: "1001", userinfo: "张三", pipe: "a"}, {id: "1002", userinfo: "李四", pipe: "b"}, {id: "1003", userinfo: "王五", pipe: "c"}, {id: "1004", userinfo: "赵六1", pipe: "d"},],
                                                        [{id: "2001", userinfo: "张三", pipe: "a"}, {id: "2002", userinfo: "李四", pipe: "b"}, {id: "2003", userinfo: "王五", pipe: "c"}, {id: "2004", userinfo: "赵六2", pipe: "d"},],
                                                        [{id: "3001", userinfo: "张三", pipe: "a"}, {id: "3002", userinfo: "李四", pipe: "b"}, {id: "3003", userinfo: "王五", pipe: "c"}, {id: "3004", userinfo: "赵六3", pipe: "d"}, {id: "3004", userinfo: "赵六5", pipe: "c"},],
                                                        [{id: "4001", userinfo: "张三", pipe: "a"}, {id: "4002", userinfo: "李四", pipe: "b"}, {id: "4003", userinfo: "王五", pipe: "c"}, {id: "4004", userinfo: "赵六4", pipe: "d"},],
                                                    ],
                                                    "underGround": [
                                                        [{id: "-1001", userinfo: "张三", pipe: "a"}, {id: "-1002", userinfo: "李四", pipe: "b"}, {id: "-1003", userinfo: "王五", pipe: "c"}, {id: "-1004", userinfo: "赵六7", pipe: "d"},],
                                                        [{id: "-2001", userinfo: "张三", pipe: "a"}, {id: "-2002", userinfo: "李四", pipe: "b"}, {id: "-2003", userinfo: "王五", pipe: "c"}, {id: "-2004", userinfo: "赵六8", pipe: "d"},],
                                                    ],
                                                    "pipes": {a: 1, b: 1, c: 2, d: 1}
                                                }
                                            }
                                        }
                                    // ]
                                // }
                            }
                        },
                        {type:"Input", VerifyKey:"1",Width:"@100"}
                    ]
                }
            ],
        },
    },
    Tree:{
        template:{
            type:'Stack', Original:'@V',
            children:[
                {
                    type:'Grid',Column:"@1*",Row:"@1*",
                    Background: 'data.Data==stat.Selected: $#ccffcc$, $$',
                    for:'stat.ToNodes(stat.Data,stat.Opened,stat.Getter)',
                    '@Click':'stat.Select(data)',
                    children:[{
                        type:"Stack", Left: 'data.Level*20',
                        children:[
                            {
                                type:'Text',Text:'stat.HasChild(data.Data):(data.Open:$-$,$+$),$ $',
                                '@Click': 'stat.Switch(data.Data).Notify($Opened$, stat)',
                            },
                            {
                                type: "Slot", SlotName: "@item"
                            }
                        ]
                    }

                    ]
                }
            ]
        }
    },
    Scroll: {
        template: {
            type: "ScrollView", Name:"@ScrollView", ContentX: "stat.ContentX", ContentY: "stat.ContentY",
            "@Change":  "stat.SetContentY(e.Value).Notify($ContentY$, stat)",  MaxHeight: "stat.MaxHeight",
            children: [
                {
                    type: "Slot", SlotName: "@item", Pos: "@Content",
                },
                {
                    type: "ScrollBar", Width: "@6", Pos: "@VScroll", Origin: "@V", Value: "stat.ContentY", StrokeStyle: "@#cccccc",
                    "@Change": "stat.SetContentY(e.Value).Notify($ContentY$, stat)",
                },
                {
                    type: "ScrollBar", Height: "@6", Pos: "@HScroll", Origin: "@H", Value: "stat.ContentX", StrokeStyle: "@#cccccc",
                    "@Change": "stat.SetContentX(e.Value).Notify($ContentX$, stat)",
                },
            ]
        },
    },
    TestTabset: {"template":{"type":"Stack","Background":"@#ccddff","children":[{"Slots":{},"children":[{"type":"Tab","children":[{"type":"Text"},{"type":"Text","Text":"@发的"},{"type":"Stack","children":[{"type":"Text","Text":"@发的"}]}]},{"type":"Tab","children":[{"type":"Text"},{"type":"Text","Text":"@不对"}]}],"type":"Tabset","Width":"@500"},{"type":"Text","Width":"@500"}]}},
    Tabset: {
        template: {
            type: "Dock",
                children: [
                    {
                        type: "Stack", Pos: "@Top",
                        "children": [{
                            "type": "Agent", "Template": "data",
                            "@Click": "stat.SetSelected(index).Notify($Index$)",
                            "for":    "stat.GetHeads(stat.Children)",
                        }],
                    },
                    {
                        type: "Agent", Pos:"@Center", Template: "stat.Get(stat.Index, stat.Children)",
                    },
                ]
            },
    },
    WorkFlow:{
        template:{
            type:"WorkFlowBase", Data:"stat.Data", Rootid:"stat.Rootid",
            children:[
                {
                    type:"Slot", SlotName:"@item"
                },
            ]
        },
    },
    Editor:{
        template:{
            Name:'@编辑界面', type:'Dock',Background:'@#eeeeee  ',
            children:[
                {
                    type:'Grid', Name:'@ToolBar', Column:"@*,*,*,1*,", Row:"@*", Pos:'@Top', FillStyle:"@#FFFFFF",
                    children:[
                        {
                            type:'Button', Text:'@打开', Left:"@5", Classes:"@Button",
                            "@Click": "stat.Open(e.draw).NotifyAll(stat, $EditPanel$, $EditDrags$, $Slots$)"
                        },
                        {
                            type:'Button', Text:'@保存', Left:"@5", Classes:"@Button",
                            '@Click':"stat.Save(e.draw).NotifyAll(stat, $EditPanel$, $Selected$, $Slots$)"
                        },
                        {
                            type:"Stack", Original:"@H", FillStyle:"@#333333",
                            children:[
                                {type:"Text", for:"stat.GetStates(stat.Slots)", Text:"data", Left:"@10", VAlign:"@Center"},
                            ]
                        },
                        {
                            type: 'Stack',HAlign:"@Right",
                            children: [
                                {type:'Button', Text:'@删除', Left:"@5", Classes:"@Button", '@Click':"stat.Delete(e.draw).Notify($EditPanel$, stat)"}
                            ]
                        },
                    ]
                },
                {
                    type:'EditPanel', ID:'@EditPanel', Name:'@界面编辑部分', Pos:'@Center',Row:'@1*', Column:"@1*",
                    Selected: "stat.Selected",
                    "@Change": "stat.SetSelected(e.Value).NotifyAll(stat, $Selected$, $EditPanel$)",
                    "@EditChange": "stat.Notify($EditPanel$, stat)",
                    "@DragOver":"stat.DragOver()",
                    "@Start":"stat.SetDragComp(e.Value, e.draw)",
                },
                {
                    type:'Grid', Column:"@1*", Row:"@1*,1*,*", Pos:'@Left', Width:"@150",
                    children:[
                        {
                            type:'Scroll',
                            Slots: {
                                item:{
                                    type:'Stack', Name:'@ComponentList', Original:"@V",
                                    children:[
                                        {
                                            type:'Text', for:tools, Text:'data.name', Tips:"data.Tips", Top:'@5',Height:"@35",
                                            "@DragStart":"stat.SetDragEditor(data,e.draw)",Left:"@5"
                                        }
                                    ]
                                }
                            }
                        },
                        {
                            type:"Scroll",
                            Slots:{
                                item:{
                                    type:'Tree', Name:'@组件树',Getter:"stat", Data:"stat.EditPanel", ID:'@Tree',
                                    Selected:"stat.Selected",
                                    "@Change":"stat.SetSelected(e.Value.Data).Notify($Selected$,stat)",
                                    Slots:{
                                        item:{
                                            type:'Stack',
                                            children:[
                                                {type:'Text', Text:'@《',
                                                    "@Drop":"stat.DropBefore(data.Data).Notify($EditPanel$, stat)",
                                                },
                                                {
                                                    type:'Text', Text:'${data.Data.GetComponent().Type}.{data.Data.GetComponent().Name}',
                                                    "@DragStart": 'stat.SetDragComp(data.Data, e.draw)',
                                                    "@DragOver":"stat.DragOver()",
                                                    "@Drop":"stat.Drop(data.Data).Notify($EditPanel$, stat)", Height:'@35',Font:'@17px 楷体'
                                                },
                                                {type:'Text', Text:'@》',
                                                    "@Drop":"stat.DropAfter(data.Data).Notify($EditPanel$, stat)",
                                                },
                                            ]
                                        }
                                    }
                                }
                            }
                        },
                        {
                            type:"Dock",
                            children: [
                                {type:"Text", Text: "@+", "@Click": "stat.ShowModal($modal$)", Pos:"@Top"},
                                {type:"Stack", Original:"@V", Pos:"@Center", children:[
                                        {
                                            type:"Stack", for: "stat.GetDragNames(stat.EditDrags)",
                                            children:[
                                                {type:"Text", Text:"data", "@Click":"stat.ToDrag(data).NotifyAll(stat, $EditPanel$, $Selected$)"},
                                                {type:"Text", Text:"@-", Left:"@5", "@Click":"stat.ShowDeleteModal(data)"}
                                            ]
                                        },
                                    ]
                                }
                            ]
                        }
                    ]
                },
                {
                    type:'Stack', Pos:'@Right', Width:'@200', Original:"@V", Background:'@#888888',
                    children:[
                        {type:"Text", Text:"@属性"},
                        {
                            type:"Scroll", Name:"@属性列表", Height:"@250",
                            Slots:{
                                item:{
                                    type:"List", Data:"stat.GetProperties(stat.Selected)", SelectMode:"@none",
                                    Slots:{
                                        item:{
                                            type:"Grid", Column:"@60,1*",Row:"@*",
                                            children:[
                                                {type:"Text", Name:"@属性名",Text:"stat.GetName(data)", Background:'@#ffddcc',VAlign:"@Center", Tips:"stat.GetName(data)"},
                                                {
                                                    type: "Select", Data: "data.value", if:"stat.GetInputType(data)==$select$",
                                                    Selected:"stat.GetField(stat.Selected, stat.GetName(data))",
                                                    "@Change":"stat.SetField(stat.GetName(data),e.Value),stat.Selected.Notify(stat.GetName(data),stat.Selected)",Height:"@35", Background:'@#cccccc'
                                                },
                                                {
                                                    type:"Input", Name:"@属性值", if:"stat.GetInputType(data)==$input$",
                                                    Value:"stat.GetField(stat.Selected, data)",
                                                    "@Change":"stat.SetField(data,e.Value),stat.Selected.Notify(data,stat.Selected)",Height:"@35", Background:'@#cccccc'
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        },
                        {type:"Text", Text:"@事件"},
                        {
                            type:"Scroll", Height:"@200",
                            Slots:{
                                item:{
                                    type:"List", Data:"stat.Events",
                                    Slots:{
                                        item:{
                                            type:"Grid", Column:"@60,1*",Row:"@1*", Height:"@35",Width:"@200",
                                            children:[
                                                {type:"Text", Text:"data", Width:"@100", Height:"@35", Tips:"data"},
                                                {type:"Input", Name:"@事件值", Value:"stat.GetEvent(stat.Selected,data)", Height:"@35", "@Change":"stat.SetEvent(data,e.Value)", Background:'@#cccccc'}
                                            ]
                                        }
                                    }
                                }
                            }
                        },
                        {type:"Text", Text:"@插槽"},
                        {
                            type:"Scroll", Height:"@80",
                            Slots:{
                                item:{
                                    type:"List", Name:"@插槽列表", Data:"stat.GetSlotNames(stat.Selected)",
                                    "@Change":"stat.ToSlot(e.Value,e.draw).NotifyAll(stat, $EditPanel$, $Selected$, $Slots$)",
                                    Slots:{
                                        item:{
                                            type:"Text", Text:"data", Width:"@100", Height:"@35"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                },
                {
                    type:"Grid", Pos:"@Bottom", Bottom:"@10"
                }
            ]
        },
        Drag: {
            start: {
                type: "Text", Text: "@拖拽", PaddingLeft: "@10", PaddingTop: "@10", PaddingRight: "@10", PaddingBottom: "@10"
            },
            drag: {
                type: "Text", Text: "@放至此处", PaddingLeft: "@10", PaddingTop: "@10", PaddingRight: "@10", PaddingBottom: "@10",
            },
            modal: {
                type: "Input",  "@Change": "stat.AddDrag(e.Value).Notify($EditDrags$, stat)",
            },
            deleteDrag:{
                type:"Text", Text:"@确定删除附加组件？"
            }
        },
        Fields:[ "Background", "Column", "Row", "Classes", "Clip", "ColSpan", "RowSpan", "Data", "Date", "FillStyle", "Font", "GlobalAlpha", "Height", "Width", "HAlign", "VAlign", "Left", "Top", "Right", "Bottom", "if", "PaddingLeft", "PaddingTop", "PaddingRight", "PaddingBottom", "Name", "Radius", "StrokeStyle", "Original","Path",
            {key: "Pos", value: ["@Top", "@Left", "@Center", "@Right", "@Bottom"]},
            "Selected", "ShadowBlur", "ShadowColor", "SingleWidth", "TierHeight", "TemplateName", "Text", "Tips", "Value","VerifyKey", "PlaceHolder", "ParentStat", "IsSelected"],
        Events:["Click","Change","DragStart","DragOver","Drop","MouseDown"]
    }
};
var DataTest=[
    {name:"张三", sex:"男", age:21, height:177, weight:150},
    {name:"李四", sex:"男", age:22, height:180, weight:160},
    {name:"王五", sex:"男", age:20, height:177, weight:140},
    {name:"赵六", sex:"女", age:23, height:177, weight:120},
    {name:"周七", sex:"男", age:22, height:177, weight:133},
    {name:"吴八", sex:"女", age:25, height:177, weight:122},
    {name:"郑九", sex:"女", age:26, height:177, weight:100},
];