@sd-angular/core 1.0.4 → 1.0.8
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 +162 -18
- 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 +2 -2
- package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +2 -2
- package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +5 -4
- package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +2 -2
- package/esm2015/grid-material/src/lib/grid-material.component.js +14 -12
- package/esm2015/grid-material/src/lib/grid-material.module.js +4 -2
- package/esm2015/grid-material/src/lib/models/grid-cell.model.js +2 -0
- package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
- package/esm2015/grid-material/src/lib/models/grid-option.model.js +1 -1
- package/esm2015/grid-material/src/lib/pipes/cell-view.pipe.js +131 -0
- package/fesm2015/sd-angular-core-grid-material.js +149 -19
- 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-view/desktop-cell-view.component.d.ts +2 -0
- package/grid-material/src/lib/models/grid-cell.model.d.ts +15 -0
- package/grid-material/src/lib/models/grid-column.model.d.ts +1 -0
- package/grid-material/src/lib/models/grid-option.model.d.ts +1 -0
- package/grid-material/src/lib/pipes/cell-view.pipe.d.ts +14 -0
- package/package.json +1 -1
- package/{sd-angular-core-1.0.4.tgz → sd-angular-core-1.0.8.tgz} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkQmFkZ2VDb2xvciB9IGZyb20gXCJAc2QtYW5ndWxhci9jb3JlL2JhZGdlXCI7XHJcblxyXG5leHBvcnQgdHlwZSBTZEdyaWRNYXRlcmlhbENvbHVtbjxUID0gYW55PiA9XHJcbiAgU2RHcmlkTWF0ZXJpYWxDb2x1bW5UZXh0PFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbk51bWJlcjxUPiB8XHJcbiAgU2RHcmlkTWF0ZXJpYWxCb29sPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkRhdGU8VD4gfFxyXG4gIFNkR3JpZE1hdGVyaWFsQ29sdW1uVmFsdWVzPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkltYWdlPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQ+O1xyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUID0gYW55PiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRpdGxlSHRtbD86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG4gIGludmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZml4ZWQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkQmFkZ2VDb2xvciB9IGZyb20gXCJAc2QtYW5ndWxhci9jb3JlL2JhZGdlXCI7XHJcblxyXG5leHBvcnQgdHlwZSBTZEdyaWRNYXRlcmlhbENvbHVtbjxUID0gYW55PiA9XHJcbiAgU2RHcmlkTWF0ZXJpYWxDb2x1bW5UZXh0PFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbk51bWJlcjxUPiB8XHJcbiAgU2RHcmlkTWF0ZXJpYWxCb29sPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkRhdGU8VD4gfFxyXG4gIFNkR3JpZE1hdGVyaWFsQ29sdW1uVmFsdWVzPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkltYWdlPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuPFQ+IHxcclxuICBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQ+O1xyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUID0gYW55PiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRpdGxlSHRtbD86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICB3aWR0aD86IHN0cmluZztcclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG4gIGludmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZml4ZWQ/OiBib29sZWFuO1xyXG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGh0bWxUZW1wbGF0ZT86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBULCBpc01vYmlsZU9yVGFibGV0OiBib29sZWFuKSA9PiBzdHJpbmc7XHJcbiAgdHJhbnNmb3JtPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHN0cmluZztcclxuICB0b29sdGlwPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IHN0cmluZztcclxuICBjbGljaz86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiB2b2lkO1xyXG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcclxuICBmaWx0ZXI/OiB7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBkZWZhdWx0U2hvd2luZz86IGJvb2xlYW47XHJcbiAgICBkZWZhdWx0PzogdW5rbm93blxyXG4gIH07XHJcbiAgZXhwb3J0Pzoge1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbHVtblRleHQ8VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VDb2x1bW48VD4ge1xyXG4gIHR5cGU6ICdzdHJpbmcnO1xyXG4gIGJhZGdlPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IFNkQmFkZ2VDb2xvcjtcclxuICBiYWRnZUljb24/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gc3RyaW5nO1xyXG4gIGJhZGdlVHlwZT86ICdjaXJjbGUnIHwgJ2ljb24nO1xyXG4gIGVkaXRvcj86IHtcclxuICAgIGNoYW5nZT86IChyb3dEYXRhOiBUKSA9PiB2b2lkLFxyXG4gICAgaGlkZGVuPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbiksXHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pLFxyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKSxcclxuICAgIG1pbkxlbmd0aD86IG51bWJlcixcclxuICAgIG1heExlbmd0aD86IG51bWJlcixcclxuICAgIHZhbGlkYXRvcj86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmdcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbHVtbk51bWJlcjxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ251bWJlcic7XHJcbiAgYmFkZ2U/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gU2RCYWRnZUNvbG9yO1xyXG4gIGJhZGdlSWNvbj86ICh2YWx1ZTogYW55LCByb3dEYXRhOiBUKSA9PiBzdHJpbmc7XHJcbiAgYmFkZ2VUeXBlPzogJ2NpcmNsZScgfCAnaWNvbic7XHJcbiAgZWRpdG9yPzoge1xyXG4gICAgY2hhbmdlPzogKHJvd0RhdGE6IFQpID0+IHZvaWQsXHJcbiAgICBoaWRkZW4/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKSxcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbiksXHJcbiAgICByZXF1aXJlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pLFxyXG4gICAgbWluVmFsdWU/OiBudW1iZXIsXHJcbiAgICBtYXhWYWx1ZT86IG51bWJlcixcclxuICAgIHZhbGlkYXRvcj86IChyb3dEYXRhOiBUKSA9PiBzdHJpbmdcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbEJvb2w8VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VDb2x1bW48VD4ge1xyXG4gIHR5cGU6ICdib29sJztcclxuICBvcHRpb24/OiB7XHJcbiAgICBkaXNwbGF5T25UcnVlPzogc3RyaW5nO1xyXG4gICAgZGlzcGxheU9uRmFsc2U/OiBzdHJpbmc7XHJcbiAgfTtcclxuICBiYWRnZVR5cGU/OiAnY2lyY2xlJztcclxuICBlZGl0b3I/OiB7XHJcbiAgICBjaGFuZ2U/OiAocm93RGF0YTogVCkgPT4gdm9pZCxcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pLFxyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKSxcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbiksXHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxDb2x1bW5EYXRlPFQgPSBhbnk+IGV4dGVuZHMgU2RHcmlkTWF0ZXJpYWxCYXNlQ29sdW1uPFQ+IHtcclxuICB0eXBlOiAnZGF0ZScgfCAnZGF0ZXRpbWUnIHwgJ3RpbWUnO1xyXG4gIG9wdGlvbj86IHtcclxuICAgIHVzZUZpbHRlckRhdGU/OiBib29sZWFuO1xyXG4gICAgdGltZURpZmZlcmVudD86ICdzZWNvbmQnIHwgJ21pbnV0ZScgfCAnaG91cicgfCAnZGF5JyB8ICdtb250aCc7XHJcbiAgfTtcclxuICBlZGl0b3I/OiB7XHJcbiAgICBjaGFuZ2U/OiAocm93RGF0YTogVCkgPT4gdm9pZCxcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pLFxyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKSxcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbiksXHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxDb2x1bW5WYWx1ZXM8VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VDb2x1bW48VD4ge1xyXG4gIHR5cGU6ICd2YWx1ZXMnO1xyXG4gIGJhZGdlPzogKHZhbHVlOiBhbnksIHJvd0RhdGE6IFQpID0+IFNkQmFkZ2VDb2xvcjtcclxuICBiYWRnZUljb24/OiAodmFsdWU6IGFueSwgcm93RGF0YTogVCkgPT4gc3RyaW5nO1xyXG4gIGJhZGdlVHlwZT86ICdjaXJjbGUnIHwgJ2ljb24nO1xyXG4gIG9wdGlvbj86IHtcclxuICAgIGl0ZW1zOiBhbnlbXSB8ICgoKSA9PiBQcm9taXNlPGFueVtdPik7XHJcbiAgICB2YWx1ZUZpZWxkOiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5RmllbGQ6IHN0cmluZztcclxuICAgIHNlbGVjdGlvbj86ICdBVVRPQ09NUExFVEUnIHwgJ01VTFRJUExFJyB8ICdNVUxUSVBMRUFVVE9DT01QTEVURSc7XHJcbiAgfTtcclxuICBlZGl0b3I/OiB7XHJcbiAgICBjaGFuZ2U/OiAocm93RGF0YTogVCkgPT4gdm9pZCxcclxuICAgIGhpZGRlbj86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pLFxyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKSxcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbiksXHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxDb2x1bW5JbWFnZTxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZUNvbHVtbjxUPiB7XHJcbiAgdHlwZTogJ2ltYWdlJztcclxuICBvcHRpb246IHtcclxuICAgIGhlaWdodDogbnVtYmVyLFxyXG4gICAgd2lkdGg6IG51bWJlclxyXG4gIH07XHJcbiAgZWRpdG9yPzoge1xyXG4gICAgY2hhbmdlPzogKHJvd0RhdGE6IFQpID0+IHZvaWQsXHJcbiAgICBoaWRkZW4/OiBib29sZWFuIHwgKChyb3dEYXRhOiBUKSA9PiBib29sZWFuKSxcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbiB8ICgocm93RGF0YTogVCkgPT4gYm9vbGVhbiksXHJcbiAgICByZXF1aXJlZD86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQpID0+IGJvb2xlYW4pLFxyXG4gIH1cclxufVxyXG5cclxudHlwZSBTZEdyaWRNYXRlcmlhbE5vcm1hbENvbHVtbjxUPiA9XHJcbiAgRXhjbHVkZTxFeGNsdWRlPFNkR3JpZE1hdGVyaWFsQ29sdW1uPFQ+LFxyXG4gICAgU2RHcmlkTWF0ZXJpYWxDb2x1bW5DaGlsZHJlbjxUPj4sXHJcbiAgICBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQ+PjtcclxuXHJcbmV4cG9ydCB0eXBlIFNkR3JpZE1hdGVyaWFsQ2hpbGRDb2x1bW48VCA9IGFueT4gPSAoU2RHcmlkTWF0ZXJpYWxOb3JtYWxDb2x1bW48VD5cclxuICAmIHsgZHluYW1pY1RpdGxlPzogKHJvd0RhdGE6IFQpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiwgY29sU3BhbjogMSB8IDIgfSk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQ29sdW1uQ2hpbGRyZW48VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VDb2x1bW48VD4ge1xyXG4gIHR5cGU6ICdjaGlsZHJlbic7XHJcbiAgY2hpbGRyZW46IFNkR3JpZE1hdGVyaWFsQ2hpbGRDb2x1bW48VD5bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZEdyaWRNYXRlcmlhbENvbHVtbkNoaWxkcmVuQ29sPFQgPSBhbnk+IGV4dGVuZHMgU2RHcmlkTWF0ZXJpYWxCYXNlQ29sdW1uPFQ+IHtcclxuICB0eXBlOiAnY2hpbGRyZW4tY29sJztcclxuICBjaGlsZHJlbjogU2RHcmlkTWF0ZXJpYWxOb3JtYWxDb2x1bW48VD5bXTtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1vcHRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29tbWFuZCB9IGZyb20gJy4vZ3JpZC1jb21tYW5kLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxGaWx0ZXJSZXF1ZXN0LCBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbiB9IGZyb20gJy4vZ3JpZC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1leHBvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1yZWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbiB9IGZyb20gJy4vZ3JpZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uIH0gZnJvbSAnLi9ncmlkLXN1Yi1pbmZvcm1hdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsU2VsZWN0aW9uIH0gZnJvbSAnLi9ncmlkLXNlbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RFZGl0b3IgfSBmcm9tICcuL2dyaWQtZWRpdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxTdHlsZSB9IGZyb20gJy4vZ3JpZC1zdHlsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBTZEdyaWRNYXRlcmlhbE9wdGlvbjxUID0gYW55PiA9IFNkR3JpZE1hdGVyaWFsTG9jYWxPcHRpb248VD4gfCBTZEdyaWRNYXRlcmlhbFNlcnZlck9wdGlvbjxUPjtcclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VCA9IGFueT4ge1xyXG4gIHNoYWRvdz86IGJvb2xlYW47XHJcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIG1pbkhlaWdodD86IHN0cmluZztcclxuICBrZXk/OiBzdHJpbmc7XHJcbiAgc2VsZWN0aW9uPzogU2RHcmlkTWF0ZXJpYWxTZWxlY3Rpb248VD47XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIGRyb3BEcmFnQ29sdW1uRW5hYmxlPzogYm9vbGVhbjtcclxuICBwYWdpbmF0ZT86IHtcclxuICAgIHBhZ2VTaXplPzogbnVtYmVyO1xyXG4gICAgcGFnZXM/OiBudW1iZXJbXTtcclxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zPzogYm9vbGVhbjtcclxuICAgIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgfTtcclxuICBlZGl0b3I/OiBTZEVkaXRvcjxUPjtcclxuICByZWxvYWQ/OiBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbjxUPjtcclxuICBleHBvcnQ/OiBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbjxUPjtcclxuICBjb25maWc/OiBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbjxUPjtcclxuICBmaWx0ZXI/OiBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbjtcclxuICBjb21tYW5kcz86IFNkR3JpZE1hdGVyaWFsQ29tbWFuZDxUPltdO1xyXG4gIGNvbHVtbnM6IFNkR3JpZE1hdGVyaWFsQ29sdW1uPFQ+W107XHJcbiAgc3ViSW5mb3JtYXRpb24/OiBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uPFQ+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1vcHRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29tbWFuZCB9IGZyb20gJy4vZ3JpZC1jb21tYW5kLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxGaWx0ZXJSZXF1ZXN0LCBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbiB9IGZyb20gJy4vZ3JpZC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1leHBvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1yZWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbiB9IGZyb20gJy4vZ3JpZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uIH0gZnJvbSAnLi9ncmlkLXN1Yi1pbmZvcm1hdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsU2VsZWN0aW9uIH0gZnJvbSAnLi9ncmlkLXNlbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RFZGl0b3IgfSBmcm9tICcuL2dyaWQtZWRpdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxTdHlsZSB9IGZyb20gJy4vZ3JpZC1zdHlsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBTZEdyaWRNYXRlcmlhbE9wdGlvbjxUID0gYW55PiA9IFNkR3JpZE1hdGVyaWFsTG9jYWxPcHRpb248VD4gfCBTZEdyaWRNYXRlcmlhbFNlcnZlck9wdGlvbjxUPjtcclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VCA9IGFueT4ge1xyXG4gIHNoYWRvdz86IGJvb2xlYW47XHJcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIG1pbkhlaWdodD86IHN0cmluZztcclxuICBrZXk/OiBzdHJpbmc7XHJcbiAgc2VsZWN0aW9uPzogU2RHcmlkTWF0ZXJpYWxTZWxlY3Rpb248VD47XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIGRyb3BEcmFnQ29sdW1uRW5hYmxlPzogYm9vbGVhbjtcclxuICBwYWdpbmF0ZT86IHtcclxuICAgIHBhZ2VTaXplPzogbnVtYmVyO1xyXG4gICAgcGFnZXM/OiBudW1iZXJbXTtcclxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zPzogYm9vbGVhbjtcclxuICAgIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgfTtcclxuICBlZGl0b3I/OiBTZEVkaXRvcjxUPjtcclxuICByZWxvYWQ/OiBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbjxUPjtcclxuICBleHBvcnQ/OiBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbjxUPjtcclxuICBjb25maWc/OiBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbjxUPjtcclxuICBmaWx0ZXI/OiBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbjtcclxuICBjb21tYW5kcz86IFNkR3JpZE1hdGVyaWFsQ29tbWFuZDxUPltdO1xyXG4gIGNvbHVtbnM6IFNkR3JpZE1hdGVyaWFsQ29sdW1uPFQ+W107XHJcbiAgc3ViSW5mb3JtYXRpb24/OiBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uPFQ+O1xyXG4gIHN0eWxlPzogU2RHcmlkTWF0ZXJpYWxTdHlsZTxUPjtcclxuICBkaXNwbGF5T25FbXB0eT86IGJvb2xlYW4gfCAoKHJvd0RhdGE6IFQsIGNvbHVtbj86IFNkR3JpZE1hdGVyaWFsQ29sdW1uPFQ+KSA9PiBzdHJpbmcpO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxMb2NhbE9wdGlvbjxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZU9wdGlvbjxUPiB7XHJcbiAgdHlwZTogJ2xvY2FsJztcclxuICBpdGVtczogKCgpID0+IFRbXSB8IFByb21pc2U8VFtdPik7XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbFNlcnZlck9wdGlvbjxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZU9wdGlvbjxUPiB7XHJcbiAgdHlwZTogJ3NlcnZlcic7XHJcbiAgaXRlbXM6IChmaWx0ZXJSZXF1ZXN0OiBTZEdyaWRNYXRlcmlhbEZpbHRlclJlcXVlc3QpID0+IFByb21pc2U8eyBpdGVtczogVFtdLCB0b3RhbDogbnVtYmVyIH0+IHwgT2JzZXJ2YWJsZTx7IGl0ZW1zOiBUW10sIHRvdGFsOiBudW1iZXIgfT47XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
var _maxSecond, _maxMinute, _maxHour, _maxDay, _maxMonth, _isMobileOrTablet;
|
|
2
|
+
import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { Pipe } from '@angular/core';
|
|
4
|
+
import { SdUtilityService } from '@sd-angular/core/utility';
|
|
5
|
+
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
6
|
+
import { SdGridService } from '../services/grid.service';
|
|
7
|
+
export class SdCellViewPipe {
|
|
8
|
+
constructor(deviceService, utilityService, gridService) {
|
|
9
|
+
this.utilityService = utilityService;
|
|
10
|
+
this.gridService = gridService;
|
|
11
|
+
_maxSecond.set(this, 60);
|
|
12
|
+
_maxMinute.set(this, __classPrivateFieldGet(this, _maxSecond) * 60);
|
|
13
|
+
_maxHour.set(this, __classPrivateFieldGet(this, _maxMinute) * 24);
|
|
14
|
+
_maxDay.set(this, __classPrivateFieldGet(this, _maxHour) * 30);
|
|
15
|
+
_maxMonth.set(this, __classPrivateFieldGet(this, _maxHour) * 365);
|
|
16
|
+
_isMobileOrTablet.set(this, false);
|
|
17
|
+
__classPrivateFieldSet(this, _isMobileOrTablet, !deviceService.isDesktop());
|
|
18
|
+
}
|
|
19
|
+
transform(value, rowData, column, gridOption, key) {
|
|
20
|
+
var _a, _b, _c, _d;
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
const { displayOnEmpty } = gridOption;
|
|
23
|
+
const { align, click, tooltip, htmlTemplate, transform } = column;
|
|
24
|
+
const result = {
|
|
25
|
+
badge: null,
|
|
26
|
+
tooltip: null,
|
|
27
|
+
display: {
|
|
28
|
+
align: align || (column.type === 'number' ? 'right' : 'left'),
|
|
29
|
+
value
|
|
30
|
+
},
|
|
31
|
+
click: null
|
|
32
|
+
};
|
|
33
|
+
// Display
|
|
34
|
+
if (typeof (htmlTemplate) === 'function') {
|
|
35
|
+
result.display.html = htmlTemplate(value, rowData, __classPrivateFieldGet(this, _isMobileOrTablet));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
if (transform) {
|
|
39
|
+
result.display.value = transform(value, rowData);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
if (column.type === 'date' || column.type === 'datetime') {
|
|
43
|
+
const { option: { timeDifferent } } = column;
|
|
44
|
+
const seconds = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);
|
|
45
|
+
if (timeDifferent === 'month' && seconds < __classPrivateFieldGet(this, _maxMonth)) {
|
|
46
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
47
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
48
|
+
}
|
|
49
|
+
else if (timeDifferent === 'day' && seconds < __classPrivateFieldGet(this, _maxDay)) {
|
|
50
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
51
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
52
|
+
}
|
|
53
|
+
else if (timeDifferent === 'hour' && seconds < __classPrivateFieldGet(this, _maxHour)) {
|
|
54
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
55
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
56
|
+
}
|
|
57
|
+
else if (timeDifferent === 'minute' && seconds < __classPrivateFieldGet(this, _maxMinute)) {
|
|
58
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
59
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
60
|
+
}
|
|
61
|
+
else if (timeDifferent === 'second' && seconds < __classPrivateFieldGet(this, _maxSecond)) {
|
|
62
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
63
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
result.display.value = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (column.type === 'time') {
|
|
70
|
+
result.display.value = Date.toFormat(value, 'HH:mm');
|
|
71
|
+
}
|
|
72
|
+
if (column.type === 'values') {
|
|
73
|
+
const data = yield this.gridService.loadValues(column, key);
|
|
74
|
+
result.display.value = (_c = (_a = data.obj[value]) === null || _a === void 0 ? void 0 : _a[(_b = column.option) === null || _b === void 0 ? void 0 : _b.displayField]) !== null && _c !== void 0 ? _c : value;
|
|
75
|
+
}
|
|
76
|
+
else if (column.type === 'number' && Number.isNumber(value)) {
|
|
77
|
+
result.display.value = Number.toVNCurrency(value); // this.decimalPipe.transform(value, '1.0-2');
|
|
78
|
+
}
|
|
79
|
+
if (column.type === 'bool') {
|
|
80
|
+
const { option } = column;
|
|
81
|
+
result.display.value = value === true ? ((option === null || option === void 0 ? void 0 : option.displayOnTrue) || 'True') : ((option === null || option === void 0 ? void 0 : option.displayOnFalse) || 'False');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (displayOnEmpty && (result.display.value === null || result.display.value === undefined || result.display.value === '')) {
|
|
85
|
+
if (typeof (displayOnEmpty) === 'function') {
|
|
86
|
+
result.display.html = displayOnEmpty(rowData, column);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
result.display.html = `<div class="T16R">--</div>`;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Badge
|
|
94
|
+
if ((column.type === 'string' || column.type === 'number' || column.type === 'values') && column.badge) {
|
|
95
|
+
result.badge = {
|
|
96
|
+
type: !(column === null || column === void 0 ? void 0 : column.badgeType) ? 'round' : column.badgeType,
|
|
97
|
+
color: column.badge(value, rowData),
|
|
98
|
+
icon: (_d = column === null || column === void 0 ? void 0 : column.badgeIcon) === null || _d === void 0 ? void 0 : _d.call(column, value, rowData)
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
else if (column.type === 'bool') {
|
|
102
|
+
result.badge = {
|
|
103
|
+
type: !(column === null || column === void 0 ? void 0 : column.badgeType) ? 'round' : column.badgeType,
|
|
104
|
+
color: !!value ? 'success' : 'danger',
|
|
105
|
+
icon: null
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
// Tooltip
|
|
109
|
+
if (typeof (tooltip) === 'function') {
|
|
110
|
+
result.tooltip = tooltip(value, rowData);
|
|
111
|
+
}
|
|
112
|
+
// Clickable
|
|
113
|
+
if (typeof (click) === 'function') {
|
|
114
|
+
result.click = () => click(value, rowData);
|
|
115
|
+
}
|
|
116
|
+
return result;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
_maxSecond = new WeakMap(), _maxMinute = new WeakMap(), _maxHour = new WeakMap(), _maxDay = new WeakMap(), _maxMonth = new WeakMap(), _isMobileOrTablet = new WeakMap();
|
|
121
|
+
SdCellViewPipe.decorators = [
|
|
122
|
+
{ type: Pipe, args: [{
|
|
123
|
+
name: 'cellView'
|
|
124
|
+
},] }
|
|
125
|
+
];
|
|
126
|
+
SdCellViewPipe.ctorParameters = () => [
|
|
127
|
+
{ type: DeviceDetectorService },
|
|
128
|
+
{ type: SdUtilityService },
|
|
129
|
+
{ type: SdGridService }
|
|
130
|
+
];
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC12aWV3LnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9jZWxsLXZpZXcucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl6RCxNQUFNLE9BQU8sY0FBYztJQU96QixZQUNFLGFBQW9DLEVBQzVCLGNBQWdDLEVBQ2hDLFdBQTBCO1FBRDFCLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQVRwQyxxQkFBYSxFQUFFLEVBQUM7UUFDaEIscUJBQWEsMkNBQWtCLEVBQUUsRUFBQztRQUNsQyxtQkFBVywyQ0FBa0IsRUFBRSxFQUFDO1FBQ2hDLGtCQUFVLHlDQUFnQixFQUFFLEVBQUM7UUFDN0Isb0JBQVkseUNBQWdCLEdBQUcsRUFBQztRQUNoQyw0QkFBb0IsS0FBSyxFQUFDO1FBS3hCLHVCQUFBLElBQUkscUJBQXFCLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFDO0lBQ3RELENBQUM7SUFDSyxTQUFTLENBQUMsS0FBVSxFQUFFLE9BQVksRUFBRSxNQUE0QixFQUFFLFVBQWdDLEVBQUUsR0FBVzs7O1lBQ25ILE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDdEMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FB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Ozs7O1lBdEdGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsVUFBVTthQUNqQjs7O1lBUFEscUJBQXFCO1lBRHJCLGdCQUFnQjtZQUtoQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdXRpbGl0eSc7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xyXG5pbXBvcnQgeyBTZENlbGxWaWV3IH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY2VsbC5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjZWxsVmlldydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ2VsbFZpZXdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgI21heFNlY29uZCA9IDYwO1xyXG4gICNtYXhNaW51dGUgPSB0aGlzLiNtYXhTZWNvbmQgKiA2MDtcclxuICAjbWF4SG91ciA9IHRoaXMuI21heE1pbnV0ZSAqIDI0O1xyXG4gICNtYXhEYXkgPSB0aGlzLiNtYXhIb3VyICogMzA7XHJcbiAgI21heE1vbnRoID0gdGhpcy4jbWF4SG91ciAqIDM2NTtcclxuICAjaXNNb2JpbGVPclRhYmxldCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1dGlsaXR5U2VydmljZTogU2RVdGlsaXR5U2VydmljZSxcclxuICAgIHByaXZhdGUgZ3JpZFNlcnZpY2U6IFNkR3JpZFNlcnZpY2UpIHtcclxuICAgIHRoaXMuI2lzTW9iaWxlT3JUYWJsZXQgPSAhZGV2aWNlU2VydmljZS5pc0Rlc2t0b3AoKTtcclxuICB9XHJcbiAgYXN5bmMgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHJvd0RhdGE6IGFueSwgY29sdW1uOiBTZEdyaWRNYXRlcmlhbENvbHVtbiwgZ3JpZE9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24sIGtleTogc3RyaW5nKTogUHJvbWlzZTxTZENlbGxWaWV3PiB7XHJcbiAgICBjb25zdCB7IGRpc3BsYXlPbkVtcHR5IH0gPSBncmlkT3B0aW9uO1xyXG4gICAgY29uc3QgeyBhbGlnbiwgY2xpY2ssIHRvb2x0aXAsIGh0bWxUZW1wbGF0ZSwgdHJhbnNmb3JtIH0gPSBjb2x1bW47XHJcbiAgICBjb25zdCByZXN1bHQ6IFNkQ2VsbFZpZXcgPSB7XHJcbiAgICAgIGJhZGdlOiBudWxsLFxyXG4gICAgICB0b29sdGlwOiBudWxsLFxyXG4gICAgICBkaXNwbGF5OiB7XHJcbiAgICAgICAgYWxpZ246IGFsaWduIHx8IChjb2x1bW4udHlwZSA9PT0gJ251bWJlcicgPyAncmlnaHQnIDogJ2xlZnQnKSxcclxuICAgICAgICB2YWx1ZVxyXG4gICAgICB9LFxyXG4gICAgICBjbGljazogbnVsbFxyXG4gICAgfVxyXG4gICAgLy8gRGlzcGxheVxyXG4gICAgaWYgKHR5cGVvZiAoaHRtbFRlbXBsYXRlKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXN1bHQuZGlzcGxheS5odG1sID0gaHRtbFRlbXBsYXRlKHZhbHVlLCByb3dEYXRhLCB0aGlzLiNpc01vYmlsZU9yVGFibGV0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0cmFuc2Zvcm0pIHtcclxuICAgICAgICByZXN1bHQuZGlzcGxheS52YWx1ZSA9IHRyYW5zZm9ybSh2YWx1ZSwgcm93RGF0YSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGNvbHVtbi50eXBlID09PSAnZGF0ZScgfHwgY29sdW1uLnR5cGUgPT09ICdkYXRldGltZScpIHtcclxuICAgICAgICAgIGNvbnN0IHsgb3B0aW9uOiB7IHRpbWVEaWZmZXJlbnQgfSB9ID0gY29sdW1uO1xyXG4gICAgICAgICAgY29uc3Qgc2Vjb25kcyA9IE1hdGgucm91bmQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKSkgLyAxMDAwKTtcclxuICAgICAgICAgIGlmICh0aW1lRGlmZmVyZW50ID09PSAnbW9udGgnICYmIHNlY29uZHMgPCB0aGlzLiNtYXhNb250aCkge1xyXG4gICAgICAgICAgICByZXN1bHQuZGlzcGxheS52YWx1ZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UudGltZURpZmZlcmVuY2UodmFsdWUpO1xyXG4gICAgICAgICAgICByZXN1bHQudG9vbHRpcCA9IERhdGUudG9Gb3JtYXQodmFsdWUsIGNvbHVtbi50eXBlID09PSAnZGF0ZScgPyAnZGQvTU0veXl5eScgOiAnZGQvTU0veXl5eSBISDptbScpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aW1lRGlmZmVyZW50ID09PSAnZGF5JyAmJiBzZWNvbmRzIDwgdGhpcy4jbWF4RGF5KSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5LnZhbHVlID0gdGhpcy51dGlsaXR5U2VydmljZS50aW1lRGlmZmVyZW5jZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHJlc3VsdC50b29sdGlwID0gRGF0ZS50b0Zvcm1hdCh2YWx1ZSwgY29sdW1uLnR5cGUgPT09ICdkYXRlJyA/ICdkZC9NTS95eXl5JyA6ICdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpbWVEaWZmZXJlbnQgPT09ICdob3VyJyAmJiBzZWNvbmRzIDwgdGhpcy4jbWF4SG91cikge1xyXG4gICAgICAgICAgICByZXN1bHQuZGlzcGxheS52YWx1ZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UudGltZURpZmZlcmVuY2UodmFsdWUpO1xyXG4gICAgICAgICAgICByZXN1bHQudG9vbHRpcCA9IERhdGUudG9Gb3JtYXQodmFsdWUsIGNvbHVtbi50eXBlID09PSAnZGF0ZScgPyAnZGQvTU0veXl5eScgOiAnZGQvTU0veXl5eSBISDptbScpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aW1lRGlmZmVyZW50ID09PSAnbWludXRlJyAmJiBzZWNvbmRzIDwgdGhpcy4jbWF4TWludXRlKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5LnZhbHVlID0gdGhpcy51dGlsaXR5U2VydmljZS50aW1lRGlmZmVyZW5jZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHJlc3VsdC50b29sdGlwID0gRGF0ZS50b0Zvcm1hdCh2YWx1ZSwgY29sdW1uLnR5cGUgPT09ICdkYXRlJyA/ICdkZC9NTS95eXl5JyA6ICdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpbWVEaWZmZXJlbnQgPT09ICdzZWNvbmQnICYmIHNlY29uZHMgPCB0aGlzLiNtYXhTZWNvbmQpIHtcclxuICAgICAgICAgICAgcmVzdWx0LmRpc3BsYXkudmFsdWUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLnRpbWVEaWZmZXJlbmNlKHZhbHVlKTtcclxuICAgICAgICAgICAgcmVzdWx0LnRvb2x0aXAgPSBEYXRlLnRvRm9ybWF0KHZhbHVlLCBjb2x1bW4udHlwZSA9PT0gJ2RhdGUnID8gJ2RkL01NL3l5eXknIDogJ2RkL01NL3l5eXkgSEg6bW0nKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5LnZhbHVlID0gRGF0ZS50b0Zvcm1hdCh2YWx1ZSwgY29sdW1uLnR5cGUgPT09ICdkYXRlJyA/ICdkZC9NTS95eXl5JyA6ICdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ3RpbWUnKSB7XHJcbiAgICAgICAgICByZXN1bHQuZGlzcGxheS52YWx1ZSA9IERhdGUudG9Gb3JtYXQodmFsdWUsICdISDptbScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICd2YWx1ZXMnKSB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5ncmlkU2VydmljZS5sb2FkVmFsdWVzKGNvbHVtbiwga2V5KTtcclxuICAgICAgICAgIHJlc3VsdC5kaXNwbGF5LnZhbHVlID0gZGF0YS5vYmpbdmFsdWVdPy5bY29sdW1uLm9wdGlvbj8uZGlzcGxheUZpZWxkXSA/PyB2YWx1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGNvbHVtbi50eXBlID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgICAgICByZXN1bHQuZGlzcGxheS52YWx1ZSA9IE51bWJlci50b1ZOQ3VycmVuY3kodmFsdWUpOyAvLyB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJzEuMC0yJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2Jvb2wnKSB7XHJcbiAgICAgICAgICBjb25zdCB7IG9wdGlvbiB9ID0gY29sdW1uO1xyXG4gICAgICAgICAgcmVzdWx0LmRpc3BsYXkudmFsdWUgPSB2YWx1ZSA9PT0gdHJ1ZSA/IChvcHRpb24/LmRpc3BsYXlPblRydWUgfHwgJ1RydWUnKSA6IChvcHRpb24/LmRpc3BsYXlPbkZhbHNlIHx8ICdGYWxzZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZGlzcGxheU9uRW1wdHkgJiYgKHJlc3VsdC5kaXNwbGF5LnZhbHVlID09PSBudWxsIHx8IHJlc3VsdC5kaXNwbGF5LnZhbHVlID09PSB1bmRlZmluZWQgfHwgcmVzdWx0LmRpc3BsYXkudmFsdWUgPT09ICcnKSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgKGRpc3BsYXlPbkVtcHR5KSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgcmVzdWx0LmRpc3BsYXkuaHRtbCA9IGRpc3BsYXlPbkVtcHR5KHJvd0RhdGEsIGNvbHVtbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc3VsdC5kaXNwbGF5Lmh0bWwgPSBgPGRpdiBjbGFzcz1cIlQxNlJcIj4tLTwvZGl2PmBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEJhZGdlXHJcbiAgICBpZiAoKGNvbHVtbi50eXBlID09PSAnc3RyaW5nJyB8fCBjb2x1bW4udHlwZSA9PT0gJ251bWJlcicgfHwgY29sdW1uLnR5cGUgPT09ICd2YWx1ZXMnKSAmJiBjb2x1bW4uYmFkZ2UpIHtcclxuICAgICAgcmVzdWx0LmJhZGdlID0ge1xyXG4gICAgICAgIHR5cGU6ICFjb2x1bW4/LmJhZGdlVHlwZSA/ICdyb3VuZCcgOiBjb2x1bW4uYmFkZ2VUeXBlLFxyXG4gICAgICAgIGNvbG9yOiBjb2x1bW4uYmFkZ2UodmFsdWUsIHJvd0RhdGEpLFxyXG4gICAgICAgIGljb246IGNvbHVtbj8uYmFkZ2VJY29uPy4odmFsdWUsIHJvd0RhdGEpXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY29sdW1uLnR5cGUgPT09ICdib29sJykge1xyXG4gICAgICByZXN1bHQuYmFkZ2UgPSB7XHJcbiAgICAgICAgdHlwZTogIWNvbHVtbj8uYmFkZ2VUeXBlID8gJ3JvdW5kJyA6IGNvbHVtbi5iYWRnZVR5cGUsXHJcbiAgICAgICAgY29sb3I6ICEhdmFsdWUgPyAnc3VjY2VzcycgOiAnZGFuZ2VyJyxcclxuICAgICAgICBpY29uOiBudWxsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRvb2x0aXBcclxuICAgIGlmICh0eXBlb2YgKHRvb2x0aXApID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJlc3VsdC50b29sdGlwID0gdG9vbHRpcCh2YWx1ZSwgcm93RGF0YSk7XHJcbiAgICB9XHJcbiAgICAvLyBDbGlja2FibGVcclxuICAgIGlmICh0eXBlb2YgKGNsaWNrKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXN1bHQuY2xpY2sgPSAoKSA9PiBjbGljayh2YWx1ZSwgcm93RGF0YSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -420,7 +420,7 @@ _filterOptionChanges = new WeakMap(), _subscription = new WeakMap(), _loadDefaul
|
|
|
420
420
|
SdGridFilter.decorators = [
|
|
421
421
|
{ type: Component, args: [{
|
|
422
422
|
selector: 'sd-grid-filter',
|
|
423
|
-
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
|
+
template: "<ng-container *ngIf=\"isVisible\">\r\n <div *ngIf=\"!isMobileOrTablet && ((columns?.length && !filter?.inlineColumn) || 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>",
|
|
424
424
|
styles: [":host{display:block;padding-left:0;padding-right:0}:host ::ng-deep .mat-form-field-wrapper{padding-bottom:0}"]
|
|
425
425
|
},] }
|
|
426
426
|
];
|
|
@@ -1245,26 +1245,26 @@ class SdGridMaterial {
|
|
|
1245
1245
|
const { columns } = this.gridOption;
|
|
1246
1246
|
const { rawColumnFilter, orderBy, orderDirection, pageSize, pageNumber } = filterInfo;
|
|
1247
1247
|
const items = localItems.filter(item => {
|
|
1248
|
-
var _a, _b;
|
|
1248
|
+
var _a, _b, _c, _d;
|
|
1249
1249
|
for (const column of columns) {
|
|
1250
|
-
const { field } = column;
|
|
1250
|
+
const { field, type } = column;
|
|
1251
1251
|
const filterValue = (rawColumnFilter[field] || '').toString().trim().toLowerCase();
|
|
1252
1252
|
const columnValue = (item[field] || '').toString().trim().toLowerCase();
|
|
1253
1253
|
if (filterValue) {
|
|
1254
|
-
if (!columnValue) {
|
|
1254
|
+
if (!columnValue && type !== 'datetime' && type !== 'date' && type !== 'time') {
|
|
1255
1255
|
return false;
|
|
1256
1256
|
}
|
|
1257
|
-
if (
|
|
1257
|
+
if (type === 'string') {
|
|
1258
1258
|
if (columnValue.indexOf(filterValue) === -1) {
|
|
1259
1259
|
return false;
|
|
1260
1260
|
}
|
|
1261
1261
|
}
|
|
1262
|
-
else if (
|
|
1262
|
+
else if (type === 'values') {
|
|
1263
1263
|
if (columnValue !== filterValue) {
|
|
1264
1264
|
return false;
|
|
1265
1265
|
}
|
|
1266
1266
|
}
|
|
1267
|
-
else if (
|
|
1267
|
+
else if (type === 'number') {
|
|
1268
1268
|
const fValue = +filterValue.replace('>=', '').replace('<=', '').replace('>', '').replace('<', '');
|
|
1269
1269
|
const cValue = +columnValue;
|
|
1270
1270
|
if (fValue || fValue === 0) {
|
|
@@ -1288,7 +1288,7 @@ class SdGridMaterial {
|
|
|
1288
1288
|
}
|
|
1289
1289
|
}
|
|
1290
1290
|
}
|
|
1291
|
-
else if (
|
|
1291
|
+
else if (type === 'bool') {
|
|
1292
1292
|
if (filterValue === '1' && columnValue !== '1' && columnValue !== 'true') {
|
|
1293
1293
|
return false;
|
|
1294
1294
|
}
|
|
@@ -1296,12 +1296,15 @@ class SdGridMaterial {
|
|
|
1296
1296
|
return false;
|
|
1297
1297
|
}
|
|
1298
1298
|
}
|
|
1299
|
-
else if (
|
|
1300
|
-
const from = (_a =
|
|
1301
|
-
const to = (
|
|
1299
|
+
else if (type === 'datetime' || type === 'date' || type === 'time') {
|
|
1300
|
+
const from = (_b = (_a = rawColumnFilter[field]) === null || _a === void 0 ? void 0 : _a.from) !== null && _b !== void 0 ? _b : rawColumnFilter[field];
|
|
1301
|
+
const to = (_d = (_c = rawColumnFilter[field]) === null || _c === void 0 ? void 0 : _c.to) !== null && _d !== void 0 ? _d : rawColumnFilter[field];
|
|
1302
1302
|
const fromDate = Date.begin(from);
|
|
1303
1303
|
const toDate = Date.end(to);
|
|
1304
1304
|
if (fromDate && toDate) {
|
|
1305
|
+
if (!columnValue) {
|
|
1306
|
+
return false;
|
|
1307
|
+
}
|
|
1305
1308
|
if (new Date(columnValue).getTime() < fromDate.getTime() || new Date(columnValue).getTime() >= toDate.getTime()) {
|
|
1306
1309
|
return false;
|
|
1307
1310
|
}
|
|
@@ -1340,7 +1343,6 @@ class SdGridMaterial {
|
|
|
1340
1343
|
}
|
|
1341
1344
|
}
|
|
1342
1345
|
}
|
|
1343
|
-
console.log(localItems, items, rawColumnFilter);
|
|
1344
1346
|
return {
|
|
1345
1347
|
items: items.filter((item, index) => {
|
|
1346
1348
|
return index >= pageNumber * pageSize
|
|
@@ -2184,9 +2186,9 @@ class SdDesktopCellView {
|
|
|
2184
2186
|
SdDesktopCellView.decorators = [
|
|
2185
2187
|
{ type: Component, args: [{
|
|
2186
2188
|
selector: 'sd-desktop-cell-view',
|
|
2187
|
-
template: "<ng-container *
|
|
2189
|
+
template: "<ng-container *sdLet=\"item[column.field] | cellView:item:column:gridOption:key | async as view\">\r\n <div *ngIf=\"!!view.display.html;else useValue\" (click)=\"!!view.click && view.click()\" class=\"text-break\"\r\n [class.cursor-pointer]=\"!!view.click\" [matTooltip]=\"view.tooltip\" [innerHTML]=\"view.display.html | safeHtml\">\r\n </div>\r\n <ng-template #useValue>\r\n <ng-container *ngIf=\"!!view.badge; else noBadge\">\r\n <sd-badge [type]=\"view.badge.type\" [title]=\"view.display.value\" [color]=\"view.badge.color\"\r\n [icon]=\"view.badge.icon\" [tooltip]=\"view.tooltip\" (sdClick)=\"column.click(item[column.field], item)\"></sd-badge>\r\n </ng-container>\r\n <ng-template #noBadge>\r\n <ng-container *ngIf=\"column.type !== 'children'; else childrenView\">\r\n <div *ngIf=\"column.type !== 'image'\" class=\"text-break\"\r\n [class.text-center]=\"view.display.align === 'center'\" [class.text-right]=\"view.display.align === 'right'\"\r\n [matTooltip]=\"view.tooltip\">\r\n <a *ngIf=\"!!view.click\" href=\"javascript:;\" (click)=\"view.click()\">{{view.display.value}}</a>\r\n <ng-container *ngIf=\"!view.click\">{{view.display.value}}\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"column.type === 'image'\" class=\"align-middle text-center\">\r\n <img *ngIf=\"view.display.value\" [src]=\"view.display.value\" [width]=\"column.option?.width\"\r\n [height]=\"column.option?.height\" class=\"c-image\" (click)=\"!!view.click && view.click()\"\r\n [class.cursor-pointer]=\"!!view.click\">\r\n <mat-icon *ngIf=\"!view.display.value\" class=\"c-img\" [class.cursor-pointer]=\"!!view.click\"\r\n (click)=\"!!view.click && view.click()\">\r\n image</mat-icon>\r\n </div>\r\n </ng-container>\r\n <ng-template #childrenView>\r\n <sd-desktop-cell-children-view [key]=\"key\" [item]=\"item\" [column]=\"column\">\r\n </sd-desktop-cell-children-view>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n</ng-container>",
|
|
2188
2190
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2189
|
-
styles: [".c-color-success{color:#4caf50}.c-color-danger{color:#f82c13}.c-img{font-size:30px;opacity:.5}.c-img.pointer:hover{opacity:.9}"]
|
|
2191
|
+
styles: [".c-color-success{color:#4caf50}.c-color-danger{color:#f82c13}.c-image{-o-object-fit:contain;margin:5px 0;object-fit:contain}.c-img{font-size:30px;opacity:.5}.c-img.pointer:hover{opacity:.9}"]
|
|
2190
2192
|
},] }
|
|
2191
2193
|
];
|
|
2192
2194
|
SdDesktopCellView.ctorParameters = () => [];
|
|
@@ -2194,7 +2196,8 @@ SdDesktopCellView.propDecorators = {
|
|
|
2194
2196
|
sdId: [{ type: Input }],
|
|
2195
2197
|
key: [{ type: Input }],
|
|
2196
2198
|
column: [{ type: Input }],
|
|
2197
|
-
item: [{ type: Input }]
|
|
2199
|
+
item: [{ type: Input }],
|
|
2200
|
+
gridOption: [{ type: Input }]
|
|
2198
2201
|
};
|
|
2199
2202
|
|
|
2200
2203
|
class SdColumnTransformPipe {
|
|
@@ -2844,7 +2847,7 @@ class SdDesktopCell {
|
|
|
2844
2847
|
SdDesktopCell.decorators = [
|
|
2845
2848
|
{ type: Component, args: [{
|
|
2846
2849
|
selector: 'sd-desktop-cell',
|
|
2847
|
-
template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow?.visible;else useView\">\r\n <!-- <ng-container *sdLet=\"item[column.field] | sdId:item:column\"> -->\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 *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-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>",
|
|
2850
|
+
template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"item.editorHandlerRow?.visible;else useView\">\r\n <!-- <ng-container *sdLet=\"item[column.field] | sdId:item:column\"> -->\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 *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-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\" [gridOption]=\"gridOption\" [item]=\"item\">\r\n </sd-desktop-cell-view>\r\n </ng-template>\r\n</ng-container>",
|
|
2848
2851
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
2849
2852
|
},] }
|
|
2850
2853
|
];
|
|
@@ -2874,7 +2877,7 @@ class SdDesktopCellEditor {
|
|
|
2874
2877
|
SdDesktopCellEditor.decorators = [
|
|
2875
2878
|
{ type: Component, args: [{
|
|
2876
2879
|
selector: 'sd-desktop-cell-editor',
|
|
2877
|
-
template: "<sd-input *ngIf=\"column.type === 'string'\" size=\"sm\" type=\"text\" [(model)]=\"item[column.field]\" (sdChange)=\"onChange()\" disableErrorMessage>\r\n</sd-input>\r\n<sd-input *ngIf=\"column.type === 'number'\" size=\"sm\" type=\"number\" [(model)]=\"item[column.field]\"\r\n (sdChange)=\"onChange()\" disableErrorMessage>\r\n</sd-input>\r\n<sd-select *ngIf=\"column.type === 'bool'\" size=\"sm\" [items]=\"[\r\n { value: true, display: column.option?.displayOnTrue || 'True' },\r\n { value: false, display: column.option?.displayOnFalse || 'False' }\r\n ]\" valueField=\"value\" displayField=\"display\" [(model)]=\"item[column.field]\" (sdChange)=\"onChange()\" disableErrorMessage>\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)]=\"item[column.field]\" (sdChange)=\"onChange()\" [multiple]=\"\r\n column?.option?.selection === 'MULTIPLE' ||\r\n column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\r\n \" [filtered]=\"column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\" disableErrorMessage>\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)]=\"item[column.field]\" (sdChange)=\"onChange()\" disableErrorMessage>\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)]=\"item[column.field]\" [type]=\"column.type\" (sdChange)=\"onChange()\" disableErrorMessage>\r\n</sd-date-time>",
|
|
2880
|
+
template: "<sd-input *ngIf=\"column.type === 'string'\" size=\"sm\" type=\"text\" [(model)]=\"item[column.field]\" (sdChange)=\"onChange()\" disableErrorMessage>\r\n</sd-input>\r\n<sd-input-currency *ngIf=\"column.type === 'number'\" size=\"sm\" type=\"number\" [(model)]=\"item[column.field]\"\r\n (sdChange)=\"onChange()\" disableErrorMessage>\r\n</sd-input-currency>\r\n<sd-select *ngIf=\"column.type === 'bool'\" size=\"sm\" [items]=\"[\r\n { value: true, display: column.option?.displayOnTrue || 'True' },\r\n { value: false, display: column.option?.displayOnFalse || 'False' }\r\n ]\" valueField=\"value\" displayField=\"display\" [(model)]=\"item[column.field]\" (sdChange)=\"onChange()\" disableErrorMessage>\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)]=\"item[column.field]\" (sdChange)=\"onChange()\" [multiple]=\"\r\n column?.option?.selection === 'MULTIPLE' ||\r\n column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\r\n \" [filtered]=\"column?.option?.selection === 'MULTIPLEAUTOCOMPLETE'\" disableErrorMessage>\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)]=\"item[column.field]\" (sdChange)=\"onChange()\" disableErrorMessage>\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)]=\"item[column.field]\" [type]=\"column.type\" (sdChange)=\"onChange()\" disableErrorMessage>\r\n</sd-date-time>",
|
|
2878
2881
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
2879
2882
|
},] }
|
|
2880
2883
|
];
|
|
@@ -3170,6 +3173,132 @@ SdGridQuickAction.propDecorators = {
|
|
|
3170
3173
|
clear: [{ type: Output }]
|
|
3171
3174
|
};
|
|
3172
3175
|
|
|
3176
|
+
var _maxSecond, _maxMinute, _maxHour, _maxDay, _maxMonth, _isMobileOrTablet$1;
|
|
3177
|
+
class SdCellViewPipe {
|
|
3178
|
+
constructor(deviceService, utilityService, gridService) {
|
|
3179
|
+
this.utilityService = utilityService;
|
|
3180
|
+
this.gridService = gridService;
|
|
3181
|
+
_maxSecond.set(this, 60);
|
|
3182
|
+
_maxMinute.set(this, __classPrivateFieldGet(this, _maxSecond) * 60);
|
|
3183
|
+
_maxHour.set(this, __classPrivateFieldGet(this, _maxMinute) * 24);
|
|
3184
|
+
_maxDay.set(this, __classPrivateFieldGet(this, _maxHour) * 30);
|
|
3185
|
+
_maxMonth.set(this, __classPrivateFieldGet(this, _maxHour) * 365);
|
|
3186
|
+
_isMobileOrTablet$1.set(this, false);
|
|
3187
|
+
__classPrivateFieldSet(this, _isMobileOrTablet$1, !deviceService.isDesktop());
|
|
3188
|
+
}
|
|
3189
|
+
transform(value, rowData, column, gridOption, key) {
|
|
3190
|
+
var _a, _b, _c, _d;
|
|
3191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3192
|
+
const { displayOnEmpty } = gridOption;
|
|
3193
|
+
const { align, click, tooltip, htmlTemplate, transform } = column;
|
|
3194
|
+
const result = {
|
|
3195
|
+
badge: null,
|
|
3196
|
+
tooltip: null,
|
|
3197
|
+
display: {
|
|
3198
|
+
align: align || (column.type === 'number' ? 'right' : 'left'),
|
|
3199
|
+
value
|
|
3200
|
+
},
|
|
3201
|
+
click: null
|
|
3202
|
+
};
|
|
3203
|
+
// Display
|
|
3204
|
+
if (typeof (htmlTemplate) === 'function') {
|
|
3205
|
+
result.display.html = htmlTemplate(value, rowData, __classPrivateFieldGet(this, _isMobileOrTablet$1));
|
|
3206
|
+
}
|
|
3207
|
+
else {
|
|
3208
|
+
if (transform) {
|
|
3209
|
+
result.display.value = transform(value, rowData);
|
|
3210
|
+
}
|
|
3211
|
+
else {
|
|
3212
|
+
if (column.type === 'date' || column.type === 'datetime') {
|
|
3213
|
+
const { option: { timeDifferent } } = column;
|
|
3214
|
+
const seconds = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);
|
|
3215
|
+
if (timeDifferent === 'month' && seconds < __classPrivateFieldGet(this, _maxMonth)) {
|
|
3216
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
3217
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
3218
|
+
}
|
|
3219
|
+
else if (timeDifferent === 'day' && seconds < __classPrivateFieldGet(this, _maxDay)) {
|
|
3220
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
3221
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
3222
|
+
}
|
|
3223
|
+
else if (timeDifferent === 'hour' && seconds < __classPrivateFieldGet(this, _maxHour)) {
|
|
3224
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
3225
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
3226
|
+
}
|
|
3227
|
+
else if (timeDifferent === 'minute' && seconds < __classPrivateFieldGet(this, _maxMinute)) {
|
|
3228
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
3229
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
3230
|
+
}
|
|
3231
|
+
else if (timeDifferent === 'second' && seconds < __classPrivateFieldGet(this, _maxSecond)) {
|
|
3232
|
+
result.display.value = this.utilityService.timeDifference(value);
|
|
3233
|
+
result.tooltip = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
3234
|
+
}
|
|
3235
|
+
else {
|
|
3236
|
+
result.display.value = Date.toFormat(value, column.type === 'date' ? 'dd/MM/yyyy' : 'dd/MM/yyyy HH:mm');
|
|
3237
|
+
}
|
|
3238
|
+
}
|
|
3239
|
+
if (column.type === 'time') {
|
|
3240
|
+
result.display.value = Date.toFormat(value, 'HH:mm');
|
|
3241
|
+
}
|
|
3242
|
+
if (column.type === 'values') {
|
|
3243
|
+
const data = yield this.gridService.loadValues(column, key);
|
|
3244
|
+
result.display.value = (_c = (_a = data.obj[value]) === null || _a === void 0 ? void 0 : _a[(_b = column.option) === null || _b === void 0 ? void 0 : _b.displayField]) !== null && _c !== void 0 ? _c : value;
|
|
3245
|
+
}
|
|
3246
|
+
else if (column.type === 'number' && Number.isNumber(value)) {
|
|
3247
|
+
result.display.value = Number.toVNCurrency(value); // this.decimalPipe.transform(value, '1.0-2');
|
|
3248
|
+
}
|
|
3249
|
+
if (column.type === 'bool') {
|
|
3250
|
+
const { option } = column;
|
|
3251
|
+
result.display.value = value === true ? ((option === null || option === void 0 ? void 0 : option.displayOnTrue) || 'True') : ((option === null || option === void 0 ? void 0 : option.displayOnFalse) || 'False');
|
|
3252
|
+
}
|
|
3253
|
+
}
|
|
3254
|
+
if (displayOnEmpty && (result.display.value === null || result.display.value === undefined || result.display.value === '')) {
|
|
3255
|
+
if (typeof (displayOnEmpty) === 'function') {
|
|
3256
|
+
result.display.html = displayOnEmpty(rowData, column);
|
|
3257
|
+
}
|
|
3258
|
+
else {
|
|
3259
|
+
result.display.html = `<div class="T16R">--</div>`;
|
|
3260
|
+
}
|
|
3261
|
+
}
|
|
3262
|
+
}
|
|
3263
|
+
// Badge
|
|
3264
|
+
if ((column.type === 'string' || column.type === 'number' || column.type === 'values') && column.badge) {
|
|
3265
|
+
result.badge = {
|
|
3266
|
+
type: !(column === null || column === void 0 ? void 0 : column.badgeType) ? 'round' : column.badgeType,
|
|
3267
|
+
color: column.badge(value, rowData),
|
|
3268
|
+
icon: (_d = column === null || column === void 0 ? void 0 : column.badgeIcon) === null || _d === void 0 ? void 0 : _d.call(column, value, rowData)
|
|
3269
|
+
};
|
|
3270
|
+
}
|
|
3271
|
+
else if (column.type === 'bool') {
|
|
3272
|
+
result.badge = {
|
|
3273
|
+
type: !(column === null || column === void 0 ? void 0 : column.badgeType) ? 'round' : column.badgeType,
|
|
3274
|
+
color: !!value ? 'success' : 'danger',
|
|
3275
|
+
icon: null
|
|
3276
|
+
};
|
|
3277
|
+
}
|
|
3278
|
+
// Tooltip
|
|
3279
|
+
if (typeof (tooltip) === 'function') {
|
|
3280
|
+
result.tooltip = tooltip(value, rowData);
|
|
3281
|
+
}
|
|
3282
|
+
// Clickable
|
|
3283
|
+
if (typeof (click) === 'function') {
|
|
3284
|
+
result.click = () => click(value, rowData);
|
|
3285
|
+
}
|
|
3286
|
+
return result;
|
|
3287
|
+
});
|
|
3288
|
+
}
|
|
3289
|
+
}
|
|
3290
|
+
_maxSecond = new WeakMap(), _maxMinute = new WeakMap(), _maxHour = new WeakMap(), _maxDay = new WeakMap(), _maxMonth = new WeakMap(), _isMobileOrTablet$1 = new WeakMap();
|
|
3291
|
+
SdCellViewPipe.decorators = [
|
|
3292
|
+
{ type: Pipe, args: [{
|
|
3293
|
+
name: 'cellView'
|
|
3294
|
+
},] }
|
|
3295
|
+
];
|
|
3296
|
+
SdCellViewPipe.ctorParameters = () => [
|
|
3297
|
+
{ type: DeviceDetectorService },
|
|
3298
|
+
{ type: SdUtilityService },
|
|
3299
|
+
{ type: SdGridService }
|
|
3300
|
+
];
|
|
3301
|
+
|
|
3173
3302
|
class MatPaginatorIntlCro extends MatPaginatorIntl {
|
|
3174
3303
|
constructor() {
|
|
3175
3304
|
super(...arguments);
|
|
@@ -3266,7 +3395,8 @@ SdGridMaterialModule.decorators = [
|
|
|
3266
3395
|
SdEditorHandlerColumnPipe,
|
|
3267
3396
|
SdEditorValidatePipe,
|
|
3268
3397
|
SdIdPipe,
|
|
3269
|
-
SdStyleRowCss
|
|
3398
|
+
SdStyleRowCss,
|
|
3399
|
+
SdCellViewPipe
|
|
3270
3400
|
],
|
|
3271
3401
|
exports: [
|
|
3272
3402
|
SdGridMaterial,
|
|
@@ -3296,5 +3426,5 @@ SdGridMaterialModule.decorators = [
|
|
|
3296
3426
|
* Generated bundle index. Do not edit.
|
|
3297
3427
|
*/
|
|
3298
3428
|
|
|
3299
|
-
export { SdGridMaterial, SdGridMaterialModule, SdMaterialCellDefDirective, SdMaterialEmptyDataDefDirective, SdMaterialFilterDefDirective, SdMaterialFooterDefDirective, SdMaterialSubInformationDefDirective, MatPaginatorIntlCro as ɵa, SdGridFilter as ɵb, SdCommandTitlePipe as ɵba, SdColumnValuesPipe as ɵbb, SdColumnHtmlTemplatePipe as ɵbc, SdColumnTransformPipe as ɵbd, SdColumnTooltipPipe as ɵbe, SdColumnBadgePipe as ɵbf, SdFilterColumnPipe as ɵbg, SdFilterExternalPipe as ɵbh, SdSelectionActionFilterPipe as ɵbi, SdSelectionVisiblePipe as ɵbj, SdSelectionDisablePipe as ɵbk, SdSelectionVisibleSelectAllPipe as ɵbl, SdEditorHandlerRowPipe as ɵbm, SdEditorHandlerColumnPipe as ɵbn, SdEditorValidatePipe as ɵbo, SdIdPipe as ɵbp, SdStyleRowCss as ɵbq, SdPopupFilter as ɵc, SdGridFilterService as ɵd, SdPopupExport as ɵe, GRID_MATERIAL_CONFIG as ɵg, SdGridConfigurationService as ɵh, SdGridService as ɵi, SdGridQuickAction as ɵj, SdDesktopCell as ɵk, SdDesktopCellEditor as ɵl, SdDesktopEditorValidation as ɵm, SdDesktopCellView as ɵn, SdDesktopCellChildrenView as ɵo, SdDesktopCommand as ɵp, SdColumnInlineFilter as ɵq, SdPopupGridConfiguration as ɵr, SdDynamicColumn as ɵs, SdGeneratedColumnService as ɵt, SdGridConfigurationResultPipe as ɵu, SdColumnChildrenFilterPipe as ɵv, SdColumnTitlePipe as ɵw, SdCommandFilterPipe as ɵx, SdCommandDisablePipe as ɵy, SdCommandIconPipe as ɵz };
|
|
3429
|
+
export { SdGridMaterial, SdGridMaterialModule, SdMaterialCellDefDirective, SdMaterialEmptyDataDefDirective, SdMaterialFilterDefDirective, SdMaterialFooterDefDirective, SdMaterialSubInformationDefDirective, MatPaginatorIntlCro as ɵa, SdGridFilter as ɵb, SdCommandTitlePipe as ɵba, SdColumnValuesPipe as ɵbb, SdColumnHtmlTemplatePipe as ɵbc, SdColumnTransformPipe as ɵbd, SdColumnTooltipPipe as ɵbe, SdColumnBadgePipe as ɵbf, SdFilterColumnPipe as ɵbg, SdFilterExternalPipe as ɵbh, SdSelectionActionFilterPipe as ɵbi, SdSelectionVisiblePipe as ɵbj, SdSelectionDisablePipe as ɵbk, SdSelectionVisibleSelectAllPipe as ɵbl, SdEditorHandlerRowPipe as ɵbm, SdEditorHandlerColumnPipe as ɵbn, SdEditorValidatePipe as ɵbo, SdIdPipe as ɵbp, SdStyleRowCss as ɵbq, SdCellViewPipe as ɵbr, SdPopupFilter as ɵc, SdGridFilterService as ɵd, SdPopupExport as ɵe, GRID_MATERIAL_CONFIG as ɵg, SdGridConfigurationService as ɵh, SdGridService as ɵi, SdGridQuickAction as ɵj, SdDesktopCell as ɵk, SdDesktopCellEditor as ɵl, SdDesktopEditorValidation as ɵm, SdDesktopCellView as ɵn, SdDesktopCellChildrenView as ɵo, SdDesktopCommand as ɵp, SdColumnInlineFilter as ɵq, SdPopupGridConfiguration as ɵr, SdDynamicColumn as ɵs, SdGeneratedColumnService as ɵt, SdGridConfigurationResultPipe as ɵu, SdColumnChildrenFilterPipe as ɵv, SdColumnTitlePipe as ɵw, SdCommandFilterPipe as ɵx, SdCommandDisablePipe as ɵy, SdCommandIconPipe as ɵz };
|
|
3300
3430
|
//# sourceMappingURL=sd-angular-core-grid-material.js.map
|