@revolist/revogrid 4.10.3 → 4.10.4

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.
Files changed (63) hide show
  1. package/dist/cjs/{column.drag.plugin-d7123f5c.js → column.drag.plugin-1005d5e5.js} +3 -3
  2. package/dist/cjs/{column.drag.plugin-d7123f5c.js.map → column.drag.plugin-1005d5e5.js.map} +1 -1
  3. package/dist/cjs/{column.service-219853b1.js → column.service-07fca9ee.js} +4 -3
  4. package/dist/cjs/{column.service-219853b1.js.map → column.service-07fca9ee.js.map} +1 -1
  5. package/dist/cjs/{header-cell-renderer-55fa2362.js → header-cell-renderer-452be4b4.js} +2 -2
  6. package/dist/cjs/{header-cell-renderer-55fa2362.js.map → header-cell-renderer-452be4b4.js.map} +1 -1
  7. package/dist/cjs/index.cjs.js +3 -3
  8. package/dist/cjs/revo-grid.cjs.entry.js +3 -3
  9. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  10. package/dist/cjs/revogr-attribution_7.cjs.entry.js +1 -1
  11. package/dist/cjs/revogr-data_4.cjs.entry.js +17 -18
  12. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  13. package/dist/collection/components/data/cell-renderer.js +11 -9
  14. package/dist/collection/components/data/cell-renderer.js.map +1 -1
  15. package/dist/collection/components/data/column.service.js +3 -2
  16. package/dist/collection/components/data/column.service.js.map +1 -1
  17. package/dist/collection/components/data/revogr-data.js +10 -13
  18. package/dist/collection/components/data/revogr-data.js.map +1 -1
  19. package/dist/collection/components/revoGrid/revo-grid.js +3 -3
  20. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  21. package/dist/collection/serve/data.js +12 -9
  22. package/dist/collection/types/interfaces.js.map +1 -1
  23. package/dist/esm/{column.drag.plugin-e8012062.js → column.drag.plugin-8ea8fdab.js} +3 -3
  24. package/dist/esm/{column.drag.plugin-e8012062.js.map → column.drag.plugin-8ea8fdab.js.map} +1 -1
  25. package/dist/esm/{column.service-ea150882.js → column.service-5d1cf29d.js} +4 -3
  26. package/dist/esm/{column.service-ea150882.js.map → column.service-5d1cf29d.js.map} +1 -1
  27. package/dist/esm/{header-cell-renderer-46734317.js → header-cell-renderer-49cd23aa.js} +2 -2
  28. package/dist/esm/{header-cell-renderer-46734317.js.map → header-cell-renderer-49cd23aa.js.map} +1 -1
  29. package/dist/esm/index.js +3 -3
  30. package/dist/esm/revo-grid.entry.js +3 -3
  31. package/dist/esm/revo-grid.entry.js.map +1 -1
  32. package/dist/esm/revogr-attribution_7.entry.js +1 -1
  33. package/dist/esm/revogr-data_4.entry.js +17 -18
  34. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  35. package/dist/revo-grid/{column.drag.plugin-e8012062.js → column.drag.plugin-8ea8fdab.js} +2 -2
  36. package/dist/revo-grid/column.service-5d1cf29d.js +5 -0
  37. package/dist/revo-grid/column.service-5d1cf29d.js.map +1 -0
  38. package/dist/revo-grid/{header-cell-renderer-46734317.js → header-cell-renderer-49cd23aa.js} +2 -2
  39. package/dist/revo-grid/index.esm.js +1 -1
  40. package/dist/revo-grid/revo-grid.entry.js +1 -1
  41. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  42. package/dist/revo-grid/revogr-attribution_7.entry.js +1 -1
  43. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  44. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  45. package/dist/types/components/data/cell-renderer.d.ts +2 -4
  46. package/dist/types/components/data/column.service.d.ts +2 -2
  47. package/dist/types/components/data/revogr-data.d.ts +4 -4
  48. package/dist/types/components/revoGrid/revo-grid.d.ts +3 -3
  49. package/dist/types/components.d.ts +16 -16
  50. package/dist/types/types/interfaces.d.ts +5 -5
  51. package/hydrate/index.js +21 -21
  52. package/hydrate/index.mjs +21 -21
  53. package/package.json +1 -1
  54. package/readme.md +3 -3
  55. package/standalone/column.service.js +3 -2
  56. package/standalone/column.service.js.map +1 -1
  57. package/standalone/revo-grid.js.map +1 -1
  58. package/standalone/revogr-data2.js +17 -18
  59. package/standalone/revogr-data2.js.map +1 -1
  60. package/dist/revo-grid/column.service-ea150882.js +0 -5
  61. package/dist/revo-grid/column.service-ea150882.js.map +0 -1
  62. /package/dist/revo-grid/{column.drag.plugin-e8012062.js.map → column.drag.plugin-8ea8fdab.js.map} +0 -0
  63. /package/dist/revo-grid/{header-cell-renderer-46734317.js.map → header-cell-renderer-49cd23aa.js.map} +0 -0
@@ -140,7 +140,7 @@ export interface ColumnType extends ColumnProperties {
140
140
  */
141
141
  maxSize?: number;
142
142
  /**
143
- * Represents a custom editor defined in @editors property.
143
+ * Represents a custom editor defined in editors property.
144
144
  * Can be a string or an editor constructor function.
145
145
  */
146
146
  editor?: string | EditorCtr;
@@ -190,11 +190,11 @@ export interface ColumnRegular extends ColumnType {
190
190
  */
191
191
  autoSize?: boolean;
192
192
  /**
193
- * Filter. Require filter plugin to be installed and activated through grid config @filter.
193
+ * Filter. Require filter plugin to be installed and activated through grid config filter.
194
194
  */
195
195
  filter?: boolean | string | string[];
196
196
  /**
197
- * Is column can be sorted, check @cellCompare function for custom sorting.
197
+ * Is column can be sorted, check cellCompare function for custom sorting.
198
198
  */
199
199
  sortable?: boolean;
200
200
  /**
@@ -206,7 +206,7 @@ export interface ColumnRegular extends ColumnType {
206
206
  */
207
207
  rowDrag?: RowDrag;
208
208
  /**
209
- * Represents type defined in @columnTypes property through grid config.
209
+ * Represents type defined in columnTypes property through grid config.
210
210
  */
211
211
  columnType?: string;
212
212
  /**
@@ -342,7 +342,7 @@ export type FocusTemplateFunc = (createElement: HyperFunc<VNode>, detail: FocusR
342
342
  */
343
343
  export type CellCompareFunc = (prop: ColumnProp, a: DataType, b: DataType) => number;
344
344
  export type ColumnTemplateFunc = (createElement: HyperFunc<VNode>, props: ColumnTemplateProp, additionalData?: any) => any;
345
- export type PropertiesFunc = (props: ColumnDataSchemaModel) => CellProps | void | undefined;
345
+ export type PropertiesFunc = (props: CellTemplateProp) => CellProps | void | undefined;
346
346
  export type ColPropertiesFunc = (props: ColumnPropProp) => CellProps | void | undefined;
347
347
  export type DataType<D = any> = {
348
348
  [T in ColumnProp]: DataFormat<D>;
package/hydrate/index.js CHANGED
@@ -8615,12 +8615,13 @@ class ColumnService {
8615
8615
  }
8616
8616
  return !!readOnly;
8617
8617
  }
8618
- mergeProperties(r, c, defaultProps, model, extraPropsFunc) {
8618
+ mergeProperties(r, c, defaultProps, schemaModel) {
8619
+ var _a, _b;
8619
8620
  const props = Object.assign({}, defaultProps);
8620
8621
  props.class = Object.assign(Object.assign({}, (typeof props.class === 'string'
8621
8622
  ? { [props.class]: true }
8622
8623
  : props.class)), { [CELL_CLASS]: true, [DISABLED_CLASS]: this.isReadOnly(r, c) });
8623
- const extra = extraPropsFunc === null || extraPropsFunc === void 0 ? void 0 : extraPropsFunc(model);
8624
+ const extra = (_b = (_a = schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellProperties) === null || _b === void 0 ? void 0 : _b.call(_a, schemaModel);
8624
8625
  if (!extra) {
8625
8626
  return props;
8626
8627
  }
@@ -13737,9 +13738,9 @@ var RevoGridStyle0 = revoGridStyleCss;
13737
13738
  * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
13738
13739
  * :::
13739
13740
  *
13740
- * :::tip
13741
- * For a comprehensive events guide, check the [dependency tree](#Dependencies).
13742
- * All events propagate to the root level of the grid.
13741
+ * :::info
13742
+ * For a comprehensive events guide, check the [Events](./events.md).
13743
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
13743
13744
  * :::
13744
13745
  *
13745
13746
  * @slot data-{column-type}-{row-type}. @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
@@ -14822,30 +14823,32 @@ function convertVNodeToHTML(parentHolder, redraw) {
14822
14823
  }
14823
14824
 
14824
14825
  function renderCell(v) {
14826
+ var _a;
14825
14827
  const els = [];
14826
14828
  // #region Custom cell
14827
- if (v.template) {
14828
- els.push(v.template(hAsync, Object.assign(Object.assign({}, v.model), { providers: v.providers }), v.additionalData));
14829
+ const template = (_a = v.schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellTemplate;
14830
+ if (template) {
14831
+ els.push(template(hAsync, v.schemaModel, v.additionalData));
14829
14832
  }
14830
14833
  // #endregion
14831
14834
  // #region Regular cell
14832
14835
  else {
14833
- if (!v.model.column) {
14836
+ if (!v.schemaModel.column) {
14834
14837
  return '';
14835
14838
  }
14836
14839
  // Row drag
14837
- if (v.model.column.rowDrag &&
14838
- isRowDragService(v.model.column.rowDrag, v.model)) {
14840
+ if (v.schemaModel.column.rowDrag &&
14841
+ isRowDragService(v.schemaModel.column.rowDrag, v.schemaModel)) {
14839
14842
  els.push(hAsync("span", { class: DRAGGABLE_CLASS, onMouseDown: originalEvent => {
14840
14843
  var _a;
14841
14844
  return (_a = v.dragStartCell) === null || _a === void 0 ? void 0 : _a.emit({
14842
14845
  originalEvent,
14843
- model: v.model,
14846
+ model: v.schemaModel,
14844
14847
  });
14845
14848
  } },
14846
14849
  hAsync("span", { class: DRAG_ICON_CLASS })));
14847
14850
  }
14848
- els.push(`${getCellData(v.model.model[v.model.prop])}`);
14851
+ els.push(`${getCellDataParsed(v.schemaModel.model, v.schemaModel.column)}`);
14849
14852
  }
14850
14853
  return els;
14851
14854
  }
@@ -14943,7 +14946,6 @@ class RevogrData {
14943
14946
  this.afterrender.emit({ type: this.type });
14944
14947
  }
14945
14948
  render() {
14946
- var _a, _b;
14947
14949
  this.renderedRows = new Map();
14948
14950
  const columnsData = this.columnService.columns;
14949
14951
  if (!columnsData.length) {
@@ -14972,9 +14974,9 @@ class RevogrData {
14972
14974
  const cells = [];
14973
14975
  // #region Cells
14974
14976
  for (let rgCol of cols) {
14975
- const model = this.columnService.rowDataModel(rgRow.itemIndex, rgCol.itemIndex);
14977
+ const smodel = Object.assign(Object.assign({}, this.columnService.rowDataModel(rgRow.itemIndex, rgCol.itemIndex)), { providers: this.providers });
14976
14978
  // call before cell render
14977
- const cellEvent = this.triggerBeforeCellRender(model, rgRow, rgCol);
14979
+ const cellEvent = this.triggerBeforeCellRender(smodel, rgRow, rgCol);
14978
14980
  // if event was prevented
14979
14981
  if (cellEvent.defaultPrevented) {
14980
14982
  continue;
@@ -14995,13 +14997,11 @@ class RevogrData {
14995
14997
  if (groupDepth && !columnProps.itemIndex && defaultProps.style) {
14996
14998
  defaultProps.style.paddingLeft = `${PADDING_DEPTH * groupDepth}px`;
14997
14999
  }
14998
- const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, schemaModel, (_a = schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellProperties);
15000
+ const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, schemaModel);
14999
15001
  // Never use webcomponent for cell render
15000
15002
  // It's very slow because of webcomponent initialization takes time
15001
15003
  const cellNode = hAsync(CellRenderer, { renderProps: {
15002
- model: schemaModel,
15003
- providers: this.providers,
15004
- template: (_b = schemaModel.column) === null || _b === void 0 ? void 0 : _b.cellTemplate,
15004
+ schemaModel,
15005
15005
  additionalData: this.additionalData,
15006
15006
  dragStartCell: this.dragStartCell,
15007
15007
  }, cellProps: props });
@@ -15031,8 +15031,8 @@ class RevogrData {
15031
15031
  }
15032
15032
  triggerBeforeCellRender(model, row, column) {
15033
15033
  const detail = {
15034
- column: Object.assign({}, column),
15035
- row: Object.assign({}, row),
15034
+ column,
15035
+ row,
15036
15036
  model,
15037
15037
  rowType: model.type,
15038
15038
  colType: model.colType,
package/hydrate/index.mjs CHANGED
@@ -8611,12 +8611,13 @@ class ColumnService {
8611
8611
  }
8612
8612
  return !!readOnly;
8613
8613
  }
8614
- mergeProperties(r, c, defaultProps, model, extraPropsFunc) {
8614
+ mergeProperties(r, c, defaultProps, schemaModel) {
8615
+ var _a, _b;
8615
8616
  const props = Object.assign({}, defaultProps);
8616
8617
  props.class = Object.assign(Object.assign({}, (typeof props.class === 'string'
8617
8618
  ? { [props.class]: true }
8618
8619
  : props.class)), { [CELL_CLASS]: true, [DISABLED_CLASS]: this.isReadOnly(r, c) });
8619
- const extra = extraPropsFunc === null || extraPropsFunc === void 0 ? void 0 : extraPropsFunc(model);
8620
+ const extra = (_b = (_a = schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellProperties) === null || _b === void 0 ? void 0 : _b.call(_a, schemaModel);
8620
8621
  if (!extra) {
8621
8622
  return props;
8622
8623
  }
@@ -13733,9 +13734,9 @@ var RevoGridStyle0 = revoGridStyleCss;
13733
13734
  * All complex property types such as `ColumnRegular`, `ColumnProp`, `ColumnDataSchemaModel` can be found there.
13734
13735
  * :::
13735
13736
  *
13736
- * :::tip
13737
- * For a comprehensive events guide, check the [dependency tree](#Dependencies).
13738
- * All events propagate to the root level of the grid.
13737
+ * :::info
13738
+ * For a comprehensive events guide, check the [Events](./events.md).
13739
+ * All events propagate to the root level of the grid. [Dependency tree](#Dependencies).
13739
13740
  * :::
13740
13741
  *
13741
13742
  * @slot data-{column-type}-{row-type}. @example data-rgCol-rgRow - main data slot. Applies extra elements in <revogr-data />.
@@ -14818,30 +14819,32 @@ function convertVNodeToHTML(parentHolder, redraw) {
14818
14819
  }
14819
14820
 
14820
14821
  function renderCell(v) {
14822
+ var _a;
14821
14823
  const els = [];
14822
14824
  // #region Custom cell
14823
- if (v.template) {
14824
- els.push(v.template(hAsync, Object.assign(Object.assign({}, v.model), { providers: v.providers }), v.additionalData));
14825
+ const template = (_a = v.schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellTemplate;
14826
+ if (template) {
14827
+ els.push(template(hAsync, v.schemaModel, v.additionalData));
14825
14828
  }
14826
14829
  // #endregion
14827
14830
  // #region Regular cell
14828
14831
  else {
14829
- if (!v.model.column) {
14832
+ if (!v.schemaModel.column) {
14830
14833
  return '';
14831
14834
  }
14832
14835
  // Row drag
14833
- if (v.model.column.rowDrag &&
14834
- isRowDragService(v.model.column.rowDrag, v.model)) {
14836
+ if (v.schemaModel.column.rowDrag &&
14837
+ isRowDragService(v.schemaModel.column.rowDrag, v.schemaModel)) {
14835
14838
  els.push(hAsync("span", { class: DRAGGABLE_CLASS, onMouseDown: originalEvent => {
14836
14839
  var _a;
14837
14840
  return (_a = v.dragStartCell) === null || _a === void 0 ? void 0 : _a.emit({
14838
14841
  originalEvent,
14839
- model: v.model,
14842
+ model: v.schemaModel,
14840
14843
  });
14841
14844
  } },
14842
14845
  hAsync("span", { class: DRAG_ICON_CLASS })));
14843
14846
  }
14844
- els.push(`${getCellData(v.model.model[v.model.prop])}`);
14847
+ els.push(`${getCellDataParsed(v.schemaModel.model, v.schemaModel.column)}`);
14845
14848
  }
14846
14849
  return els;
14847
14850
  }
@@ -14939,7 +14942,6 @@ class RevogrData {
14939
14942
  this.afterrender.emit({ type: this.type });
14940
14943
  }
14941
14944
  render() {
14942
- var _a, _b;
14943
14945
  this.renderedRows = new Map();
14944
14946
  const columnsData = this.columnService.columns;
14945
14947
  if (!columnsData.length) {
@@ -14968,9 +14970,9 @@ class RevogrData {
14968
14970
  const cells = [];
14969
14971
  // #region Cells
14970
14972
  for (let rgCol of cols) {
14971
- const model = this.columnService.rowDataModel(rgRow.itemIndex, rgCol.itemIndex);
14973
+ const smodel = Object.assign(Object.assign({}, this.columnService.rowDataModel(rgRow.itemIndex, rgCol.itemIndex)), { providers: this.providers });
14972
14974
  // call before cell render
14973
- const cellEvent = this.triggerBeforeCellRender(model, rgRow, rgCol);
14975
+ const cellEvent = this.triggerBeforeCellRender(smodel, rgRow, rgCol);
14974
14976
  // if event was prevented
14975
14977
  if (cellEvent.defaultPrevented) {
14976
14978
  continue;
@@ -14991,13 +14993,11 @@ class RevogrData {
14991
14993
  if (groupDepth && !columnProps.itemIndex && defaultProps.style) {
14992
14994
  defaultProps.style.paddingLeft = `${PADDING_DEPTH * groupDepth}px`;
14993
14995
  }
14994
- const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, schemaModel, (_a = schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellProperties);
14996
+ const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, schemaModel);
14995
14997
  // Never use webcomponent for cell render
14996
14998
  // It's very slow because of webcomponent initialization takes time
14997
14999
  const cellNode = hAsync(CellRenderer, { renderProps: {
14998
- model: schemaModel,
14999
- providers: this.providers,
15000
- template: (_b = schemaModel.column) === null || _b === void 0 ? void 0 : _b.cellTemplate,
15000
+ schemaModel,
15001
15001
  additionalData: this.additionalData,
15002
15002
  dragStartCell: this.dragStartCell,
15003
15003
  }, cellProps: props });
@@ -15027,8 +15027,8 @@ class RevogrData {
15027
15027
  }
15028
15028
  triggerBeforeCellRender(model, row, column) {
15029
15029
  const detail = {
15030
- column: Object.assign({}, column),
15031
- row: Object.assign({}, row),
15030
+ column,
15031
+ row,
15032
15032
  model,
15033
15033
  rowType: model.type,
15034
15034
  colType: model.colType,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revolist/revogrid",
3
- "version": "4.10.3",
3
+ "version": "4.10.4",
4
4
  "type": "module",
5
5
  "description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
6
6
  "license": "MIT",
package/readme.md CHANGED
@@ -7,9 +7,9 @@
7
7
  <p align="center">
8
8
  <a href="https://www.npmjs.com/package/@revolist/revogrid"><img src="https://img.shields.io/npm/v/@revolist/revogrid" alt="Latest Version on NPM"/></a>
9
9
  <a href="https://github.com/revolist/revogrid/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/@revolist/revogrid" alt="Software License"/></a>
10
- <img src="https://badgen.net/bundlephobia/dependency-count/@revolist/revogrid@latest" alt="Tree shaking"/>
11
- <img src="https://badgen.net/bundlephobia/tree-shaking/@revolist/revogrid@latest" alt="Tree shaking"/>
12
- <img src="https://sonarcloud.io/api/project_badges/measure?project=revolist_revogrid&metric=alert_status" alt="Sonar Quality Gate"/>
10
+ <img src="https://badgen.net/bundlephobia/dependency-count/@revolist/revogrid" alt="Dependency count"/>
11
+ <img src="https://badgen.net/bundlephobia/tree-shaking/@revolist/revogrid" alt="Tree shaking"/>
12
+ <img src="https://img.shields.io/bundlephobia/min/@revolist/revogrid" alt="Bundle size"/>
13
13
  <img src="https://sonarcloud.io/api/project_badges/measure?project=revolist_revogrid&metric=alert_status" alt="Sonar Quality Gate"/>
14
14
  </p>
15
15
 
@@ -984,12 +984,13 @@ class ColumnService {
984
984
  }
985
985
  return !!readOnly;
986
986
  }
987
- mergeProperties(r, c, defaultProps, model, extraPropsFunc) {
987
+ mergeProperties(r, c, defaultProps, schemaModel) {
988
+ var _a, _b;
988
989
  const props = Object.assign({}, defaultProps);
989
990
  props.class = Object.assign(Object.assign({}, (typeof props.class === 'string'
990
991
  ? { [props.class]: true }
991
992
  : props.class)), { [CELL_CLASS]: true, [DISABLED_CLASS]: this.isReadOnly(r, c) });
992
- const extra = extraPropsFunc === null || extraPropsFunc === void 0 ? void 0 : extraPropsFunc(model);
993
+ const extra = (_b = (_a = schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellProperties) === null || _b === void 0 ? void 0 : _b.call(_a, schemaModel);
993
994
  if (!extra) {
994
995
  return props;
995
996
  }