Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -314,3 +314,73 @@ test('The grid layout should be correct after unfixing a column via the context
{ dataField: 'State' },
],
}));

// T1317623
test('Expand columns headers offsets should be correct with fixed band columns and fixed command columns (T1317623)', async (t) => {
const dataGrid = new DataGrid(DATA_GRID_SELECTOR);
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);

await t.expect(dataGrid.isReady()).ok();

await testScreenshot(t, takeScreenshot, 'T1317623-expand-columns-with-band-columns.png', { element: dataGrid.element });

await dataGrid.scrollTo(t, { x: 5000 });

await testScreenshot(t, takeScreenshot, 'T1317623-horizontal-scroll-with-fixed-band-columns.png', { element: dataGrid.element });

await t
.expect(compareResults.isValid())
.ok(compareResults.errorMessages());
}).before(async () => createWidget('dxDataGrid', {
dataSource: [
{
ID: 1,
CompanyName: 'Super Mart of the West',
Address: '702 SW 8th Street',
City: 'Bentonville',
State: 'Arkansas',
Zipcode: 72716,
Phone: '(800) 555-2797',
Fax: '(800) 555-2171',
},
{
ID: 2,
CompanyName: 'K&S Music',
Address: '1000 Nicllet Mall',
City: 'Minneapolis',
State: 'Minnesota',
Zipcode: 55403,
Phone: '(612) 304-6073',
Fax: '(612) 304-6074',
},
],
keyExpr: 'ID',
width: '100%',
showBorders: true,
columnWidth: 200,
columnFixing: { enabled: true },
selection: { mode: 'multiple' },
grouping: { autoExpandAll: true },
masterDetail: {
enabled: true,
},
columns: [
{
caption: 'Company Info',
fixed: true,
fixedPosition: 'left',
columns: [
{ dataField: 'CompanyName', groupIndex: 1, showWhenGrouped: true },
{ dataField: 'Phone' },
{ dataField: 'Fax' },
],
},
'City',
{
dataField: 'State',
groupIndex: 0,
},
'Address',
'Zipcode',
],
}));
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { isCommandKeyPressed } from '@js/common/core/events/utils';
import { isDefined } from '@js/core/utils/type';
import type { Column } from '@ts/grids/grid_core/columns_controller/m_columns_controller';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';
import type { FocusedCellPosition } from '@ts/grids/grid_core/keyboard_navigation/const';
import { KEY_CODES } from '@ts/grids/grid_core/keyboard_navigation/const';
import type { ColumnKeyboardNavigationController } from '@ts/grids/grid_core/keyboard_navigation/m_column_keyboard_navigation_core';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
} from '@js/common/core/events/utils/index';
import $ from '@js/core/renderer';
import { hiddenFocus } from '@js/ui/shared/accessibility';
import type { Column } from '@ts/grids/grid_core/columns_controller/m_columns_controller';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';
import { Direction } from '@ts/grids/grid_core/keyboard_navigation/const';
import { ColumnKeyboardNavigationController } from '@ts/grids/grid_core/keyboard_navigation/m_column_keyboard_navigation_core';
import type { Views } from '@ts/grids/grid_core/m_types';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { isCommandKeyPressed } from '@js/common/core/events/utils';
import $ from '@js/core/renderer';
import { isDefined } from '@js/core/utils/type';
import type { Column } from '@ts/grids/grid_core/columns_controller/m_columns_controller';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';
import { KEY_CODES } from '@ts/grids/grid_core/keyboard_navigation/const';
import type { HeadersKeyboardNavigationController } from '@ts/grids/grid_core/keyboard_navigation/m_headers_keyboard_navigation';
import { headersKeyboardNavigationModule } from '@ts/grids/grid_core/keyboard_navigation/m_headers_keyboard_navigation';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { isDefined } from '@js/core/utils/type';
import type { Column } from '@ts/grids/grid_core/columns_controller/m_columns_controller';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

export function getSummaryCellIndex(
column: Column,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ import { getWidth } from '@js/core/utils/size';
import { isDefined, isString } from '@js/core/utils/type';
import Form from '@js/ui/form';
import { isMaterial } from '@js/ui/themes';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';
import type { ResizingController } from '@ts/grids/grid_core/views/m_grid_view';

import type { ExportController } from '../../data_grid/export/m_export';
import { AI_COLUMN_NAME } from '../ai_column/const';
import type { Column, ColumnsController } from '../columns_controller/m_columns_controller';
import type { ColumnsController } from '../columns_controller/m_columns_controller';
import type { ColumnsResizerViewController, DraggingHeaderViewController } from '../columns_resizing_reordering/m_columns_resizing_reordering';
import type { DataController } from '../data_controller/m_data_controller';
import type { EditingController } from '../editing/m_editing';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { isDefined } from '@js/core/utils/type';

import type { Column } from '../columns_controller/m_columns_controller';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

const HIDEABLE_COMMAND_COLUMNS = ['ai'];

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import type { DataChange } from '@js/common/grids';
import type { Callback } from '@js/core/utils/callbacks';
import { isDefined } from '@ts/core/utils/m_type';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

import type { Column, ColumnsController } from '../../columns_controller/m_columns_controller';
import type { ColumnsController } from '../../columns_controller/m_columns_controller';
import type { DataController, HandleDataChangedArguments, UserData } from '../../data_controller/m_data_controller';
import { Controller } from '../../m_modules';
import gridCoreUtils from '../../m_utils';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { Column } from '../../columns_controller/m_columns_controller';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

import { ViewController } from '../../m_modules';
import type { AIPromptEditorView } from '../views/m_ai_prompt_editor_view';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import {
describe, expect, it,
} from '@jest/globals';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

import type { Column } from '../columns_controller/m_columns_controller';
import type { Item } from '../data_controller/m_data_controller';
import {
getDataFromRowItems,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { isDefined } from '@ts/core/utils/m_type';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

import type { Column } from '../columns_controller/m_columns_controller';
import type { Item, UserData } from '../data_controller/m_data_controller';
import { AI_COLUMN_NAME, CLASSES } from './const';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import type { dxElementWrapper } from '@js/core/renderer';
import $ from '@js/core/renderer';
import type { Item, ItemClickEvent, Properties as DropDownProperties } from '@js/ui/drop_down_button';
import DropDownButton from '@js/ui/drop_down_button';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

import type { ColumnHeadersView } from '../../column_headers/m_column_headers';
import type { Column } from '../../columns_controller/m_columns_controller';
import type { ColumnsResizerViewController } from '../../columns_resizing_reordering/m_columns_resizing_reordering';
import type { ModuleType } from '../../m_types';
import { AI_COLUMN_NAME, CLASSES, ICON_NAMES } from '../const';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ import $ from '@js/core/renderer';
import Callbacks from '@js/core/utils/callbacks';
import wrapInstanceWithMocks from '@ts/grids/grid_core/__tests__/__mock__/helpers/wrapInstance';
import { AIPromptEditorModel } from '@ts/grids/grid_core/__tests__/__mock__/model/ai_prompt_editor';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

import { AIPromptEditor } from '../../ai_prompt_editor/ai_prompt_editor';
import type { Column } from '../../columns_controller/m_columns_controller';
import { AIPromptEditorView } from './m_ai_prompt_editor_view';

jest.mock('../../ai_prompt_editor/ai_prompt_editor', (): any => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import $ from '@js/core/renderer';
import domAdapter from '@ts/core/m_dom_adapter';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';

import { AIPromptEditor } from '../../ai_prompt_editor/ai_prompt_editor';
import type { AIPromptEditorOptions } from '../../ai_prompt_editor/types';
import type { Column, ColumnsController } from '../../columns_controller/m_columns_controller';
import type { ColumnsController } from '../../columns_controller/m_columns_controller';
import { getColumnHeaderCellSelector } from '../../columns_controller/m_columns_controller_utils';
import { View } from '../../m_modules';
import { AI_COLUMN_NAME } from '../const';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import { Deferred } from '@js/core/utils/deferred';
import { extend } from '@js/core/utils/extend';
import { getHeight } from '@js/core/utils/size';
import { isDefined } from '@js/core/utils/type';
import type { Column } from '@ts/grids/grid_core/columns_controller/types';
import { ColumnContextMenuMixin } from '@ts/grids/grid_core/context_menu/m_column_context_menu_mixin';
import type { HeaderFilterController } from '@ts/grids/grid_core/header_filter/m_header_filter';
import type { HeaderPanel } from '@ts/grids/grid_core/header_panel/m_header_panel';

import type { Column } from '../columns_controller/m_columns_controller';
import { CLASSES as REORDERING_CLASSES } from '../columns_resizing_reordering/const';
import type { HeadersKeyboardNavigationController } from '../keyboard_navigation/m_headers_keyboard_navigation';
import { registerKeyboardAction } from '../m_accessibility';
Expand Down
Loading
Loading