226 lines
No EOL
24 KiB
HTML
226 lines
No EOL
24 KiB
HTML
<html><head><title>AbstractDataModel.js</title><link rel="stylesheet" type="text/css" href="../style.css" media="screen"/></head><body><div class="hl-main"><pre><span class="hl-comment">/**
|
|
* @class YAHOO.ext.grid.AbstractDataModel
|
|
* @extends YAHOO.ext.util.Observable
|
|
* This abstract class provides default implementations of the events required by the Grid.
|
|
It takes care of the creating the CustomEvents and provides some convenient methods for firing the events. <br><br>
|
|
* @constructor
|
|
*/
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">grid</span><span class="hl-default">.</span><span class="hl-identifier">AbstractDataModel</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
|
|
</span><span class="hl-comment">/** Fires when a cell is updated - fireDirect sig: (this, rowIndex, columnIndex)
|
|
* @private
|
|
* @type YAHOO.util.CustomEvent
|
|
* @deprecated Use addListener instead of accessing directly
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onCellUpdated</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">onCellUpdated</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-comment">/** Fires when all data needs to be revalidated - fireDirect sig: (thisd)
|
|
* @private
|
|
* @type YAHOO.util.CustomEvent
|
|
* @deprecated Use addListener instead of accessing directly
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onTableDataChanged</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">onTableDataChanged</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-comment">/** Fires when rows are deleted - fireDirect sig: (this, firstRowIndex, lastRowIndex)
|
|
* @private
|
|
* @type YAHOO.util.CustomEvent
|
|
* @deprecated Use addListener instead of accessing directly
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsDeleted</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">onRowsDeleted</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-comment">/** Fires when a rows are inserted - fireDirect sig: (this, firstRowIndex, lastRowIndex)
|
|
* @private
|
|
* @type YAHOO.util.CustomEvent
|
|
* @deprecated Use addListener instead of accessing directly
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsInserted</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">onRowsInserted</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-comment">/** Fires when a rows are updated - fireDirect sig: (this, firstRowIndex, lastRowIndex)
|
|
* @private
|
|
* @type YAHOO.util.CustomEvent
|
|
* @deprecated Use addListener instead of accessing directly
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsUpdated</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">onRowsUpdated</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-comment">/** Fires when a sort has reordered the rows - fireDirect sig: (this, sortColumnIndex,
|
|
* @private
|
|
* sortDirection = 'ASC' or 'DESC')
|
|
* @type YAHOO.util.CustomEvent
|
|
* @deprecated Use addListener instead of accessing directly
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsSorted</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">onRowsSorted</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">events</span><span class="hl-code"> = </span><span class="hl-brackets">{
|
|
</span><span class="hl-comment">/**
|
|
* @event cellupdated
|
|
* Fires when a cell is updated
|
|
* @param {DataModel} this
|
|
* @param {Number} rowIndex
|
|
* @param {Number} columnIndex
|
|
*/
|
|
</span><span class="hl-quotes">'</span><span class="hl-string">cellupdated</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onCellUpdated</span><span class="hl-code">,
|
|
</span><span class="hl-comment">/**
|
|
* @event datachanged
|
|
* Fires when the entire data structure has changed
|
|
* @param {DataModel} this
|
|
*/
|
|
</span><span class="hl-quotes">'</span><span class="hl-string">datachanged</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onTableDataChanged</span><span class="hl-code">,
|
|
</span><span class="hl-comment">/**
|
|
* @event rowsdeleted
|
|
* Fires when a range of rows have been deleted
|
|
* @param {DataModel} this
|
|
* @param {Number} firstRowIndex
|
|
* @param {Number} lastRowIndex
|
|
*/
|
|
</span><span class="hl-quotes">'</span><span class="hl-string">rowsdeleted</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsDeleted</span><span class="hl-code">,
|
|
</span><span class="hl-comment">/**
|
|
* @event rowsinserted
|
|
* Fires when a range of rows have been inserted
|
|
* @param {DataModel} this
|
|
* @param {Number} firstRowIndex
|
|
* @param {Number} lastRowIndex
|
|
*/
|
|
</span><span class="hl-quotes">'</span><span class="hl-string">rowsinserted</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsInserted</span><span class="hl-code">,
|
|
</span><span class="hl-comment">/**
|
|
* @event rowsupdated
|
|
* Fires when a range of rows have been updated
|
|
* @param {DataModel} this
|
|
* @param {Number} firstRowIndex
|
|
* @param {Number} lastRowIndex
|
|
*/
|
|
</span><span class="hl-quotes">'</span><span class="hl-string">rowsupdated</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsUpdated</span><span class="hl-code">,
|
|
</span><span class="hl-comment">/**
|
|
* @event rowssorted
|
|
* Fires when the data has been sorted
|
|
* @param {DataModel} this
|
|
*/
|
|
</span><span class="hl-quotes">'</span><span class="hl-string">rowssorted</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsSorted
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">grid</span><span class="hl-default">.</span><span class="hl-identifier">AbstractDataModel</span><span class="hl-default">.</span><span class="hl-identifier">prototype</span><span class="hl-default"> = </span><span class="hl-brackets">{
|
|
|
|
</span><span class="hl-identifier">fireEvent</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">on</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">addListener</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">addListener</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">delayedListener</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">delayedListener</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">removeListener</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">removeListener</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">purgeListeners</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">purgeListeners</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Notifies listeners that the value of the cell at [row, col] has been updated
|
|
* @deprecated
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">fireCellUpdated</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">col</span><span class="hl-brackets">){
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onCellUpdated</span><span class="hl-code">.</span><span class="hl-identifier">fireDirect</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">col</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Notifies listeners that all data for the grid may have changed - use as a last resort. This
|
|
* also wipes out all selections a user might have made.
|
|
* @deprecated
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">fireTableDataChanged</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onTableDataChanged</span><span class="hl-code">.</span><span class="hl-identifier">fireDirect</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Notifies listeners that rows in the range [firstRow, lastRow], inclusive, have been deleted
|
|
* @deprecated
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">fireRowsDeleted</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">){
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsDeleted</span><span class="hl-code">.</span><span class="hl-identifier">fireDirect</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Notifies listeners that rows in the range [firstRow, lastRow], inclusive, have been inserted
|
|
* @deprecated
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">fireRowsInserted</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">){
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsInserted</span><span class="hl-code">.</span><span class="hl-identifier">fireDirect</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Notifies listeners that rows in the range [firstRow, lastRow], inclusive, have been updated
|
|
* @deprecated
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">fireRowsUpdated</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">){
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsUpdated</span><span class="hl-code">.</span><span class="hl-identifier">fireDirect</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Notifies listeners that rows have been sorted and any indexes may be invalid
|
|
* @deprecated
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">fireRowsSorted</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">sortColumnIndex</span><span class="hl-code">, </span><span class="hl-identifier">sortDir</span><span class="hl-code">, </span><span class="hl-identifier">noRefresh</span><span class="hl-brackets">){
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onRowsSorted</span><span class="hl-code">.</span><span class="hl-identifier">fireDirect</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">sortColumnIndex</span><span class="hl-code">, </span><span class="hl-identifier">sortDir</span><span class="hl-code">, </span><span class="hl-identifier">noRefresh</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Empty interface method - Classes which extend AbstractDataModel should implement this method.
|
|
* See {@link YAHOO.ext.DefaultDataModel#sort} for an example implementation.
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">sort</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">sortInfo</span><span class="hl-code">, </span><span class="hl-identifier">columnIndex</span><span class="hl-code">, </span><span class="hl-identifier">direction</span><span class="hl-code">, </span><span class="hl-identifier">suppressEvent</span><span class="hl-brackets">){
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Interface method to supply info regarding the Grid's current sort state - if overridden,
|
|
* this should return an object like this {column: this.sortColumn, direction: this.sortDir}.
|
|
* @return {Object}
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">getSortState</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
|
|
</span><span class="hl-reserved">return </span><span class="hl-brackets">{</span><span class="hl-identifier">column</span><span class="hl-code">: </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">sortColumn</span><span class="hl-code">, </span><span class="hl-identifier">direction</span><span class="hl-code">: </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">sortDir</span><span class="hl-brackets">}</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Empty interface method - Classes which extend AbstractDataModel should implement this method.
|
|
* See {@link YAHOO.ext.DefaultDataModel} for an example implementation.
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">getRowCount</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Empty interface method - Classes which extend AbstractDataModel should implement this method to support virtual row counts.
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">getTotalRowCount</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
|
|
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getRowCount</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Empty interface method - Classes which extend AbstractDataModel should implement this method.
|
|
* See {@link YAHOO.ext.DefaultDataModel} for an example implementation.
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">getRowId</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">rowIndex</span><span class="hl-brackets">){
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Empty interface method - Classes which extend AbstractDataModel should implement this method.
|
|
* See {@link YAHOO.ext.DefaultDataModel} for an example implementation.
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">getValueAt</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-brackets">){
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Empty interface method - Classes which extend AbstractDataModel should implement this method.
|
|
* See {@link YAHOO.ext.DefaultDataModel} for an example implementation.
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">setValueAt</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-brackets">){
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-identifier">isPaged</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
}</span><span class="hl-default">;</span></pre></div><hr>Copyright © 2006 Jack Slocum. All rights reserved.</body></html> |