@sd-angular/core 0.0.938 → 0.0.942
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/sd-angular-core-grid-material.umd.js +35 -9
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/esm2015/grid-material/sd-angular-core-grid-material.js +2 -1
- package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +3 -2
- package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +2 -1
- package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +2 -1
- package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +1 -1
- package/esm2015/grid-material/src/lib/grid-material.component.js +6 -2
- package/esm2015/grid-material/src/lib/grid-material.module.js +7 -3
- package/esm2015/grid-material/src/lib/models/grid-option.model.js +1 -1
- package/esm2015/grid-material/src/lib/models/grid-style.model.js +2 -0
- package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
- package/esm2015/grid-material/src/lib/pipes/editor-handler-column.pipe.js +3 -1
- package/esm2015/grid-material/src/lib/pipes/style-row-css.pipe.js +13 -0
- package/fesm2015/sd-angular-core-grid-material.js +37 -14
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/grid-material/sd-angular-core-grid-material.d.ts +1 -0
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/grid-material/src/lib/components/desktop-cell/desktop-cell.component.d.ts +1 -0
- package/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.d.ts +1 -0
- package/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.d.ts +1 -0
- package/grid-material/src/lib/grid-material.component.d.ts +1 -0
- package/grid-material/src/lib/models/grid-option.model.d.ts +2 -3
- package/grid-material/src/lib/models/grid-style.model.d.ts +6 -0
- package/grid-material/src/lib/models/grid.model.d.ts +1 -0
- package/grid-material/src/lib/pipes/style-row-css.pipe.d.ts +7 -0
- package/package.json +1 -1
- package/{sd-angular-core-0.0.938.tgz → sd-angular-core-0.0.942.tgz} +0 -0
|
@@ -11,6 +11,7 @@ import { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginato
|
|
|
11
11
|
import { MatTableModule } from '@angular/material/table';
|
|
12
12
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
13
13
|
import { CdkTableModule, CdkColumnDef } from '@angular/cdk/table';
|
|
14
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
14
15
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
15
16
|
import { MatMenuModule } from '@angular/material/menu';
|
|
16
17
|
import { MatSliderModule } from '@angular/material/slider';
|
|
@@ -64,6 +65,7 @@ import { SdDesktopCellEditor } from './components/desktop-cell-editor/desktop-ce
|
|
|
64
65
|
import { SdEditorHandlerRowPipe } from './pipes/editor-handler-row.pipe';
|
|
65
66
|
import { SdEditorHandlerColumnPipe } from './pipes/editor-handler-column.pipe';
|
|
66
67
|
import { SdEditorValidatePipe } from './pipes/editor-validate.pipe';
|
|
68
|
+
import { SdStyleRowCss } from './pipes/style-row-css.pipe';
|
|
67
69
|
export class MatPaginatorIntlCro extends MatPaginatorIntl {
|
|
68
70
|
constructor() {
|
|
69
71
|
super(...arguments);
|
|
@@ -113,7 +115,8 @@ SdGridMaterialModule.decorators = [
|
|
|
113
115
|
DragDropModule,
|
|
114
116
|
SdFormModule,
|
|
115
117
|
SdServiceModule,
|
|
116
|
-
MatSliderModule
|
|
118
|
+
MatSliderModule,
|
|
119
|
+
ScrollingModule
|
|
117
120
|
],
|
|
118
121
|
declarations: [
|
|
119
122
|
SdDesktopCell,
|
|
@@ -153,7 +156,8 @@ SdGridMaterialModule.decorators = [
|
|
|
153
156
|
SdSelectionDisableSelectAllPipe,
|
|
154
157
|
SdEditorHandlerRowPipe,
|
|
155
158
|
SdEditorHandlerColumnPipe,
|
|
156
|
-
SdEditorValidatePipe
|
|
159
|
+
SdEditorValidatePipe,
|
|
160
|
+
SdStyleRowCss
|
|
157
161
|
],
|
|
158
162
|
exports: [
|
|
159
163
|
SdGridMaterial,
|
|
@@ -177,4 +181,4 @@ SdGridMaterialModule.decorators = [
|
|
|
177
181
|
]
|
|
178
182
|
},] }
|
|
179
183
|
];
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1tYXRlcmlhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9ncmlkLW1hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0Is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QjtvQkFDeEIscUJBQXFCO29CQUNyQixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixvQkFBb0I7b0JBQ3BCLDJCQUEyQjtvQkFDM0Isc0JBQXNCO29CQUN0QiwrQkFBK0I7b0JBQy9CLHNCQUFzQjtvQkFDdEIseUJBQXlCO29CQUN6QixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLDRCQUE0QjtvQkFDNUIsMEJBQTBCO29CQUMxQiw0QkFBNEI7b0JBQzVCLCtCQUErQjtvQkFDL0Isb0NBQW9DO2lCQUNyQztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsUUFBUTtvQkFDUixXQUFXO29CQUNYLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLDBCQUEwQjtvQkFDMUIsd0JBQXdCO29CQUN4Qjt3QkFDRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQjtxQkFDekQ7aUJBQ0Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvdHlwaW5nJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWwgfSBmcm9tICcuL2dyaWQtbWF0ZXJpYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JJbnRsLCBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IENka1RhYmxlTW9kdWxlLCBDZGtDb2x1bW5EZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IFNkQ29tbWFuZEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmREaXNhYmxlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1kaXNhYmxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRJY29uUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1pY29uLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRUaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtdGl0bGUucGlwZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFNkQ29sdW1uVmFsdWVzUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXZhbHVlcy5waXBlJztcclxuaW1wb3J0IHsgU2RDb2x1bW5IdG1sVGVtcGxhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4taHRtbC10ZW1wbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ2VsbFZpZXcgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLXZpZXcvZGVza3RvcC1jZWxsLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RDb2x1bW5UcmFuc2Zvcm1QaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tdHJhbnNmb3JtLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlcnZpY2VNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbENlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtY2VsbC1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBTZEZpbHRlckV4dGVybmFsUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLWV4dGVybmFsLnBpcGUnO1xyXG5pbXBvcnQgeyBTZEZpbHRlckNvbHVtblBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1jb2x1bW4ucGlwZSc7XHJcbmltcG9ydCB7IFNkR3JpZEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLWZpbHRlci9ncmlkLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFBvcHVwRmlsdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcHVwLWZpbHRlci9wb3B1cC1maWx0ZXIuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFNkR3JpZEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyaWQtZmlsdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsQ2hpbGRyZW5WaWV3IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC1jaGlsZHJlbi12aWV3L2Rlc2t0b3AtY2VsbC1jaGlsZHJlbi12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkQ29sdW1uQ2hpbGRyZW5GaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tY2hpbGRyZW4tZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbHVtblRpdGxlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRpdGxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDb21tYW5kIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY29tbWFuZC9kZXNrdG9wLWNvbW1hbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbEZpbHRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1tYXRlcmlhbC1maWx0ZXItZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtZm9vdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtc3ViLWluZm9ybWF0aW9uLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZEZvcm1Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2Zvcm0nO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsRW1wdHlEYXRhRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWVtcHR5LWRhdGEtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBTZENvbHVtbkJhZGdlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLWJhZGdlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZExldERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1sZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdFBpcGUgfSBmcm9tICcuL3BpcGVzL2dyaWQtY29uZmlndXJhdGlvbi1yZXN1bHQucGlwZSc7XHJcbmltcG9ydCB7IFNkUG9wdXBFeHBvcnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wdXAtZXhwb3J0L3BvcHVwLWV4cG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFBvcHVwR3JpZENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wdXAtZ3JpZC1jb25maWd1cmF0aW9uL3BvcHVwLWdyaWQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWRDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ3JpZC1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgU2RDb2x1bW5Ub29sdGlwUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRvb2x0aXAucGlwZSc7XHJcbmltcG9ydCB7IFNkR3JpZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyaWQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0aW9uLWFjdGlvbi1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uRGlzYWJsZVBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbGVjdGlvbi1kaXNhYmxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlbGVjdGlvbkRpc2FibGVTZWxlY3RBbGxQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3Rpb24tZGlzYWJsZS1zZWxlY3QtYWxsLnBpcGUnO1xyXG5pbXBvcnQgeyBTZER5bmFtaWNDb2x1bW4gfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1jb2x1bW4vZHluYW1pYy1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHZW5lcmF0ZWRDb2x1bW5TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9nZW5lcmF0ZWQtY29sdW1uL2dlbmVyYXRlZC1jb2x1bW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFNkRGVza3RvcENlbGwgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsL2Rlc2t0b3AtY2VsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsRWRpdG9yIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC1lZGl0b3IvZGVza3RvcC1jZWxsLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEVkaXRvckhhbmRsZXJSb3dQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3ItaGFuZGxlci1yb3cucGlwZSc7XHJcbmltcG9ydCB7IFNkRWRpdG9ySGFuZGxlckNvbHVtblBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci1oYW5kbGVyLWNvbHVtbi5waXBlJztcclxuaW1wb3J0IHsgU2RFZGl0b3JWYWxpZGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci12YWxpZGF0ZS5waXBlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1hdFBhZ2luYXRvckludGxDcm8gZXh0ZW5kcyBNYXRQYWdpbmF0b3JJbnRsIHtcclxuICBmaXJzdFBhZ2VMYWJlbCA9ICdUcmFuZyDEkeG6p3UnO1xyXG4gIGxhc3RQYWdlTGFiZWwgPSAnVHJhbmcgY3Xhu5FpJztcclxuICBpdGVtc1BlclBhZ2VMYWJlbCA9ICdLw61jaCB0aMaw4bubYyB0cmFuZyc7XHJcbiAgbmV4dFBhZ2VMYWJlbCA9ICdUcmFuZyBzYXUnO1xyXG4gIHByZXZpb3VzUGFnZUxhYmVsID0gJ1RyYW5nIHRyxrDhu5tjJztcclxuXHJcbiAgZ2V0UmFuZ2VMYWJlbCA9IChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSA9PiB7XHJcbiAgICBpZiAobGVuZ3RoID09PSAwIHx8IHBhZ2VTaXplID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb20gPSBwYWdlICogcGFnZVNpemUgKyAxO1xyXG4gICAgY29uc3QgdG8gPSBmcm9tICsgKGxlbmd0aCAtIHBhZ2UgKiBwYWdlU2l6ZSA+IHBhZ2VTaXplID8gcGFnZVNpemUgOiBsZW5ndGggLSBwYWdlICogcGFnZVNpemUpIC0gMTtcclxuICAgIHJldHVybiBgJHtmcm9tfS0ke3RvfSB0csOqbiAke2xlbmd0aH1gO1xyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBDZGtUYWJsZU1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgU2RGb3JtTW9kdWxlLFxyXG4gICAgU2RTZXJ2aWNlTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNkRGVza3RvcENlbGwsXHJcbiAgICBTZERlc2t0b3BDZWxsRWRpdG9yLFxyXG4gICAgU2REZXNrdG9wQ2VsbFZpZXcsXHJcbiAgICBTZERlc2t0b3BDZWxsQ2hpbGRyZW5WaWV3LFxyXG4gICAgU2REZXNrdG9wQ29tbWFuZCxcclxuICAgIFNkR3JpZE1hdGVyaWFsLFxyXG5cclxuICAgIFNkTGV0RGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbEZvb3RlckRlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxDZWxsRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbEZpbHRlckRlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxFbXB0eURhdGFEZWZEaXJlY3RpdmUsXHJcbiAgICBTZFBvcHVwRXhwb3J0LFxyXG4gICAgU2RQb3B1cEdyaWRDb25maWd1cmF0aW9uLFxyXG4gICAgU2RHcmlkRmlsdGVyLFxyXG4gICAgU2RQb3B1cEZpbHRlcixcclxuICAgIFNkRHluYW1pY0NvbHVtbixcclxuXHJcbiAgICAvLyBQaXBlc1xyXG4gICAgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdFBpcGUsXHJcbiAgICBTZENvbHVtbkNoaWxkcmVuRmlsdGVyUGlwZSxcclxuICAgIFNkQ29sdW1uVGl0bGVQaXBlLFxyXG4gICAgU2RDb21tYW5kRmlsdGVyUGlwZSxcclxuICAgIFNkQ29tbWFuZERpc2FibGVQaXBlLFxyXG4gICAgU2RDb21tYW5kSWNvblBpcGUsXHJcbiAgICBTZENvbW1hbmRUaXRsZVBpcGUsXHJcbiAgICBTZENvbHVtblZhbHVlc1BpcGUsXHJcbiAgICBTZENvbHVtbkh0bWxUZW1wbGF0ZVBpcGUsXHJcbiAgICBTZENvbHVtblRyYW5zZm9ybVBpcGUsXHJcbiAgICBTZENvbHVtblRvb2x0aXBQaXBlLFxyXG4gICAgU2RDb2x1bW5CYWRnZVBpcGUsXHJcbiAgICBTZEZpbHRlckNvbHVtblBpcGUsXHJcbiAgICBTZEZpbHRlckV4dGVybmFsUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uRGlzYWJsZVBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkRpc2FibGVTZWxlY3RBbGxQaXBlLFxyXG4gICAgU2RFZGl0b3JIYW5kbGVyUm93UGlwZSxcclxuICAgIFNkRWRpdG9ySGFuZGxlckNvbHVtblBpcGUsXHJcbiAgICBTZEVkaXRvclZhbGlkYXRlUGlwZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RHcmlkTWF0ZXJpYWwsXHJcbiAgICBTZE1hdGVyaWFsRm9vdGVyRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbENlbGxEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsRmlsdGVyRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbEVtcHR5RGF0YURlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEYXRlUGlwZSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gICAgQ2RrQ29sdW1uRGVmLFxyXG4gICAgU2RHcmlkU2VydmljZSxcclxuICAgIFNkR3JpZEZpbHRlclNlcnZpY2UsXHJcbiAgICBTZEdyaWRDb25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIFNkR2VuZXJhdGVkQ29sdW1uU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCwgdXNlQ2xhc3M6IE1hdFBhZ2luYXRvckludGxDcm9cclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEdyaWRNYXRlcmlhbE1vZHVsZSB7XHJcbn1cclxuIl19
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1tYXRlcmlhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9ncmlkLW1hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0Is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O29CQUMxQixpQkFBaUI7b0JBQ2pCLG1CQUFtQjtvQkFDbkIsb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsa0JBQWtCO29CQUNsQix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtvQkFDckIsbUJBQW1CO29CQUNuQixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQiwyQkFBMkI7b0JBQzNCLHNCQUFzQjtvQkFDdEIsK0JBQStCO29CQUMvQixzQkFBc0I7b0JBQ3RCLHlCQUF5QjtvQkFDekIsb0JBQW9CO29CQUNwQixhQUFhO2lCQUNkO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLDRCQUE0QjtvQkFDNUIsMEJBQTBCO29CQUMxQiw0QkFBNEI7b0JBQzVCLCtCQUErQjtvQkFDL0Isb0NBQW9DO2lCQUNyQztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsUUFBUTtvQkFDUixXQUFXO29CQUNYLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLDBCQUEwQjtvQkFDMUIsd0JBQXdCO29CQUN4Qjt3QkFDRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQjtxQkFDekQ7aUJBQ0Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvdHlwaW5nJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWwgfSBmcm9tICcuL2dyaWQtbWF0ZXJpYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JJbnRsLCBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IENka1RhYmxlTW9kdWxlLCBDZGtDb2x1bW5EZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRGaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgU2RDb21tYW5kRGlzYWJsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtZGlzYWJsZS5waXBlJztcclxuaW1wb3J0IHsgU2RDb21tYW5kSWNvblBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtaWNvbi5waXBlJztcclxuaW1wb3J0IHsgU2RDb21tYW5kVGl0bGVQaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLXRpdGxlLnBpcGUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBTZENvbHVtblZhbHVlc1BpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi12YWx1ZXMucGlwZSc7XHJcbmltcG9ydCB7IFNkQ29sdW1uSHRtbFRlbXBsYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLWh0bWwtdGVtcGxhdGUucGlwZSc7XHJcbmltcG9ydCB7IFNkRGVza3RvcENlbGxWaWV3IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC12aWV3L2Rlc2t0b3AtY2VsbC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkQ29sdW1uVHJhbnNmb3JtUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRyYW5zZm9ybS5waXBlJztcclxuaW1wb3J0IHsgU2RTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgU2RGaWx0ZXJFeHRlcm5hbFBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1leHRlcm5hbC5waXBlJztcclxuaW1wb3J0IHsgU2RGaWx0ZXJDb2x1bW5QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItY29sdW1uLnBpcGUnO1xyXG5pbXBvcnQgeyBTZEdyaWRGaWx0ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1maWx0ZXIvZ3JpZC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RQb3B1cEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9wb3B1cC1maWx0ZXIvcG9wdXAtZmlsdGVyLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBTZEdyaWRGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ncmlkLWZpbHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ2VsbENoaWxkcmVuVmlldyB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNrdG9wLWNlbGwtY2hpbGRyZW4tdmlldy9kZXNrdG9wLWNlbGwtY2hpbGRyZW4tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZENvbHVtbkNoaWxkcmVuRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLWNoaWxkcmVuLWZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgU2RDb2x1bW5UaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi10aXRsZS5waXBlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ29tbWFuZCB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNrdG9wLWNvbW1hbmQvZGVza3RvcC1jb21tYW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtZmlsdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsRm9vdGVyRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWZvb3Rlci1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbFN1YkluZm9ybWF0aW9uRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLXN1Yi1pbmZvcm1hdGlvbi1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RGb3JtTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9mb3JtJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbEVtcHR5RGF0YURlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1tYXRlcmlhbC1lbXB0eS1kYXRhLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgU2RDb2x1bW5CYWRnZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi1iYWRnZS5waXBlJztcclxuaW1wb3J0IHsgU2RMZXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbGV0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHRQaXBlIH0gZnJvbSAnLi9waXBlcy9ncmlkLWNvbmZpZ3VyYXRpb24tcmVzdWx0LnBpcGUnO1xyXG5pbXBvcnQgeyBTZFBvcHVwRXhwb3J0IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcHVwLWV4cG9ydC9wb3B1cC1leHBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RQb3B1cEdyaWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcHVwLWdyaWQtY29uZmlndXJhdGlvbi9wb3B1cC1ncmlkLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyaWQtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IFNkQ29sdW1uVG9vbHRpcFBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi10b29sdGlwLnBpcGUnO1xyXG5pbXBvcnQgeyBTZEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ncmlkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZFNlbGVjdGlvbkFjdGlvbkZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbGVjdGlvbi1hY3Rpb24tZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlbGVjdGlvbkRpc2FibGVQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3Rpb24tZGlzYWJsZS5waXBlJztcclxuaW1wb3J0IHsgU2RTZWxlY3Rpb25EaXNhYmxlU2VsZWN0QWxsUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0aW9uLWRpc2FibGUtc2VsZWN0LWFsbC5waXBlJztcclxuaW1wb3J0IHsgU2REeW5hbWljQ29sdW1uIH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtY29sdW1uL2R5bmFtaWMtY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkR2VuZXJhdGVkQ29sdW1uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ2VuZXJhdGVkLWNvbHVtbi9nZW5lcmF0ZWQtY29sdW1uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC9kZXNrdG9wLWNlbGwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ2VsbEVkaXRvciB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNrdG9wLWNlbGwtZWRpdG9yL2Rlc2t0b3AtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RFZGl0b3JIYW5kbGVyUm93UGlwZSB9IGZyb20gJy4vcGlwZXMvZWRpdG9yLWhhbmRsZXItcm93LnBpcGUnO1xyXG5pbXBvcnQgeyBTZEVkaXRvckhhbmRsZXJDb2x1bW5QaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3ItaGFuZGxlci1jb2x1bW4ucGlwZSc7XHJcbmltcG9ydCB7IFNkRWRpdG9yVmFsaWRhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3ItdmFsaWRhdGUucGlwZSc7XHJcbmltcG9ydCB7IFNkU3R5bGVSb3dDc3MgfSBmcm9tICcuL3BpcGVzL3N0eWxlLXJvdy1jc3MucGlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNYXRQYWdpbmF0b3JJbnRsQ3JvIGV4dGVuZHMgTWF0UGFnaW5hdG9ySW50bCB7XHJcbiAgZmlyc3RQYWdlTGFiZWwgPSAnVHJhbmcgxJHhuqd1JztcclxuICBsYXN0UGFnZUxhYmVsID0gJ1RyYW5nIGN14buRaSc7XHJcbiAgaXRlbXNQZXJQYWdlTGFiZWwgPSAnS8OtY2ggdGjGsOG7m2MgdHJhbmcnO1xyXG4gIG5leHRQYWdlTGFiZWwgPSAnVHJhbmcgc2F1JztcclxuICBwcmV2aW91c1BhZ2VMYWJlbCA9ICdUcmFuZyB0csaw4bubYyc7XHJcblxyXG4gIGdldFJhbmdlTGFiZWwgPSAocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBsZW5ndGg6IG51bWJlcikgPT4ge1xyXG4gICAgaWYgKGxlbmd0aCA9PT0gMCB8fCBwYWdlU2l6ZSA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmcm9tID0gcGFnZSAqIHBhZ2VTaXplICsgMTtcclxuICAgIGNvbnN0IHRvID0gZnJvbSArIChsZW5ndGggLSBwYWdlICogcGFnZVNpemUgPiBwYWdlU2l6ZSA/IHBhZ2VTaXplIDogbGVuZ3RoIC0gcGFnZSAqIHBhZ2VTaXplKSAtIDE7XHJcbiAgICByZXR1cm4gYCR7ZnJvbX0tJHt0b30gdHLDqm4gJHtsZW5ndGh9YDtcclxuICB9XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRTb3J0TW9kdWxlLFxyXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRDaGlwc01vZHVsZSxcclxuICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgQ2RrVGFibGVNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFNkRm9ybU1vZHVsZSxcclxuICAgIFNkU2VydmljZU1vZHVsZSxcclxuICAgIE1hdFNsaWRlck1vZHVsZSxcclxuICAgIFNjcm9sbGluZ01vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZERlc2t0b3BDZWxsLFxyXG4gICAgU2REZXNrdG9wQ2VsbEVkaXRvcixcclxuICAgIFNkRGVza3RvcENlbGxWaWV3LFxyXG4gICAgU2REZXNrdG9wQ2VsbENoaWxkcmVuVmlldyxcclxuICAgIFNkRGVza3RvcENvbW1hbmQsXHJcbiAgICBTZEdyaWRNYXRlcmlhbCxcclxuXHJcbiAgICBTZExldERpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsRW1wdHlEYXRhRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RQb3B1cEV4cG9ydCxcclxuICAgIFNkUG9wdXBHcmlkQ29uZmlndXJhdGlvbixcclxuICAgIFNkR3JpZEZpbHRlcixcclxuICAgIFNkUG9wdXBGaWx0ZXIsXHJcbiAgICBTZER5bmFtaWNDb2x1bW4sXHJcblxyXG4gICAgLy8gUGlwZXNcclxuICAgIFNkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHRQaXBlLFxyXG4gICAgU2RDb2x1bW5DaGlsZHJlbkZpbHRlclBpcGUsXHJcbiAgICBTZENvbHVtblRpdGxlUGlwZSxcclxuICAgIFNkQ29tbWFuZEZpbHRlclBpcGUsXHJcbiAgICBTZENvbW1hbmREaXNhYmxlUGlwZSxcclxuICAgIFNkQ29tbWFuZEljb25QaXBlLFxyXG4gICAgU2RDb21tYW5kVGl0bGVQaXBlLFxyXG4gICAgU2RDb2x1bW5WYWx1ZXNQaXBlLFxyXG4gICAgU2RDb2x1bW5IdG1sVGVtcGxhdGVQaXBlLFxyXG4gICAgU2RDb2x1bW5UcmFuc2Zvcm1QaXBlLFxyXG4gICAgU2RDb2x1bW5Ub29sdGlwUGlwZSxcclxuICAgIFNkQ29sdW1uQmFkZ2VQaXBlLFxyXG4gICAgU2RGaWx0ZXJDb2x1bW5QaXBlLFxyXG4gICAgU2RGaWx0ZXJFeHRlcm5hbFBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkFjdGlvbkZpbHRlclBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkRpc2FibGVQaXBlLFxyXG4gICAgU2RTZWxlY3Rpb25EaXNhYmxlU2VsZWN0QWxsUGlwZSxcclxuICAgIFNkRWRpdG9ySGFuZGxlclJvd1BpcGUsXHJcbiAgICBTZEVkaXRvckhhbmRsZXJDb2x1bW5QaXBlLFxyXG4gICAgU2RFZGl0b3JWYWxpZGF0ZVBpcGUsXHJcbiAgICBTZFN0eWxlUm93Q3NzXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZEdyaWRNYXRlcmlhbCxcclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsRW1wdHlEYXRhRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbFN1YkluZm9ybWF0aW9uRGVmRGlyZWN0aXZlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIERhdGVQaXBlLFxyXG4gICAgRGVjaW1hbFBpcGUsXHJcbiAgICBDZGtDb2x1bW5EZWYsXHJcbiAgICBTZEdyaWRTZXJ2aWNlLFxyXG4gICAgU2RHcmlkRmlsdGVyU2VydmljZSxcclxuICAgIFNkR3JpZENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgU2RHZW5lcmF0ZWRDb2x1bW5TZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNYXRQYWdpbmF0b3JJbnRsLCB1c2VDbGFzczogTWF0UGFnaW5hdG9ySW50bENyb1xyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkR3JpZE1hdGVyaWFsTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1vcHRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29tbWFuZCB9IGZyb20gJy4vZ3JpZC1jb21tYW5kLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxGaWx0ZXJSZXF1ZXN0LCBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbiB9IGZyb20gJy4vZ3JpZC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1leHBvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1yZWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbiB9IGZyb20gJy4vZ3JpZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uIH0gZnJvbSAnLi9ncmlkLXN1Yi1pbmZvcm1hdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsU2VsZWN0aW9uIH0gZnJvbSAnLi9ncmlkLXNlbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RFZGl0b3IgfSBmcm9tICcuL2dyaWQtZWRpdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxTdHlsZSB9IGZyb20gJy4vZ3JpZC1zdHlsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBTZEdyaWRNYXRlcmlhbE9wdGlvbjxUID0gYW55PiA9IFNkR3JpZE1hdGVyaWFsTG9jYWxPcHRpb248VD4gfCBTZEdyaWRNYXRlcmlhbFNlcnZlck9wdGlvbjxUPjtcclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VCA9IGFueT4ge1xyXG4gIHNoYWRvdz86IGJvb2xlYW47XHJcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIG1pbkhlaWdodD86IHN0cmluZztcclxuICBrZXk/OiBzdHJpbmc7XHJcbiAgc2VsZWN0aW9uPzogU2RHcmlkTWF0ZXJpYWxTZWxlY3Rpb248VD47XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIGRyb3BEcmFnQ29sdW1uRW5hYmxlPzogYm9vbGVhbjtcclxuICBwYWdpbmF0ZT86IHtcclxuICAgIHBhZ2VTaXplPzogbnVtYmVyO1xyXG4gICAgcGFnZXM/OiBudW1iZXJbXTtcclxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zPzogYm9vbGVhbjtcclxuICAgIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgfTtcclxuICBlZGl0b3I/OiBTZEVkaXRvcjxUPjtcclxuICByZWxvYWQ/OiBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbjxUPjtcclxuICBleHBvcnQ/OiBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbjxUPjtcclxuICBjb25maWc/OiBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbjxUPjtcclxuICBmaWx0ZXI/OiBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbjtcclxuICBjb21tYW5kcz86IFNkR3JpZE1hdGVyaWFsQ29tbWFuZDxUPltdO1xyXG4gIGNvbHVtbnM6IFNkR3JpZE1hdGVyaWFsQ29sdW1uPFQ+W107XHJcbiAgc3ViSW5mb3JtYXRpb24/OiBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uPFQ+O1xyXG4gIHN0eWxlPzogU2RHcmlkTWF0ZXJpYWxTdHlsZTxUPjtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsTG9jYWxPcHRpb248VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VD4ge1xyXG4gIHR5cGU6ICdsb2NhbCc7XHJcbiAgaXRlbXM6ICgoKSA9PiBUW10gfCBQcm9taXNlPFRbXT4pO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxTZXJ2ZXJPcHRpb248VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VD4ge1xyXG4gIHR5cGU6ICdzZXJ2ZXInO1xyXG4gIGl0ZW1zOiAoZmlsdGVyUmVxdWVzdDogU2RHcmlkTWF0ZXJpYWxGaWx0ZXJSZXF1ZXN0KSA9PiBQcm9taXNlPHsgaXRlbXM6IFRbXSwgdG90YWw6IG51bWJlciB9PiB8IE9ic2VydmFibGU8eyBpdGVtczogVFtdLCB0b3RhbDogbnVtYmVyIH0+O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zdHlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzcmMvbGliL21vZGVscy9ncmlkLXN0eWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsU3R5bGU8VCA9IGFueT4ge1xyXG4gIGdyaWQ/OiAnc3R5bGUxJyB8ICdzdHlsZTInO1xyXG4gIHJvd0Nzcz86IChyb3dEYXRhOiBUKSA9PiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzcmMvbGliL21vZGVscy9ncmlkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JIYW5kbGVyIHtcclxuICBbY29sdW1uOiBzdHJpbmddOiB7XHJcbiAgICB2aXNpYmxlPzogYm9vbGVhbiB8ICdjcmVhdGUnIHwgJ3VwZGF0ZScsXHJcbiAgICBpdGVtcz86IGFueVtdIHwgT2JzZXJ2YWJsZTxhbnlbXT5cclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkSXRlbSB7XHJcbiAgc2RJZD86IHN0cmluZztcclxuICBvcmlnaW5JdGVtPzogYW55O1xyXG4gIGlzU2VsZWN0ZWQ/OiBib29sZWFuO1xyXG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xyXG4gIGlzRXhwYW5kaW5nPzogYm9vbGVhbjtcclxuICBleHBhbmREZXRhaWw/OiBhbnk7XHJcbiAgZWRpdG9yU3RhdHVzPzogJ2NyZWF0ZScgfCAndXBkYXRlJztcclxuICBlZGl0b3JIYW5kbGVyUm93PzogRWRpdG9ySGFuZGxlclJvdyxcclxuICBlZGl0b3JIYW5kbGVyQ29sdW1uPzoge1xyXG4gICAgW2tleTogc3RyaW5nXToge1xyXG4gICAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvckhhbmRsZXJSb3cge1xyXG4gIHN0YXR1cz86ICdjcmVhdGUnIHwgJ3VwZGF0ZSc7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG4gIHJlbW92YWJsZT86IGJvb2xlYW47XHJcbiAgc2F2YWJsZT86IGJvb2xlYW47XHJcbiAgY2FuY2VsYWJsZT86IGJvb2xlYW47XHJcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHRlbXBvcmFyeT86IGFueTtcclxuICBzYXZpbmc/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTZEdyaWRNYXRlcmlhbEl0ZW08VCA9IGFueT4gPSBUICYgU2RJdGVtO1xyXG5cclxuXHJcblxyXG4vLyBleHBvcnQgaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsSXRlbTxUID0gYW55PiB7XHJcbi8vICAgaXNTZWxlY3RlZD86IGJvb2xlYW47XHJcbi8vICAgaXNFeHBhbmRlZD86IGJvb2xlYW47XHJcbi8vICAgaXNFeHBhbmRpbmc/OiBib29sZWFuO1xyXG4vLyAgIGV4cGFuZERldGFpbD86IGFueTtcclxuLy8gfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcmlkSXRlbSB7XHJcbiAgYmxpbmtlcj86IGFueTtcclxuICBvcmlnaW5JdGVtPzogYW55O1xyXG4gIHRlbXBvcmFyeT86IGFueTtcclxuICBpc0NoZWNrZWQ/OiBib29sZWFuO1xyXG4gIGVkaXRpbmdTdGF0dXM/OiAnY3JlYXRlJyB8ICd1cGRhdGUnO1xyXG4gIGVkaXRvckhhbmRsZXI/OiBFZGl0b3JIYW5kbGVyICYge1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgc2F2aW5nPzogYm9vbGVhbjtcclxuICB9O1xyXG4gIHN1YkluZm9ybWF0aW9uPzoge1xyXG4gICAgaXNPcGVuZWQ/OiBib29sZWFuO1xyXG4gICAgaXNMb2FkZWQ/OiBib29sZWFuO1xyXG4gICAgaXNMb2FkaW5nPzogYm9vbGVhbjtcclxuICAgIHN1Ykl0ZW1zPzogYW55W107XHJcbiAgfTtcclxuICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn0iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as hash from 'object-hash';
|
|
2
3
|
export class SdEditorHandlerColumnPipe {
|
|
3
4
|
transform(value, item, column, gridOption) {
|
|
4
5
|
if (column.type === 'children' || column.type === 'children-col') {
|
|
@@ -23,6 +24,7 @@ export class SdEditorHandlerColumnPipe {
|
|
|
23
24
|
for (const col of columns.filter(e => { var _a, _b; return (_b = (_a = column.editor) === null || _a === void 0 ? void 0 : _a.relatedColumns) === null || _b === void 0 ? void 0 : _b.includes(e.field); })) {
|
|
24
25
|
item.editorHandlerColumn[col.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[col.field]), { visible: visible(col) });
|
|
25
26
|
}
|
|
27
|
+
item.sdId = hash(item);
|
|
26
28
|
return true;
|
|
27
29
|
}
|
|
28
30
|
}
|
|
@@ -31,4 +33,4 @@ SdEditorHandlerColumnPipe.decorators = [
|
|
|
31
33
|
name: 'sdEditorHandlerColumn'
|
|
32
34
|
},] }
|
|
33
35
|
];
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWhhbmRsZXItY29sdW1uLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9lZGl0b3ItaGFuZGxlci1jb2x1bW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQztBQU9wQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBWSxFQUFFLE1BQTRCLEVBQUUsVUFBZ0M7UUFDaEcsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtZQUNoRSxPQUFPO1NBQ1I7UUFDRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBeUIsRUFBRSxFQUFFO1lBQzVDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7Z0JBQzFELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFDRCx5Q0FBeUM7WUFDekMsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNkLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUNqSCxJQUFJLFVBQVUsRUFBRTtvQkFDZCxPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FDekMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FDekIsQ0FBQTtRQUNELEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxrQ0FBQyxNQUFNLENBQUMsTUFBTSwwQ0FBRSxjQUFjLDBDQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFDLENBQUMsRUFBRTtZQUN2RixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxtQ0FDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FDdEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FDdEIsQ0FBQTtTQUNGO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUFuQ0YsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSx1QkFBdUI7YUFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbHVtbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU2RJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQubW9kZWwnO1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NkRWRpdG9ySGFuZGxlckNvbHVtbidcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRWRpdG9ySGFuZGxlckNvbHVtblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgaXRlbTogU2RJdGVtLCBjb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uLCBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikge1xyXG4gICAgaWYgKGNvbHVtbi50eXBlID09PSAnY2hpbGRyZW4nIHx8IGNvbHVtbi50eXBlID09PSAnY2hpbGRyZW4tY29sJykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IGNvbHVtbnMgfSA9IGdyaWRPcHRpb247XHJcbiAgICBjb25zdCB2aXNpYmxlID0gKGNvbDogU2RHcmlkTWF0ZXJpYWxDb2x1bW4pID0+IHtcclxuICAgICAgaWYgKGNvbC50eXBlID09PSAnY2hpbGRyZW4nIHx8IGNvbC50eXBlID09PSAnY2hpbGRyZW4tY29sJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICAvLyBLaeG7g20gdHJhIHhlbSBjw7MgYuG7iyBkaXNhYmxlZCBoYXkga2jDtG5nP1xyXG4gICAgICBpZiAoY29sLmVkaXRvcikge1xyXG4gICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0eXBlb2YgKGNvbC5lZGl0b3IuZGlzYWJsZWQpID09PSAnZnVuY3Rpb24nID8gY29sLmVkaXRvci5kaXNhYmxlZChpdGVtKSA6IGNvbC5lZGl0b3IuZGlzYWJsZWQ7XHJcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgaXRlbS5lZGl0b3JIYW5kbGVyQ29sdW1uID0gaXRlbS5lZGl0b3JIYW5kbGVyQ29sdW1uIHx8IHt9O1xyXG4gICAgaXRlbS5lZGl0b3JIYW5kbGVyQ29sdW1uW2NvbHVtbi5maWVsZF0gPSB7XHJcbiAgICAgIC4uLml0ZW0uZWRpdG9ySGFuZGxlckNvbHVtbltjb2x1bW4uZmllbGRdLFxyXG4gICAgICB2aXNpYmxlOiB2aXNpYmxlKGNvbHVtbilcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMuZmlsdGVyKGUgPT4gY29sdW1uLmVkaXRvcj8ucmVsYXRlZENvbHVtbnM/LmluY2x1ZGVzKGUuZmllbGQpKSkge1xyXG4gICAgICBpdGVtLmVkaXRvckhhbmRsZXJDb2x1bW5bY29sLmZpZWxkXSA9IHtcclxuICAgICAgICAuLi5pdGVtLmVkaXRvckhhbmRsZXJDb2x1bW5bY29sLmZpZWxkXSxcclxuICAgICAgICB2aXNpYmxlOiB2aXNpYmxlKGNvbClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaXRlbS5zZElkID0gaGFzaChpdGVtKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class SdStyleRowCss {
|
|
3
|
+
transform(item, gridOption) {
|
|
4
|
+
var _a, _b;
|
|
5
|
+
return ((_b = (_a = gridOption === null || gridOption === void 0 ? void 0 : gridOption.style) === null || _a === void 0 ? void 0 : _a.rowCss) === null || _b === void 0 ? void 0 : _b.call(_a, item)) || {};
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
SdStyleRowCss.decorators = [
|
|
9
|
+
{ type: Pipe, args: [{
|
|
10
|
+
name: 'sdStyleRowCss'
|
|
11
|
+
},] }
|
|
12
|
+
];
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtcm93LWNzcy5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvc3R5bGUtcm93LWNzcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxJQUFTLEVBQUUsVUFBZ0M7O1FBQ25ELE9BQU8sYUFBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsS0FBSywwQ0FBRSxNQUFNLG1EQUFHLElBQUksTUFBSyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7O1lBTkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxlQUFlO2FBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2RTdHlsZVJvd0NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU3R5bGVSb3dDc3MgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaXRlbTogYW55LCBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikge1xyXG4gICAgcmV0dXJuIGdyaWRPcHRpb24/LnN0eWxlPy5yb3dDc3M/LihpdGVtKSB8fCB7fTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -6,10 +6,11 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
|
|
|
6
6
|
import * as uuid from 'uuid';
|
|
7
7
|
import { v4 } from 'uuid';
|
|
8
8
|
import { Subject, Subscription, isObservable } from 'rxjs';
|
|
9
|
+
import * as hash from 'object-hash';
|
|
10
|
+
import hash__default from 'object-hash';
|
|
9
11
|
import { SdNotifyService } from '@sd-angular/core/notify';
|
|
10
12
|
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
11
13
|
import { startWith, debounceTime, map, switchMap } from 'rxjs/operators';
|
|
12
|
-
import hash from 'object-hash';
|
|
13
14
|
import { SdSettingService } from '@sd-angular/core/setting';
|
|
14
15
|
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
15
16
|
import { SdLoadingService } from '@sd-angular/core/loading';
|
|
@@ -26,6 +27,7 @@ import '@sd-angular/core/typing';
|
|
|
26
27
|
import { MatTableModule } from '@angular/material/table';
|
|
27
28
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
28
29
|
import { CdkTableModule, CdkColumnDef } from '@angular/cdk/table';
|
|
30
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
29
31
|
import { MatMenuModule } from '@angular/material/menu';
|
|
30
32
|
import { MatSliderModule } from '@angular/material/slider';
|
|
31
33
|
import { MatButtonModule } from '@angular/material/button';
|
|
@@ -235,7 +237,7 @@ class SdGridFilterService {
|
|
|
235
237
|
prefix: __classPrivateFieldGet(this, _prefix),
|
|
236
238
|
key
|
|
237
239
|
});
|
|
238
|
-
key =
|
|
240
|
+
key = hash__default({
|
|
239
241
|
prefix: __classPrivateFieldGet(this, _prefix),
|
|
240
242
|
key
|
|
241
243
|
});
|
|
@@ -419,7 +421,7 @@ _filterOptionChanges = new WeakMap(), _subscription = new WeakMap(), _loadDefaul
|
|
|
419
421
|
SdGridFilter.decorators = [
|
|
420
422
|
{ type: Component, args: [{
|
|
421
423
|
selector: 'sd-grid-filter',
|
|
422
|
-
template: "<ng-container *ngIf=\"isVisible\">\r\n <div *ngIf=\"!isMobileOrTablet && (columns?.length || externalFilters?.length || filterDefs?.length)\"\r\n class=\"row mx-0
|
|
424
|
+
template: "<ng-container *ngIf=\"isVisible\">\r\n <div *ngIf=\"!isMobileOrTablet && (columns?.length || externalFilters?.length || filterDefs?.length)\"\r\n class=\"row mx-0 pb-10\">\r\n <ng-container *ngIf=\"filter?.sorts?.length\">\r\n <ng-container *ngFor=\"let field of filter?.sorts\">\r\n <ng-container *ngIf=\"columns?.length && !filter?.inlineColumn\">\r\n <ng-container *ngFor=\"let item of columns | sdFilterColumn:field\">\r\n <ng-container *ngTemplateOutlet=\"filterColumn; context: {item: item}\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"externalFilters?.length\">\r\n <ng-container *ngFor=\"let item of externalFilters | sdFilterExternal:field\">\r\n <ng-container *ngTemplateOutlet=\"filterExternal; context: {item: item}\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngFor=\"let item of filterDefs\">\r\n <div *ngIf=\"inlineFilterDef[item.sdMaterialFilterDef] && item.sdMaterialFilterDef === field\"\r\n class=\"col-lg-2 col-md-3 col-sm-6 px-8\">\r\n <ng-container *ngTemplateOutlet=\"item.templateRef;context:{filterDef:filterDef, isInline: true}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!filter?.sorts?.length\">\r\n <ng-container *ngIf=\"columns?.length && !filter?.inlineColumn\">\r\n <ng-container *ngFor=\"let item of columns | sdFilterColumn\">\r\n <ng-container *ngTemplateOutlet=\"filterColumn; context: {item: item}\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"externalFilters?.length\">\r\n <ng-container *ngFor=\"let item of externalFilters | sdFilterExternal\">\r\n <ng-container *ngTemplateOutlet=\"filterExternal; context: {item: item}\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngFor=\"let item of filterDefs\">\r\n <div *ngIf=\"inlineFilterDef[item.sdMaterialFilterDef]\" class=\"col-lg-2 col-md-3 col-sm-6 px-8\">\r\n <ng-container *ngTemplateOutlet=\"item.templateRef;context:{filterDef:filterDef, isInline: true}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #filterColumn let-item=\"item\">\r\n <div *ngIf=\"inlineColumn[item.field]\" class=\"col-lg-2 col-md-3 col-sm-6 px-8\">\r\n <sd-input [label]=\"item.title\" *ngIf=\"item.type === 'string'\" type=\"text\" [(model)]=\"columnFilter[item.field]\"\r\n (keyupEnter)=\"onFilter(item)\">\r\n </sd-input>\r\n <sd-input [label]=\"item.title\" *ngIf=\"item.type === 'number'\" type=\"number\" [(model)]=\"columnFilter[item.field]\"\r\n (keyupEnter)=\"onFilter(item)\">\r\n </sd-input>\r\n <sd-select [label]=\"item.title\" *ngIf=\"item.type === 'bool'\" [items]=\"[{value:'1',display:item.option?.displayOnTrue || 'True' },\r\n {value:'0',display:item.option?.displayOnFalse || 'False' }]\" valueField=\"value\" displayField=\"display\"\r\n [(model)]=\"columnFilter[item.field]\" (sdChange)=\"onFilter(item)\">\r\n </sd-select>\r\n <sd-select *ngIf=\"item.type === 'values' && item?.option?.selection !== 'AUTOCOMPLETE'\"\r\n [items]=\"item.option?.items\" [valueField]=\"item.option?.valueField\"\r\n [displayField]=\"item.option.displayField\" [(model)]=\"columnFilter[item.field]\" (sdChange)=\"onFilter(item)\"\r\n [disabled]=\"item.filter?.disabled\"\r\n [multiple]=\"item?.option?.selection === 'MULTIPLE' || item?.item?.selection === 'MULTIPLEAUTOCOMPLETE'\"\r\n [filtered]=\"item?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\">\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"item.type === 'values' && item?.option?.selection === 'AUTOCOMPLETE'\"\r\n [items]=\"item.option?.items\" [valueField]=\"item.option?.valueField\"\r\n [displayField]=\"item.option?.displayField\" [(model)]=\"columnFilter[item.field]\" (sdChange)=\"onFilter(item)\"\r\n [disabled]=\"item.filter?.disabled\">\r\n </sd-autocomplete>\r\n <sd-date-time *ngIf=\"item.type === 'date' || item.type === 'datetime' || item.type === 'time'\"\r\n [label]=\"item.title\" [(model)]=\"columnFilter[item.field]\" [type]=\"item.type\" (sdChange)=\"onFilter(item)\">\r\n </sd-date-time>\r\n </div>\r\n </ng-template>\r\n <ng-template #filterExternal let-item=\"item\">\r\n <div *ngIf=\"inlineExternal[item.field]\" class=\"col-lg-2 col-md-3 col-sm-6 px-8\">\r\n <sd-input [label]=\"item.title\" *ngIf=\"item.type === 'string'\" type=\"text\" [(model)]=\"externalFilter[item.field]\"\r\n (keyupEnter)=\"onFilter(item)\">\r\n </sd-input>\r\n <sd-input [label]=\"item.title\" *ngIf=\"item.type === 'number'\" type=\"number\" [(model)]=\"externalFilter[item.field]\"\r\n (keyupEnter)=\"onFilter(item)\">\r\n </sd-input>\r\n <sd-select [label]=\"item.title\" *ngIf=\"item.type === 'bool'\" [items]=\"[{value:'1',display:item.option?.displayOnTrue || 'True' },\r\n {value:'0',display:item.option?.displayOnFalse || 'False' }]\" valueField=\"value\" displayField=\"display\"\r\n [(model)]=\"externalFilter[item.field]\" (sdChange)=\"onFilter(item)\">\r\n </sd-select>\r\n <ng-container *ngIf=\"item.type === 'values' && item.option\">\r\n <sd-select *ngIf=\"item.option?.selection === 'MULTIPLE'\" [label]=\"item.title\" [items]=\"item.option.items\"\r\n [valueField]=\"item.option.valueField\" [displayField]=\"item.option.displayField\"\r\n [(model)]=\"externalFilter[item.field]\" (sdChange)=\"onFilter(item)\" [selectAll]=\"item.option.selectAll\" multiple=\"true\">\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"item.option?.selection === 'AUTOCOMPLETE'\" [label]=\"item.title\"\r\n [items]=\"item.option.items\" [valueField]=\"item.option.valueField\" [displayField]=\"item.option.displayField\"\r\n [(model)]=\"externalFilter[item.field]\" (sdChange)=\"onFilter(item)\">\r\n </sd-autocomplete>\r\n <sd-select *ngIf=\"item.option?.selection === 'MULTIPLEAUTOCOMPLETE'\" [label]=\"item.title\"\r\n [items]=\"item.option.items\" [valueField]=\"item.option.valueField\" [displayField]=\"item.option.displayField\"\r\n [(model)]=\"externalFilter[item.field]\" (sdChange)=\"onFilter(item)\" filtered=\"true\" multiple>\r\n </sd-select>\r\n <sd-select *ngIf=\"!item.option?.selection\" [label]=\"item.title\" [items]=\"item.option.items\"\r\n [valueField]=\"item.option.valueField\" [displayField]=\"item.option.displayField\"\r\n [(model)]=\"externalFilter[item.field]\" (sdChange)=\"onFilter(item)\">\r\n </sd-select>\r\n </ng-container>\r\n <sd-date-time [label]=\"item.title\" *ngIf=\"item.type ==='date' || item.type ==='datetime'\"\r\n [(model)]=\"externalFilter[item.field]\" [type]=\"item.type\" (sdChange)=\"onFilter(item)\">\r\n </sd-date-time>\r\n <sd-date-range [label]=\"item.title\" *ngIf=\"item.type ==='daterange' && externalFilter[item.field]\"\r\n [(from)]=\"externalFilter[item.field].from\" [(to)]=\"externalFilter[item.field].to\" [min]=\"item.minDate\"\r\n [max]=\"item.maxDate\" (sdChange)=\"onFilter(item)\">\r\n </sd-date-range>\r\n </div>\r\n </ng-template>\r\n <sd-popup-filter [columns]=\"columns\" [externalFilters]=\"externalFilters\" (changeFilter)=\"onChangeFilter($event)\"\r\n (clearFilter)=\"onReset()\" [filterDefs]=\"filterDefs\">\r\n </sd-popup-filter>\r\n</ng-container>",
|
|
423
425
|
styles: [":host{display:block;padding-left:0;padding-right:0}:host ::ng-deep .mat-form-field-wrapper{padding-bottom:0}"]
|
|
424
426
|
},] }
|
|
425
427
|
];
|
|
@@ -691,7 +693,7 @@ class SdPopupExport {
|
|
|
691
693
|
if (!((_b = (_a = this.gridOption) === null || _a === void 0 ? void 0 : _a.export) === null || _b === void 0 ? void 0 : _b.key)) {
|
|
692
694
|
return null;
|
|
693
695
|
}
|
|
694
|
-
return
|
|
696
|
+
return hash__default({
|
|
695
697
|
prefix,
|
|
696
698
|
key: (_d = (_c = this.gridOption) === null || _c === void 0 ? void 0 : _c.export) === null || _d === void 0 ? void 0 : _d.key
|
|
697
699
|
});
|
|
@@ -761,7 +763,7 @@ class SdGridConfigurationService {
|
|
|
761
763
|
if (!((_a = gridOption === null || gridOption === void 0 ? void 0 : gridOption.config) === null || _a === void 0 ? void 0 : _a.key) && !(gridOption === null || gridOption === void 0 ? void 0 : gridOption.key)) {
|
|
762
764
|
return null;
|
|
763
765
|
}
|
|
764
|
-
return
|
|
766
|
+
return hash__default({
|
|
765
767
|
prefix,
|
|
766
768
|
key: ((_b = gridOption === null || gridOption === void 0 ? void 0 : gridOption.config) === null || _b === void 0 ? void 0 : _b.key) || !(gridOption === null || gridOption === void 0 ? void 0 : gridOption.key)
|
|
767
769
|
});
|
|
@@ -1076,7 +1078,7 @@ class SdGridService {
|
|
|
1076
1078
|
obj: {}
|
|
1077
1079
|
};
|
|
1078
1080
|
}
|
|
1079
|
-
const hashKey =
|
|
1081
|
+
const hashKey = hash__default({
|
|
1080
1082
|
prefix: __classPrivateFieldGet(this, _prefix$1),
|
|
1081
1083
|
field: column.field,
|
|
1082
1084
|
key,
|
|
@@ -1097,7 +1099,7 @@ class SdGridService {
|
|
|
1097
1099
|
return __classPrivateFieldGet(this, _cache$1)[hashKey];
|
|
1098
1100
|
});
|
|
1099
1101
|
this.getValues = (column, key) => {
|
|
1100
|
-
const hashKey =
|
|
1102
|
+
const hashKey = hash__default({
|
|
1101
1103
|
prefix: __classPrivateFieldGet(this, _prefix$1),
|
|
1102
1104
|
field: column.field,
|
|
1103
1105
|
key,
|
|
@@ -1806,6 +1808,9 @@ class SdGridMaterial {
|
|
|
1806
1808
|
return;
|
|
1807
1809
|
}
|
|
1808
1810
|
};
|
|
1811
|
+
this.reloadItem = (item) => {
|
|
1812
|
+
item.sdId = hash(item);
|
|
1813
|
+
};
|
|
1809
1814
|
this.detectChanges = () => this.ref.detectChanges();
|
|
1810
1815
|
}
|
|
1811
1816
|
set _gridFilter(gridFilter) {
|
|
@@ -1887,7 +1892,7 @@ _paginator = new WeakMap(), _sort = new WeakMap(), _subscription$1 = new WeakMap
|
|
|
1887
1892
|
SdGridMaterial.decorators = [
|
|
1888
1893
|
{ type: Component, args: [{
|
|
1889
1894
|
selector: 'sd-grid-material',
|
|
1890
|
-
template: "<ng-container *ngIf=\"gridConfigurationObserver | async as gridConfiguration\">\r\n <ng-container *ngIf=\"\r\n gridConfiguration\r\n | sdGridConfigurationResult\r\n : gridOption\r\n : sdSubInformation as configuration\r\n \">\r\n <ng-container *ngIf=\"!gridOption.filter?.disabled\">\r\n <sd-grid-filter [filter]=\"gridOption?.filter\" [columns]=\"configuration.firstColumns\" [filterDefs]=\"filterDefs\">\r\n </sd-grid-filter>\r\n </ng-container>\r\n <div class=\"c-container {{ gridOption?.style?.grid }}\" [ngClass]=\"{ 'mat-elevation-z2': gridOption?.shadow }\">\r\n <div class=\"c-loading\" *ngIf=\"isLoading\">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n <ng-container>\r\n <div class=\"c-table\" [ngStyle]=\"{\r\n 'max-height': gridOption?.maxHeight,\r\n 'min-height': 'gridOption?.minHeight'\r\n }\">\r\n <table *ngIf=\"items?.length; else elseEmpty\" mat-table [dataSource]=\"items\" matSort\r\n [matSortDisabled]=\"!gridOption.sortable\" cdkDropList cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListDisabled]=\"!gridOption.dropDragColumnEnable\"\r\n (cdkDropListDropped)=\"drop($event, configuration.displayedColumns)\" multiTemplateDataRows>\r\n <ng-container matColumnDef=\"sdSubInformation\" sticky>\r\n <td class=\"p-0\" mat-cell *matCellDef=\"let item\" [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <div *ngIf=\"sdSubInformation?.templateRef\" [@detailExpand]=\"item.isExpanded ? 'expanded' : 'collapsed'\">\r\n <ng-container *ngIf=\"item.isExpanded\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdSubInformation.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\" stickyEnd>\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button *ngIf=\"!element.isExpanding\" mat-icon-button aria-label=\"Expand & Collapse\"\r\n (click)=\"onExpand(element)\">\r\n <mat-icon *ngIf=\"!element.isExpanded\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"element.isExpanded\">expand_less</mat-icon>\r\n </button>\r\n <div *ngIf=\"element.isExpanding\" class=\"lds-ring\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"text-center px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <mat-checkbox *ngIf=\"!gridOption.selection?.single\" class=\"c-selection\" color=\"primary\"\r\n [(ngModel)]=\"isSelectAll\" (change)=\"onSelectAll()\" [disabled]=\"\r\n items | selectionDisableSelectAll: gridOption?.selection\r\n \">\r\n </mat-checkbox>\r\n </th>\r\n <td class=\"text-center px-15\" mat-cell *matCellDef=\"let item\" style=\"min-width: 50px; max-width: 50px\">\r\n <mat-checkbox class=\"c-selection\" color=\"primary\" [(ngModel)]=\"item.isSelected\"\r\n (change)=\"onSelect(item)\" [disabled]=\"\r\n selectedItems | selectionDisable: item:gridOption?.selection\r\n \">\r\n </mat-checkbox>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">add</mat-icon>\r\n </button>\r\n </th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item\">\r\n <ng-container *sdLet=\"item.editorStatus | sdEditorHandlerRow:item:gridOption as editorHandler\">\r\n <div *ngIf=\"editorHandler\" class=\"d-flex align-items-center justify-content-center\">\r\n <button *ngIf=\"editorHandler.editable\" class=\"mx-2\" (click)=\"onUpdate(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">edit</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.removable\" class=\"mx-2\" (click)=\"onRemove(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">delete</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.savable\" class=\"mx-2\" (click)=\"onSave(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">save</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.cancelable\" class=\"mx-2\" (click)=\"onCancel(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-command [commands]=\"gridOption.commands\" [item]=\"item\"></sd-desktop-command>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns; let i = index\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef cdkDrag class=\"px-8 py-8 c-th\"\r\n [ngStyle]=\"{ 'min-width': column.width }\" [attr.rowspan]=\"\r\n configuration.multipleHeader && column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div aria-hidden=\"false\" role=\"presentation\" mat-sort-header [disabled]=\"\r\n !column.sortable || column.type === 'children-col'\r\n \" [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\" [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\"\r\n [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns; let i = index\"\r\n [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header class=\"c-th px-8\"\r\n [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\" [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\"\r\n [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\"></tr>\r\n <ng-container *ngIf=\"configuration.secondHeaders?.length\">\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n </ng-container>\r\n <tr mat-row *matRowDef=\"let row; columns: configuration.displayedColumns\" matRipple class=\"c-row\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdSubInformation']\" class=\"c-detail-row\"></tr>\r\n <ng-container *ngIf=\"hasFooter && configuration.displayedFooters?.length\">\r\n <tr mat-footer-row *matFooterRowDef=\"configuration.displayedFooters; sticky: true\"></tr>\r\n </ng-container>\r\n </table>\r\n <ng-template #elseEmpty>\r\n <table mat-table [dataSource]=\"[{}]\">\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">add</mat-icon>\r\n </button>\r\n </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEmpty\">\r\n <td class=\"c-empty\" mat-cell *matCellDef=\"let item\"\r\n [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <ng-container *ngIf=\"sdEmptyData?.templateRef; else sdEmptyDataNoRef\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdEmptyData.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #sdEmptyDataNoRef>\r\n <mat-icon fontSet=\"material-icons-outlined\">leaderboard</mat-icon>\r\n </ng-template>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.columns\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\"\r\n [attr.rowspan]=\"\r\n configuration.multipleHeader &&\r\n column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns\" [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\">\r\n </tr>\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdEmpty']\"></tr>\r\n </table>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <div class=\"c-paginator\">\r\n <div class=\"c-action\">\r\n <sd-button *ngIf=\"\r\n !gridOption.filter?.disabled && !gridOption.filter?.inlineColumn\r\n \" class=\"mr-10\" [title]=\"'Filter' | sdTranslate\" icon=\"filter_alt\" size=\"sm\" (action)=\"gridFilter.open()\"\r\n type=\"link\">\r\n </sd-button>\r\n <sd-button *ngIf=\"gridOption.reload?.visible\" class=\"mr-10\" [title]=\"'Reload' | sdTranslate\" icon=\"refresh\"\r\n size=\"sm\" (action)=\"reload()\" [disabled]=\"!items?.length\" type=\"link\">\r\n </sd-button>\r\n <ng-container *ngIf=\"gridOption.export?.visible && items?.length\">\r\n <ng-container *ngIf=\"isExporting; else unExporting\">\r\n <sd-button class=\"mr-10\" [loading]=\"isExporting\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\"\r\n size=\"sm\" type=\"link\">\r\n </sd-button>\r\n </ng-container>\r\n <ng-template #unExporting>\r\n <sd-button class=\"mr-10\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\" size=\"sm\"\r\n [matMenuTriggerFor]=\"menu\" type=\"link\">\r\n </sd-button>\r\n </ng-template>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <button *ngIf=\"gridOption.export?.visibleExcel !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export excel\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.visibleCSV !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault(true)\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export CSV\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.key\" mat-menu-item (click)=\"sdPopupExport.open()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">settings</mat-icon>\r\n <span> {{ \"Configure\" | sdTranslate }}</span>\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <sd-button *ngIf=\"gridOption.config?.visible\" class=\"mr-10\" [title]=\"'Configure' | sdTranslate\"\r\n icon=\"settings\" size=\"sm\" (action)=\"popupGridConfiguration.open()\" type=\"link\">\r\n </sd-button>\r\n </div>\r\n <mat-paginator [class.d-none]=\"gridOption.paginate?.hidden\" [length]=\"total\"\r\n [pageSize]=\"gridOption.paginate?.pageSize\" [pageSizeOptions]=\"gridOption.paginate?.pages\"\r\n [showFirstLastButtons]=\"gridOption.paginate?.showFirstLastButtons\"></mat-paginator>\r\n </div>\r\n </div>\r\n <sd-popup-export *ngIf=\"gridOption.export?.visible\" [gridOption]=\"gridOption\" (export)=\"onExport($event)\"\r\n #sdPopupExport>\r\n </sd-popup-export>\r\n <sd-popup-grid-configuration [gridOption]=\"gridOption\" [key]=\"key\" #popupGridConfiguration>\r\n </sd-popup-grid-configuration>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #inlineColumn let-column=\"column\">\r\n <ng-container *ngIf=\"\r\n column.type === 'string' ||\r\n column.type === 'number' ||\r\n column.type === 'bool' ||\r\n column.type === 'values' ||\r\n column.type === 'date' ||\r\n column.type === 'datetime' ||\r\n column.type === 'time';\r\n else noFilter\r\n \">\r\n <sd-input *ngIf=\"column.type === 'string'\" size=\"sm\" type=\"text\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-input *ngIf=\"column.type === 'number'\" size=\"sm\" type=\"number\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-select *ngIf=\"column.type === 'bool'\" size=\"sm\" [items]=\"[\r\n { value: '1', display: column.option?.displayOnTrue || 'True' },\r\n { value: '0', display: column.option?.displayOnFalse || 'False' }\r\n ]\" valueField=\"value\" displayField=\"display\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n </sd-select>\r\n <sd-select *ngIf=\"\r\n column.type === 'values' && column?.option?.selection !== 'AUTOCOMPLETE'\r\n \" size=\"sm\" [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\" [multiple]=\"\r\n column?.option?.selection === 'MULTIPLE' ||\r\n column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\r\n \" [filtered]=\"column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\">\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"\r\n column.type === 'values' && column?.option?.selection === 'AUTOCOMPLETE'\r\n \" size=\"sm\" [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n </sd-autocomplete>\r\n <sd-date-time *ngIf=\"\r\n column.type === 'date' ||\r\n column.type === 'datetime' ||\r\n column.type === 'time'\r\n \" size=\"sm\" [(model)]=\"columnFilter[column.field]\" [type]=\"column.type\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n </sd-date-time>\r\n </ng-container>\r\n <ng-template #noFilter>\r\n <sd-input type=\"text\" disabled> </sd-input>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<sd-quick-action *ngIf=\"\r\n selectedItems\r\n | selectionActionFilter: gridOption?.selection?.actions as actions\r\n \" [isOpened]=\"actions?.length\">\r\n <div sdMessage>\r\n <strong class=\"text-info\">{{ selectedItems.length }}</strong>\r\n {{ gridOption?.selection?.message || (\"selected rows\" | sdTranslate) }}\r\n </div>\r\n <div class=\"d-flex align-items-center\" sdAction>\r\n <ng-container *ngFor=\"let action of actions\">\r\n <sd-button *ngIf=\"action.click\" class=\"ml-5\" [tooltip]=\"action.tooltip\" [icon]=\"action.icon\"\r\n [color]=\"action.color || 'secondary'\" [type]=\"action.type || 'light'\" [fontSet]=\"action.fontSet\"\r\n [title]=\"action.title\" size=\"sm\" (action)=\"action.click(selectedItems)\"></sd-button>\r\n <ng-container *ngIf=\"action.children?.length\">\r\n <sd-button class=\"ml-5\" [tooltip]=\"action.tooltip\" [icon]=\"action.icon || 'more_vert'\"\r\n [color]=\"action.color || 'secondary'\" [type]=\"action.type || 'light'\" [fontSet]=\"action.fontSet\"\r\n [title]=\"action.title\" size=\"sm\" [matMenuTriggerFor]=\"menu\">\r\n </sd-button>\r\n <mat-menu #menu=\"matMenu\">\r\n <span>\r\n <button *ngFor=\"let childAction of action.children\" mat-menu-item (click)=\"childAction.click(selectedItems)\"\r\n [disabled]=\"childAction.disabled\">\r\n <mat-icon [fontSet]=\"childAction.fontSet\" class=\"c-icon\">{{ childAction.icon }}\r\n </mat-icon>\r\n <span> {{ childAction.title }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</sd-quick-action>",
|
|
1895
|
+
template: "<ng-container *ngIf=\"gridConfigurationObserver | async as gridConfiguration\">\r\n <ng-container *ngIf=\"\r\n gridConfiguration\r\n | sdGridConfigurationResult\r\n : gridOption\r\n : sdSubInformation as configuration\r\n \">\r\n <ng-container *ngIf=\"!gridOption.filter?.disabled\">\r\n <sd-grid-filter [filter]=\"gridOption?.filter\" [columns]=\"configuration.firstColumns\" [filterDefs]=\"filterDefs\">\r\n </sd-grid-filter>\r\n </ng-container>\r\n <div class=\"c-container {{ gridOption?.style?.grid }}\" [ngClass]=\"{ 'mat-elevation-z2': gridOption?.shadow }\">\r\n <div class=\"c-loading\" *ngIf=\"isLoading\">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n <ng-container>\r\n <div class=\"c-table\" [ngStyle]=\"{\r\n 'max-height': gridOption?.maxHeight,\r\n 'min-height': 'gridOption?.minHeight'\r\n }\">\r\n <table *ngIf=\"items?.length; else elseEmpty\" mat-table [dataSource]=\"items\" matSort\r\n [matSortDisabled]=\"!gridOption.sortable\" cdkDropList cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListDisabled]=\"!gridOption.dropDragColumnEnable\"\r\n (cdkDropListDropped)=\"drop($event, configuration.displayedColumns)\" multiTemplateDataRows>\r\n <ng-container matColumnDef=\"sdSubInformation\" sticky>\r\n <td class=\"p-0\" mat-cell *matCellDef=\"let item\" [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <div *ngIf=\"sdSubInformation?.templateRef\" [@detailExpand]=\"item.isExpanded ? 'expanded' : 'collapsed'\">\r\n <ng-container *ngIf=\"item.isExpanded\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdSubInformation.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\" stickyEnd>\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button *ngIf=\"!element.isExpanding\" mat-icon-button aria-label=\"Expand & Collapse\"\r\n (click)=\"onExpand(element)\">\r\n <mat-icon *ngIf=\"!element.isExpanded\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"element.isExpanded\">expand_less</mat-icon>\r\n </button>\r\n <div *ngIf=\"element.isExpanding\" class=\"lds-ring\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"text-center px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <mat-checkbox *ngIf=\"!gridOption.selection?.single\" class=\"c-selection\" color=\"primary\"\r\n [(ngModel)]=\"isSelectAll\" (change)=\"onSelectAll()\" [disabled]=\"\r\n items | selectionDisableSelectAll: gridOption?.selection\r\n \">\r\n </mat-checkbox>\r\n </th>\r\n <td class=\"text-center px-15\" mat-cell *matCellDef=\"let item\" style=\"min-width: 50px; max-width: 50px\">\r\n <mat-checkbox class=\"c-selection\" color=\"primary\" [(ngModel)]=\"item.isSelected\"\r\n (change)=\"onSelect(item)\" [disabled]=\"\r\n selectedItems | selectionDisable: item:gridOption?.selection\r\n \">\r\n </mat-checkbox>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">add</mat-icon>\r\n </button>\r\n </th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item\">\r\n <ng-container *sdLet=\"item.editorStatus | sdEditorHandlerRow:item:gridOption as editorHandler\">\r\n <div *ngIf=\"editorHandler\" class=\"d-flex align-items-center justify-content-center\">\r\n <button *ngIf=\"editorHandler.editable\" class=\"mx-2\" (click)=\"onUpdate(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">edit</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.removable\" class=\"mx-2\" (click)=\"onRemove(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">delete</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.savable\" class=\"mx-2\" (click)=\"onSave(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">save</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.cancelable\" class=\"mx-2\" (click)=\"onCancel(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-command [commands]=\"gridOption.commands\" [item]=\"item\"></sd-desktop-command>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns; let i = index\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef cdkDrag class=\"px-8 py-8 c-th\"\r\n [ngStyle]=\"{ 'min-width': column.width }\" [attr.rowspan]=\"\r\n configuration.multipleHeader && column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div aria-hidden=\"false\" role=\"presentation\" mat-sort-header [disabled]=\"\r\n !column.sortable || column.type === 'children-col'\r\n \" [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [sdId]=\"item.sdId\" [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\" [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\"\r\n [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns; let i = index\"\r\n [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header class=\"c-th px-8\"\r\n [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [sdId]=\"item.sdId\" [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\" [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\"\r\n [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\"></tr>\r\n <ng-container *ngIf=\"configuration.secondHeaders?.length\">\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n </ng-container>\r\n <tr mat-row *matRowDef=\"let row; columns: configuration.displayedColumns\" matRipple class=\"c-row\" [style]=\"row | sdStyleRowCss:gridOption\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdSubInformation']\" class=\"c-detail-row\"></tr>\r\n <ng-container *ngIf=\"hasFooter && configuration.displayedFooters?.length\">\r\n <tr mat-footer-row *matFooterRowDef=\"configuration.displayedFooters; sticky: true\"></tr>\r\n </ng-container>\r\n </table>\r\n <ng-template #elseEmpty>\r\n <table mat-table [dataSource]=\"[{}]\">\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon\">add</mat-icon>\r\n </button>\r\n </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEmpty\">\r\n <td class=\"c-empty\" mat-cell *matCellDef=\"let item\"\r\n [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <ng-container *ngIf=\"sdEmptyData?.templateRef; else sdEmptyDataNoRef\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdEmptyData.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #sdEmptyDataNoRef>\r\n <mat-icon fontSet=\"material-icons-outlined\">leaderboard</mat-icon>\r\n </ng-template>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.columns\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\"\r\n [attr.rowspan]=\"\r\n configuration.multipleHeader &&\r\n column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns\" [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <div class=\"c-inline-column\" *ngIf=\"gridOption.filter?.inlineColumn\">\r\n <ng-container *ngTemplateOutlet=\"\r\n inlineColumn;\r\n context: { column: column }\r\n \"></ng-container>\r\n </div>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\">\r\n </tr>\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdEmpty']\"></tr>\r\n </table>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <div class=\"c-paginator\">\r\n <div class=\"c-action\">\r\n <sd-button *ngIf=\"\r\n !gridOption.filter?.disabled && !gridOption.filter?.inlineColumn\r\n \" class=\"mr-10\" [title]=\"'Filter' | sdTranslate\" icon=\"filter_alt\" size=\"sm\" (action)=\"gridFilter.open()\"\r\n type=\"link\">\r\n </sd-button>\r\n <sd-button *ngIf=\"gridOption.reload?.visible\" class=\"mr-10\" [title]=\"'Reload' | sdTranslate\" icon=\"refresh\"\r\n size=\"sm\" (action)=\"reload()\" [disabled]=\"!items?.length\" type=\"link\">\r\n </sd-button>\r\n <ng-container *ngIf=\"gridOption.export?.visible && items?.length\">\r\n <ng-container *ngIf=\"isExporting; else unExporting\">\r\n <sd-button class=\"mr-10\" [loading]=\"isExporting\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\"\r\n size=\"sm\" type=\"link\">\r\n </sd-button>\r\n </ng-container>\r\n <ng-template #unExporting>\r\n <sd-button class=\"mr-10\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\" size=\"sm\"\r\n [matMenuTriggerFor]=\"menu\" type=\"link\">\r\n </sd-button>\r\n </ng-template>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <button *ngIf=\"gridOption.export?.visibleExcel !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export excel\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.visibleCSV !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault(true)\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export CSV\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.key\" mat-menu-item (click)=\"sdPopupExport.open()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">settings</mat-icon>\r\n <span> {{ \"Configure\" | sdTranslate }}</span>\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <sd-button *ngIf=\"gridOption.config?.visible\" class=\"mr-10\" [title]=\"'Configure' | sdTranslate\"\r\n icon=\"settings\" size=\"sm\" (action)=\"popupGridConfiguration.open()\" type=\"link\">\r\n </sd-button>\r\n </div>\r\n <mat-paginator [class.d-none]=\"gridOption.paginate?.hidden\" [length]=\"total\"\r\n [pageSize]=\"gridOption.paginate?.pageSize\" [pageSizeOptions]=\"gridOption.paginate?.pages\"\r\n [showFirstLastButtons]=\"gridOption.paginate?.showFirstLastButtons\"></mat-paginator>\r\n </div>\r\n </div>\r\n <sd-popup-export *ngIf=\"gridOption.export?.visible\" [gridOption]=\"gridOption\" (export)=\"onExport($event)\"\r\n #sdPopupExport>\r\n </sd-popup-export>\r\n <sd-popup-grid-configuration [gridOption]=\"gridOption\" [key]=\"key\" #popupGridConfiguration>\r\n </sd-popup-grid-configuration>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #inlineColumn let-column=\"column\">\r\n <ng-container *ngIf=\"\r\n column.type === 'string' ||\r\n column.type === 'number' ||\r\n column.type === 'bool' ||\r\n column.type === 'values' ||\r\n column.type === 'date' ||\r\n column.type === 'datetime' ||\r\n column.type === 'time';\r\n else noFilter\r\n \">\r\n <sd-input *ngIf=\"column.type === 'string'\" size=\"sm\" type=\"text\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-input *ngIf=\"column.type === 'number'\" size=\"sm\" type=\"number\" [(model)]=\"columnFilter[column.field]\"\r\n (keyupEnter)=\"onFilterChange()\" [disabled]=\"column.filter?.disabled\">\r\n </sd-input>\r\n <sd-select *ngIf=\"column.type === 'bool'\" size=\"sm\" [items]=\"[\r\n { value: '1', display: column.option?.displayOnTrue || 'True' },\r\n { value: '0', display: column.option?.displayOnFalse || 'False' }\r\n ]\" valueField=\"value\" displayField=\"display\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n </sd-select>\r\n <sd-select *ngIf=\"\r\n column.type === 'values' && column?.option?.selection !== 'AUTOCOMPLETE'\r\n \" size=\"sm\" [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\" [multiple]=\"\r\n column?.option?.selection === 'MULTIPLE' ||\r\n column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\r\n \" [filtered]=\"column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\">\r\n </sd-select>\r\n <sd-autocomplete *ngIf=\"\r\n column.type === 'values' && column?.option?.selection === 'AUTOCOMPLETE'\r\n \" size=\"sm\" [items]=\"column.option.items\" [valueField]=\"column.option.valueField\"\r\n [displayField]=\"column.option.displayField\" [(model)]=\"columnFilter[column.field]\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n </sd-autocomplete>\r\n <sd-date-time *ngIf=\"\r\n column.type === 'date' ||\r\n column.type === 'datetime' ||\r\n column.type === 'time'\r\n \" size=\"sm\" [(model)]=\"columnFilter[column.field]\" [type]=\"column.type\" (sdChange)=\"onFilterChange()\"\r\n [disabled]=\"column.filter?.disabled\">\r\n </sd-date-time>\r\n </ng-container>\r\n <ng-template #noFilter>\r\n <sd-input type=\"text\" disabled> </sd-input>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<sd-quick-action *ngIf=\"\r\n selectedItems\r\n | selectionActionFilter: gridOption?.selection?.actions as actions\r\n \" [isOpened]=\"actions?.length\">\r\n <div sdMessage>\r\n <strong class=\"text-info\">{{ selectedItems.length }}</strong>\r\n {{ gridOption?.selection?.message || (\"selected rows\" | sdTranslate) }}\r\n </div>\r\n <div class=\"d-flex align-items-center\" sdAction>\r\n <ng-container *ngFor=\"let action of actions\">\r\n <sd-button *ngIf=\"action.click\" class=\"ml-5\" [tooltip]=\"action.tooltip\" [icon]=\"action.icon\"\r\n [color]=\"action.color || 'secondary'\" [type]=\"action.type || 'light'\" [fontSet]=\"action.fontSet\"\r\n [title]=\"action.title\" size=\"sm\" (action)=\"action.click(selectedItems)\"></sd-button>\r\n <ng-container *ngIf=\"action.children?.length\">\r\n <sd-button class=\"ml-5\" [tooltip]=\"action.tooltip\" [icon]=\"action.icon || 'more_vert'\"\r\n [color]=\"action.color || 'secondary'\" [type]=\"action.type || 'light'\" [fontSet]=\"action.fontSet\"\r\n [title]=\"action.title\" size=\"sm\" [matMenuTriggerFor]=\"menu\">\r\n </sd-button>\r\n <mat-menu #menu=\"matMenu\">\r\n <span>\r\n <button *ngFor=\"let childAction of action.children\" mat-menu-item (click)=\"childAction.click(selectedItems)\"\r\n [disabled]=\"childAction.disabled\">\r\n <mat-icon [fontSet]=\"childAction.fontSet\" class=\"c-icon\">{{ childAction.icon }}\r\n </mat-icon>\r\n <span> {{ childAction.title }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</sd-quick-action>",
|
|
1891
1896
|
animations: [
|
|
1892
1897
|
trigger('detailExpand', [
|
|
1893
1898
|
state('collapsed', style({ height: '0', minHeight: '0', visibility: 'hidden' })),
|
|
@@ -2102,6 +2107,7 @@ SdDesktopCellView.decorators = [
|
|
|
2102
2107
|
];
|
|
2103
2108
|
SdDesktopCellView.ctorParameters = () => [];
|
|
2104
2109
|
SdDesktopCellView.propDecorators = {
|
|
2110
|
+
sdId: [{ type: Input }],
|
|
2105
2111
|
key: [{ type: Input }],
|
|
2106
2112
|
column: [{ type: Input }],
|
|
2107
2113
|
item: [{ type: Input }]
|
|
@@ -2581,7 +2587,7 @@ class SdGeneratedColumnService {
|
|
|
2581
2587
|
if (!(configuration === null || configuration === void 0 ? void 0 : configuration.key)) {
|
|
2582
2588
|
return null;
|
|
2583
2589
|
}
|
|
2584
|
-
const key =
|
|
2590
|
+
const key = hash__default({
|
|
2585
2591
|
prefix: '260f5e94-5865-4425-8ced-b9c083c390dd',
|
|
2586
2592
|
key: configuration.key
|
|
2587
2593
|
});
|
|
@@ -2602,7 +2608,7 @@ class SdGeneratedColumnService {
|
|
|
2602
2608
|
if (!(configuration === null || configuration === void 0 ? void 0 : configuration.systemColumn)) {
|
|
2603
2609
|
return null;
|
|
2604
2610
|
}
|
|
2605
|
-
const key =
|
|
2611
|
+
const key = hash__default({
|
|
2606
2612
|
prefix: '8b8050ca-1f44-4860-bad3-20e646c0d68f',
|
|
2607
2613
|
key: configuration.key
|
|
2608
2614
|
});
|
|
@@ -2721,13 +2727,14 @@ class SdDesktopCell {
|
|
|
2721
2727
|
SdDesktopCell.decorators = [
|
|
2722
2728
|
{ type: Component, args: [{
|
|
2723
2729
|
selector: 'sd-desktop-cell',
|
|
2724
|
-
template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorHandlerColumn:item:column:gridOption\">\r\n <ng-container *ngIf=\"item.editorHandlerColumn[column.field]?.visible;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorValidate:item:column:gridOption\">\r\n
|
|
2730
|
+
template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorHandlerColumn:item:column:gridOption\">\r\n <ng-container *ngIf=\"item.editorHandlerColumn[column.field]?.visible;else useView\">\r\n <ng-container *sdLet=\"item[column.field] | sdEditorValidate:item:column:gridOption\">\r\n </ng-container>\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx, isEdited: true }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-editor *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [column]=\"column\" [item]=\"item\">\r\n </sd-desktop-cell-editor>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #useView>\r\n <ng-container *ngIf=\"cellDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n cellDef[column.field].templateRef;\r\n context: { item: item, column: column, idx: idx }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-view *ngIf=\"!cellDef[column.field]\" [sdId]=\"item.sdId\" [key]=\"key\" [column]=\"column\" [item]=\"item\">\r\n </sd-desktop-cell-view>\r\n </ng-template>\r\n</ng-container>",
|
|
2725
2731
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2726
2732
|
styles: [".c-color-success{color:#4caf50}.c-color-danger{color:#f82c13}.c-img{font-size:30px;opacity:.5}.c-img.pointer:hover{opacity:.9}.c-badge{border-radius:20px;display:inline-block;margin-bottom:4px;padding:2px 12px;text-align:center}.c-badge.c-warning{background:#fff3e0;color:#ff9600}.c-badge.c-info{background:#e7e9ff;color:#2962ff}.c-badge.c-success{background:#e8f5e9;color:#4caf50}.c-badge.c-danger{background:#fee8e7;color:#f82c13}.c-badge.c-normal{background:rgba(0,0,0,.12);color:#000}.wes-status .c-material-icon{font-size:12px;height:12px;width:12px}.wes-status.text-secondary .c-material-icon{color:rgba(0,0,0,.5)}.c-badge-circle .c-material-icon{font-size:12px;height:12px;width:12px}.c-badge-circle.c-unknown{color:#212121}.c-badge-circle.c-unknown .c-material-icon{color:rgba(0,0,0,.5)}.c-badge-circle.c-secondary{color:#212121}.c-badge-circle.c-info{color:#2962ff}.c-badge-circle.c-success{color:#4caf50}.c-badge-circle.c-danger{color:#f82c13}.c-badge-circle.c-warning{color:#ff9600}"]
|
|
2727
2733
|
},] }
|
|
2728
2734
|
];
|
|
2729
2735
|
SdDesktopCell.ctorParameters = () => [];
|
|
2730
2736
|
SdDesktopCell.propDecorators = {
|
|
2737
|
+
sdId: [{ type: Input }],
|
|
2731
2738
|
value: [{ type: Input }],
|
|
2732
2739
|
key: [{ type: Input }],
|
|
2733
2740
|
column: [{ type: Input }],
|
|
@@ -2758,6 +2765,7 @@ SdDesktopCellEditor.decorators = [
|
|
|
2758
2765
|
];
|
|
2759
2766
|
SdDesktopCellEditor.ctorParameters = () => [];
|
|
2760
2767
|
SdDesktopCellEditor.propDecorators = {
|
|
2768
|
+
sdId: [{ type: Input }],
|
|
2761
2769
|
column: [{ type: Input }],
|
|
2762
2770
|
item: [{ type: Input }]
|
|
2763
2771
|
};
|
|
@@ -2823,6 +2831,7 @@ class SdEditorHandlerColumnPipe {
|
|
|
2823
2831
|
for (const col of columns.filter(e => { var _a, _b; return (_b = (_a = column.editor) === null || _a === void 0 ? void 0 : _a.relatedColumns) === null || _b === void 0 ? void 0 : _b.includes(e.field); })) {
|
|
2824
2832
|
item.editorHandlerColumn[col.field] = Object.assign(Object.assign({}, item.editorHandlerColumn[col.field]), { visible: visible(col) });
|
|
2825
2833
|
}
|
|
2834
|
+
item.sdId = hash(item);
|
|
2826
2835
|
return true;
|
|
2827
2836
|
}
|
|
2828
2837
|
}
|
|
@@ -2872,6 +2881,18 @@ SdEditorValidatePipe.decorators = [
|
|
|
2872
2881
|
},] }
|
|
2873
2882
|
];
|
|
2874
2883
|
|
|
2884
|
+
class SdStyleRowCss {
|
|
2885
|
+
transform(item, gridOption) {
|
|
2886
|
+
var _a, _b;
|
|
2887
|
+
return ((_b = (_a = gridOption === null || gridOption === void 0 ? void 0 : gridOption.style) === null || _a === void 0 ? void 0 : _a.rowCss) === null || _b === void 0 ? void 0 : _b.call(_a, item)) || {};
|
|
2888
|
+
}
|
|
2889
|
+
}
|
|
2890
|
+
SdStyleRowCss.decorators = [
|
|
2891
|
+
{ type: Pipe, args: [{
|
|
2892
|
+
name: 'sdStyleRowCss'
|
|
2893
|
+
},] }
|
|
2894
|
+
];
|
|
2895
|
+
|
|
2875
2896
|
class MatPaginatorIntlCro extends MatPaginatorIntl {
|
|
2876
2897
|
constructor() {
|
|
2877
2898
|
super(...arguments);
|
|
@@ -2921,7 +2942,8 @@ SdGridMaterialModule.decorators = [
|
|
|
2921
2942
|
DragDropModule,
|
|
2922
2943
|
SdFormModule,
|
|
2923
2944
|
SdServiceModule,
|
|
2924
|
-
MatSliderModule
|
|
2945
|
+
MatSliderModule,
|
|
2946
|
+
ScrollingModule
|
|
2925
2947
|
],
|
|
2926
2948
|
declarations: [
|
|
2927
2949
|
SdDesktopCell,
|
|
@@ -2961,7 +2983,8 @@ SdGridMaterialModule.decorators = [
|
|
|
2961
2983
|
SdSelectionDisableSelectAllPipe,
|
|
2962
2984
|
SdEditorHandlerRowPipe,
|
|
2963
2985
|
SdEditorHandlerColumnPipe,
|
|
2964
|
-
SdEditorValidatePipe
|
|
2986
|
+
SdEditorValidatePipe,
|
|
2987
|
+
SdStyleRowCss
|
|
2965
2988
|
],
|
|
2966
2989
|
exports: [
|
|
2967
2990
|
SdGridMaterial,
|
|
@@ -2994,5 +3017,5 @@ SdGridMaterialModule.decorators = [
|
|
|
2994
3017
|
* Generated bundle index. Do not edit.
|
|
2995
3018
|
*/
|
|
2996
3019
|
|
|
2997
|
-
export { SdGridMaterial, SdGridMaterialModule, SdMaterialCellDefDirective, SdMaterialEmptyDataDefDirective, SdMaterialFilterDefDirective, SdMaterialFooterDefDirective, SdMaterialSubInformationDefDirective, MatPaginatorIntlCro as ɵa, SdGridFilter as ɵb, SdColumnHtmlTemplatePipe as ɵba, SdColumnTransformPipe as ɵbb, SdColumnTooltipPipe as ɵbc, SdColumnBadgePipe as ɵbd, SdFilterColumnPipe as ɵbe, SdFilterExternalPipe as ɵbf, SdSelectionActionFilterPipe as ɵbg, SdSelectionDisablePipe as ɵbh, SdSelectionDisableSelectAllPipe as ɵbi, SdEditorHandlerRowPipe as ɵbj, SdEditorHandlerColumnPipe as ɵbk, SdEditorValidatePipe as ɵbl, SdPopupFilter as ɵc, SdGridFilterService as ɵd, SdPopupExport as ɵe, GRID_MATERIAL_CONFIG as ɵg, SdGridConfigurationService as ɵh, SdGridService as ɵi, SdDesktopCell as ɵj, SdDesktopCellEditor as ɵk, SdDesktopCellView as ɵl, SdDesktopCellChildrenView as ɵm, SdDesktopCommand as ɵn, SdLetDirective as ɵo, SdPopupGridConfiguration as ɵp, SdDynamicColumn as ɵq, SdGeneratedColumnService as ɵr, SdGridConfigurationResultPipe as ɵs, SdColumnChildrenFilterPipe as ɵt, SdColumnTitlePipe as ɵu, SdCommandFilterPipe as ɵv, SdCommandDisablePipe as ɵw, SdCommandIconPipe as ɵx, SdCommandTitlePipe as ɵy, SdColumnValuesPipe as ɵz };
|
|
3020
|
+
export { SdGridMaterial, SdGridMaterialModule, SdMaterialCellDefDirective, SdMaterialEmptyDataDefDirective, SdMaterialFilterDefDirective, SdMaterialFooterDefDirective, SdMaterialSubInformationDefDirective, MatPaginatorIntlCro as ɵa, SdGridFilter as ɵb, SdColumnHtmlTemplatePipe as ɵba, SdColumnTransformPipe as ɵbb, SdColumnTooltipPipe as ɵbc, SdColumnBadgePipe as ɵbd, SdFilterColumnPipe as ɵbe, SdFilterExternalPipe as ɵbf, SdSelectionActionFilterPipe as ɵbg, SdSelectionDisablePipe as ɵbh, SdSelectionDisableSelectAllPipe as ɵbi, SdEditorHandlerRowPipe as ɵbj, SdEditorHandlerColumnPipe as ɵbk, SdEditorValidatePipe as ɵbl, SdStyleRowCss as ɵbm, SdPopupFilter as ɵc, SdGridFilterService as ɵd, SdPopupExport as ɵe, GRID_MATERIAL_CONFIG as ɵg, SdGridConfigurationService as ɵh, SdGridService as ɵi, SdDesktopCell as ɵj, SdDesktopCellEditor as ɵk, SdDesktopCellView as ɵl, SdDesktopCellChildrenView as ɵm, SdDesktopCommand as ɵn, SdLetDirective as ɵo, SdPopupGridConfiguration as ɵp, SdDynamicColumn as ɵq, SdGeneratedColumnService as ɵr, SdGridConfigurationResultPipe as ɵs, SdColumnChildrenFilterPipe as ɵt, SdColumnTitlePipe as ɵu, SdCommandFilterPipe as ɵv, SdCommandDisablePipe as ɵw, SdCommandIconPipe as ɵx, SdCommandTitlePipe as ɵy, SdColumnValuesPipe as ɵz };
|
|
2998
3021
|
//# sourceMappingURL=sd-angular-core-grid-material.js.map
|