@platforma-sdk/ui-vue 1.20.24 → 1.20.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/ui-vue",
3
- "version": "1.20.24",
3
+ "version": "1.20.28",
4
4
  "type": "module",
5
5
  "main": "dist/lib.umd.cjs",
6
6
  "module": "dist/lib.js",
@@ -21,10 +21,10 @@
21
21
  "lru-cache": "^11.0.2",
22
22
  "vue": "^3.5.13",
23
23
  "canonicalize": "^2.0.0",
24
- "ag-grid-enterprise": "^33.0.2",
25
- "ag-grid-vue3": "^33.0.2",
26
- "@milaboratories/uikit": "^2.2.38",
27
- "@platforma-sdk/model": "^1.20.24"
24
+ "ag-grid-enterprise": "^33.0.3",
25
+ "ag-grid-vue3": "^33.0.3",
26
+ "@milaboratories/uikit": "^2.2.39",
27
+ "@platforma-sdk/model": "^1.20.27"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@faker-js/faker": "^9.2.0",
@@ -44,8 +44,8 @@
44
44
  "yarpm": "^1.2.0",
45
45
  "semver": "^7.6.3",
46
46
  "@types/semver": "^7.5.8",
47
- "@milaboratories/eslint-config": "^1.0.0",
48
- "@milaboratories/helpers": "^1.6.11"
47
+ "@milaboratories/helpers": "^1.6.11",
48
+ "@milaboratories/eslint-config": "^1.0.1"
49
49
  },
50
50
  "scripts": {
51
51
  "test": "vitest run --passWithNoTests",
@@ -15,6 +15,7 @@ import {
15
15
  ClipboardModule,
16
16
  CellSelectionModule,
17
17
  ServerSideRowModelModule,
18
+ isColumnSelectionCol,
18
19
  } from 'ag-grid-enterprise';
19
20
  import { AgGridVue } from 'ag-grid-vue3';
20
21
  import { PlDropdownLine } from '@milaboratories/uikit';
@@ -201,13 +202,14 @@ const firstDataRenderedTracker = makeOnceTracker<GridApi<PlAgDataTableRow>>();
201
202
  const gridOptions = shallowRef<GridOptions<PlAgDataTableRow>>({
202
203
  animateRows: false,
203
204
  suppressColumnMoveAnimation: true,
204
- cellSelection: true,
205
+ cellSelection: selectedRows.value === undefined,
205
206
  initialState: gridState.value,
206
207
  autoSizeStrategy: { type: 'fitCellContents' },
207
- rowSelection: selectedRows.value
208
+ rowSelection: selectedRows.value !== undefined
208
209
  ? {
209
- mode: 'multiRow',
210
- }
210
+ mode: 'multiRow',
211
+ enableClickSelection: true
212
+ }
211
213
  : undefined,
212
214
  selectionColumnDef: {
213
215
  mainMenuItems: [],
@@ -240,6 +242,7 @@ const gridOptions = shallowRef<GridOptions<PlAgDataTableRow>>({
240
242
  },
241
243
  defaultColDef: {
242
244
  suppressHeaderMenuButton: true,
245
+ sortingOrder: ["desc", "asc", null],
243
246
  },
244
247
  maintainColumnOrder: true,
245
248
  localeText: {
@@ -339,6 +342,7 @@ watch(
339
342
  .map((def) => def.colId)
340
343
  .filter((colId) => colId !== undefined)
341
344
  .filter((colId) => colId !== PlAgDataTableRowNumberColId)
345
+ .filter((colId) => !isColumnSelectionCol(colId))
342
346
  .map((colId) => parseColId(colId)) ?? [];
343
347
  emit('columnsChanged', columns);
344
348
  }
@@ -449,25 +453,15 @@ watch(
449
453
  <div class="ap-ag-data-table-container">
450
454
  <PlAgGridColumnManager v-if="gridApi && showColumnsPanel" :api="gridApi" />
451
455
  <PlAgCsvExporter v-if="gridApi && showExportButton" :api="gridApi" />
452
- <div v-if="settings?.sourceType === 'ptable' && !!settings.sheets && settings.sheets.length > 0" class="ap-ag-data-table-sheets">
453
- <PlDropdownLine
454
- v-for="(sheet, i) in settings.sheets"
455
- :key="i"
456
- :model-value="sheetsState[makeSheetId(sheet.axis)]"
456
+ <div v-if="settings?.sourceType === 'ptable' && !!settings.sheets && settings.sheets.length > 0"
457
+ class="ap-ag-data-table-sheets">
458
+ <PlDropdownLine v-for="(sheet, i) in settings.sheets" :key="i" :model-value="sheetsState[makeSheetId(sheet.axis)]"
457
459
  :options="sheet.options"
458
460
  :prefix="(sheet.axis.annotations?.['pl7.app/label']?.trim() ?? `Unlabeled axis ${i}`) + ':'"
459
- @update:model-value="(newValue) => onSheetChanged(makeSheetId(sheet.axis), newValue)"
460
- />
461
+ @update:model-value="(newValue) => onSheetChanged(makeSheetId(sheet.axis), newValue)" />
461
462
  </div>
462
- <AgGridVue
463
- :key="reloadKey"
464
- :theme="AgGridTheme"
465
- class="ap-ag-data-table-grid"
466
- :grid-options="gridOptions"
467
- @grid-ready="onGridReady"
468
- @state-updated="onStateUpdated"
469
- @grid-pre-destroyed="onGridPreDestroyed"
470
- />
463
+ <AgGridVue :key="reloadKey" :theme="AgGridTheme" class="ap-ag-data-table-grid" :grid-options="gridOptions"
464
+ @grid-ready="onGridReady" @state-updated="onStateUpdated" @grid-pre-destroyed="onGridPreDestroyed" />
471
465
  </div>
472
466
  </template>
473
467
 
@@ -26,9 +26,9 @@ export function makeRowNumberColDef(): ColDef {
26
26
  suppressSizeToFit: true,
27
27
  suppressAutoSize: true,
28
28
  cellStyle: {
29
- 'color': 'var(--txt-03)',
29
+ color: 'var(--txt-03)',
30
30
  'background-color': 'var(--bg-base-light)',
31
- 'overflow': 'visible !important',
31
+ overflow: 'visible !important',
32
32
  'text-align': 'center',
33
33
  },
34
34
  sortable: false,
@@ -88,7 +88,7 @@ function fixColumnOrder(gridApi: GridApi) {
88
88
  if (numRowsIndex !== -1) {
89
89
  if (selectionIndex !== -1) {
90
90
  if (selectionIndex !== 0 || numRowsIndex !== 1) {
91
- gridApi.moveColumns([columns[selectionIndex], columns[numRowsIndex]], 0);
91
+ gridApi.moveColumns([columns[numRowsIndex], columns[selectionIndex]], 0);
92
92
  }
93
93
  } else {
94
94
  if (numRowsIndex !== 0) {
@@ -113,9 +113,9 @@ export function autoSizeRowNumberColumn(gridApi: GridApi) {
113
113
  });
114
114
  gridApi.addEventListener('columnResized', (event) => {
115
115
  if (
116
- event.finished
117
- && event.source === 'autosizeColumns'
118
- && event.columns?.some((column) => column.isVisible() && column.getColId() === PlAgDataTableRowNumberColId)
116
+ event.finished &&
117
+ event.source === 'autosizeColumns' &&
118
+ event.columns?.some((column) => column.isVisible() && column.getColId() === PlAgDataTableRowNumberColId)
119
119
  ) {
120
120
  adjustRowNumberColumnWidth(event.api, cellFake, true);
121
121
  }