Skip to content

Commit

Permalink
#7150 fix frozen index, fix time formatter tests (#7154)
Browse files Browse the repository at this point in the history
  • Loading branch information
Mariusz Jurowicz authored and scottdraves committed Apr 11, 2018
1 parent 0dff5e0 commit 1002654
Show file tree
Hide file tree
Showing 10 changed files with 266 additions and 202 deletions.
5 changes: 3 additions & 2 deletions js/notebook/src/tableDisplay/dataGrid/DataFormatter.ts
Expand Up @@ -32,6 +32,7 @@ import {
selectTimeZone
} from "./model/selectors";
import {BeakerxDataStore} from "./store/dataStore";
import formatTimestamp = DataGridHelpers.formatTimestamp;

const bkUtils = require('../../shared/bkUtils');

Expand Down Expand Up @@ -228,12 +229,12 @@ export class DataFormatter {
: TIME_UNIT_FORMATS.DATETIME.format;

if (_.isObject(config.value) && config.value.type === 'Date') {
return bkUtils.formatTimestamp(config.value.timestamp, this.timeZone, format);
return formatTimestamp(config.value.timestamp, this.timeZone, format);
}

let milli = config.value * 1000;

return bkUtils.formatTimestamp(milli, this.timeZone, format);
return formatTimestamp(milli, this.timeZone, format);
}

private getTimeFormatForColumn(columnState?: IColumnState) {
Expand Down
13 changes: 4 additions & 9 deletions js/notebook/src/tableDisplay/dataGrid/column/ColumnManager.ts
Expand Up @@ -23,22 +23,17 @@ import {ICellData} from "../interface/ICell";
import {IColumnPosition, IColumns} from "../interface/IColumn";
import {BeakerxDataStore} from "../store/dataStore";
import {
selectColumnNames, selectHasIndex, selectBodyColumnNames
selectColumnNames, selectHasIndex, selectBodyColumnNames, selectIndexColumnNames
} from "../model/selectors";
import {default as DataGridAction, DataGridColumnsAction} from "../store/DataGridAction";
import {
selectColumnIndexByPosition,
selectIndexColumnNames
} from "./selectors";
import {
UPDATE_COLUMNS_FILTERS, UPDATE_COLUMNS_VISIBILITY
} from "./reducer";
import {selectColumnIndexByPosition} from "./selectors";
import {UPDATE_COLUMNS_FILTERS} from "./reducer";
import {COLUMN_TYPES, SORT_ORDER} from "./enums";
import CellRegion = DataModel.CellRegion;
import ICellConfig = CellRenderer.ICellConfig;
import {DataGridHelpers} from "../dataGridHelpers";
import sortColumnsByPositionCallback = DataGridHelpers.sortColumnsByPositionCallback;
import {RESET_COLUMNS_ORDER, UPDATE_COLUMN_VISIBLE, UPDATE_COLUMNS_VISIBLE} from "../model/reducer";
import {RESET_COLUMNS_ORDER, UPDATE_COLUMNS_VISIBLE} from "../model/reducer";

export interface IBkoColumnsChangedArgs {
type: COLUMN_CHANGED_TYPES,
Expand Down
5 changes: 0 additions & 5 deletions js/notebook/src/tableDisplay/dataGrid/column/selectors.ts
Expand Up @@ -56,11 +56,6 @@ export const selectBodyColumnStates = createSelector(
.sort((state1, state2) => state1.index - state2.index)
));

export const selectIndexColumnNames = createSelector(
[selectColumnNames, selectHasIndex],
(columnNames, hasIndex) => hasIndex && columnNames[0] !== null ? [columnNames[0]] : [DEFAULT_INDEX_COLUMN_NAME]
);

export const selectVisibleBodyColumns = createSelector(
[selectBodyColumnStates, selectColumnsVisible, selectColumnOrder],
(bodyColumnStates, columnsVisible, columnOrder) => (bodyColumnStates.filter(
Expand Down
21 changes: 21 additions & 0 deletions js/notebook/src/tableDisplay/dataGrid/dataGridHelpers.ts
Expand Up @@ -18,6 +18,7 @@ import {SectionList} from "@phosphor/datagrid/lib/sectionlist";
import {DEFAULT_DATA_FONT_SIZE} from "./style/dataGridStyle";
import {KEYBOARD_KEYS} from "./event/enums";
import DataGridColumn from "./column/DataGridColumn";
import * as moment from 'moment-timezone/builds/moment-timezone-with-data';

export namespace DataGridHelpers {
const urlRegex = /((https?|ftp|file):\/\/)(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])/i;
Expand Down Expand Up @@ -177,4 +178,24 @@ export namespace DataGridHelpers {

return positionA.region === 'row-header' ? -1 : 1;
}

export function applyTimezone(timestamp, tz) {
const time = moment(timestamp);

if (!tz) {
return time;
}

if (tz.startsWith("GMT")) {
time.utcOffset(tz);
} else {
time.tz(tz);
}

return time;
}

export function formatTimestamp(timestamp, tz, format) {
return applyTimezone(timestamp, tz).format(format);
}
}
179 changes: 0 additions & 179 deletions js/notebook/src/tableDisplay/dataGrid/model/selectors.ts

This file was deleted.

0 comments on commit 1002654

Please sign in to comment.