@genesislcap/grid-pro 14.100.1-alpha-da50d69.0 → 14.101.0
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/dist/custom-elements.json +334 -4
- package/dist/dts/cell-editors/index.d.ts +2 -0
- package/dist/dts/cell-editors/index.d.ts.map +1 -0
- package/dist/dts/cell-editors/select.editor.d.ts +59 -0
- package/dist/dts/cell-editors/select.editor.d.ts.map +1 -0
- package/dist/dts/cell-renderers/boolean.renderer.d.ts +9 -10
- package/dist/dts/cell-renderers/boolean.renderer.d.ts.map +1 -1
- package/dist/dts/grid-components.d.ts +11 -2
- package/dist/dts/grid-components.d.ts.map +1 -1
- package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource-next.d.ts.map +1 -1
- package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts +8 -13
- package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts.map +1 -1
- package/dist/dts/grid-pro.d.ts.map +1 -1
- package/dist/dts/grid-pro.types.d.ts +2 -1
- package/dist/dts/grid-pro.types.d.ts.map +1 -1
- package/dist/dts/index.d.ts +1 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/cell-editors/index.js +1 -0
- package/dist/esm/cell-editors/select.editor.js +88 -0
- package/dist/esm/cell-renderers/boolean.renderer.js +49 -3
- package/dist/esm/grid-components.js +2 -0
- package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource-next.js +15 -9
- package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource.js +9 -3
- package/dist/esm/grid-pro.js +20 -28
- package/dist/esm/grid-pro.types.js +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/grid-pro.api.json +1010 -18
- package/dist/grid-pro.d.ts +100 -33
- package/docs/api/grid-pro.agselecteditorstyles.md +13 -0
- package/docs/api/grid-pro.booleanrenderer.changehandler.md +22 -0
- package/docs/api/grid-pro.booleanrenderer.getvalue.md +15 -0
- package/docs/api/grid-pro.booleanrenderer.init.md +2 -2
- package/docs/api/grid-pro.booleanrenderer.md +4 -1
- package/docs/api/grid-pro.booleanrenderer.params.md +1 -1
- package/docs/api/grid-pro.booleanrenderer.refresh.md +2 -2
- package/docs/api/grid-pro.booleanrenderer.selected.md +11 -0
- package/docs/api/grid-pro.foundationagbooleanrenderer.md +2 -2
- package/docs/api/grid-pro.foundationgridcomponents.md +11 -2
- package/docs/api/grid-pro.foundationselecteditor.md +24 -0
- package/docs/api/grid-pro.getagbooleanrenderertemplate.md +1 -1
- package/docs/api/grid-pro.getselecteditortemplate.md +13 -0
- package/docs/api/grid-pro.gridprorenderertypes.md +1 -0
- package/docs/api/grid-pro.md +10 -0
- package/docs/api/grid-pro.selecteditor.afterguiattached.md +15 -0
- package/docs/api/grid-pro.selecteditor.combobox.md +11 -0
- package/docs/api/grid-pro.selecteditor.destroy.md +15 -0
- package/docs/api/grid-pro.selecteditor.getgui.md +15 -0
- package/docs/api/grid-pro.selecteditor.getvalue.md +15 -0
- package/docs/api/grid-pro.selecteditor.init.md +22 -0
- package/docs/api/grid-pro.selecteditor.ispopup.md +15 -0
- package/docs/api/grid-pro.selecteditor.md +37 -0
- package/docs/api/grid-pro.selecteditor.params.md +11 -0
- package/docs/api/grid-pro.selecteditor.refresh.md +22 -0
- package/docs/api/grid-pro.selecteditor.value.md +11 -0
- package/docs/api/grid-pro.selecteditorparams.alloptionsresourcename.md +11 -0
- package/docs/api/grid-pro.selecteditorparams.datasourceoptions.md +11 -0
- package/docs/api/grid-pro.selecteditorparams.labelfield.md +11 -0
- package/docs/api/grid-pro.selecteditorparams.md +25 -0
- package/docs/api/grid-pro.selecteditorparams.valuefield.md +11 -0
- package/docs/api/grid-pro.selecteditorparams.values.md +11 -0
- package/docs/api-report.md +87 -14
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-pro.types.d.ts","sourceRoot":"","sources":["../../src/grid-pro.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGhF;;;GAGG;AACH,oBAAY,aAAa;IACvB,eAAe,0BAA0B;IACzC,SAAS,oBAAoB;IAC7B,wBAAwB,oCAAoC;IAC5D,qBAAqB,iCAAiC;IACtD,uBAAuB,mCAAmC;IAC1D,eAAe,0BAA0B;IACzC,qBAAqB,iCAAiC;IACtD,wBAAwB,oCAAoC;IAC5D,+BAA+B,4CAA4C;IAC3E,2BAA2B,wCAAwC;IACnE,0BAA0B,uCAAuC;IACjE,qBAAqB,kCAAkC;IACvD,aAAa,yBAAyB;IACtC,yBAAyB,sCAAsC;IAC/D,6BAA6B,0CAA0C;IACvE,yBAAyB,sCAAsC;IAC/D,0CAA0C,yDAAyD;IACnG,kCAAkC,gDAAgD;IAClF,8BAA8B,4CAA4C;IAC1E,+BAA+B,6CAA6C;IAC5E,mBAAmB,+BAA+B;IAClD,WAAW,sBAAsB;IACjC,oBAAoB,gCAAgC;IACpD,cAAc,0BAA0B;IACxC,0BAA0B,uCAAuC;IACjE,6BAA6B,2CAA2C;IACxE,gBAAgB,4BAA4B;IAC5C,wBAAwB,qCAAqC;IAC7D,4BAA4B,yCAAyC;IACrE,uBAAuB,mCAAmC;IAC1D,oBAAoB,gCAAgC;IACpD,sBAAsB,kCAAkC;IACxD,0BAA0B,sCAAsC;IAChE,0BAA0B,wCAAwC;IAClE,8BAA8B,4CAA4C;IAC1E,yBAAyB,uCAAuC;IAChE,6BAA6B,2CAA2C;IACxE,iCAAiC,+CAA+C;IAChF,6BAA6B,2CAA2C;IACxE,2BAA2B,wCAAwC;IACnE,0BAA0B,uCAAuC;IACjE,2BAA2B,wCAAwC;IACnE,mBAAmB,gCAAgC;IACnD,qBAAqB,kCAAkC;CACxD;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB,MAAM,oBAAoB;IAC1B,UAAU,yBAAyB;IACnC,MAAM,oBAAoB;IAC1B,UAAU,yBAAyB;IACnC,QAAQ,sBAAsB;CAC/B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,cAAe,MAAM,WAA6B,CAAC;AAExF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,cAAe,MAAM,WAAyB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,cAAe,MAAM,YAAY,eAAe,GAAG,CAAC,oDAIlF,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE9D;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"grid-pro.types.d.ts","sourceRoot":"","sources":["../../src/grid-pro.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGhF;;;GAGG;AACH,oBAAY,aAAa;IACvB,eAAe,0BAA0B;IACzC,SAAS,oBAAoB;IAC7B,wBAAwB,oCAAoC;IAC5D,qBAAqB,iCAAiC;IACtD,uBAAuB,mCAAmC;IAC1D,eAAe,0BAA0B;IACzC,qBAAqB,iCAAiC;IACtD,wBAAwB,oCAAoC;IAC5D,+BAA+B,4CAA4C;IAC3E,2BAA2B,wCAAwC;IACnE,0BAA0B,uCAAuC;IACjE,qBAAqB,kCAAkC;IACvD,aAAa,yBAAyB;IACtC,yBAAyB,sCAAsC;IAC/D,6BAA6B,0CAA0C;IACvE,yBAAyB,sCAAsC;IAC/D,0CAA0C,yDAAyD;IACnG,kCAAkC,gDAAgD;IAClF,8BAA8B,4CAA4C;IAC1E,+BAA+B,6CAA6C;IAC5E,mBAAmB,+BAA+B;IAClD,WAAW,sBAAsB;IACjC,oBAAoB,gCAAgC;IACpD,cAAc,0BAA0B;IACxC,0BAA0B,uCAAuC;IACjE,6BAA6B,2CAA2C;IACxE,gBAAgB,4BAA4B;IAC5C,wBAAwB,qCAAqC;IAC7D,4BAA4B,yCAAyC;IACrE,uBAAuB,mCAAmC;IAC1D,oBAAoB,gCAAgC;IACpD,sBAAsB,kCAAkC;IACxD,0BAA0B,sCAAsC;IAChE,0BAA0B,wCAAwC;IAClE,8BAA8B,4CAA4C;IAC1E,yBAAyB,uCAAuC;IAChE,6BAA6B,2CAA2C;IACxE,iCAAiC,+CAA+C;IAChF,6BAA6B,2CAA2C;IACxE,2BAA2B,wCAAwC;IACnE,0BAA0B,uCAAuC;IACjE,2BAA2B,wCAAwC;IACnE,mBAAmB,gCAAgC;IACnD,qBAAqB,kCAAkC;CACxD;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB,MAAM,oBAAoB;IAC1B,UAAU,yBAAyB;IACnC,MAAM,oBAAoB;IAC1B,UAAU,yBAAyB;IACnC,QAAQ,sBAAsB;CAC/B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,cAAe,MAAM,WAA6B,CAAC;AAExF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,cAAe,MAAM,WAAyB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,cAAe,MAAM,YAAY,eAAe,GAAG,CAAC,oDAIlF,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE9D;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,YAAY,iBAAiB;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,gBAAgB,CAAC"}
|
package/dist/dts/index.d.ts
CHANGED
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './select.editor';
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, observable, ref } from '@microsoft/fast-element';
|
|
3
|
+
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
4
|
+
/**
|
|
5
|
+
* The AG Select Editor element.
|
|
6
|
+
* @public
|
|
7
|
+
* @tagname %%prefix%%-select-editor
|
|
8
|
+
*/
|
|
9
|
+
export class SelectEditor extends FoundationElement {
|
|
10
|
+
init(params) {
|
|
11
|
+
if (!params)
|
|
12
|
+
return;
|
|
13
|
+
this.params = params;
|
|
14
|
+
this.value = params.value;
|
|
15
|
+
}
|
|
16
|
+
getGui() {
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
destroy() { }
|
|
20
|
+
refresh(params) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
getValue() {
|
|
24
|
+
return this.value;
|
|
25
|
+
}
|
|
26
|
+
isPopup() {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
afterGuiAttached() {
|
|
30
|
+
this.combobox.open = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
__decorate([
|
|
34
|
+
observable
|
|
35
|
+
], SelectEditor.prototype, "params", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
observable
|
|
38
|
+
], SelectEditor.prototype, "value", void 0);
|
|
39
|
+
/**
|
|
40
|
+
* The AG Select Renderer Styles.
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export const agSelectEditorStyles = css `
|
|
44
|
+
:host,
|
|
45
|
+
.select-renderer,
|
|
46
|
+
zero-option,
|
|
47
|
+
::part(listbox),
|
|
48
|
+
::part(control) {
|
|
49
|
+
max-width: var(--select-renderer-max-width);
|
|
50
|
+
min-width: 100%;
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
/**
|
|
54
|
+
* Get a Design System prefixed Select template.
|
|
55
|
+
* @param designSystem - The design system prefix to use. Defaults to 'foundation'.
|
|
56
|
+
* @returns A Select component template prefixed with the correct design system.
|
|
57
|
+
* @public
|
|
58
|
+
*/
|
|
59
|
+
export const getSelectEditorTemplate = (designSystem = 'foundation') => html `
|
|
60
|
+
<${designSystem}-combobox
|
|
61
|
+
style="width: 100%"
|
|
62
|
+
${ref('combobox')}
|
|
63
|
+
@value-change=${(x, c) => {
|
|
64
|
+
var _a;
|
|
65
|
+
x.value = (_a = c.event.detail) === null || _a === void 0 ? void 0 : _a.value;
|
|
66
|
+
}}
|
|
67
|
+
>
|
|
68
|
+
<options-datasource
|
|
69
|
+
resourceName=${(x) => x.params.allOptionsResourceName}
|
|
70
|
+
value-field=${(x) => x.params.valueField}
|
|
71
|
+
label-field=${(x) => x.params.labelField}
|
|
72
|
+
:datasourceConfig=${(x) => x.params.datasourceOptions}
|
|
73
|
+
:data=${(x) => x.params.values}
|
|
74
|
+
:initialSelectedValue=${(x) => x.params.value}
|
|
75
|
+
></options-datasource>
|
|
76
|
+
</${designSystem}-combobox>
|
|
77
|
+
`;
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @public
|
|
81
|
+
* @remarks
|
|
82
|
+
* HTML Element: \<foundation-select-editor\>
|
|
83
|
+
*/
|
|
84
|
+
export const foundationSelectEditor = SelectEditor.compose({
|
|
85
|
+
baseName: 'select-editor',
|
|
86
|
+
styles: agSelectEditorStyles,
|
|
87
|
+
template: getSelectEditorTemplate(),
|
|
88
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
+
import { Events, } from '@ag-grid-community/core';
|
|
2
3
|
import { css, html, observable } from '@microsoft/fast-element';
|
|
3
4
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
4
5
|
/**
|
|
@@ -11,18 +12,63 @@ export class BooleanRenderer extends FoundationElement {
|
|
|
11
12
|
if (!params)
|
|
12
13
|
return;
|
|
13
14
|
this.params = params;
|
|
15
|
+
this.selected = params.value;
|
|
16
|
+
}
|
|
17
|
+
changeHandler(e) {
|
|
18
|
+
this.selected = e.target.checked;
|
|
19
|
+
const editedCells = this.params.api.getEditingCells();
|
|
20
|
+
const changingCurrentlyEditedCell = !!editedCells.find((cell) => cell.rowIndex === this.params.rowIndex &&
|
|
21
|
+
cell.column.getInstanceId() === this.params.column.getInstanceId());
|
|
22
|
+
if (!changingCurrentlyEditedCell) {
|
|
23
|
+
// below section allows grid renderer to act as grid editor so users can edit data without requesting edit
|
|
24
|
+
// heavily inspired by https://github.com/ag-grid/ag-grid/blob/latest/grid-community-modules/core/src/ts/rendering/cellRenderers/checkboxCellRenderer.ts#L104
|
|
25
|
+
const { column, node, rowIndex, value } = this.params;
|
|
26
|
+
const eventStarted = {
|
|
27
|
+
type: Events.EVENT_CELL_EDITING_STARTED,
|
|
28
|
+
column: column,
|
|
29
|
+
colDef: column === null || column === void 0 ? void 0 : column.getColDef(),
|
|
30
|
+
data: node.data,
|
|
31
|
+
node,
|
|
32
|
+
rowIndex,
|
|
33
|
+
rowPinned: node.rowPinned,
|
|
34
|
+
value,
|
|
35
|
+
};
|
|
36
|
+
this.params.api.dispatchEvent(eventStarted);
|
|
37
|
+
const valueChanged = this.params.node.setDataValue(this.params.column, this.selected, 'edit');
|
|
38
|
+
const eventStopped = {
|
|
39
|
+
type: Events.EVENT_CELL_EDITING_STOPPED,
|
|
40
|
+
column: column,
|
|
41
|
+
colDef: column === null || column === void 0 ? void 0 : column.getColDef(),
|
|
42
|
+
data: node.data,
|
|
43
|
+
node,
|
|
44
|
+
rowIndex,
|
|
45
|
+
rowPinned: node.rowPinned,
|
|
46
|
+
value,
|
|
47
|
+
oldValue: value,
|
|
48
|
+
newValue: this.selected,
|
|
49
|
+
valueChanged,
|
|
50
|
+
};
|
|
51
|
+
this.params.api.dispatchEvent(eventStopped);
|
|
52
|
+
}
|
|
14
53
|
}
|
|
15
54
|
getGui() {
|
|
16
55
|
return this;
|
|
17
56
|
}
|
|
18
57
|
destroy() { }
|
|
19
58
|
refresh(params) {
|
|
59
|
+
this.selected = params.value;
|
|
20
60
|
return true;
|
|
21
61
|
}
|
|
62
|
+
getValue() {
|
|
63
|
+
return this.selected;
|
|
64
|
+
}
|
|
22
65
|
}
|
|
23
66
|
__decorate([
|
|
24
67
|
observable
|
|
25
68
|
], BooleanRenderer.prototype, "params", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
observable
|
|
71
|
+
], BooleanRenderer.prototype, "selected", void 0);
|
|
26
72
|
/**
|
|
27
73
|
* The AG Boolean Renderer Styles.
|
|
28
74
|
* @public
|
|
@@ -44,9 +90,9 @@ export const getAgBooleanRendererTemplate = (designSystem = 'foundation') => {
|
|
|
44
90
|
const checkboxComponent = `${designSystem}-checkbox`;
|
|
45
91
|
return html `
|
|
46
92
|
<${checkboxComponent}
|
|
47
|
-
@change
|
|
48
|
-
checked
|
|
49
|
-
|
|
93
|
+
@change=${(x, c) => x.changeHandler(c.event)}
|
|
94
|
+
:checked=${(x) => x.selected}
|
|
95
|
+
?disabled=${(x) => !x.params.colDef.editable}
|
|
50
96
|
></${checkboxComponent}>
|
|
51
97
|
`;
|
|
52
98
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { foundationSelectEditor } from './cell-editors';
|
|
1
2
|
import { foundationGridProActionRenderer, foundationGridProActionsMenuRenderer, foundationAgBooleanRenderer, foundationAgSelectRenderer, foundationAgTextRenderer, foundationAgTextFieldRenderer, } from './cell-renderers';
|
|
2
3
|
import { foundationGridPro } from './grid-pro';
|
|
3
4
|
/**
|
|
@@ -13,6 +14,7 @@ export const foundationGridComponents = {
|
|
|
13
14
|
foundationAgTextFieldRenderer,
|
|
14
15
|
foundationAgSelectRenderer,
|
|
15
16
|
foundationGridPro,
|
|
17
|
+
selectEditor: foundationSelectEditor,
|
|
16
18
|
register(container, ...rest) {
|
|
17
19
|
if (!container) {
|
|
18
20
|
// preserve backward compatibility with code that loops through
|
|
@@ -449,31 +449,37 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
449
449
|
getAgColumnDefs(fieldsMetadata) {
|
|
450
450
|
const colDefsFromGenesisData = fieldsMetadata === null || fieldsMetadata === void 0 ? void 0 : fieldsMetadata.flatMap((field) => {
|
|
451
451
|
var _a;
|
|
452
|
-
const
|
|
453
|
-
|
|
452
|
+
const colDefBase = {};
|
|
453
|
+
colDefBase.filterParams = getFilterParamsByFieldType(field.type);
|
|
454
454
|
switch (field.type) {
|
|
455
455
|
case FieldTypeEnum.BOOLEAN:
|
|
456
456
|
if (this.agGrid.autoCellRendererByType) {
|
|
457
|
-
|
|
457
|
+
colDefBase.cellRenderer = GridProRendererTypes.boolean;
|
|
458
|
+
colDefBase.cellEditor = GridProRendererTypes.boolean;
|
|
458
459
|
}
|
|
459
460
|
break;
|
|
460
461
|
case FieldTypeEnum.DATE:
|
|
461
|
-
|
|
462
|
+
colDefBase.valueFormatter = dateValueFormatter;
|
|
462
463
|
break;
|
|
463
464
|
case FieldTypeEnum.DATETIME:
|
|
464
|
-
|
|
465
|
+
colDefBase.valueFormatter = dateTimeValueFormatter;
|
|
466
|
+
break;
|
|
467
|
+
case FieldTypeEnum.ENUM:
|
|
468
|
+
colDefBase.cellEditor = GridProRendererTypes.selectEditor;
|
|
469
|
+
colDefBase.cellEditorParams = {
|
|
470
|
+
values: field.enumOptions.map((option) => ({ value: option, label: option })),
|
|
471
|
+
valueField: 'value',
|
|
472
|
+
labelField: 'label',
|
|
473
|
+
};
|
|
465
474
|
break;
|
|
466
475
|
default:
|
|
467
476
|
break;
|
|
468
477
|
}
|
|
469
478
|
const templateColDef = (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.getColumnDef(field.name);
|
|
470
|
-
if (this.agGrid.onlyTemplateColDefs && !templateColDef) {
|
|
471
|
-
return [];
|
|
472
|
-
}
|
|
473
479
|
if (this.fields && !this.fields.includes(field.name)) {
|
|
474
480
|
return [];
|
|
475
481
|
}
|
|
476
|
-
return Object.assign(Object.assign({ field: field.name, type: getColumnType(field.type), filter: getFilterByFieldType(field.type), sortable: [].concat(...this.indexes.values()).includes(field.name) },
|
|
482
|
+
return Object.assign(Object.assign({ field: field.name, type: getColumnType(field.type), filter: getFilterByFieldType(field.type), sortable: [].concat(...this.indexes.values()).includes(field.name) }, colDefBase), templateColDef);
|
|
477
483
|
});
|
|
478
484
|
const colDefsMergedWithTemplateDefs = this.agGrid.mergeAllColumnDefsAndStates(colDefsFromGenesisData, true);
|
|
479
485
|
return colDefsMergedWithTemplateDefs;
|
|
@@ -455,6 +455,7 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
|
|
|
455
455
|
case FieldTypeEnum.BOOLEAN:
|
|
456
456
|
if (this.agGrid.autoCellRendererByType) {
|
|
457
457
|
colDefBase.cellRenderer = GridProRendererTypes.boolean;
|
|
458
|
+
colDefBase.cellEditor = GridProRendererTypes.boolean;
|
|
458
459
|
}
|
|
459
460
|
break;
|
|
460
461
|
case FieldTypeEnum.DATE:
|
|
@@ -463,13 +464,18 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
|
|
|
463
464
|
case FieldTypeEnum.DATETIME:
|
|
464
465
|
colDefBase.valueFormatter = dateTimeValueFormatter;
|
|
465
466
|
break;
|
|
467
|
+
case FieldTypeEnum.ENUM:
|
|
468
|
+
colDefBase.cellEditor = GridProRendererTypes.selectEditor;
|
|
469
|
+
colDefBase.cellEditorParams = {
|
|
470
|
+
values: field.enumOptions.map((option) => ({ value: option, label: option })),
|
|
471
|
+
valueField: 'value',
|
|
472
|
+
labelField: 'label',
|
|
473
|
+
};
|
|
474
|
+
break;
|
|
466
475
|
default:
|
|
467
476
|
break;
|
|
468
477
|
}
|
|
469
478
|
const colDefExtras = (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.getColumnDef(field.name);
|
|
470
|
-
if (this.agGrid.onlyTemplateColDefs && !colDefExtras) {
|
|
471
|
-
return [];
|
|
472
|
-
}
|
|
473
479
|
if (this.fields && !this.fields.includes(field.name)) {
|
|
474
480
|
return [];
|
|
475
481
|
}
|
package/dist/esm/grid-pro.js
CHANGED
|
@@ -8,6 +8,7 @@ import { attr, DOM, observable } from '@microsoft/fast-element';
|
|
|
8
8
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
9
9
|
import { classNames } from '@microsoft/fast-web-utilities';
|
|
10
10
|
import { GridProCell } from './cell';
|
|
11
|
+
import { SelectEditor } from './cell-editors';
|
|
11
12
|
import { ActionRenderer, ActionsMenuRenderer, BooleanRenderer } from './cell-renderers';
|
|
12
13
|
import { GridProColumn } from './column';
|
|
13
14
|
import { agThemeFontFaceMap, defaultAgGridFontFace } from './external';
|
|
@@ -139,6 +140,7 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
|
|
|
139
140
|
[GridProRendererTypes.action]: ActionRenderer,
|
|
140
141
|
[GridProRendererTypes.actionsMenu]: ActionsMenuRenderer,
|
|
141
142
|
[GridProRendererTypes.boolean]: BooleanRenderer,
|
|
143
|
+
[GridProRendererTypes.selectEditor]: SelectEditor,
|
|
142
144
|
};
|
|
143
145
|
return Object.assign(Object.assign(Object.assign({}, defaultFoundationAgComponents), gridOptionsComponents), this.gridComponents);
|
|
144
146
|
}
|
|
@@ -326,34 +328,24 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
|
|
|
326
328
|
*/
|
|
327
329
|
mergeAllColumnDefsAndStates(columnDefs, deferredColumnDefsOrState = false) {
|
|
328
330
|
var _a;
|
|
329
|
-
const
|
|
330
|
-
const
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
return x.definition;
|
|
348
|
-
}
|
|
349
|
-
const typeValueFormatter = (_a = columnDefinitions.find((colDef) => x.definition.field === colDef.field)) === null || _a === void 0 ? void 0 : _a.valueFormatter;
|
|
350
|
-
if (typeValueFormatter) {
|
|
351
|
-
x.definition.valueFormatter = typeValueFormatter;
|
|
352
|
-
}
|
|
353
|
-
return x.definition;
|
|
354
|
-
}),
|
|
355
|
-
];
|
|
356
|
-
}
|
|
331
|
+
const columnDefinitionsFromMetadata = columnDefs || [];
|
|
332
|
+
const templateColumnDefs = Array.from(this.querySelectorAll(this.columnComponentName))
|
|
333
|
+
.map((templateColumn) => templateColumn.definition)
|
|
334
|
+
.map((columnDef) => {
|
|
335
|
+
// enable cell flashing for each column if unspecified on column level but enabled on grid level
|
|
336
|
+
if (this.enableCellFlashing && columnDef.enableCellChangeFlash === undefined) {
|
|
337
|
+
columnDef.enableCellChangeFlash = true;
|
|
338
|
+
}
|
|
339
|
+
const metadataColumnDef = columnDefinitionsFromMetadata.find((colDef) => columnDef.field === colDef.field);
|
|
340
|
+
return Object.assign(Object.assign({}, metadataColumnDef), columnDef);
|
|
341
|
+
});
|
|
342
|
+
const templateColumnKeys = templateColumnDefs.map((x) => x.field);
|
|
343
|
+
const colDefsToReturn = [
|
|
344
|
+
...templateColumnDefs,
|
|
345
|
+
...(this.onlyTemplateColDefs
|
|
346
|
+
? []
|
|
347
|
+
: columnDefinitionsFromMetadata.filter((g) => !templateColumnKeys.includes(g.field))),
|
|
348
|
+
];
|
|
357
349
|
if (this.gridProGenesisDatasource && deferredColumnDefsOrState) {
|
|
358
350
|
const savedColumnState = this.getSavedColumnState();
|
|
359
351
|
if ((savedColumnState === null || savedColumnState === void 0 ? void 0 : savedColumnState.length) > 0) {
|
|
@@ -127,6 +127,7 @@ export var GridProRendererTypes;
|
|
|
127
127
|
GridProRendererTypes["boolean"] = "boolean";
|
|
128
128
|
GridProRendererTypes["text"] = "text";
|
|
129
129
|
GridProRendererTypes["select"] = "select";
|
|
130
|
+
GridProRendererTypes["selectEditor"] = "selectEditor";
|
|
130
131
|
})(GridProRendererTypes || (GridProRendererTypes = {}));
|
|
131
132
|
/**
|
|
132
133
|
* Event fired when grid is ready
|