Source: data/JsonSchema.js

/*
 * redmicro all Copyright (c)
 *
 * Created by seeker910 on 14-3-17.
 * JsonSchema对象
 */
Rsd.define('Rsd.data.JsonSchema', {
    extend:'Rsd.common.Object',
    xtype:'json-schema',
    allFields:
    [
        {
            name:"$id",
            text:'键值',
        }, 
        {
            name:"type",
            text:"数据类型"
        }, 
        {name:"$ref",text:"引用"},
        //$defs
        {name:"dependencies",text:"依赖"},
        //数据类型
        {name:"title",text:'数据源名称'},
        {name:"default",text:"默认值"},
        {name:"description",text:"数据描述"},
        {name:"examples",text:"示例数据"},
       
        //"readOnly" 
        //"writeOnly"
     
        //string
        {name:"minLength",text:"最小长度",for:"string"},
        {name:"maxLength",text:"最大长度",for:"string"},
        {name:"pattern",text:"正则表达式",for:"string"},
        {name:"format",text:"格式化表达式",for:"string"}, 
        {name:"enum",text:"枚举",for:"string"}, 

        //number
        {name:"multipleOf",text:"是该值的倍数",for:"number"},
        {name:"maximum",text:"最大值",for:"number"},
        {name:"exclusiveMaximum",text:"不包含最大值",for:"number"},
        {name:"minimum",text:"最小值",for:"number"},
        {name:"exclusiveMinimum",text:"不包含最小值",for:"number"},
       
         //对象类型 约束
        //{name:"properties",text:"属性",for:"object"},
        //patternProperties 属性名通过正则表达式匹配
        {name:"additionalProperties",text:"其他属性Schema",for:"object"},
        {name:"minProperties",text:"最少属性成员",for:"object"},
        {name:"maxProperties",text:"最多属性成员",for:"object"},
        {name:"required",text:"必填属性",for:"object"}, 

        //数组类型 约束
        //{name:"items",text:"数组元素Schema",for:"array"},
        {name:"additionalItems",text:"其他数组元素Schema",for:"array"},
        {name:"minItems",text:"数组最小长度",for:"array"},
        {name:"maxItems",text:"数组最大长度",for:"array"},
        {name:"uniqueItems",text:"数组中元素唯一",for:"array"},

        //通用约束
        {name:"allOf",text:"必须满所有子Schema"},
        {name:"anyOf",text:"满足其中一个或多个子Schema"},
        {name:"oneOf",text:"满足其中一个子Schema"},
        {name:"not",text:"不允许满足的子Schema"}
    ],
    data:null,
    /**
     * 
     */
    constructor: function JsonSchema (config) {
        config = config || {};
        this.apply(config);
    }
});