@syncfusion/ej2-angular-treegrid 31.2.5-ngcc → 31.2.5
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/CHANGELOG.md +214 -0
- package/README.md +15 -7
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/src/index.mjs +9 -0
- package/esm2020/src/treegrid/aggregate-columns.directive.mjs +72 -0
- package/esm2020/src/treegrid/aggregates.directive.mjs +69 -0
- package/esm2020/src/treegrid/columns.directive.mjs +100 -0
- package/esm2020/src/treegrid/stacked-column.directive.mjs +100 -0
- package/esm2020/src/treegrid/treegrid-all.module.mjs +89 -0
- package/esm2020/src/treegrid/treegrid.component.mjs +271 -0
- package/esm2020/src/treegrid/treegrid.module.mjs +61 -0
- package/esm2020/syncfusion-ej2-angular-treegrid.mjs +5 -0
- package/fesm2015/syncfusion-ej2-angular-treegrid.mjs +734 -0
- package/fesm2015/syncfusion-ej2-angular-treegrid.mjs.map +1 -0
- package/fesm2020/syncfusion-ej2-angular-treegrid.mjs +734 -0
- package/fesm2020/syncfusion-ej2-angular-treegrid.mjs.map +1 -0
- package/package.json +20 -7
- package/public_api.d.ts +1 -1
- package/src/index.d.ts +8 -8
- package/src/treegrid/aggregate-columns.directive.d.ts +91 -86
- package/src/treegrid/aggregates.directive.d.ts +49 -44
- package/src/treegrid/columns.directive.d.ts +328 -323
- package/src/treegrid/stacked-column.directive.d.ts +330 -325
- package/src/treegrid/treegrid-all.module.d.ts +33 -27
- package/src/treegrid/treegrid.component.d.ts +143 -140
- package/src/treegrid/treegrid.module.d.ts +15 -5
- package/syncfusion-ej2-angular-treegrid.d.ts +5 -0
- package/@syncfusion/ej2-angular-treegrid.es5.js +0 -818
- package/@syncfusion/ej2-angular-treegrid.es5.js.map +0 -1
- package/@syncfusion/ej2-angular-treegrid.js +0 -768
- package/@syncfusion/ej2-angular-treegrid.js.map +0 -1
- package/LICENSE +0 -10
- package/dist/ej2-angular-treegrid.umd.js +0 -998
- package/dist/ej2-angular-treegrid.umd.js.map +0 -1
- package/dist/ej2-angular-treegrid.umd.min.js +0 -11
- package/dist/ej2-angular-treegrid.umd.min.js.map +0 -1
- package/ej2-angular-treegrid.d.ts +0 -5
- package/ej2-angular-treegrid.metadata.json +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [Unreleased]
|
|
4
|
+
|
|
5
|
+
## 31.1.22 (2025-10-01)
|
|
6
|
+
|
|
7
|
+
### Tree Grid
|
|
8
|
+
|
|
9
|
+
#### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- `#763935` - Fixed an issue where the child records position were wrong when expanding parent record in remote data case.
|
|
12
|
+
|
|
13
|
+
## 31.1.20 (2025-09-10)
|
|
14
|
+
|
|
15
|
+
### Tree Grid
|
|
16
|
+
|
|
17
|
+
#### Bug Fixes
|
|
18
|
+
|
|
19
|
+
-`#I759266` - The `addRecord` method of the TreeGrid correctly adds a child record to the specified parent node.- `#F69767` - Fixed an issue where data was being duplicated when dragging and dropping items and refreshing in the treegrid.
|
|
20
|
+
|
|
21
|
+
## 31.1.17 (2025-09-05)
|
|
22
|
+
|
|
23
|
+
### Tree Grid
|
|
24
|
+
|
|
25
|
+
#### Features
|
|
26
|
+
|
|
27
|
+
- Introduced sticky header support in the Tree Grid, allowing column headers to stay fixed during scrolling. This improves navigation and readability in large hierarchical data views. Explore the demo [here](https://ej2.syncfusion.com/demos/#/tailwind3/tree-grid/sticky-header.html).
|
|
28
|
+
|
|
29
|
+
- Enhanced support for `LoadChildOnDemand` in the Tree Grid with remote data binding and virtual scrolling. This improvement enables efficient, on-demand retrieval of child records, ensuring smoother performance when working with large hierarchical datasets.
|
|
30
|
+
|
|
31
|
+
- Introduced sticky header support in the Tree Grid, allowing column headers to stay fixed during scrolling. This improves navigation and readability in large hierarchical data views. Explore the demo [here](https://ej2.syncfusion.com/angular/demos/#/tailwind3/treegrid/stickyheader).
|
|
32
|
+
|
|
33
|
+
- Enhanced support for `LoadChildOnDemand` in the Tree Grid with remote data binding and virtual scrolling. This improvement enables efficient, on-demand retrieval of child records, ensuring smoother performance when working with large hierarchical datasets.
|
|
34
|
+
|
|
35
|
+
## 20.2.36 (2022-06-30)
|
|
36
|
+
|
|
37
|
+
### Tree Grid
|
|
38
|
+
|
|
39
|
+
#### Features
|
|
40
|
+
|
|
41
|
+
- Provided support for inline editing with virtualization enabled. Please find the demo [here](https://ej2.syncfusion.com/demos/#/bootstrap5/tree-grid/virtual-scrolling.html).
|
|
42
|
+
- `#I323425`, `#I332700`, `#I344742`, `#I375307` - Provided support for frozen column with virtualization enabled.
|
|
43
|
+
|
|
44
|
+
- `#I334966`, `#I373929`, `#I332693`, `#I342835`, `#F172606`, `#F171250`, `#F171248` - Provided row drag and drop support with virtualization feature enabled.
|
|
45
|
+
- `#I367483` - Provided support for row indent and outdent functionality. Please find the demo link [here](https://ej2.syncfusion.com/angular/demos/#/bootstrap5/treegrid/inlineediting).
|
|
46
|
+
|
|
47
|
+
## 19.2.44 (2021-06-30)
|
|
48
|
+
|
|
49
|
+
### Tree Grid
|
|
50
|
+
|
|
51
|
+
#### Bug Fixes
|
|
52
|
+
|
|
53
|
+
- `#332604` - Resolved white space issue while using less number of records with Virtualization.
|
|
54
|
+
|
|
55
|
+
- `#I329350` - Immutable mode works fine for date values and row reordering.
|
|
56
|
+
- `#I329988`, `#I331155` - Editing a newly added child record works fine with self referential data.
|
|
57
|
+
|
|
58
|
+
## 18.4.30 (2020-12-17)
|
|
59
|
+
|
|
60
|
+
### Tree Grid
|
|
61
|
+
|
|
62
|
+
#### New Features
|
|
63
|
+
|
|
64
|
+
- `#294082` - Provided Immutable Support to refresh specific rows while perform Tree Grid actions.
|
|
65
|
+
- `#283491` - Provided error handling support to easily rectify errors in sample side.
|
|
66
|
+
- `#298682`, `#299561` - Added getVisibleRecords API to get the visible records based on collapsed rows state.
|
|
67
|
+
|
|
68
|
+
#### Bug Fixes
|
|
69
|
+
|
|
70
|
+
- `#F157882`- After editing the row using `updateRow` method, `getCurrentViewRecords` method updated properly.
|
|
71
|
+
- `#F157882`- When editing with a double click, it works fine when we only have one record.
|
|
72
|
+
- `#289600` - Records get expanded properly after collapsing all records using `collapseAtLevel` method in observable binding.
|
|
73
|
+
- `#F157099` - Virtualization with Aggregates works fine with large number of records.
|
|
74
|
+
- `#296233` - Row Drag and Drop within treegrid works fine.
|
|
75
|
+
- `#297986` - Row Drag and drop within treegrid works fine with checkbox enabled.
|
|
76
|
+
- `#F158886` - Cell editing with frozen columns works fine.
|
|
77
|
+
- `#299761` - Treegrid column width renders fine in Internet Explorer when Virtualization is enabled.
|
|
78
|
+
- `#301861` - Tree Grid dataSource updated properly while using setCellValue method.
|
|
79
|
+
- `#F159697` - Order of child records are displayed correctly after editing in remote data binding.
|
|
80
|
+
- `292453` - Treegrid refresh method works fine after updating the data.
|
|
81
|
+
|
|
82
|
+
- `#289600` - Records get expanded properly after collapsing all records using `collapseAtLevel` method in observable binding.
|
|
83
|
+
- `#F157099` - Virtualization with Aggregates works fine with large number of records.
|
|
84
|
+
- `#297986` - Row Drag and drop within treegrid works fine with checkbox enabled.
|
|
85
|
+
- `#F158886` - Cell editing with frozen columns works fine.
|
|
86
|
+
- `#F159697` - Order of child records are displayed correctly after editing in remote data binding.
|
|
87
|
+
|
|
88
|
+
## 18.3.35 (2020-10-01)
|
|
89
|
+
|
|
90
|
+
### TreeGrid
|
|
91
|
+
|
|
92
|
+
#### Bug Fixes
|
|
93
|
+
|
|
94
|
+
- `#F157258` - `updateRow` method works fine for updating collapsed data.
|
|
95
|
+
- `#292933` - checkbox rendered properly while using the template column.
|
|
96
|
+
- `#289685` - Aggregate Column Formatting is working fine
|
|
97
|
+
- `#288542` - The Expand / Collapse icon has been rendered properly while enabling expand state mapping and adding a new record.
|
|
98
|
+
- `#287235` - While enabling expand state mapping the Expand / Collapse icon works fine at nested child levels.
|
|
99
|
+
- `#285434`- Column SortComparer function works fine with null values for RemoteSaveAdaptor datasource.
|
|
100
|
+
- `#284987`- Records rendered properly while using remote save adaptor in created event.
|
|
101
|
+
- `#285434`- Column SortComparer function works fine with null values in datasource.
|
|
102
|
+
- `#F155077`- Records rendered properly while using remote data with jQuery unobtrusive library.
|
|
103
|
+
|
|
104
|
+
- `#F157258` - `updateRow` method works fine for updating collapsed data.
|
|
105
|
+
|
|
106
|
+
## 18.2.44 (2020-07-07)
|
|
107
|
+
|
|
108
|
+
### TreeGrid
|
|
109
|
+
|
|
110
|
+
#### Bug Fixes
|
|
111
|
+
|
|
112
|
+
- `#279109` - Checkbox checked properly for child records in remote data.
|
|
113
|
+
- `#277364`, `#279732` - Checkbox with `allowRowDragAndDrop` property rendered properly after editing and cancelling in cell edit mode.
|
|
114
|
+
- `#277364` - Checkbox with `autoCheckHierarchy` property rendered properly after editing and cancelling in cell edit mode.
|
|
115
|
+
- `#278266` - Edit type `dropdownedit` is working properly in cell edit mode when enter key is pressed.
|
|
116
|
+
- `#272026` - `updateRow` method works fine for updating treegrid data source.
|
|
117
|
+
- `#273309` - Editing the zeroth level added record works fine in Batch mode.
|
|
118
|
+
- `#277361` - Auto generated columns work fine when two treegrids are rendered on the same page.
|
|
119
|
+
|
|
120
|
+
- `F153495` - Sorting after editing is working fine with cell edit mode.
|
|
121
|
+
- `#266963`- Drag and drop works fine in unordered list of data.
|
|
122
|
+
- `#F151795` - Localization support works fine in Add row, Above, Below Context Menu Items.
|
|
123
|
+
- `#F151795`- In Drag and drop, while dropping at first row, its border color is changed properly.
|
|
124
|
+
|
|
125
|
+
#### New Features
|
|
126
|
+
|
|
127
|
+
- `#258863`, `#271677` - Expand & Collapse child rows support has been provided in Excel Export.
|
|
128
|
+
- Columnchooser support has been provided that allows user to show or hide columns dynamically.
|
|
129
|
+
- Provided support for Editing with Virtualization feature.
|
|
130
|
+
|
|
131
|
+
#### Breaking Changes
|
|
132
|
+
|
|
133
|
+
- Now `data`, `row` these Tree Grid selection event arguments are get array values only when we perform multi selection. Please find modified event arguments and it types from the below table,
|
|
134
|
+
|
|
135
|
+
`Properties` |`Type`
|
|
136
|
+
-----|-----
|
|
137
|
+
`data` | `Object or Object[]`
|
|
138
|
+
`rowIndex` | `number`
|
|
139
|
+
`rowIndexes` | `number[]`
|
|
140
|
+
`row` | `Element or Element[]`
|
|
141
|
+
|
|
142
|
+
## 17.4.39 (2019-12-17)
|
|
143
|
+
|
|
144
|
+
### TreeGrid
|
|
145
|
+
|
|
146
|
+
#### New Features
|
|
147
|
+
|
|
148
|
+
- AutoFill support has been provided that allows users to copy the data of selected cells and paste it to another cells by dragging.
|
|
149
|
+
|
|
150
|
+
#### Breaking Changes
|
|
151
|
+
|
|
152
|
+
- Default value of column's `disableHtmlEncode` is set to true, so the HTML tags can be displayed in the Grid header and content by default. To display it as html content `disableHtmlEncode` need to be set as false.
|
|
153
|
+
|
|
154
|
+
#### Bug Fixes
|
|
155
|
+
|
|
156
|
+
- `#148913` - Expand icon displays properly for the nested records in Custom Data Binding.
|
|
157
|
+
|
|
158
|
+
## 17.2.48-beta (2019-08-28)
|
|
159
|
+
|
|
160
|
+
### TreeGrid
|
|
161
|
+
|
|
162
|
+
#### New Features
|
|
163
|
+
|
|
164
|
+
- Checkbox selection support has been provided that allows users to select rows using checkbox.
|
|
165
|
+
- Checkbox Column support has been provided that allows users to check rows using checkbox in treegrid column.
|
|
166
|
+
|
|
167
|
+
#### Bug Fixes
|
|
168
|
+
|
|
169
|
+
- Change detection for properties `dataSource` and `query` were handled for remote data.
|
|
170
|
+
- Edited records can be searched/filtered.
|
|
171
|
+
- Inner level records will be collapsed/expanded after filtering/searching actions.
|
|
172
|
+
|
|
173
|
+
## 17.1.1-beta (2019-01-29)
|
|
174
|
+
|
|
175
|
+
### TreeGrid
|
|
176
|
+
|
|
177
|
+
#### Bug Fixes
|
|
178
|
+
|
|
179
|
+
- `Query` maintenance support provided for `refresh` method after expanding any child rows.
|
|
180
|
+
- Property change support for `height` property has been provided.
|
|
181
|
+
- Expand icon is prevented from displaying for the root/zeroth level record which has `hasChildMapping` field as false.
|
|
182
|
+
- Child records of third level or its successor displays properly based on their hierarchy relation in self reference data binding.
|
|
183
|
+
|
|
184
|
+
- Expand icon is prevented from displaying for the root/zeroth level record which has `hasChildMapping` field as false.
|
|
185
|
+
|
|
186
|
+
#### New Features
|
|
187
|
+
|
|
188
|
+
- `Excel-Like Filtering` support is provided that allows users to create complex filter criteria for a column by allowing users to select possible filter values from a checkbox list. The advanced filter can be used to build complex filter criteria.
|
|
189
|
+
|
|
190
|
+
## 16.4.45 (2019-01-02)
|
|
191
|
+
|
|
192
|
+
### TreeGrid
|
|
193
|
+
|
|
194
|
+
#### Bug Fixes
|
|
195
|
+
|
|
196
|
+
- Added events for the column menu feature and added `columnMenuItems` API to modify the column menu items in column menu.
|
|
197
|
+
- Added `sortComparer` API to perform custom sorting in TreeGrid.
|
|
198
|
+
|
|
199
|
+
## 16.4.44 (2018-12-24)
|
|
200
|
+
|
|
201
|
+
### TreeGrid
|
|
202
|
+
|
|
203
|
+
#### Bug Fixes
|
|
204
|
+
|
|
205
|
+
- Expanding and Collapsing records is working fine when `pageSizeMode` is set as `All`.
|
|
206
|
+
- `expandAtLevel`, `collapseAtLevel`, `expandAll` and `collapseAll` methods are working fine when `pageSizeMode` is set as `All`.- `actionBegin`, `actionComplete` and `actionFailure` events are triggered properly.
|
|
207
|
+
- Additional parameters that are added using the `query` property of TreeGrid are passed to the server side when a parent record is expanded.## 19.1.54 (2021-03-30)
|
|
208
|
+
|
|
209
|
+
### Tree Grid
|
|
210
|
+
|
|
211
|
+
#### Bug Fixes
|
|
212
|
+
|
|
213
|
+
- `#332604` - Resolved white space issue while using less number of records with Virtualization.
|
|
214
|
+
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ The [Angular TreeGrid](https://www.syncfusion.com/angular-components/angular-tre
|
|
|
14
14
|
<p align="center">
|
|
15
15
|
Trusted by the world's leading companies
|
|
16
16
|
<a href="https://www.syncfusion.com">
|
|
17
|
-
<img src="https://
|
|
17
|
+
<img src="https://ej2.syncfusion.com/home/images/trusted_companies.png" alt="Bootstrap logo">
|
|
18
18
|
</a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
@@ -35,9 +35,9 @@ ng new my-app
|
|
|
35
35
|
cd my-app
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
### Adding Syncfusion Tree Grid package
|
|
38
|
+
### Adding Syncfusion<sup>®</sup> Tree Grid package
|
|
39
39
|
|
|
40
|
-
All Syncfusion angular packages are published in [npmjs.com](https://www.npmjs.com/~syncfusionorg) registry. To install angular tree grid package, use the following command.
|
|
40
|
+
All Syncfusion<sup>®</sup> angular packages are published in [npmjs.com](https://www.npmjs.com/~syncfusionorg) registry. To install angular tree grid package, use the following command.
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
43
|
ng add @syncfusion/ej2-angular-treegrid
|
|
@@ -47,13 +47,13 @@ The above command does the below configuration to your Angular app.
|
|
|
47
47
|
|
|
48
48
|
* Adds `@syncfusion/ej2-angular-treegrid` package and its peer dependencies to your `package.json` file.
|
|
49
49
|
* Imports the `TreeGridModule` in your application module `app.module.ts`.
|
|
50
|
-
* Registers the Syncfusion UI default theme (material) in the `angular.json` file.
|
|
50
|
+
* Registers the Syncfusion<sup>®</sup> UI default theme (material) in the `angular.json` file.
|
|
51
51
|
|
|
52
|
-
This makes it easy to add the Syncfusion Angular TreeGrid module to your project and start using it in your application.
|
|
52
|
+
This makes it easy to add the Syncfusion<sup>®</sup> Angular TreeGrid module to your project and start using it in your application.
|
|
53
53
|
|
|
54
54
|
### Add Tree Grid Component
|
|
55
55
|
|
|
56
|
-
In **src/app/app.component.ts**, use `<ejs-treegrid>` selector in `template` attribute of `@Component` directive to render the Syncfusion Angular TreeGrid component.
|
|
56
|
+
In **src/app/app.component.ts**, use `<ejs-treegrid>` selector in `template` attribute of `@Component` directive to render the Syncfusion<sup>®</sup> Angular TreeGrid component.
|
|
57
57
|
|
|
58
58
|
```typescript
|
|
59
59
|
import { Component, OnInit } from '@angular/core';
|
|
@@ -124,6 +124,14 @@ TreeGrid component is also offered in the following list of frameworks.
|
|
|
124
124
|
* [RTL support](https://ej2.syncfusion.com/angular/documentation/treegrid/global-local/#right-to-left-rtl): Provides the right-to-left mode which aligns content in the TreeGrid component from right to left. This improves user experience and accessibility for those who work with RTL languages like Hebrew and Arabic.
|
|
125
125
|
* [Localization](https://ej2.syncfusion.com/angular/documentation/treegrid/global-local/#localization): Provides inherent support to localize the UI.
|
|
126
126
|
|
|
127
|
+
## Resources
|
|
128
|
+
|
|
129
|
+
* [Documentation](https://ej2.syncfusion.com/angular/documentation/treegrid/overview)
|
|
130
|
+
* [Theme Studio](https://ej2.syncfusion.com/themestudio/)
|
|
131
|
+
* [What's New](https://www.syncfusion.com/products/whatsnew/angular?utm_medium=listing&utm_source=github)
|
|
132
|
+
* [Road Map](https://www.syncfusion.com/products/roadmap/angular)
|
|
133
|
+
* [E-Books](https://www.syncfusion.com/succinctly-free-ebooks?searchkey=angular&type=all)
|
|
134
|
+
|
|
127
135
|
## Support
|
|
128
136
|
|
|
129
137
|
Product support is available through the following mediums.
|
|
@@ -140,7 +148,7 @@ Check the changelog [here](https://github.com/syncfusion/ej2-angular-ui-componen
|
|
|
140
148
|
|
|
141
149
|
## License and copyright
|
|
142
150
|
|
|
143
|
-
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for
|
|
151
|
+
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 140+ [Angular UI components](https://www.syncfusion.com/angular-components), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
|
|
144
152
|
|
|
145
153
|
> A free community [license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
|
|
146
154
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/index';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7Il19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { StackedColumnDirective, StackedColumnsDirective } from './treegrid/stacked-column.directive';
|
|
2
|
+
export { ColumnDirective, ColumnsDirective } from './treegrid/columns.directive';
|
|
3
|
+
export { AggregateColumnDirective, AggregateColumnsDirective } from './treegrid/aggregate-columns.directive';
|
|
4
|
+
export { AggregateDirective, AggregatesDirective } from './treegrid/aggregates.directive';
|
|
5
|
+
export { TreeGridComponent } from './treegrid/treegrid.component';
|
|
6
|
+
export { TreeGridModule } from './treegrid/treegrid.module';
|
|
7
|
+
export { TreeGridAllModule, FilterService, PageService, SortService, ReorderService, ToolbarService, AggregateService, ResizeService, ColumnMenuService, ExcelExportService, PdfExportService, CommandColumnService, ContextMenuService, EditService, SelectionService, VirtualScrollService, DetailRowService, RowDDService, FreezeService, ColumnChooserService, LoggerService, InfiniteScrollService } from './treegrid/treegrid-all.module';
|
|
8
|
+
export * from '@syncfusion/ej2-treegrid';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDbkcsT0FBTyxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaGIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7U3RhY2tlZENvbHVtbkRpcmVjdGl2ZSxTdGFja2VkQ29sdW1uc0RpcmVjdGl2ZX0gZnJvbSAnLi90cmVlZ3JpZC9zdGFja2VkLWNvbHVtbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDb2x1bW5EaXJlY3RpdmUsQ29sdW1uc0RpcmVjdGl2ZX0gZnJvbSAnLi90cmVlZ3JpZC9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5leHBvcnQge0FnZ3JlZ2F0ZUNvbHVtbkRpcmVjdGl2ZSxBZ2dyZWdhdGVDb2x1bW5zRGlyZWN0aXZlfSBmcm9tICcuL3RyZWVncmlkL2FnZ3JlZ2F0ZS1jb2x1bW5zLmRpcmVjdGl2ZSc7XG5leHBvcnQge0FnZ3JlZ2F0ZURpcmVjdGl2ZSxBZ2dyZWdhdGVzRGlyZWN0aXZlfSBmcm9tICcuL3RyZWVncmlkL2FnZ3JlZ2F0ZXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFRyZWVHcmlkQ29tcG9uZW50fSBmcm9tICcuL3RyZWVncmlkL3RyZWVncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBUcmVlR3JpZE1vZHVsZSB9IGZyb20gJy4vdHJlZWdyaWQvdHJlZWdyaWQubW9kdWxlJztcbmV4cG9ydCB7IFRyZWVHcmlkQWxsTW9kdWxlLCBGaWx0ZXJTZXJ2aWNlLCBQYWdlU2VydmljZSwgU29ydFNlcnZpY2UsIFJlb3JkZXJTZXJ2aWNlLCBUb29sYmFyU2VydmljZSwgQWdncmVnYXRlU2VydmljZSwgUmVzaXplU2VydmljZSwgQ29sdW1uTWVudVNlcnZpY2UsIEV4Y2VsRXhwb3J0U2VydmljZSwgUGRmRXhwb3J0U2VydmljZSwgQ29tbWFuZENvbHVtblNlcnZpY2UsIENvbnRleHRNZW51U2VydmljZSwgRWRpdFNlcnZpY2UsIFNlbGVjdGlvblNlcnZpY2UsIFZpcnR1YWxTY3JvbGxTZXJ2aWNlLCBEZXRhaWxSb3dTZXJ2aWNlLCBSb3dERFNlcnZpY2UsIEZyZWV6ZVNlcnZpY2UsIENvbHVtbkNob29zZXJTZXJ2aWNlLCBMb2dnZXJTZXJ2aWNlLCBJbmZpbml0ZVNjcm9sbFNlcnZpY2UgfSBmcm9tICcuL3RyZWVncmlkL3RyZWVncmlkLWFsbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnQHN5bmNmdXNpb24vZWoyLXRyZWVncmlkJzsiXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive, ContentChildren, ContentChild } from '@angular/core';
|
|
3
|
+
import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
|
|
4
|
+
import { Template } from '@syncfusion/ej2-angular-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
let input = ['columnName', 'customAggregate', 'field', 'footerTemplate', 'format', 'type'];
|
|
7
|
+
let outputs = [];
|
|
8
|
+
/**
|
|
9
|
+
* `e-aggregate->e-column` directive represent a aggregate column of the Angular TreeGrid.
|
|
10
|
+
* ```html
|
|
11
|
+
* <ejs-treegrid [dataSource]='data' allowPaging='true' allowSorting='true'>
|
|
12
|
+
* <e-columns>
|
|
13
|
+
* <e-column field='ID' width='100'></e-column>
|
|
14
|
+
* <e-column field='name' headerText='Name' width='100'></e-column>
|
|
15
|
+
* </e-columns>
|
|
16
|
+
* <e-aggregates>
|
|
17
|
+
* <e-aggregate>
|
|
18
|
+
* <e-columns>
|
|
19
|
+
* <e-column field='ID' type='Min'></e-column>
|
|
20
|
+
* </e-columns>
|
|
21
|
+
* </e-aggregate>
|
|
22
|
+
* </e-aggregates>
|
|
23
|
+
* </ejs-treegrid>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class AggregateColumnDirective extends ComplexBase {
|
|
27
|
+
constructor(viewContainerRef) {
|
|
28
|
+
super();
|
|
29
|
+
this.viewContainerRef = viewContainerRef;
|
|
30
|
+
setValue('currentInstance', this, this.viewContainerRef);
|
|
31
|
+
this.registerEvents(outputs);
|
|
32
|
+
this.directivePropList = input;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
AggregateColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
AggregateColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregateColumnDirective, selector: "ejs-treegrid>e-aggregates>e-aggregate>e-columns>e-column", inputs: { columnName: "columnName", customAggregate: "customAggregate", field: "field", footerTemplate: "footerTemplate", format: "format", type: "type" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
37
|
+
__decorate([
|
|
38
|
+
Template()
|
|
39
|
+
], AggregateColumnDirective.prototype, "footerTemplate", void 0);
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnDirective, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: 'ejs-treegrid>e-aggregates>e-aggregate>e-columns>e-column',
|
|
44
|
+
inputs: input,
|
|
45
|
+
outputs: outputs,
|
|
46
|
+
queries: {}
|
|
47
|
+
}]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { footerTemplate: [{
|
|
49
|
+
type: ContentChild,
|
|
50
|
+
args: ['footerTemplate']
|
|
51
|
+
}] } });
|
|
52
|
+
/**
|
|
53
|
+
* AggregateColumn Array Directive
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
export class AggregateColumnsDirective extends ArrayBase {
|
|
57
|
+
constructor() {
|
|
58
|
+
super('columns');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
AggregateColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
62
|
+
AggregateColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregateColumnsDirective, selector: "ejs-treegrid>e-aggregates>e-aggregate>e-columns", queries: [{ propertyName: "children", predicate: AggregateColumnDirective }], usesInheritance: true, ngImport: i0 });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateColumnsDirective, decorators: [{
|
|
64
|
+
type: Directive,
|
|
65
|
+
args: [{
|
|
66
|
+
selector: 'ejs-treegrid>e-aggregates>e-aggregate>e-columns',
|
|
67
|
+
queries: {
|
|
68
|
+
children: new ContentChildren(AggregateColumnDirective)
|
|
69
|
+
},
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: function () { return []; } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlLWNvbHVtbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyZWVncmlkL2FnZ3JlZ2F0ZS1jb2x1bW5zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDckcsSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzNCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQVNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUFxQztJQThEL0UsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUVqRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOztxSEFuRVEsd0JBQXdCO3lHQUF4Qix3QkFBd0I7QUE0RGpDO0lBREMsUUFBUSxFQUFFO2dFQUNnQjsyRkE1RGxCLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMERBQTBEO29CQUNwRSxNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLEVBRVI7aUJBQ0o7dUdBNkRVLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsZ0JBQWdCOztBQVlsQzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsU0FBb0M7SUFDL0U7UUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7c0hBSFEseUJBQXlCOzBHQUF6Qix5QkFBeUIsZ0hBSEEsd0JBQXdCOzJGQUdqRCx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlEQUFpRDtvQkFDM0QsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydjb2x1bW5OYW1lJywgJ2N1c3RvbUFnZ3JlZ2F0ZScsICdmaWVsZCcsICdmb290ZXJUZW1wbGF0ZScsICdmb3JtYXQnLCAndHlwZSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWFnZ3JlZ2F0ZS0+ZS1jb2x1bW5gIGRpcmVjdGl2ZSByZXByZXNlbnQgYSBhZ2dyZWdhdGUgY29sdW1uIG9mIHRoZSBBbmd1bGFyIFRyZWVHcmlkLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtdHJlZWdyaWQgW2RhdGFTb3VyY2VdPSdkYXRhJyBhbGxvd1BhZ2luZz0ndHJ1ZScgYWxsb3dTb3J0aW5nPSd0cnVlJz4gXG4gKiAgIDxlLWNvbHVtbnM+XG4gKiAgICAgPGUtY29sdW1uIGZpZWxkPSdJRCcgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgICA8ZS1jb2x1bW4gZmllbGQ9J25hbWUnIGhlYWRlclRleHQ9J05hbWUnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgIDwvZS1jb2x1bW5zPlxuICogICA8ZS1hZ2dyZWdhdGVzPlxuICogICAgIDxlLWFnZ3JlZ2F0ZT5cbiAqICAgICAgIDxlLWNvbHVtbnM+XG4gKiAgICAgICAgIDxlLWNvbHVtbiBmaWVsZD0nSUQnIHR5cGU9J01pbic+PC9lLWNvbHVtbj5cbiAqICAgICAgIDwvZS1jb2x1bW5zPlxuICogICAgICA8L2UtYWdncmVnYXRlPlxuICogICAgPC9lLWFnZ3JlZ2F0ZXM+XG4gKiA8L2Vqcy10cmVlZ3JpZD5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy10cmVlZ3JpZD5lLWFnZ3JlZ2F0ZXM+ZS1hZ2dyZWdhdGU+ZS1jb2x1bW5zPmUtY29sdW1uJyxcbiAgICBpbnB1dHM6IGlucHV0LFxuICAgIG91dHB1dHM6IG91dHB1dHMsICAgIFxuICAgIHF1ZXJpZXM6IHtcblxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQWdncmVnYXRlQ29sdW1uRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8QWdncmVnYXRlQ29sdW1uRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuXG5cbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYWdncmVnYXRlIHR5cGUocykgZm9yIGEgcGFydGljdWxhciBjb2x1bW4uIFxuICAgICAqIFRvIGFwcGx5IG11bHRpcGxlIGFnZ3JlZ2F0ZXMgdG8gYSBzaW5nbGUgY29sdW1uLCBzcGVjaWZ5IHRoZSBgdHlwZWAgYXMgYW4gYXJyYXkuIFxuICAgICAqIEF2YWlsYWJsZSBhZ2dyZWdhdGUgdHlwZXMgaW5jbHVkZTogXG4gICAgICogKiBgc3VtYDogQ2FsY3VsYXRlcyB0aGUgc3VtIG9mIGFsbCB2YWx1ZXMgaW4gYSBjb2x1bW4uIFxuICAgICAqICogYGF2ZXJhZ2VgOiBDb21wdXRlcyB0aGUgYXZlcmFnZSBvZiB0aGUgY29sdW1uIHZhbHVlcy4gXG4gICAgICogKiBgbWF4YDogRmluZHMgdGhlIG1heGltdW0gdmFsdWUgaW4gYSBjb2x1bW4uIFxuICAgICAqICogYG1pbmA6IEZpbmRzIHRoZSBtaW5pbXVtIHZhbHVlIGluIGEgY29sdW1uLiBcbiAgICAgKiAqIGBjb3VudGA6IENvdW50cyB0aGUgbnVtYmVyIG9mIHJlY29yZHMuIFxuICAgICAqICogYGZhbHNlY291bnRgOiBDb3VudHMgdGhlIG51bWJlciBvZiBmYWxzZSB2YWx1ZXMuIFxuICAgICAqICogYHRydWVjb3VudGA6IENvdW50cyB0aGUgbnVtYmVyIG9mIHRydWUgdmFsdWVzLiBcbiAgICAgKiAqIGBjdXN0b21gOiBBbGxvd3MgZm9yIGEgY3VzdG9tIGFnZ3JlZ2F0ZSBmdW5jdGlvbi5cbiAgICAgKiBcbiAgICAgKiBVc2UgYGN1c3RvbWAgdG8gc3BlY2lmeSBhIGN1c3RvbSBhZ2dyZWdhdGlvbi5cbiAgICAgKiAgICAgXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgY29sdW1uIG5hbWUgdG8gZGlzcGxheSB0aGUgYWdncmVnYXRlIHZhbHVlLiBJZiBub3QgZGVmaW5lZCwgdGhlIGBmaWVsZGAgbmFtZSBpcyB1c2VkIGJ5IGRlZmF1bHQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2x1bW5OYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgYSBjdXN0b20gZnVuY3Rpb24gdG8gY2FsY3VsYXRlIHRoZSBhZ2dyZWdhdGUgdmFsdWUuIFRoZSBgdHlwZWAgbXVzdCBiZSBzZXQgdG8gYGN1c3RvbWAuIFxuICAgICAqIFVzZSB0aGUgY3VzdG9tIHZhbHVlIGFzIGAke2N1c3RvbX1gIGluIHRlbXBsYXRlcy4gXG4gICAgICogKiBgVG90YWwgYWdncmVnYXRpb25gOiBUaGUgY3VzdG9tIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIHRoZSBlbnRpcmUgZGF0YXNldCBhbmQgdGhlIGN1cnJlbnQgYEFnZ3JlZ2F0ZUNvbHVtbmAgb2JqZWN0LiBcbiAgICAgKiAqIGBHcm91cCBhZ2dyZWdhdGlvbmA6IEl0IGlzIGNhbGxlZCB3aXRoIHRoZSBjdXJyZW50IGdyb3VwIGRldGFpbHMgYW5kIHRoZSBgQWdncmVnYXRlQ29sdW1uYCBvYmplY3QuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBjdXN0b21BZ2dyZWdhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjb2x1bW4gbmFtZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBhZ2dyZWdhdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZpZWxkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgZm9ybWF0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGNhbGN1bGF0ZWQgYWdncmVnYXRlIHZhbHVlIGJlZm9yZSBkaXNwbGF5LiBcbiAgICAgKiBTdXBwb3J0cyBib3RoIHN0YW5kYXJkIGFuZCBjdXN0b20gZm9ybWF0cyBmb3IgbnVtYmVycyBhbmQgZGF0ZXMuIFxuICAgICAqIFJlZmVyIHRvIHRoZSBTeW5jZnVzaW9uIGRvY3VtZW50YXRpb24gZm9yIFtudW1iZXJdKGh0dHBzOi8vZWoyLnN5bmNmdXNpb24uY29tL2RvY3VtZW50YXRpb24vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNzdXBwb3J0ZWQtZm9ybWF0LXN0cmluZykgXG4gICAgICogYW5kIFtkYXRlXShodHRwczovL2VqMi5zeW5jZnVzaW9uLmNvbS9kb2N1bWVudGF0aW9uL2NvbW1vbi9pbnRlcm5hdGlvbmFsaXphdGlvbiNkYXRlLWZvcm1hdHRpbmcpIGZvcm1hdHMuXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBhIHRlbXBsYXRlIGZvciB0aGUgZm9vdGVyIGNlbGwgb2YgdGhlIGFnZ3JlZ2F0ZSBjb2x1bW4uIFxuICAgICAqIFVzZSB0aGUgYWdncmVnYXRlIGB0eXBlYCBuYW1lcyB3aXRoaW4gdGhlIHRlbXBsYXRlIHRvIGFjY2VzcyBhZ2dyZWdhdGUgdmFsdWVzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcblxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvb3RlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQWdncmVnYXRlQ29sdW1uIEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtdHJlZWdyaWQ+ZS1hZ2dyZWdhdGVzPmUtYWdncmVnYXRlPmUtY29sdW1ucycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZHJlbjogbmV3IENvbnRlbnRDaGlsZHJlbihBZ2dyZWdhdGVDb2x1bW5EaXJlY3RpdmUpXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQWdncmVnYXRlQ29sdW1uc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxBZ2dyZWdhdGVDb2x1bW5zRGlyZWN0aXZlPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCdjb2x1bW5zJyk7XG4gICAgfVxufSJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Directive, ContentChildren, ContentChild } from '@angular/core';
|
|
2
|
+
import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
|
|
3
|
+
import { AggregateColumnsDirective } from './aggregate-columns.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
let input = ['columns', 'showChildSummary'];
|
|
6
|
+
let outputs = [];
|
|
7
|
+
/**
|
|
8
|
+
* `e-aggregate` directive represent a aggregate row of the Angular TreeGrid.
|
|
9
|
+
* It must be contained in a TreeGrid component(`ejs-treegrid`).
|
|
10
|
+
* ```html
|
|
11
|
+
* <ejs-treegrid [dataSource]='data' allowPaging='true' allowSorting='true'>
|
|
12
|
+
* <e-columns>
|
|
13
|
+
* <e-column field='ID' width='100'></e-column>
|
|
14
|
+
* <e-column field='name' headerText='Name' width='100'></e-column>
|
|
15
|
+
* </e-columns>
|
|
16
|
+
* <e-aggregates>
|
|
17
|
+
* <e-aggregate>
|
|
18
|
+
* <e-columns>
|
|
19
|
+
* <e-column field='ID' type='Min'></e-column>
|
|
20
|
+
* </e-columns>
|
|
21
|
+
* </e-aggregate>
|
|
22
|
+
* </e-aggregates>
|
|
23
|
+
* </ejs-treegrid>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class AggregateDirective extends ComplexBase {
|
|
27
|
+
constructor(viewContainerRef) {
|
|
28
|
+
super();
|
|
29
|
+
this.viewContainerRef = viewContainerRef;
|
|
30
|
+
this.tags = ['columns'];
|
|
31
|
+
setValue('currentInstance', this, this.viewContainerRef);
|
|
32
|
+
this.registerEvents(outputs);
|
|
33
|
+
this.directivePropList = input;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
AggregateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
+
AggregateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregateDirective, selector: "ejs-treegrid>e-aggregates>e-aggregate", inputs: { columns: "columns", showChildSummary: "showChildSummary" }, queries: [{ propertyName: "childColumns", first: true, predicate: AggregateColumnsDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregateDirective, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: 'ejs-treegrid>e-aggregates>e-aggregate',
|
|
42
|
+
inputs: input,
|
|
43
|
+
outputs: outputs,
|
|
44
|
+
queries: {
|
|
45
|
+
childColumns: new ContentChild(AggregateColumnsDirective)
|
|
46
|
+
}
|
|
47
|
+
}]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
|
49
|
+
/**
|
|
50
|
+
* Aggregate Array Directive
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
export class AggregatesDirective extends ArrayBase {
|
|
54
|
+
constructor() {
|
|
55
|
+
super('aggregates');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
AggregatesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregatesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
59
|
+
AggregatesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: AggregatesDirective, selector: "ejs-treegrid>e-aggregates", queries: [{ propertyName: "children", predicate: AggregateDirective }], usesInheritance: true, ngImport: i0 });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AggregatesDirective, decorators: [{
|
|
61
|
+
type: Directive,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: 'ejs-treegrid>e-aggregates',
|
|
64
|
+
queries: {
|
|
65
|
+
children: new ContentChildren(AggregateDirective)
|
|
66
|
+
},
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: function () { return []; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJlZWdyaWQvYWdncmVnYXRlcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFMUUsSUFBSSxLQUFLLEdBQWEsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztBQUN0RCxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQVNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUErQjtJQWVuRSxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBWDlDLFNBQUksR0FBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBYWhDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OytHQXBCUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2TEFIUSx5QkFBeUI7MkZBR25ELGtCQUFrQjtrQkFSOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztxQkFDNUQ7aUJBQ0o7O0FBd0JEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUE4QjtJQUNuRTtRQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDOztnSEFIUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwwRkFITSxrQkFBa0I7MkZBRzNDLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGtCQUFrQixDQUFDO3FCQUNwRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cbmltcG9ydCB7IEFnZ3JlZ2F0ZUNvbHVtbnNEaXJlY3RpdmUgfSBmcm9tICcuL2FnZ3JlZ2F0ZS1jb2x1bW5zLmRpcmVjdGl2ZSc7XG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2NvbHVtbnMnLCAnc2hvd0NoaWxkU3VtbWFyeSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWFnZ3JlZ2F0ZWAgZGlyZWN0aXZlIHJlcHJlc2VudCBhIGFnZ3JlZ2F0ZSByb3cgb2YgdGhlIEFuZ3VsYXIgVHJlZUdyaWQuIFxuICogSXQgbXVzdCBiZSBjb250YWluZWQgaW4gYSBUcmVlR3JpZCBjb21wb25lbnQoYGVqcy10cmVlZ3JpZGApLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtdHJlZWdyaWQgW2RhdGFTb3VyY2VdPSdkYXRhJyBhbGxvd1BhZ2luZz0ndHJ1ZScgYWxsb3dTb3J0aW5nPSd0cnVlJz4gXG4gKiAgIDxlLWNvbHVtbnM+XG4gKiAgICAgPGUtY29sdW1uIGZpZWxkPSdJRCcgd2lkdGg9JzEwMCc+PC9lLWNvbHVtbj5cbiAqICAgICA8ZS1jb2x1bW4gZmllbGQ9J25hbWUnIGhlYWRlclRleHQ9J05hbWUnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgIDwvZS1jb2x1bW5zPlxuICogICA8ZS1hZ2dyZWdhdGVzPlxuICogICAgIDxlLWFnZ3JlZ2F0ZT5cbiAqICAgICAgIDxlLWNvbHVtbnM+XG4gKiAgICAgICAgIDxlLWNvbHVtbiBmaWVsZD0nSUQnIHR5cGU9J01pbic+PC9lLWNvbHVtbj5cbiAqICAgICAgIDwvZS1jb2x1bW5zPlxuICogICAgICA8L2UtYWdncmVnYXRlPlxuICogICAgPC9lLWFnZ3JlZ2F0ZXM+XG4gKiA8L2Vqcy10cmVlZ3JpZD5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy10cmVlZ3JpZD5lLWFnZ3JlZ2F0ZXM+ZS1hZ2dyZWdhdGUnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZENvbHVtbnM6IG5ldyBDb250ZW50Q2hpbGQoQWdncmVnYXRlQ29sdW1uc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0ZURpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEFnZ3JlZ2F0ZURpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcbiAgICBwdWJsaWMgY2hpbGRDb2x1bW5zOiBhbnk7XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydjb2x1bW5zJ107XG4gICAgLyoqIFxuICAgICAqIENvbmZpZ3VyZXMgdGhlIGNvbGxlY3Rpb24gb2YgYWdncmVnYXRlIGNvbHVtbnMuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBwdWJsaWMgY29sdW1uczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gZGlzcGxheSBjaGlsZCBzdW1tYXJpZXMgZm9yIGVhY2ggcGFyZW50IHJvdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0NoaWxkU3VtbWFyeTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQWdncmVnYXRlIEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtdHJlZWdyaWQ+ZS1hZ2dyZWdhdGVzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKEFnZ3JlZ2F0ZURpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGVzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEFnZ3JlZ2F0ZXNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2FnZ3JlZ2F0ZXMnKTtcbiAgICB9XG59Il19
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive, ContentChildren, ContentChild } from '@angular/core';
|
|
3
|
+
import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
|
|
4
|
+
import { Template } from '@syncfusion/ej2-angular-base';
|
|
5
|
+
import { StackedColumnsDirective } from './stacked-column.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
let input = ['allowEditing', 'allowFiltering', 'allowReordering', 'allowResizing', 'allowSorting', 'clipMode', 'columns', 'commands', 'customAttributes', 'defaultValue', 'disableHtmlEncode', 'displayAsCheckBox', 'edit', 'editTemplate', 'editType', 'field', 'filter', 'filterBarTemplate', 'filterTemplate', 'format', 'formatter', 'freeze', 'headerTemplate', 'headerText', 'headerTextAlign', 'hideAtMedia', 'isFrozen', 'isIdentity', 'isPrimaryKey', 'lockColumn', 'maxWidth', 'minWidth', 'showCheckbox', 'showColumnMenu', 'showInColumnChooser', 'sortComparer', 'template', 'textAlign', 'type', 'uid', 'validationRules', 'valueAccessor', 'visible', 'width'];
|
|
8
|
+
let outputs = [];
|
|
9
|
+
/**
|
|
10
|
+
* `e-column` directive represent a column of the Angular TreeGrid.
|
|
11
|
+
* It must be contained in a TreeGrid component(`ejs-treegrid`).
|
|
12
|
+
* ```html
|
|
13
|
+
* <ejs-treegrid [dataSource]='data' allowPaging='true' allowSorting='true'>
|
|
14
|
+
* <e-columns>
|
|
15
|
+
* <e-column field='ID' width='100'></e-column>
|
|
16
|
+
* <e-column field='name' headerText='Name' width='100'></e-column>
|
|
17
|
+
* </e-columns>
|
|
18
|
+
* </ejs-treegrid>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export class ColumnDirective extends ComplexBase {
|
|
22
|
+
constructor(viewContainerRef) {
|
|
23
|
+
super();
|
|
24
|
+
this.viewContainerRef = viewContainerRef;
|
|
25
|
+
this.tags = ['columns'];
|
|
26
|
+
setValue('currentInstance', this, this.viewContainerRef);
|
|
27
|
+
this.registerEvents(outputs);
|
|
28
|
+
this.directivePropList = input;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
ColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
32
|
+
ColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ColumnDirective, selector: "ejs-treegrid>e-columns>e-column", inputs: { allowEditing: "allowEditing", allowFiltering: "allowFiltering", allowReordering: "allowReordering", allowResizing: "allowResizing", allowSorting: "allowSorting", clipMode: "clipMode", columns: "columns", commands: "commands", customAttributes: "customAttributes", defaultValue: "defaultValue", disableHtmlEncode: "disableHtmlEncode", displayAsCheckBox: "displayAsCheckBox", edit: "edit", editTemplate: "editTemplate", editType: "editType", field: "field", filter: "filter", filterBarTemplate: "filterBarTemplate", filterTemplate: "filterTemplate", format: "format", formatter: "formatter", freeze: "freeze", headerTemplate: "headerTemplate", headerText: "headerText", headerTextAlign: "headerTextAlign", hideAtMedia: "hideAtMedia", isFrozen: "isFrozen", isIdentity: "isIdentity", isPrimaryKey: "isPrimaryKey", lockColumn: "lockColumn", maxWidth: "maxWidth", minWidth: "minWidth", showCheckbox: "showCheckbox", showColumnMenu: "showColumnMenu", showInColumnChooser: "showInColumnChooser", sortComparer: "sortComparer", template: "template", textAlign: "textAlign", type: "type", uid: "uid", validationRules: "validationRules", valueAccessor: "valueAccessor", visible: "visible", width: "width" }, queries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true }, { propertyName: "filter_itemTemplate", first: true, predicate: ["filterItemTemplate"], descendants: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true }, { propertyName: "commandsTemplate", first: true, predicate: ["commandsTemplate"], descendants: true }, { propertyName: "editTemplate", first: true, predicate: ["editTemplate"], descendants: true }, { propertyName: "childColumns", first: true, predicate: StackedColumnsDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
33
|
+
__decorate([
|
|
34
|
+
Template()
|
|
35
|
+
], ColumnDirective.prototype, "template", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
Template()
|
|
38
|
+
], ColumnDirective.prototype, "headerTemplate", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
Template()
|
|
41
|
+
], ColumnDirective.prototype, "filter_itemTemplate", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
Template()
|
|
44
|
+
], ColumnDirective.prototype, "filterTemplate", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Template()
|
|
47
|
+
], ColumnDirective.prototype, "commandsTemplate", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
Template()
|
|
50
|
+
], ColumnDirective.prototype, "editTemplate", void 0);
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnDirective, decorators: [{
|
|
52
|
+
type: Directive,
|
|
53
|
+
args: [{
|
|
54
|
+
selector: 'ejs-treegrid>e-columns>e-column',
|
|
55
|
+
inputs: input,
|
|
56
|
+
outputs: outputs,
|
|
57
|
+
queries: {
|
|
58
|
+
childColumns: new ContentChild(StackedColumnsDirective)
|
|
59
|
+
}
|
|
60
|
+
}]
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { template: [{
|
|
62
|
+
type: ContentChild,
|
|
63
|
+
args: ['template']
|
|
64
|
+
}], headerTemplate: [{
|
|
65
|
+
type: ContentChild,
|
|
66
|
+
args: ['headerTemplate']
|
|
67
|
+
}], filter_itemTemplate: [{
|
|
68
|
+
type: ContentChild,
|
|
69
|
+
args: ['filterItemTemplate']
|
|
70
|
+
}], filterTemplate: [{
|
|
71
|
+
type: ContentChild,
|
|
72
|
+
args: ['filterTemplate']
|
|
73
|
+
}], commandsTemplate: [{
|
|
74
|
+
type: ContentChild,
|
|
75
|
+
args: ['commandsTemplate']
|
|
76
|
+
}], editTemplate: [{
|
|
77
|
+
type: ContentChild,
|
|
78
|
+
args: ['editTemplate']
|
|
79
|
+
}] } });
|
|
80
|
+
/**
|
|
81
|
+
* Column Array Directive
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
export class ColumnsDirective extends ArrayBase {
|
|
85
|
+
constructor() {
|
|
86
|
+
super('columns');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
ColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
90
|
+
ColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ColumnsDirective, selector: "ejs-treegrid>e-columns", queries: [{ propertyName: "children", predicate: ColumnDirective }], usesInheritance: true, ngImport: i0 });
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ColumnsDirective, decorators: [{
|
|
92
|
+
type: Directive,
|
|
93
|
+
args: [{
|
|
94
|
+
selector: 'ejs-treegrid>e-columns',
|
|
95
|
+
queries: {
|
|
96
|
+
children: new ContentChildren(ColumnDirective)
|
|
97
|
+
},
|
|
98
|
+
}]
|
|
99
|
+
}], ctorParameters: function () { return []; } });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJlZWdyaWQvY29sdW1ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVyRSxJQUFJLEtBQUssR0FBYSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4cEIsSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO0FBQzNCOzs7Ozs7Ozs7OztHQVdHO0FBU0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBNEI7SUF5VDdELFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFyVDlDLFNBQUksR0FBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBdVRoQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOzs0R0E5VFEsZUFBZTtnR0FBZixlQUFlLHMzREFIVyx1QkFBdUI7QUE4UjFEO0lBREMsUUFBUSxFQUFFO2lEQUNVO0FBUXJCO0lBREMsUUFBUSxFQUFFO3VEQUNnQjtBQUczQjtJQURDLFFBQVEsRUFBRTs0REFDcUI7QUFPaEM7SUFEQyxRQUFRLEVBQUU7dURBQ2dCO0FBRzNCO0lBREMsUUFBUSxFQUFFO3lEQUNrQjtBQU83QjtJQURDLFFBQVEsRUFBRTtxREFDYzsyRkF2VGhCLGVBQWU7a0JBUjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCxZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsdUJBQXVCLENBQUM7cUJBQzFEO2lCQUNKO3VHQTRSVSxRQUFRO3NCQUZkLFlBQVk7dUJBQUMsVUFBVTtnQkFVakIsY0FBYztzQkFGcEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBS3ZCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBUzNCLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUt2QixnQkFBZ0I7c0JBRnRCLFlBQVk7dUJBQUMsa0JBQWtCO2dCQVN6QixZQUFZO3NCQUZsQixZQUFZO3VCQUFDLGNBQWM7O0FBWWhDOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUEyQjtJQUM3RDtRQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDOzs2R0FIUSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix1RkFIUyxlQUFlOzJGQUd4QyxnQkFBZ0I7a0JBTjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUM7cUJBQ2pEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBTdGFja2VkQ29sdW1uc0RpcmVjdGl2ZSB9IGZyb20gJy4vc3RhY2tlZC1jb2x1bW4uZGlyZWN0aXZlJztcblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWxsb3dFZGl0aW5nJywgJ2FsbG93RmlsdGVyaW5nJywgJ2FsbG93UmVvcmRlcmluZycsICdhbGxvd1Jlc2l6aW5nJywgJ2FsbG93U29ydGluZycsICdjbGlwTW9kZScsICdjb2x1bW5zJywgJ2NvbW1hbmRzJywgJ2N1c3RvbUF0dHJpYnV0ZXMnLCAnZGVmYXVsdFZhbHVlJywgJ2Rpc2FibGVIdG1sRW5jb2RlJywgJ2Rpc3BsYXlBc0NoZWNrQm94JywgJ2VkaXQnLCAnZWRpdFRlbXBsYXRlJywgJ2VkaXRUeXBlJywgJ2ZpZWxkJywgJ2ZpbHRlcicsICdmaWx0ZXJCYXJUZW1wbGF0ZScsICdmaWx0ZXJUZW1wbGF0ZScsICdmb3JtYXQnLCAnZm9ybWF0dGVyJywgJ2ZyZWV6ZScsICdoZWFkZXJUZW1wbGF0ZScsICdoZWFkZXJUZXh0JywgJ2hlYWRlclRleHRBbGlnbicsICdoaWRlQXRNZWRpYScsICdpc0Zyb3plbicsICdpc0lkZW50aXR5JywgJ2lzUHJpbWFyeUtleScsICdsb2NrQ29sdW1uJywgJ21heFdpZHRoJywgJ21pbldpZHRoJywgJ3Nob3dDaGVja2JveCcsICdzaG93Q29sdW1uTWVudScsICdzaG93SW5Db2x1bW5DaG9vc2VyJywgJ3NvcnRDb21wYXJlcicsICd0ZW1wbGF0ZScsICd0ZXh0QWxpZ24nLCAndHlwZScsICd1aWQnLCAndmFsaWRhdGlvblJ1bGVzJywgJ3ZhbHVlQWNjZXNzb3InLCAndmlzaWJsZScsICd3aWR0aCddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWNvbHVtbmAgZGlyZWN0aXZlIHJlcHJlc2VudCBhIGNvbHVtbiBvZiB0aGUgQW5ndWxhciBUcmVlR3JpZC4gXG4gKiBJdCBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIFRyZWVHcmlkIGNvbXBvbmVudChgZWpzLXRyZWVncmlkYCkuIFxuICogYGBgaHRtbFxuICogPGVqcy10cmVlZ3JpZCBbZGF0YVNvdXJjZV09J2RhdGEnIGFsbG93UGFnaW5nPSd0cnVlJyBhbGxvd1NvcnRpbmc9J3RydWUnPiBcbiAqICAgPGUtY29sdW1ucz5cbiAqICAgIDxlLWNvbHVtbiBmaWVsZD0nSUQnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgICA8ZS1jb2x1bW4gZmllbGQ9J25hbWUnIGhlYWRlclRleHQ9J05hbWUnIHdpZHRoPScxMDAnPjwvZS1jb2x1bW4+XG4gKiAgIDwvZS1jb2x1bW5zPlxuICogPC9lanMtdHJlZWdyaWQ+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtdHJlZWdyaWQ+ZS1jb2x1bW5zPmUtY29sdW1uJyxcbiAgICBpbnB1dHM6IGlucHV0LFxuICAgIG91dHB1dHM6IG91dHB1dHMsICAgIFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRDb2x1bW5zOiBuZXcgQ29udGVudENoaWxkKFN0YWNrZWRDb2x1bW5zRGlyZWN0aXZlKVxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8Q29sdW1uRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuICAgIHB1YmxpYyBjaGlsZENvbHVtbnM6IGFueTtcbiAgICBwdWJsaWMgdGFnczogc3RyaW5nW10gPSBbJ2NvbHVtbnMnXTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgdHlwZSBvZiBkYXRhIHN0b3JlZCBpbiB0aGUgY29sdW1uLCB3aGljaCBtYXkgYmUgc3RyaW5nLCBudW1iZXIsIGRhdGUsIG9yIG90aGVyIHR5cGVzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDb250cm9scyB3aGV0aGVyIGVkaXRpbmcgaXMgcGVybWl0dGVkIGZvciB0aGUgY29sdW1uLiBCeSBkZWZhdWx0LCBhbGwgY29sdW1ucyBhcmUgZWRpdGFibGUuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBhbGxvd0VkaXRpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogQ29udHJvbHMgd2hldGhlciB0aGUgY29sdW1uIHN1cHBvcnRzIGZpbHRlcmluZy4gSWYgc2V0IHRvIGZhbHNlLCB1c2VycyBjYW5ub3QgZmlsdGVyIGRhdGEgYnkgdGhpcyBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBhbGxvd0ZpbHRlcmluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSByZW9yZGVyaW5nIG9mIHRoaXMgY29sdW1uIHZpYSBkcmFnLWFuZC1kcm9wLiBBbGxvd3MgZm9yIGR5bmFtaWMgY29sdW1uIGFkanVzdG1lbnRzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWxsb3dSZW9yZGVyaW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERldGVybWluZXMgaWYgdGhpcyBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQuIElmIGZhbHNlLCB0aGUgY29sdW1uIHNpemUgaXMgZml4ZWQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBhbGxvd1Jlc2l6aW5nOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIHNvcnRpbmcgaXMgZW5hYmxlZCBmb3IgdGhpcyBjb2x1bW4uIFNldCB0byBmYWxzZSB0byBwcmV2ZW50IHNvcnQgYWN0aW9ucy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93U29ydGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZXRlcm1pbmVzIGhvdyBvdmVyZmxvdyBjb250ZW50IGlzIGhhbmRsZWQgd2l0aGluIGEgY2VsbC4gT3B0aW9ucyBpbmNsdWRlOiBcbiAgICAgKiAqIGBDbGlwYDogVHJ1bmNhdGVzIHRoZSBjb250ZW50LiBcbiAgICAgKiAqIGBFbGxpcHNpc2A6IFNob3dzIGVsbGlwc2lzIGZvciBvdmVyZmxvdy4gXG4gICAgICogKiBgRWxsaXBzaXNXaXRoVG9vbHRpcGA6IFNob3dzIGVsbGlwc2lzIGFuZCB0b29sdGlwIG9uIGhvdmVyLlxuICAgICAqIEBkZWZhdWx0IFN5bmNmdXNpb24uRUoyLkdyaWRzLkNsaXBNb2RlLkVsbGlwc2lzXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLkdyaWRzLkNsaXBNb2RlXG4gICAgICovXG4gICAgcHVibGljIGNsaXBNb2RlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyBmb3IgdGhlIGNyZWF0aW9uIG9mIHN0YWNrZWQgaGVhZGVycyBieSB1c2luZyBtdWx0aXBsZSByb3dzIGluIHRoZSBncmlkJ3MgaGVhZGVyLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sdW1uczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBQcm92aWRlcyBidWlsdC1pbiBjb21tYW5kIGJ1dHRvbiBvcHRpb25zIGZvciBjZWxscy4gT3B0aW9ucyBpbmNsdWRlIEVkaXQsIERlbGV0ZSwgU2F2ZSwgYW5kIENhbmNlbC4gXG4gICAgICogQ3VzdG9tIGNvbW1hbmQgYnV0dG9uIGltcGxlbWVudGF0aW9ucyBhcmUgcG9zc2libGUuXG4gICAgICogXG4gICAgICogVGhlIGZvbGxvd2luZyBjb2RlIGV4YW1wbGUgaW1wbGVtZW50cyB0aGUgY3VzdG9tIGNvbW1hbmQgY29sdW1uLlxuICAgICAqYGBgaHRtbFxuICAgICAqPHN0eWxlIHR5cGU9XCJ0ZXh0L2Nzc1wiIGNsYXNzPVwiY3NzU3R5bGVzXCI+XG4gICAgICouZGV0YWlscy1pY29uOmJlZm9yZVxuICAgICAqe1xuICAgICAqICAgY29udGVudDpcIlxcZTc0ZFwiO1xuICAgICAqfVxuICAgICAqPC9zdHlsZT5cbiAgICAgKjxkaXYgaWQ9XCJUcmVlR3JpZFwiPjwvZGl2PlxuICAgICAqYGBgXG4gICAgICpgYGB0eXBlc2NyaXB0XG4gICAgICp2YXIgZ3JpZE9iaiA9IG5ldyBUcmVlR3JpZCh7XG4gICAgICpkYXRhc291cmNlOiB3aW5kb3cuZ3JpZERhdGEsXG4gICAgICpjb2x1bW5zIDogW1xuICAgICAqIHsgZmllbGQ6ICdDdXN0b21lcklEJywgaGVhZGVyVGV4dDogJ0N1c3RvbWVyIElEJyB9LFxuICAgICAqIHsgZmllbGQ6ICdDdXN0b21lck5hbWUnLCBoZWFkZXJUZXh0OiAnQ3VzdG9tZXIgTmFtZScgfSxcbiAgICAgKiB7Y29tbWFuZHM6IFt7YnV0dG9uT3B0aW9uOntjb250ZW50OiAnRGV0YWlscycsIGNsaWNrOiBvbkNsaWNrLCBjc3NDbGFzczogZGV0YWlscy1pY29ufX1dLCBoZWFkZXJUZXh0OiAnQ3VzdG9tZXIgRGV0YWlscyd9XG4gICAgICpdXG4gICAgICpncmlkT2JqLmFwcGVuZFRvKFwiI1RyZWVHcmlkXCIpO1xuICAgICAqYGBgXG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgY29tbWFuZHM6IGFueTtcbiAgICAvKiogXG4gICAgICogRW5hYmxlcyB0aGUgYWRkaXRpb24gb2YgQ1NTIHN0eWxlcyBhbmQgYXR0cmlidXRlcyBmb3IgdGhlIGNvbnRlbnQgY2VsbHMgaW4gYSBwYXJ0aWN1bGFyIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbUF0dHJpYnV0ZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyBkZWZhdWx0IHZhbHVlcyB3aGVuIG5ldyByZWNvcmRzIGFyZSBhZGRlZCB0byB0aGUgVHJlZUdyaWQgaW52b2x2aW5nIHRoaXMgY29sdW1uLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBIVE1MIGNvbnRlbnQgd2l0aGluIGhlYWRlciBhbmQgY29udGVudCBjZWxscyBpcyBlbmNvZGVkIHRvIHByZXZlbnQgaW5qZWN0aW9uIGF0dGFja3MuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNhYmxlSHRtbEVuY29kZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEaXNwbGF5cyB0aGUgY29sdW1uIHZhbHVlIGFzIGEgY2hlY2tib3ggaW5zdGVhZCBvZiBhIEJvb2xlYW4gdmFsdWUgd2hlbiBzZXQgdG8gYHRydWVgLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlBc0NoZWNrQm94OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyBjdXN0b21pemluZyB0aGUgZGVmYXVsdCBlZGl0IGNlbGwgdGhyb3VnaCB0aGUgYElFZGl0Q2VsbGAgb2JqZWN0IGZvciBtb3JlIGNvbnRyb2wgb3ZlciBlZGl0aW5nLlxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICovXG4gICAgcHVibGljIGVkaXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjb21wb25lbnQgdHlwZSB1c2VkIGZvciBlZGl0aW5nIGNlbGxzIHdpdGhpbiB0aGlzIGNvbHVtbi5cbiAgICAgKiBAZGVmYXVsdCAnc3RyaW5nZWRpdCdcbiAgICAgKi9cbiAgICBwdWJsaWMgZWRpdFR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBmaWVsZCBuYW1lIGluIHRoZSBkYXRhIHNvdXJjZSB0byB3aGljaCB0aGUgY29sdW1uIGlzIGJvdW5kLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yIG9wZXJhdGlvbnMgbGlrZSBzb3J0aW5nIGFuZCBmaWx0ZXJpbmcuIFxuICAgICAqIFRoZSBmaWVsZCBuYW1lIG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGlkZW50aWZpZXIsIGJlZ2lubmluZyB3aXRoIGEgbGV0dGVyIGFuZCBhdm9pZGluZyBzcGFjZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycy5cbiAgICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgICAqL1xuICAgIHB1YmxpYyBmaWVsZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDdXN0b21pemVzIGZpbHRlciBvcHRpb25zIGZvciB0aGUgY29sdW1uLCBlbmFibGluZyBzcGVjaWFsaXplZCBmaWx0ZXJpbmcgZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZpbHRlcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBbGxvd3MgZm9yIGEgY3VzdG9tIGNvbXBvbmVudCB3aXRoaW4gdGhlIGZpbHRlciBiYXIsIGZhY2lsaXRhdGluZyBhZHZhbmNlZCBmaWx0ZXIgaW50ZXJmYWNlcy4gXG4gICAgICogSW5jbHVkZXMgY3JlYXRlIGFuZCByZWFkIGZ1bmN0aW9ucyBmb3IgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VtZW50LlxuICAgICAqIFxuICAgICAqIGBgYGh0bWxcbiAgICAgKjxkaXYgaWQ9XCJUcmVlR3JpZFwiPjwvZGl2PlxuICAgICAqYGBgXG4gICAgICpgYGB0eXBlc2NyaXB0XG4gICAgICpsZXQgZ3JpZE9iajogVHJlZUdyaWQgPSBuZXcgVHJlZUdyaWQoe1xuICAgICAqZGF0YVNvdXJjZTogZmlsdGVyRGF0YSxcbiAgICAgKmNvbHVtbnM6IFtcbiAgICAgKiAgeyBmaWVsZDogJ09yZGVySUQnLCBoZWFkZXJUZXh0OiAnT3JkZXIgSUQnIH0sXG4gICAgICogIHtcbiAgICAgKiAgICAgZmllbGQ6ICdFbXBsb3llZUlEJywgZmlsdGVyQmFyVGVtcGxhdGU6IHtcbiAgICAgKiAgICAgICAgY3JlYXRlOiAoYXJnczogeyBlbGVtZW50OiBFbGVtZW50LCBjb2x1bW46IENvbHVtbiB9KSA9PiB7XG4gICAgICogICAgICAgICAgICAgbGV0IGlucHV0OiBIVE1MSW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgKiAgICAgICAgICAgICBpbnB1dC5pZCA9ICdFbXBsb3llZUlEJztcbiAgICAgKiAgICAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xuICAgICAqICAgICAgICAgICAgIHJldHVybiBpbnB1dDtcbiAgICAgKiAgICAgICAgfSxcbiAgICAgKiAgICAgICAgd3JpdGU6IChhcmdzOiB7IGVsZW1lbnQ6IEVsZW1lbnQsIGNvbHVtbjogQ29sdW1uIH0pID0+IHtcbiAgICAgKiAgICAgICAgICAgIGFyZ3MuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGFyZ3MuY29sdW1uLmZpbHRlckJhclRlbXBsYXRlLnJlYWQgYXMgRXZlbnRMaXN0ZW5lcik7XG4gICAgICogICAgICAgIH0sXG4gICAgICogICAgICAgIHJlYWQ6IChhcmdzOiB7IGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQsIGNvbHVtbkluZGV4OiBudW1iZXIsIGNvbHVtbjogQ29sdW1uIH0pID0+IHtcbiAgICAgKiAgICAgICAgICAgIGdyaWRPYmouZmlsdGVyQnlDb2x1bW4oYXJncy5lbGVtZW50LmlkLCAnZXF1YWwnLCBhcmdzLmVsZW1lbnQudmFsdWUpO1xuICAgICAqICAgICAgIH1cbiAgICAgKiAgICB9XG4gICAgICp9XSxcbiAgICAgKiAgYWxsb3dGaWx0ZXJpbmc6IHRydWVcbiAgICAgKn0pO1xuICAgICAqZ3JpZE9iai5hcHBlbmRUbygnI1RyZWVHcmlkJyk7XG4gICAgICpgYGBcbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmaWx0ZXJCYXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBGb3JtYXRzIHRoZSBkaXNwbGF5ZWQgdmFsdWUgb2YgdGhlIGNvbHVtbiB3aXRob3V0IGFmZmVjdGluZyB0aGUgdW5kZXJseWluZyBkYXRhLiBTdXBwb3J0cyBzdGFuZGFyZCBhbmQgY3VzdG9tIGZvcm1hdHMgZm9yIG51bWJlcnMgYW5kIGRhdGVzLlxuICAgICAqIFxuICAgICAqIFJlZmVyZW5jZXMgZm9yIFtudW1iZXJdKGh0dHBzOi8vZWoyLnN5bmNmdXNpb24uY29tL2RvY3VtZW50YXRpb24vY29tbW9uL2ludGVybmF0aW9uYWxpemF0aW9uLyNzdXBwb3J0ZWQtZm9ybWF0LXN0cmluZylcbiAgICAgKmFuZCBbZGF0ZV0oaHR0cHM6Ly9lajIuc3luY2Z1c2lvbi5jb20vZG9jdW1lbnRhdGlvbi9jb21tb24vaW50ZXJuYXRpb25hbGl6YXRpb24jZGF0ZS1mb3JtYXR0aW5nKSBmb3JtYXRzLiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIGZvciBjdXN0b20gY2VsbCBjb250ZW50IGZvcm1hdHRpbmcgdXNpbmcgYW4gZXh0ZXJuYWwgbWV0aG9kLCBleGVjdXRlZCBwcmlvciB0byByZW5kZXJpbmcuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXR0ZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogRGV0ZXJtaW5lcyB3aGljaCBzaWRlIChsZWZ0LCByaWdodCwgb3IgY2VudGVyKSB0aGUgY29sdW1uIHNob3VsZCBiZSBmcm96ZW4gb24uXG4gICAgICogQGRlZmF1bHQgU3luY2Z1c2lvbi5FSjIuR3JpZHMuRnJlZXplRGlyZWN0aW9uLk5vbmVcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICogQGFzcHR5cGUgU3luY2Z1c2lvbi5FSjIuR3JpZHMuRnJlZXplRGlyZWN0aW9uXG4gICAgICovXG4gICAgcHVibGljIGZyZWV6ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgZGlzcGxheWVkIGluIHRoZSBjb2x1bW4gaGVhZGVyLiBJZiBvbWl0dGVkLCB0aGUgYGZpZWxkYCB2YWx1ZSBpcyB1c2VkIGFzIHRoZSBoZWFkZXIgdGV4dC5cbiAgICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgICAqL1xuICAgIHB1YmxpYyBoZWFkZXJUZXh0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsaWducyB0aGUgdGV4dCBpbiB0aGUgY29sdW1uIGhlYWRlci4gQnkgZGVmYXVsdCwgdGhlIGFsaWdubWVudCBjb3JyZXNwb25kcyB0byBvdGhlciBjb250ZW50IGFsaWdubWVudHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLkdyaWRzLlRleHRBbGlnblxuICAgICAqL1xuICAgIHB1YmxpYyBoZWFkZXJUZXh0QWxpZ246IGFueTtcbiAgICAvKiogXG4gICAgICogQWRqdXN0cyBjb2x1bW4gdmlzaWJpbGl0eSBiYXNlZCBvbiBbTWVkaWEgUXVlcmllc10oaHR0cDovL2Nzc21lZGlhcXVlcmllcy5jb20vd2hhdC1hcmUtY3NzLW1lZGlhLXF1ZXJpZXMuaHRtbCkuIEFjY2VwdHMgdmFsaWQgQ1NTIG1lZGlhIHF1ZXJ5IHN0cmluZ3MgZm9yIHJlc3BvbnNpdmUgYWRqdXN0bWVudHMuXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZUF0TWVkaWE6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIHRoZSBjb2x1bW4gdG8gYmUgZnJvemVuLCBrZWVwaW5nIGl0IHN0YXRpb25hcnkgd2hpbGUgc2Nyb2xsaW5nIGhvcml6b250YWxseSB0aHJvdWdoIHRoZSBncmlkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGlzRnJvemVuOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIElkZW50aWZpZXMgdGhlIGNvbHVtbiBhcyBhbiBpZGVudGl0eSBjb2x1bW4gaW4gZGF0YWJhc2UgdGVybXMsIGlmIHNldCB0byBgdHJ1ZWAuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJZGVudGl0eTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZGVudGlmaWVzIHRoZSBjb2x1bW4gYXMgYSBwcmltYXJ5IGtleSBpZiBzZXQgdG8gYHRydWVgLCBlbmZvcmNpbmcgdW5pcXVlbmVzcy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc1ByaW1hcnlLZXk6IGFueTtcbiAgICAvKiogXG4gICAgICogUHJldmVudHMgY29sdW1uIHJlb3JkZXJpbmcgd2hlbiBzZXQgdG8gdHJ1ZSwgbG9ja2luZyB0aGUgY29sdW1uIGludG8gYSBzZXQgcG9zaXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9ja0NvbHVtbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBtYXhpbXVtIGFsbG93YWJsZSB3aWR0aCBvZiB0aGUgY29sdW1uIGluIHBpeGVscyBvciBhcyBhIHBlcmNlbnRhZ2UsIHByZXZlbnRpbmcgcmVzaXppbmcgYmV5b25kIHRoaXMgbGltaXQuXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgbWF4V2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogRGV0ZXJtaW5lcyB0aGUgbWluaW11bSB3aWR0aCBvZiB0aGUgY29sdW1uIGluIHBpeGVscyBvciBwZXJjZW50YWdlLiBUaGlzIGVuc3VyZXMgdGhlIGNvbHVtbiBkb2VzIG5vdCBzaHJpbmsgYmVsb3cgdGhpcyBzaXplLlxuICAgICAqIEBkZWZhdWx0ICd1bmRlZmluZWQnXG4gICAgICovXG4gICAgcHVibGljIG1pbldpZHRoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERpc3BsYXlzIGNoZWNrYm94ZXMgaW4gdGhlIGNvbHVtbiB3aGVuIGVuYWJsZWQsIGFsbG93aW5nIGZvciBzZWxlY3Rpb25zIGFuZCBjZXJ0YWluIG9wZXJhdGlvbnMuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0NoZWNrYm94OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlY2lkZXMgaWYgdGhlIGNvbHVtbiBtZW51IHNob3VsZCBiZSBhdmFpbGFibGUsIHByb3ZpZGluZyBvcHRpb25zIGZvciBjb2x1bW4gY3VzdG9taXphdGlvbi5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dDb2x1bW5NZW51OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgY29sdW1uIHNob3VsZCBhcHBlYXIgaW4gdGhlIENvbHVtbiBDaG9vc2VyLiBTZXQgdG8gZmFsc2UgdG8gZXhjbHVkZSBpdC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dJbkNvbHVtbkNob29zZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogUHJvdmlkZXMgYSBjdXN0b20gc29ydCBjb21wYXJlciBwcm9wZXJ0eSB0byBjb250cm9sIGhvdyBzb3J0aW5nIGlzIGhhbmRsZWQgZm9yIHRoaXMgY29sdW1uJ3MgZGF0YS5cbiAgICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgICAqL1xuICAgIHB1YmxpYyBzb3J0Q29tcGFyZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBob3Jpem9udGFsIGFsaWdubWVudCBmb3IgdGhlIGNvbHVtbiBjb250ZW50IGFuZCBoZWFkZXIuIE9wdGlvbnMgaW5jbHVkZSBhbGlnbm1lbnQgdG8gdGhlIGxlZnQsIGNlbnRlciwgb3IgcmlnaHQuXG4gICAgICogQGRlZmF1bHQgU3luY2Z1c2lvbi5FSjIuR3JpZHMuVGV4dEFsaWduLkxlZnRcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICogQGFzcHR5cGUgU3luY2Z1c2lvbi5FSjIuR3JpZHMuVGV4dEFsaWduXG4gICAgICovXG4gICAgcHVibGljIHRleHRBbGlnbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29sdW1uLiBUaGlzIFVJRCBpcyB1c2VkIGludGVybmFsbHkgdG8gcmVmZXJlbmNlIGFuZCBtYW5pcHVsYXRlIHRoZSBjb2x1bW4uXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgdWlkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEVzdGFibGlzaGVzIHZhbGlkYXRpb24gcnVsZXMgdG8gZW5zdXJlIGRhdGEgaW50ZWdyaXR5IGR1cmluZyBjcmVhdGlvbiBhbmQgdXBkYXRlcy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRpb25SdWxlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBcHBsaWVzIGN1c3RvbSBjZWxsIHZhbHVlcyB1c2luZyBhbiBleHRlcm5hbCBmdW5jdGlvbiwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZGlzcGxheSBhZGp1c3RtZW50cy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHZhbHVlQWNjZXNzb3I6IGFueTtcbiAgICAvKiogXG4gICAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY29sdW1uLiBTZXQgdG8gZmFsc2UgdG8gaGlkZSB0aGUgY29sdW1uIGZyb20gdmlldy4gQ29sdW1ucyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgdmlzaWJsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBjb2x1bW4ncyB3aWR0aCBpbiBwaXhlbHMgb3IgYXMgYSBwZXJjZW50YWdlLiBUaGlzIGRlZmluZXMgaG93IHRoZSBjb2x1bW4gd2lsbCBvY2N1cHkgc3BhY2UgaW4gdGhlIGdyaWQuXG4gICAgICogQGRlZmF1bHQgJ3VuZGVmaW5lZCdcbiAgICAgKi9cbiAgICBwdWJsaWMgd2lkdGg6IGFueTtcbiAgICAvKiogXG4gICAgICogQ3VzdG9taXplcyB0aGUgcmVuZGVyaW5nIG9mIGNlbGwgY29udGVudCB1c2luZyBlaXRoZXIgYSB0ZW1wbGF0ZSBzdHJpbmcgb3IgSFRNTCBlbGVtZW50IElELlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCd0ZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogQ3VzdG9taXplcyB0aGUgaGVhZGVyIGNvbnRlbnQgd2l0aCBhIHRlbXBsYXRlLCBkZWZpbmVkIGFzIGEgc3RyaW5nIG9yIGFuIEhUTUwgZWxlbWVudCBJRC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZmlsdGVySXRlbVRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmaWx0ZXJfaXRlbVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBhIGN1c3RvbSB0ZW1wbGF0ZSBvciBVSSBmb3IgZmlsdGVyaW5nIHdpdGhpbiB0aGlzIGNvbHVtbiwgdXRpbGl6aW5nIGVpdGhlciBzdHJpbmcgdGVtcGxhdGVzIG9yIEhUTUwgZWxlbWVudCBJRHMuXG4gICAgICogQGFzcGlnbm9yZSBcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdmaWx0ZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZmlsdGVyVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdjb21tYW5kc1RlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBjb21tYW5kc1RlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFByb3ZpZGVzIGEgdGVtcGxhdGUgZm9yIGVkaXRpbmcgY2VsbHMgaW4gdGhpcyBjb2x1bW4sIHN1cHBvcnRpbmcgZWl0aGVyIGEgdGVtcGxhdGUgc3RyaW5nIG9yIGFuIEhUTUwgZWxlbWVudCBJRC5cbiAgICAgKiBAYXNwaWdub3JlIFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZWRpdFRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb2x1bW4gQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy10cmVlZ3JpZD5lLWNvbHVtbnMnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oQ29sdW1uRGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbnNEaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8Q29sdW1uc0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignY29sdW1ucycpO1xuICAgIH1cbn0iXX0=
|