@angular-generic-table/core 5.0.0-alpha.1 → 5.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -134
- package/angular-generic-table-core.d.ts +2 -19
- package/esm2020/angular-generic-table-core.mjs +5 -0
- package/esm2020/lib/core.component.mjs +122 -0
- package/esm2020/lib/core.module.mjs +23 -0
- package/esm2020/lib/core.service.mjs +14 -0
- package/esm2020/lib/enums/order.enum.mjs +6 -0
- package/esm2020/lib/models/table-column.interface.mjs +2 -0
- package/esm2020/lib/models/table-config.interface.mjs +2 -0
- package/esm2020/lib/models/table-info.interface.mjs +2 -0
- package/esm2020/lib/models/table-meta.interface.mjs +2 -0
- package/esm2020/lib/models/table-row.interface.mjs +2 -0
- package/esm2020/lib/models/table-sort.interface.mjs +2 -0
- package/esm2020/lib/pagination/pagination.component.mjs +63 -0
- package/esm2020/lib/pagination/pagination.module.mjs +18 -0
- package/esm2020/lib/pipes/capital-case.pipe.mjs +17 -0
- package/esm2020/lib/pipes/dash-case.pipe.mjs +17 -0
- package/esm2020/lib/pipes/dynamic.pipe.mjs +25 -0
- package/esm2020/lib/pipes/highlight.pipe.mjs +48 -0
- package/esm2020/lib/pipes/sort-class.pipe.mjs +16 -0
- package/esm2020/lib/utilities/utilities.mjs +39 -0
- package/esm2020/public-api.mjs +15 -0
- package/fesm2015/angular-generic-table-core.mjs +384 -0
- package/fesm2015/angular-generic-table-core.mjs.map +1 -0
- package/fesm2020/angular-generic-table-core.mjs +381 -0
- package/fesm2020/angular-generic-table-core.mjs.map +1 -0
- package/lib/core.component.d.ts +33 -0
- package/lib/core.module.d.ts +12 -1
- package/lib/core.service.d.ts +6 -0
- package/lib/enums/order.enum.d.ts +4 -0
- package/lib/models/table-column.interface.d.ts +15 -0
- package/lib/models/table-config.interface.d.ts +15 -0
- package/lib/models/table-info.interface.d.ts +4 -0
- package/lib/models/table-meta.interface.d.ts +8 -0
- package/lib/models/table-row.interface.d.ts +4 -0
- package/lib/models/table-sort.interface.d.ts +5 -0
- package/lib/pagination/pagination.component.d.ts +14 -0
- package/lib/pagination/pagination.module.d.ts +8 -0
- package/lib/pipes/capital-case.pipe.d.ts +7 -0
- package/lib/pipes/dash-case.pipe.d.ts +4 -1
- package/lib/pipes/dynamic.pipe.d.ts +9 -0
- package/lib/pipes/highlight.pipe.d.ts +7 -0
- package/lib/pipes/sort-class.pipe.d.ts +11 -0
- package/lib/utilities/utilities.d.ts +6 -0
- package/package.json +26 -24
- package/public-api.d.ts +11 -0
- package/scss/index.scss +102 -0
- package/CHANGELOG.md +0 -461
- package/LICENSE.md +0 -201
- package/angular-generic-table-core.metadata.json +0 -1
- package/bundles/angular-generic-table-core.umd.js +0 -3675
- package/bundles/angular-generic-table-core.umd.js.map +0 -1
- package/bundles/angular-generic-table-core.umd.min.js +0 -2
- package/bundles/angular-generic-table-core.umd.min.js.map +0 -1
- package/css/generic-table.css +0 -168
- package/css/generic-table.css.map +0 -9
- package/css/generic-table.min.css +0 -2
- package/css/generic-table.min.css.map +0 -1
- package/esm2015/angular-generic-table-core.js +0 -28
- package/esm2015/angular-generic-table-core.metadata.json +0 -1
- package/esm2015/lib/components/generic-table/generic-table.component.js +0 -1738
- package/esm2015/lib/components/generic-table/generic-table.component.metadata.json +0 -1
- package/esm2015/lib/components/gt-checkbox/gt-checkbox.component.js +0 -88
- package/esm2015/lib/components/gt-checkbox/gt-checkbox.component.metadata.json +0 -1
- package/esm2015/lib/components/gt-custom-component-factory/gt-custom-component-factory.component.js +0 -112
- package/esm2015/lib/components/gt-custom-component-factory/gt-custom-component-factory.component.metadata.json +0 -1
- package/esm2015/lib/components/gt-drilldown/gt-drilldown.component.js +0 -53
- package/esm2015/lib/components/gt-drilldown/gt-drilldown.component.metadata.json +0 -1
- package/esm2015/lib/components/gt-dropdown/gt-dropdown.component.js +0 -176
- package/esm2015/lib/components/gt-dropdown/gt-dropdown.component.metadata.json +0 -1
- package/esm2015/lib/components/gt-expanding-row/gt-expanding-row.component.js +0 -147
- package/esm2015/lib/components/gt-expanding-row/gt-expanding-row.component.metadata.json +0 -1
- package/esm2015/lib/components/gt-pagination/gt-pagination.component.js +0 -141
- package/esm2015/lib/components/gt-pagination/gt-pagination.component.metadata.json +0 -1
- package/esm2015/lib/components/gt-table-info/gt-table-info.component.js +0 -103
- package/esm2015/lib/components/gt-table-info/gt-table-info.component.metadata.json +0 -1
- package/esm2015/lib/core.module.js +0 -96
- package/esm2015/lib/core.module.metadata.json +0 -1
- package/esm2015/lib/directives/component-anchor.directive.js +0 -65
- package/esm2015/lib/directives/component-anchor.directive.metadata.json +0 -1
- package/esm2015/lib/directives/gt-column-width.directive.js +0 -73
- package/esm2015/lib/directives/gt-column-width.directive.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-config-field.js +0 -96
- package/esm2015/lib/interfaces/gt-config-field.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-config-setting.js +0 -41
- package/esm2015/lib/interfaces/gt-config-setting.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-config-total.js +0 -20
- package/esm2015/lib/interfaces/gt-config-total.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-config.js +0 -24
- package/esm2015/lib/interfaces/gt-config.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-event.js +0 -16
- package/esm2015/lib/interfaces/gt-event.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-information.js +0 -38
- package/esm2015/lib/interfaces/gt-information.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-options.js +0 -55
- package/esm2015/lib/interfaces/gt-options.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-render-field.js +0 -29
- package/esm2015/lib/interfaces/gt-render-field.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-row-meta.js +0 -18
- package/esm2015/lib/interfaces/gt-row-meta.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-row.js +0 -20
- package/esm2015/lib/interfaces/gt-row.metadata.json +0 -1
- package/esm2015/lib/interfaces/gt-texts.js +0 -36
- package/esm2015/lib/interfaces/gt-texts.metadata.json +0 -1
- package/esm2015/lib/pipes/dash-case.pipe.js +0 -30
- package/esm2015/lib/pipes/dash-case.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-chunk.pipe.js +0 -52
- package/esm2015/lib/pipes/gt-chunk.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-column-class.pipe.js +0 -51
- package/esm2015/lib/pipes/gt-column-class.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-filter.pipe.js +0 -60
- package/esm2015/lib/pipes/gt-filter.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-highlight.pipe.js +0 -72
- package/esm2015/lib/pipes/gt-highlight.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-is-editable.pipe.js +0 -37
- package/esm2015/lib/pipes/gt-is-editable.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-is-observable.pipe.js +0 -31
- package/esm2015/lib/pipes/gt-is-observable.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-meta.pipe.js +0 -54
- package/esm2015/lib/pipes/gt-meta.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-order-by.pipe.js +0 -202
- package/esm2015/lib/pipes/gt-order-by.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-property.pipe.js +0 -52
- package/esm2015/lib/pipes/gt-property.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-render.pipe.js +0 -173
- package/esm2015/lib/pipes/gt-render.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-row-class.pipe.js +0 -66
- package/esm2015/lib/pipes/gt-row-class.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-search.pipe.js +0 -114
- package/esm2015/lib/pipes/gt-search.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-totals-position.pipe.js +0 -35
- package/esm2015/lib/pipes/gt-totals-position.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-totals.pipe.js +0 -46
- package/esm2015/lib/pipes/gt-totals.pipe.metadata.json +0 -1
- package/esm2015/lib/pipes/gt-visible.pipe.js +0 -71
- package/esm2015/lib/pipes/gt-visible.pipe.metadata.json +0 -1
- package/esm2015/public_api.js +0 -18
- package/esm2015/public_api.metadata.json +0 -1
- package/esm5/angular-generic-table-core.js +0 -28
- package/esm5/angular-generic-table-core.metadata.json +0 -1
- package/esm5/lib/components/generic-table/generic-table.component.js +0 -1813
- package/esm5/lib/components/generic-table/generic-table.component.metadata.json +0 -1
- package/esm5/lib/components/gt-checkbox/gt-checkbox.component.js +0 -100
- package/esm5/lib/components/gt-checkbox/gt-checkbox.component.metadata.json +0 -1
- package/esm5/lib/components/gt-custom-component-factory/gt-custom-component-factory.component.js +0 -136
- package/esm5/lib/components/gt-custom-component-factory/gt-custom-component-factory.component.metadata.json +0 -1
- package/esm5/lib/components/gt-drilldown/gt-drilldown.component.js +0 -41
- package/esm5/lib/components/gt-drilldown/gt-drilldown.component.metadata.json +0 -1
- package/esm5/lib/components/gt-dropdown/gt-dropdown.component.js +0 -179
- package/esm5/lib/components/gt-dropdown/gt-dropdown.component.metadata.json +0 -1
- package/esm5/lib/components/gt-expanding-row/gt-expanding-row.component.js +0 -173
- package/esm5/lib/components/gt-expanding-row/gt-expanding-row.component.metadata.json +0 -1
- package/esm5/lib/components/gt-pagination/gt-pagination.component.js +0 -149
- package/esm5/lib/components/gt-pagination/gt-pagination.component.metadata.json +0 -1
- package/esm5/lib/components/gt-table-info/gt-table-info.component.js +0 -111
- package/esm5/lib/components/gt-table-info/gt-table-info.component.metadata.json +0 -1
- package/esm5/lib/core.module.js +0 -100
- package/esm5/lib/core.module.metadata.json +0 -1
- package/esm5/lib/directives/component-anchor.directive.js +0 -66
- package/esm5/lib/directives/component-anchor.directive.metadata.json +0 -1
- package/esm5/lib/directives/gt-column-width.directive.js +0 -81
- package/esm5/lib/directives/gt-column-width.directive.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-config-field.js +0 -96
- package/esm5/lib/interfaces/gt-config-field.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-config-setting.js +0 -41
- package/esm5/lib/interfaces/gt-config-setting.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-config-total.js +0 -20
- package/esm5/lib/interfaces/gt-config-total.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-config.js +0 -24
- package/esm5/lib/interfaces/gt-config.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-event.js +0 -16
- package/esm5/lib/interfaces/gt-event.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-information.js +0 -38
- package/esm5/lib/interfaces/gt-information.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-options.js +0 -55
- package/esm5/lib/interfaces/gt-options.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-render-field.js +0 -29
- package/esm5/lib/interfaces/gt-render-field.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-row-meta.js +0 -18
- package/esm5/lib/interfaces/gt-row-meta.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-row.js +0 -20
- package/esm5/lib/interfaces/gt-row.metadata.json +0 -1
- package/esm5/lib/interfaces/gt-texts.js +0 -36
- package/esm5/lib/interfaces/gt-texts.metadata.json +0 -1
- package/esm5/lib/pipes/dash-case.pipe.js +0 -38
- package/esm5/lib/pipes/dash-case.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-chunk.pipe.js +0 -70
- package/esm5/lib/pipes/gt-chunk.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-column-class.pipe.js +0 -61
- package/esm5/lib/pipes/gt-column-class.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-filter.pipe.js +0 -73
- package/esm5/lib/pipes/gt-filter.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-highlight.pipe.js +0 -77
- package/esm5/lib/pipes/gt-highlight.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-is-editable.pipe.js +0 -47
- package/esm5/lib/pipes/gt-is-editable.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-is-observable.pipe.js +0 -39
- package/esm5/lib/pipes/gt-is-observable.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-meta.pipe.js +0 -65
- package/esm5/lib/pipes/gt-meta.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-order-by.pipe.js +0 -223
- package/esm5/lib/pipes/gt-order-by.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-property.pipe.js +0 -63
- package/esm5/lib/pipes/gt-property.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-render.pipe.js +0 -182
- package/esm5/lib/pipes/gt-render.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-row-class.pipe.js +0 -75
- package/esm5/lib/pipes/gt-row-class.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-search.pipe.js +0 -125
- package/esm5/lib/pipes/gt-search.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-totals-position.pipe.js +0 -45
- package/esm5/lib/pipes/gt-totals-position.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-totals.pipe.js +0 -57
- package/esm5/lib/pipes/gt-totals.pipe.metadata.json +0 -1
- package/esm5/lib/pipes/gt-visible.pipe.js +0 -79
- package/esm5/lib/pipes/gt-visible.pipe.metadata.json +0 -1
- package/esm5/public_api.js +0 -18
- package/esm5/public_api.metadata.json +0 -1
- package/fesm2015/angular-generic-table-core.js +0 -3285
- package/fesm2015/angular-generic-table-core.js.map +0 -1
- package/fesm5/angular-generic-table-core.js +0 -3574
- package/fesm5/angular-generic-table-core.js.map +0 -1
- package/lib/components/generic-table/generic-table.component.d.ts +0 -282
- package/lib/components/gt-checkbox/gt-checkbox.component.d.ts +0 -12
- package/lib/components/gt-custom-component-factory/gt-custom-component-factory.component.d.ts +0 -27
- package/lib/components/gt-drilldown/gt-drilldown.component.d.ts +0 -6
- package/lib/components/gt-dropdown/gt-dropdown.component.d.ts +0 -21
- package/lib/components/gt-expanding-row/gt-expanding-row.component.d.ts +0 -34
- package/lib/components/gt-pagination/gt-pagination.component.d.ts +0 -11
- package/lib/components/gt-table-info/gt-table-info.component.d.ts +0 -15
- package/lib/directives/component-anchor.directive.d.ts +0 -10
- package/lib/directives/gt-column-width.directive.d.ts +0 -11
- package/lib/interfaces/gt-config-field.d.ts +0 -87
- package/lib/interfaces/gt-config-setting.d.ts +0 -21
- package/lib/interfaces/gt-config-total.d.ts +0 -8
- package/lib/interfaces/gt-config.d.ts +0 -12
- package/lib/interfaces/gt-event.d.ts +0 -4
- package/lib/interfaces/gt-information.d.ts +0 -15
- package/lib/interfaces/gt-options.d.ts +0 -27
- package/lib/interfaces/gt-render-field.d.ts +0 -19
- package/lib/interfaces/gt-row-meta.d.ts +0 -5
- package/lib/interfaces/gt-row.d.ts +0 -6
- package/lib/interfaces/gt-texts.d.ts +0 -14
- package/lib/pipes/gt-chunk.pipe.d.ts +0 -8
- package/lib/pipes/gt-column-class.pipe.d.ts +0 -6
- package/lib/pipes/gt-filter.pipe.d.ts +0 -5
- package/lib/pipes/gt-highlight.pipe.d.ts +0 -7
- package/lib/pipes/gt-is-editable.pipe.d.ts +0 -4
- package/lib/pipes/gt-is-observable.pipe.d.ts +0 -4
- package/lib/pipes/gt-meta.pipe.d.ts +0 -5
- package/lib/pipes/gt-order-by.pipe.d.ts +0 -11
- package/lib/pipes/gt-property.pipe.d.ts +0 -7
- package/lib/pipes/gt-render.pipe.d.ts +0 -19
- package/lib/pipes/gt-row-class.pipe.d.ts +0 -5
- package/lib/pipes/gt-search.pipe.d.ts +0 -10
- package/lib/pipes/gt-totals-position.pipe.d.ts +0 -5
- package/lib/pipes/gt-totals.pipe.d.ts +0 -4
- package/lib/pipes/gt-visible.pipe.d.ts +0 -9
- package/public_api.d.ts +0 -18
- package/scss/generic-table.scss +0 -246
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
export class GtChunkPipe {
|
|
7
|
-
/**
|
|
8
|
-
* @param {?} array
|
|
9
|
-
* @param {?} gtInfo
|
|
10
|
-
* @param {?} chunkSize
|
|
11
|
-
* @param {?} page
|
|
12
|
-
* @param {?} refreshPageArray
|
|
13
|
-
* @param {?} refreshData
|
|
14
|
-
* @param {?} gtEvent
|
|
15
|
-
* @param {?} data
|
|
16
|
-
* @return {?}
|
|
17
|
-
*/
|
|
18
|
-
transform(array, gtInfo, chunkSize, page, refreshPageArray, refreshData, gtEvent, data) {
|
|
19
|
-
if (!Array.isArray(array)) {
|
|
20
|
-
return array;
|
|
21
|
-
}
|
|
22
|
-
data.exportData = array; // store data for export
|
|
23
|
-
const /** @type {?} */ PAGES = [];
|
|
24
|
-
const /** @type {?} */ ENTRIES = array.length;
|
|
25
|
-
for (let /** @type {?} */ i = 0; i < ENTRIES; i += chunkSize) {
|
|
26
|
-
PAGES.push(array.slice(i, i + chunkSize));
|
|
27
|
-
}
|
|
28
|
-
gtInfo.visibleRecords = !PAGES[page - 1] ? [] : [...PAGES[page - 1]]; // add visible rows
|
|
29
|
-
gtInfo.pageTotal = PAGES.length; // add number of pages
|
|
30
|
-
setTimeout(() => gtEvent.emit({
|
|
31
|
-
name: 'gt-info',
|
|
32
|
-
value: gtInfo
|
|
33
|
-
}), 0);
|
|
34
|
-
return PAGES[page - 1];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
GtChunkPipe.decorators = [
|
|
38
|
-
{ type: Pipe, args: [{
|
|
39
|
-
name: 'gtChunk'
|
|
40
|
-
},] }
|
|
41
|
-
];
|
|
42
|
-
function GtChunkPipe_tsickle_Closure_declarations() {
|
|
43
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
44
|
-
GtChunkPipe.decorators;
|
|
45
|
-
/**
|
|
46
|
-
* @nocollapse
|
|
47
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
48
|
-
*/
|
|
49
|
-
GtChunkPipe.ctorParameters;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhbmd1bGFyLWdlbmVyaWMtdGFibGUvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9ndC1jaHVuay5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQU9sRSxNQUFNLE9BQU8sV0FBVzs7Ozs7Ozs7Ozs7O0lBQ3ZCLFNBQVMsQ0FDUixLQUFZLEVBQ1osTUFBcUIsRUFDckIsU0FBaUIsRUFDakIsSUFBWSxFQUNaLGdCQUF5QixFQUN6QixXQUFtQixFQUNuQixPQUE4QixFQUM5QixJQUFnQztRQUVoQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixPQUFPLEtBQUssQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFeEIsdUJBQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQix1QkFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUU3QixLQUFLLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQzVDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDMUM7UUFDRCxNQUFNLENBQUMsY0FBYyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUVoQyxVQUFVLENBQ1QsR0FBRyxFQUFFLENBQ0osT0FBTyxDQUFDLElBQUksQ0FBQztZQUNaLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE1BQU07U0FDYixDQUFDLEVBQ0gsQ0FBQyxDQUNELENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDdkI7OztZQXJDRCxJQUFJLFNBQUM7Z0JBQ0wsSUFBSSxFQUFFLFNBQVM7YUFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3RJbmZvcm1hdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3QtaW5mb3JtYXRpb24nO1xuaW1wb3J0IHsgR3RFdmVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3QtZXZlbnQnO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdndENodW5rJ1xufSlcbmV4cG9ydCBjbGFzcyBHdENodW5rUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHR0cmFuc2Zvcm0oXG5cdFx0YXJyYXk6IGFueVtdLFxuXHRcdGd0SW5mbzogR3RJbmZvcm1hdGlvbixcblx0XHRjaHVua1NpemU6IG51bWJlcixcblx0XHRwYWdlOiBudW1iZXIsXG5cdFx0cmVmcmVzaFBhZ2VBcnJheTogYm9vbGVhbixcblx0XHRyZWZyZXNoRGF0YTogbnVtYmVyLFxuXHRcdGd0RXZlbnQ6IEV2ZW50RW1pdHRlcjxHdEV2ZW50Pixcblx0XHRkYXRhOiB7IGV4cG9ydERhdGE6IEFycmF5PGFueT4gfVxuXHQpOiBhbnlbXSB7XG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSkge1xuXHRcdFx0cmV0dXJuIGFycmF5O1xuXHRcdH1cblx0XHRkYXRhLmV4cG9ydERhdGEgPSBhcnJheTsgLy8gc3RvcmUgZGF0YSBmb3IgZXhwb3J0XG5cblx0XHRjb25zdCBQQUdFUyA9IFtdO1xuXHRcdGNvbnN0IEVOVFJJRVMgPSBhcnJheS5sZW5ndGg7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IEVOVFJJRVM7IGkgKz0gY2h1bmtTaXplKSB7XG5cdFx0XHRQQUdFUy5wdXNoKGFycmF5LnNsaWNlKGksIGkgKyBjaHVua1NpemUpKTtcblx0XHR9XG5cdFx0Z3RJbmZvLnZpc2libGVSZWNvcmRzID0gIVBBR0VTW3BhZ2UgLSAxXSA/IFtdIDogWy4uLlBBR0VTW3BhZ2UgLSAxXV07IC8vIGFkZCB2aXNpYmxlIHJvd3Ncblx0XHRndEluZm8ucGFnZVRvdGFsID0gUEFHRVMubGVuZ3RoOyAvLyBhZGQgbnVtYmVyIG9mIHBhZ2VzXG5cblx0XHRzZXRUaW1lb3V0KFxuXHRcdFx0KCkgPT5cblx0XHRcdFx0Z3RFdmVudC5lbWl0KHtcblx0XHRcdFx0XHRuYW1lOiAnZ3QtaW5mbycsXG5cdFx0XHRcdFx0dmFsdWU6IGd0SW5mb1xuXHRcdFx0XHR9KSxcblx0XHRcdDBcblx0XHQpO1xuXHRcdHJldHVybiBQQUdFU1twYWdlIC0gMV07XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GtChunkPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"gtChunk"}]}],"members":{"transform":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
export class GtColumnClassPipe {
|
|
7
|
-
/**
|
|
8
|
-
* @param {?} gtFields
|
|
9
|
-
* @param {?} column
|
|
10
|
-
* @param {?=} row
|
|
11
|
-
* @return {?}
|
|
12
|
-
*/
|
|
13
|
-
transform(gtFields, column, row) {
|
|
14
|
-
// find columns with columnClass property defined
|
|
15
|
-
const /** @type {?} */ COLUMN_WITH_CLASS = gtFields
|
|
16
|
-
.map(field => field)
|
|
17
|
-
.filter(field => field.columnClass && field.objectKey === column.objectKey)[0];
|
|
18
|
-
if (!COLUMN_WITH_CLASS) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
else if (typeof COLUMN_WITH_CLASS.columnClass === 'function') {
|
|
22
|
-
// if column class is a function, try using the function...
|
|
23
|
-
try {
|
|
24
|
-
return COLUMN_WITH_CLASS.columnClass(row, column);
|
|
25
|
-
}
|
|
26
|
-
catch (/** @type {?} */ error) {
|
|
27
|
-
console.log('Error when trying to get column class name using formula.', error);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
// if not a function, return plain string value
|
|
32
|
-
return COLUMN_WITH_CLASS.columnClass;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
GtColumnClassPipe.decorators = [
|
|
37
|
-
{ type: Pipe, args: [{
|
|
38
|
-
name: 'gtColumnClass'
|
|
39
|
-
},] }
|
|
40
|
-
];
|
|
41
|
-
function GtColumnClassPipe_tsickle_Closure_declarations() {
|
|
42
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
43
|
-
GtColumnClassPipe.decorators;
|
|
44
|
-
/**
|
|
45
|
-
* @nocollapse
|
|
46
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
47
|
-
*/
|
|
48
|
-
GtColumnClassPipe.ctorParameters;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtY29sdW1uLWNsYXNzLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW5ndWxhci1nZW5lcmljLXRhYmxlL2NvcmUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvZ3QtY29sdW1uLWNsYXNzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBT3BELE1BQU0sT0FBTyxpQkFBaUI7Ozs7Ozs7SUFDN0IsU0FBUyxDQUNSLFFBQXdDLEVBQ3hDLE1BQWlDLEVBQ2pDLEdBQVc7O1FBR1gsdUJBQU0saUJBQWlCLEdBQUcsUUFBUTthQUNoQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7YUFDbkIsTUFBTSxDQUNOLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLENBQ2xFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdkIsT0FBTztTQUNQO2FBQU0sSUFBSSxPQUFPLGlCQUFpQixDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7O1lBRS9ELElBQUk7Z0JBQ0gsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2xEO1lBQUMsd0JBQU8sS0FBSyxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQ1YsMkRBQTJELEVBQzNELEtBQUssQ0FDTCxDQUFDO2FBQ0Y7U0FDRDthQUFNOztZQUVOLE9BQU8saUJBQWlCLENBQUMsV0FBVyxDQUFDO1NBQ3JDO0tBQ0Q7OztZQS9CRCxJQUFJLFNBQUM7Z0JBQ0wsSUFBSSxFQUFFLGVBQWU7YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHdENvbmZpZ0ZpZWxkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ndC1jb25maWctZmllbGQnO1xuaW1wb3J0IHsgR3RSb3cgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2d0LXJvdyc7XG5cbkBQaXBlKHtcblx0bmFtZTogJ2d0Q29sdW1uQ2xhc3MnXG59KVxuZXhwb3J0IGNsYXNzIEd0Q29sdW1uQ2xhc3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdHRyYW5zZm9ybShcblx0XHRndEZpZWxkczogQXJyYXk8R3RDb25maWdGaWVsZDxhbnksIGFueT4+LFxuXHRcdGNvbHVtbjogR3RDb25maWdGaWVsZDxHdFJvdywgYW55Pixcblx0XHRyb3c/OiBHdFJvd1xuXHQpOiBhbnkge1xuXHRcdC8vIGZpbmQgY29sdW1ucyB3aXRoIGNvbHVtbkNsYXNzIHByb3BlcnR5IGRlZmluZWRcblx0XHRjb25zdCBDT0xVTU5fV0lUSF9DTEFTUyA9IGd0RmllbGRzXG5cdFx0XHQubWFwKGZpZWxkID0+IGZpZWxkKVxuXHRcdFx0LmZpbHRlcihcblx0XHRcdFx0ZmllbGQgPT4gZmllbGQuY29sdW1uQ2xhc3MgJiYgZmllbGQub2JqZWN0S2V5ID09PSBjb2x1bW4ub2JqZWN0S2V5XG5cdFx0XHQpWzBdO1xuXHRcdGlmICghQ09MVU1OX1dJVEhfQ0xBU1MpIHtcblx0XHRcdHJldHVybjtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiBDT0xVTU5fV0lUSF9DTEFTUy5jb2x1bW5DbGFzcyA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0Ly8gaWYgY29sdW1uIGNsYXNzIGlzIGEgZnVuY3Rpb24sIHRyeSB1c2luZyB0aGUgZnVuY3Rpb24uLi5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdHJldHVybiBDT0xVTU5fV0lUSF9DTEFTUy5jb2x1bW5DbGFzcyhyb3csIGNvbHVtbik7XG5cdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhcblx0XHRcdFx0XHQnRXJyb3Igd2hlbiB0cnlpbmcgdG8gZ2V0IGNvbHVtbiBjbGFzcyBuYW1lIHVzaW5nIGZvcm11bGEuJyxcblx0XHRcdFx0XHRlcnJvclxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBpZiBub3QgYSBmdW5jdGlvbiwgcmV0dXJuIHBsYWluIHN0cmluZyB2YWx1ZVxuXHRcdFx0cmV0dXJuIENPTFVNTl9XSVRIX0NMQVNTLmNvbHVtbkNsYXNzO1xuXHRcdH1cblx0fVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GtColumnClassPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"gtColumnClass"}]}],"members":{"transform":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
export class GtFilterPipe {
|
|
7
|
-
/**
|
|
8
|
-
* @param {?} allRows
|
|
9
|
-
* @param {?} filterBy
|
|
10
|
-
* @param {?} gtInfo
|
|
11
|
-
* @param {?} refreshFilter
|
|
12
|
-
* @param {?} refreshData
|
|
13
|
-
* @return {?}
|
|
14
|
-
*/
|
|
15
|
-
transform(allRows, filterBy, gtInfo, refreshFilter, refreshData) {
|
|
16
|
-
// console.log(allRows,filterBy);
|
|
17
|
-
gtInfo.recordsAll = allRows.length;
|
|
18
|
-
if (!Array.isArray(allRows) || !filterBy) {
|
|
19
|
-
// gtInfo.filtered = false;
|
|
20
|
-
const /** @type {?} */ length = allRows === null ? 0 : allRows.length;
|
|
21
|
-
gtInfo.recordsAfterFilter = length;
|
|
22
|
-
return allRows;
|
|
23
|
-
}
|
|
24
|
-
const /** @type {?} */ output = [];
|
|
25
|
-
for (let /** @type {?} */ i = 0; i < allRows.length; i++) {
|
|
26
|
-
const /** @type {?} */ rowObject = allRows[i];
|
|
27
|
-
let /** @type {?} */ match = true;
|
|
28
|
-
for (const /** @type {?} */ property in filterBy) {
|
|
29
|
-
if (filterBy.hasOwnProperty(property)) {
|
|
30
|
-
// console.log(property);
|
|
31
|
-
// console.log(filter[property].indexOf(obj[property]));
|
|
32
|
-
if (filterBy[property].indexOf(rowObject[property]) === -1) {
|
|
33
|
-
match = false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (match) {
|
|
38
|
-
output.push(rowObject);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
gtInfo.recordsAfterFilter = output.length; // .emit(output.length);
|
|
42
|
-
return output;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
GtFilterPipe.decorators = [
|
|
46
|
-
{ type: Pipe, args: [{
|
|
47
|
-
name: 'gtFilter'
|
|
48
|
-
},] }
|
|
49
|
-
];
|
|
50
|
-
function GtFilterPipe_tsickle_Closure_declarations() {
|
|
51
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
52
|
-
GtFilterPipe.decorators;
|
|
53
|
-
/**
|
|
54
|
-
* @nocollapse
|
|
55
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
56
|
-
*/
|
|
57
|
-
GtFilterPipe.ctorParameters;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW5ndWxhci1nZW5lcmljLXRhYmxlL2NvcmUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvZ3QtZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBTTFFLE1BQU0sT0FBTyxZQUFZOzs7Ozs7Ozs7SUFHeEIsU0FBUyxDQUNSLE9BQWMsRUFDZCxRQUFnQixFQUNoQixNQUFxQixFQUNyQixhQUFzQixFQUN0QixXQUFtQjs7UUFHbkIsTUFBTSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFOztZQUd6Qyx1QkFBTSxNQUFNLEdBQUcsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUM7WUFDbkMsT0FBTyxPQUFPLENBQUM7U0FDZjtRQUVELHVCQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxxQkFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLHVCQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IscUJBQUksS0FBSyxHQUFHLElBQUksQ0FBQztZQUVqQixLQUFLLHVCQUFNLFFBQVEsSUFBSSxRQUFRLEVBQUU7Z0JBQ2hDLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTs7O29CQUd0QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQzNELEtBQUssR0FBRyxLQUFLLENBQUM7cUJBQ2Q7aUJBQ0Q7YUFDRDtZQUNELElBQUksS0FBSyxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDdkI7U0FDRDtRQUNELE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDO0tBQ2Q7OztZQTNDRCxJQUFJLFNBQUM7Z0JBQ0wsSUFBSSxFQUFFLFVBQVU7YUFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3RJbmZvcm1hdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3QtaW5mb3JtYXRpb24nO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdndEZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgR3RGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdC8vIEBPdXRwdXQoKSBmaWx0ZXJJbmZvID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdHRyYW5zZm9ybShcblx0XHRhbGxSb3dzOiBhbnlbXSxcblx0XHRmaWx0ZXJCeTogT2JqZWN0LFxuXHRcdGd0SW5mbzogR3RJbmZvcm1hdGlvbixcblx0XHRyZWZyZXNoRmlsdGVyOiBib29sZWFuLFxuXHRcdHJlZnJlc2hEYXRhOiBudW1iZXJcblx0KTogYW55W10ge1xuXHRcdC8vIGNvbnNvbGUubG9nKGFsbFJvd3MsZmlsdGVyQnkpO1xuXHRcdGd0SW5mby5yZWNvcmRzQWxsID0gYWxsUm93cy5sZW5ndGg7XG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KGFsbFJvd3MpIHx8ICFmaWx0ZXJCeSkge1xuXHRcdFx0Ly8gZ3RJbmZvLmZpbHRlcmVkID0gZmFsc2U7XG5cblx0XHRcdGNvbnN0IGxlbmd0aCA9IGFsbFJvd3MgPT09IG51bGwgPyAwIDogYWxsUm93cy5sZW5ndGg7XG5cdFx0XHRndEluZm8ucmVjb3Jkc0FmdGVyRmlsdGVyID0gbGVuZ3RoO1xuXHRcdFx0cmV0dXJuIGFsbFJvd3M7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgb3V0cHV0ID0gW107XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhbGxSb3dzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRjb25zdCByb3dPYmplY3QgPSBhbGxSb3dzW2ldO1xuXHRcdFx0bGV0IG1hdGNoID0gdHJ1ZTtcblxuXHRcdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBpbiBmaWx0ZXJCeSkge1xuXHRcdFx0XHRpZiAoZmlsdGVyQnkuaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocHJvcGVydHkpO1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGZpbHRlcltwcm9wZXJ0eV0uaW5kZXhPZihvYmpbcHJvcGVydHldKSk7XG5cdFx0XHRcdFx0aWYgKGZpbHRlckJ5W3Byb3BlcnR5XS5pbmRleE9mKHJvd09iamVjdFtwcm9wZXJ0eV0pID09PSAtMSkge1xuXHRcdFx0XHRcdFx0bWF0Y2ggPSBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmIChtYXRjaCkge1xuXHRcdFx0XHRvdXRwdXQucHVzaChyb3dPYmplY3QpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRndEluZm8ucmVjb3Jkc0FmdGVyRmlsdGVyID0gb3V0cHV0Lmxlbmd0aDsgLy8gLmVtaXQob3V0cHV0Lmxlbmd0aCk7XG5cdFx0cmV0dXJuIG91dHB1dDtcblx0fVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GtFilterPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"gtFilter"}]}],"members":{"transform":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
|
-
export class GtHighlightPipe {
|
|
8
|
-
/**
|
|
9
|
-
* @param {?} sanitizer
|
|
10
|
-
*/
|
|
11
|
-
constructor(sanitizer) {
|
|
12
|
-
this.sanitizer = sanitizer;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @param {?} text
|
|
16
|
-
* @param {?} searchTerm
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
transform(text, searchTerm) {
|
|
20
|
-
const /** @type {?} */ haystackAlwaysString = text + '';
|
|
21
|
-
let /** @type {?} */ highlightedText = haystackAlwaysString; // fallback
|
|
22
|
-
let /** @type {?} */ searchPattern;
|
|
23
|
-
try {
|
|
24
|
-
searchPattern = new RegExp('(' +
|
|
25
|
-
searchTerm
|
|
26
|
-
.toLowerCase()
|
|
27
|
-
.match(/".*?"|[^ ]+/g) // extract words
|
|
28
|
-
.map(needle => needle.replace(/"(.*?)"/, '$1') // strip away '"'
|
|
29
|
-
)
|
|
30
|
-
.join('|') + // combine words
|
|
31
|
-
')', 'ig');
|
|
32
|
-
}
|
|
33
|
-
catch (/** @type {?} */ error) {
|
|
34
|
-
return this.sanitizer.bypassSecurityTrustHtml(highlightedText);
|
|
35
|
-
}
|
|
36
|
-
const /** @type {?} */ containsTagPattern = /(<.*?>)(.*)(<\/.*?>)/gi;
|
|
37
|
-
const /** @type {?} */ containsTagMatches = containsTagPattern.exec(haystackAlwaysString);
|
|
38
|
-
if (containsTagMatches) {
|
|
39
|
-
// tag exists in haystack
|
|
40
|
-
highlightedText =
|
|
41
|
-
containsTagMatches[1] +
|
|
42
|
-
containsTagMatches[2].replace(searchPattern, '<span class="gt-highlight-search">$1</span>') +
|
|
43
|
-
containsTagMatches[3];
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
highlightedText = haystackAlwaysString.replace(searchPattern, '<span class="gt-highlight-search">$1</span>');
|
|
47
|
-
}
|
|
48
|
-
return this.sanitizer.bypassSecurityTrustHtml(highlightedText);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
GtHighlightPipe.decorators = [
|
|
52
|
-
{ type: Pipe, args: [{
|
|
53
|
-
name: 'gtHighlight'
|
|
54
|
-
},] }
|
|
55
|
-
];
|
|
56
|
-
/** @nocollapse */
|
|
57
|
-
GtHighlightPipe.ctorParameters = () => [
|
|
58
|
-
{ type: DomSanitizer, },
|
|
59
|
-
];
|
|
60
|
-
function GtHighlightPipe_tsickle_Closure_declarations() {
|
|
61
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
62
|
-
GtHighlightPipe.decorators;
|
|
63
|
-
/**
|
|
64
|
-
* @nocollapse
|
|
65
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
66
|
-
*/
|
|
67
|
-
GtHighlightPipe.ctorParameters;
|
|
68
|
-
/** @type {?} */
|
|
69
|
-
GtHighlightPipe.prototype.sanitizer;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW5ndWxhci1nZW5lcmljLXRhYmxlL2NvcmUvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvZ3QtaGlnaGxpZ2h0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUtuRSxNQUFNLE9BQU8sZUFBZTs7OztJQUMzQixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0tBQUk7Ozs7OztJQUUvQyxTQUFTLENBQUMsSUFBWSxFQUFFLFVBQWtCO1FBQ3pDLHVCQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkMscUJBQUksZUFBZSxHQUFHLG9CQUFvQixDQUFDO1FBRTNDLHFCQUFJLGFBQWEsQ0FBQztRQUNsQixJQUFJO1lBQ0gsYUFBYSxHQUFHLElBQUksTUFBTSxDQUN6QixHQUFHO2dCQUNILFVBQVU7cUJBQ1IsV0FBVyxFQUFFO3FCQUNiLEtBQUssQ0FBQyxjQUFjLENBQUM7cUJBQ3JCLEdBQUcsQ0FDSCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztpQkFDekM7cUJBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQjtnQkFDN0IsR0FBRyxFQUNKLElBQUksQ0FDSixDQUFDO1NBQ0Y7UUFBQyx3QkFBTyxLQUFLLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDL0Q7UUFFRCx1QkFBTSxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztRQUNwRCx1QkFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxJQUFJLGtCQUFrQixFQUFFOztZQUV2QixlQUFlO2dCQUNkLGtCQUFrQixDQUFDLENBQUMsQ0FBQztvQkFDckIsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUM1QixhQUFhLEVBQ2IsNkNBQTZDLENBQzdDO29CQUNELGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZCO2FBQU07WUFDTixlQUFlLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUM3QyxhQUFhLEVBQ2IsNkNBQTZDLENBQzdDLENBQUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUMvRDs7O1lBaERELElBQUksU0FBQztnQkFDTCxJQUFJLEVBQUUsYUFBYTthQUNuQjs7OztZQUpRLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcblx0bmFtZTogJ2d0SGlnaGxpZ2h0J1xufSlcbmV4cG9ydCBjbGFzcyBHdEhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuXHR0cmFuc2Zvcm0odGV4dDogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG5cdFx0Y29uc3QgaGF5c3RhY2tBbHdheXNTdHJpbmcgPSB0ZXh0ICsgJyc7XG5cdFx0bGV0IGhpZ2hsaWdodGVkVGV4dCA9IGhheXN0YWNrQWx3YXlzU3RyaW5nOyAvLyBmYWxsYmFja1xuXG5cdFx0bGV0IHNlYXJjaFBhdHRlcm47XG5cdFx0dHJ5IHtcblx0XHRcdHNlYXJjaFBhdHRlcm4gPSBuZXcgUmVnRXhwKFxuXHRcdFx0XHQnKCcgK1xuXHRcdFx0XHRzZWFyY2hUZXJtXG5cdFx0XHRcdFx0LnRvTG93ZXJDYXNlKClcblx0XHRcdFx0XHQubWF0Y2goL1wiLio/XCJ8W14gXSsvZykgLy8gZXh0cmFjdCB3b3Jkc1xuXHRcdFx0XHRcdC5tYXAoXG5cdFx0XHRcdFx0XHRuZWVkbGUgPT4gbmVlZGxlLnJlcGxhY2UoL1wiKC4qPylcIi8sICckMScpIC8vIHN0cmlwIGF3YXkgJ1wiJ1xuXHRcdFx0XHRcdClcblx0XHRcdFx0XHQuam9pbignfCcpICsgLy8gY29tYmluZSB3b3Jkc1xuXHRcdFx0XHRcdCcpJyxcblx0XHRcdFx0J2lnJ1xuXHRcdFx0KTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0cmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGhpZ2hsaWdodGVkVGV4dCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY29udGFpbnNUYWdQYXR0ZXJuID0gLyg8Lio/PikoLiopKDxcXC8uKj8+KS9naTtcblx0XHRjb25zdCBjb250YWluc1RhZ01hdGNoZXMgPSBjb250YWluc1RhZ1BhdHRlcm4uZXhlYyhoYXlzdGFja0Fsd2F5c1N0cmluZyk7XG5cblx0XHRpZiAoY29udGFpbnNUYWdNYXRjaGVzKSB7XG5cdFx0XHQvLyB0YWcgZXhpc3RzIGluIGhheXN0YWNrXG5cdFx0XHRoaWdobGlnaHRlZFRleHQgPVxuXHRcdFx0XHRjb250YWluc1RhZ01hdGNoZXNbMV0gK1xuXHRcdFx0XHRjb250YWluc1RhZ01hdGNoZXNbMl0ucmVwbGFjZShcblx0XHRcdFx0XHRzZWFyY2hQYXR0ZXJuLFxuXHRcdFx0XHRcdCc8c3BhbiBjbGFzcz1cImd0LWhpZ2hsaWdodC1zZWFyY2hcIj4kMTwvc3Bhbj4nXG5cdFx0XHRcdCkgK1xuXHRcdFx0XHRjb250YWluc1RhZ01hdGNoZXNbM107XG5cdFx0fSBlbHNlIHtcblx0XHRcdGhpZ2hsaWdodGVkVGV4dCA9IGhheXN0YWNrQWx3YXlzU3RyaW5nLnJlcGxhY2UoXG5cdFx0XHRcdHNlYXJjaFBhdHRlcm4sXG5cdFx0XHRcdCc8c3BhbiBjbGFzcz1cImd0LWhpZ2hsaWdodC1zZWFyY2hcIj4kMTwvc3Bhbj4nXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChoaWdobGlnaHRlZFRleHQpO1xuXHR9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GtHighlightPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"gtHighlight"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":7,"character":32}]}],"transform":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
export class GtIsEditablePipe {
|
|
7
|
-
/**
|
|
8
|
-
* @param {?} property
|
|
9
|
-
* @param {?} row
|
|
10
|
-
* @param {?} refreshPipe
|
|
11
|
-
* @return {?}
|
|
12
|
-
*/
|
|
13
|
-
transform(property, row, refreshPipe) {
|
|
14
|
-
if (typeof property === 'function') {
|
|
15
|
-
return property(row);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
GtIsEditablePipe.decorators = [
|
|
23
|
-
{ type: Pipe, args: [{
|
|
24
|
-
name: 'gtIsEditable'
|
|
25
|
-
},] }
|
|
26
|
-
];
|
|
27
|
-
function GtIsEditablePipe_tsickle_Closure_declarations() {
|
|
28
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
29
|
-
GtIsEditablePipe.decorators;
|
|
30
|
-
/**
|
|
31
|
-
* @nocollapse
|
|
32
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
33
|
-
*/
|
|
34
|
-
GtIsEditablePipe.ctorParameters;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtaXMtZWRpdGFibGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhbmd1bGFyLWdlbmVyaWMtdGFibGUvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9ndC1pcy1lZGl0YWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8sZ0JBQWdCOzs7Ozs7O0lBQzVCLFNBQVMsQ0FBQyxRQUFhLEVBQUUsR0FBUSxFQUFFLFdBQW9CO1FBQ3RELElBQUksT0FBTyxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ25DLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JCO2FBQU07WUFDTixPQUFPLEtBQUssQ0FBQztTQUNiO0tBQ0Q7OztZQVZELElBQUksU0FBQztnQkFDTCxJQUFJLEVBQUUsY0FBYzthQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuXHRuYW1lOiAnZ3RJc0VkaXRhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBHdElzRWRpdGFibGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdHRyYW5zZm9ybShwcm9wZXJ0eTogYW55LCByb3c6IGFueSwgcmVmcmVzaFBpcGU6IGJvb2xlYW4pOiBib29sZWFuIHtcblx0XHRpZiAodHlwZW9mIHByb3BlcnR5ID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRyZXR1cm4gcHJvcGVydHkocm93KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GtIsEditablePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"gtIsEditable"}]}],"members":{"transform":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
import { Observable } from 'rxjs';
|
|
7
|
-
export class GtIsObservablePipe {
|
|
8
|
-
/**
|
|
9
|
-
* @param {?} input
|
|
10
|
-
* @return {?}
|
|
11
|
-
*/
|
|
12
|
-
transform(input) {
|
|
13
|
-
return input instanceof Observable;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
GtIsObservablePipe.decorators = [
|
|
17
|
-
{ type: Pipe, args: [{
|
|
18
|
-
name: 'gtIsObservable'
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
function GtIsObservablePipe_tsickle_Closure_declarations() {
|
|
22
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
23
|
-
GtIsObservablePipe.decorators;
|
|
24
|
-
/**
|
|
25
|
-
* @nocollapse
|
|
26
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
27
|
-
*/
|
|
28
|
-
GtIsObservablePipe.ctorParameters;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtaXMtb2JzZXJ2YWJsZS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItZ2VuZXJpYy10YWJsZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL2d0LWlzLW9ic2VydmFibGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUtsQyxNQUFNLE9BQU8sa0JBQWtCOzs7OztJQUM5QixTQUFTLENBQUMsS0FBVTtRQUNuQixPQUFPLEtBQUssWUFBWSxVQUFVLENBQUM7S0FDbkM7OztZQU5ELElBQUksU0FBQztnQkFDTCxJQUFJLEVBQUUsZ0JBQWdCO2FBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdndElzT2JzZXJ2YWJsZSdcbn0pXG5leHBvcnQgY2xhc3MgR3RJc09ic2VydmFibGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdHRyYW5zZm9ybShpbnB1dDogYW55KTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIGlucHV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZTtcblx0fVxufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GtIsObservablePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"gtIsObservable"}]}],"members":{"transform":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
export class GtMetaPipe {
|
|
7
|
-
/**
|
|
8
|
-
* @param {?} allRows
|
|
9
|
-
* @param {?=} rowIndex
|
|
10
|
-
* @param {?=} page
|
|
11
|
-
* @param {?=} recordLength
|
|
12
|
-
* @return {?}
|
|
13
|
-
*/
|
|
14
|
-
transform(allRows, rowIndex, page, recordLength) {
|
|
15
|
-
for (let /** @type {?} */ i = 0; i < allRows.length; i++) {
|
|
16
|
-
if (!allRows[i].$$gtRowId) {
|
|
17
|
-
allRows[i].$$gtRowId = rowIndex
|
|
18
|
-
? allRows[i][rowIndex]
|
|
19
|
-
: page
|
|
20
|
-
? page * recordLength +
|
|
21
|
-
i +
|
|
22
|
-
'_' +
|
|
23
|
-
Math.random()
|
|
24
|
-
.toString(36)
|
|
25
|
-
.substr(2, 16)
|
|
26
|
-
: i +
|
|
27
|
-
'_' +
|
|
28
|
-
Math.random()
|
|
29
|
-
.toString(36)
|
|
30
|
-
.substr(2, 16);
|
|
31
|
-
}
|
|
32
|
-
if (!allRows[i].$$gtInitialRowIndex) {
|
|
33
|
-
allRows[i].$$gtInitialRowIndex = i;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return allRows;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
GtMetaPipe.decorators = [
|
|
40
|
-
{ type: Pipe, args: [{
|
|
41
|
-
name: 'gtMeta'
|
|
42
|
-
},] }
|
|
43
|
-
];
|
|
44
|
-
function GtMetaPipe_tsickle_Closure_declarations() {
|
|
45
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
46
|
-
GtMetaPipe.decorators;
|
|
47
|
-
/**
|
|
48
|
-
* @nocollapse
|
|
49
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
50
|
-
*/
|
|
51
|
-
GtMetaPipe.ctorParameters;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtbWV0YS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItZ2VuZXJpYy10YWJsZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL2d0LW1ldGEucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsTUFBTSxPQUFPLFVBQVU7Ozs7Ozs7O0lBQ3RCLFNBQVMsQ0FDUixPQUFxQixFQUNyQixRQUFpQixFQUNqQixJQUFhLEVBQ2IsWUFBcUI7UUFFckIsS0FBSyxxQkFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO2dCQUMxQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFFBQVE7b0JBQzlCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO29CQUN0QixDQUFDLENBQUMsSUFBSTt3QkFDTCxDQUFDLENBQUMsSUFBSSxHQUFHLFlBQVk7NEJBQ25CLENBQUM7NEJBQ0QsR0FBRzs0QkFDSCxJQUFJLENBQUMsTUFBTSxFQUFFO2lDQUNaLFFBQVEsQ0FBQyxFQUFFLENBQUM7aUNBQ1osTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ2hCLENBQUMsQ0FBQyxDQUFDOzRCQUNELEdBQUc7NEJBQ0gsSUFBSSxDQUFDLE1BQU0sRUFBRTtpQ0FDWixRQUFRLENBQUMsRUFBRSxDQUFDO2lDQUNaLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDbkI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFO2dCQUNwQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO2FBQ25DO1NBQ0Q7UUFDRCxPQUFPLE9BQU8sQ0FBQztLQUNmOzs7WUFoQ0QsSUFBSSxTQUFDO2dCQUNMLElBQUksRUFBRSxRQUFRO2FBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHdFJvdyB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3Qtcm93JztcblxuQFBpcGUoe1xuXHRuYW1lOiAnZ3RNZXRhJ1xufSlcbmV4cG9ydCBjbGFzcyBHdE1ldGFQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdHRyYW5zZm9ybShcblx0XHRhbGxSb3dzOiBBcnJheTxHdFJvdz4sXG5cdFx0cm93SW5kZXg/OiBzdHJpbmcsXG5cdFx0cGFnZT86IG51bWJlcixcblx0XHRyZWNvcmRMZW5ndGg/OiBudW1iZXJcblx0KTogQXJyYXk8R3RSb3c+IHtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFsbFJvd3MubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmICghYWxsUm93c1tpXS4kJGd0Um93SWQpIHtcblx0XHRcdFx0YWxsUm93c1tpXS4kJGd0Um93SWQgPSByb3dJbmRleFxuXHRcdFx0XHRcdD8gYWxsUm93c1tpXVtyb3dJbmRleF1cblx0XHRcdFx0XHQ6IHBhZ2Vcblx0XHRcdFx0XHRcdD8gcGFnZSAqIHJlY29yZExlbmd0aCArXG5cdFx0XHRcdFx0XHQgIGkgK1xuXHRcdFx0XHRcdFx0ICAnXycgK1xuXHRcdFx0XHRcdFx0ICBNYXRoLnJhbmRvbSgpXG5cdFx0XHRcdFx0XHRcdFx0LnRvU3RyaW5nKDM2KVxuXHRcdFx0XHRcdFx0XHRcdC5zdWJzdHIoMiwgMTYpXG5cdFx0XHRcdFx0XHQ6IGkgK1xuXHRcdFx0XHRcdFx0ICAnXycgK1xuXHRcdFx0XHRcdFx0ICBNYXRoLnJhbmRvbSgpXG5cdFx0XHRcdFx0XHRcdFx0LnRvU3RyaW5nKDM2KVxuXHRcdFx0XHRcdFx0XHRcdC5zdWJzdHIoMiwgMTYpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFhbGxSb3dzW2ldLiQkZ3RJbml0aWFsUm93SW5kZXgpIHtcblx0XHRcdFx0YWxsUm93c1tpXS4kJGd0SW5pdGlhbFJvd0luZGV4ID0gaTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGFsbFJvd3M7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"GtMetaPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"gtMeta"}]}],"members":{"transform":[{"__symbolic":"method"}]}}}}]
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Pipe } from '@angular/core';
|
|
6
|
-
// unsupported: template constraints.
|
|
7
|
-
/**
|
|
8
|
-
* @template R
|
|
9
|
-
*/
|
|
10
|
-
export class GtOrderByPipe {
|
|
11
|
-
constructor() {
|
|
12
|
-
/**
|
|
13
|
-
* Return property
|
|
14
|
-
*/
|
|
15
|
-
this.getProperty = function (array, key) {
|
|
16
|
-
for (let /** @type {?} */ i = 0; i < array.length; i++) {
|
|
17
|
-
if (array[i].objectKey === key) {
|
|
18
|
-
return array[i];
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* @param {?} a
|
|
25
|
-
* @param {?} b
|
|
26
|
-
* @return {?}
|
|
27
|
-
*/
|
|
28
|
-
static _orderByComparator(a, b) {
|
|
29
|
-
// sort boolean values as strings
|
|
30
|
-
if (typeof a === 'boolean') {
|
|
31
|
-
a = a.toString();
|
|
32
|
-
}
|
|
33
|
-
if (typeof b === 'boolean') {
|
|
34
|
-
b = b.toString();
|
|
35
|
-
}
|
|
36
|
-
if (isNaN(parseFloat(a)) ||
|
|
37
|
-
!isFinite(a) ||
|
|
38
|
-
(isNaN(parseFloat(b)) || !isFinite(b))) {
|
|
39
|
-
if (b === null ||
|
|
40
|
-
(typeof b === 'undefined' && (a !== null && typeof a !== 'undefined'))) {
|
|
41
|
-
return 1;
|
|
42
|
-
}
|
|
43
|
-
if (a === null ||
|
|
44
|
-
(typeof a === 'undefined' && (b !== null && typeof b !== 'undefined'))) {
|
|
45
|
-
return -1;
|
|
46
|
-
}
|
|
47
|
-
// isn't a number so lowercase the string to properly compare
|
|
48
|
-
try {
|
|
49
|
-
if (a.toLowerCase() < b.toLowerCase()) {
|
|
50
|
-
return -1;
|
|
51
|
-
}
|
|
52
|
-
if (a.toLowerCase() > b.toLowerCase()) {
|
|
53
|
-
return 1;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch (/** @type {?} */ error) {
|
|
57
|
-
return 0;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
// parse strings as numbers to compare properly
|
|
62
|
-
if (parseFloat(a) < parseFloat(b)) {
|
|
63
|
-
return -1;
|
|
64
|
-
}
|
|
65
|
-
if (parseFloat(a) > parseFloat(b)) {
|
|
66
|
-
return 1;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return 0; // equal each other
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Return sort function
|
|
73
|
-
* @param {?} field
|
|
74
|
-
* @return {?}
|
|
75
|
-
*/
|
|
76
|
-
getSortFunction(field) {
|
|
77
|
-
if (!field) {
|
|
78
|
-
// console.log('error trying to sort undefined field');
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
if (typeof field.sort === 'function') {
|
|
82
|
-
return field.sort;
|
|
83
|
-
}
|
|
84
|
-
else if (typeof field.value === 'function') {
|
|
85
|
-
return field.value;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* @param {?} input
|
|
93
|
-
* @param {?} sortByProperties
|
|
94
|
-
* @param {?} fields
|
|
95
|
-
* @param {?} refreshSorting
|
|
96
|
-
* @param {?} refreshData
|
|
97
|
-
* @return {?}
|
|
98
|
-
*/
|
|
99
|
-
transform(input, sortByProperties, fields, refreshSorting, refreshData) {
|
|
100
|
-
if (!Array.isArray(input) || input === null) {
|
|
101
|
-
return input;
|
|
102
|
-
}
|
|
103
|
-
if (!Array.isArray(sortByProperties) ||
|
|
104
|
-
(Array.isArray(sortByProperties) && sortByProperties.length === 1)) {
|
|
105
|
-
const /** @type {?} */ propertyToCheck = sortByProperties[0];
|
|
106
|
-
const /** @type {?} */ desc = propertyToCheck.substr(0, 1) === '-';
|
|
107
|
-
// basic array
|
|
108
|
-
if (!propertyToCheck ||
|
|
109
|
-
propertyToCheck === '-' ||
|
|
110
|
-
propertyToCheck === '+') {
|
|
111
|
-
return !desc ? input.sort() : input.sort().reverse();
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
const /** @type {?} */ property = propertyToCheck.substr(0, 1) === '+' ||
|
|
115
|
-
propertyToCheck.substr(0, 1) === '-'
|
|
116
|
-
? propertyToCheck.substr(1)
|
|
117
|
-
: propertyToCheck;
|
|
118
|
-
// check if custom sort function is defined
|
|
119
|
-
const /** @type {?} */ sortFunction = this.getSortFunction(this.getProperty(fields, property));
|
|
120
|
-
// console.log(property);
|
|
121
|
-
return input.sort(function (a, b) {
|
|
122
|
-
// use custom sort function if one is defined
|
|
123
|
-
const /** @type {?} */ propertyA = sortFunction === false
|
|
124
|
-
? property === '$$gtRowId'
|
|
125
|
-
? +a.$$gtRowId.split('_')[0]
|
|
126
|
-
: a[property]
|
|
127
|
-
: sortFunction(a);
|
|
128
|
-
const /** @type {?} */ propertyB = sortFunction === false
|
|
129
|
-
? property === '$$gtRowId'
|
|
130
|
-
? +b.$$gtRowId.split('_')[0]
|
|
131
|
-
: b[property]
|
|
132
|
-
: sortFunction(b);
|
|
133
|
-
// if both values are undefined...
|
|
134
|
-
if (typeof propertyA === 'undefined' &&
|
|
135
|
-
typeof propertyB === 'undefined') {
|
|
136
|
-
// ...skip comparison
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
return !desc
|
|
140
|
-
? GtOrderByPipe._orderByComparator(propertyA, propertyB)
|
|
141
|
-
: -GtOrderByPipe._orderByComparator(propertyA, propertyB);
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
// loop over property of the array in order and sort
|
|
147
|
-
return input.sort((a, b) => {
|
|
148
|
-
// console.log('multiple');
|
|
149
|
-
for (let /** @type {?} */ i = 0; i < sortByProperties.length; i++) {
|
|
150
|
-
const /** @type {?} */ desc = sortByProperties[i].substr(0, 1) === '-';
|
|
151
|
-
const /** @type {?} */ property = sortByProperties[i].substr(0, 1) === '+' ||
|
|
152
|
-
sortByProperties[i].substr(0, 1) === '-'
|
|
153
|
-
? sortByProperties[i].substr(1)
|
|
154
|
-
: sortByProperties[i];
|
|
155
|
-
// console.log(property);
|
|
156
|
-
// check if custom sort function is defined
|
|
157
|
-
const /** @type {?} */ sortFunction = this.getSortFunction(this.getProperty(fields, property));
|
|
158
|
-
// use custom sort function if one is defined
|
|
159
|
-
const /** @type {?} */ propertyA = sortFunction === false
|
|
160
|
-
? property === '$$gtRowId'
|
|
161
|
-
? +a.$$gtRowId.split('_')[0]
|
|
162
|
-
: a[property]
|
|
163
|
-
: sortFunction(a);
|
|
164
|
-
const /** @type {?} */ propertyB = sortFunction === false
|
|
165
|
-
? property === '$$gtRowId'
|
|
166
|
-
? +b.$$gtRowId.split('_')[0]
|
|
167
|
-
: b[property]
|
|
168
|
-
: sortFunction(b);
|
|
169
|
-
const /** @type {?} */ comparison = !desc
|
|
170
|
-
? GtOrderByPipe._orderByComparator(propertyA, propertyB)
|
|
171
|
-
: -GtOrderByPipe._orderByComparator(propertyA, propertyB);
|
|
172
|
-
// don't return 0 yet in case of needing to sort by next property
|
|
173
|
-
if (comparison !== 0) {
|
|
174
|
-
return comparison;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
return 0; // equal each other
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
GtOrderByPipe.decorators = [
|
|
183
|
-
{ type: Pipe, args: [{
|
|
184
|
-
name: 'gtOrderBy'
|
|
185
|
-
},] }
|
|
186
|
-
];
|
|
187
|
-
function GtOrderByPipe_tsickle_Closure_declarations() {
|
|
188
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
189
|
-
GtOrderByPipe.decorators;
|
|
190
|
-
/**
|
|
191
|
-
* @nocollapse
|
|
192
|
-
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
|
|
193
|
-
*/
|
|
194
|
-
GtOrderByPipe.ctorParameters;
|
|
195
|
-
/**
|
|
196
|
-
* Return property
|
|
197
|
-
* @type {?}
|
|
198
|
-
*/
|
|
199
|
-
GtOrderByPipe.prototype.getProperty;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Qtb3JkZXItYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhbmd1bGFyLWdlbmVyaWMtdGFibGUvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9ndC1vcmRlci1ieS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPcEQsTUFBTSxPQUFPLGFBQWE7Ozs7OzJCQXFESCxVQUFTLEtBQWlCLEVBQUUsR0FBVztZQUM1RCxLQUFLLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLEVBQUU7b0JBQy9CLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNoQjthQUNEO1NBQ0Q7Ozs7Ozs7SUExREQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQU0sRUFBRSxDQUFNOztRQUV2QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUMzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDM0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtRQUVELElBQ0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDWixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyQztZQUNELElBQ0MsQ0FBQyxLQUFLLElBQUk7Z0JBQ1YsQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLElBQUksQ0FBQyxDQUFD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QUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDNUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7d0JBQ2QsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFcEIsdUJBQU0sVUFBVSxHQUFHLENBQUMsSUFBSTt3QkFDdkIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUN4RCxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDOztvQkFHM0QsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFO3dCQUNyQixPQUFPLFVBQVUsQ0FBQztxQkFDbEI7aUJBQ0Q7Z0JBRUQsT0FBTyxDQUFDLENBQUM7YUFDVCxDQUFDLENBQUM7U0FDSDtLQUNEOzs7WUE3TEQsSUFBSSxTQUFDO2dCQUNMLElBQUksRUFBRSxXQUFXO2FBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3RDb25maWdGaWVsZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3QtY29uZmlnLWZpZWxkJztcbmltcG9ydCB7IEd0Um93IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ndC1yb3cnO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdndE9yZGVyQnknXG59KVxuZXhwb3J0IGNsYXNzIEd0T3JkZXJCeVBpcGU8UiBleHRlbmRzIEd0Um93PiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHRzdGF0aWMgX29yZGVyQnlDb21wYXJhdG9yKGE6IGFueSwgYjogYW55KTogbnVtYmVyIHtcblx0XHQvLyBzb3J0IGJvb2xlYW4gdmFsdWVzIGFzIHN0cmluZ3Ncblx0XHRpZiAodHlwZW9mIGEgPT09ICdib29sZWFuJykge1xuXHRcdFx0YSA9IGEudG9TdHJpbmcoKTtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiBiID09PSAnYm9vbGVhbicpIHtcblx0XHRcdGIgPSBiLnRvU3RyaW5nKCk7XG5cdFx0fVxuXG5cdFx0aWYgKFxuXHRcdFx0aXNOYU4ocGFyc2VGbG9hdChhKSkgfHxcblx0XHRcdCFpc0Zpbml0ZShhKSB8fFxuXHRcdFx0KGlzTmFOKHBhcnNlRmxvYXQoYikpIHx8ICFpc0Zpbml0ZShiKSlcblx0XHQpIHtcblx0XHRcdGlmIChcblx0XHRcdFx0YiA9PT0gbnVsbCB8fFxuXHRcdFx0XHQodHlwZW9mIGIgPT09ICd1bmRlZmluZWQnICYmIChhICE9PSBudWxsICYmIHR5cGVvZiBhICE9PSAndW5kZWZpbmVkJykpXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHR9XG5cdFx0XHRpZiAoXG5cdFx0XHRcdGEgPT09IG51bGwgfHxcblx0XHRcdFx0KHR5cGVvZiBhID09PSAndW5kZWZpbmVkJyAmJiAoYiAhPT0gbnVsbCAmJiB0eXBlb2YgYiAhPT0gJ3VuZGVmaW5lZCcpKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiAtMTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gaXNuJ3QgYSBudW1iZXIgc28gbG93ZXJjYXNlIHRoZSBzdHJpbmcgdG8gcHJvcGVybHkgY29tcGFyZVxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0aWYgKGEudG9Mb3dlckNhc2UoKSA8IGIudG9Mb3dlckNhc2UoKSkge1xuXHRcdFx0XHRcdHJldHVybiAtMTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoYS50b0xvd2VyQ2FzZSgpID4gYi50b0xvd2VyQ2FzZSgpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHRcdH1cblx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdHJldHVybiAwO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBwYXJzZSBzdHJpbmdzIGFzIG51bWJlcnMgdG8gY29tcGFyZSBwcm9wZXJseVxuXHRcdFx0aWYgKHBhcnNlRmxvYXQoYSkgPCBwYXJzZUZsb2F0KGIpKSB7XG5cdFx0XHRcdHJldHVybiAtMTtcblx0XHRcdH1cblx0XHRcdGlmIChwYXJzZUZsb2F0KGEpID4gcGFyc2VGbG9hdChiKSkge1xuXHRcdFx0XHRyZXR1cm4gMTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gMDsgLy8gZXF1YWwgZWFjaCBvdGhlclxuXHR9XG5cblx0LyoqIFJldHVybiBwcm9wZXJ0eSAqL1xuXHRwcml2YXRlIGdldFByb3BlcnR5ID0gZnVuY3Rpb24oYXJyYXk6IEFycmF5PGFueT4sIGtleTogc3RyaW5nKSB7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKGFycmF5W2ldLm9iamVjdEtleSA9PT0ga2V5KSB7XG5cdFx0XHRcdHJldHVybiBhcnJheVtpXTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cblx0LyoqIFJldHVybiBzb3J0IGZ1bmN0aW9uICovXG5cdHByaXZhdGUgZ2V0U29ydEZ1bmN0aW9uKGZpZWxkOiBhbnkpIHtcblx0XHRpZiAoIWZpZWxkKSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnZXJyb3IgdHJ5aW5nIHRvIHNvcnQgdW5kZWZpbmVkIGZpZWxkJyk7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdGlmICh0eXBlb2YgZmllbGQuc29ydCA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0cmV0dXJuIGZpZWxkLnNvcnQ7XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgZmllbGQudmFsdWUgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdHJldHVybiBmaWVsZC52YWx1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdHRyYW5zZm9ybShcblx0XHRpbnB1dDogYW55LFxuXHRcdHNvcnRCeVByb3BlcnRpZXM6IEFycmF5PHN0cmluZz4sXG5cdFx0ZmllbGRzOiBHdENvbmZpZ0ZpZWxkPFIsIGFueT5bXSxcblx0XHRyZWZyZXNoU29ydGluZzogYm9vbGVhbixcblx0XHRyZWZyZXNoRGF0YTogbnVtYmVyXG5cdCk6IGFueSB7XG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KGlucHV0KSB8fCBpbnB1dCA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIGlucHV0O1xuXHRcdH1cblx0XHRpZiAoXG5cdFx0XHQhQXJyYXkuaXNBcnJheShzb3J0QnlQcm9wZXJ0aWVzKSB8fFxuXHRcdFx0KEFycmF5LmlzQXJyYXkoc29ydEJ5UHJvcGVydGllcykgJiYgc29ydEJ5UHJvcGVydGllcy5sZW5ndGggPT09IDEpXG5cdFx0KSB7XG5cdFx0XHRjb25zdCBwcm9wZXJ0eVRvQ2hlY2s6IHN0cmluZyA9IHNvcnRCeVByb3BlcnRpZXNbMF07XG5cdFx0XHRjb25zdCBkZXNjID0gcHJvcGVydHlUb0NoZWNrLnN1YnN0cigwLCAxKSA9PT0gJy0nO1xuXG5cdFx0XHQvLyBiYXNpYyBhcnJheVxuXHRcdFx0aWYgKFxuXHRcdFx0XHQhcHJvcGVydHlUb0NoZWNrIHx8XG5cdFx0XHRcdHByb3BlcnR5VG9DaGVjayA9PT0gJy0nIHx8XG5cdFx0XHRcdHByb3BlcnR5VG9DaGVjayA9PT0gJysnXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuICFkZXNjID8gaW5wdXQuc29ydCgpIDogaW5wdXQuc29ydCgpLnJldmVyc2UoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IHByb3BlcnR5OiBzdHJpbmcgPVxuXHRcdFx0XHRcdHByb3BlcnR5VG9DaGVjay5zdWJzdHIoMCwgMSkgPT09ICcrJyB8fFxuXHRcdFx0XHRcdHByb3BlcnR5VG9DaGVjay5zdWJzdHIoMCwgMSkgPT09ICctJ1xuXHRcdFx0XHRcdFx0PyBwcm9wZXJ0eVRvQ2hlY2suc3Vic3RyKDEpXG5cdFx0XHRcdFx0XHQ6IHByb3BlcnR5VG9DaGVjaztcblxuXHRcdFx0XHQvLyBjaGVjayBpZiBjdXN0b20gc29ydCBmdW5jdGlvbiBpcyBkZWZpbmVkXG5cdFx0XHRcdGNvbnN0IHNvcnRGdW5jdGlvbjogYW55ID0gdGhpcy5nZXRTb3J0RnVuY3Rpb24oXG5cdFx0XHRcdFx0dGhpcy5nZXRQcm9wZXJ0eShmaWVsZHMsIHByb3BlcnR5KVxuXHRcdFx0XHQpO1xuXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHByb3BlcnR5KTtcblx0XHRcdFx0cmV0dXJuIGlucHV0LnNvcnQoZnVuY3Rpb24oYTogYW55LCBiOiBhbnkpIHtcblx0XHRcdFx0XHQvLyB1c2UgY3VzdG9tIHNvcnQgZnVuY3Rpb24gaWYgb25lIGlzIGRlZmluZWRcblx0XHRcdFx0XHRjb25zdCBwcm9wZXJ0eUEgPVxuXHRcdFx0XHRcdFx0c29ydEZ1bmN0aW9uID09PSBmYWxzZVxuXHRcdFx0XHRcdFx0XHQ/IHByb3BlcnR5ID09PSAnJCRndFJvd0lkJ1xuXHRcdFx0XHRcdFx0XHRcdD8gK2EuJCRndFJvd0lkLnNwbGl0KCdfJylbMF1cblx0XHRcdFx0XHRcdFx0XHQ6IGFbcHJvcGVydHldXG5cdFx0XHRcdFx0XHRcdDogc29ydEZ1bmN0aW9uKGEpO1xuXHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5QiA9XG5cdFx0XHRcdFx0XHRzb3J0RnVuY3Rpb24gPT09IGZhbHNlXG5cdFx0XHRcdFx0XHRcdD8gcHJvcGVydHkgPT09ICckJGd0Um93SWQnXG5cdFx0XHRcdFx0XHRcdFx0PyArYi4kJGd0Um93SWQuc3BsaXQoJ18nKVswXVxuXHRcdFx0XHRcdFx0XHRcdDogYltwcm9wZXJ0eV1cblx0XHRcdFx0XHRcdFx0OiBzb3J0RnVuY3Rpb24oYik7XG5cblx0XHRcdFx0XHQvLyBpZiBib3RoIHZhbHVlcyBhcmUgdW5kZWZpbmVkLi4uXG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0dHlwZW9mIHByb3BlcnR5QSA9PT0gJ3VuZGVmaW5lZCcgJiZcblx0XHRcdFx0XHRcdHR5cGVvZiBwcm9wZXJ0eUIgPT09ICd1bmRlZmluZWQnXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHQvLyAuLi5za2lwIGNvbXBhcmlzb25cblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuICFkZXNjXG5cdFx0XHRcdFx0XHQ/IEd0T3JkZXJCeVBpcGUuX29yZGVyQnlDb21wYXJhdG9yKHByb3BlcnR5QSwgcHJvcGVydHlCKVxuXHRcdFx0XHRcdFx0OiAtR3RPcmRlckJ5UGlwZS5fb3JkZXJCeUNvbXBhcmF0b3IocHJvcGVydHlBLCBwcm9wZXJ0eUIpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gbG9vcCBvdmVyIHByb3BlcnR5IG9mIHRoZSBhcnJheSBpbiBvcmRlciBhbmQgc29ydFxuXHRcdFx0cmV0dXJuIGlucHV0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCdtdWx0aXBsZScpO1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHNvcnRCeVByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRjb25zdCBkZXNjID0gc29ydEJ5UHJvcGVydGllc1tpXS5zdWJzdHIoMCwgMSkgPT09ICctJztcblx0XHRcdFx0XHRjb25zdCBwcm9wZXJ0eSA9XG5cdFx0XHRcdFx0XHRzb3J0QnlQcm9wZXJ0aWVzW2ldLnN1YnN0cigwLCAxKSA9PT0gJysnIHx8XG5cdFx0XHRcdFx0XHRzb3J0QnlQcm9wZXJ0aWVzW2ldLnN1YnN0cigwLCAxKSA9PT0gJy0nXG5cdFx0XHRcdFx0XHRcdD8gc29ydEJ5UHJvcGVydGllc1tpXS5zdWJzdHIoMSlcblx0XHRcdFx0XHRcdFx0OiBzb3J0QnlQcm9wZXJ0aWVzW2ldO1xuXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocHJvcGVydHkpO1xuXHRcdFx0XHRcdC8vIGNoZWNrIGlmIGN1c3RvbSBzb3J0IGZ1bmN0aW9uIGlzIGRlZmluZWRcblx0XHRcdFx0XHRjb25zdCBzb3J0RnVuY3Rpb246IGFueSA9IHRoaXMuZ2V0U29ydEZ1bmN0aW9uKFxuXHRcdFx0XHRcdFx0dGhpcy5nZXRQcm9wZXJ0eShmaWVsZHMsIHByb3BlcnR5KVxuXHRcdFx0XHRcdCk7XG5cblx0XHRcdFx0XHQvLyB1c2UgY3VzdG9tIHNvcnQgZnVuY3Rpb24gaWYgb25lIGlzIGRlZmluZWRcblx0XHRcdFx0XHRjb25zdCBwcm9wZXJ0eUEgPVxuXHRcdFx0XHRcdFx0c29ydEZ1bmN0aW9uID09PSBmYWxzZVxuXHRcdFx0XHRcdFx0XHQ/IHByb3BlcnR5ID09PSAnJCRndFJvd0lkJ1xuXHRcdFx0XHRcdFx0XHRcdD8gK2EuJCRndFJvd0lkLnNwbGl0KCdfJylbMF1cblx0XHRcdFx0XHRcdFx0XHQ6IGFbcHJvcGVydHldXG5cdFx0XHRcdFx0XHRcdDogc29ydEZ1bmN0aW9uKGEpO1xuXHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5QiA9XG5cdFx0XHRcdFx0XHRzb3J0RnVuY3Rpb24gPT09IGZhbHNlXG5cdFx0XHRcdFx0XHRcdD8gcHJvcGVydHkgPT09ICckJGd0Um93SWQnXG5cdFx0XHRcdFx0XHRcdFx0PyArYi4kJGd0Um93SWQuc3BsaXQoJ18nKVswXVxuXHRcdFx0XHRcdFx0XHRcdDogYltwcm9wZXJ0eV1cblx0XHRcdFx0XHRcdFx0OiBzb3J0RnVuY3Rpb24oYik7XG5cblx0XHRcdFx0XHRjb25zdCBjb21wYXJpc29uID0gIWRlc2Ncblx0XHRcdFx0XHRcdD8gR3RPcmRlckJ5UGlwZS5fb3JkZXJCeUNvbXBhcmF0b3IocHJvcGVydHlBLCBwcm9wZXJ0eUIpXG5cdFx0XHRcdFx0XHQ6IC1HdE9yZGVyQnlQaXBlLl9vcmRlckJ5Q29tcGFyYXRvcihwcm9wZXJ0eUEsIHByb3BlcnR5Qik7XG5cblx0XHRcdFx0XHQvLyBkb24ndCByZXR1cm4gMCB5ZXQgaW4gY2FzZSBvZiBuZWVkaW5nIHRvIHNvcnQgYnkgbmV4dCBwcm9wZXJ0eVxuXHRcdFx0XHRcdGlmIChjb21wYXJpc29uICE9PSAwKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gY29tcGFyaXNvbjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gMDsgLy8gZXF1YWwgZWFjaCBvdGhlclxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|