src/cm/media/js/lib/yui/yui3-3.15.0/build/dataschema-base/dataschema-base-debug.js
author ymh <ymh.work@gmail.com>
Fri, 14 Mar 2014 13:16:10 +0100
changeset 611 fa66f4bb1563
parent 602 e16a97fb364a
permissions -rw-r--r--
add some more custom config and put every thing in comment in the custom.yaml template
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('dataschema-base', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
 * The DataSchema utility provides a common configurable interface for widgets to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 * apply a given schema to a variety of data.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 * @module dataschema
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
 * @main dataschema
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
 * Provides the base DataSchema implementation, which can be extended to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
 * create DataSchemas for specific data formats, such XML, JSON, text and
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
 * arrays.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
 * @module dataschema
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
 * @submodule dataschema-base
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
var LANG = Y.Lang,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
 * Base class for the YUI DataSchema Utility.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
 * @class DataSchema.Base
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
 * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
    SchemaBase = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
     * Overridable method returns data as-is.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
     * @method apply
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
     * @param schema {Object} Schema to apply.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
     * @param data {Object} Data.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
     * @return {Object} Schema-parsed data.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
    apply: function(schema, data) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
        return data;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
     * Applies field parser, if defined
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
     * @method parse
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
     * @param value {Object} Original value.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
     * @param field {Object} Field.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
     * @return {Object} Type-converted value.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
    parse: function(value, field) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
        if(field.parser) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
            var parser = (LANG.isFunction(field.parser)) ?
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
            field.parser : Y.Parsers[field.parser+''];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
            if(parser) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
                value = parser.call(this, value);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
            else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
                Y.log("Could not find parser for field " + Y.dump(field), "warn", "dataschema-json");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
        return value;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
Y.namespace("DataSchema").Base = SchemaBase;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
Y.namespace("Parsers");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
}, '@VERSION@', {"requires": ["base"]});