@talxis/base-controls 1.2501.6 → 1.2501.8

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.
@@ -30,6 +30,9 @@ class AgGrid extends GridDependency {
30
30
  cellRenderer: ReadOnlyCell,
31
31
  cellEditor: EditableCell,
32
32
  headerComponent: ColumnHeader,
33
+ onCellClicked: (event) => {
34
+ this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);
35
+ },
33
36
  valueFormatter: (p) => {
34
37
  if (column.name === CHECKBOX_COLUMN_KEY) {
35
38
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { ColDef, EditableCallbackParams, GridApi, IRowNode } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { DataType } from \"../../../enums/DataType\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { IRecord } from \"@talxis/client-libraries\";\nimport { ReadOnlyCell } from \"../../Cell/ReadOnlyCell/ReadOnlyCell\";\nimport { EditableCell } from \"../../Cell/EditableCell/EditableCell\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>) {\n super(grid);\n this._gridApiRef = gridApiRef;\n }\n public get columns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n initialWidth: column.visualSizeFactor,\n sortable: !column.disableSorting,\n editable: (p) => this._isColumnEditable(column, p), \n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n cellClass: this._getCellClassName(column),\n cellRenderer: ReadOnlyCell,\n cellEditor: EditableCell,\n headerComponent: ColumnHeader,\n valueFormatter: (p) => {\n if(column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data.getFormattedValue(column.name)\n },\n valueGetter: (p) => {\n if(column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data.getValue(column.name)\n },\n cellRendererParams: {\n baseColumn: column\n },\n cellEditorParams: {\n baseColumn: column,\n },\n headerComponentParams: {\n baseColumn: column\n },\n suppressKeyboardEvent: (params) => {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER:\n case DataType.MULTI_SELECT_OPTIONSET:\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.WHOLE_DURATION: {\n return true;\n }\n }\n return false;\n },\n }\n if(agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public selectRows() {\n if (!this._gridApi) {\n return;\n }\n const nodesToSelect: IRowNode[] = [];\n this._gridApi.deselectAll();\n this._gridApi.forEachNode((node: IRowNode) => {\n if (this._grid.dataset.getSelectedRecordIds().includes(node.data.getRecordId())) {\n nodesToSelect.push(node);\n }\n });\n this._gridApi.setNodesSelected({\n nodes: nodesToSelect,\n newValue: true\n });\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true\n })\n }\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n private _getCellClassName(column: IGridColumn) {\n switch (column.dataType) {\n case DataType.CURRENCY:\n case DataType.DECIMAL:\n case DataType.WHOLE_NONE: {\n return 'talxis-cell-align-right';\n }\n }\n return 'talxis-cell-align-left';\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (!this._grid.parameters.EnableEditing?.raw || params.data?.ui.isLoading?.(column.name) === true) {\n return false;\n }\n return params.data?.getColumnInfo(column.name).security.editable ?? true;\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { ColDef, EditableCallbackParams, GridApi, IRowNode } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { DataType } from \"../../../enums/DataType\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { IRecord } from \"@talxis/client-libraries\";\nimport { ReadOnlyCell } from \"../../Cell/ReadOnlyCell/ReadOnlyCell\";\nimport { EditableCell } from \"../../Cell/EditableCell/EditableCell\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>) {\n super(grid);\n this._gridApiRef = gridApiRef;\n }\n public get columns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n initialWidth: column.visualSizeFactor,\n sortable: !column.disableSorting,\n editable: (p) => this._isColumnEditable(column, p), \n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n cellClass: this._getCellClassName(column),\n cellRenderer: ReadOnlyCell,\n cellEditor: EditableCell,\n headerComponent: ColumnHeader,\n onCellClicked: (event) => {\n this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);\n },\n valueFormatter: (p) => {\n if(column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data.getFormattedValue(column.name)\n },\n valueGetter: (p) => {\n if(column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data.getValue(column.name)\n },\n cellRendererParams: {\n baseColumn: column\n },\n cellEditorParams: {\n baseColumn: column,\n },\n headerComponentParams: {\n baseColumn: column\n },\n suppressKeyboardEvent: (params) => {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER:\n case DataType.MULTI_SELECT_OPTIONSET:\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.WHOLE_DURATION: {\n return true;\n }\n }\n return false;\n },\n }\n if(agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public selectRows() {\n if (!this._gridApi) {\n return;\n }\n const nodesToSelect: IRowNode[] = [];\n this._gridApi.deselectAll();\n this._gridApi.forEachNode((node: IRowNode) => {\n if (this._grid.dataset.getSelectedRecordIds().includes(node.data.getRecordId())) {\n nodesToSelect.push(node);\n }\n });\n this._gridApi.setNodesSelected({\n nodes: nodesToSelect,\n newValue: true\n });\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true\n })\n }\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n private _getCellClassName(column: IGridColumn) {\n switch (column.dataType) {\n case DataType.CURRENCY:\n case DataType.DECIMAL:\n case DataType.WHOLE_NONE: {\n return 'talxis-cell-align-right';\n }\n }\n return 'talxis-cell-align-left';\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (!this._grid.parameters.EnableEditing?.raw || params.data?.ui.isLoading?.(column.name) === true) {\n return false;\n }\n return params.data?.getColumnInfo(column.name).security.editable ?? true;\n }\n}"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -77,9 +77,28 @@ interface IFluentDesignState extends ComponentFramework.FluentDesignState {
77
77
  */
78
78
  applicationTheme?: ITheme;
79
79
  }
80
+ declare class ControlTheme {
81
+ static GetV8ThemeFromFluentDesignLanguage(fluentDesignLanguage?: IFluentDesignState): ITheme;
82
+ static GenerateFluentDesignLanguage(primaryColor: string, backgroundColor: string, textColor: string, options?: {
83
+ v8FluentOverrides?: DeepPartial<ITheme>;
84
+ applicationTheme?: ITheme;
85
+ }): IFluentDesignState;
86
+ }
80
87
 
81
88
  declare const useControlTheme: (fluentDesignLanguage?: IFluentDesignState) => ITheme$1;
82
89
 
90
+ declare const useControlThemeGenerator: (primaryColor: string, backgroundColor: string, textColor: string, options?: {
91
+ /**
92
+ * Optional overrides that will get applied when v8 theme is generated from fluentDesignLanguage
93
+ */
94
+ v8FluentOverrides?: DeepPartial<ITheme$1>;
95
+ /**
96
+ * The application's theme may differ from the control's theme. This is often the case when rendering a PCF as a cell customizer with conditional formatting.
97
+ * This object allows you to set application theme so PCF's can use it to render surfaces accurately.
98
+ */
99
+ applicationTheme?: ITheme$1;
100
+ }) => IFluentDesignState;
101
+
83
102
  interface IOutputs$1 {
84
103
  [key: string]: any;
85
104
  }
@@ -894,4 +913,4 @@ interface IDatasetControl extends IControl<IGridParameters, IGridOutputs, Partia
894
913
 
895
914
  declare const DatasetControl: (props: IDatasetControl) => JSX.Element;
896
915
 
897
- export { DatasetControl, DateTime, Decimal, Duration, Grid, IContext, IControl, IControlController, IDatasetControl, IDateTime, IDateTimeOutputs, IDateTimeParameters, IDateTimeProperty, IDecimal, IDecimalNumberProperty, IDecimalOutputs, IDecimalParameters, IDefaultTranslations, IDuration, IDurationOutputs, IDurationParameters, IEntity, IGrid, IGridOutputs, IGridParameters, ILayout, ILookup, ILookupOutputs, ILookupParameters, ILookupProperty, IMetadata, IMultiSelectOptionSet, IMultiSelectOptionSetOutputs, IMultiSelectOptionSetParameters, IMultiSelectOptionSetProperty, IOptionSet, IOptionSetOutputs, IOptionSetParameters, IOptionSetProperty, IOutputs, IParameters$1 as IParameters, IProperty, IStringProperty, ITextField, ITextFieldOutputs, ITextFieldParameters, ITranslation, ITranslations, ITwoOptions, ITwoOptionsOutputs, ITwoOptionsParameters, ITwoOptionsProperty, IWholeNumberProperty, Lookup, MultiSelectOptionSet, OptionSet, TextField, TwoOptions, useControl, useControlSizing, useControlTheme, useDateTime, useFocusIn, useInputBasedControl, useLookup, useMouseOver };
916
+ export { ControlTheme, DatasetControl, DateTime, Decimal, Duration, Grid, IContext, IControl, IControlController, IDatasetControl, IDateTime, IDateTimeOutputs, IDateTimeParameters, IDateTimeProperty, IDecimal, IDecimalNumberProperty, IDecimalOutputs, IDecimalParameters, IDefaultTranslations, IDuration, IDurationOutputs, IDurationParameters, IEntity, IFluentDesignState, IGrid, IGridOutputs, IGridParameters, ILayout, ILookup, ILookupOutputs, ILookupParameters, ILookupProperty, IMetadata, IMultiSelectOptionSet, IMultiSelectOptionSetOutputs, IMultiSelectOptionSetParameters, IMultiSelectOptionSetProperty, IOptionSet, IOptionSetOutputs, IOptionSetParameters, IOptionSetProperty, IOutputs, IParameters$1 as IParameters, IProperty, IStringProperty, ITextField, ITextFieldOutputs, ITextFieldParameters, ITranslation, ITranslations, ITwoOptions, ITwoOptionsOutputs, ITwoOptionsParameters, ITwoOptionsProperty, IWholeNumberProperty, Lookup, MultiSelectOptionSet, OptionSet, TextField, TwoOptions, useControl, useControlSizing, useControlTheme, useControlThemeGenerator, useDateTime, useFocusIn, useInputBasedControl, useLookup, useMouseOver };
package/dist/index.js CHANGED
@@ -4,6 +4,8 @@ export { useFocusIn } from './hooks/useFocusIn.js';
4
4
  export { useInputBasedControl } from './hooks/useInputBasedControl.js';
5
5
  export { useMouseOver } from './hooks/useMouseOver.js';
6
6
  export { useControlTheme } from './utils/theme/hooks/useControlTheme.js';
7
+ export { ControlTheme } from './utils/theme/ControlTheme.js';
8
+ export { useControlThemeGenerator } from './utils/theme/hooks/useControlThemeGenerator.js';
7
9
  export { DateTime } from './components/DateTime/DateTime.js';
8
10
  export { useDateTime } from './components/DateTime/hooks/useDateTime.js';
9
11
  export { Decimal } from './components/Decimal/Decimal.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talxis/base-controls",
3
- "version": "1.2501.6",
3
+ "version": "1.2501.8",
4
4
  "description": "Set of React components that natively work with Power Apps Component Framework API's",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -72,7 +72,7 @@
72
72
  "@ag-grid-community/styles": "^31.3.2",
73
73
  "@fluentui/react": "<=8.121.5",
74
74
  "@fluentui/react-migration-v8-v9": "^9.6.20",
75
- "@talxis/client-libraries": "1.2412.2",
75
+ "@talxis/client-libraries": "1.2501.3",
76
76
  "@talxis/react-components": "^1.2501.8",
77
77
  "color": "^4.2.3",
78
78
  "dayjs": "^1.11.10",