// ========================================================================== // Project: SproutCore
- JavaScript Application Framework // Copyright: ©2006-2011 Strobe Inc. and contributors. // Portions ©2008-2011 Apple Inc. All rights reserved. // License: Licensed under MIT license (see license.js) // ==========================================================================
sc_require('system/drag');
/** @namespace
The `SC.DragDataSourceProtocol` protocol defines the properties and methods that you may implement in your drag source objects in order to access additional functionality of SproutCore's drag support. This protocol implements a dynamic data source for a drag operation. You should use it to return a set of allowed data types and then the method will be used to actually get data in that format when requested. *Note: Do not mix `SC.DragDataSourceProtocol` into your classes. As a protocol, it exists only for reference sake. You only need define any of the properties or methods listed below in order to use this protocol.*
*/ SC
.DragDataSourceProtocol = {
/** Implement this property as an array of data types you want to support for drag operations. @type Array @default [] */ dragDataTypes: [], /** Implement this method to return the data in the format passed. Return null if the requested data type cannot be generated. @param {SC.Drag} drag The Drag instance managing this drag. @param {Object} dataType The proposed dataType to return. This will always be one of the data types declared in dragDataTypes. @returns The data object for the specified type */ dragDataForType: function(drag, dataType) { return null; }
};