Aggrid custom

This commit is contained in:
2026-03-17 08:44:54 +01:00
commit 739374d83f
3234 changed files with 1533165 additions and 0 deletions

72
node_modules/ag-grid-enterprise/CONTRIBUTING.md generated vendored Executable file
View File

@@ -0,0 +1,72 @@
# Contributing to AG Grid Enterprise
AG Grid Enterprise is copyright commercial software. If you provide a PR, you must also state that you agree to the following:
# Retention of Intellectual Property Rights for AG Grid Enterprise component
1.DEFINITIONS
“the Software” means the AG Grid Enterprise software as location the the repository
https://github.com/ag-grid/ag-grid-enterprise.
“Software Rights” means all intellectual property rights inherent in or relating to the Software,
which include, but are not limited to, all copyright, patent rights, all rights in relation to registered
and unregistered trademarks (including service marks) and confidential information (including trade secrets
and know-how)
2.RETENTION OF INTELLECTUAL PROPERTY RIGHTS
AG GRID LTD reserve ownership of all software rights for the software. Upon contributing to the software
you agree to grant AG GRID LTD all software rights free of charge. You acknowledge that all software rights
will belong to AG GRID LTD and will not seek payment. AG GRID LTD reserve the right to do with the software
what it wishes. AG GRID LTD is under no obligation as to what it does with the contributed software.
- [Question or Problem?](#question)
- [Issues and Bugs](#issue)
- [Feature Requests](#feature)
- [Submission Guidelines](#submit)
- [Coding Rules](#rules)
- [Commit Message Guidelines](#commit)
- [Signing the CLA](#cla)
## <a name="question"></a> Got a Question or Problem?
Please, do not open issues for general support questions as we want to keep GitHub issues for bug reports and feature requests. You've got much better chances of getting your question answered on [StackOverflow](https://stackoverflow.com/questions/tagged/ag-grid) where the questions should be tagged with tag `ag-grid`.
If you're using the Enterprise version of AG Grid (ag-grid-enterprise), then you should use our [Support Portal](https://ag-grid.zendesk.com/) - you'll get a much quicker response there. Please contact accounts@ag-grid.com for access.
To save your and our time we will be systematically closing all the issues that are requests for general support (for AG Grid Community) and redirecting people to StackOverflow.
## <a name="issue"></a> Found a Bug?
If you find a bug in the source code, you can help us by
[submitting an issue](#submit-issue) to our [GitHub Repository][github].
## <a name="feature"></a> Missing a Feature?
You can _request_ a new feature by [submitting an issue](#submit-issue) to our GitHub
Repository.
## <a name="submit"></a> Submission Guidelines
### <a name="submit-issue"></a> Submitting an Issue
Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.
We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs we will systematically ask you to provide a minimal reproduction scenario using http://plnkr.co. Having a live, reproducible scenario gives us wealth of important information without going back & forth to you with additional questions like:
- version of AG Grid Enterprise used
- 3rd-party libraries and their versions
- and most importantly - a use-case that fails
A minimal reproduce scenario using http://plnkr.co/ allows us to quickly confirm a bug (or point out coding problem) as well as confirm that we are fixing the right problem. If plunker is not a suitable way to demonstrate the problem (for example for issues related to our npm packaging), please create a standalone git repository demonstrating the problem.
We will be insisting on a minimal reproduce scenario in order to save maintainers time and ultimately be able to fix more bugs. Interestingly, from our experience users often find coding problems themselves while preparing a minimal plunk. We understand that sometimes it might be hard to extract essentials bits of code from a larger code-base but we really need to isolate the problem before we can fix it.
You can file new issues by filling out our [new issue form](https://github.com/ag-grid/ag-grid-enterprise/issues/new).
[github]: https://github.com/ag-grid/ag-grid-enterprise
[jsfiddle]: http://jsfiddle.net
[plunker]: http://plnkr.co/edit
[runnable]: http://runnable.com
[stackoverflow]: http://stackoverflow.com/questions/tagged/ag-grid

2458
node_modules/ag-grid-enterprise/LICENSE.html generated vendored Executable file

File diff suppressed because it is too large Load Diff

22
node_modules/ag-grid-enterprise/README.md generated vendored Executable file
View File

@@ -0,0 +1,22 @@
# AG Grid Enterprise
This project contains AG Grid Enterprise features.
See [www.ag-grid.com](http://www.ag-grid.com) for an overview and full documentation.
# Frameworks Supported
Framework specific Getting Started guides:
[Angular](https://www.ag-grid.com/angular-data-grid/getting-started/) | [Javascript](https://www.ag-grid.com/javascript-grid/getting-started/) | [React](https://www.ag-grid.com/react-data-grid/getting-started/) | [TypeScript](https://www.ag-grid.com/javascript-grid/building-typescript/) | [VueJS](https://www.ag-grid.com/vue-data-grid/getting-started/)
This is not free software, this software is covered by copyright and to use you need a commercial license.
See the [LICENSE file](./LICENSE.html) for more info.
# Issue Reporting
If you are an Enterprise customer (or are evaluating AG Grid Enterprise) and wish to report a Bug or raise a new Feature Request please do so on our [Support Portal](https://ag-grid.zendesk.com/).
To Sign Up:
Send an email to accounts@ag-grid.com with your license key

1
node_modules/ag-grid-enterprise/SUPPORT_AND_MAINTENANCE.md generated vendored Executable file
View File

@@ -0,0 +1 @@
Support and Maintenance document is now merged into the licence document. Please see the licence.

133594
node_modules/ag-grid-enterprise/dist/ag-grid-enterprise.js generated vendored Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

132039
node_modules/ag-grid-enterprise/dist/ag-grid-enterprise.noStyle.js generated vendored Executable file

File diff suppressed because one or more lines are too long

62558
node_modules/ag-grid-enterprise/dist/package/main.cjs.js generated vendored Executable file

File diff suppressed because one or more lines are too long

204
node_modules/ag-grid-enterprise/dist/package/main.cjs.min.js generated vendored Executable file

File diff suppressed because one or more lines are too long

204
node_modules/ag-grid-enterprise/dist/package/main.esm.min.mjs generated vendored Executable file

File diff suppressed because one or more lines are too long

63336
node_modules/ag-grid-enterprise/dist/package/main.esm.mjs generated vendored Executable file

File diff suppressed because one or more lines are too long

140
node_modules/ag-grid-enterprise/dist/package/package.json generated vendored Executable file
View File

@@ -0,0 +1,140 @@
{
"name": "ag-grid-enterprise",
"version": "35.1.0",
"description": "Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue",
"main": "./dist/package/main.cjs.js",
"types": "./dist/types/src/main.d.ts",
"module": "./dist/package/main.esm.mjs",
"exports": {
".": {
"import": "./dist/package/main.esm.mjs",
"types": "./dist/types/src/main.d.ts",
"require": "./dist/package/main.cjs.js",
"default": "./dist/package/main.cjs.js"
},
"./styles/ag-grid-no-native-widgets.css": "./styles/ag-grid-no-native-widgets.css",
"./styles/ag-grid-no-native-widgets.min.css": "./styles/ag-grid-no-native-widgets.min.css",
"./styles/ag-grid.css": "./styles/ag-grid.css",
"./styles/ag-grid.min.css": "./styles/ag-grid.min.css",
"./styles/ag-theme-alpine-no-font.css": "./styles/ag-theme-alpine-no-font.css",
"./styles/ag-theme-alpine-no-font.min.css": "./styles/ag-theme-alpine-no-font.min.css",
"./styles/ag-theme-alpine.css": "./styles/ag-theme-alpine.css",
"./styles/ag-theme-alpine.min.css": "./styles/ag-theme-alpine.min.css",
"./styles/ag-theme-balham-no-font.css": "./styles/ag-theme-balham-no-font.css",
"./styles/ag-theme-balham-no-font.min.css": "./styles/ag-theme-balham-no-font.min.css",
"./styles/ag-theme-balham.css": "./styles/ag-theme-balham.css",
"./styles/ag-theme-balham.min.css": "./styles/ag-theme-balham.min.css",
"./styles/ag-theme-material-no-font.css": "./styles/ag-theme-material-no-font.css",
"./styles/ag-theme-material-no-font.min.css": "./styles/ag-theme-material-no-font.min.css",
"./styles/ag-theme-material.css": "./styles/ag-theme-material.css",
"./styles/ag-theme-material.min.css": "./styles/ag-theme-material.min.css",
"./styles/ag-theme-quartz-no-font.css": "./styles/ag-theme-quartz-no-font.css",
"./styles/ag-theme-quartz-no-font.min.css": "./styles/ag-theme-quartz-no-font.min.css",
"./styles/ag-theme-quartz.css": "./styles/ag-theme-quartz.css",
"./styles/ag-theme-quartz.min.css": "./styles/ag-theme-quartz.min.css",
"./styles/agGridAlpineFont.css": "./styles/agGridAlpineFont.css",
"./styles/agGridAlpineFont.min.css": "./styles/agGridAlpineFont.min.css",
"./styles/agGridBalhamFont.css": "./styles/agGridBalhamFont.css",
"./styles/agGridBalhamFont.min.css": "./styles/agGridBalhamFont.min.css",
"./styles/agGridClassicFont.css": "./styles/agGridClassicFont.css",
"./styles/agGridClassicFont.min.css": "./styles/agGridClassicFont.min.css",
"./styles/agGridMaterialFont.css": "./styles/agGridMaterialFont.css",
"./styles/agGridMaterialFont.min.css": "./styles/agGridMaterialFont.min.css",
"./styles/agGridQuartzFont.css": "./styles/agGridQuartzFont.css",
"./styles/agGridQuartzFont.min.css": "./styles/agGridQuartzFont.min.css",
"./styles": "./styles/_index.scss"
},
"sideEffects": [
"./styles/ag-grid-no-native-widgets.css",
"./styles/ag-grid-no-native-widgets.min.css",
"./styles/ag-grid.css",
"./styles/ag-grid.min.css",
"./styles/ag-theme-alpine-no-font.css",
"./styles/ag-theme-alpine-no-font.min.css",
"./styles/ag-theme-alpine.css",
"./styles/ag-theme-alpine.min.css",
"./styles/ag-theme-balham-no-font.css",
"./styles/ag-theme-balham-no-font.min.css",
"./styles/ag-theme-balham.css",
"./styles/ag-theme-balham.min.css",
"./styles/ag-theme-material-no-font.css",
"./styles/ag-theme-material-no-font.min.css",
"./styles/ag-theme-material.css",
"./styles/ag-theme-material.min.css",
"./styles/ag-theme-quartz-no-font.css",
"./styles/ag-theme-quartz-no-font.min.css",
"./styles/ag-theme-quartz.css",
"./styles/ag-theme-quartz.min.css",
"./styles/agGridAlpineFont.css",
"./styles/agGridAlpineFont.min.css",
"./styles/agGridBalhamFont.css",
"./styles/agGridBalhamFont.min.css",
"./styles/agGridClassicFont.css",
"./styles/agGridClassicFont.min.css",
"./styles/agGridMaterialFont.css",
"./styles/agGridMaterialFont.min.css",
"./styles/agGridQuartzFont.css",
"./styles/agGridQuartzFont.min.css"
],
"repository": {
"type": "git",
"url": "https://github.com/ag-grid/ag-grid.git"
},
"keywords": [
"ag",
"ag-grid",
"datagrid",
"data-grid",
"datatable",
"data-table",
"grid",
"table",
"react",
"table",
"angular",
"angular-component",
"react",
"react-component",
"reactjs",
"vue",
"vuejs"
],
"author": "Sean Landsman <sean@thelandsmans.com>",
"license": "Commercial",
"bugs": {
"url": "https://github.com/ag-grid/ag-grid/issues"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie >= 0",
"not ie_mob >= 0",
"not blackberry > 0"
],
"homepage": "https://www.ag-grid.com/",
"dependencies": {
"ag-grid-community": "35.1.0"
},
"optionalDependencies": {
"ag-charts-community": "13.1.0",
"ag-charts-enterprise": "13.1.0"
},
"devDependencies": {
"source-map-loader": "^5.0.0",
"ag-charts-community": "13.1.0",
"ag-charts-enterprise": "13.1.0",
"ts-loader": "^9.5.1",
"esbuild-loader": "^4.4.0",
"style-loader": "^3.3.4",
"css-loader": "^6.10.0",
"postcss-loader": "^8.1.0",
"webpack-cli": "^5.1.4",
"terser-webpack-plugin": "^5.3.10",
"postcss-preset-env": "^9.5.0",
"@types/jest": "^29.5.0",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.7.0",
"jest-canvas-mock": "2.5.2",
"canvas": "^3.2.1"
}
}

141
node_modules/ag-grid-enterprise/dist/types/package.json generated vendored Executable file
View File

@@ -0,0 +1,141 @@
{
"name": "ag-grid-enterprise",
"version": "35.1.0",
"description": "Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue",
"main": "./dist/package/main.cjs.js",
"types": "./dist/types/src/main.d.ts",
"module": "./dist/package/main.esm.mjs",
"exports": {
".": {
"import": "./dist/package/main.esm.mjs",
"types": "./dist/types/src/main.d.ts",
"require": "./dist/package/main.cjs.js",
"default": "./dist/package/main.cjs.js"
},
"./styles/ag-grid-no-native-widgets.css": "./styles/ag-grid-no-native-widgets.css",
"./styles/ag-grid-no-native-widgets.min.css": "./styles/ag-grid-no-native-widgets.min.css",
"./styles/ag-grid.css": "./styles/ag-grid.css",
"./styles/ag-grid.min.css": "./styles/ag-grid.min.css",
"./styles/ag-theme-alpine-no-font.css": "./styles/ag-theme-alpine-no-font.css",
"./styles/ag-theme-alpine-no-font.min.css": "./styles/ag-theme-alpine-no-font.min.css",
"./styles/ag-theme-alpine.css": "./styles/ag-theme-alpine.css",
"./styles/ag-theme-alpine.min.css": "./styles/ag-theme-alpine.min.css",
"./styles/ag-theme-balham-no-font.css": "./styles/ag-theme-balham-no-font.css",
"./styles/ag-theme-balham-no-font.min.css": "./styles/ag-theme-balham-no-font.min.css",
"./styles/ag-theme-balham.css": "./styles/ag-theme-balham.css",
"./styles/ag-theme-balham.min.css": "./styles/ag-theme-balham.min.css",
"./styles/ag-theme-material-no-font.css": "./styles/ag-theme-material-no-font.css",
"./styles/ag-theme-material-no-font.min.css": "./styles/ag-theme-material-no-font.min.css",
"./styles/ag-theme-material.css": "./styles/ag-theme-material.css",
"./styles/ag-theme-material.min.css": "./styles/ag-theme-material.min.css",
"./styles/ag-theme-quartz-no-font.css": "./styles/ag-theme-quartz-no-font.css",
"./styles/ag-theme-quartz-no-font.min.css": "./styles/ag-theme-quartz-no-font.min.css",
"./styles/ag-theme-quartz.css": "./styles/ag-theme-quartz.css",
"./styles/ag-theme-quartz.min.css": "./styles/ag-theme-quartz.min.css",
"./styles/agGridAlpineFont.css": "./styles/agGridAlpineFont.css",
"./styles/agGridAlpineFont.min.css": "./styles/agGridAlpineFont.min.css",
"./styles/agGridBalhamFont.css": "./styles/agGridBalhamFont.css",
"./styles/agGridBalhamFont.min.css": "./styles/agGridBalhamFont.min.css",
"./styles/agGridClassicFont.css": "./styles/agGridClassicFont.css",
"./styles/agGridClassicFont.min.css": "./styles/agGridClassicFont.min.css",
"./styles/agGridMaterialFont.css": "./styles/agGridMaterialFont.css",
"./styles/agGridMaterialFont.min.css": "./styles/agGridMaterialFont.min.css",
"./styles/agGridQuartzFont.css": "./styles/agGridQuartzFont.css",
"./styles/agGridQuartzFont.min.css": "./styles/agGridQuartzFont.min.css",
"./styles": "./styles/_index.scss"
},
"sideEffects": [
"./styles/ag-grid-no-native-widgets.css",
"./styles/ag-grid-no-native-widgets.min.css",
"./styles/ag-grid.css",
"./styles/ag-grid.min.css",
"./styles/ag-theme-alpine-no-font.css",
"./styles/ag-theme-alpine-no-font.min.css",
"./styles/ag-theme-alpine.css",
"./styles/ag-theme-alpine.min.css",
"./styles/ag-theme-balham-no-font.css",
"./styles/ag-theme-balham-no-font.min.css",
"./styles/ag-theme-balham.css",
"./styles/ag-theme-balham.min.css",
"./styles/ag-theme-material-no-font.css",
"./styles/ag-theme-material-no-font.min.css",
"./styles/ag-theme-material.css",
"./styles/ag-theme-material.min.css",
"./styles/ag-theme-quartz-no-font.css",
"./styles/ag-theme-quartz-no-font.min.css",
"./styles/ag-theme-quartz.css",
"./styles/ag-theme-quartz.min.css",
"./styles/agGridAlpineFont.css",
"./styles/agGridAlpineFont.min.css",
"./styles/agGridBalhamFont.css",
"./styles/agGridBalhamFont.min.css",
"./styles/agGridClassicFont.css",
"./styles/agGridClassicFont.min.css",
"./styles/agGridMaterialFont.css",
"./styles/agGridMaterialFont.min.css",
"./styles/agGridQuartzFont.css",
"./styles/agGridQuartzFont.min.css"
],
"repository": {
"type": "git",
"url": "https://github.com/ag-grid/ag-grid.git"
},
"keywords": [
"ag",
"ag-grid",
"datagrid",
"data-grid",
"datatable",
"data-table",
"grid",
"table",
"react",
"table",
"angular",
"angular-component",
"react",
"react-component",
"reactjs",
"vue",
"vuejs"
],
"author": "Sean Landsman <sean@thelandsmans.com>",
"license": "Commercial",
"bugs": {
"url": "https://github.com/ag-grid/ag-grid/issues"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie >= 0",
"not ie_mob >= 0",
"not blackberry > 0"
],
"homepage": "https://www.ag-grid.com/",
"dependencies": {
"ag-grid-community": "35.1.0"
},
"optionalDependencies": {
"ag-charts-community": "13.1.0",
"ag-charts-enterprise": "13.1.0"
},
"devDependencies": {
"source-map-loader": "^5.0.0",
"ag-charts-community": "13.1.0",
"ag-charts-enterprise": "13.1.0",
"ts-loader": "^9.5.1",
"esbuild-loader": "^4.4.0",
"style-loader": "^3.3.4",
"css-loader": "^6.10.0",
"postcss-loader": "^8.1.0",
"webpack-cli": "^5.1.4",
"terser-webpack-plugin": "^5.3.10",
"postcss-preset-env": "^9.5.0",
"@types/jest": "^29.5.0",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.7.0",
"jest-canvas-mock": "2.5.2",
"canvas": "^3.2.1"
},
"type": "commonjs"
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,5 @@
import type { AdvancedFilterModel, BeanCollection } from 'ag-grid-community';
export declare function getAdvancedFilterModel(beans: BeanCollection): AdvancedFilterModel | null;
export declare function setAdvancedFilterModel(beans: BeanCollection, advancedFilterModel: AdvancedFilterModel | null): void;
export declare function showAdvancedFilterBuilder(beans: BeanCollection): void;
export declare function hideAdvancedFilterBuilder(beans: BeanCollection): void;

View File

@@ -0,0 +1,35 @@
import type { BeanCollection } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
export declare class AdvancedFilterComp extends Component {
private advancedFilter;
private advFilterExpSvc;
private filterManager?;
private registry;
wireBeans(beans: BeanCollection): void;
private readonly eAutocomplete;
private readonly eButtons;
private readonly eBuilderFilterButton;
private readonly eBuilderFilterButtonIcon;
private readonly eBuilderFilterButtonLabel;
private expressionParser;
private isApplyDisabled;
private builderOpen;
private tooltipFeature?;
constructor();
postConstruct(): void;
refresh(): void;
setInputDisabled(disabled: boolean): void;
private setupButtons;
private updateModel;
private setupBuilderButton;
private onValueChanged;
private onValueConfirmed;
private onOptionSelected;
private validateValue;
private onValidChanged;
private generateAutocompleteListParams;
private updateExpression;
private forceLastSelection;
private openBuilder;
private closeBuilder;
}

View File

@@ -0,0 +1,38 @@
import type { BeanCollection, IAdvancedFilterCtrl } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
type AdvancedFilterCtrlEvent = 'advancedFilterBuilderClosed';
export declare class AdvancedFilterCtrl extends BeanStub<AdvancedFilterCtrlEvent> implements IAdvancedFilterCtrl {
private enabled;
private ctrlsSvc;
private popupSvc;
private advFilterExpSvc;
private environment;
wireBeans(beans: BeanCollection): void;
private eHeaderComp;
private eFilterComp;
private hasAdvancedFilterParent;
private eBuilderComp;
private eBuilderDialog;
private builderDestroySource?;
constructor(enabled: boolean);
postConstruct(): void;
setupHeaderComp(eCompToInsertBefore: HTMLElement): void;
focusHeaderComp(): boolean;
refreshComp(): void;
refreshBuilderComp(): void;
getHeaderHeight(): number;
setInputDisabled(disabled: boolean): void;
toggleFilterBuilder(params: {
source: 'api' | 'ui';
force?: boolean;
eventSource?: HTMLElement;
}): void;
private dispatchFilterBuilderVisibleChangedEvent;
private getBuilderDialogSize;
private onEnabledChanged;
private updateComps;
private setAdvancedFilterComp;
private setHeaderCompEnabled;
private destroyAdvancedFilterComp;
}
export {};

View File

@@ -0,0 +1,54 @@
import type { AgColumn, BaseCellDataType, BeanCollection, ColumnAdvancedFilterModel, JoinAdvancedFilterModel, NamedBean } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
import { ADVANCED_FILTER_LOCALE_TEXT } from './advancedFilterLocaleText';
import type { AutocompleteEntry, AutocompleteListParams } from './autocomplete/autocompleteParams';
import type { DataTypeFilterExpressionOperators, FilterExpressionEvaluatorParams, FilterExpressionOperator, FilterExpressionOperators } from './filterExpressionOperators';
export declare class AdvancedFilterExpressionService extends BeanStub implements NamedBean {
beanName: "advFilterExpSvc";
private valueSvc;
private colModel;
private colNames;
private dataTypeSvc?;
private readonly filterOperandGetters;
private readonly operandModelValueGetters;
wireBeans(beans: BeanCollection): void;
private columnNameToIdMap;
private columnAutocompleteEntries;
private expressionOperators;
private expressionJoinOperators;
private expressionEvaluatorParams;
postConstruct(): void;
parseJoinOperator(model: JoinAdvancedFilterModel): string;
getColumnDisplayValue(model: ColumnAdvancedFilterModel): string | undefined;
getOperatorDisplayValue(model: ColumnAdvancedFilterModel): string | undefined;
getOperandModelValue(operand: string, baseCellDataType: BaseCellDataType, column: AgColumn): string | number | null;
getOperandDisplayValue(model: ColumnAdvancedFilterModel, skipFormatting?: boolean): string;
parseColumnFilterModel(model: ColumnAdvancedFilterModel): string;
updateAutocompleteCache(updateEntry: AutocompleteEntry, type?: string): void;
translate(key: keyof typeof ADVANCED_FILTER_LOCALE_TEXT, variableValues?: string[]): string;
generateAutocompleteListParams(entries: AutocompleteEntry[], type: string, searchString: string): AutocompleteListParams;
getColumnAutocompleteEntries(): AutocompleteEntry[];
getOperatorAutocompleteEntries(column: AgColumn, baseCellDataType: BaseCellDataType): AutocompleteEntry[];
getJoinOperatorAutocompleteEntries(): AutocompleteEntry[];
getDefaultAutocompleteListParams(searchString: string): AutocompleteListParams;
getDataTypeExpressionOperator(baseCellDataType?: BaseCellDataType): DataTypeFilterExpressionOperators<any> | undefined;
getExpressionOperator(baseCellDataType?: BaseCellDataType, operator?: string): FilterExpressionOperator<any> | undefined;
getExpressionJoinOperators(): {
AND: string;
OR: string;
};
getColId(columnName: string): {
colId: string;
columnName: string;
} | null;
getExpressionEvaluatorParams<ConvertedTValue, TValue = ConvertedTValue>(colId: string): FilterExpressionEvaluatorParams<ConvertedTValue, TValue>;
getColumnDetails(colId: string): {
column?: AgColumn;
baseCellDataType: BaseCellDataType;
};
generateExpressionOperators(): FilterExpressionOperators;
getColumnValue({ displayValue }: AutocompleteEntry): string;
private generateExpressionJoinOperators;
private getActiveOperators;
resetColumnCaches(): void;
}

View File

@@ -0,0 +1,27 @@
import type { BeanCollection } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
export declare class AdvancedFilterHeaderComp extends Component {
private enabled;
private colModel;
private focusSvc;
private ctrlsSvc;
wireBeans(beans: BeanCollection): void;
private eAdvancedFilter;
private height;
constructor(enabled: boolean);
postConstruct(): void;
getFocusableElement(): HTMLElement;
setEnabled(enabled: boolean): void;
refresh(): void;
getHeight(): number;
setInputDisabled(disabled: boolean): void;
private setupAdvancedFilter;
private setEnabledHeight;
private setAriaColumnCount;
private setAriaRowIndex;
private onGridColumnsChanged;
private onKeyDown;
private navigateUpDown;
private navigateLeftRight;
private hasFocus;
}

View File

@@ -0,0 +1,71 @@
export declare const ADVANCED_FILTER_LOCALE_TEXT: {
ariaAdvancedFilterBuilderItem: (variableValues: string[]) => string;
ariaAdvancedFilterBuilderItemValidation: (variableValues: string[]) => string;
ariaAdvancedFilterBuilderList: string;
ariaAdvancedFilterBuilderFilterItem: string;
ariaAdvancedFilterBuilderGroupItem: string;
ariaAdvancedFilterBuilderColumn: string;
ariaAdvancedFilterBuilderOption: string;
ariaAdvancedFilterBuilderValue: string;
ariaAdvancedFilterBuilderJoinOperator: string;
ariaAdvancedFilterInput: string;
ariaLabelAdvancedFilterAutocomplete: string;
advancedFilterContains: string;
advancedFilterNotContains: string;
advancedFilterTextEquals: string;
advancedFilterTextNotEqual: string;
advancedFilterStartsWith: string;
advancedFilterEndsWith: string;
advancedFilterBlank: string;
advancedFilterNotBlank: string;
advancedFilterEquals: string;
advancedFilterNotEqual: string;
advancedFilterGreaterThan: string;
advancedFilterGreaterThanOrEqual: string;
advancedFilterLessThan: string;
advancedFilterLessThanOrEqual: string;
advancedFilterTrue: string;
advancedFilterFalse: string;
advancedFilterAnd: string;
advancedFilterOr: string;
advancedFilterApply: string;
advancedFilterReset: string;
advancedFilterCancel: string;
advancedFilterClear: string;
advancedFilterBuilder: string;
advancedFilterValidationMissingColumn: string;
advancedFilterValidationMissingOption: string;
advancedFilterValidationMissingValue: string;
advancedFilterValidationInvalidColumn: string;
advancedFilterValidationInvalidOption: string;
advancedFilterValidationMissingQuote: string;
advancedFilterValidationNotANumber: string;
advancedFilterValidationNotABigInt: string;
advancedFilterValidationInvalidDate: string;
advancedFilterValidationMissingCondition: string;
advancedFilterValidationJoinOperatorMismatch: string;
advancedFilterValidationInvalidJoinOperator: string;
advancedFilterValidationMissingEndBracket: string;
advancedFilterValidationExtraEndBracket: string;
advancedFilterValidationMessage: (variableValues: string[]) => string;
advancedFilterValidationMessageAtEnd: (variableValues: string[]) => string;
advancedFilterBuilderTitle: string;
advancedFilterBuilderApply: string;
advancedFilterBuilderCancel: string;
advancedFilterBuilderClear: string;
advancedFilterBuilderReset: string;
advancedFilterBuilderAddButtonTooltip: string;
advancedFilterBuilderRemoveButtonTooltip: string;
advancedFilterBuilderMoveUpButtonTooltip: string;
advancedFilterBuilderMoveDownButtonTooltip: string;
advancedFilterBuilderAddJoin: string;
advancedFilterBuilderAddCondition: string;
advancedFilterBuilderSelectColumn: string;
advancedFilterBuilderSelectOption: string;
advancedFilterBuilderEnterValue: string;
advancedFilterBuilderValidationAlreadyApplied: string;
advancedFilterBuilderValidationIncomplete: string;
advancedFilterBuilderValidationSelectColumn: string;
advancedFilterBuilderValidationSelectOption: string;
advancedFilterBuilderValidationEnterValue: string;
};

View File

@@ -0,0 +1,6 @@
import type { _AdvancedFilterGridApi, _ModuleWithApi } from 'ag-grid-community';
/**
* @feature Filtering -> Advanced Filter
* @gridOption enableAdvanced Filter
*/
export declare const AdvancedFilterModule: _ModuleWithApi<_AdvancedFilterGridApi>;

View File

@@ -0,0 +1,46 @@
import type { AdvancedFilterModel, BeanCollection, IAdvancedFilterService, IRowNode, NamedBean } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
import { AdvancedFilterCtrl } from './advancedFilterCtrl';
import type { AutocompleteEntry } from './autocomplete/autocompleteParams';
import { FilterExpressionParser } from './filterExpressionParser';
export declare class AdvancedFilterService extends BeanStub implements NamedBean, IAdvancedFilterService {
beanName: "advancedFilter";
private valueSvc;
private colModel;
private dataTypeSvc?;
private advFilterExpSvc;
private filterValueSvc;
private filterManager?;
wireBeans(beans: BeanCollection): void;
private enabled;
private ctrl;
private expressionProxy;
private appliedExpression;
/** The value displayed in the input, which may be invalid */
private expression;
private expressionFunction;
private expressionParams;
private isValid;
postConstruct(): void;
isEnabled(): boolean;
isFilterPresent(): boolean;
doesFilterPass(node: IRowNode): boolean;
getModel(): AdvancedFilterModel | null;
setModel(model: AdvancedFilterModel | null): void;
getExpressionDisplayValue(): string | null;
setExpressionDisplayValue(expression: string | null): void;
isCurrentExpressionApplied(): boolean;
createExpressionParser(expression: string | null): FilterExpressionParser | null;
getDefaultExpression(updateEntry: AutocompleteEntry): {
updatedValue: string;
updatedPosition: number;
};
isHeaderActive(): boolean;
getCtrl(): AdvancedFilterCtrl;
private setEnabled;
applyExpression(): void;
getAppliedExpressionDisplayValue(): string | null;
private applyExpressionFromParser;
updateValidity(): boolean;
private onNewColumnsLoaded;
}

View File

@@ -0,0 +1 @@
export declare const agAutocompleteCSS = ".ag-autocomplete{align-items:center;display:flex;width:100%;>:where(.ag-text-field){flex:1 1 auto}}.ag-autocomplete-list-popup{background-color:var(--ag-background-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);padding:0;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-autocomplete-list{height:calc(var(--ag-row-height)*6.5);min-width:200px;position:relative;width:100%}.ag-autocomplete-virtual-list-item{cursor:default;display:flex;height:var(--ag-list-item-height);&:focus-visible:after{content:none}}.ag-autocomplete-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-autocomplete-row{align-items:center;display:flex;flex:1 1 auto;overflow:hidden}.ag-autocomplete-row-label{margin:0 var(--ag-widget-container-horizontal-padding);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-autocomplete-row-selected{background-color:var(--ag-selected-row-background-color)}";

View File

@@ -0,0 +1,75 @@
import type { AgEvent, BeanCollection, ComponentSelector } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
import type { AutocompleteEntry, AutocompleteListParams } from './autocompleteParams';
interface AutoCompleteEvent<T extends AgAutocompleteEvent> extends AgEvent<T> {
value: string | null;
}
export interface AutocompleteValueChangedEvent extends AutoCompleteEvent<'eventValueChanged'> {
}
export interface AutocompleteValueConfirmedEvent extends AutoCompleteEvent<'eventValueConfirmed'> {
isValid: boolean;
}
export interface AutocompleteOptionSelectedEvent extends AutoCompleteEvent<'eventOptionSelected'> {
position: number;
updateEntry: AutocompleteEntry;
autocompleteType?: string;
}
export interface AutocompleteValidChangedEvent extends AgEvent<'eventValidChanged'> {
isValid: boolean;
validationMessage: string | null;
}
type AgAutocompleteEvent = 'eventValueChanged' | 'eventValueConfirmed' | 'eventOptionSelected' | 'eventValidChanged';
export declare class AgAutocomplete extends Component<AgAutocompleteEvent> {
private popupSvc;
wireBeans(beans: BeanCollection): void;
private readonly eAutocompleteInput;
private isListOpen;
private autocompleteList;
private hidePopup;
private autocompleteListParams;
private lastPosition;
private valid;
private validationMessage;
private listAriaLabel;
private listGenerator?;
private validator?;
private forceLastSelection?;
constructor();
postConstruct(): void;
private onValueChanged;
private updateValue;
private updateAutocompleteList;
private onKeyDown;
private confirmSelection;
private onTabKeyDown;
private onEnterKeyDown;
private onUpDownKeyDown;
private onEscapeKeyDown;
private onFocusOut;
private updatePositionAndList;
private setCaret;
private forceOpenList;
private updateLastPosition;
private validate;
private openList;
private closeList;
private onCompleted;
getValue(): string | null;
setInputPlaceholder(placeholder: string): this;
setInputAriaLabel(label?: string | null): this;
setListAriaLabel(label: string): this;
setListGenerator(listGenerator?: (value: string | null, position: number) => AutocompleteListParams): this;
setValidator(validator?: (value: string | null) => string | null): this;
isValid(): boolean;
setValue(params: {
value: string;
position?: number;
silent?: boolean;
updateListOnlyIfOpen?: boolean;
restoreFocus?: boolean;
}): void;
setForceLastSelection(forceLastSelection?: (lastSelection: AutocompleteEntry, searchString: string) => boolean): this;
setInputDisabled(disabled: boolean): this;
}
export declare const AgAutocompleteSelector: ComponentSelector;
export {};

View File

@@ -0,0 +1,36 @@
import type { AgComponentSelectorType, AgEventTypeParams, AgGridCommon, BeanCollection, GridOptionsService, GridOptionsWithDefaults } from 'ag-grid-community';
import { AgPopupComponent } from 'ag-grid-community';
import type { AutocompleteEntry } from './autocompleteParams';
export declare class AgAutocompleteList extends AgPopupComponent<BeanCollection, GridOptionsWithDefaults, AgEventTypeParams, AgGridCommon<any, any>, GridOptionsService, AgComponentSelectorType> {
private readonly params;
private readonly eList;
private virtualList;
private autocompleteEntries;
private selectedValue;
private searchString;
private lastAutoListHeight;
constructor(params: {
autocompleteEntries: AutocompleteEntry[];
onConfirmed: () => void;
useFuzzySearch?: boolean;
useStartsWithSearch?: boolean;
autoSizeList?: boolean;
maxVisibleItems?: number;
onListHeightChanged?: () => void;
forceLastSelection?: (lastSelection: AutocompleteEntry, searchString: string) => boolean;
});
postConstruct(): void;
onNavigationKeyDown(event: any, key: string): void;
setSearch(searchString: string): void;
private runContainsSearch;
private runStartsWithSearch;
private runSearch;
private updateSearchInList;
private updateListHeight;
private checkSetSelectedValue;
private setSelectedValue;
private createRowComponent;
private onMouseMove;
afterGuiAttached(): void;
getSelectedValue(): AutocompleteEntry | null;
}

View File

@@ -0,0 +1,10 @@
import { Component } from 'ag-grid-community';
export declare class AgAutocompleteRow extends Component {
private value;
private hasHighlighting;
constructor();
setState(value: string, selected: boolean): void;
updateSelected(selected: boolean): void;
setSearchString(searchString: string): void;
private render;
}

View File

@@ -0,0 +1,11 @@
export interface AutocompleteListParams {
enabled: boolean;
/** list will only get recreated if the type changes */
type?: string;
searchString?: string;
entries?: AutocompleteEntry[];
}
export interface AutocompleteEntry {
key: string;
displayValue?: string;
}

View File

@@ -0,0 +1,15 @@
import type { RichSelectParams } from 'ag-grid-community';
import { AgRichSelect } from '../../widgets/agRichSelect';
import type { AutocompleteEntry } from '../autocomplete/autocompleteParams';
export interface AddDropdownCompParams extends RichSelectParams<AutocompleteEntry> {
wrapperClassName?: string;
ariaLabel: string;
}
export declare class AddDropdownComp extends AgRichSelect {
private readonly params;
constructor(params: AddDropdownCompParams);
showPicker(): void;
hidePicker(): void;
postConstruct(): void;
protected onEnterKeyDown(event: KeyboardEvent): void;
}

View File

@@ -0,0 +1,46 @@
import type { BeanCollection } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
import type { VirtualListDragItem } from '../../agStack/iVirtualListDragFeature';
import { AdvancedFilterBuilderItemComp } from './advancedFilterBuilderItemComp';
import type { AdvancedFilterBuilderEvents, AdvancedFilterBuilderItem } from './iAdvancedFilterBuilder';
export declare class AdvancedFilterBuilderComp extends Component<AdvancedFilterBuilderEvents> {
private filterManager?;
private advancedFilter;
private advFilterExpSvc;
wireBeans(beans: BeanCollection): void;
private readonly eList;
private eButtons?;
private params;
private virtualList;
private filterModel;
private stringifiedModel;
private items;
private dragFeature;
constructor();
postConstruct(): void;
refresh(): void;
getNumItems(): number;
moveItem(item: AdvancedFilterBuilderItem | null, destination: VirtualListDragItem<AdvancedFilterBuilderItemComp> | null): void;
afterGuiAttached(): void;
private setupVirtualList;
private resetButtonsPanel;
private updateModel;
private afterAction;
private removeItemFromParent;
private moveItemToIndex;
private isChildOrSelf;
private setupFilterModel;
private formatFilterModel;
private buildList;
private refreshList;
private updateItemComponent;
private createItemComponent;
private addItem;
private removeItem;
private moveItemUpDown;
private virtualListMoveItemCallback;
private canMoveDown;
private close;
private validate;
private validateItems;
}

View File

@@ -0,0 +1,18 @@
import type { AgEvent } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
import type { VirtualList } from '../../widgets/virtualList';
import type { AdvancedFilterBuilderComp } from './advancedFilterBuilderComp';
import type { AdvancedFilterBuilderItem } from './iAdvancedFilterBuilder';
export interface AdvancedFilterBuilderDragStartedEvent extends AgEvent<'advancedFilterBuilderDragStarted'> {
item: AdvancedFilterBuilderItem;
}
type AdvancedFilterBuilderDragFeatureEvent = 'advancedFilterBuilderDragStarted' | 'advancedFilterBuilderDragEnded';
export declare class AdvancedFilterBuilderDragFeature extends BeanStub<AdvancedFilterBuilderDragFeatureEvent> {
private readonly comp;
private readonly virtualList;
constructor(comp: AdvancedFilterBuilderComp, virtualList: VirtualList);
postConstruct(): void;
private getCurrentDragValue;
private moveItem;
}
export {};

View File

@@ -0,0 +1,14 @@
import type { BeanCollection } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
import type { AdvancedFilterBuilderEvents, AdvancedFilterBuilderItem } from './iAdvancedFilterBuilder';
export declare class AdvancedFilterBuilderItemAddComp extends Component<AdvancedFilterBuilderEvents> {
private readonly item;
private readonly focusWrapper;
private advFilterExpSvc;
private registry;
wireBeans(beans: BeanCollection): void;
private readonly eItem;
constructor(item: AdvancedFilterBuilderItem, focusWrapper: HTMLElement);
postConstruct(): void;
afterAdd(): void;
}

View File

@@ -0,0 +1,50 @@
import type { BeanCollection } from 'ag-grid-community';
import { TabGuardComp } from 'ag-grid-community';
import type { AdvancedFilterBuilderDragFeature } from './advancedFilterBuilderDragFeature';
import type { AdvancedFilterBuilderEvents, AdvancedFilterBuilderItem } from './iAdvancedFilterBuilder';
export declare class AdvancedFilterBuilderItemComp extends TabGuardComp<AdvancedFilterBuilderEvents> {
readonly item: AdvancedFilterBuilderItem;
private readonly dragFeature;
private readonly focusWrapper;
private dragAndDrop;
private advFilterExpSvc;
private registry;
wireBeans(beans: BeanCollection): void;
private readonly eTreeLines;
private readonly eDragHandle;
private readonly eButtons;
private readonly eValidation;
private readonly eMoveUpButton;
private readonly eMoveDownButton;
private readonly eAddButton;
private readonly eRemoveButton;
private ePillWrapper;
private validationTooltipFeature?;
private moveUpDisabled;
private moveDownDisabled;
private moveUpTooltipFeature?;
private moveDownTooltipFeature?;
constructor(item: AdvancedFilterBuilderItem, dragFeature: AdvancedFilterBuilderDragFeature, focusWrapper: HTMLElement);
postConstruct(): void;
setState(params: {
disableMoveUp?: boolean;
disableMoveDown?: boolean;
treeLines: boolean[];
showStartTreeLine: boolean;
}): void;
focusMoveButton(backwards: boolean): void;
afterAdd(): void;
private setupTreeLines;
private updateTreeLines;
private setupValidation;
private setupAddButton;
private setupRemoveButton;
private setupMoveButtons;
private updateValidity;
private createPill;
private setupDragging;
private updateAriaLabel;
private updateAriaExpanded;
private removeItem;
private moveItem;
}

View File

@@ -0,0 +1,9 @@
import type { Component } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
export declare class AdvancedFilterBuilderItemNavigationFeature extends BeanStub {
private readonly eGui;
private readonly focusWrapper;
private readonly eFocusableComp;
constructor(eGui: HTMLElement, focusWrapper: HTMLElement, eFocusableComp: Component<any>);
postConstruct(): void;
}

View File

@@ -0,0 +1,3 @@
import type { ADVANCED_FILTER_LOCALE_TEXT } from '../advancedFilterLocaleText';
import type { AddDropdownCompParams } from './addDropdownComp';
export declare function getAdvancedFilterBuilderAddButtonParams(translate: (key: keyof typeof ADVANCED_FILTER_LOCALE_TEXT) => string, maxPickerWidth?: number): AddDropdownCompParams;

View File

@@ -0,0 +1,46 @@
import type { BeanCollection } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
import type { AdvancedFilterBuilderEvents, AdvancedFilterBuilderItem, CreatePillParams } from './iAdvancedFilterBuilder';
import type { InputPillComp } from './inputPillComp';
import type { SelectPillComp } from './selectPillComp';
export declare class ConditionPillWrapperComp extends Component<AdvancedFilterBuilderEvents> {
private advFilterExpSvc;
wireBeans(beans: BeanCollection): void;
private item;
private createPill;
private filterModel;
private baseCellDataType;
private column;
private numOperands;
private eColumnPill;
private eOperatorPill;
private eOperandPill;
private validationMessage;
constructor();
init(params: {
item: AdvancedFilterBuilderItem;
createPill: (params: CreatePillParams) => SelectPillComp | InputPillComp;
}): void;
getDragName(): string;
getAriaLabel(): string;
getValidationMessage(): string | null;
getFocusableElement(): HTMLElement;
private setupColumnCondition;
private createOperatorPill;
private createOperandPill;
private getColumnKey;
private getColumnDisplayValue;
private getOperatorKey;
private getOperatorDisplayValue;
private getOperandDisplayValue;
private hasOperand;
private getOperatorAutocompleteEntries;
private setColumnKey;
private setOperatorKey;
private setOperand;
private getNumOperands;
private destroyOperandPill;
private validate;
private getDefaultColumnDisplayValue;
private getDefaultOptionSelectValue;
}

View File

@@ -0,0 +1,42 @@
import type { AdvancedFilterModel, AgEvent, BaseCellDataType, JoinAdvancedFilterModel } from 'ag-grid-community';
interface AdvancedFilterBuilderItemEvent<T extends AdvancedFilterBuilderEvents> extends AgEvent<T> {
item: AdvancedFilterBuilderItem;
}
export interface AdvancedFilterBuilderAddEvent extends AdvancedFilterBuilderItemEvent<'advancedFilterBuilderAdded'> {
isJoin: boolean;
}
export interface AdvancedFilterBuilderMoveEvent extends AdvancedFilterBuilderItemEvent<'advancedFilterBuilderMoved'> {
backwards: boolean;
}
export interface AdvancedFilterBuilderRemoveEvent extends AdvancedFilterBuilderItemEvent<'advancedFilterBuilderRemoved'> {
}
export interface AdvancedFilterBuilderItem {
filterModel: AdvancedFilterModel | null;
level: number;
parent?: JoinAdvancedFilterModel;
valid: boolean;
showMove?: boolean;
}
export type CreatePillParams = CreateInputPillParams | CreateSelectPillParams;
interface CreateInputPillParams extends BaseCreatePillParams {
isSelect: false;
valueFormatter: (value: string) => string;
baseCellDataType: BaseCellDataType;
}
interface CreateSelectPillParams extends BaseCreatePillParams {
isSelect: true;
displayValue: string;
getEditorParams: () => {
values?: any[];
};
pickerAriaLabelKey: string;
pickerAriaLabelValue: string;
}
interface BaseCreatePillParams {
key: string;
cssClass: string;
update: (key: string) => void;
ariaLabel: string;
}
export type AdvancedFilterBuilderEvents = 'advancedFilterBuilderAdded' | 'advancedFilterBuilderMoved' | 'advancedFilterBuilderRemoved' | 'advancedFilterBuilderValueChanged' | 'advancedFilterBuilderValidChanged';
export {};

View File

@@ -0,0 +1,31 @@
import type { BaseCellDataType, BeanCollection } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
type InputPillCompEvent = 'fieldValueChanged';
export declare class InputPillComp extends Component<InputPillCompEvent> {
private readonly params;
private advFilterExpSvc;
wireBeans(beans: BeanCollection): void;
private readonly ePill;
private readonly eLabel;
private eEditor;
private value;
private displayValue;
constructor(params: {
value: string;
valueFormatter: (value: string) => string;
cssClass: string;
type: BaseCellDataType;
ariaLabel: string;
});
postConstruct(): void;
getFocusableElement(): HTMLElement;
private showEditor;
/**
* Responsible for instantiating an InputField and calling some of the setup methods
*/
private createEditorComp;
private hideEditor;
private renderValue;
private updateValue;
}
export {};

View File

@@ -0,0 +1,20 @@
import type { BeanCollection } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
import type { AdvancedFilterBuilderEvents, AdvancedFilterBuilderItem, CreatePillParams } from './iAdvancedFilterBuilder';
import type { InputPillComp } from './inputPillComp';
import type { SelectPillComp } from './selectPillComp';
export declare class JoinPillWrapperComp extends Component<AdvancedFilterBuilderEvents> {
private advFilterExpSvc;
wireBeans(beans: BeanCollection): void;
private filterModel;
private ePill;
constructor();
init(params: {
item: AdvancedFilterBuilderItem;
createPill: (params: CreatePillParams) => SelectPillComp | InputPillComp;
}): void;
getDragName(): string;
getAriaLabel(): string;
getValidationMessage(): string | null;
getFocusableElement(): HTMLElement;
}

View File

@@ -0,0 +1,21 @@
import type { RichSelectParams } from 'ag-grid-community';
import { AgRichSelect } from '../../widgets/agRichSelect';
import type { AutocompleteEntry } from '../autocomplete/autocompleteParams';
interface SelectPillParams extends RichSelectParams<AutocompleteEntry> {
getEditorParams: () => {
values?: any[];
};
wrapperClassName: string;
ariaLabel: string;
}
export declare class SelectPillComp extends AgRichSelect<AutocompleteEntry> {
private readonly params;
constructor(params: SelectPillParams);
getFocusableElement(): HTMLElement;
showPicker(): void;
hidePicker(): void;
postConstruct(): void;
protected createPickerComponent(): import("../../widgets/agRichSelectList").AgRichSelectList<AutocompleteEntry, import("../../widgets/agRichSelectList").AgRichSelectListEvent>;
protected onEnterKeyDown(event: KeyboardEvent): void;
}
export {};

View File

@@ -0,0 +1,38 @@
import type { AdvancedFilterModel } from 'ag-grid-community';
import type { AutocompleteEntry, AutocompleteListParams } from './autocomplete/autocompleteParams';
import type { AutocompleteUpdate, FilterExpressionFunction, FilterExpressionFunctionParams, FilterExpressionParserParams, FilterExpressionValidationError } from './filterExpressionUtils';
export declare const COL_FILTER_EXPRESSION_START_CHAR = "[";
export declare const COL_FILTER_EXPRESSION_END_CHAR = "]";
export declare class ColFilterExpressionParser {
private readonly params;
readonly startPosition: number;
private endPosition;
private isAwaiting;
private parser;
private columnParser;
private operatorParser;
private operandParser;
private readonly operandValueGetters;
constructor(params: FilterExpressionParserParams, startPosition: number);
parseExpression(): number;
isValid(): boolean;
getValidationError(): FilterExpressionValidationError | null;
getFunction(params: FilterExpressionFunctionParams): FilterExpressionFunction;
getAutocompleteListParams(position: number): AutocompleteListParams | undefined;
updateExpression(position: number, updateEntry: AutocompleteEntry, type?: string): AutocompleteUpdate | null;
getModel(): AdvancedFilterModel;
private getFunctionCommon;
private getOperandValue;
private isComplete;
private isColumnPosition;
private isOperatorPosition;
private isBeyondEndPosition;
private returnEndPosition;
private getColumnAutocompleteListParams;
private getColumnSearchString;
private getOperatorAutocompleteListParams;
private getBaseCellDataTypeFromOperatorAutocompleteType;
private hasOperand;
private doesOperandNeedQuotes;
private addToListAndGetIndex;
}

View File

@@ -0,0 +1,76 @@
import type { BaseCellDataType, IRowNode } from 'ag-grid-community';
import type { ADVANCED_FILTER_LOCALE_TEXT } from './advancedFilterLocaleText';
import type { AutocompleteEntry } from './autocomplete/autocompleteParams';
export interface FilterExpressionEvaluatorParams<ConvertedTValue, TValue = ConvertedTValue> {
caseSensitive?: boolean;
includeBlanksInEquals?: boolean;
includeBlanksInLessThan?: boolean;
includeBlanksInGreaterThan?: boolean;
valueConverter: (value: TValue, node: IRowNode) => ConvertedTValue;
}
type FilterExpressionEvaluator<ConvertedTValue, TValue = ConvertedTValue> = (value: TValue | null | undefined, node: IRowNode, params: FilterExpressionEvaluatorParams<ConvertedTValue, TValue>, operand1?: ConvertedTValue, operand2?: ConvertedTValue) => boolean;
export interface FilterExpressionOperator<ConvertedTValue, TValue = ConvertedTValue> {
displayValue: string;
evaluator: FilterExpressionEvaluator<ConvertedTValue, TValue>;
numOperands: number;
}
export interface DataTypeFilterExpressionOperators<ConvertedTValue, TValue = ConvertedTValue> {
operators: {
[operator: string]: FilterExpressionOperator<ConvertedTValue, TValue>;
};
getEntries(activeOperators?: string[]): AutocompleteEntry[];
findOperator(displayValue: string): string | null | undefined;
}
export declare abstract class FilterExpressionOperators implements Record<BaseCellDataType, DataTypeFilterExpressionOperators<any>> {
dateTime: DataTypeFilterExpressionOperators<Date>;
dateTimeString: DataTypeFilterExpressionOperators<Date, string>;
text: DataTypeFilterExpressionOperators<string>;
number: DataTypeFilterExpressionOperators<number>;
bigint: DataTypeFilterExpressionOperators<bigint>;
boolean: DataTypeFilterExpressionOperators<boolean>;
date: DataTypeFilterExpressionOperators<Date>;
dateString: DataTypeFilterExpressionOperators<Date, string>;
object: DataTypeFilterExpressionOperators<string, any>;
}
export declare function findMatch<T>(searchValue: string, values: {
[key: string]: T;
}, getDisplayValue: (value: T) => string): string | null | undefined;
interface FilterExpressionOperatorsParams {
translate: (key: keyof typeof ADVANCED_FILTER_LOCALE_TEXT, variableValues?: string[]) => string;
}
export declare class TextFilterExpressionOperators<TValue = string> implements DataTypeFilterExpressionOperators<string, TValue> {
private readonly params;
operators: {
[operator: string]: FilterExpressionOperator<string, TValue>;
};
constructor(params: FilterExpressionOperatorsParams);
getEntries(activeOperators?: string[]): AutocompleteEntry[];
findOperator(displayValue: string): string | null | undefined;
private initOperators;
private evaluateExpression;
}
interface ScalarFilterExpressionOperatorsParams<ConvertedTValue> extends FilterExpressionOperatorsParams {
equals: (value: ConvertedTValue, operand: ConvertedTValue) => boolean;
}
export declare class ScalarFilterExpressionOperators<ConvertedTValue extends number | Date | bigint, TValue = ConvertedTValue> implements DataTypeFilterExpressionOperators<ConvertedTValue, TValue> {
private readonly params;
operators: {
[operator: string]: FilterExpressionOperator<ConvertedTValue, TValue>;
};
constructor(params: ScalarFilterExpressionOperatorsParams<ConvertedTValue>);
getEntries(activeOperators?: string[]): AutocompleteEntry[];
findOperator(displayValue: string): string | null | undefined;
private initOperators;
private evaluateSingleOperandExpression;
}
export declare class BooleanFilterExpressionOperators implements DataTypeFilterExpressionOperators<boolean> {
private readonly params;
operators: {
[operator: string]: FilterExpressionOperator<boolean>;
};
constructor(params: FilterExpressionOperatorsParams);
getEntries(activeOperators?: string[]): AutocompleteEntry[];
findOperator(displayValue: string): string | null | undefined;
private initOperators;
}
export {};

View File

@@ -0,0 +1,20 @@
import type { AdvancedFilterModel } from 'ag-grid-community';
import type { AutocompleteEntry, AutocompleteListParams } from './autocomplete/autocompleteParams';
import type { AutocompleteUpdate, FilterExpressionFunction, FilterExpressionFunctionParams, FilterExpressionParserParams } from './filterExpressionUtils';
export declare class FilterExpressionParser {
private readonly params;
private joinExpressionParser;
private valid;
constructor(params: FilterExpressionParserParams);
parseExpression(): string;
isValid(): boolean;
getValidationMessage(): string | null;
getFunction(): {
expressionFunction: FilterExpressionFunction;
params: FilterExpressionFunctionParams;
};
getAutocompleteListParams(position: number): AutocompleteListParams;
updateExpression(position: number, updateEntry: AutocompleteEntry, type?: string): AutocompleteUpdate;
getModel(): AdvancedFilterModel | null;
private createFunctionParams;
}

View File

@@ -0,0 +1,37 @@
import type { ColumnModel, DataTypeService, IRowNode, ValueService } from 'ag-grid-community';
import type { AdvancedFilterExpressionService } from './advancedFilterExpressionService';
import type { FilterExpressionEvaluatorParams, FilterExpressionOperator } from './filterExpressionOperators';
export interface FilterExpressionParserParams {
expression: string;
colModel: ColumnModel;
dataTypeSvc?: DataTypeService;
valueSvc: ValueService;
advFilterExpSvc: AdvancedFilterExpressionService;
}
export interface AutocompleteUpdate {
updatedValue: string;
updatedPosition: number;
hideAutocomplete?: boolean;
}
export interface FilterExpressionValidationError {
message: string;
startPosition: number;
endPosition: number;
}
export interface FilterExpressionFunctionParams {
operands: any[];
operators: FilterExpressionOperator<any>[];
evaluatorParams: FilterExpressionEvaluatorParams<any, any>[];
}
export interface ExpressionProxy {
getValue<T = any>(colId: string, node: IRowNode): T;
}
export type FilterExpressionFunction = (expressionProxy: ExpressionProxy, node: IRowNode, params: FilterExpressionFunctionParams) => boolean;
export declare function getSearchString(value: string, position: number, endPosition: number): string;
export declare function updateExpression(expression: string, startPosition: number, endPosition: number, updatedValuePart: string, appendSpace?: boolean, appendQuote?: boolean, empty?: boolean): AutocompleteUpdate;
export declare function findStartPosition(expression: string, position: number, endPosition: number): number;
export declare function findEndPosition(expression: string, position: number, includeCloseBracket?: boolean, isStartPositionUnknown?: boolean): {
endPosition: number;
isEmpty: boolean;
};
export declare function checkAndUpdateExpression(params: FilterExpressionParserParams, userValue: string, displayValue: string, endPosition: number): void;

View File

@@ -0,0 +1,24 @@
import type { AdvancedFilterModel } from 'ag-grid-community';
import type { AutocompleteEntry, AutocompleteListParams } from './autocomplete/autocompleteParams';
import type { AutocompleteUpdate, FilterExpressionFunction, FilterExpressionFunctionParams, FilterExpressionParserParams, FilterExpressionValidationError } from './filterExpressionUtils';
export declare class JoinFilterExpressionParser {
private readonly params;
readonly startPosition: number;
private expectingExpression;
private expectingOperator;
private readonly expressionParsers;
private readonly operatorParser;
private endPosition;
private missingEndBracket;
private extraEndBracket;
constructor(params: FilterExpressionParserParams, startPosition: number);
parseExpression(): number;
isValid(): boolean;
getValidationError(): FilterExpressionValidationError | null;
getFunction(params: FilterExpressionFunctionParams): FilterExpressionFunction;
getAutocompleteListParams(position: number): AutocompleteListParams | undefined;
updateExpression(position: number, updateEntry: AutocompleteEntry, type?: string): AutocompleteUpdate | null;
getModel(): AdvancedFilterModel;
private getColumnAutocompleteListParams;
private getExpressionParserIndex;
}

View File

@@ -0,0 +1,5 @@
import type { _ModuleWithLicenseManager, _ModuleWithoutApi } from 'ag-grid-community';
/**
* @internal
*/
export declare const EnterpriseCoreModule: _ModuleWithoutApi & _ModuleWithLicenseManager;

View File

@@ -0,0 +1,15 @@
import type { IColor } from 'ag-charts-types';
import type { AgInputTextFieldParams, _AgComponentSelector, _AgCoreBeanCollection, _AgWidgetSelectorType, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { AgInputTextField } from 'ag-grid-community';
type AgColorInputEvent = 'colorChanged';
export declare class AgColorInput<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string> extends AgInputTextField<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, AgInputTextFieldParams<TComponentSelectorType>, AgColorInputEvent> {
private color;
wireBeans(beans: TBeanCollection): void;
private readonly eColor;
constructor();
setColor(color: IColor): void;
setValue(value?: string | null | undefined, silent?: boolean | undefined): this;
onColorChanged(callback: (color: IColor) => void): void;
}
export declare const AgColorInputSelector: _AgComponentSelector<_AgWidgetSelectorType>;
export {};

View File

@@ -0,0 +1,61 @@
import type { _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgComponentStub } from 'ag-grid-community';
import type { AgColorPicker } from './agColorPicker';
export declare class AgColorPanel<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string> extends _AgComponentStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType> {
private H;
private S;
private B;
private A;
private spectrumValRect?;
private isSpectrumDragging;
private spectrumHueRect?;
private isSpectrumHueDragging;
private spectrumAlphaRect?;
private isSpectrumAlphaDragging;
private readonly picker;
private _Color;
private colorChanged;
private tabIndex;
private readonly spectrumColor;
private readonly spectrumVal;
private readonly spectrumDragger;
private readonly spectrumHue;
private readonly spectrumHueSlider;
private readonly spectrumAlpha;
private readonly spectrumAlphaSlider;
private readonly colorInput;
private readonly recentColors;
constructor(config: {
picker: AgColorPicker<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType>;
});
wireBeans(beans: TBeanCollection): void;
postConstruct(): void;
private initTabIndex;
private refreshSpectrumRect;
private refreshHueRect;
private refreshAlphaRect;
private onSpectrumDraggerDown;
private onSpectrumDraggerMove;
private onSpectrumHueDown;
private onSpectrumHueMove;
private onSpectrumAlphaDown;
private onSpectrumAlphaMove;
private onMouseUp;
private moveDragger;
private moveHueSlider;
private moveAlphaSlider;
private moveSlider;
private update;
/**
* @param saturation In the [0, 1] interval.
* @param brightness In the [0, 1] interval.
*/
setSpectrumValue(saturation: number, brightness: number, suppressColorInputUpdate?: boolean): void;
private getSpectrumValue;
private initRecentColors;
setValue(val: string): void;
private setColor;
private onRecentColorClick;
private addRecentColor;
destroy(): void;
}

View File

@@ -0,0 +1,22 @@
import type { AgPickerFieldParams, _AgComponentSelector, _AgCoreBeanCollection, _AgWidgetSelectorType, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { AgPickerField } from 'ag-grid-community';
import type { AgDialogCallbacks } from './agDialog';
import { AgDialog } from './agDialog';
export interface AgColorPickerParams<TComponentSelectorType extends string> extends Omit<AgPickerFieldParams<TComponentSelectorType>, 'pickerType' | 'pickerAriaLabelKey' | 'pickerAriaLabelValue'> {
pickerType?: string;
pickerAriaLabelKey?: string;
pickerAriaLabelValue?: string;
dialogCallbacks?: AgDialogCallbacks<any, any>;
}
export declare class AgColorPicker<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string> extends AgPickerField<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, string, AgColorPickerParams<TComponentSelectorType> & AgPickerFieldParams<TComponentSelectorType>, string, AgDialog<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType>> {
private isDestroyingPicker;
private eDisplayFieldColor;
private eDisplayFieldText;
constructor(config?: AgColorPickerParams<TComponentSelectorType>);
postConstruct(): void;
protected createPickerComponent(): AgDialog<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, import("./agDialog").AgDialogOptions<TBeanCollection, TProperties, TGlobalEvents, import("./agPanel").AgPanelPostProcessPopupParams>>;
protected renderAndPositionPicker(): () => void;
setValue(color: string): this;
getValue(): string;
}
export declare const AgColorPickerSelector: _AgComponentSelector<_AgWidgetSelectorType>;

View File

@@ -0,0 +1,26 @@
import type { _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService, _WithoutCommon } from 'ag-grid-community';
import { _AgBeanStub } from 'ag-grid-community';
import type { AgMenuItemCallbacks, AgMenuItemDef } from './agMenuItemComponent';
export interface AgContextMenuServiceParams<TBeanCollection, TCommon, TMenuActionParams extends TCommon, TDefaultMenuItem extends string> {
menuItemCallbacks: AgMenuItemCallbacks<TBeanCollection, TMenuActionParams, TCommon>;
getMenuItems(menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, mouseEvent: MouseEvent | Touch): (TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[] | Promise<(TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[]> | undefined;
mapMenuItems?(menuItems: (TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[], menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, getGui: () => HTMLElement): (TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[];
shouldBlockMenuOpen?(): boolean;
beforeMenuOpen?(menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>): void;
onMenuOpen?(): void;
onMenuClose?(): void;
afterMenuDestroyed?(): void;
onVisibleChanged?(visible: boolean, source: 'api' | 'ui'): void;
}
export declare class AgContextMenuService<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TMenuActionParams extends TCommon, TDefaultMenuItem extends string> extends _AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService> {
private readonly params;
private destroyLoadingSpinner;
private lastPromise;
private activeMenu;
constructor(params: AgContextMenuServiceParams<TBeanCollection, TCommon, TMenuActionParams, TDefaultMenuItem>);
hideActiveMenu(): void;
showMenu(menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, mouseEvent: MouseEvent | Touch, anchorToElement?: HTMLElement): boolean;
private createLoadingIcon;
private createContextMenu;
destroy(): void;
}

View File

@@ -0,0 +1,45 @@
import type { ResizableStructure, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService, _StopPropagationCallbacks } from 'ag-grid-community';
import type { AgPanelOptions, AgPanelPostProcessPopupParams } from './agPanel';
import { AgPanel } from './agPanel';
export interface AgDialogOptions<TBeanCollection, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TPanelPostProcessPopupParams extends AgPanelPostProcessPopupParams = AgPanelPostProcessPopupParams> extends AgPanelOptions<TBeanCollection, TProperties, TGlobalEvents, TPanelPostProcessPopupParams> {
eWrapper?: HTMLElement;
modal?: boolean;
movable?: boolean;
alwaysOnTop?: boolean;
maximizable?: boolean;
afterGuiAttached?: () => void;
closedCallback?: (event?: MouseEvent | TouchEvent | KeyboardEvent) => void;
}
export interface AgDialogCallbacks<TBeanCollection, TDialog> {
stopPropagationCallbacks: _StopPropagationCallbacks;
focusNextContainer(beans: TBeanCollection, backwards: boolean): boolean;
configureFocusableContainer(beans: TBeanCollection, dialog: TDialog): void;
}
export declare class AgDialog<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TDialogOptions extends AgDialogOptions<TBeanCollection, TProperties, TGlobalEvents, AgPanelPostProcessPopupParams> = AgDialogOptions<TBeanCollection, TProperties, TGlobalEvents, AgPanelPostProcessPopupParams>> extends AgPanel<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, TDialogOptions> {
private readonly callbacks?;
private popupSvc?;
wireBeans(beans: TBeanCollection): void;
private tabGuardFeature;
private isMaximizable;
private isMaximized;
private readonly maximizeListeners;
private maximizeButtonComp;
private maximizeIcon;
private minimizeIcon;
private resizeListenerDestroy;
private readonly lastPosition;
constructor(config: TDialogOptions, callbacks?: AgDialogCallbacks<TBeanCollection, AgDialog<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, TDialogOptions>> | undefined);
postConstruct(): void;
setAllowFocus(allowFocus: boolean): void;
protected renderComponent(): void;
private onClosed;
setMaximized(maximized: boolean): void;
private toggleMaximize;
private refreshMaximizeIcon;
private clearMaximizebleListeners;
destroy(): void;
setResizable(resizable: boolean | ResizableStructure): void;
setMovable(movable: boolean): void;
setMaximizable(maximizable: boolean): void;
private buildMaximizeAndMinimizeElements;
}

View File

@@ -0,0 +1 @@
export declare const agGroupComponentCSS = ".ag-group{position:relative;width:100%}.ag-group-title-bar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-title{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(.ag-group-title-bar) .ag-group-title{cursor:default}.ag-group-toolbar{align-items:center;display:flex;padding:var(--ag-spacing)}.ag-group-container{display:flex}.ag-disabled .ag-group-container{pointer-events:none}.ag-disabled-group-container,.ag-disabled-group-title-bar{opacity:.5}.ag-group-container-horizontal{flex-flow:row wrap}.ag-group-container-vertical{flex-direction:column}.ag-group-title-bar-icon{cursor:pointer;flex:none}:where(.ag-ltr) .ag-group-title-bar-icon{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-group-title-bar-icon{margin-left:var(--ag-spacing)}:where(.ag-group-item-alignment-stretch) .ag-group-item{align-items:stretch}:where(.ag-group-item-alignment-start) .ag-group-item{align-items:flex-start}:where(.ag-group-item-alignment-end) .ag-group-item{align-items:flex-end}";

View File

@@ -0,0 +1,67 @@
import type { AgBaseComponent, _AgComponentSelector, _AgCoreBeanCollection, _AgWidgetSelectorType, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgComponentStub } from 'ag-grid-community';
type GroupItem<TBeanCollection> = AgBaseComponent<TBeanCollection> | HTMLElement;
type Align = 'start' | 'end' | 'center' | 'stretch';
type GroupDirection = 'horizontal' | 'vertical';
export interface AgGroupComponentParams<TBeanCollection> {
title?: string;
enabled?: boolean;
suppressEnabledCheckbox?: boolean;
suppressOpenCloseIcons?: boolean;
suppressToggleExpandOnEnableChange?: boolean;
cssIdentifier?: string;
items?: GroupItem<TBeanCollection>[];
alignItems?: Align;
direction?: GroupDirection;
onEnableChange?: (enabled: boolean) => void;
onExpandedChange?: (expanded: boolean) => void;
expanded?: boolean;
useToggle?: boolean;
suppressKeyboardNavigation?: boolean;
}
type AgGroupComponentEvent = 'expanded' | 'collapsed' | 'enableChange';
export declare class AgGroupComponent<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string> extends _AgComponentStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, AgGroupComponentEvent> {
private readonly params;
private items;
private readonly cssIdentifier;
private enabled;
private expanded;
private suppressEnabledCheckbox;
private readonly suppressToggleExpandOnEnableChange;
private alignItems;
private readonly useToggle;
private eToggle?;
private eTitleBar?;
private readonly eToolbar;
private readonly cbGroupEnabled;
readonly eContainer: HTMLElement;
constructor(params?: AgGroupComponentParams<TBeanCollection>);
postConstruct(): void;
private refreshChildDisplay;
isExpanded(): boolean;
setAlignItems(alignment: AgGroupComponentParams<TBeanCollection>['alignItems']): this;
toggleGroupExpand(expanded?: boolean, silent?: boolean): this;
addItems(items: GroupItem<TBeanCollection>[]): void;
prependItem(item: GroupItem<TBeanCollection>): void;
addItem(item: GroupItem<TBeanCollection>): void;
updateItems(newItems: GroupItem<TBeanCollection>[]): void;
private insertItem;
hideItem(hide: boolean, index: number): void;
getItemIndex(item: GroupItem<TBeanCollection>): number | -1;
setTitle(title: string): this;
addTitleBarWidget(el: Element): this;
addCssClassToTitleBar(cssClass: string): void;
private dispatchEnableChangeEvent;
setEnabled(enabled: boolean, skipToggle?: boolean, skipExpand?: boolean): this;
isEnabled(): boolean;
onEnableChange(callbackFn: (enabled: boolean) => void): this;
onExpandedChange(callbackFn: (expanded: boolean) => void): this;
hideEnabledCheckbox(hide: boolean): this;
hideOpenCloseIcons(hide: boolean): this;
private refreshDisabledStyles;
private setupTitleBar;
private createDefaultTitleBar;
private createToggleTitleBar;
}
export declare const AgGroupComponentSelector: _AgComponentSelector<_AgWidgetSelectorType>;
export {};

View File

@@ -0,0 +1,19 @@
import type { AgInputFieldParams, _AgComponentSelector, _AgCoreBeanCollection, _AgWidgetSelectorType, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { AgAbstractInputField } from 'ag-grid-community';
export interface AgInputRangeParams<TComponentSelectorType extends string> extends AgInputFieldParams<TComponentSelectorType> {
min?: number;
max?: number;
step?: number;
}
export declare class AgInputRange<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string> extends AgAbstractInputField<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, HTMLInputElement, string, AgInputRangeParams<TComponentSelectorType>> {
private min;
private max;
constructor(config?: AgInputRangeParams<TComponentSelectorType>);
postConstruct(): void;
protected addInputListeners(): void;
setMinValue(value: number): this;
setMaxValue(value: number): this;
setStep(value: number): this;
setValue(value: string, silent?: boolean): this;
}
export declare const AgInputRangeSelector: _AgComponentSelector<_AgWidgetSelectorType>;

View File

@@ -0,0 +1,149 @@
import type { AgEvent, AgPromise, IComponent, IMenuItem, _AgComponent, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService, _StopPropagationCallbacks, _WithoutCommon } from 'ag-grid-community';
import { _AgBeanStub } from 'ag-grid-community';
export interface AgMenuItemLeafDef<TMenuActionParams extends TCommon, TCommon> {
/** Name of the menu item. */
name: string;
/** Set to `true` to display the menu item as disabled. */
disabled?: boolean;
/**
* Shortcut text displayed inside menu item.
* Setting this doesnt actually create a keyboard shortcut binding.
*/
shortcut?: string;
/** Function that gets executed when item is chosen. */
action?: (params: TMenuActionParams) => void;
/** Set to true to provide a check beside the option. */
checked?: boolean;
/** The icon to display, either a DOM element or HTML string. */
icon?: Element | string;
/** CSS classes to apply to the menu item. */
cssClasses?: string[];
/** Tooltip text to be displayed for the menu item. */
tooltip?: string;
/**
* If `true`, will keep the menu open when the item is selected.
* Note that if this item has a sub menu,
* it will always remain open regardless of this property.
*/
suppressCloseOnSelect?: boolean;
}
export interface AgMenuItemDef<TMenuActionParams extends TCommon, TCommon> extends AgMenuItemLeafDef<TMenuActionParams, TCommon> {
/**
* If this item is a sub menu, contains a list of menu item definitions */
subMenu?: (AgMenuItemDef<TMenuActionParams, TCommon> | string)[];
/**
* The aria role for the subMenu
* @default 'menu'
*/
subMenuRole?: 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
/**
* Provide a custom menu item component.
* See [Menu Item Component](https://www.ag-grid.com/javascript-data-grid/component-menu-item/#implementing-a-menu-item-component) for framework specific implementation details.
*/
menuItem?: any;
/**
* Parameters to be passed to the custom menu item component specified in `menuItem`.
*/
menuItemParams?: any;
}
export interface AgCloseMenuEvent extends AgEvent<'closeMenu'> {
mouseEvent?: MouseEvent;
keyboardEvent?: KeyboardEvent;
}
export interface AgMenuItemActivatedEvent<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TMenuActionParams extends TCommon> extends AgEvent<'menuItemActivated'> {
menuItem: AgMenuItemComponent<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, TMenuActionParams>;
}
interface AgMenuItemComponentParams<TMenuActionParams extends TCommon, TCommon> {
menuItemDef: AgMenuItemDef<TMenuActionParams, TCommon>;
isAnotherSubMenuOpen: () => boolean;
level: number;
childComponent?: IComponent<any>;
contextParams: _WithoutCommon<TCommon, TMenuActionParams>;
}
export type AgMenuItemComponentEvent = 'closeMenu' | 'menuItemActivated';
export interface AgMenuItemParams<TMenuActionParams extends TCommon, TCommon> extends AgMenuItemDef<TMenuActionParams, TCommon> {
/** Level within the menu tree (starts at 0). */
level: number;
/** Returns `true` if another sub menu is open. */
isAnotherSubMenuOpen: () => boolean;
/**
* Open the sub menu for this item.
* @param activateFirstItem If `true`, activate the first item in the sub menu.
*/
openSubMenu: (activateFirstItem?: boolean) => void;
/** Close the sub menu for this item. */
closeSubMenu: () => void;
/** Close the entire menu. */
closeMenu: (event?: KeyboardEvent | MouseEvent) => void;
/**
* Updates the grid-provided tooltip this component.
* @param tooltip The value to be displayed by the tooltip
* @param shouldDisplayTooltip A function returning a boolean that allows the tooltip to be displayed conditionally. This option does not work when `enableBrowserTooltips={true}`.
*/
updateTooltip: (tooltip?: string, shouldDisplayTooltip?: () => boolean) => void;
/**
* Callback to let the menu know that the current item has become active.
* Required if updating the active status within the menu item.
*/
onItemActivated: () => void;
}
export interface AgMenuItemCallbacks<TBeanCollection, TMenuActionParams extends TCommon, TCommon> {
getMenuItemComp: (beans: TBeanCollection, def: AgMenuItemDef<TMenuActionParams, TCommon>, params: AgMenuItemParams<TMenuActionParams, TCommon>) => AgPromise<(IComponent<AgMenuItemParams<TMenuActionParams, TCommon>> & IMenuItem) | undefined>;
getPostProcessPopupParams: (contextParams: _WithoutCommon<TCommon, TMenuActionParams>) => any;
preserveRangesWhile: (beans: TBeanCollection, fn: () => void) => void;
stopPropagationCallbacks: _StopPropagationCallbacks;
warnNoItem?: (menuItem: string) => void;
}
export declare class AgMenuItemComponent<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TMenuActionParams extends TCommon> extends _AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, AgMenuItemComponentEvent> {
private readonly callbacks;
private readonly ACTIVATION_DELAY;
private eGui;
private params;
private isAnotherSubMenuOpen;
private level;
private childComponent?;
private contextParams;
private menuItemComp;
private isActive;
private hideSubMenu;
private subMenuIsOpen;
private subMenuIsOpening;
private activateTimeoutId;
private deactivateTimeoutId;
private parentComponent?;
private tooltip?;
private tooltipFeature?;
private suppressRootStyles;
private suppressAria;
private suppressFocus;
private cssClassPrefix;
private eSubMenuGui?;
constructor(callbacks: AgMenuItemCallbacks<TBeanCollection, TMenuActionParams, TCommon>);
init(params: AgMenuItemComponentParams<TMenuActionParams, TCommon>): AgPromise<void>;
private addListeners;
isDisabled(): boolean;
openSubMenu(activateFirstItem?: boolean, event?: MouseEvent | KeyboardEvent): void;
private setAriaExpanded;
closeSubMenu(): void;
isSubMenuOpen(): boolean;
isSubMenuOpening(): boolean;
activate(openSubMenu?: boolean, fromKeyNav?: boolean): void;
deactivate(): void;
getGui(): HTMLElement;
getParentComponent(): _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any> | undefined;
setParentComponent(component: _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>): void;
getSubMenuGui(): HTMLElement | undefined;
private onItemSelected;
private closeMenu;
private onItemActivated;
private cancelActivate;
private cancelDeactivate;
private onMouseEnter;
private onMouseLeave;
private refreshRootElementGui;
private applyAriaProperties;
private configureDefaults;
private refreshTooltip;
destroy(): void;
}
export {};

View File

@@ -0,0 +1,24 @@
import type { IMenuItem, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgComponentStub } from 'ag-grid-community';
import type { AgMenuItemParams } from './agMenuItemComponent';
interface AgMenuItemRendererParams {
cssClassPrefix?: string;
isCompact?: boolean;
}
export declare class AgMenuItemRenderer<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TMenuActionParams extends TCommon> extends _AgComponentStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType> implements IMenuItem {
private readonly callbacks?;
private params;
private cssClassPrefix;
constructor(callbacks?: {
warnNoIcon?: (() => void) | undefined;
} | undefined);
init(params: AgMenuItemParams<TMenuActionParams, TCommon> & AgMenuItemRendererParams): void;
configureDefaults(): boolean;
private addAriaAttributes;
private addIcon;
private addName;
private addShortcut;
private addSubMenu;
private getClassName;
}
export {};

View File

@@ -0,0 +1,28 @@
import type { _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService, _WithoutCommon } from 'ag-grid-community';
import { _AgTabGuardComp } from 'ag-grid-community';
import type { AgMenuItemCallbacks, AgMenuItemComponentEvent, AgMenuItemDef } from './agMenuItemComponent';
type AgMenuListEvent = AgMenuItemComponentEvent;
export declare class AgMenuList<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TMenuActionParams extends TCommon> extends _AgTabGuardComp<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, AgMenuListEvent> {
private readonly level;
private readonly menuActionParams;
private readonly callbacks;
private readonly menuItems;
private activeMenuItem;
constructor(level: number, menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, callbacks: AgMenuItemCallbacks<TBeanCollection, TMenuActionParams, TCommon>);
postConstruct(): void;
private onTabKeyDown;
private handleKeyDown;
private handleFocusIn;
private handleFocusOut;
clearActiveItem(): void;
addMenuItems(menuItems?: (AgMenuItemDef<TMenuActionParams, TCommon> | string)[]): void;
private addItem;
activateFirstItem(): void;
private createSeparator;
private handleNavKey;
private closeIfIsChild;
private openChild;
private findNextItem;
destroy(): void;
}
export {};

View File

@@ -0,0 +1,9 @@
import type { IComponent, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgTabGuardComp } from 'ag-grid-community';
export declare class AgMenuPanel<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string> extends _AgTabGuardComp<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType> {
constructor(wrappedComponent: IComponent<any>);
postConstruct(): void;
private handleKeyDown;
private onTabKeyDown;
private closePanel;
}

View File

@@ -0,0 +1 @@
export declare const agPanelCSS = ".ag-panel{background-color:var(--ag-panel-background-color);display:flex;flex-direction:column;overflow:hidden;position:relative}.ag-dialog{border:var(--ag-dialog-border);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dialog-shadow);position:absolute}.ag-panel-title-bar{align-items:center;background-color:var(--ag-panel-title-bar-background-color);border-bottom:var(--ag-panel-title-bar-border);color:var(--ag-panel-title-bar-text-color);cursor:default;display:flex;flex:none;font-family:var(--ag-panel-title-bar-font-family);font-size:var(--ag-panel-title-bar-font-size);font-weight:var(--ag-panel-title-bar-font-weight);height:var(--ag-panel-title-bar-height);padding:var(--ag-spacing) var(--ag-cell-horizontal-padding)}.ag-panel-title-bar-button{cursor:pointer;:where(.ag-icon){color:var(--ag-panel-title-bar-icon-color)}}:where(.ag-ltr) .ag-panel-title-bar-button{margin-left:calc(var(--ag-spacing)*2);margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-panel-title-bar-button{margin-left:var(--ag-spacing);margin-right:calc(var(--ag-spacing)*2)}.ag-panel-title-bar-title{flex:1 1 auto}.ag-panel-title-bar-buttons{display:flex}.ag-panel-content-wrapper{display:flex;flex:1 1 auto;overflow:hidden;position:relative}:where(.ag-dragging-fill-handle) .ag-dialog,:where(.ag-dragging-range-handle) .ag-dialog{opacity:.7;pointer-events:none}";

View File

@@ -0,0 +1,42 @@
import type { PositionableOptions, ResizableStructure, _AgComponent, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgComponentStub, _AgPositionableFeature } from 'ag-grid-community';
export interface AgPanelPostProcessPopupParams {
type: string;
eventSource?: HTMLElement | null;
mouseEvent?: MouseEvent | Touch | null;
}
export interface AgPanelOptions<TBeanCollection, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TPanelPostProcessPopupParams extends AgPanelPostProcessPopupParams = AgPanelPostProcessPopupParams> extends PositionableOptions {
component?: _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>;
hideTitleBar?: boolean | null;
closable?: boolean | null;
resizable?: boolean | ResizableStructure;
title?: string | null;
cssIdentifier?: string | null;
postProcessPopupParams?: TPanelPostProcessPopupParams;
}
export declare class AgPanel<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TConfig extends AgPanelOptions<TBeanCollection, TProperties, TGlobalEvents, AgPanelPostProcessPopupParams> = AgPanelOptions<TBeanCollection, TProperties, TGlobalEvents, AgPanelPostProcessPopupParams>> extends _AgComponentStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType> {
protected readonly config: TConfig;
protected closable: boolean;
protected closeButtonComp: _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any> | undefined;
protected positionableFeature: _AgPositionableFeature<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService>;
close: () => void;
protected readonly eContentWrapper: HTMLElement;
protected readonly eTitleBar: HTMLElement;
protected readonly eTitleBarButtons: HTMLElement;
protected readonly eTitle: HTMLElement;
constructor(config: TConfig);
postConstruct(): void;
protected renderComponent(): void;
getHeight(): number | undefined;
setHeight(height: number | string): void;
getWidth(): number | undefined;
setWidth(width: number | string): void;
setClosable(closable: boolean): void;
setBodyComponent(bodyComponent: _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>): void;
addTitleBarButton(button: _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>, position?: number): void;
getBodyHeight(): number;
getBodyWidth(): number;
setTitle(title: string): void;
private onBtClose;
destroy(): void;
}

View File

@@ -0,0 +1,29 @@
import type { AgLabelParams, LabelAlignment, _AgComponentSelector, _AgCoreBeanCollection, _AgWidgetSelectorType, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { AgAbstractLabel } from 'ag-grid-community';
export interface AgSliderParams extends AgLabelParams {
minValue?: number;
maxValue?: number;
textFieldWidth?: number;
step?: number;
value?: string;
onValueChange?: (newValue: number) => void;
}
type AgSliderEvent = 'fieldValueChanged';
export declare class AgSlider<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string> extends AgAbstractLabel<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, AgSliderParams, AgSliderEvent> {
protected readonly eLabel: HTMLElement;
private readonly eSlider;
private readonly eText;
protected labelAlignment: LabelAlignment;
constructor(config?: AgSliderParams);
postConstruct(): void;
onValueChange(callbackFn: (newValue: number) => void): this;
setSliderWidth(width: number): this;
setTextFieldWidth(width: number): this;
setMinValue(minValue: number): this;
setMaxValue(maxValue: number): this;
getValue(): string | null | undefined;
setValue(value: string, silent?: boolean): this;
setStep(step: number): this;
}
export declare const AgSliderSelector: _AgComponentSelector<_AgWidgetSelectorType>;
export {};

View File

@@ -0,0 +1,29 @@
import type { _AfterGuiAttachedParams, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgTabGuardComp } from 'ag-grid-community';
import type { AgTabbedItem, AgTabbedLayoutParams } from './iTabbedLayout';
export declare class AgTabbedLayout<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TContainerType extends string = string> extends _AgTabGuardComp<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType> {
private readonly eHeader;
private readonly eBody;
private eTabHeader;
private eCloseButton?;
private readonly params;
private afterAttachedParams;
private readonly items;
private activeItem;
private lastScrollListener;
private readonly tabbedItemScrollMap;
constructor(params: AgTabbedLayoutParams<TContainerType>);
postConstruct(): void;
private setupHeader;
private setupCloseButton;
protected handleKeyDown(e: KeyboardEvent): void;
protected onTabKeyDown(e: KeyboardEvent): void;
private focusInnerElement;
focusHeader(preventScroll?: boolean): void;
private focusBody;
setAfterAttachedParams(params: _AfterGuiAttachedParams<TContainerType>): void;
showFirstItem(): void;
private addItem;
showItem(tabbedItem: AgTabbedItem<TContainerType>): void;
private showItemWrapper;
}

View File

@@ -0,0 +1 @@
export declare const agVirtualListCSS = ":where(.ag-virtual-list-viewport) .ag-tab-guard{position:sticky}.ag-virtual-list-viewport{flex:1 1 auto;height:100%;min-width:0;overflow:auto;position:relative;width:100%}.ag-virtual-list-container{overflow:hidden;position:relative}.ag-virtual-list-item{height:var(--ag-list-item-height);position:absolute;width:100%}";

View File

@@ -0,0 +1,68 @@
import type { _AgComponent, _AgComponentEvent, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService, _StopPropagationCallbacks } from 'ag-grid-community';
import { _AgTabGuardComp } from 'ag-grid-community';
import type { VirtualListModel } from './iVirtualList';
export interface VirtualListParams<C> {
cssIdentifier?: string;
ariaRole?: string;
listName?: string;
moveItemCallback?: (item: C, isUp: boolean) => void;
}
export declare class AgVirtualList<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, C extends _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any> = _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>, V = any, TEventType extends string = _AgComponentEvent> extends _AgTabGuardComp<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TComponentSelectorType, TEventType> {
private readonly stopPropagationCallbacks?;
private readonly cssIdentifier;
private readonly ariaRole;
private readonly listName?;
protected model: VirtualListModel;
private readonly renderedRows;
private componentCreator;
private componentUpdater;
private rowHeight;
private pageSize;
private isScrolling;
private lastFocusedRowIndex;
private isHeightFromTheme;
private readonly eContainer;
private awaitStableCallbacks;
private readonly moveItemCallback?;
constructor(stopPropagationCallbacks?: _StopPropagationCallbacks | undefined, params?: VirtualListParams<C>);
postConstruct(): void;
private onStylesChanged;
private refreshAriaProperties;
private addResizeObserver;
protected focusInnerElement(fromBottom: boolean): boolean;
protected onFocusIn(e: FocusEvent): void;
protected onFocusOut(e: FocusEvent): void;
protected handleKeyDown(e: KeyboardEvent): void;
protected onTabKeyDown(e: KeyboardEvent): void;
private getNextRow;
private moveItem;
private navigate;
navigateToPage(key: 'Home' | 'PageUp' | 'PageDown' | 'End', fromItem?: number | 'focused'): number | null;
getLastFocusedRow(): number | null;
focusRow(rowNumber: number): void;
getComponentAt(rowIndex: number): C | undefined;
forEachRenderedRow(func: (comp: C, idx: number) => void): void;
private getItemHeight;
/**
* Returns true if the view had to be scrolled, otherwise, false.
*/
ensureIndexVisible(index: number, scrollPartialIntoView?: boolean): boolean;
setComponentCreator(componentCreator: (value: V, listItemElement: HTMLElement) => C): void;
setComponentUpdater(componentUpdater: (value: V, component: C) => void): void;
getRowHeight(): number;
getScrollTop(): number;
setRowHeight(rowHeight: number): void;
refresh(softRefresh?: boolean): void;
awaitStable(callback: () => void): void;
private canSoftRefresh;
private clearVirtualRows;
protected drawVirtualRows(softRefresh?: boolean): void;
private ensureRowsRendered;
private insertRow;
private removeRow;
private refreshRows;
private addScrollListener;
setModel(model: VirtualListModel): void;
getAriaElement(): Element;
destroy(): void;
}

View File

@@ -0,0 +1 @@
export declare const agVirtualListDragFeatureCSS = ".ag-list-item-hovered:after{background-color:var(--ag-accent-color);content:\"\";height:1px;left:0;position:absolute;right:0}.ag-item-highlight-top:after{top:0}.ag-item-highlight-bottom:after{bottom:0}";

View File

@@ -0,0 +1,26 @@
import type { AgEvent, _AgComponent, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgBeanStub } from 'ag-grid-community';
import type { AgVirtualList } from './agVirtualList';
import type { AgVirtualListDragParams } from './iVirtualListDragFeature';
export declare class AgVirtualListDragFeature<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TDragSourceType extends number, TParentComponent extends _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>, TChildComponent extends _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>, TDragValue, TDragStartEvent extends AgEvent, TDragEndEvent extends AgEvent> extends _AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService> {
private readonly comp;
private readonly virtualList;
private readonly params;
private currentDragValue;
private lastHoveredListItem;
private autoScrollService;
private moveBlocked;
constructor(comp: TParentComponent, virtualList: AgVirtualList<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, any>, params: AgVirtualListDragParams<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TDragSourceType, TParentComponent, TChildComponent, TDragValue, TDragStartEvent, TDragEndEvent>);
postConstruct(): void;
private listItemDragStart;
private listItemDragEnd;
private createDropTarget;
private createAutoScrollService;
private onDragging;
private getListDragItem;
private onDragStop;
private onDragCancel;
private onDragLeave;
private clearDragProperties;
private clearHoveredItems;
}

View File

@@ -0,0 +1,12 @@
import type { IntegratedModule } from 'ag-charts-types';
/** MAKE SURE TO UPDATE THE SCRIPT scripts/ci/substituteAgChartsTypesScene.sh WHEN CHANGING THIS FILE */
type ChartTypes = IntegratedModule;
export interface IAgChartsExports {
readonly beanName: 'agChartsExports';
isEnterprise: boolean;
create: ChartTypes['create'];
_Theme: ChartTypes['_Theme'];
_Scene: ChartTypes['_Scene'];
_Util: ChartTypes['_Util'];
}
export {};

View File

@@ -0,0 +1,24 @@
import type { AgPromise, _AfterGuiAttachedParams } from 'ag-grid-community';
export interface AgTabbedLayoutParams<TContainerType extends string> {
items: AgTabbedItem<TContainerType>[];
cssClass?: string;
keepScrollPosition?: boolean;
onItemClicked?: (event: {
item: AgTabbedItem<TContainerType>;
}) => void;
onActiveItemClicked?: () => void;
suppressFocusBodyOnOpen?: boolean;
suppressTrapFocus?: boolean;
enableCloseButton?: boolean;
closeButtonAriaLabel?: string;
onCloseClicked?: () => void;
}
export interface AgTabbedItem<TContainerType extends string> {
title: Element;
titleLabel: string;
bodyPromise: AgPromise<HTMLElement>;
name: string;
getScrollableContainer?: () => HTMLElement;
afterAttachedCallback?: (params: _AfterGuiAttachedParams<TContainerType>) => void;
afterDetachedCallback?: () => void;
}

View File

@@ -0,0 +1,6 @@
export interface VirtualListModel {
getRowCount(): number;
getRow(index: number): any;
/** Required if using soft refresh. If rows are equal, componentUpdater will be called instead of remove/create */
areRowsEqual?(oldRow: any, newRow: any): boolean;
}

View File

@@ -0,0 +1,14 @@
import type { AgEvent, _AgBeanStub, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
export interface VirtualListDragItem<R> {
rowIndex: number;
position: 'top' | 'bottom';
component: R;
}
export interface AgVirtualListDragParams<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TDragSourceType extends number, TParentComponent, TChildComponent, TDragValue, TDragStartEvent extends AgEvent, TDragEndEvent extends AgEvent> {
dragSourceType: TDragSourceType;
getCurrentDragValue: (listItemDragStartEvent: TDragStartEvent) => TDragValue;
isMoveBlocked: (currentDragValue: TDragValue | null) => boolean;
getNumRows: (comp: TParentComponent) => number;
moveItem: (currentDragValue: TDragValue | null, lastHoveredListItem: VirtualListDragItem<TChildComponent> | null) => void;
addListeners: (parent: _AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService>, listItemDragStart: (event: TDragStartEvent) => void, listItemDragEnd: (event: TDragEndEvent) => void) => void;
}

View File

@@ -0,0 +1,6 @@
import type { AgColumn, IAggColumnNameService, NamedBean } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
export declare class AggColumnNameService extends BeanStub implements NamedBean, IAggColumnNameService {
beanName: "aggColNameSvc";
getHeaderName(column: AgColumn, headerName: string | null): string | null;
}

View File

@@ -0,0 +1,30 @@
import type { AgColumn, IAggFunc, IAggFuncService, NamedBean } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
declare const defaultAggFuncNames: {
readonly sum: "Sum";
readonly first: "First";
readonly last: "Last";
readonly min: "Min";
readonly max: "Max";
readonly count: "Count";
readonly avg: "Average";
};
type DefaultAggFuncName = keyof typeof defaultAggFuncNames;
export declare class AggFuncService extends BeanStub implements NamedBean, IAggFuncService {
beanName: "aggFuncSvc";
private aggFuncsMap;
private initialised;
postConstruct(): void;
private init;
private initialiseWithDefaultAggregations;
private isAggFuncPossible;
getDefaultFuncLabel(fctName: DefaultAggFuncName): string;
getDefaultAggFunc(column: AgColumn): string | null;
addAggFuncs(aggFuncs?: {
[key: string]: IAggFunc;
}): void;
getAggFunc(name: string): IAggFunc;
getFuncNames(column: AgColumn): string[];
clear(): void;
}
export {};

View File

@@ -0,0 +1,15 @@
import type { AgColumn, BeanCollection, IAggFunc, RowNode } from 'ag-grid-community';
interface AggregateValuesParams {
beans: BeanCollection;
values: any[];
aggFuncOrString: string | IAggFunc;
column: AgColumn;
/** The row node being aggregated. Required for CSRM aggregation, undefined for integrated charts. */
rowNode: RowNode | undefined;
/** The pivot result column when aggregating pivot data. */
pivotResultColumn: AgColumn | undefined;
/** The children nodes contributing to this aggregation. Required for CSRM aggregation, empty array for integrated charts. */
aggregatedChildren: RowNode[];
}
export declare function _aggregateValues({ beans, values, aggFuncOrString, column, rowNode, pivotResultColumn, aggregatedChildren, }: AggregateValuesParams): any;
export {};

View File

@@ -0,0 +1,6 @@
import type { BeanCollection, ColKey, IAggFunc } from 'ag-grid-community';
export declare function addAggFuncs(beans: BeanCollection, aggFuncs: {
[key: string]: IAggFunc;
}): void;
export declare function clearAggFuncs(beans: BeanCollection): void;
export declare function setColumnAggFunc(beans: BeanCollection, key: ColKey, aggFunc: string | IAggFunc | null | undefined): void;

View File

@@ -0,0 +1,9 @@
import type { _AggregationGridApi, _ModuleWithApi, _ModuleWithoutApi } from 'ag-grid-community';
/**
* @internal
*/
export declare const SharedAggregationModule: _ModuleWithApi<_AggregationGridApi<any>>;
/**
* @internal
*/
export declare const AggregationModule: _ModuleWithoutApi;

View File

@@ -0,0 +1,28 @@
import type { AgColumn, BeanCollection, ChangedPath, ClientSideRowModelStage, GridOptions, NamedBean, RowNode, _IRowNodeAggregationStage } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
export declare class AggregationStage extends BeanStub implements NamedBean, _IRowNodeAggregationStage {
beanName: "aggStage";
readonly step: ClientSideRowModelStage;
readonly refreshProps: (keyof GridOptions<any>)[];
private clientSide;
private colModel;
private valueSvc;
private pivotColsSvc?;
private valueColsSvc?;
private pivotResultCols?;
wireBeans(beans: BeanCollection): void;
execute(changedPath: ChangedPath): any;
private createAggDetails;
private isSuppressAggFilteredOnly;
private recursivelyCreateAggData;
private aggregateRowNode;
private aggregateRowNodeUsingValuesAndPivot;
private aggregateRowNodeUsingValuesOnly;
getAggregatedChildren(rowNode: RowNode | null | undefined, col: AgColumn | null | undefined): RowNode[];
/**
* Sets aggData on a row node and all its siblings (footer sibling and pinned siblings).
* This ensures all related nodes stay in sync when aggregation data changes.
*/
private setAggDataWithSiblings;
private setAggData;
}

View File

@@ -0,0 +1,14 @@
import type { BeanCollection, ChangedPath, ClientSideRowModelStage, GridOptions, NamedBean, _IRowNodeFilterAggregateStage } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
export declare class FilterAggregatesStage extends BeanStub implements NamedBean, _IRowNodeFilterAggregateStage {
beanName: "filterAggStage";
readonly step: ClientSideRowModelStage;
readonly refreshProps: (keyof GridOptions<any>)[];
private filterManager?;
wireBeans(beans: BeanCollection): void;
execute(changedPath: ChangedPath): void;
/** for tree data, we include all children, groups and leafs */
private setAllChildrenCountTreeData;
private setAllChildrenCountGridGrouping;
private setAllChildrenCount;
}

View File

@@ -0,0 +1,10 @@
import type { Column, IFooterService, IRowNode, NamedBean, RowNode } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
export declare class FooterService extends BeanStub implements NamedBean, IFooterService {
beanName: "footerSvc";
addTotalRows(startIndex: number, node: RowNode, callback: (node: RowNode, index: number) => void, includeFooterNodes: boolean, isRootNode: boolean, position: 'top' | 'bottom'): number;
getTopDisplayIndex(rowsToDisplay: RowNode[], topLevelIndex: number, childrenAfterSort: RowNode[], getDefaultIndex: (adjustedIndex: number) => number): number;
doesCellShowTotalPrefix(node: IRowNode, col?: Column): boolean;
applyTotalPrefix(value: any, formattedValue: string | null, node: IRowNode, column: Column): string;
getTotalValue(value: any): string;
}

View File

@@ -0,0 +1,3 @@
import type { BeanCollection, RowNode } from 'ag-grid-community';
export declare function _createRowNodeFooter(rowNode: RowNode, beans: BeanCollection): void;
export declare function _destroyRowNodeFooter(rowNode: RowNode): void;

View File

@@ -0,0 +1,28 @@
import type { AgColumn, ColDef, ColKey, ColumnEventType, ColumnStateParams, IAggFunc, IColsService, NamedBean } from 'ag-grid-community';
import { BaseColsService } from 'ag-grid-community';
export declare class ValueColsSvc extends BaseColsService implements NamedBean, IColsService {
beanName: "valueColsSvc";
eventName: "columnValueChanged";
columnProcessors: {
readonly set: (column: AgColumn, added: boolean, source: ColumnEventType) => void;
readonly add: (column: AgColumn, added: boolean, source: ColumnEventType) => void;
readonly remove: (column: AgColumn, added: boolean, source: ColumnEventType) => void;
};
columnExtractors: {
readonly setFlagFunc: (col: AgColumn, flag: boolean, source: ColumnEventType) => void;
readonly getIndexFunc: () => undefined;
readonly getInitialIndexFunc: () => undefined;
readonly getValueFunc: (colDef: ColDef) => boolean | null | undefined;
readonly getInitialValueFunc: (colDef: ColDef) => boolean;
};
private readonly modifyColumnsNoEventsCallbacks;
extractCols(source: ColumnEventType, oldProvidedCols: AgColumn[] | undefined): AgColumn[];
setColumnAggFunc(key: ColKey | undefined, aggFunc: string | IAggFunc | null | undefined, source: ColumnEventType): void;
syncColumnWithState(column: AgColumn, source: ColumnEventType, getValue: <U extends keyof ColumnStateParams, S extends keyof ColumnStateParams>(key1: U, key2?: S) => {
value1: ColumnStateParams[U] | undefined;
value2: ColumnStateParams[S] | undefined;
}): void;
private setValueActive;
private setColAggFunc;
private setColValueActive;
}

View File

@@ -0,0 +1,5 @@
import type { _AiToolkitGridApi, _ModuleWithApi } from 'ag-grid-community';
/**
* @feature AI Toolkit
*/
export declare const AiToolkitModule: _ModuleWithApi<_AiToolkitGridApi>;

View File

@@ -0,0 +1,14 @@
import type { BeanCollection } from 'ag-grid-community';
import type { JSONSchema } from '../schemaTypes';
export declare const buildAdvancedFilterFeatureSchema: ({ colModel, dataTypeSvc }: BeanCollection) => {
readonly type: "object";
readonly properties: Record<string, import("../schemaBuilder").SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: JSONSchema[]): Record<string, JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: JSONSchema): any;
} | undefined;

View File

@@ -0,0 +1,13 @@
import type { BeanCollection } from 'ag-grid-community';
export declare const buildAggregationFeatureSchema: (beans: BeanCollection) => {
readonly type: "object";
readonly properties: Record<string, import("../schemaBuilder").SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, import("../schemaTypes").JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: import("../schemaTypes").JSONSchema[]): Record<string, import("../schemaTypes").JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: import("../schemaTypes").JSONSchema): any;
} | undefined;

View File

@@ -0,0 +1,13 @@
import type { BeanCollection } from 'ag-grid-community';
export declare const buildColumnSizingFeatureSchema: (beans: BeanCollection) => {
readonly type: "object";
readonly properties: Record<string, import("../schemaBuilder").SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, import("../schemaTypes").JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: import("../schemaTypes").JSONSchema[]): Record<string, import("../schemaTypes").JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: import("../schemaTypes").JSONSchema): any;
} | undefined;

View File

@@ -0,0 +1,12 @@
export declare const buildColumnVisibilityFeatureSchema: () => {
readonly type: "object";
readonly properties: Record<string, import("../schemaBuilder").SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, import("../schemaTypes").JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: import("../schemaTypes").JSONSchema[]): Record<string, import("../schemaTypes").JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: import("../schemaTypes").JSONSchema): any;
};

View File

@@ -0,0 +1,14 @@
import type { BeanCollection, StructuredSchemaParams } from 'ag-grid-community';
import type { SchemaBuilder } from '../schemaBuilder';
export declare const buildFilterFeatureSchema: (beans: BeanCollection, params?: StructuredSchemaParams) => {
readonly type: "object";
readonly properties: Record<string, SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, import("../schemaTypes").JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: import("../schemaTypes").JSONSchema[]): Record<string, import("../schemaTypes").JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: import("../schemaTypes").JSONSchema): any;
} | undefined;

View File

@@ -0,0 +1,13 @@
import type { BeanCollection } from 'ag-grid-community';
export declare const buildPivotFeatureSchema: (beans: BeanCollection) => {
readonly type: "object";
readonly properties: Record<string, import("../schemaBuilder").SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, import("../schemaTypes").JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: import("../schemaTypes").JSONSchema[]): Record<string, import("../schemaTypes").JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: import("../schemaTypes").JSONSchema): any;
} | undefined;

View File

@@ -0,0 +1,13 @@
import type { BeanCollection } from 'ag-grid-community';
export declare const buildRowGroupFeatureSchema: (beans: BeanCollection) => {
readonly type: "object";
readonly properties: Record<string, import("../schemaBuilder").SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, import("../schemaTypes").JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: import("../schemaTypes").JSONSchema[]): Record<string, import("../schemaTypes").JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: import("../schemaTypes").JSONSchema): any;
} | undefined;

View File

@@ -0,0 +1,13 @@
import type { BeanCollection } from 'ag-grid-community';
export declare const buildSortFeatureSchema: (beans: BeanCollection) => {
readonly type: "object";
readonly properties: Record<string, import("../schemaBuilder").SchemaBuilder>;
toJSON(): import("../schemaTypes").ObjectSchema;
description?: string | undefined;
_defs: Record<string, import("../schemaTypes").JSONSchema>;
_nullable: boolean;
_collectNestedDefs(schemas: import("../schemaTypes").JSONSchema[]): Record<string, import("../schemaTypes").JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): any;
define(id: string, schema: import("../schemaTypes").JSONSchema): any;
} | undefined;

View File

@@ -0,0 +1,129 @@
import type { AnyOfSchema, ArraySchema, BooleanSchema, EnumSchema, JSONSchema, JSONSchemaType, NumberSchema, ObjectSchema, ReferencedProperty, StringFormat, StringSchema } from './schemaTypes';
export interface SchemaBuilder {
toJSON(): JSONSchema;
nullable(): SchemaBuilder;
}
declare abstract class BaseSchemaBuilder<TType extends JSONSchemaType> {
abstract type: TType;
description?: string;
_defs: Record<string, JSONSchema>;
_nullable: boolean;
constructor(description?: string);
_collectNestedDefs(schemas: JSONSchema[]): Record<string, JSONSchema>;
_toJSON(additionalProperties?: Record<string, any>): any;
nullable(): this;
define(id: string, schema: JSONSchema): this;
}
declare class StringSchemaBuilder extends BaseSchemaBuilder<'string'> {
readonly type = "string";
_pattern?: string;
_format?: StringFormat;
constructor(descriptionOrOptions?: string | {
pattern?: string;
format?: StringFormat;
description?: string;
});
pattern(input: string): this;
format(input: StringFormat): this;
toJSON(): StringSchema;
}
declare class NumberSchemaBuilder extends BaseSchemaBuilder<'number' | 'integer'> {
readonly type = "number";
_minimum?: number;
_exclusiveMinimum?: number;
_maximum?: number;
_exclusiveMaximum?: number;
_multipleOf?: number;
constructor(descriptionOrOptions?: string | {
minimum?: number;
maximum?: number;
exclusiveMinimum?: number;
exclusiveMaximum?: number;
multipleOf?: number;
description?: string;
});
minimum(value: number): this;
exclusiveMinimum(value: number): this;
maximum(value: number): this;
exclusiveMaximum(value: number): this;
multipleOf(value: number): this;
toJSON(): NumberSchema;
}
declare class EnumSchemaBuilder extends BaseSchemaBuilder<'string'> {
readonly _enum: string[];
readonly type = "string";
constructor(_enum: string[], description?: string);
toJSON(): EnumSchema;
}
declare class LiteralSchemaBuilder extends EnumSchemaBuilder {
constructor(value: string, description?: string);
}
declare class BooleanSchemaBuilder extends BaseSchemaBuilder<'boolean'> {
readonly type = "boolean";
constructor(description?: string);
toJSON(): BooleanSchema;
}
declare class ArraySchemaBuilder extends BaseSchemaBuilder<'array'> {
readonly items: SchemaBuilder;
readonly type = "array";
_minItems?: number;
_maxItems?: number;
constructor(items: SchemaBuilder, descriptionOrOptions?: string | {
minItems?: number;
maxItems?: number;
description?: string;
});
minItems(value: number): this;
maxItems(value: number): this;
toJSON(): ArraySchema;
}
declare class ObjectSchemaBuilder extends BaseSchemaBuilder<'object'> {
readonly properties: Record<string, SchemaBuilder>;
readonly type = "object";
constructor(properties: Record<string, SchemaBuilder>, description?: string);
toJSON(): ObjectSchema;
}
declare class UnionSchemaBuilder {
private readonly schemas;
private _nullable;
private _defs;
constructor(schemas: SchemaBuilder[], description?: string);
description?: string;
nullable(): this;
define(id: string, schema: JSONSchema): this;
protected _collectNestedDefs(schemas: JSONSchema[]): Record<string, JSONSchema>;
toJSON(): AnyOfSchema;
}
declare class ReferenceSchemaBuilder {
private readonly id;
constructor(id: string);
nullable(): this;
toJSON(): ReferencedProperty;
}
export declare const s: {
readonly string: (descriptionOrOptions?: string | {
pattern?: string;
format?: StringFormat;
description?: string;
}) => StringSchemaBuilder;
readonly number: (descriptionOrOptions?: string | {
minimum?: number;
maximum?: number;
exclusiveMinimum?: number;
exclusiveMaximum?: number;
multipleOf?: number;
description?: string;
}) => NumberSchemaBuilder;
readonly enum: (values: string[], description?: string) => EnumSchemaBuilder;
readonly boolean: (description?: string) => BooleanSchemaBuilder;
readonly array: (items: SchemaBuilder, descriptionOrOptions?: string | {
minItems?: number;
maxItems?: number;
description?: string;
}) => ArraySchemaBuilder;
readonly object: (properties: Record<string, SchemaBuilder>, description?: string) => ObjectSchemaBuilder;
readonly union: (schemas: SchemaBuilder[], description?: string) => UnionSchemaBuilder;
readonly literal: (value: string, description?: string) => LiteralSchemaBuilder;
readonly ref: (id: string) => ReferenceSchemaBuilder;
};
export {};

View File

@@ -0,0 +1,54 @@
export type JSONSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'null' | 'anyOf';
type NullableProperty<TType extends JSONSchemaType> = TType | [TType, 'null'];
interface SchemaProperty {
type: JSONSchemaType | JSONSchemaType[];
description?: string;
$defs?: Record<string, JSONSchema>;
}
export interface ReferencedProperty {
$ref: string;
description?: never;
}
export interface AnyOfSchema {
anyOf: JSONSchema[];
}
export type StringFormat = 'date-time' | 'date' | 'time' | 'duration' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'uuid';
export interface StringSchema extends SchemaProperty {
type: NullableProperty<'string'>;
pattern?: string;
format?: StringFormat;
}
export interface EnumSchema extends SchemaProperty {
type: NullableProperty<'string'>;
enum: (string | number | boolean)[];
}
export interface NumberSchema extends SchemaProperty {
type: NullableProperty<'number' | 'integer'>;
minimum?: number;
maximum?: number;
exclusiveMinimum?: number;
exclusiveMaximum?: number;
multipleOf?: number;
}
export interface BooleanSchema extends SchemaProperty {
type: NullableProperty<'boolean'>;
}
export interface ArraySchema extends SchemaProperty {
type: NullableProperty<'array'>;
items: JSONSchema;
minItems?: number;
maxItems?: number;
}
export interface ObjectSchema extends SchemaProperty {
type: NullableProperty<'object'>;
properties: Record<string, JSONSchema>;
required: string[];
additionalProperties: false;
minProperties?: number;
maxProperties?: number;
}
interface NullSchema extends SchemaProperty {
type: 'null';
}
export type JSONSchema = StringSchema | EnumSchema | NumberSchema | BooleanSchema | ObjectSchema | ArraySchema | NullSchema | ReferencedProperty | SchemaProperty | AnyOfSchema;
export {};

View File

@@ -0,0 +1,3 @@
import type { BeanCollection, StructuredSchemaParams } from 'ag-grid-community';
import type { JSONSchema } from './schemaTypes';
export declare function getStructuredSchema(beans: BeanCollection, params?: StructuredSchemaParams): JSONSchema | undefined;

View File

@@ -0,0 +1,26 @@
import type { IntegratedModule } from 'ag-charts-types';
import type { _ModuleWithoutApi } from 'ag-grid-community';
type AllEnterpriseModuleType = {
with: (params: IntegratedModule) => _ModuleWithoutApi;
} & _ModuleWithoutApi;
/**
* @feature All Enterprise and Community features
* Registers all the Grid features: Community and Enterprise.
* If using Integrated Charts or Sparklines then the relevant AG Charts module must be provided.
* @example
* // All Enterprise features
* import { ModuleRegistry } from 'ag-grid-community';
* import { AllEnterpriseModule } from 'ag-grid-enterprise';
*
* ModuleRegistry.registerModules([ AllEnterpriseModule ]);
* @example
* // All Enterprise features including Integrated Charts and Sparklines
* import { ModuleRegistry } from 'ag-grid-community';
* import { AgChartsEnterpriseModule } from 'ag-charts-enterprise';
* import { AllEnterpriseModule } from 'ag-grid-enterprise';
*
* ModuleRegistry.registerModules([ AllEnterpriseModule.with(AgChartsEnterpriseModule) ]);
*
*/
export declare const AllEnterpriseModule: AllEnterpriseModuleType;
export {};

View File

@@ -0,0 +1,5 @@
import type { BeanCollection } from 'ag-grid-community';
export declare function startBatchEdit({ editSvc, gos, rowModel }: BeanCollection): void;
export declare function cancelBatchEdit({ editSvc }: BeanCollection): void;
export declare function commitBatchEdit({ editSvc }: BeanCollection): void;
export declare function isBatchEditing(beans: BeanCollection): boolean;

View File

@@ -0,0 +1,5 @@
import type { _BatchEditApi, _ModuleWithApi } from 'ag-grid-community';
/**
* @feature Batch Editing
*/
export declare const BatchEditModule: _ModuleWithApi<_BatchEditApi>;

View File

@@ -0,0 +1,5 @@
import type { _ModuleWithoutApi } from 'ag-grid-community';
/**
* @internal
*/
export declare const LoadingCellRendererModule: _ModuleWithoutApi;

View File

@@ -0,0 +1,11 @@
import type { ILoadingCellRendererComp, ILoadingCellRendererParams } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
export declare class LoadingCellRenderer extends Component implements ILoadingCellRendererComp {
private readonly eLoadingIcon;
private readonly eLoadingText;
constructor();
init(params: ILoadingCellRendererParams): void;
private setupFailed;
private setupLoading;
refresh(_params: ILoadingCellRendererParams): boolean;
}

View File

@@ -0,0 +1,17 @@
import type { IntegratedModule } from 'ag-charts-types';
import type { NamedBean } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
import type { IAgChartsExports } from '../agStack/iAgChartsExports';
/** MAKE SURE TO UPDATE THE SCRIPT scripts/ci/substituteAgChartsTypesScene.sh WHEN CHANGING THIS FILE */
type ChartTypes = IntegratedModule;
/** Bean to expose the AG Charts apis from a single location and not require a code dependency on ag-charts-community */
export declare class AgChartsExports extends BeanStub implements NamedBean, IAgChartsExports {
beanName: "agChartsExports";
isEnterprise: boolean;
create: ChartTypes['create'];
_Theme: ChartTypes['_Theme'];
_Scene: ChartTypes['_Scene'];
_Util: ChartTypes['_Util'];
constructor(params: IntegratedModule);
}
export {};

View File

@@ -0,0 +1,89 @@
import type { AgCartesianAxisType, AgChartThemeOverrides, AgChartThemePalette, IChartTheme } from 'ag-charts-types';
import type { BeanCollection, ChartModel, ChartType, IAggFunc, SeriesChartType, SeriesGroupType, UpdateChartParams } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
import type { ChartProxy, UpdateParams } from './chartProxies/chartProxy';
import type { ChartDataModel, ColState } from './model/chartDataModel';
import type { ChartSeriesType } from './utils/seriesTypeMapper';
export declare const DEFAULT_THEMES: string[];
type ChartControllerEvent = 'chartUpdated' | 'chartApiUpdate' | 'chartModelUpdate' | 'chartTypeChanged' | 'chartSeriesChartTypeChanged' | 'chartLinkedChanged';
export declare class ChartController extends BeanStub<ChartControllerEvent> {
private readonly model;
private rangeSvc;
private agChartsExports;
wireBeans(beans: BeanCollection): void;
private chartProxy;
constructor(model: ChartDataModel);
postConstruct(): void;
update(params: UpdateChartParams): boolean;
private applyValidatedChartParams;
updateForGridChange(params?: {
maintainColState?: boolean;
setColsFromRange?: boolean;
}): void;
updateForDataChange(): void;
updateForRangeChange(): void;
updateForPanelChange(params: {
updatedColState: ColState;
resetOrder?: boolean;
skipAnimation?: boolean;
}): void;
updateThemeOverrides(updatedOverrides: AgChartThemeOverrides): void;
getChartUpdateParams(updatedOverrides?: AgChartThemeOverrides): UpdateParams;
private invertCategorySeriesParams;
getChartModel(): ChartModel;
getChartId(): string;
getChartData(): any[];
getChartType(): ChartType;
setChartType(chartType: ChartType): void;
isCategorySeriesSwitched(): boolean;
switchCategorySeries(inverted: boolean): void;
getAggFunc(): string | IAggFunc | undefined;
setAggFunc(value: string | IAggFunc | undefined, silent?: boolean): void;
private updateMultiSeriesAndCategory;
setChartThemeName(chartThemeName: string, silent?: boolean): void;
getChartThemeName(): string;
isPivotChart(): boolean;
isPivotMode(): boolean;
isGrouping(): boolean;
isCrossFilterChart(): boolean;
getThemeNames(): string[];
getThemes(): IChartTheme[];
getPalettes(): AgChartThemePalette[];
getSelectedValueColState(): {
colId: string;
displayName: string | null;
}[];
getSelectedDimensions(): ColState[];
getColStateForMenu(): {
dimensionCols: ColState[];
valueCols: ColState[];
};
setChartRange(silent?: boolean): void;
detachChartRange(): void;
setChartProxy(chartProxy: ChartProxy): void;
getChartProxy(): ChartProxy;
isActiveXYChart(): boolean;
isChartLinked(): boolean;
customComboExists(): boolean;
getSeriesChartTypes(): SeriesChartType[];
isComboChart(chartType?: ChartType): boolean;
updateSeriesChartType(colId: string, chartType?: ChartType, secondaryAxis?: boolean): void;
getActiveSeriesChartTypes(): SeriesChartType[];
getChartSeriesTypes(chartType?: ChartType): ChartSeriesType[];
getChartSeriesType(): ChartSeriesType;
isEnterprise: () => boolean;
private getCellRanges;
private createCellRange;
private validUpdateType;
private getCellRangeParams;
setCategoryAxisType(categoryAxisType?: AgCartesianAxisType): void;
getSeriesGroupType(): SeriesGroupType | undefined;
setSeriesGroupType(seriesGroupType?: SeriesGroupType): void;
raiseChartModelUpdateEvent(): void;
raiseChartUpdatedEvent(): void;
raiseChartApiUpdateEvent(): void;
private raiseChartOptionsChangedEvent;
private raiseChartRangeSelectionChangedEvent;
destroy(): void;
}
export {};

View File

@@ -0,0 +1,8 @@
import type { AgAreaSeriesOptions, AgCartesianAxisOptions } from 'ag-charts-types';
import type { UpdateParams } from '../chartProxy';
import { CartesianChartProxy } from './cartesianChartProxy';
export declare class AreaChartProxy extends CartesianChartProxy<'area'> {
protected getAxes(params: UpdateParams): Record<string, AgCartesianAxisOptions>;
protected getSeries(params: UpdateParams): (AgAreaSeriesOptions<any, unknown> | import("ag-charts-types").AgLineSeriesOptions<any, unknown>)[];
private isNormalised;
}

Some files were not shown because too many files have changed in this diff Show More