src/cm/media/js/lib/yui/yui3-3.15.0/build/datatable-datasource/datatable-datasource-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 602 e16a97fb364a
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('datatable-datasource', 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
 * Plugs DataTable with DataSource integration.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 * @module datatable
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 * @submodule datatable-datasource
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
 */
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
 * Adds DataSource integration to DataTable.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
 * @class Plugin.DataTableDataSource
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
 * @extends Plugin.Base
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
function DataTableDataSource() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
    DataTableDataSource.superclass.constructor.apply(this, arguments);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
}
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
//
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
// STATIC PROPERTIES
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
//
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
/////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
Y.mix(DataTableDataSource, {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
     * The namespace for the plugin. This will be the property on the host which
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
     * references the plugin instance.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
     * @property NS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
     * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
     * @final
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
     * @value "datasource"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
    NS: "datasource",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
     * Class name.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
     * @property NAME
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
     * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
     * @final
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
     * @value "dataTableDataSource"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
    NAME: "dataTableDataSource",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
/////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
//
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
// ATTRIBUTES
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
//
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
/////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
    ATTRS: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
        * @attribute datasource
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
        * @description Pointer to DataSource instance.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
        * @type {DataSource}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
        */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
        datasource: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
            setter: "_setDataSource"
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
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
        * @attribute initialRequest
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
        * @description Request sent to DataSource immediately upon initialization.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
        * @type Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
        */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
        initialRequest: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
            setter: "_setInitialRequest"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
/////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
//
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
// PROTOTYPE
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
//
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
/////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
Y.extend(DataTableDataSource, Y.Plugin.Base, {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
    /////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
    // ATTRIBUTE HELPERS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
    /////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
    * @method _setDataSource
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
    * @description Creates new DataSource instance if one is not provided.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
    * @param ds {Object|DataSource}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
    * @return {DataSource}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
    * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
    _setDataSource: function(ds) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
        return ds || new Y.DataSource.Local(ds);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
    * @method _setInitialRequest
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
    * @description Sends request to DataSource.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
    * @param request {Object} DataSource request.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
    * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
    _setInitialRequest: function(/* request */) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
    /////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
    // METHODS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
    /////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
    * Initializer.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
    *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
    * @method initializer
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
    * @param config {Object} Config object.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
    * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
    initializer: function(config) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
        if(!Y.Lang.isUndefined(config.initialRequest)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
            this.load({request:config.initialRequest});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
    ////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   125
    // DATA
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   126
    //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   127
    ////////////////////////////////////////////////////////////////////////////
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
     * Load data by calling DataSource's sendRequest() method under the hood.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
     * @method load
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
     * @param config {object} Optional configuration parameters:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
     * <dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
     * <dt>request</dt><dd>Pass in a new request, or initialRequest is used.</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
     * <dt>callback</dt><dd>Pass in DataSource callback object, or the following default is used:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
     *    <dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
     *      <dt>success</dt><dd>datatable.onDataReturnInitializeTable</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
     *      <dt>failure</dt><dd>datatable.onDataReturnInitializeTable</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
     *      <dt>scope</dt><dd>datatable</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
     *      <dt>argument</dt><dd>datatable.getState()</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
     *    </dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
     * </dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
     * <dt>datasource</dt><dd>Pass in a new DataSource instance to override the current DataSource for this transaction.</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
     * </dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
    load: function(config) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
        config = config || {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
        config.request = config.request || this.get("initialRequest");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
        config.callback = config.callback || {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
            success: Y.bind(this.onDataReturnInitializeTable, this),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
            failure: Y.bind(this.onDataReturnInitializeTable, this),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
            argument: this.get("host").get("state") //TODO
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
        };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
        var ds = (config.datasource || this.get("datasource"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
        if(ds) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
            ds.sendRequest(config);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
     * Callback function passed to DataSource's sendRequest() method populates
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
     * an entire DataTable with new data, clearing previous data, if any.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
     * @method onDataReturnInitializeTable
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
     * @param e {EventFacade} DataSource Event Facade object.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
    onDataReturnInitializeTable : function(e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
        var records = (e.response && e.response.results) || [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   173
        this.get("host").set("data", records);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   174
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   175
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
Y.namespace("Plugin").DataTableDataSource = DataTableDataSource;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
}, '@VERSION@', {"requires": ["datatable-base", "plugin", "datasource-local"]});