123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- define( function() {
- "use strict";
- var DataStoreUtils = {};
- DataStoreUtils.extractData = function( oDataStore )
- {
- var aColumns = [];
- var iColumnCount = oDataStore.columnCount;
- for ( var iCol = 0; iCol < iColumnCount; iCol++ )
- {
- aColumns[iCol] =
- {
- name : oDataStore.columnNames[iCol],
- dataType : oDataStore.dataTypes[iCol],
- values : oDataStore.columnFormattedValues[iCol] || oDataStore.columnValues[iCol],
- };
- }
- var aRows = [];
- var iRowCount = oDataStore.rowCount;
- for ( var iRow = 0; iRow < iRowCount; iRow++ )
- {
- var aRow = [];
- for ( var iCol = 0; iCol < iColumnCount; iCol++ )
- {
- aRow.push( oDataStore.getCell( iRow, iCol ).valueIndex );
- }
- aRows.push( aRow );
- }
- return {
- columns : aColumns,
- rows : aRows
- };
- };
- DataStoreUtils.filterByColumnValueIndex = function( oJson, iColumnIndex, iValueIndex )
- {
- var aRows = [];
- for ( var iRow = 0; iRow < oJson.rows.length; iRow++ )
- {
- var aRow = oJson.rows[iRow];
- if ( aRow[iColumnIndex] == iValueIndex )
- {
- aRows.push( aRow );
- break;
- }
- }
- return {
- columns : oJson.columns,
- rows : aRows
- };
- };
- DataStoreUtils.filterByColumnValueIndexes = function( oJson, iColumnIndex, oValueIndexes )
- {
- return {
- columns : oJson.columns,
- rows : oJson.rows.filter( function( aRow ) { return oValueIndexes.has( aRow[iColumnIndex] ) } )
- };
- };
- DataStoreUtils.filterToUniqueRows = function( oJson, iColumnIndex )
- {
- var oValueIndexes = new Set();
- return {
- columns : oJson.columns,
- rows : oJson.rows.filter( function( aRow ) {
- if ( oValueIndexes.has( aRow[iColumnIndex] ) )
- {
- return false;
- }
- oValueIndexes.add( aRow[iColumnIndex] );
- return true;
- } )
- };
- };
- return DataStoreUtils;
- });
|