@skyux/ag-grid 5.1.6 → 5.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-ag-grid.umd.js +9 -9
- package/documentation.json +153 -2
- package/esm2015/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js +2 -2
- package/esm2015/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js +2 -2
- package/esm2015/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.js +2 -2
- package/esm2015/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.js +2 -2
- package/esm2015/modules/ag-grid/types/cell-type.js +2 -2
- package/fesm2015/skyux-ag-grid.js +5 -5
- package/fesm2015/skyux-ag-grid.js.map +1 -1
- package/modules/ag-grid/types/cell-type.d.ts +1 -1
- package/package.json +1 -1
|
@@ -878,12 +878,12 @@
|
|
|
878
878
|
return SkyAgGridCellEditorNumberComponent;
|
|
879
879
|
}());
|
|
880
880
|
SkyAgGridCellEditorNumberComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
881
|
-
SkyAgGridCellEditorNumberComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorNumberComponent, selector: "sky-ag-grid-cell-editor-number", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n '
|
|
881
|
+
SkyAgGridCellEditorNumberComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorNumberComponent, selector: "sky-ag-grid-cell-editor-number", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n #skyCellEditorNumber\n/>\n", styles: ["input{border:none;text-align:right}\n"], directives: [{ type: i1__namespace$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i1__namespace$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3__namespace.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
|
882
882
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellEditorNumberComponent, decorators: [{
|
|
883
883
|
type: i0.Component,
|
|
884
884
|
args: [{
|
|
885
885
|
selector: 'sky-ag-grid-cell-editor-number',
|
|
886
|
-
template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n '
|
|
886
|
+
template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n #skyCellEditorNumber\n/>\n",
|
|
887
887
|
styles: ["input{border:none;text-align:right}\n"],
|
|
888
888
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
889
889
|
}]
|
|
@@ -943,12 +943,12 @@
|
|
|
943
943
|
return SkyAgGridCellEditorTextComponent;
|
|
944
944
|
}());
|
|
945
945
|
SkyAgGridCellEditorTextComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellEditorTextComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
946
|
-
SkyAgGridCellEditorTextComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorTextComponent, selector: "sky-ag-grid-cell-editor-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n '
|
|
946
|
+
SkyAgGridCellEditorTextComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorTextComponent, selector: "sky-ag-grid-cell-editor-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n #skyCellEditorText\n/>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1__namespace$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3__namespace.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
|
947
947
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellEditorTextComponent, decorators: [{
|
|
948
948
|
type: i0.Component,
|
|
949
949
|
args: [{
|
|
950
950
|
selector: 'sky-ag-grid-cell-editor-text',
|
|
951
|
-
template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n '
|
|
951
|
+
template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n #skyCellEditorText\n/>\n",
|
|
952
952
|
styles: ["input{border:none;padding-left:11px}\n"],
|
|
953
953
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
954
954
|
}]
|
|
@@ -1255,12 +1255,12 @@
|
|
|
1255
1255
|
return SkyAgGridCellRendererRowSelectorComponent;
|
|
1256
1256
|
}());
|
|
1257
1257
|
SkyAgGridCellRendererRowSelectorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1258
|
-
SkyAgGridCellRendererRowSelectorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellRendererRowSelectorComponent, selector: "sky-ag-grid-cell-renderer-row-selector", ngImport: i0__namespace, template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n tabindex=\"-1\"\n [label]=\"'
|
|
1258
|
+
SkyAgGridCellRendererRowSelectorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellRendererRowSelectorComponent, selector: "sky-ag-grid-cell-renderer-row-selector", ngImport: i0__namespace, template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n tabindex=\"-1\"\n [label]=\"'sky_ag_grid_row_selector_aria_label' | skyLibResources: rowNumber\"\n [attr.aria-label]=\"\n 'sky_ag_grid_row_selector_aria_label' | skyLibResources: rowNumber\n \"\n [(ngModel)]=\"checked\"\n (change)=\"updateRow()\"\n>\n</sky-checkbox>\n", styles: [".sky-ag-grid-cell-row-selector .sky-switch-control{top:-6px}\n"], components: [{ type: i1__namespace$4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }], directives: [{ type: i1__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3__namespace.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
|
|
1259
1259
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellRendererRowSelectorComponent, decorators: [{
|
|
1260
1260
|
type: i0.Component,
|
|
1261
1261
|
args: [{
|
|
1262
1262
|
selector: 'sky-ag-grid-cell-renderer-row-selector',
|
|
1263
|
-
template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n tabindex=\"-1\"\n [label]=\"'
|
|
1263
|
+
template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n tabindex=\"-1\"\n [label]=\"'sky_ag_grid_row_selector_aria_label' | skyLibResources: rowNumber\"\n [attr.aria-label]=\"\n 'sky_ag_grid_row_selector_aria_label' | skyLibResources: rowNumber\n \"\n [(ngModel)]=\"checked\"\n (change)=\"updateRow()\"\n>\n</sky-checkbox>\n",
|
|
1264
1264
|
styles: [".sky-ag-grid-cell-row-selector .sky-switch-control{top:-6px}\n"],
|
|
1265
1265
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1266
1266
|
encapsulation: i0.ViewEncapsulation.None,
|
|
@@ -1891,12 +1891,12 @@
|
|
|
1891
1891
|
return SkyAgGridCellEditorCurrencyComponent;
|
|
1892
1892
|
}());
|
|
1893
1893
|
SkyAgGridCellEditorCurrencyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1894
|
-
SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n '
|
|
1894
|
+
SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [skyAutonumeric]=\"skyComponentProperties\"\n #skyCellEditorCurrency\n/>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1__namespace$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$2.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric"] }, { type: i1__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3__namespace.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
|
1895
1895
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
|
|
1896
1896
|
type: i0.Component,
|
|
1897
1897
|
args: [{
|
|
1898
1898
|
selector: 'sky-ag-grid-cell-editor-currency',
|
|
1899
|
-
template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n '
|
|
1899
|
+
template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [skyAutonumeric]=\"skyComponentProperties\"\n #skyCellEditorCurrency\n/>\n",
|
|
1900
1900
|
styles: ["input{border:none;padding-left:11px}\n"],
|
|
1901
1901
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1902
1902
|
}]
|
|
@@ -2096,7 +2096,7 @@
|
|
|
2096
2096
|
/**
|
|
2097
2097
|
* These column types can be used by setting the AG Grid [column definition `type`](https://www.ag-grid.com/javascript-grid-column-properties/) to one of the following values.
|
|
2098
2098
|
* <br/>
|
|
2099
|
-
* Any [SKY UX component](https://developer.blackbaud.com/skyux/components can be made into a [cell editor](https://www.ag-grid.com/javascript-grid-cell-editor/) or [cell renderer](https://www.ag-grid.com/javascript-grid-cell-rendering-components/) component. If you would like to use a component that does not have a column definition yet, please consider [contributing it](https://developer.blackbaud.com/skyux/contribute/contribution-process) to the SKY UX data entry grid module, or [file an issue](https://developer.blackbaud.com/skyux/contribute/contribution-process/file-issue) in the [`@skyux/ag-grid` repo](https://github.com/blackbaud/skyux-ag-grid).
|
|
2099
|
+
* Any [SKY UX component](https://developer.blackbaud.com/skyux/components) can be made into a [cell editor](https://www.ag-grid.com/javascript-grid-cell-editor/) or [cell renderer](https://www.ag-grid.com/javascript-grid-cell-rendering-components/) component. If you would like to use a component that does not have a column definition yet, please consider [contributing it](https://developer.blackbaud.com/skyux/contribute/contribution-process) to the SKY UX data entry grid module, or [file an issue](https://developer.blackbaud.com/skyux/contribute/contribution-process/file-issue) in the [`@skyux/ag-grid` repo](https://github.com/blackbaud/skyux-ag-grid).
|
|
2100
2100
|
*/
|
|
2101
2101
|
exports.SkyCellType = void 0;
|
|
2102
2102
|
(function (SkyCellType) {
|
package/documentation.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"kindString": "Enumeration",
|
|
21
21
|
"flags": {},
|
|
22
22
|
"comment": {
|
|
23
|
-
"shortText": "These column types can be used by setting the AG Grid [column definition `type`](https://www.ag-grid.com/javascript-grid-column-properties/) to one of the following values.\n<br/>\nAny [SKY UX component](https://developer.blackbaud.com/skyux/components can be made into a [cell editor](https://www.ag-grid.com/javascript-grid-cell-editor/) or [cell renderer](https://www.ag-grid.com/javascript-grid-cell-rendering-components/) component. If you would like to use a component that does not have a column definition yet, please consider [contributing it](https://developer.blackbaud.com/skyux/contribute/contribution-process) to the SKY UX data entry grid module, or [file an issue](https://developer.blackbaud.com/skyux/contribute/contribution-process/file-issue) in the [`@skyux/ag-grid` repo](https://github.com/blackbaud/skyux-ag-grid)."
|
|
23
|
+
"shortText": "These column types can be used by setting the AG Grid [column definition `type`](https://www.ag-grid.com/javascript-grid-column-properties/) to one of the following values.\n<br/>\nAny [SKY UX component](https://developer.blackbaud.com/skyux/components) can be made into a [cell editor](https://www.ag-grid.com/javascript-grid-cell-editor/) or [cell renderer](https://www.ag-grid.com/javascript-grid-cell-rendering-components/) component. If you would like to use a component that does not have a column definition yet, please consider [contributing it](https://developer.blackbaud.com/skyux/contribute/contribution-process) to the SKY UX data entry grid module, or [file an issue](https://developer.blackbaud.com/skyux/contribute/contribution-process/file-issue) in the [`@skyux/ag-grid` repo](https://github.com/blackbaud/skyux-ag-grid)."
|
|
24
24
|
},
|
|
25
25
|
"children": [
|
|
26
26
|
{
|
|
@@ -663,5 +663,156 @@
|
|
|
663
663
|
}
|
|
664
664
|
]
|
|
665
665
|
},
|
|
666
|
-
"codeExamples": [
|
|
666
|
+
"codeExamples": [
|
|
667
|
+
{
|
|
668
|
+
"fileName": "data-entry-grid-docs-demo-context-menu.component.html",
|
|
669
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo-context-menu.component.html",
|
|
670
|
+
"rawContents": "<sky-dropdown buttonType=\"context-menu\">\n <sky-dropdown-menu>\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"actionClicked('Delete')\">Delete</button>\n </sky-dropdown-item>\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"actionClicked('Mark inactive')\">\n Mark inactive\n </button>\n </sky-dropdown-item>\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"actionClicked('More info')\">\n More info\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n</sky-dropdown>\n"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"fileName": "data-entry-grid-docs-demo-context-menu.component.ts",
|
|
674
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo-context-menu.component.ts",
|
|
675
|
+
"rawContents": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\n\n@Component({\n selector: 'app-data-entry-grid-docs-demo-context-menu',\n templateUrl: './data-entry-grid-docs-demo-context-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataEntryGridContextMenuComponent\n implements ICellRendererAngularComp\n{\n private name: string = '';\n\n public agInit(params: ICellRendererParams): void {\n this.name = params.data && params.data.name;\n }\n\n public refresh(): boolean {\n return false;\n }\n\n public actionClicked(action: string): void {\n alert(`${action} clicked for ${this.name}`);\n }\n}\n"
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"fileName": "data-entry-grid-docs-demo-data.ts",
|
|
679
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo-data.ts",
|
|
680
|
+
"rawContents": "export interface SkyAutocompleteOption {\n id: string;\n name: string;\n}\n\nexport const SKY_DEPARTMENTS = [\n {\n id: '1',\n name: 'Marketing',\n },\n {\n id: '2',\n name: 'Sales',\n },\n {\n id: '3',\n name: 'Engineering',\n },\n {\n id: '4',\n name: 'Customer Support',\n },\n];\n\nexport const SKY_JOB_TITLES: { [name: string]: SkyAutocompleteOption[] } = {\n Marketing: [\n {\n id: '1',\n name: 'Social Media Coordinator',\n },\n {\n id: '2',\n name: 'Blog Manager',\n },\n {\n id: '3',\n name: 'Events Manager',\n },\n ],\n Sales: [\n {\n id: '4',\n name: 'Business Development Representative',\n },\n {\n id: '5',\n name: 'Account Executive',\n },\n ],\n Engineering: [\n {\n id: '6',\n name: 'Software Engineer',\n },\n {\n id: '7',\n name: 'Senior Software Engineer',\n },\n {\n id: '8',\n name: 'Principal Software Engineer',\n },\n {\n id: '9',\n name: 'UX Designer',\n },\n {\n id: '10',\n name: 'Product Manager',\n },\n ],\n 'Customer Support': [\n {\n id: '11',\n name: 'Customer Support Representative',\n },\n {\n id: '12',\n name: 'Account Manager',\n },\n {\n id: '13',\n name: 'Customer Support Specialist',\n },\n ],\n};\n\nexport interface SkyAgGridDemoRow {\n selected: boolean;\n name: string;\n age: number;\n startDate: Date;\n endDate?: Date;\n department: SkyAutocompleteOption;\n jobTitle?: SkyAutocompleteOption;\n}\n\nexport const SKY_AG_GRID_DEMO_DATA = [\n {\n selected: true,\n name: 'Billy Bob',\n age: 55,\n startDate: new Date('12/1/1994'),\n department: SKY_DEPARTMENTS[3],\n jobTitle: SKY_JOB_TITLES['Customer Support'][1],\n },\n {\n selected: false,\n name: 'Jane Deere',\n age: 33,\n startDate: new Date('7/15/2009'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][2],\n },\n {\n selected: false,\n name: 'John Doe',\n age: 38,\n startDate: new Date('9/1/2017'),\n endDate: new Date('9/30/2017'),\n department: SKY_DEPARTMENTS[1],\n },\n {\n selected: false,\n name: 'David Smith',\n age: 51,\n startDate: new Date('1/1/2012'),\n endDate: new Date('6/15/2018'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][4],\n },\n {\n selected: true,\n name: 'Emily Johnson',\n age: 41,\n startDate: new Date('1/15/2014'),\n department: SKY_DEPARTMENTS[0],\n jobTitle: SKY_JOB_TITLES['Marketing'][2],\n },\n {\n selected: false,\n name: 'Nicole Davidson',\n age: 22,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][0],\n },\n {\n selected: false,\n name: 'Carl Roberts',\n age: 23,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][3],\n },\n];\n"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"fileName": "data-entry-grid-docs-demo-edit-modal-context.ts",
|
|
684
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo-edit-modal-context.ts",
|
|
685
|
+
"rawContents": "import { SkyAgGridDemoRow } from './data-entry-grid-docs-demo-data';\n\nexport class SkyDataEntryGridEditModalContext {\n public gridData: SkyAgGridDemoRow[] = [];\n}\n"
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"fileName": "data-entry-grid-docs-demo-edit-modal.component.html",
|
|
689
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo-edit-modal.component.html",
|
|
690
|
+
"rawContents": "<sky-modal>\n <sky-modal-header> Edit employee information </sky-modal-header>\n <sky-modal-content>\n <div id=\"docs-edit-grid-modal-content\">\n <sky-ag-grid-wrapper>\n <ag-grid-angular\n class=\"sky-ag-grid-editable\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"gridData\"\n >\n </ag-grid-angular>\n </sky-ag-grid-wrapper>\n </div>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n (click)=\"instance.save(gridData)\"\n >\n Save\n </button>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"instance.cancel()\"\n >\n Cancel\n </button>\n </sky-modal-footer>\n</sky-modal>\n"
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"fileName": "data-entry-grid-docs-demo-edit-modal.component.ts",
|
|
694
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo-edit-modal.component.ts",
|
|
695
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport {\n SkyAgGridService,\n SkyAutocompleteProperties,\n SkyCellType,\n SkyDatepickerProperties,\n} from '@skyux/ag-grid';\nimport { SkyAutocompleteSelectionChange } from '@skyux/lookup';\nimport { SkyModalInstance } from '@skyux/modals';\n\nimport {\n ColDef,\n GridApi,\n GridOptions,\n GridReadyEvent,\n ICellEditorParams,\n NewValueParams,\n RowNode,\n} from 'ag-grid-community';\n\nimport {\n SkyAgGridDemoRow,\n SKY_DEPARTMENTS,\n SKY_JOB_TITLES,\n} from './data-entry-grid-docs-demo-data';\nimport { SkyDataEntryGridEditModalContext } from './data-entry-grid-docs-demo-edit-modal-context';\n\n@Component({\n selector: 'app-data-entry-grid-docs-demo-edit-modal',\n templateUrl: './data-entry-grid-docs-demo-edit-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataEntryGridEditModalComponent {\n public columnDefs: ColDef[];\n private gridApi: GridApi | undefined;\n public gridData: SkyAgGridDemoRow[];\n public gridOptions: GridOptions;\n\n constructor(\n private agGridService: SkyAgGridService,\n public context: SkyDataEntryGridEditModalContext,\n public instance: SkyModalInstance,\n private changeDetector: ChangeDetectorRef\n ) {\n this.columnDefs = [\n {\n field: 'name',\n headerName: 'Name',\n },\n {\n field: 'age',\n headerName: 'Age',\n type: SkyCellType.Number,\n maxWidth: 100,\n editable: true,\n },\n {\n field: 'startDate',\n headerName: 'Start date',\n type: SkyCellType.Date,\n sort: 'asc',\n },\n {\n field: 'endDate',\n headerName: 'End date',\n type: SkyCellType.Date,\n editable: true,\n cellEditorParams: (\n params: ICellEditorParams\n ): { skyComponentProperties: SkyDatepickerProperties } => {\n return { skyComponentProperties: { minDate: params.data.startDate } };\n },\n },\n {\n field: 'department',\n headerName: 'Department',\n type: SkyCellType.Autocomplete,\n editable: true,\n cellEditorParams: (\n params: ICellEditorParams\n ): { skyComponentProperties: SkyAutocompleteProperties } => {\n return {\n skyComponentProperties: {\n data: SKY_DEPARTMENTS,\n selectionChange: (\n change: SkyAutocompleteSelectionChange\n ): void => {\n this.departmentSelectionChange(change, params.node);\n },\n },\n };\n },\n onCellValueChanged: (event: NewValueParams): void => {\n if (event.newValue !== event.oldValue) {\n this.clearJobTitle(event.node);\n }\n },\n },\n {\n field: 'jobTitle',\n headerName: 'Title',\n type: SkyCellType.Autocomplete,\n editable: true,\n cellEditorParams: (\n params: ICellEditorParams\n ): { skyComponentProperties: SkyAutocompleteProperties } => {\n const selectedDepartment: string =\n params.data &&\n params.data.department &&\n params.data.department.name;\n let editParams: {\n skyComponentProperties: SkyAutocompleteProperties;\n } = { skyComponentProperties: { data: [] } };\n\n if (selectedDepartment) {\n editParams.skyComponentProperties.data =\n SKY_JOB_TITLES[selectedDepartment];\n }\n return editParams;\n },\n },\n ];\n this.gridData = this.context.gridData;\n this.gridOptions = {\n columnDefs: this.columnDefs,\n onGridReady: (gridReadyEvent) => this.onGridReady(gridReadyEvent),\n };\n this.gridOptions = this.agGridService.getEditableGridOptions({\n gridOptions: this.gridOptions,\n });\n this.changeDetector.markForCheck();\n }\n\n public onGridReady(gridReadyEvent: GridReadyEvent): void {\n this.gridApi = gridReadyEvent.api;\n this.gridApi.sizeColumnsToFit();\n this.changeDetector.markForCheck();\n }\n\n private departmentSelectionChange(\n change: SkyAutocompleteSelectionChange,\n node: RowNode\n ): void {\n if (change.selectedItem && change.selectedItem !== node.data.department) {\n this.clearJobTitle(node);\n }\n }\n\n private clearJobTitle(node: RowNode | null): void {\n if (node) {\n node.data.jobTitle = undefined;\n this.changeDetector.markForCheck();\n if (this.gridApi) {\n this.gridApi.refreshCells({ rowNodes: [node] });\n }\n }\n }\n}\n"
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"fileName": "data-entry-grid-docs-demo.component.html",
|
|
699
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo.component.html",
|
|
700
|
+
"rawContents": "<div>\n <sky-toolbar>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-primary\"\n id=\"edit-btn\"\n (click)=\"openModal()\"\n >\n Edit\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-search\n [searchText]=\"searchText\"\n [debounceTime]=\"250\"\n (searchApply)=\"searchApplied($event)\"\n (searchChange)=\"searchApplied($event)\"\n (searchClear)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n </sky-toolbar>\n <sky-ag-grid-wrapper>\n <ag-grid-angular\n [gridOptions]=\"gridOptions\"\n [rowData]=\"gridData\"\n [overlayNoRowsTemplate]=\"noRowsTemplate\"\n >\n </ag-grid-angular>\n </sky-ag-grid-wrapper>\n</div>\n"
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"fileName": "data-entry-grid-docs-demo.component.ts",
|
|
704
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo.component.ts",
|
|
705
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport { SkyCellType, SkyAgGridService } from '@skyux/ag-grid';\nimport { SkyModalService, SkyModalCloseArgs } from '@skyux/modals';\n\nimport {\n GridApi,\n GridReadyEvent,\n GridOptions,\n ValueFormatterParams,\n} from 'ag-grid-community';\n\nimport { SkyDataEntryGridContextMenuComponent } from './data-entry-grid-docs-demo-context-menu.component';\nimport { SKY_AG_GRID_DEMO_DATA } from './data-entry-grid-docs-demo-data';\nimport { SkyDataEntryGridEditModalContext } from './data-entry-grid-docs-demo-edit-modal-context';\nimport { SkyDataEntryGridEditModalComponent } from './data-entry-grid-docs-demo-edit-modal.component';\n\n@Component({\n selector: 'app-data-entry-grid-docs-demo',\n templateUrl: './data-entry-grid-docs-demo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataEntryGridDemoComponent {\n public gridData = SKY_AG_GRID_DEMO_DATA;\n public columnDefs = [\n {\n field: 'selected',\n type: SkyCellType.RowSelector,\n },\n {\n colId: 'context',\n headerName: '',\n maxWidth: 50,\n sortable: false,\n cellRendererFramework: SkyDataEntryGridContextMenuComponent,\n },\n {\n field: 'name',\n headerName: 'Name',\n },\n {\n field: 'age',\n headerName: 'Age',\n type: SkyCellType.Number,\n maxWidth: 60,\n },\n {\n field: 'startDate',\n headerName: 'Start date',\n type: SkyCellType.Date,\n sort: 'asc',\n },\n {\n field: 'endDate',\n headerName: 'End date',\n type: SkyCellType.Date,\n valueFormatter: this.endDateFormatter,\n },\n {\n field: 'department',\n headerName: 'Department',\n type: SkyCellType.Autocomplete,\n },\n {\n field: 'jobTitle',\n headerName: 'Title',\n type: SkyCellType.Autocomplete,\n },\n {\n colId: 'validationCurrency',\n field: 'validationCurrency',\n headerName: 'Validation currency',\n type: [SkyCellType.CurrencyValidator],\n },\n {\n colId: 'validationDate',\n field: 'validationDate',\n headerName: 'Validation date',\n type: [SkyCellType.Date, SkyCellType.Validator],\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: Date) => !!value && value > new Date(1985, 9, 26),\n validatorMessage: 'Please enter a future date',\n },\n },\n },\n ];\n\n public gridApi: GridApi | undefined;\n public gridOptions: GridOptions;\n public searchText: string = '';\n public noRowsTemplate: string;\n\n constructor(\n private agGridService: SkyAgGridService,\n private modalService: SkyModalService,\n private changeDetection: ChangeDetectorRef\n ) {\n this.noRowsTemplate = `<div class=\"sky-deemphasized\">No results found.</div>`;\n this.gridOptions = {\n columnDefs: this.columnDefs,\n onGridReady: (gridReadyEvent) => this.onGridReady(gridReadyEvent),\n };\n this.gridOptions = this.agGridService.getGridOptions({\n gridOptions: this.gridOptions,\n });\n this.changeDetection.markForCheck();\n }\n\n public onGridReady(gridReadyEvent: GridReadyEvent): void {\n this.gridApi = gridReadyEvent.api;\n this.gridApi.sizeColumnsToFit();\n this.changeDetection.markForCheck();\n }\n\n public openModal(): void {\n const context = new SkyDataEntryGridEditModalContext();\n context.gridData = this.gridData;\n\n const options = {\n providers: [\n { provide: SkyDataEntryGridEditModalContext, useValue: context },\n ],\n ariaDescribedBy: 'docs-edit-grid-modal-content',\n size: 'large',\n };\n\n const modalInstance = this.modalService.open(\n SkyDataEntryGridEditModalComponent,\n options\n );\n\n modalInstance.closed.subscribe((result: SkyModalCloseArgs) => {\n if (result.reason === 'cancel' || result.reason === 'close') {\n alert('Edits canceled!');\n } else {\n this.gridData = result.data;\n if (this.gridApi) {\n this.gridApi.refreshCells();\n }\n alert('Saving data!');\n }\n });\n }\n\n public searchApplied(searchText: string | void): void {\n if (searchText) {\n this.searchText = searchText;\n } else {\n this.searchText = '';\n }\n if (this.gridApi) {\n this.gridApi.setQuickFilter(searchText);\n let displayedRowCount = this.gridApi.getDisplayedRowCount();\n if (displayedRowCount > 0) {\n this.gridApi.hideOverlay();\n } else {\n this.gridApi.showNoRowsOverlay();\n }\n }\n }\n\n private endDateFormatter(params: ValueFormatterParams): string {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return params.value\n ? params.value.toLocaleDateString('en-us', dateConfig)\n : 'N/A';\n }\n}\n"
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"fileName": "data-entry-grid-docs-demo.module.ts",
|
|
709
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/basic/data-entry-grid-docs-demo.module.ts",
|
|
710
|
+
"rawContents": "import { NgModule } from '@angular/core';\nimport { SkyAgGridModule } from '@skyux/ag-grid';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkySearchModule } from '@skyux/lookup';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\nimport { AgGridModule } from 'ag-grid-angular';\n\nimport { SkyDataEntryGridContextMenuComponent } from './data-entry-grid-docs-demo-context-menu.component';\nimport { SkyDataEntryGridEditModalComponent } from './data-entry-grid-docs-demo-edit-modal.component';\nimport { SkyDataEntryGridDemoComponent } from './data-entry-grid-docs-demo.component';\n\n@NgModule({\n declarations: [\n SkyDataEntryGridContextMenuComponent,\n SkyDataEntryGridDemoComponent,\n SkyDataEntryGridEditModalComponent,\n ],\n imports: [\n AgGridModule.withComponents([SkyDataEntryGridContextMenuComponent]),\n SkyToolbarModule,\n SkySearchModule,\n AgGridModule,\n SkyAgGridModule,\n SkyModalModule,\n SkyDropdownModule,\n ],\n exports: [SkyDataEntryGridDemoComponent],\n entryComponents: [SkyDataEntryGridEditModalComponent],\n})\nexport class SkyDataEntryGridDocsDemoModule {}\n"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-context-menu.component.html",
|
|
714
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-context-menu.component.html",
|
|
715
|
+
"rawContents": "<sky-dropdown buttonType=\"context-menu\">\n <sky-dropdown-menu>\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"actionClicked('Delete')\">Delete</button>\n </sky-dropdown-item>\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"actionClicked('Mark inactive')\">\n Mark inactive\n </button>\n </sky-dropdown-item>\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"actionClicked('More info')\">\n More info\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n</sky-dropdown>\n"
|
|
716
|
+
},
|
|
717
|
+
{
|
|
718
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-context-menu.component.ts",
|
|
719
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-context-menu.component.ts",
|
|
720
|
+
"rawContents": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\n\n@Component({\n selector: 'app-data-manager-data-entry-grid-docs-demo-context-menu',\n templateUrl:\n './data-manager-data-entry-grid-docs-demo-context-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataManagerDataEntryGridContextMenuComponent\n implements ICellRendererAngularComp\n{\n private name: string = '';\n\n public agInit(params: ICellRendererParams): void {\n this.name = params.data && params.data.name;\n }\n\n public refresh(): boolean {\n return false;\n }\n\n public actionClicked(action: string): void {\n alert(`${action} clicked for ${this.name}`);\n }\n}\n"
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-data.ts",
|
|
724
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-data.ts",
|
|
725
|
+
"rawContents": "export interface SkyAutocompleteOption {\n id: string;\n name: string;\n}\n\nexport const SKY_DEPARTMENTS = [\n {\n id: '1',\n name: 'Marketing',\n },\n {\n id: '2',\n name: 'Sales',\n },\n {\n id: '3',\n name: 'Engineering',\n },\n {\n id: '4',\n name: 'Customer Support',\n },\n];\n\nexport const SKY_JOB_TITLES: { [name: string]: SkyAutocompleteOption[] } = {\n Marketing: [\n {\n id: '1',\n name: 'Social Media Coordinator',\n },\n {\n id: '2',\n name: 'Blog Manager',\n },\n {\n id: '3',\n name: 'Events Manager',\n },\n ],\n Sales: [\n {\n id: '4',\n name: 'Business Development Representative',\n },\n {\n id: '5',\n name: 'Account Executive',\n },\n ],\n Engineering: [\n {\n id: '6',\n name: 'Software Engineer',\n },\n {\n id: '7',\n name: 'Senior Software Engineer',\n },\n {\n id: '8',\n name: 'Principal Software Engineer',\n },\n {\n id: '9',\n name: 'UX Designer',\n },\n {\n id: '10',\n name: 'Product Manager',\n },\n ],\n 'Customer Support': [\n {\n id: '11',\n name: 'Customer Support Representative',\n },\n {\n id: '12',\n name: 'Account Manager',\n },\n {\n id: '13',\n name: 'Customer Support Specialist',\n },\n ],\n};\n\nexport interface SkyAgGridDemoRow {\n selected: boolean;\n name: string;\n age: number;\n startDate: Date;\n endDate?: Date;\n department: SkyAutocompleteOption;\n jobTitle?: SkyAutocompleteOption;\n}\n\nexport const SKY_AG_GRID_DEMO_DATA = [\n {\n selected: true,\n name: 'Billy Bob',\n age: 55,\n startDate: new Date('12/1/1994'),\n department: SKY_DEPARTMENTS[3],\n jobTitle: SKY_JOB_TITLES['Customer Support'][1],\n },\n {\n selected: false,\n name: 'Jane Deere',\n age: 33,\n startDate: new Date('7/15/2009'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][2],\n },\n {\n selected: false,\n name: 'John Doe',\n age: 38,\n startDate: new Date('9/1/2017'),\n endDate: new Date('9/30/2017'),\n department: SKY_DEPARTMENTS[1],\n jobTitle: SKY_JOB_TITLES['Sales'][1],\n },\n {\n selected: false,\n name: 'David Smith',\n age: 51,\n startDate: new Date('1/1/2012'),\n endDate: new Date('6/15/2018'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][4],\n },\n {\n selected: true,\n name: 'Emily Johnson',\n age: 41,\n startDate: new Date('1/15/2014'),\n department: SKY_DEPARTMENTS[0],\n jobTitle: SKY_JOB_TITLES['Marketing'][2],\n },\n {\n selected: false,\n name: 'Nicole Davidson',\n age: 22,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][0],\n },\n {\n selected: false,\n name: 'Carl Roberts',\n age: 23,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][3],\n },\n];\n"
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-edit-modal-context.ts",
|
|
729
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-edit-modal-context.ts",
|
|
730
|
+
"rawContents": "import { SkyAgGridDemoRow } from './data-manager-data-entry-grid-docs-demo-data';\n\nexport class SkyDataEntryGridEditModalContext {\n public gridData: SkyAgGridDemoRow[] = [];\n}\n"
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-edit-modal.component.html",
|
|
734
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-edit-modal.component.html",
|
|
735
|
+
"rawContents": "<sky-modal>\n <sky-modal-header> Edit employee information </sky-modal-header>\n <sky-modal-content>\n <div id=\"docs-edit-grid-modal-content\">\n <sky-ag-grid-wrapper>\n <ag-grid-angular\n class=\"sky-ag-grid-editable\"\n [gridOptions]=\"gridOptions\"\n [rowData]=\"gridData\"\n >\n </ag-grid-angular>\n </sky-ag-grid-wrapper>\n </div>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n (click)=\"instance.save(gridData)\"\n >\n Save\n </button>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n (click)=\"instance.cancel()\"\n >\n Cancel\n </button>\n </sky-modal-footer>\n</sky-modal>\n"
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-edit-modal.component.ts",
|
|
739
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-edit-modal.component.ts",
|
|
740
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport {\n SkyAgGridService,\n SkyAutocompleteProperties,\n SkyCellType,\n SkyDatepickerProperties,\n} from '@skyux/ag-grid';\nimport { SkyAutocompleteSelectionChange } from '@skyux/lookup';\nimport { SkyModalInstance } from '@skyux/modals';\n\nimport {\n CellValueChangedEvent,\n ColDef,\n GridApi,\n GridOptions,\n GridReadyEvent,\n ICellEditorParams,\n NewValueParams,\n RowNode,\n} from 'ag-grid-community';\n\nimport {\n SkyAgGridDemoRow,\n SKY_DEPARTMENTS,\n SKY_JOB_TITLES,\n} from './data-manager-data-entry-grid-docs-demo-data';\nimport { SkyDataEntryGridEditModalContext } from './data-manager-data-entry-grid-docs-demo-edit-modal-context';\n\n@Component({\n selector: 'app-data-manager-data-entry-grid-docs-demo-edit-modal',\n templateUrl:\n './data-manager-data-entry-grid-docs-demo-edit-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataManagerDataEntryGridEditModalComponent {\n public columnDefs: ColDef[];\n private gridApi: GridApi | undefined;\n public gridData: SkyAgGridDemoRow[];\n public gridOptions: GridOptions;\n\n constructor(\n private agGridService: SkyAgGridService,\n public context: SkyDataEntryGridEditModalContext,\n public instance: SkyModalInstance,\n private changeDetector: ChangeDetectorRef\n ) {\n this.columnDefs = [\n {\n field: 'name',\n headerName: 'Name',\n },\n {\n field: 'age',\n headerName: 'Age',\n type: SkyCellType.Number,\n maxWidth: 100,\n editable: true,\n },\n {\n field: 'startDate',\n headerName: 'Start date',\n type: SkyCellType.Date,\n sort: 'asc',\n },\n {\n field: 'endDate',\n headerName: 'End date',\n type: SkyCellType.Date,\n editable: true,\n cellEditorParams: (\n params: ICellEditorParams\n ): { skyComponentProperties: SkyDatepickerProperties } => {\n return { skyComponentProperties: { minDate: params.data.startDate } };\n },\n },\n {\n field: 'department',\n headerName: 'Department',\n type: SkyCellType.Autocomplete,\n editable: true,\n cellEditorParams: (\n params: ICellEditorParams\n ): { skyComponentProperties: SkyAutocompleteProperties } => {\n return {\n skyComponentProperties: {\n data: SKY_DEPARTMENTS,\n selectionChange: (\n change: SkyAutocompleteSelectionChange\n ): void => {\n this.departmentSelectionChange(change, params.node);\n },\n },\n };\n },\n onCellValueChanged: (event: NewValueParams): void => {\n if (event.newValue !== event.oldValue) {\n this.clearJobTitle(event.node);\n }\n },\n },\n {\n field: 'jobTitle',\n headerName: 'Title',\n type: SkyCellType.Autocomplete,\n editable: true,\n cellEditorParams: (\n params: ICellEditorParams\n ): { skyComponentProperties: SkyAutocompleteProperties } => {\n const selectedDepartment: string =\n params.data &&\n params.data.department &&\n params.data.department.name;\n let editParams: {\n skyComponentProperties: SkyAutocompleteProperties;\n } = { skyComponentProperties: { data: [] } };\n\n if (selectedDepartment) {\n editParams.skyComponentProperties.data =\n SKY_JOB_TITLES[selectedDepartment];\n }\n return editParams;\n },\n },\n ];\n this.gridData = this.context.gridData;\n this.gridOptions = {\n columnDefs: this.columnDefs,\n onGridReady: (gridReadyEvent) => this.onGridReady(gridReadyEvent),\n };\n this.gridOptions = this.agGridService.getEditableGridOptions({\n gridOptions: this.gridOptions,\n });\n this.changeDetector.markForCheck();\n }\n\n public onGridReady(gridReadyEvent: GridReadyEvent): void {\n this.gridApi = gridReadyEvent.api;\n\n this.gridApi.sizeColumnsToFit();\n this.changeDetector.markForCheck();\n }\n\n private departmentSelectionChange(\n change: SkyAutocompleteSelectionChange,\n node: RowNode\n ): void {\n if (change.selectedItem && change.selectedItem !== node.data.department) {\n this.clearJobTitle(node);\n }\n }\n\n private clearJobTitle(node: RowNode | null): void {\n if (node) {\n node.data.jobTitle = undefined;\n if (this.gridApi) {\n this.gridApi.refreshCells({ rowNodes: [node] });\n }\n }\n this.changeDetector.markForCheck();\n }\n}\n"
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-filter-modal.component.html",
|
|
744
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-filter-modal.component.html",
|
|
745
|
+
"rawContents": "<sky-modal>\n <sky-modal-header> Filter employees </sky-modal-header>\n <sky-modal-content>\n <label for=\"sky-demo-select-type\">Job Title</label>\n <select\n id=\"sky-demo-select-type\"\n [(ngModel)]=\"jobTitle\"\n class=\"sky-form-control\"\n >\n <option value=\"any\">Any job title</option>\n <option value=\"Product Manager\">Product Manager</option>\n <option value=\"Software Engineer\">Software Engineer</option>\n </select>\n <div style=\"margin-top: 15px\">\n <sky-checkbox [(ngModel)]=\"hideSales\">\n <sky-checkbox-label> Hide Sales employees </sky-checkbox-label>\n </sky-checkbox>\n </div>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-primary\"\n (click)=\"applyFilters()\"\n >\n Apply filters\n </button>\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"clearAllFilters()\"\n >\n Clear all filters\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n Cancel\n </button>\n </sky-modal-footer>\n</sky-modal>\n"
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"fileName": "data-manager-data-entry-grid-docs-demo-filter-modal.component.ts",
|
|
749
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo-filter-modal.component.ts",
|
|
750
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport {\n SkyDataManagerFilterData,\n SkyDataManagerFilterModalContext,\n} from '@skyux/data-manager';\nimport { SkyModalInstance } from '@skyux/modals';\n\n@Component({\n selector: 'app-data-manager-data-entry-grid-docs-demo-filter-modal',\n templateUrl:\n './data-manager-data-entry-grid-docs-demo-filter-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataManagerDataEntryGridDocsDemoFiltersModalComponent {\n public jobTitle: string = '';\n\n public hideSales: boolean = false;\n\n constructor(\n public context: SkyDataManagerFilterModalContext,\n public instance: SkyModalInstance,\n private changeDetector: ChangeDetectorRef\n ) {\n if (this.context.filterData && this.context.filterData.filters) {\n let filters = this.context.filterData.filters;\n this.jobTitle = filters.jobTitle?.name || 'any';\n this.hideSales = filters.hideSales || false;\n }\n this.changeDetector.markForCheck();\n }\n\n public applyFilters() {\n let result: SkyDataManagerFilterData = {};\n\n result.filtersApplied = this.jobTitle !== 'any' || this.hideSales;\n result.filters = {\n jobTitle: this.jobTitle,\n hideSales: this.hideSales,\n };\n this.changeDetector.markForCheck();\n\n this.instance.save(result);\n }\n\n public clearAllFilters() {\n this.hideSales = false;\n this.jobTitle = 'any';\n this.changeDetector.markForCheck();\n }\n\n public cancel() {\n this.instance.cancel();\n }\n}\n"
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"fileName": "data-manager-data-entry-grid-docs-demo.component.html",
|
|
754
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo.component.html",
|
|
755
|
+
"rawContents": "<sky-data-manager>\n <sky-data-manager-toolbar>\n <sky-data-manager-toolbar-left-item>\n <button\n class=\"sky-btn sky-btn-primary\"\n id=\"edit-btn\"\n (click)=\"openModal()\"\n >\n Edit\n </button>\n </sky-data-manager-toolbar-left-item>\n </sky-data-manager-toolbar>\n <sky-data-view skyAgGridDataManagerAdapter [viewId]=\"viewConfig.id\">\n <sky-ag-grid-wrapper *ngIf=\"gridInitialized\">\n <ag-grid-angular\n [gridOptions]=\"gridOptions\"\n [rowData]=\"displayedItems\"\n [overlayNoRowsTemplate]=\"noRowsTemplate\"\n >\n </ag-grid-angular>\n </sky-ag-grid-wrapper>\n </sky-data-view>\n</sky-data-manager>\n"
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
"fileName": "data-manager-data-entry-grid-docs-demo.component.ts",
|
|
759
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo.component.ts",
|
|
760
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { SkyAgGridService, SkyCellType } from '@skyux/ag-grid';\n\nimport {\n ColDef,\n ColumnApi,\n GridApi,\n GridOptions,\n GridReadyEvent,\n ValueFormatterParams,\n} from 'ag-grid-community';\n\nimport {\n SkyDataManagerState,\n SkyDataViewConfig,\n SkyDataManagerService,\n} from '@skyux/data-manager';\n\nimport { SkyDataManagerDataEntryGridContextMenuComponent } from './data-manager-data-entry-grid-docs-demo-context-menu.component';\nimport { SKY_AG_GRID_DEMO_DATA } from './data-manager-data-entry-grid-docs-demo-data';\nimport { SkyDataEntryGridEditModalContext } from './data-manager-data-entry-grid-docs-demo-edit-modal-context';\nimport { SkyDataManagerDataEntryGridEditModalComponent } from './data-manager-data-entry-grid-docs-demo-edit-modal.component';\nimport { SkyModalCloseArgs, SkyModalService } from '@skyux/modals';\nimport { DataManagerDataEntryGridDocsDemoFiltersModalComponent } from './data-manager-data-entry-grid-docs-demo-filter-modal.component';\n\n@Component({\n selector: 'app-data-manager-data-entry-grid-docs-demo',\n templateUrl: './data-manager-data-entry-grid-docs-demo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyDataManagerService],\n})\nexport class SkyDataManagerDataEntryGridDemoComponent implements OnInit {\n public columnDefs: ColDef[] = [\n {\n field: 'selected',\n type: SkyCellType.RowSelector,\n },\n {\n field: 'context',\n headerName: '',\n maxWidth: 50,\n sortable: false,\n cellRendererFramework: SkyDataManagerDataEntryGridContextMenuComponent,\n },\n {\n field: 'name',\n headerName: 'Name',\n },\n {\n field: 'age',\n headerName: 'Age',\n type: SkyCellType.Number,\n maxWidth: 60,\n },\n {\n field: 'startDate',\n headerName: 'Start date',\n type: SkyCellType.Date,\n sort: 'asc',\n },\n {\n field: 'endDate',\n headerName: 'End date',\n type: SkyCellType.Date,\n valueFormatter: this.endDateFormatter,\n },\n {\n field: 'department',\n headerName: 'Department',\n type: SkyCellType.Autocomplete,\n },\n {\n field: 'jobTitle',\n headerName: 'Title',\n type: SkyCellType.Autocomplete,\n },\n {\n field: 'validationCurrency',\n headerName: 'Validation currency',\n type: [SkyCellType.CurrencyValidator],\n },\n {\n field: 'validationDate',\n headerName: 'Validation date',\n type: [SkyCellType.Date, SkyCellType.Validator],\n cellRendererParams: {\n skyComponentProperties: {\n validator: (value: Date) => !!value && value > new Date(1985, 9, 26),\n validatorMessage: 'Please enter a future date',\n },\n },\n },\n ];\n public columnApi?: ColumnApi;\n public displayedItems: any[] = [];\n public gridData = SKY_AG_GRID_DEMO_DATA;\n\n public viewId = 'gridView';\n public activeViewId = 'gridView';\n\n public dataState = new SkyDataManagerState({});\n\n public viewConfig: SkyDataViewConfig = {\n id: this.viewId,\n name: 'Grid View',\n icon: 'table',\n searchEnabled: true,\n sortEnabled: true,\n multiselectToolbarEnabled: true,\n columnPickerEnabled: true,\n filterButtonEnabled: true,\n columnOptions: [\n {\n id: 'selected',\n label: 'selected',\n alwaysDisplayed: true,\n },\n\n {\n id: 'context',\n label: 'context',\n alwaysDisplayed: true,\n },\n {\n id: 'name',\n label: 'Name',\n description: 'The name of the employee.',\n },\n {\n id: 'age',\n label: 'Age',\n description: 'The age of the employee.',\n },\n {\n id: 'startDate',\n label: 'Start date',\n description: 'The start date of the employee.',\n },\n {\n id: 'endDate',\n label: 'End date',\n description: 'The end date of the employee.',\n },\n {\n id: 'department',\n label: 'Department',\n description: 'The department of the employee',\n },\n {\n id: 'jobTitle',\n label: 'Title',\n description: 'The job title of the employee.',\n },\n {\n id: 'validationCurrency',\n label: 'Validation currency',\n description: 'An example column for currency validation.',\n },\n {\n id: 'validationDate',\n label: 'Validation date',\n description: 'An example column for date validation.',\n },\n ],\n };\n\n public dataManagerConfig = {\n filterModalComponent: DataManagerDataEntryGridDocsDemoFiltersModalComponent,\n sortOptions: [\n {\n id: 'az',\n label: 'Name (A - Z)',\n descending: false,\n propertyName: 'name',\n },\n {\n id: 'za',\n label: 'Name (Z - A)',\n descending: true,\n propertyName: 'name',\n },\n ],\n };\n\n public defaultDataState = new SkyDataManagerState({\n filterData: {\n filtersApplied: false,\n filters: {\n hideSales: false,\n },\n },\n views: [\n {\n viewId: this.viewId,\n displayedColumnIds: [\n 'selected',\n 'name',\n 'age',\n 'startDate',\n 'endDate',\n 'department',\n 'jobTitle',\n 'validationCurrency',\n 'validationDate',\n ],\n },\n ],\n });\n\n public gridApi?: GridApi;\n public gridInitialized = false;\n public gridOptions!: GridOptions;\n public noRowsTemplate: string;\n\n constructor(\n private agGridService: SkyAgGridService,\n private changeDetector: ChangeDetectorRef,\n private dataManagerService: SkyDataManagerService,\n private modalService: SkyModalService\n ) {\n this.noRowsTemplate = `<div class=\"sky-deemphasized\">No results found.</div>`;\n this.dataManagerService\n .getDataStateUpdates(this.viewId)\n .subscribe((state) => {\n this.dataState = state;\n this.setInitialColumnOrder();\n this.updateData();\n this.changeDetector.markForCheck();\n });\n }\n\n public ngOnInit(): void {\n this.displayedItems = this.gridData;\n\n this.dataManagerService.initDataManager({\n activeViewId: this.activeViewId,\n dataManagerConfig: this.dataManagerConfig,\n defaultDataState: this.defaultDataState,\n });\n\n this.dataManagerService.initDataView(this.viewConfig);\n\n this.gridOptions = this.agGridService.getGridOptions({\n gridOptions: {\n columnDefs: this.columnDefs,\n onGridReady: this.onGridReady.bind(this),\n },\n });\n this.changeDetector.markForCheck();\n }\n\n public updateData(): void {\n this.sortItems();\n this.displayedItems = this.filterItems(this.searchItems(this.gridData));\n\n if (this.dataState.onlyShowSelected) {\n this.displayedItems = this.displayedItems.filter((item) => item.selected);\n }\n\n if (this.displayedItems.length > 0) {\n this.gridApi?.hideOverlay();\n } else {\n this.gridApi?.showNoRowsOverlay();\n }\n\n this.changeDetector.markForCheck();\n }\n\n public setInitialColumnOrder(): void {\n let viewState = this.dataState.getViewStateById(this.viewId);\n let visibleColumns = viewState.displayedColumnIds;\n\n this.columnDefs.sort((col1, col2) => {\n let col1Index = visibleColumns.findIndex(\n (colId: string) => colId === col1.colId\n );\n let col2Index = visibleColumns.findIndex(\n (colId: string) => colId === col2.colId\n );\n\n if (col1Index === -1) {\n col1.hide = true;\n return 0;\n } else if (col2Index === -1) {\n col2.hide = true;\n return 0;\n } else {\n return col1Index - col2Index;\n }\n });\n\n this.gridInitialized = true;\n this.changeDetector.markForCheck();\n }\n\n public onGridReady(event: GridReadyEvent): void {\n this.columnApi = event.columnApi;\n this.gridApi = event.api;\n this.gridApi.sizeColumnsToFit();\n this.updateData();\n this.changeDetector.markForCheck();\n }\n\n public sortItems(): void {\n let sortOption = this.dataState.activeSortOption;\n if (this.columnApi && sortOption) {\n const allColumns = this.columnApi.getAllColumns() || [];\n allColumns.forEach((column) => {\n if (column.getColId() === sortOption.propertyName) {\n column.setSort(sortOption.descending ? 'desc' : 'asc');\n } else {\n column.setSort('none');\n }\n });\n }\n }\n\n public clearAll(): void {\n if (this.dataState) {\n let selectedIds = this.dataState.selectedIds || [];\n\n this.displayedItems.forEach((item) => {\n if (item.selected) {\n let itemIndex = selectedIds.indexOf(item.id);\n item.selected = false;\n selectedIds.splice(itemIndex, 1);\n }\n });\n this.dataState.selectedIds = selectedIds;\n this.dataManagerService.updateDataState(this.dataState, this.viewId);\n }\n }\n\n public selectAll(): void {\n if (this.dataState) {\n let selectedIds = this.dataState.selectedIds || [];\n\n this.displayedItems.forEach((item) => {\n if (!item.selected) {\n item.selected = true;\n selectedIds.push(item.id);\n }\n });\n\n this.dataState.selectedIds = selectedIds;\n this.dataManagerService.updateDataState(this.dataState, this.viewId);\n }\n }\n\n public searchItems(items: any[]): any[] {\n let searchedItems = items;\n let searchText = this.dataState && this.dataState.searchText;\n\n if (searchText) {\n searchedItems = items.filter(function (item: any) {\n let property: any;\n\n for (property in item) {\n if (\n item.hasOwnProperty(property) &&\n (property === 'name' || property === 'description')\n ) {\n const propertyText = item[property].toLowerCase();\n if (propertyText.indexOf(searchText) > -1) {\n return true;\n }\n }\n }\n\n return false;\n });\n }\n return searchedItems;\n }\n\n public filterItems(items: any[]): any[] {\n let filteredItems = items;\n let filterData = this.dataState && this.dataState.filterData;\n\n if (filterData && filterData.filters) {\n let filters = filterData.filters;\n filteredItems = items.filter((item: any) => {\n return (\n ((filters.hideOrange && item.color !== 'orange') ||\n !filters.hideOrange) &&\n ((filters.type !== 'any' && item.type === filters.type) ||\n !filters.type ||\n filters.type === 'any')\n );\n });\n }\n\n return filteredItems;\n }\n\n public openModal(): void {\n const context = new SkyDataEntryGridEditModalContext();\n context.gridData = this.gridData;\n this.changeDetector.markForCheck();\n\n const options = {\n providers: [\n { provide: SkyDataEntryGridEditModalContext, useValue: context },\n ],\n ariaDescribedBy: 'docs-edit-grid-modal-content',\n size: 'large',\n };\n\n const modalInstance = this.modalService.open(\n SkyDataManagerDataEntryGridEditModalComponent,\n options\n );\n\n modalInstance.closed.subscribe((result: SkyModalCloseArgs) => {\n if (result.reason === 'cancel' || result.reason === 'close') {\n alert('Edits canceled!');\n } else {\n this.gridData = result.data;\n if (this.gridApi) {\n this.gridApi.refreshCells();\n }\n alert('Saving data!');\n }\n this.changeDetector.markForCheck();\n });\n }\n\n private endDateFormatter(params: ValueFormatterParams): string {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return params.value\n ? params.value.toLocaleDateString('en-us', dateConfig)\n : 'N/A';\n }\n}\n"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"fileName": "data-manager-data-entry-grid-docs-demo.module.ts",
|
|
764
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/data-manager-added/data-manager-data-entry-grid-docs-demo.module.ts",
|
|
765
|
+
"rawContents": "import { NgModule } from '@angular/core';\nimport { SkyAgGridModule } from '@skyux/ag-grid';\nimport { SkyDataManagerModule } from '@skyux/data-manager';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkySearchModule } from '@skyux/lookup';\nimport { SkyModalModule } from '@skyux/modals';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\nimport { AgGridModule } from 'ag-grid-angular';\nimport { DataManagerDataEntryGridDocsDemoFiltersModalComponent } from './data-manager-data-entry-grid-docs-demo-filter-modal.component';\nimport { SkyDataManagerDataEntryGridContextMenuComponent } from './data-manager-data-entry-grid-docs-demo-context-menu.component';\nimport { SkyDataManagerDataEntryGridEditModalComponent } from './data-manager-data-entry-grid-docs-demo-edit-modal.component';\nimport { SkyDataManagerDataEntryGridDemoComponent } from './data-manager-data-entry-grid-docs-demo.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [\n SkyDataManagerDataEntryGridContextMenuComponent,\n SkyDataManagerDataEntryGridDemoComponent,\n SkyDataManagerDataEntryGridEditModalComponent,\n DataManagerDataEntryGridDocsDemoFiltersModalComponent,\n ],\n imports: [\n AgGridModule.withComponents([\n SkyDataManagerDataEntryGridContextMenuComponent,\n ]),\n CommonModule,\n FormsModule,\n SkyToolbarModule,\n SkySearchModule,\n AgGridModule,\n SkyAgGridModule,\n SkyModalModule,\n SkyDropdownModule,\n SkyDataManagerModule,\n SkyCheckboxModule,\n ],\n exports: [SkyDataManagerDataEntryGridDemoComponent],\n entryComponents: [\n SkyDataManagerDataEntryGridEditModalComponent,\n DataManagerDataEntryGridDocsDemoFiltersModalComponent,\n ],\n})\nexport class SkyDataManagerDataEntryGridDocsDemoModule {}\n"
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
"fileName": "basic-data-grid-docs-demo-data.ts",
|
|
769
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/basic/basic-data-grid-docs-demo-data.ts",
|
|
770
|
+
"rawContents": "export interface SkyAutocompleteOption {\n id: string;\n name: string;\n}\n\nexport const SKY_DEPARTMENTS = [\n {\n id: '1',\n name: 'Marketing',\n },\n {\n id: '2',\n name: 'Sales',\n },\n {\n id: '3',\n name: 'Engineering',\n },\n {\n id: '4',\n name: 'Customer Support',\n },\n];\n\nexport const SKY_JOB_TITLES: { [name: string]: SkyAutocompleteOption[] } = {\n Marketing: [\n {\n id: '1',\n name: 'Social Media Coordinator',\n },\n {\n id: '2',\n name: 'Blog Manager',\n },\n {\n id: '3',\n name: 'Events Manager',\n },\n ],\n Sales: [\n {\n id: '4',\n name: 'Business Development Representative',\n },\n {\n id: '5',\n name: 'Account Executive',\n },\n ],\n Engineering: [\n {\n id: '6',\n name: 'Software Engineer',\n },\n {\n id: '7',\n name: 'Senior Software Engineer',\n },\n {\n id: '8',\n name: 'Principal Software Engineer',\n },\n {\n id: '9',\n name: 'UX Designer',\n },\n {\n id: '10',\n name: 'Product Manager',\n },\n ],\n 'Customer Support': [\n {\n id: '11',\n name: 'Customer Support Representative',\n },\n {\n id: '12',\n name: 'Account Manager',\n },\n {\n id: '13',\n name: 'Customer Support Specialist',\n },\n ],\n};\n\nexport interface SkyAgGridDemoRow {\n selected: boolean;\n name: string;\n age: number;\n startDate: Date;\n endDate?: Date;\n department: SkyAutocompleteOption;\n jobTitle?: SkyAutocompleteOption;\n}\n\nexport const SKY_AG_GRID_DEMO_DATA = [\n {\n selected: true,\n name: 'Billy Bob',\n age: 55,\n startDate: new Date('12/1/1994'),\n department: SKY_DEPARTMENTS[3],\n jobTitle: SKY_JOB_TITLES['Customer Support'][1],\n },\n {\n selected: false,\n name: 'Jane Deere',\n age: 33,\n startDate: new Date('7/15/2009'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][2],\n },\n {\n selected: false,\n name: 'John Doe',\n age: 38,\n startDate: new Date('9/1/2017'),\n endDate: new Date('9/30/2017'),\n department: SKY_DEPARTMENTS[1],\n },\n {\n selected: false,\n name: 'David Smith',\n age: 51,\n startDate: new Date('1/1/2012'),\n endDate: new Date('6/15/2018'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][4],\n },\n {\n selected: true,\n name: 'Emily Johnson',\n age: 41,\n startDate: new Date('1/15/2014'),\n department: SKY_DEPARTMENTS[0],\n jobTitle: SKY_JOB_TITLES['Marketing'][2],\n },\n {\n selected: false,\n name: 'Nicole Davidson',\n age: 22,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][0],\n },\n {\n selected: false,\n name: 'Carl Roberts',\n age: 23,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][3],\n },\n];\n"
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"fileName": "basic-data-grid-docs-demo.component.html",
|
|
774
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/basic/basic-data-grid-docs-demo.component.html",
|
|
775
|
+
"rawContents": "<div>\n <sky-toolbar>\n <sky-toolbar-item>\n <sky-search\n [searchText]=\"searchText\"\n [debounceTime]=\"250\"\n (searchApply)=\"searchApplied($event)\"\n (searchChange)=\"searchApplied($event)\"\n (searchClear)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n </sky-toolbar>\n <sky-ag-grid-wrapper>\n <ag-grid-angular\n [gridOptions]=\"gridOptions\"\n [rowData]=\"gridData\"\n [overlayNoRowsTemplate]=\"noRowsTemplate\"\n >\n </ag-grid-angular>\n </sky-ag-grid-wrapper>\n</div>\n"
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
"fileName": "basic-data-grid-docs-demo.component.ts",
|
|
779
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/basic/basic-data-grid-docs-demo.component.ts",
|
|
780
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport { SkyCellType, SkyAgGridService } from '@skyux/ag-grid';\n\nimport {\n GridApi,\n GridReadyEvent,\n GridOptions,\n ValueFormatterParams,\n} from 'ag-grid-community';\n\nimport { SKY_AG_GRID_DEMO_DATA } from './basic-data-grid-docs-demo-data';\n\n@Component({\n selector: 'app-basic-data-grid-docs-demo',\n templateUrl: './basic-data-grid-docs-demo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyBasicDataGridDemoComponent {\n public columnDefs = [\n {\n field: 'selected',\n type: SkyCellType.RowSelector,\n },\n {\n field: 'name',\n headerName: 'Name',\n },\n {\n field: 'age',\n headerName: 'Age',\n type: SkyCellType.Number,\n maxWidth: 60,\n },\n {\n field: 'startDate',\n headerName: 'Start date',\n type: SkyCellType.Date,\n sort: 'asc',\n },\n {\n field: 'endDate',\n headerName: 'End date',\n type: SkyCellType.Date,\n valueFormatter: this.endDateFormatter,\n },\n {\n field: 'department',\n headerName: 'Department',\n type: SkyCellType.Autocomplete,\n },\n {\n field: 'jobTitle',\n headerName: 'Title',\n type: SkyCellType.Autocomplete,\n },\n ];\n\n public gridApi: GridApi | undefined;\n public gridData = SKY_AG_GRID_DEMO_DATA;\n public gridOptions: GridOptions;\n public searchText: string = '';\n public noRowsTemplate: string;\n\n constructor(\n private agGridService: SkyAgGridService,\n private changeDetector: ChangeDetectorRef\n ) {\n this.noRowsTemplate = `<div class=\"sky-deemphasized\">No results found.</div>`;\n this.gridOptions = this.agGridService.getGridOptions({\n gridOptions: {\n columnDefs: this.columnDefs,\n onGridReady: this.onGridReady.bind(this),\n },\n });\n this.changeDetector.markForCheck();\n }\n\n public onGridReady(gridReadyEvent: GridReadyEvent): void {\n this.gridApi = gridReadyEvent.api;\n this.gridApi.sizeColumnsToFit();\n this.changeDetector.markForCheck();\n }\n\n public searchApplied(searchText: string | void): void {\n if (searchText) {\n this.searchText = searchText;\n } else {\n this.searchText = '';\n }\n if (this.gridApi) {\n this.gridApi.setQuickFilter(searchText);\n let displayedRowCount = this.gridApi.getDisplayedRowCount();\n if (displayedRowCount > 0) {\n this.gridApi.hideOverlay();\n } else {\n this.gridApi.showNoRowsOverlay();\n }\n }\n }\n\n private endDateFormatter(params: ValueFormatterParams): string {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return params.value\n ? params.value.toLocaleDateString('en-us', dateConfig)\n : 'N/A';\n }\n}\n"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"fileName": "basic-data-grid-docs-demo.module.ts",
|
|
784
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/basic/basic-data-grid-docs-demo.module.ts",
|
|
785
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAgGridModule } from '@skyux/ag-grid';\nimport {\n SkyDataManagerModule,\n SkyDataManagerService,\n} from '@skyux/data-manager';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkySearchModule } from '@skyux/lookup';\n\nimport { AgGridModule } from 'ag-grid-angular';\n\nimport { SkyBasicDataGridDemoComponent } from './basic-data-grid-docs-demo.component';\n\n@NgModule({\n declarations: [SkyBasicDataGridDemoComponent],\n exports: [SkyBasicDataGridDemoComponent],\n imports: [\n CommonModule,\n SkyToolbarModule,\n SkySearchModule,\n SkyDataManagerModule,\n SkyAgGridModule,\n AgGridModule,\n ],\n providers: [SkyDataManagerService],\n})\nexport class SkyBasicDataGridDocsDemoModule {}\n"
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"fileName": "data-manager-data-grid-docs-demo-data.ts",
|
|
789
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/data-manager-added/data-manager-data-grid-docs-demo-data.ts",
|
|
790
|
+
"rawContents": "export interface SkyAutocompleteOption {\n id: string;\n name: string;\n}\n\nexport const SKY_DEPARTMENTS = [\n {\n id: '1',\n name: 'Marketing',\n },\n {\n id: '2',\n name: 'Sales',\n },\n {\n id: '3',\n name: 'Engineering',\n },\n {\n id: '4',\n name: 'Customer Support',\n },\n];\n\nexport const SKY_JOB_TITLES: { [name: string]: SkyAutocompleteOption[] } = {\n Marketing: [\n {\n id: '1',\n name: 'Social Media Coordinator',\n },\n {\n id: '2',\n name: 'Blog Manager',\n },\n {\n id: '3',\n name: 'Events Manager',\n },\n ],\n Sales: [\n {\n id: '4',\n name: 'Business Development Representative',\n },\n {\n id: '5',\n name: 'Account Executive',\n },\n ],\n Engineering: [\n {\n id: '6',\n name: 'Software Engineer',\n },\n {\n id: '7',\n name: 'Senior Software Engineer',\n },\n {\n id: '8',\n name: 'Principal Software Engineer',\n },\n {\n id: '9',\n name: 'UX Designer',\n },\n {\n id: '10',\n name: 'Product Manager',\n },\n ],\n 'Customer Support': [\n {\n id: '11',\n name: 'Customer Support Representative',\n },\n {\n id: '12',\n name: 'Account Manager',\n },\n {\n id: '13',\n name: 'Customer Support Specialist',\n },\n ],\n};\n\nexport interface SkyAgGridDemoRow {\n selected: boolean;\n name: string;\n age: number;\n startDate: Date;\n endDate?: Date;\n department: SkyAutocompleteOption;\n jobTitle?: SkyAutocompleteOption;\n}\n\nexport const SKY_AG_GRID_DEMO_DATA = [\n {\n selected: true,\n name: 'Billy Bob',\n age: 55,\n startDate: new Date('12/1/1994'),\n department: SKY_DEPARTMENTS[3],\n jobTitle: SKY_JOB_TITLES['Customer Support'][1],\n },\n {\n selected: false,\n name: 'Jane Deere',\n age: 33,\n startDate: new Date('7/15/2009'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][2],\n },\n {\n selected: false,\n name: 'John Doe',\n age: 38,\n startDate: new Date('9/1/2017'),\n endDate: new Date('9/30/2017'),\n department: SKY_DEPARTMENTS[1],\n jobTitle: SKY_JOB_TITLES['Sales'][1],\n },\n {\n selected: false,\n name: 'David Smith',\n age: 51,\n startDate: new Date('1/1/2012'),\n endDate: new Date('6/15/2018'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][4],\n },\n {\n selected: true,\n name: 'Emily Johnson',\n age: 41,\n startDate: new Date('1/15/2014'),\n department: SKY_DEPARTMENTS[0],\n jobTitle: SKY_JOB_TITLES['Marketing'][2],\n },\n {\n selected: false,\n name: 'Nicole Davidson',\n age: 22,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][0],\n },\n {\n selected: false,\n name: 'Carl Roberts',\n age: 23,\n startDate: new Date('11/1/2019'),\n department: SKY_DEPARTMENTS[2],\n jobTitle: SKY_JOB_TITLES['Engineering'][3],\n },\n];\n"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"fileName": "data-manager-data-grid-docs-demo-filter-modal.component.html",
|
|
794
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/data-manager-added/data-manager-data-grid-docs-demo-filter-modal.component.html",
|
|
795
|
+
"rawContents": "<sky-modal>\n <sky-modal-header> Filter employees </sky-modal-header>\n <sky-modal-content>\n <label for=\"sky-demo-select-type\">Job Title</label>\n <select\n id=\"sky-demo-select-type\"\n [(ngModel)]=\"jobTitle\"\n class=\"sky-form-control\"\n >\n <option value=\"any\">Any job title</option>\n <option value=\"Product Manager\">Product Manager</option>\n <option value=\"Software Engineer\">Software Engineer</option>\n </select>\n <div style=\"margin-top: 15px\">\n <sky-checkbox [(ngModel)]=\"hideSales\">\n <sky-checkbox-label> Hide Sales employees </sky-checkbox-label>\n </sky-checkbox>\n </div>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-primary\"\n (click)=\"applyFilters()\"\n >\n Apply filters\n </button>\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"clearAllFilters()\"\n >\n Clear all filters\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n Cancel\n </button>\n </sky-modal-footer>\n</sky-modal>\n"
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"fileName": "data-manager-data-grid-docs-demo-filter-modal.component.ts",
|
|
799
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/data-manager-added/data-manager-data-grid-docs-demo-filter-modal.component.ts",
|
|
800
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport {\n SkyDataManagerFilterData,\n SkyDataManagerFilterModalContext,\n} from '@skyux/data-manager';\nimport { SkyModalInstance } from '@skyux/modals';\n\n@Component({\n selector: 'app-data-manager-data-grid-docs-demo-filter-modal',\n templateUrl: './data-manager-data-grid-docs-demo-filter-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataManagerDataGridDocsDemoFiltersModalComponent {\n public jobTitle: string = '';\n\n public hideSales: boolean = false;\n\n constructor(\n public context: SkyDataManagerFilterModalContext,\n public instance: SkyModalInstance,\n private changeDetector: ChangeDetectorRef\n ) {\n if (this.context.filterData && this.context.filterData.filters) {\n let filters = this.context.filterData.filters;\n this.jobTitle = filters.jobTitle?.name || 'any';\n this.hideSales = filters.hideSales || false;\n }\n this.changeDetector.markForCheck();\n }\n\n public applyFilters() {\n let result: SkyDataManagerFilterData = {};\n\n result.filtersApplied = this.jobTitle !== 'any' || this.hideSales;\n result.filters = {\n jobTitle: this.jobTitle,\n hideSales: this.hideSales,\n };\n this.changeDetector.markForCheck();\n\n this.instance.save(result);\n }\n\n public clearAllFilters() {\n this.hideSales = false;\n this.jobTitle = 'any';\n this.changeDetector.markForCheck();\n }\n\n public cancel() {\n this.instance.cancel();\n }\n}\n"
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"fileName": "data-manager-data-grid-docs-demo.component.html",
|
|
804
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/data-manager-added/data-manager-data-grid-docs-demo.component.html",
|
|
805
|
+
"rawContents": "<sky-data-manager>\n <sky-data-manager-toolbar></sky-data-manager-toolbar>\n <sky-data-view skyAgGridDataManagerAdapter [viewId]=\"viewConfig.id\">\n <sky-ag-grid-wrapper *ngIf=\"gridInitialized\">\n <ag-grid-angular\n [gridOptions]=\"gridOptions\"\n [rowData]=\"displayedItems\"\n [overlayNoRowsTemplate]=\"noRowsTemplate\"\n >\n </ag-grid-angular>\n </sky-ag-grid-wrapper>\n </sky-data-view>\n</sky-data-manager>\n"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"fileName": "data-manager-data-grid-docs-demo.component.ts",
|
|
809
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/data-manager-added/data-manager-data-grid-docs-demo.component.ts",
|
|
810
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit,\n} from '@angular/core';\nimport { SkyCellType, SkyAgGridService } from '@skyux/ag-grid';\nimport {\n SkyDataManagerService,\n SkyDataManagerState,\n SkyDataViewConfig,\n} from '@skyux/data-manager';\n\nimport {\n GridApi,\n GridReadyEvent,\n GridOptions,\n ValueFormatterParams,\n ColumnApi,\n ColDef,\n} from 'ag-grid-community';\n\nimport { SKY_AG_GRID_DEMO_DATA } from './data-manager-data-grid-docs-demo-data';\nimport { DataManagerDataGridDocsDemoFiltersModalComponent } from './data-manager-data-grid-docs-demo-filter-modal.component';\n\n@Component({\n selector: 'app-data-manager-data-grid-docs-demo',\n templateUrl: './data-manager-data-grid-docs-demo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyDataManagerService],\n})\nexport class SkyDataManagerDataGridDemoComponent implements OnInit {\n public columnDefs: ColDef[] = [\n {\n field: 'selected',\n type: SkyCellType.RowSelector,\n },\n {\n field: 'name',\n headerName: 'Name',\n },\n {\n field: 'age',\n headerName: 'Age',\n type: SkyCellType.Number,\n maxWidth: 60,\n },\n {\n field: 'startDate',\n headerName: 'Start date',\n type: SkyCellType.Date,\n sort: 'asc',\n },\n {\n field: 'endDate',\n headerName: 'End date',\n type: SkyCellType.Date,\n valueFormatter: this.endDateFormatter,\n },\n {\n field: 'department',\n headerName: 'Department',\n type: SkyCellType.Autocomplete,\n },\n {\n field: 'jobTitle',\n headerName: 'Title',\n type: SkyCellType.Autocomplete,\n },\n ];\n\n public columnApi?: ColumnApi;\n public displayedItems: any[] = [];\n public gridApi?: GridApi;\n public gridInitialized = false;\n public items = SKY_AG_GRID_DEMO_DATA;\n public gridOptions!: GridOptions;\n public noRowsTemplate: string;\n\n public searchText: string = '';\n public activeViewId = 'dataManagerGridView';\n public viewId = 'dataManagerGridView';\n public viewConfig: SkyDataViewConfig = {\n id: this.viewId,\n name: 'Grid View',\n icon: 'table',\n searchEnabled: true,\n sortEnabled: true,\n multiselectToolbarEnabled: true,\n columnPickerEnabled: true,\n filterButtonEnabled: true,\n columnOptions: [\n {\n id: 'selected',\n label: 'Selected',\n alwaysDisplayed: true,\n },\n {\n id: 'name',\n label: 'Name',\n description: 'The name of the employee.',\n },\n {\n id: 'age',\n label: 'Age',\n description: 'The age of the employee.',\n },\n {\n id: 'startDate',\n label: 'Start date',\n description: 'The start date of the employee.',\n },\n {\n id: 'endDate',\n label: 'End date',\n description: 'The end date of the employee.',\n },\n {\n id: 'department',\n label: 'Department',\n description: 'The department of the employee',\n },\n {\n id: 'jobTitle',\n label: 'Title',\n description: 'The job title of the employee.',\n },\n ],\n };\n public dataState = new SkyDataManagerState({});\n\n public dataManagerConfig = {\n filterModalComponent: DataManagerDataGridDocsDemoFiltersModalComponent,\n sortOptions: [\n {\n id: 'az',\n label: 'Name (A-Z)',\n descending: false,\n propertyName: 'name',\n },\n {\n id: 'za',\n label: 'Name (Z-A)',\n descending: true,\n propertyName: 'name',\n },\n ],\n };\n public defaultDataState = new SkyDataManagerState({\n filterData: {\n filtersApplied: false,\n filters: {\n hideSales: false,\n },\n },\n views: [\n {\n viewId: this.viewId,\n displayedColumnIds: [\n 'selected',\n 'name',\n 'age',\n 'startDate',\n 'endDate',\n 'department',\n 'jobTitle',\n ],\n },\n ],\n });\n\n constructor(\n private agGridService: SkyAgGridService,\n private changeDetector: ChangeDetectorRef,\n private dataManagerService: SkyDataManagerService\n ) {\n this.noRowsTemplate = `<div class=\"sky-deemphasized\">No results found.</div>`;\n this.dataManagerService\n .getDataStateUpdates(this.viewId)\n .subscribe((state) => {\n this.dataState = state;\n this.setInitialColumnOrder();\n this.updateData();\n this.changeDetector.markForCheck();\n });\n }\n\n public ngOnInit(): void {\n this.displayedItems = this.items;\n\n this.dataManagerService.initDataManager({\n activeViewId: this.activeViewId,\n dataManagerConfig: this.dataManagerConfig,\n defaultDataState: this.defaultDataState,\n });\n\n this.dataManagerService.initDataView(this.viewConfig);\n\n this.gridOptions = this.agGridService.getGridOptions({\n gridOptions: {\n columnDefs: this.columnDefs,\n onGridReady: this.onGridReady.bind(this),\n },\n });\n this.changeDetector.markForCheck();\n }\n\n public updateData(): void {\n this.sortItems();\n this.displayedItems = this.filterItems(this.searchItems(this.items));\n\n if (this.dataState.onlyShowSelected) {\n this.displayedItems = this.displayedItems.filter((item) => item.selected);\n }\n\n if (this.displayedItems.length > 0) {\n this.gridApi?.hideOverlay();\n } else {\n this.gridApi?.showNoRowsOverlay();\n }\n\n this.changeDetector.markForCheck();\n }\n\n public setInitialColumnOrder(): void {\n let viewState = this.dataState.getViewStateById(this.viewId);\n let visibleColumns = viewState.displayedColumnIds;\n\n this.columnDefs.sort((col1, col2) => {\n let col1Index = visibleColumns.findIndex(\n (colId: string) => colId === col1.colId\n );\n let col2Index = visibleColumns.findIndex(\n (colId: string) => colId === col2.colId\n );\n\n if (col1Index === -1) {\n col1.hide = true;\n return 0;\n } else if (col2Index === -1) {\n col2.hide = true;\n return 0;\n } else {\n return col1Index - col2Index;\n }\n });\n\n this.gridInitialized = true;\n this.changeDetector.markForCheck();\n }\n\n public onGridReady(gridReadyEvent: GridReadyEvent): void {\n this.gridApi = gridReadyEvent.api;\n this.gridApi.sizeColumnsToFit();\n this.columnApi = gridReadyEvent.columnApi;\n this.updateData();\n this.changeDetector.markForCheck();\n }\n\n public sortItems(): void {\n let sortOption = this.dataState.activeSortOption;\n if (this.columnApi && sortOption) {\n const allColumns = this.columnApi.getAllColumns() || [];\n allColumns.forEach((column) => {\n if (column.getColId() === sortOption.propertyName) {\n column.setSort(sortOption.descending ? 'desc' : 'asc');\n } else {\n column.setSort('none');\n }\n });\n }\n }\n\n public clearAll(): void {\n if (this.dataState) {\n let selectedIds = this.dataState.selectedIds || [];\n\n this.displayedItems.forEach((item) => {\n if (item.selected) {\n let itemIndex = selectedIds.indexOf(item.id);\n item.selected = false;\n selectedIds.splice(itemIndex, 1);\n }\n });\n this.dataState.selectedIds = selectedIds;\n this.dataManagerService.updateDataState(this.dataState, this.viewId);\n }\n }\n\n public selectAll(): void {\n if (this.dataState) {\n let selectedIds = this.dataState.selectedIds || [];\n\n this.displayedItems.forEach((item) => {\n if (!item.selected) {\n item.selected = true;\n selectedIds.push(item.id);\n }\n });\n\n this.dataState.selectedIds = selectedIds;\n this.dataManagerService.updateDataState(this.dataState, this.viewId);\n }\n }\n\n public searchItems(items: any[]): any[] {\n let searchedItems = items;\n let searchText = this.dataState && this.dataState.searchText;\n\n if (searchText) {\n searchedItems = items.filter(function (item: any) {\n let property: any;\n\n for (property in item) {\n if (\n item.hasOwnProperty(property) &&\n (property === 'name' || property === 'description')\n ) {\n const propertyText = item[property].toLowerCase();\n if (propertyText.indexOf(searchText) > -1) {\n return true;\n }\n }\n }\n return false;\n });\n }\n return searchedItems;\n }\n\n public filterItems(items: any[]): any[] {\n let filteredItems = items;\n let filterData = this.dataState && this.dataState.filterData;\n\n if (filterData && filterData.filters) {\n let filters = filterData.filters;\n filteredItems = items.filter((item: any) => {\n return (\n ((filters.hideSales && item.department.name !== 'Sales') ||\n !filters.hideSales) &&\n ((filters.jobTitle !== 'any' &&\n item.jobTitle?.name === filters.jobTitle) ||\n !filters.jobTitle ||\n filters.jobTitle === 'any')\n );\n });\n }\n\n return filteredItems;\n }\n\n private endDateFormatter(params: ValueFormatterParams): string {\n const dateConfig = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return params.value\n ? params.value.toLocaleDateString('en-us', dateConfig)\n : 'N/A';\n }\n}\n"
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"fileName": "data-manager-data-grid-docs-demo.module.ts",
|
|
814
|
+
"filePath": "/projects/ag-grid/documentation/code-examples/data-grid/data-manager-added/data-manager-data-grid-docs-demo.module.ts",
|
|
815
|
+
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SkyAgGridModule } from '@skyux/ag-grid';\nimport { SkyDataManagerModule } from '@skyux/data-manager';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkySearchModule } from '@skyux/lookup';\nimport { SkyModalModule } from '@skyux/modals';\n\nimport { AgGridModule } from 'ag-grid-angular';\n\nimport { DataManagerDataGridDocsDemoFiltersModalComponent } from './data-manager-data-grid-docs-demo-filter-modal.component';\nimport { SkyDataManagerDataGridDemoComponent } from './data-manager-data-grid-docs-demo.component';\n\n@NgModule({\n declarations: [\n SkyDataManagerDataGridDemoComponent,\n DataManagerDataGridDocsDemoFiltersModalComponent,\n ],\n entryComponents: [DataManagerDataGridDocsDemoFiltersModalComponent],\n exports: [SkyDataManagerDataGridDemoComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SkyToolbarModule,\n SkySearchModule,\n SkyDataManagerModule,\n SkyAgGridModule,\n AgGridModule,\n SkyDataManagerModule,\n SkyModalModule,\n SkyCheckboxModule,\n ],\n})\nexport class SkyDataManagerDataGridDocsDemoModule {}\n"
|
|
816
|
+
}
|
|
817
|
+
]
|
|
667
818
|
}
|
package/esm2015/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.js
CHANGED
|
@@ -41,7 +41,7 @@ export class SkyAgGridCellEditorCurrencyComponent {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
SkyAgGridCellEditorCurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n '
|
|
44
|
+
SkyAgGridCellEditorCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n [skyAutonumeric]=\"skyComponentProperties\"\n #skyCellEditorCurrency\n/>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{
|
|
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
54
54
|
type: ViewChild,
|
|
55
55
|
args: ['skyCellEditorCurrency', { read: ElementRef }]
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWctZ3JpZC9zcmMvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1jdXJyZW5jeS9jZWxsLWVkaXRvci1jdXJyZW5jeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZy1ncmlkL3NyYy9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXZCOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9DQUFvQztJQU5qRDtRQVVTLDJCQUFzQixHQUEwQixFQUFFLENBQUM7S0EwQzNEO0lBL0JDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxNQUFtQztRQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLHVCQUF1QjtZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixJQUFJO1lBQ2xFLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLGNBQWMsRUFBRSxHQUFHO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztrSUE3Q1Usb0NBQW9DO3NIQUFwQyxvQ0FBb0MsbUtBWUgsVUFBVSw2QkNsQ3hELHdWQVlBOzRGRFVhLG9DQUFvQztrQkFOaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztvQkFDcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQWNTLEtBQUs7c0JBRFosU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJQ2VsbEVkaXRvckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuaW1wb3J0IHsgU2t5Q2VsbEVkaXRvckN1cnJlbmN5UGFyYW1zIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItY3VycmVuY3ktcGFyYW1zJztcblxuaW1wb3J0IHsgU2t5Q3VycmVuY3lQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvY3VycmVuY3ktcHJvcGVydGllcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hZy1ncmlkLWNlbGwtZWRpdG9yLWN1cnJlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIElDZWxsRWRpdG9yQW5ndWxhckNvbXBcbntcbiAgcHVibGljIHZhbHVlOiBudW1iZXI7XG4gIHB1YmxpYyBza3lDb21wb25lbnRQcm9wZXJ0aWVzOiBTa3lDdXJyZW5jeVByb3BlcnRpZXMgPSB7fTtcbiAgcHVibGljIGNvbHVtbkhlYWRlcjogc3RyaW5nO1xuICBwdWJsaWMgY29sdW1uV2lkdGg6IG51bWJlcjtcbiAgcHVibGljIHJvd0hlaWdodFdpdGhvdXRCb3JkZXJzOiBudW1iZXI7XG4gIHB1YmxpYyByb3dOdW1iZXI6IG51bWJlcjtcblxuICBwcml2YXRlIHBhcmFtczogU2t5Q2VsbEVkaXRvckN1cnJlbmN5UGFyYW1zO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreUNlbGxFZGl0b3JDdXJyZW5jeScsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBhZ0luaXQgaXMgY2FsbGVkIGJ5IGFnR3JpZCBvbmNlIGFmdGVyIHRoZSBlZGl0b3IgaXMgY3JlYXRlZCBhbmQgcHJvdmlkZXMgdGhlIGVkaXRvciB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpdCBuZWVkcy5cbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgY2VsbCBlZGl0b3IgcGFyYW1zIHRoYXQgaW5jbHVkZSBkYXRhIGFib3V0IHRoZSBjZWxsLCBjb2x1bW4sIHJvdywgYW5kIGdyaWQuXG4gICAqL1xuICBwdWJsaWMgYWdJbml0KHBhcmFtczogU2t5Q2VsbEVkaXRvckN1cnJlbmN5UGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMucGFyYW1zLnZhbHVlO1xuICAgIHRoaXMuY29sdW1uSGVhZGVyID0gdGhpcy5wYXJhbXMuY29sRGVmLmhlYWRlck5hbWU7XG4gICAgdGhpcy5yb3dOdW1iZXIgPSB0aGlzLnBhcmFtcy5yb3dJbmRleCArIDE7XG4gICAgdGhpcy5jb2x1bW5XaWR0aCA9IHRoaXMucGFyYW1zLmNvbHVtbi5nZXRBY3R1YWxXaWR0aCgpO1xuICAgIHRoaXMucm93SGVpZ2h0V2l0aG91dEJvcmRlcnMgPVxuICAgICAgdGhpcy5wYXJhbXMubm9kZSAmJiB0aGlzLnBhcmFtcy5ub2RlLnJvd0hlaWdodCAtIDQ7XG4gICAgdGhpcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzID0gdGhpcy5wYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcyB8fCB7XG4gICAgICBkZWNpbWFsUGxhY2VzOiAyLFxuICAgICAgY3VycmVuY3lTeW1ib2w6ICckJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIGFmdGVyR3VpQXR0YWNoZWQgaXMgY2FsbGVkIGJ5IGFnR3JpZCBhZnRlciB0aGUgZWRpdG9yIGlzIHJlbmRlcmVkIGluIHRoZSBET00uIE9uY2UgaXQgaXMgYXR0YWNoZWQgdGhlIGVkaXRvciBpcyByZWFkeSB0byBiZSBmb2N1c2VkIG9uLlxuICAgKi9cbiAgcHVibGljIGFmdGVyR3VpQXR0YWNoZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0VmFsdWUgaXMgY2FsbGVkIGJ5IGFnR3JpZCB3aGVuIGVkaXRpbmcgaXMgc3RvcHBlZCB0byBnZXQgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgY2VsbC5cbiAgICovXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG59XG4iLCI8aW5wdXRcbiAgdHlwZT1cInRleHRcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICdza3lfYWdfZ3JpZF9jZWxsX2VkaXRvcl9jdXJyZW5jeV9hcmlhX2xhYmVsJ1xuICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbHVtbkhlYWRlcjpyb3dOdW1iZXJcbiAgXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cImNvbHVtbldpZHRoXCJcbiAgW3N0eWxlLmhlaWdodC5weF09XCJyb3dIZWlnaHRXaXRob3V0Qm9yZGVyc1wiXG4gIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICBbc2t5QXV0b251bWVyaWNdPVwic2t5Q29tcG9uZW50UHJvcGVydGllc1wiXG4gICNza3lDZWxsRWRpdG9yQ3VycmVuY3lcbi8+XG4iXX0=
|
package/esm2015/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.js
CHANGED
|
@@ -33,7 +33,7 @@ export class SkyAgGridCellEditorNumberComponent {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
SkyAgGridCellEditorNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAgGridCellEditorNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
SkyAgGridCellEditorNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorNumberComponent, selector: "sky-ag-grid-cell-editor-number", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n '
|
|
36
|
+
SkyAgGridCellEditorNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorNumberComponent, selector: "sky-ag-grid-cell-editor-number", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n #skyCellEditorNumber\n/>\n", styles: ["input{border:none;text-align:right}\n"], directives: [{ type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i2.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAgGridCellEditorNumberComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
46
46
|
type: ViewChild,
|
|
47
47
|
args: ['skyCellEditorNumber', { read: ElementRef }]
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FnLWdyaWQvc3JjL21vZHVsZXMvYWctZ3JpZC9jZWxsLWVkaXRvcnMvY2VsbC1lZGl0b3ItbnVtYmVyL2NlbGwtZWRpdG9yLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZy1ncmlkL3NyYy9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLW51bWJlci9jZWxsLWVkaXRvci1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7OztBQU12Qjs7R0FFRztBQU9ILE1BQU0sT0FBTyxrQ0FBa0M7SUFjN0M7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE1BQXlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsdUJBQXVCO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7Z0lBeENVLGtDQUFrQztvSEFBbEMsa0NBQWtDLCtKQVdILFVBQVUsNkJDL0J0RCx1U0FXQTs0RkRTYSxrQ0FBa0M7a0JBTjlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsV0FBVyxFQUFFLHFDQUFxQztvQkFDbEQsU0FBUyxFQUFFLENBQUMscUNBQXFDLENBQUM7b0JBQ2xELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFhUyxLQUFLO3NCQURaLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSUNlbGxFZGl0b3JBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5cbmltcG9ydCB7IElDZWxsRWRpdG9yUGFyYW1zIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYWctZ3JpZC1jZWxsLWVkaXRvci1udW1iZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC1lZGl0b3ItbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VsbC1lZGl0b3ItbnVtYmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgSUNlbGxFZGl0b3JBbmd1bGFyQ29tcFxue1xuICBwdWJsaWMgdmFsdWU6IG51bWJlcjtcbiAgcHVibGljIGNvbHVtbkhlYWRlcjogc3RyaW5nO1xuICBwdWJsaWMgY29sdW1uV2lkdGg6IG51bWJlcjtcbiAgcHVibGljIHJvd0hlaWdodFdpdGhvdXRCb3JkZXJzOiBudW1iZXI7XG4gIHB1YmxpYyByb3dOdW1iZXI6IG51bWJlcjtcblxuICBwcml2YXRlIHBhcmFtczogSUNlbGxFZGl0b3JQYXJhbXM7XG5cbiAgQFZpZXdDaGlsZCgnc2t5Q2VsbEVkaXRvck51bWJlcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBhZ0luaXQgaXMgY2FsbGVkIGJ5IGFnR3JpZCBvbmNlIGFmdGVyIHRoZSBlZGl0b3IgaXMgY3JlYXRlZCBhbmQgcHJvdmlkZXMgdGhlIGVkaXRvciB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpdCBuZWVkcy5cbiAgICogQHBhcmFtIHBhcmFtcyBUaGUgY2VsbCBlZGl0b3IgcGFyYW1zIHRoYXQgaW5jbHVkZSBkYXRhIGFib3V0IHRoZSBjZWxsLCBjb2x1bW4sIHJvdywgYW5kIGdyaWQuXG4gICAqL1xuICBwdWJsaWMgYWdJbml0KHBhcmFtczogSUNlbGxFZGl0b3JQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5wYXJhbXMudmFsdWU7XG4gICAgdGhpcy5jb2x1bW5IZWFkZXIgPSB0aGlzLnBhcmFtcy5jb2xEZWYuaGVhZGVyTmFtZTtcbiAgICB0aGlzLnJvd051bWJlciA9IHRoaXMucGFyYW1zLnJvd0luZGV4ICsgMTtcbiAgICB0aGlzLmNvbHVtbldpZHRoID0gdGhpcy5wYXJhbXMuY29sdW1uLmdldEFjdHVhbFdpZHRoKCk7XG4gICAgdGhpcy5yb3dIZWlnaHRXaXRob3V0Qm9yZGVycyA9XG4gICAgICB0aGlzLnBhcmFtcy5ub2RlICYmIHRoaXMucGFyYW1zLm5vZGUucm93SGVpZ2h0IC0gNDtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZnRlckd1aUF0dGFjaGVkIGlzIGNhbGxlZCBieSBhZ0dyaWQgYWZ0ZXIgdGhlIGVkaXRvciBpcyByZW5kZXJlZCBpbiB0aGUgRE9NLiBPbmNlIGl0IGlzIGF0dGFjaGVkIHRoZSBlZGl0b3IgaXMgcmVhZHkgdG8gYmUgZm9jdXNlZCBvbi5cbiAgICovXG4gIHB1YmxpYyBhZnRlckd1aUF0dGFjaGVkKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldFZhbHVlIGlzIGNhbGxlZCBieSBhZ0dyaWQgd2hlbiBlZGl0aW5nIGlzIHN0b3BwZWQgdG8gZ2V0IHRoZSBuZXcgdmFsdWUgb2YgdGhlIGNlbGwuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxufVxuIiwiPGlucHV0XG4gIHR5cGU9XCJudW1iZXJcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICdza3lfYWdfZ3JpZF9jZWxsX2VkaXRvcl9udW1iZXJfYXJpYV9sYWJlbCdcbiAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBjb2x1bW5IZWFkZXI6cm93TnVtYmVyXG4gIFwiXG4gIFtzdHlsZS53aWR0aC5weF09XCJjb2x1bW5XaWR0aFwiXG4gIFtzdHlsZS5oZWlnaHQucHhdPVwicm93SGVpZ2h0V2l0aG91dEJvcmRlcnNcIlxuICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgI3NreUNlbGxFZGl0b3JOdW1iZXJcbi8+XG4iXX0=
|
|
@@ -33,7 +33,7 @@ export class SkyAgGridCellEditorTextComponent {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
SkyAgGridCellEditorTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAgGridCellEditorTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
SkyAgGridCellEditorTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorTextComponent, selector: "sky-ag-grid-cell-editor-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n '
|
|
36
|
+
SkyAgGridCellEditorTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyAgGridCellEditorTextComponent, selector: "sky-ag-grid-cell-editor-text", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: ElementRef }], ngImport: i0, template: "<input\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader:rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [(ngModel)]=\"value\"\n #skyCellEditorText\n/>\n", styles: ["input{border:none;padding-left:11px}\n"], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "skyLibResources": i2.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAgGridCellEditorTextComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
46
46
|
type: ViewChild,
|
|
47
47
|
args: ['skyCellEditorText', { read: ElementRef }]
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZy1ncmlkL3NyYy9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLXRleHQvY2VsbC1lZGl0b3ItdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZy1ncmlkL3NyYy9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLXRleHQvY2VsbC1lZGl0b3ItdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBTXZCOztHQUVHO0FBT0gsTUFBTSxPQUFPLGdDQUFnQztJQWUzQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsTUFBeUI7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyx1QkFBdUI7WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzs4SEF6Q1UsZ0NBQWdDO2tIQUFoQyxnQ0FBZ0MsMkpBWUgsVUFBVSw2QkNoQ3BELGlTQVdBOzRGRFNhLGdDQUFnQztrQkFONUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztvQkFDaEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQWNTLEtBQUs7c0JBRFosU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJQ2VsbEVkaXRvckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuaW1wb3J0IHsgSUNlbGxFZGl0b3JQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hZy1ncmlkLWNlbGwtZWRpdG9yLXRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC1lZGl0b3ItdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NlbGwtZWRpdG9yLXRleHQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZENlbGxFZGl0b3JUZXh0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgSUNlbGxFZGl0b3JBbmd1bGFyQ29tcFxue1xuICBwdWJsaWMgdmFsdWU6IHN0cmluZztcbiAgcHVibGljIHRleHRJbnB1dExhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBjb2x1bW5IZWFkZXI6IHN0cmluZztcbiAgcHVibGljIGNvbHVtbldpZHRoOiBudW1iZXI7XG4gIHB1YmxpYyByb3dIZWlnaHRXaXRob3V0Qm9yZGVyczogbnVtYmVyO1xuICBwdWJsaWMgcm93TnVtYmVyOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBwYXJhbXM6IElDZWxsRWRpdG9yUGFyYW1zO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreUNlbGxFZGl0b3JUZXh0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgaW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgLyoqXG4gICAqIGFnSW5pdCBpcyBjYWxsZWQgYnkgYWdHcmlkIG9uY2UgYWZ0ZXIgdGhlIGVkaXRvciBpcyBjcmVhdGVkIGFuZCBwcm92aWRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIGluZm9ybWF0aW9uIGl0IG5lZWRzLlxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBjZWxsIGVkaXRvciBwYXJhbXMgdGhhdCBpbmNsdWRlIGRhdGEgYWJvdXQgdGhlIGNlbGwsIGNvbHVtbiwgcm93LCBhbmQgZ3JpZC5cbiAgICovXG4gIHB1YmxpYyBhZ0luaXQocGFyYW1zOiBJQ2VsbEVkaXRvclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLnBhcmFtcy5jaGFyUHJlc3MgfHwgdGhpcy5wYXJhbXMudmFsdWU7XG4gICAgdGhpcy5jb2x1bW5IZWFkZXIgPSB0aGlzLnBhcmFtcy5jb2xEZWYuaGVhZGVyTmFtZTtcbiAgICB0aGlzLnJvd051bWJlciA9IHRoaXMucGFyYW1zLnJvd0luZGV4ICsgMTtcbiAgICB0aGlzLmNvbHVtbldpZHRoID0gdGhpcy5wYXJhbXMuY29sdW1uLmdldEFjdHVhbFdpZHRoKCk7XG4gICAgdGhpcy5yb3dIZWlnaHRXaXRob3V0Qm9yZGVycyA9XG4gICAgICB0aGlzLnBhcmFtcy5ub2RlICYmIHRoaXMucGFyYW1zLm5vZGUucm93SGVpZ2h0IC0gNDtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZnRlckd1aUF0dGFjaGVkIGlzIGNhbGxlZCBieSBhZ0dyaWQgYWZ0ZXIgdGhlIGVkaXRvciBpcyByZW5kZXJlZCBpbiB0aGUgRE9NLiBPbmNlIGl0IGlzIGF0dGFjaGVkIHRoZSBlZGl0b3IgaXMgcmVhZHkgdG8gYmUgZm9jdXNlZCBvbi5cbiAgICovXG4gIHB1YmxpYyBhZnRlckd1aUF0dGFjaGVkKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldFZhbHVlIGlzIGNhbGxlZCBieSBhZ0dyaWQgd2hlbiBlZGl0aW5nIGlzIHN0b3BwZWQgdG8gZ2V0IHRoZSBuZXcgdmFsdWUgb2YgdGhlIGNlbGwuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxufVxuIiwiPGlucHV0XG4gIHR5cGU9XCJ0ZXh0XCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAnc2t5X2FnX2dyaWRfY2VsbF9lZGl0b3JfdGV4dF9hcmlhX2xhYmVsJ1xuICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbHVtbkhlYWRlcjpyb3dOdW1iZXJcbiAgXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cImNvbHVtbldpZHRoXCJcbiAgW3N0eWxlLmhlaWdodC5weF09XCJyb3dIZWlnaHRXaXRob3V0Qm9yZGVyc1wiXG4gIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAjc2t5Q2VsbEVkaXRvclRleHRcbi8+XG4iXX0=
|