@sd-angular/core 1.0.7 → 1.0.12

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.
Files changed (511) hide show
  1. package/assets/img/file-types/eps/001-file.eps +143 -143
  2. package/assets/img/file-types/eps/002-file-1.eps +136 -136
  3. package/assets/img/file-types/eps/003-file-2.eps +130 -130
  4. package/assets/img/file-types/eps/004-file-3.eps +127 -127
  5. package/assets/img/file-types/eps/005-file-4.eps +120 -120
  6. package/assets/img/file-types/eps/006-file-5.eps +133 -133
  7. package/assets/img/file-types/eps/007-file-6.eps +133 -133
  8. package/assets/img/file-types/eps/008-file-7.eps +144 -144
  9. package/assets/img/file-types/eps/009-file-8.eps +150 -150
  10. package/assets/img/file-types/eps/010-file-9.eps +155 -155
  11. package/assets/img/file-types/eps/011-file-10.eps +124 -124
  12. package/assets/img/file-types/eps/012-file-11.eps +147 -147
  13. package/assets/img/file-types/eps/013-file-12.eps +125 -125
  14. package/assets/img/file-types/eps/014-file-13.eps +129 -129
  15. package/assets/img/file-types/eps/015-file-14.eps +143 -143
  16. package/assets/img/file-types/eps/016-file-15.eps +130 -130
  17. package/assets/img/file-types/eps/017-file-16.eps +197 -197
  18. package/assets/img/file-types/eps/018-file-17.eps +146 -146
  19. package/assets/img/file-types/eps/019-file-18.eps +131 -131
  20. package/assets/img/file-types/eps/020-file-19.eps +137 -137
  21. package/assets/img/file-types/eps/021-file-20.eps +134 -134
  22. package/assets/img/file-types/eps/022-file-21.eps +130 -130
  23. package/assets/img/file-types/eps/023-file-22.eps +161 -161
  24. package/assets/img/file-types/eps/024-file-23.eps +144 -144
  25. package/assets/img/file-types/eps/025-file-24.eps +164 -164
  26. package/assets/img/file-types/eps/026-file-25.eps +135 -135
  27. package/assets/img/file-types/eps/027-file-26.eps +124 -124
  28. package/assets/img/file-types/eps/028-file-27.eps +120 -120
  29. package/assets/img/file-types/eps/029-file-28.eps +141 -141
  30. package/assets/img/file-types/eps/030-file-29.eps +130 -130
  31. package/assets/img/file-types/eps/031-file-30.eps +157 -157
  32. package/assets/img/file-types/eps/032-file-31.eps +139 -139
  33. package/assets/img/file-types/eps/033-file-32.eps +139 -139
  34. package/assets/img/file-types/eps/034-file-33.eps +189 -189
  35. package/assets/img/file-types/eps/035-file-34.eps +162 -162
  36. package/assets/img/file-types/eps/036-file-35.eps +142 -142
  37. package/assets/img/file-types/eps/037-file-36.eps +123 -123
  38. package/assets/img/file-types/eps/038-file-37.eps +127 -127
  39. package/assets/img/file-types/eps/039-file-38.eps +146 -146
  40. package/assets/img/file-types/eps/040-file-39.eps +126 -126
  41. package/assets/img/file-types/eps/041-file-40.eps +117 -117
  42. package/assets/img/file-types/eps/042-file-41.eps +156 -156
  43. package/assets/img/file-types/eps/043-file-42.eps +118 -118
  44. package/assets/img/file-types/eps/044-file-43.eps +172 -172
  45. package/assets/img/file-types/eps/045-file-44.eps +201 -201
  46. package/assets/img/file-types/eps/046-file-45.eps +94 -94
  47. package/assets/img/file-types/eps/047-file-46.eps +176 -176
  48. package/assets/img/file-types/eps/048-file-47.eps +238 -238
  49. package/assets/img/file-types/eps/049-file-48.eps +187 -187
  50. package/assets/img/file-types/eps/050-file-49.eps +137 -137
  51. package/assets/scss/core/color.scss +4 -0
  52. package/badge/sd-angular-core-badge.metadata.json +1 -1
  53. package/bundles/sd-angular-core-badge.umd.js +1 -1
  54. package/bundles/sd-angular-core-badge.umd.min.js +1 -1
  55. package/bundles/sd-angular-core-badge.umd.min.js.map +1 -1
  56. package/bundles/sd-angular-core-button.umd.js +1 -1
  57. package/bundles/sd-angular-core-button.umd.min.js +1 -1
  58. package/bundles/sd-angular-core-button.umd.min.js.map +1 -1
  59. package/bundles/sd-angular-core-comment.umd.js +1 -1
  60. package/bundles/sd-angular-core-comment.umd.min.js +1 -1
  61. package/bundles/sd-angular-core-comment.umd.min.js.map +1 -1
  62. package/bundles/sd-angular-core-common.umd.js +8 -5
  63. package/bundles/sd-angular-core-common.umd.js.map +1 -1
  64. package/bundles/sd-angular-core-common.umd.min.js +1 -1
  65. package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
  66. package/bundles/sd-angular-core-grid-material.umd.js +154 -9
  67. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  68. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  69. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  70. package/bundles/sd-angular-core-grid.umd.js +3 -3
  71. package/bundles/sd-angular-core-grid.umd.min.js +1 -1
  72. package/bundles/sd-angular-core-grid.umd.min.js.map +1 -1
  73. package/bundles/sd-angular-core-modal-resizable.umd.js +1 -1
  74. package/bundles/sd-angular-core-modal-resizable.umd.min.js +2 -2
  75. package/bundles/sd-angular-core-modal-resizable.umd.min.js.map +1 -1
  76. package/bundles/sd-angular-core-side-drawer.umd.js +1 -1
  77. package/bundles/sd-angular-core-side-drawer.umd.min.js +1 -1
  78. package/bundles/sd-angular-core-side-drawer.umd.min.js.map +1 -1
  79. package/bundles/sd-angular-core-upload-file.umd.js +1 -1
  80. package/bundles/sd-angular-core-upload-file.umd.min.js +1 -1
  81. package/bundles/sd-angular-core-upload-file.umd.min.js.map +1 -1
  82. package/bundles/sd-angular-core-utility.umd.js +1 -1
  83. package/bundles/sd-angular-core-utility.umd.js.map +1 -1
  84. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  85. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  86. package/button/sd-angular-core-button.metadata.json +1 -1
  87. package/comment/sd-angular-core-comment.metadata.json +1 -1
  88. package/common/sd-angular-core-common.metadata.json +1 -1
  89. package/common/src/lib/directives/sd-let.directive.d.ts +1 -1
  90. package/esm2015/api/index.js +1 -1
  91. package/esm2015/api/sd-angular-core-api.js +1 -1
  92. package/esm2015/api/src/lib/api.model.js +1 -1
  93. package/esm2015/api/src/lib/api.module.js +1 -1
  94. package/esm2015/api/src/lib/api.service.js +1 -1
  95. package/esm2015/api/src/lib/http.interceptor.js +1 -1
  96. package/esm2015/api/src/lib/http.service.js +1 -1
  97. package/esm2015/api/src/lib/token.service.js +1 -1
  98. package/esm2015/api/src/public-api.js +1 -1
  99. package/esm2015/autocomplete/index.js +1 -1
  100. package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
  101. package/esm2015/autocomplete/src/lib/autocomplete-display-def.directive.js +1 -1
  102. package/esm2015/autocomplete/src/lib/autocomplete.component.js +1 -1
  103. package/esm2015/autocomplete/src/lib/autocomplete.module.js +1 -1
  104. package/esm2015/autocomplete/src/public-api.js +1 -1
  105. package/esm2015/badge/index.js +1 -1
  106. package/esm2015/badge/sd-angular-core-badge.js +1 -1
  107. package/esm2015/badge/src/lib/badge.component.js +2 -2
  108. package/esm2015/badge/src/lib/badge.module.js +1 -1
  109. package/esm2015/badge/src/public-api.js +1 -1
  110. package/esm2015/button/index.js +1 -1
  111. package/esm2015/button/sd-angular-core-button.js +1 -1
  112. package/esm2015/button/src/lib/button.component.js +2 -2
  113. package/esm2015/button/src/lib/button.module.js +1 -1
  114. package/esm2015/button/src/public-api.js +1 -1
  115. package/esm2015/cache/index.js +1 -1
  116. package/esm2015/cache/sd-angular-core-cache.js +1 -1
  117. package/esm2015/cache/src/lib/cache.model.js +1 -1
  118. package/esm2015/cache/src/lib/cache.service.js +1 -1
  119. package/esm2015/cache/src/public-api.js +1 -1
  120. package/esm2015/chart/index.js +1 -1
  121. package/esm2015/chart/sd-angular-core-chart.js +1 -1
  122. package/esm2015/chart/src/lib/chart.component.js +1 -1
  123. package/esm2015/chart/src/lib/chart.model.js +1 -1
  124. package/esm2015/chart/src/lib/chart.module.js +1 -1
  125. package/esm2015/chart/src/public-api.js +1 -1
  126. package/esm2015/checkbox/index.js +1 -1
  127. package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
  128. package/esm2015/checkbox/src/lib/checkbox.component.js +1 -1
  129. package/esm2015/checkbox/src/lib/checkbox.module.js +1 -1
  130. package/esm2015/checkbox/src/public-api.js +1 -1
  131. package/esm2015/chip/index.js +1 -1
  132. package/esm2015/chip/sd-angular-core-chip.js +1 -1
  133. package/esm2015/chip/src/lib/chip.component.js +1 -1
  134. package/esm2015/chip/src/lib/chip.model.js +1 -1
  135. package/esm2015/chip/src/lib/chip.module.js +1 -1
  136. package/esm2015/chip/src/lib/directives/sd-chip-display-def.directive.js +1 -1
  137. package/esm2015/chip/src/lib/pipes/removable-chip.pipe.js +1 -1
  138. package/esm2015/chip/src/public-api.js +1 -1
  139. package/esm2015/comment/index.js +1 -1
  140. package/esm2015/comment/sd-angular-core-comment.js +1 -1
  141. package/esm2015/comment/src/lib/comment.component.js +2 -2
  142. package/esm2015/comment/src/lib/comment.model.js +1 -1
  143. package/esm2015/comment/src/lib/comment.module.js +1 -1
  144. package/esm2015/comment/src/public-api.js +1 -1
  145. package/esm2015/common/index.js +1 -1
  146. package/esm2015/common/sd-angular-core-common.js +1 -1
  147. package/esm2015/common/src/lib/common.module.js +1 -1
  148. package/esm2015/common/src/lib/directives/sd-let.directive.js +9 -6
  149. package/esm2015/common/src/lib/directives/sd-scroll.directive.js +1 -1
  150. package/esm2015/common/src/lib/directives/view-def.directive.js +1 -1
  151. package/esm2015/common/src/lib/models/sd-form-control.js +1 -1
  152. package/esm2015/common/src/lib/typings/array.extension.js +1 -1
  153. package/esm2015/common/src/lib/typings/date.extension.js +1 -1
  154. package/esm2015/common/src/lib/typings/number.extension.js +1 -1
  155. package/esm2015/common/src/lib/typings/string.extension.js +1 -1
  156. package/esm2015/common/src/public-api.js +1 -1
  157. package/esm2015/date-range/index.js +1 -1
  158. package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
  159. package/esm2015/date-range/src/lib/date-range.component.js +1 -1
  160. package/esm2015/date-range/src/lib/date-range.module.js +1 -1
  161. package/esm2015/date-range/src/public-api.js +1 -1
  162. package/esm2015/date-time/index.js +1 -1
  163. package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
  164. package/esm2015/date-time/src/lib/date-time.component.js +1 -1
  165. package/esm2015/date-time/src/lib/date-time.module.js +1 -1
  166. package/esm2015/date-time/src/public-api.js +1 -1
  167. package/esm2015/dynamic-report/index.js +1 -1
  168. package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
  169. package/esm2015/dynamic-report/src/lib/dynamic-report.component.js +1 -1
  170. package/esm2015/dynamic-report/src/lib/dynamic-report.module.js +1 -1
  171. package/esm2015/dynamic-report/src/public-api.js +1 -1
  172. package/esm2015/editor/index.js +1 -1
  173. package/esm2015/editor/sd-angular-core-editor.js +1 -1
  174. package/esm2015/editor/src/lib/constant.js +1 -1
  175. package/esm2015/editor/src/lib/editor.component.js +1 -1
  176. package/esm2015/editor/src/lib/editor.module.js +1 -1
  177. package/esm2015/editor/src/public-api.js +1 -1
  178. package/esm2015/excel/index.js +1 -1
  179. package/esm2015/excel/sd-angular-core-excel.js +1 -1
  180. package/esm2015/excel/src/lib/excel.model.js +1 -1
  181. package/esm2015/excel/src/lib/excel.service.js +1 -1
  182. package/esm2015/excel/src/public-api.js +1 -1
  183. package/esm2015/export/index.js +1 -1
  184. package/esm2015/export/sd-angular-core-export.js +1 -1
  185. package/esm2015/export/src/lib/export.model.js +1 -1
  186. package/esm2015/export/src/lib/export.service.js +1 -1
  187. package/esm2015/export/src/public-api.js +1 -1
  188. package/esm2015/filter/index.js +1 -1
  189. package/esm2015/filter/sd-angular-core-filter.js +1 -1
  190. package/esm2015/filter/src/lib/directives/sd-filter-def.directive.js +1 -1
  191. package/esm2015/filter/src/lib/filter.component.js +1 -1
  192. package/esm2015/filter/src/lib/filter.model.js +1 -1
  193. package/esm2015/filter/src/lib/filter.module.js +1 -1
  194. package/esm2015/filter/src/lib/filter.service.js +1 -1
  195. package/esm2015/filter/src/lib/pipes/values-local.pipe.js +1 -1
  196. package/esm2015/filter/src/lib/pipes/values-server.pipe.js +1 -1
  197. package/esm2015/filter/src/public-api.js +1 -1
  198. package/esm2015/form/index.js +1 -1
  199. package/esm2015/form/sd-angular-core-form.js +1 -1
  200. package/esm2015/form/src/lib/form.module.js +1 -1
  201. package/esm2015/form/src/public-api.js +1 -1
  202. package/esm2015/grid/index.js +1 -1
  203. package/esm2015/grid/sd-angular-core-grid.js +1 -1
  204. package/esm2015/grid/src/lib/components/grid-config/grid-config.component.js +1 -1
  205. package/esm2015/grid/src/lib/components/grid-config/grid-config.model.js +1 -1
  206. package/esm2015/grid/src/lib/components/grid-desktop-column-children-view/grid-desktop-column-children-view.component.js +2 -2
  207. package/esm2015/grid/src/lib/components/grid-desktop-column-edit/grid-desktop-column-edit.component.js +1 -1
  208. package/esm2015/grid/src/lib/components/grid-desktop-column-view/grid-desktop-column-view.component.js +2 -2
  209. package/esm2015/grid/src/lib/components/grid-desktop-inline-filter/grid-desktop-inline-filter.component.js +1 -1
  210. package/esm2015/grid/src/lib/components/grid-import-excel/grid-import-excel.component.js +1 -1
  211. package/esm2015/grid/src/lib/components/grid-mobile-item-view/grid-mobile-item-view.component.js +1 -1
  212. package/esm2015/grid/src/lib/components/grid-popup-editor/grid-popup-editor.component.js +1 -1
  213. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.component.js +1 -1
  214. package/esm2015/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.model.js +1 -1
  215. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.component.js +1 -1
  216. package/esm2015/grid/src/lib/components/grid-popup-filter/grid-popup-filter.model.js +1 -1
  217. package/esm2015/grid/src/lib/components/grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component.js +1 -1
  218. package/esm2015/grid/src/lib/components/grid-sub-information/grid-sub-information.component.js +1 -1
  219. package/esm2015/grid/src/lib/directives/cell-def.directive.js +1 -1
  220. package/esm2015/grid/src/lib/directives/cell-editor-def.directive.js +1 -1
  221. package/esm2015/grid/src/lib/directives/cell-footer-def.directive.js +1 -1
  222. package/esm2015/grid/src/lib/directives/sub-information-header-def.directive.js +1 -1
  223. package/esm2015/grid/src/lib/grid.component.js +2 -2
  224. package/esm2015/grid/src/lib/grid.model.js +1 -1
  225. package/esm2015/grid/src/lib/grid.module.js +1 -1
  226. package/esm2015/grid/src/lib/models/filter-info.model.js +1 -1
  227. package/esm2015/grid/src/lib/models/grid-configuration.model.js +1 -1
  228. package/esm2015/grid/src/lib/models/handler-dotnet.js +1 -1
  229. package/esm2015/grid/src/lib/models/handler-local.js +1 -1
  230. package/esm2015/grid/src/lib/models/handler.js +1 -1
  231. package/esm2015/grid/src/lib/pipes/cell-desktop-class-name.pipe.js +1 -1
  232. package/esm2015/grid/src/lib/pipes/cell-mobile-class-name.pipe.js +1 -1
  233. package/esm2015/grid/src/lib/pipes/column-command-filter.pipe.js +1 -1
  234. package/esm2015/grid/src/lib/pipes/column-html-template.pipe.js +1 -1
  235. package/esm2015/grid/src/lib/pipes/column-title.pipe.js +1 -1
  236. package/esm2015/grid/src/lib/pipes/column-values.pipe.js +1 -1
  237. package/esm2015/grid/src/lib/pipes/command-disabled.pipe.js +1 -1
  238. package/esm2015/grid/src/lib/pipes/command-filter.pipe.js +1 -1
  239. package/esm2015/grid/src/lib/pipes/command-hidden.pipe.js +1 -1
  240. package/esm2015/grid/src/lib/pipes/command-icon.pipe.js +1 -1
  241. package/esm2015/grid/src/lib/pipes/command-title.pipe.js +1 -1
  242. package/esm2015/grid/src/lib/pipes/dynamic-items.pipe.js +1 -1
  243. package/esm2015/grid/src/lib/pipes/editor-dynamic-item.pipe.js +1 -1
  244. package/esm2015/grid/src/lib/pipes/editor-handler.pipe.js +1 -1
  245. package/esm2015/grid/src/lib/pipes/editor-popup-visible.pipe.js +1 -1
  246. package/esm2015/grid/src/lib/pipes/editor-sub-information-handler.pipe.js +1 -1
  247. package/esm2015/grid/src/lib/pipes/editor-validate.pipe.js +1 -1
  248. package/esm2015/grid/src/lib/pipes/filter-mobile.pipe.js +1 -1
  249. package/esm2015/grid/src/lib/pipes/mobile-command-filter.js +1 -1
  250. package/esm2015/grid/src/lib/pipes/mobile-view-html-template.pipe.js +1 -1
  251. package/esm2015/grid/src/lib/pipes/value-transform.pipe.js +1 -1
  252. package/esm2015/grid/src/public-api.js +1 -1
  253. package/esm2015/grid-material/index.js +1 -1
  254. package/esm2015/grid-material/sd-angular-core-grid-material.js +2 -1
  255. package/esm2015/grid-material/src/lib/components/column-inline-filter/column-inline-filter.component.js +1 -1
  256. package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +2 -2
  257. package/esm2015/grid-material/src/lib/components/desktop-cell-children-view/desktop-cell-children-view.component.js +1 -1
  258. package/esm2015/grid-material/src/lib/components/desktop-cell-editor/desktop-cell-editor.component.js +2 -2
  259. package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +5 -4
  260. package/esm2015/grid-material/src/lib/components/desktop-command/desktop-command.component.js +1 -1
  261. package/esm2015/grid-material/src/lib/components/desktop-editor-validation/desktop-editor-validation.component.js +2 -2
  262. package/esm2015/grid-material/src/lib/components/dynamic-column/dynamic-column.component.js +1 -1
  263. package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +1 -1
  264. package/esm2015/grid-material/src/lib/components/popup-export/popup-export.component.js +1 -1
  265. package/esm2015/grid-material/src/lib/components/popup-filter/popup-filter.component.js +1 -1
  266. package/esm2015/grid-material/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +1 -1
  267. package/esm2015/grid-material/src/lib/components/quick-action/quick-action.component.js +1 -1
  268. package/esm2015/grid-material/src/lib/directives/sd-material-cell-def.directive.js +1 -1
  269. package/esm2015/grid-material/src/lib/directives/sd-material-empty-data-def.directive.js +1 -1
  270. package/esm2015/grid-material/src/lib/directives/sd-material-filter-def.directive.js +1 -1
  271. package/esm2015/grid-material/src/lib/directives/sd-material-footer-def.directive.js +1 -1
  272. package/esm2015/grid-material/src/lib/directives/sd-material-sub-information-def.directive.js +1 -1
  273. package/esm2015/grid-material/src/lib/grid-material.component.js +3 -3
  274. package/esm2015/grid-material/src/lib/grid-material.module.js +4 -2
  275. package/esm2015/grid-material/src/lib/models/grid-action.model.js +1 -1
  276. package/esm2015/grid-material/src/lib/models/grid-cell.model.js +2 -0
  277. package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
  278. package/esm2015/grid-material/src/lib/models/grid-command.model.js +1 -1
  279. package/esm2015/grid-material/src/lib/models/grid-config.model.js +1 -1
  280. package/esm2015/grid-material/src/lib/models/grid-configuration.model.js +1 -1
  281. package/esm2015/grid-material/src/lib/models/grid-editor.model.js +1 -1
  282. package/esm2015/grid-material/src/lib/models/grid-export.model.js +1 -1
  283. package/esm2015/grid-material/src/lib/models/grid-filter.model.js +1 -1
  284. package/esm2015/grid-material/src/lib/models/grid-option.model.js +1 -1
  285. package/esm2015/grid-material/src/lib/models/grid-reload.model.js +1 -1
  286. package/esm2015/grid-material/src/lib/models/grid-selection.model.js +1 -1
  287. package/esm2015/grid-material/src/lib/models/grid-style.model.js +1 -1
  288. package/esm2015/grid-material/src/lib/models/grid-sub-information.model.js +1 -1
  289. package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
  290. package/esm2015/grid-material/src/lib/pipes/cell-view.pipe.js +134 -0
  291. package/esm2015/grid-material/src/lib/pipes/column-badge.pipe.js +1 -1
  292. package/esm2015/grid-material/src/lib/pipes/column-children-filter.pipe.js +1 -1
  293. package/esm2015/grid-material/src/lib/pipes/column-html-template.pipe.js +1 -1
  294. package/esm2015/grid-material/src/lib/pipes/column-title.pipe.js +1 -1
  295. package/esm2015/grid-material/src/lib/pipes/column-tooltip.pipe.js +1 -1
  296. package/esm2015/grid-material/src/lib/pipes/column-transform.pipe.js +1 -1
  297. package/esm2015/grid-material/src/lib/pipes/column-values.pipe.js +1 -1
  298. package/esm2015/grid-material/src/lib/pipes/command-disable.pipe.js +1 -1
  299. package/esm2015/grid-material/src/lib/pipes/command-filter.pipe.js +1 -1
  300. package/esm2015/grid-material/src/lib/pipes/command-icon.pipe.js +1 -1
  301. package/esm2015/grid-material/src/lib/pipes/command-title.pipe.js +1 -1
  302. package/esm2015/grid-material/src/lib/pipes/editor-handler-column.pipe.js +1 -1
  303. package/esm2015/grid-material/src/lib/pipes/editor-handler-row.pipe.js +1 -1
  304. package/esm2015/grid-material/src/lib/pipes/editor-validate.pipe.js +1 -1
  305. package/esm2015/grid-material/src/lib/pipes/filter-column.pipe.js +1 -1
  306. package/esm2015/grid-material/src/lib/pipes/filter-external.pipe.js +1 -1
  307. package/esm2015/grid-material/src/lib/pipes/grid-configuration-result.pipe.js +1 -1
  308. package/esm2015/grid-material/src/lib/pipes/sd-id.pipe.js +1 -1
  309. package/esm2015/grid-material/src/lib/pipes/selection-action-filter.pipe.js +1 -1
  310. package/esm2015/grid-material/src/lib/pipes/selection-disable.pipe.js +1 -1
  311. package/esm2015/grid-material/src/lib/pipes/selection-visible-select-all.pipe.js +1 -1
  312. package/esm2015/grid-material/src/lib/pipes/selection-visible.pipe.js +1 -1
  313. package/esm2015/grid-material/src/lib/pipes/style-row-css.pipe.js +1 -1
  314. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.model.js +1 -1
  315. package/esm2015/grid-material/src/lib/services/generated-column/generated-column.service.js +1 -1
  316. package/esm2015/grid-material/src/lib/services/grid-configuration.service.js +1 -1
  317. package/esm2015/grid-material/src/lib/services/grid-filter.service.js +1 -1
  318. package/esm2015/grid-material/src/lib/services/grid.service.js +1 -1
  319. package/esm2015/grid-material/src/public-api.js +1 -1
  320. package/esm2015/image-preview/index.js +1 -1
  321. package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
  322. package/esm2015/image-preview/src/lib/directives/image-preview.directive.js +1 -1
  323. package/esm2015/image-preview/src/lib/image-preview/image-preview.component.js +1 -1
  324. package/esm2015/image-preview/src/lib/image-preview/image-preview.module.js +1 -1
  325. package/esm2015/image-preview/src/lib/models/image-preview.model.js +1 -1
  326. package/esm2015/image-preview/src/public-api.js +1 -1
  327. package/esm2015/input/index.js +1 -1
  328. package/esm2015/input/sd-angular-core-input.js +1 -1
  329. package/esm2015/input/src/lib/directives/input-suffix.directive.js +1 -1
  330. package/esm2015/input/src/lib/directives/touch.directive.js +1 -1
  331. package/esm2015/input/src/lib/input-tooltip.pipe.js +1 -1
  332. package/esm2015/input/src/lib/input.component.js +1 -1
  333. package/esm2015/input/src/lib/input.module.js +1 -1
  334. package/esm2015/input/src/public-api.js +1 -1
  335. package/esm2015/input-currency/index.js +1 -1
  336. package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
  337. package/esm2015/input-currency/src/lib/input-currency-tooltip.pipe.js +1 -1
  338. package/esm2015/input-currency/src/lib/input-currency.component.js +1 -1
  339. package/esm2015/input-currency/src/lib/input-currency.module.js +1 -1
  340. package/esm2015/input-currency/src/public-api.js +1 -1
  341. package/esm2015/input-dropdown/index.js +1 -1
  342. package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
  343. package/esm2015/input-dropdown/src/lib/input-tooltip.pipe.js +1 -1
  344. package/esm2015/input-dropdown/src/lib/input.component.js +1 -1
  345. package/esm2015/input-dropdown/src/lib/input.module.js +1 -1
  346. package/esm2015/input-dropdown/src/public-api.js +1 -1
  347. package/esm2015/input-upload-file/index.js +1 -1
  348. package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
  349. package/esm2015/input-upload-file/src/lib/input-upload-file.component.js +1 -1
  350. package/esm2015/input-upload-file/src/lib/input-upload-file.module.js +1 -1
  351. package/esm2015/input-upload-file/src/public-api.js +1 -1
  352. package/esm2015/konva/index.js +1 -1
  353. package/esm2015/konva/sd-angular-core-konva.js +1 -1
  354. package/esm2015/konva/src/lib/konva.module.js +1 -1
  355. package/esm2015/konva/src/lib/merge-images/merge-images.component.js +1 -1
  356. package/esm2015/konva/src/public-api.js +1 -1
  357. package/esm2015/label/index.js +1 -1
  358. package/esm2015/label/sd-angular-core-label.js +1 -1
  359. package/esm2015/label/src/lib/label.component.js +1 -1
  360. package/esm2015/label/src/lib/label.module.js +1 -1
  361. package/esm2015/label/src/public-api.js +1 -1
  362. package/esm2015/lib/core.module.js +1 -1
  363. package/esm2015/lib/material.module.js +1 -1
  364. package/esm2015/loading/index.js +1 -1
  365. package/esm2015/loading/sd-angular-core-loading.js +1 -1
  366. package/esm2015/loading/src/lib/loading.service.js +1 -1
  367. package/esm2015/loading/src/public-api.js +1 -1
  368. package/esm2015/modal/index.js +1 -1
  369. package/esm2015/modal/sd-angular-core-modal.js +1 -1
  370. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-body/bottom-sheet-body.component.js +1 -1
  371. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-footer/bottom-sheet-footer.component.js +1 -1
  372. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet-header/bottom-sheet-header.component.js +1 -1
  373. package/esm2015/modal/src/lib/bottom-sheet/bottom-sheet.component.js +1 -1
  374. package/esm2015/modal/src/lib/modal/modal-body/modal-body.component.js +1 -1
  375. package/esm2015/modal/src/lib/modal/modal-footer/modal-footer.component.js +1 -1
  376. package/esm2015/modal/src/lib/modal/modal-header/modal-header.component.js +1 -1
  377. package/esm2015/modal/src/lib/modal/modal.component.js +1 -1
  378. package/esm2015/modal/src/lib/modal.module.js +1 -1
  379. package/esm2015/modal/src/public-api.js +1 -1
  380. package/esm2015/modal-resizable/index.js +1 -1
  381. package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
  382. package/esm2015/modal-resizable/src/lib/modal-resizable/modal-resizable.component.js +2 -2
  383. package/esm2015/modal-resizable/src/lib/modal-resizable.module.js +1 -1
  384. package/esm2015/modal-resizable/src/public-api.js +1 -1
  385. package/esm2015/notify/index.js +1 -1
  386. package/esm2015/notify/sd-angular-core-notify.js +1 -1
  387. package/esm2015/notify/src/lib/components/dialog-confirm/dialog-confirm.component.js +1 -1
  388. package/esm2015/notify/src/lib/notify.module.js +1 -1
  389. package/esm2015/notify/src/lib/notify.service.js +1 -1
  390. package/esm2015/notify/src/public-api.js +1 -1
  391. package/esm2015/public-api.js +1 -1
  392. package/esm2015/quick-action/index.js +1 -1
  393. package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
  394. package/esm2015/quick-action/src/lib/quick-action.component.js +1 -1
  395. package/esm2015/quick-action/src/lib/quick-action.module.js +1 -1
  396. package/esm2015/quick-action/src/public-api.js +1 -1
  397. package/esm2015/radio/index.js +1 -1
  398. package/esm2015/radio/sd-angular-core-radio.js +1 -1
  399. package/esm2015/radio/src/lib/radio.component.js +1 -1
  400. package/esm2015/radio/src/lib/radio.module.js +1 -1
  401. package/esm2015/radio/src/public-api.js +1 -1
  402. package/esm2015/sd-angular-core.js +1 -1
  403. package/esm2015/select/index.js +1 -1
  404. package/esm2015/select/sd-angular-core-select.js +1 -1
  405. package/esm2015/select/src/lib/select-display-def.directive.js +1 -1
  406. package/esm2015/select/src/lib/select.component.js +1 -1
  407. package/esm2015/select/src/lib/select.module.js +1 -1
  408. package/esm2015/select/src/public-api.js +1 -1
  409. package/esm2015/select-editor/index.js +1 -1
  410. package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
  411. package/esm2015/select-editor/src/lib/select-editor.component.js +1 -1
  412. package/esm2015/select-editor/src/lib/select-editor.module.js +1 -1
  413. package/esm2015/select-editor/src/public-api.js +1 -1
  414. package/esm2015/service/index.js +1 -1
  415. package/esm2015/service/sd-angular-core-service.js +1 -1
  416. package/esm2015/service/src/lib/service.module.js +1 -1
  417. package/esm2015/service/src/public-api.js +1 -1
  418. package/esm2015/setting/index.js +1 -1
  419. package/esm2015/setting/sd-angular-core-setting.js +1 -1
  420. package/esm2015/setting/src/lib/setting.model.js +1 -1
  421. package/esm2015/setting/src/lib/setting.service.js +1 -1
  422. package/esm2015/setting/src/public-api.js +1 -1
  423. package/esm2015/side-drawer/index.js +1 -1
  424. package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
  425. package/esm2015/side-drawer/src/lib/side-drawer/side-drawer.component.js +2 -2
  426. package/esm2015/side-drawer/src/lib/side-drawer.module.js +1 -1
  427. package/esm2015/side-drawer/src/public-api.js +1 -1
  428. package/esm2015/switch/index.js +1 -1
  429. package/esm2015/switch/sd-angular-core-switch.js +1 -1
  430. package/esm2015/switch/src/lib/switch.component.js +1 -1
  431. package/esm2015/switch/src/lib/switch.module.js +1 -1
  432. package/esm2015/switch/src/public-api.js +1 -1
  433. package/esm2015/tab-router/index.js +1 -1
  434. package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
  435. package/esm2015/tab-router/src/lib/actions/tab-router.action.js +1 -1
  436. package/esm2015/tab-router/src/lib/components/tab-router-item/tab-router-item.component.js +1 -1
  437. package/esm2015/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.js +1 -1
  438. package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +1 -1
  439. package/esm2015/tab-router/src/lib/decorators/tab.decorator.js +1 -1
  440. package/esm2015/tab-router/src/lib/events/tab-router.event.js +1 -1
  441. package/esm2015/tab-router/src/lib/models/tab-router.model.js +1 -1
  442. package/esm2015/tab-router/src/lib/pipes/tab-info.pipe.js +1 -1
  443. package/esm2015/tab-router/src/lib/services/tab-decorator.service.js +1 -1
  444. package/esm2015/tab-router/src/lib/services/tab-router.service.js +1 -1
  445. package/esm2015/tab-router/src/lib/tab-router.module.js +1 -1
  446. package/esm2015/tab-router/src/public-api.js +1 -1
  447. package/esm2015/textarea/index.js +1 -1
  448. package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
  449. package/esm2015/textarea/src/lib/textarea.component.js +1 -1
  450. package/esm2015/textarea/src/lib/textarea.module.js +1 -1
  451. package/esm2015/textarea/src/public-api.js +1 -1
  452. package/esm2015/time/index.js +1 -1
  453. package/esm2015/time/sd-angular-core-time.js +1 -1
  454. package/esm2015/time/src/lib/time.component.js +1 -1
  455. package/esm2015/time/src/lib/time.module.js +1 -1
  456. package/esm2015/time/src/public-api.js +1 -1
  457. package/esm2015/translate/index.js +1 -1
  458. package/esm2015/translate/sd-angular-core-translate.js +1 -1
  459. package/esm2015/translate/src/lib/translate.model.js +1 -1
  460. package/esm2015/translate/src/lib/translate.module.js +1 -1
  461. package/esm2015/translate/src/lib/translate.pipe.js +1 -1
  462. package/esm2015/translate/src/lib/translate.service.js +1 -1
  463. package/esm2015/upload-excel/index.js +1 -1
  464. package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
  465. package/esm2015/upload-excel/src/lib/upload-excel.component.js +1 -1
  466. package/esm2015/upload-excel/src/lib/upload-excel.model.js +1 -1
  467. package/esm2015/upload-excel/src/lib/upload-excel.module.js +1 -1
  468. package/esm2015/upload-excel/src/public-api.js +1 -1
  469. package/esm2015/upload-file/index.js +1 -1
  470. package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
  471. package/esm2015/upload-file/src/lib/upload-file.component.js +2 -2
  472. package/esm2015/upload-file/src/lib/upload-file.module.js +1 -1
  473. package/esm2015/upload-file/src/public-api.js +1 -1
  474. package/esm2015/utility/index.js +1 -1
  475. package/esm2015/utility/sd-angular-core-utility.js +1 -1
  476. package/esm2015/utility/src/lib/directives/desktop.directive.js +1 -1
  477. package/esm2015/utility/src/lib/directives/mobile-tablet.directive.js +1 -1
  478. package/esm2015/utility/src/lib/directives/mobile.directive.js +1 -1
  479. package/esm2015/utility/src/lib/directives/tablet.directive.js +1 -1
  480. package/esm2015/utility/src/lib/pipes/currency.pipe.js +1 -1
  481. package/esm2015/utility/src/lib/pipes/safe-html.pipe.js +1 -1
  482. package/esm2015/utility/src/lib/pipes/time-different.pipe.js +2 -2
  483. package/esm2015/utility/src/lib/utility.module.js +1 -1
  484. package/esm2015/utility/src/lib/utility.service.js +1 -1
  485. package/esm2015/utility/src/public-api.js +1 -1
  486. package/fesm2015/sd-angular-core-badge.js +1 -1
  487. package/fesm2015/sd-angular-core-button.js +1 -1
  488. package/fesm2015/sd-angular-core-comment.js +1 -1
  489. package/fesm2015/sd-angular-core-common.js +8 -6
  490. package/fesm2015/sd-angular-core-common.js.map +1 -1
  491. package/fesm2015/sd-angular-core-grid-material.js +141 -10
  492. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  493. package/fesm2015/sd-angular-core-grid.js +3 -3
  494. package/fesm2015/sd-angular-core-modal-resizable.js +1 -1
  495. package/fesm2015/sd-angular-core-side-drawer.js +1 -1
  496. package/fesm2015/sd-angular-core-upload-file.js +1 -1
  497. package/fesm2015/sd-angular-core-utility.js +1 -1
  498. package/fesm2015/sd-angular-core-utility.js.map +1 -1
  499. package/grid/sd-angular-core-grid.metadata.json +1 -1
  500. package/grid-material/sd-angular-core-grid-material.d.ts +1 -0
  501. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  502. package/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.d.ts +2 -0
  503. package/grid-material/src/lib/models/grid-cell.model.d.ts +15 -0
  504. package/grid-material/src/lib/models/grid-column.model.d.ts +1 -0
  505. package/grid-material/src/lib/models/grid-option.model.d.ts +1 -0
  506. package/grid-material/src/lib/pipes/cell-view.pipe.d.ts +14 -0
  507. package/modal-resizable/sd-angular-core-modal-resizable.metadata.json +1 -1
  508. package/package.json +1 -1
  509. package/{sd-angular-core-1.0.7.tgz → sd-angular-core-1.0.12.tgz} +0 -0
  510. package/side-drawer/sd-angular-core-side-drawer.metadata.json +1 -1
  511. package/upload-file/sd-angular-core-upload-file.metadata.json +1 -1
@@ -1978,7 +1978,7 @@ _paginator = new WeakMap(), _sort = new WeakMap(), _subscription$1 = new WeakMap
1978
1978
  SdGridMaterial.decorators = [
1979
1979
  { type: Component, args: [{
1980
1980
  selector: 'sd-grid-material',
1981
- template: "<ng-container *ngIf=\"gridConfigurationObserver | async as gridConfiguration\">\r\n <ng-container *ngIf=\"\r\n gridConfiguration\r\n | sdGridConfigurationResult\r\n : gridOption\r\n : sdSubInformation as configuration\r\n \">\r\n <ng-container *ngIf=\"!gridOption.filter?.disabled\">\r\n <sd-grid-filter [filter]=\"gridOption?.filter\" [columns]=\"configuration.firstColumns\" [filterDefs]=\"filterDefs\">\r\n </sd-grid-filter>\r\n </ng-container>\r\n <div class=\"c-container {{ gridOption?.style?.grid }}\" [ngClass]=\"{ 'mat-elevation-z2': gridOption?.shadow }\">\r\n <div class=\"c-loading\" *ngIf=\"isLoading\">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n <ng-container>\r\n <div class=\"c-table\" sdScroll [ngStyle]=\"{\r\n 'max-height': gridOption?.maxHeight,\r\n 'min-height': gridOption?.minHeight\r\n }\">\r\n <table *ngIf=\"items?.length; else elseEmpty\" mat-table [dataSource]=\"items\" matSort\r\n [matSortDisabled]=\"!gridOption.sortable\" cdkDropList cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListDisabled]=\"!gridOption.dropDragColumnEnable\"\r\n (cdkDropListDropped)=\"drop($event, configuration.displayedColumns)\" multiTemplateDataRows>\r\n <ng-container matColumnDef=\"sdSubInformation\" sticky>\r\n <td class=\"p-0\" mat-cell *matCellDef=\"let item\" [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <div *ngIf=\"sdSubInformation?.templateRef\" [@detailExpand]=\"item.isExpanded ? 'expanded' : 'collapsed'\">\r\n <ng-container *ngIf=\"item.isExpanded\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdSubInformation.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\" stickyEnd>\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button *ngIf=\"!element.isExpanding\" mat-icon-button aria-label=\"Expand & Collapse\"\r\n (click)=\"onExpand(element)\">\r\n <mat-icon *ngIf=\"!element.isExpanded\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"element.isExpanded\">expand_less</mat-icon>\r\n </button>\r\n <div *ngIf=\"element.isExpanding\" class=\"lds-ring\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"text-center px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <ng-container *ngIf=\"items | selectionVisibleSelectAll: gridOption?.selection | async\">\r\n <mat-checkbox *ngIf=\"!gridOption.selection?.single\" class=\"c-selection\" color=\"primary\"\r\n [(ngModel)]=\"isSelectAll\" (change)=\"onSelectAll()\">\r\n </mat-checkbox>\r\n </ng-container>\r\n\r\n </th>\r\n <td class=\"text-center px-15\" mat-cell *matCellDef=\"let item\" style=\"min-width: 50px; max-width: 50px\">\r\n <ng-container *ngIf=\"item | selectionVisible:gridOption?.selection\">\r\n <mat-checkbox class=\"c-selection\" color=\"primary\" [(ngModel)]=\"item.isSelected\"\r\n (change)=\"onSelect(item)\" [disabled]=\"\r\n selectedItems | selectionDisable: item:gridOption?.selection\r\n \">\r\n </mat-checkbox>\r\n </ng-container>\r\n\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditorValidation\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 2px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n </th>\r\n <td class=\"p-0 position-relative\" mat-cell *matCellDef=\"let item; index as idx\">\r\n <sd-desktop-editor-validation [sdId]=\"item.sdId\" [item]=\"item\" [items]=\"items\" [gridOption]=\"gridOption\">\r\n </sd-desktop-editor-validation>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button class=\"c-btn-add\"\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon-add\">add</mat-icon>\r\n </button>\r\n </th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item; index as idx\">\r\n <ng-container *sdLet=\"item.editorStatus | sdEditorHandlerRow:item:gridOption as editorHandler\">\r\n <div *ngIf=\"editorHandler\" class=\"d-flex align-items-center justify-content-center\">\r\n <button *ngIf=\"editorHandler.editable\" class=\"mx-2\" (click)=\"onUpdate(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">edit</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.removable\" class=\"mx-2\" (click)=\"onRemove(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">delete</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.savable\" class=\"mx-2\" (click)=\"onSave(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">save</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.cancelable\" class=\"mx-2\" (click)=\"onCancel(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-command [commands]=\"gridOption.commands\" [item]=\"item\"></sd-desktop-command>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns; let i = index\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef cdkDrag class=\"px-8 py-8 c-th\"\r\n [ngStyle]=\"{ 'min-width': configuration.firstColumns[i].width }\" [attr.rowspan]=\"\r\n configuration.multipleHeader && column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div aria-hidden=\"false\" role=\"presentation\" mat-sort-header [disabled]=\"\r\n !column.sortable || column.type === 'children-col'\r\n \" [innerHTML]=\"configuration.firstColumns[i].titleHtml || configuration.firstColumns[i].title\">\r\n </div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\" [value]=\"columnFilter[column.field]\"\r\n [columnFilter]=\"columnFilter\" [column]=\"column\" (filterChange)=\"onFilterChange()\">\r\n </sd-column-inline-filter>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [sdId]=\"item.sdId\" [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\"\r\n [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\" [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns; let i = index\"\r\n [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header class=\"c-th px-8\"\r\n [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\" [value]=\"columnFilter[column.field]\"\r\n [columnFilter]=\"columnFilter\" [column]=\"column\" (filterChange)=\"onFilterChange()\">\r\n </sd-column-inline-filter>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [sdId]=\"item.sdId\" [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\"\r\n [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\" [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\"></tr>\r\n <ng-container *ngIf=\"configuration.secondHeaders?.length\">\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n </ng-container>\r\n <tr mat-row *matRowDef=\"let row; columns: configuration.displayedColumns\" matRipple class=\"c-row\"\r\n [class.selected]=\"row.isSelected\" [style]=\"row | sdStyleRowCss:gridOption\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdSubInformation']\" class=\"c-detail-row\"></tr>\r\n <ng-container *ngIf=\"hasFooter && configuration.displayedFooters?.length\">\r\n <tr mat-footer-row *matFooterRowDef=\"configuration.displayedFooters; sticky: true\"></tr>\r\n </ng-container>\r\n </table>\r\n <ng-template #elseEmpty>\r\n <table mat-table [dataSource]=\"[{}]\">\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditorValidation\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 4px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n </th>\r\n <td class=\"p-0\" mat-cell *matCellDef=\"let item\">\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button class=\"c-btn-add\"\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon-add\">add</mat-icon>\r\n </button>\r\n </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEmpty\">\r\n <td class=\"c-empty\" mat-cell *matCellDef=\"let item\"\r\n [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <ng-container *ngIf=\"sdEmptyData?.templateRef; else sdEmptyDataNoRef\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdEmptyData.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #sdEmptyDataNoRef>\r\n <mat-icon fontSet=\"material-icons-outlined\">leaderboard</mat-icon>\r\n </ng-template>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.columns\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns; let i = index\"\r\n [matColumnDef]=\"column.field\" [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\"\r\n [ngStyle]=\"{ 'min-width': configuration.firstColumns[i].width }\" [attr.rowspan]=\"\r\n configuration.multipleHeader &&\r\n column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div [innerHTML]=\"configuration.firstColumns[i].titleHtml || configuration.firstColumns[i].title\">\r\n </div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\"\r\n [value]=\"columnFilter[column.field]\" [columnFilter]=\"columnFilter\" [column]=\"column\"\r\n (filterChange)=\"onFilterChange()\"></sd-column-inline-filter>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns\" [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\"\r\n [value]=\"columnFilter[column.field]\" [columnFilter]=\"columnFilter\" [column]=\"column\"\r\n (filterChange)=\"onFilterChange()\"></sd-column-inline-filter>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\">\r\n </tr>\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdEmpty']\"></tr>\r\n </table>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <div class=\"c-paginator\">\r\n <div class=\"c-action\">\r\n <sd-button *ngIf=\"\r\n !gridOption.filter?.disabled && !gridOption.filter?.inlineColumn\r\n \" class=\"mr-10\" [title]=\"'Filter' | sdTranslate\" icon=\"filter_alt\" size=\"sm\" (action)=\"gridFilter.open()\"\r\n type=\"link\">\r\n </sd-button>\r\n <sd-button *ngIf=\"gridOption.reload?.visible\" class=\"mr-10\" [title]=\"'Reload' | sdTranslate\" icon=\"refresh\"\r\n size=\"sm\" (action)=\"reload()\" [disabled]=\"!items?.length\" type=\"link\">\r\n </sd-button>\r\n <ng-container *ngIf=\"gridOption.export?.visible && items?.length\">\r\n <ng-container *ngIf=\"isExporting; else unExporting\">\r\n <sd-button class=\"mr-10\" [loading]=\"isExporting\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\"\r\n size=\"sm\" type=\"link\">\r\n </sd-button>\r\n </ng-container>\r\n <ng-template #unExporting>\r\n <sd-button class=\"mr-10\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\" size=\"sm\"\r\n [matMenuTriggerFor]=\"menu\" type=\"link\">\r\n </sd-button>\r\n </ng-template>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <button *ngIf=\"gridOption.export?.visibleExcel !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export excel\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.visibleCSV !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault(true)\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export CSV\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.key\" mat-menu-item (click)=\"sdPopupExport.open()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">settings</mat-icon>\r\n <span> {{ \"Configure\" | sdTranslate }}</span>\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <sd-button *ngIf=\"gridOption.config?.visible\" class=\"mr-10\" [title]=\"'Configure' | sdTranslate\"\r\n icon=\"settings\" size=\"sm\" (action)=\"popupGridConfiguration.open()\" type=\"link\">\r\n </sd-button>\r\n </div>\r\n <mat-paginator [class.d-none]=\"gridOption.paginate?.hidden\" [length]=\"total\"\r\n [pageSize]=\"gridOption.paginate?.pageSize\" [pageSizeOptions]=\"gridOption.paginate?.pages\"\r\n [showFirstLastButtons]=\"gridOption.paginate?.showFirstLastButtons\"></mat-paginator>\r\n </div>\r\n </div>\r\n <sd-popup-export *ngIf=\"gridOption.export?.visible\" [gridOption]=\"gridOption\" (export)=\"onExport($event)\"\r\n #sdPopupExport>\r\n </sd-popup-export>\r\n <sd-popup-grid-configuration [gridOption]=\"gridOption\" [key]=\"key\" #popupGridConfiguration>\r\n </sd-popup-grid-configuration>\r\n </ng-container>\r\n</ng-container>\r\n<sd-grid-quick-action [gridOption]=\"gridOption\" [selectedItems]=\"selectedItems\" (clear)=\"onClearSelection()\">\r\n</sd-grid-quick-action>",
1981
+ template: "<ng-container *ngIf=\"gridConfigurationObserver | async as gridConfiguration\">\r\n <ng-container *ngIf=\"\r\n gridConfiguration\r\n | sdGridConfigurationResult\r\n : gridOption\r\n : sdSubInformation as configuration\r\n \">\r\n <ng-container *ngIf=\"!gridOption.filter?.disabled\">\r\n <sd-grid-filter [filter]=\"gridOption?.filter\" [columns]=\"configuration.firstColumns\" [filterDefs]=\"filterDefs\">\r\n </sd-grid-filter>\r\n </ng-container>\r\n <div class=\"c-container {{ gridOption?.style?.grid }}\" [ngClass]=\"{ 'mat-elevation-z2': gridOption?.shadow }\">\r\n <div class=\"c-loading\" *ngIf=\"isLoading\">\r\n <mat-spinner *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n <ng-container>\r\n <div class=\"c-table\" sdScroll [ngStyle]=\"{\r\n 'max-height': gridOption?.maxHeight,\r\n 'min-height': gridOption?.minHeight\r\n }\">\r\n <table *ngIf=\"items?.length; else elseEmpty\" mat-table [dataSource]=\"items\" matSort\r\n [matSortDisabled]=\"!gridOption.sortable\" cdkDropList cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListDisabled]=\"!gridOption.dropDragColumnEnable\"\r\n (cdkDropListDropped)=\"drop($event, configuration.displayedColumns)\" multiTemplateDataRows>\r\n <ng-container matColumnDef=\"sdSubInformation\" sticky>\r\n <td class=\"p-0\" mat-cell *matCellDef=\"let item\" [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <div *ngIf=\"sdSubInformation?.templateRef\" [@detailExpand]=\"item.isExpanded ? 'expanded' : 'collapsed'\">\r\n <ng-container *ngIf=\"item.isExpanded\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdSubInformation.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\" stickyEnd>\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button *ngIf=\"!element.isExpanding\" mat-icon-button aria-label=\"Expand & Collapse\"\r\n (click)=\"onExpand(element)\">\r\n <mat-icon *ngIf=\"!element.isExpanded\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"element.isExpanded\">expand_less</mat-icon>\r\n </button>\r\n <div *ngIf=\"element.isExpanding\" class=\"lds-ring\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"text-center px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <ng-container *ngIf=\"items | selectionVisibleSelectAll: gridOption?.selection | async\">\r\n <mat-checkbox *ngIf=\"!gridOption.selection?.single\" class=\"c-selection\" color=\"primary\"\r\n [(ngModel)]=\"isSelectAll\" (change)=\"onSelectAll()\">\r\n </mat-checkbox>\r\n </ng-container>\r\n\r\n </th>\r\n <td class=\"text-center px-15\" mat-cell *matCellDef=\"let item\" style=\"min-width: 50px; max-width: 50px\">\r\n <ng-container *ngIf=\"item | selectionVisible:gridOption?.selection\">\r\n <mat-checkbox class=\"c-selection\" color=\"primary\" [(ngModel)]=\"item.isSelected\"\r\n (change)=\"onSelect(item)\" [disabled]=\"\r\n selectedItems | selectionDisable: item:gridOption?.selection\r\n \">\r\n </mat-checkbox>\r\n </ng-container>\r\n\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditorValidation\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 2px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n </th>\r\n <td class=\"p-0 position-relative\" mat-cell *matCellDef=\"let item; index as idx\">\r\n <sd-desktop-editor-validation [sdId]=\"item.sdId\" [item]=\"item\" [items]=\"items\" [gridOption]=\"gridOption\">\r\n </sd-desktop-editor-validation>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button class=\"c-btn-add\"\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon-add\">add</mat-icon>\r\n </button>\r\n </th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item; index as idx\">\r\n <ng-container *sdLet=\"item.editorStatus | sdEditorHandlerRow:item:gridOption as editorHandler\">\r\n <div *ngIf=\"editorHandler\" class=\"d-flex align-items-center justify-content-center\">\r\n <button *ngIf=\"editorHandler.editable\" class=\"mx-2\" (click)=\"onUpdate(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">edit</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.removable\" class=\"mx-2\" (click)=\"onRemove(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">delete</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.savable\" class=\"mx-2\" (click)=\"onSave(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">save</mat-icon>\r\n </button>\r\n <button *ngIf=\"editorHandler.cancelable\" class=\"mx-2\" (click)=\"onCancel(item)\" aria-hidden=\"true\"\r\n mat-icon-button>\r\n <mat-icon class=\"c-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8 py-8\" mat-header-cell *matHeaderCellDef style=\"width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n <td class=\"px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-command [commands]=\"gridOption.commands\" [item]=\"item\"></sd-desktop-command>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns; let i = index\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef cdkDrag class=\"px-8 py-8 c-th\"\r\n [ngStyle]=\"{ 'min-width': configuration.firstColumns[i].width }\" [attr.rowspan]=\"\r\n configuration.multipleHeader && column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div aria-hidden=\"false\" role=\"presentation\" mat-sort-header [disabled]=\"\r\n !column.sortable || column.type === 'children-col'\r\n \" [innerHTML]=\"configuration.firstColumns[i].titleHtml || configuration.firstColumns[i].title\">\r\n </div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\" [value]=\"columnFilter[column.field]\"\r\n [columnFilter]=\"columnFilter\" [column]=\"column\" (filterChange)=\"onFilterChange()\">\r\n </sd-column-inline-filter>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [sdId]=\"item.sdId\" [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\"\r\n [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\" [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns; let i = index\"\r\n [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header class=\"c-th px-8\"\r\n [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\" [value]=\"columnFilter[column.field]\"\r\n [columnFilter]=\"columnFilter\" [column]=\"column\" (filterChange)=\"onFilterChange()\">\r\n </sd-column-inline-filter>\r\n </div>\r\n </th>\r\n <td class=\"c-td px-8\" mat-cell *matCellDef=\"let item\">\r\n <sd-desktop-cell [sdId]=\"item.sdId\" [key]=\"key\" [value]=\"item[column.field]\" [column]=\"column\"\r\n [item]=\"item\" [idx]=\"i\" [cellDef]=\"cellDef\" [gridOption]=\"gridOption\">\r\n </sd-desktop-cell>\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef>\r\n <ng-container *ngIf=\"footerDef[column.field]\">\r\n <ng-container *ngTemplateOutlet=\"\r\n footerDef[column.field].templateRef;\r\n context: { items: items, column: column }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\"></tr>\r\n <ng-container *ngIf=\"configuration.secondHeaders?.length\">\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n </ng-container>\r\n <tr mat-row *matRowDef=\"let row; columns: configuration.displayedColumns\" matRipple class=\"c-row\"\r\n [class.selected]=\"row.isSelected\" [style]=\"row | sdStyleRowCss:gridOption\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdSubInformation']\" class=\"c-detail-row\"></tr>\r\n <ng-container *ngIf=\"hasFooter && configuration.displayedFooters?.length\">\r\n <tr mat-footer-row *matFooterRowDef=\"configuration.displayedFooters; sticky: true\"></tr>\r\n </ng-container>\r\n </table>\r\n <ng-template #elseEmpty>\r\n <table mat-table [dataSource]=\"[{}]\">\r\n <ng-container matColumnDef=\"sdSelection\" sticky>\r\n <th class=\"px-15\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditorValidation\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 4px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n </th>\r\n <td class=\"p-0\" mat-cell *matCellDef=\"let item\">\r\n </td>\r\n <td mat-footer-cell *matFooterCellDef></td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEditor\">\r\n <th class=\"px-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\">\r\n <button class=\"c-btn-add\"\r\n *ngIf=\"gridOption.editor?.addable && (!gridOption.editor.limit || gridOption.editor.limit > items.length)\"\r\n (click)=\"onCreate()\" aria-hidden=\"true\" mat-icon-button>\r\n <mat-icon class=\"c-icon-add\">add</mat-icon>\r\n </button>\r\n </th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdCommand\">\r\n <th class=\"px-8\" mat-header-cell *matHeaderCellDef style=\"min-width: 50px; max-width: 50px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdSubInformationAction\">\r\n <th class=\"p-0\" mat-header-cell *matHeaderCellDef style=\"width: 1px\"\r\n [attr.rowspan]=\"configuration.multipleHeader ? 2 : 1\"></th>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sdEmpty\">\r\n <td class=\"c-empty\" mat-cell *matCellDef=\"let item\"\r\n [attr.colspan]=\"configuration.displayedColumns.length\">\r\n <ng-container *ngIf=\"sdEmptyData?.templateRef; else sdEmptyDataNoRef\">\r\n <ng-container *ngTemplateOutlet=\"\r\n sdEmptyData.templateRef;\r\n context: { item: item }\r\n \">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #sdEmptyDataNoRef>\r\n <mat-icon fontSet=\"material-icons-outlined\">leaderboard</mat-icon>\r\n </ng-template>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.columns\" [matColumnDef]=\"column.field\"\r\n [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.firstColumns; let i = index\"\r\n [matColumnDef]=\"column.field\" [sticky]=\"configuration.fixedColumn[column.field]\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\"\r\n [ngStyle]=\"{ 'min-width': configuration.firstColumns[i].width }\" [attr.rowspan]=\"\r\n configuration.multipleHeader &&\r\n column.type !== 'children-col'\r\n ? 2\r\n : 1\r\n \" [attr.colspan]=\"\r\n column.type === 'children-col' ? column.children?.length : 1\r\n \">\r\n <div>\r\n <div [innerHTML]=\"configuration.firstColumns[i].titleHtml || configuration.firstColumns[i].title\">\r\n </div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\"\r\n [value]=\"columnFilter[column.field]\" [columnFilter]=\"columnFilter\" [column]=\"column\"\r\n (filterChange)=\"onFilterChange()\"></sd-column-inline-filter>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <ng-container *ngFor=\"let column of configuration.secondColumns\" [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef class=\"c-th px-8 py-8\" [ngStyle]=\"{ 'min-width': column.width }\">\r\n <div>\r\n <div [innerHTML]=\"column.titleHtml || column.title\"></div>\r\n <sd-column-inline-filter *ngIf=\"gridOption.filter?.inlineColumn\"\r\n [value]=\"columnFilter[column.field]\" [columnFilter]=\"columnFilter\" [column]=\"column\"\r\n (filterChange)=\"onFilterChange()\"></sd-column-inline-filter>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <tr class=\"c-first-header\" mat-header-row *matHeaderRowDef=\"configuration.firstHeaders; sticky: true\">\r\n </tr>\r\n <tr class=\"c-second-header\" mat-header-row *matHeaderRowDef=\"configuration.secondHeaders; sticky: true\">\r\n </tr>\r\n <tr mat-row *matRowDef=\"let row; columns: ['sdEmpty']\"></tr>\r\n </table>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <div class=\"c-paginator\">\r\n <div class=\"c-action\">\r\n <sd-button *ngIf=\"\r\n !gridOption.filter?.disabled && !gridOption.filter?.inlineColumn\r\n \" class=\"mr-10\" [title]=\"'Filter' | sdTranslate\" icon=\"filter_alt\" size=\"sm\" (action)=\"gridFilter.open()\"\r\n type=\"link\">\r\n </sd-button>\r\n <sd-button *ngIf=\"gridOption.reload?.visible\" class=\"mr-10\" [title]=\"'Reload' | sdTranslate\" icon=\"refresh\"\r\n size=\"sm\" (action)=\"reload()\" [disabled]=\"!items?.length\" type=\"link\">\r\n </sd-button>\r\n <ng-container *ngIf=\"gridOption.export?.visible && items?.length\">\r\n <ng-container *ngIf=\"isExporting; else unExporting\">\r\n <sd-button class=\"mr-10\" [loading]=\"isExporting\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\"\r\n size=\"sm\" type=\"link\">\r\n </sd-button>\r\n </ng-container>\r\n <ng-template #unExporting>\r\n <sd-button class=\"mr-10\" [title]=\"exportTitle | sdTranslate\" icon=\"get_app\" size=\"sm\"\r\n [matMenuTriggerFor]=\"menu\" type=\"link\">\r\n </sd-button>\r\n </ng-template>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <button *ngIf=\"gridOption.export?.visibleExcel !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export excel\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.visibleCSV !== false\" mat-menu-item\r\n (click)=\"sdPopupExport.exportDefault(true)\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">file_download</mat-icon>\r\n <span> {{ \"Export CSV\" | sdTranslate }}</span>\r\n </button>\r\n <button *ngIf=\"gridOption.export?.key\" mat-menu-item (click)=\"sdPopupExport.open()\" type=\"button\">\r\n <mat-icon fontSet=\"material-icons-outlined\">settings</mat-icon>\r\n <span> {{ \"Configure\" | sdTranslate }}</span>\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <sd-button *ngIf=\"gridOption.config?.visible\" class=\"mr-10\" [title]=\"'Configure' | sdTranslate\"\r\n icon=\"settings\" size=\"sm\" (action)=\"popupGridConfiguration.open()\" type=\"link\">\r\n </sd-button>\r\n </div>\r\n <mat-paginator [class.d-none]=\"gridOption.paginate?.hidden\" [length]=\"total\"\r\n [pageSize]=\"gridOption.paginate?.pageSize\" [pageSizeOptions]=\"gridOption.paginate?.pages\"\r\n [showFirstLastButtons]=\"gridOption.paginate?.showFirstLastButtons\"></mat-paginator>\r\n </div>\r\n </div>\r\n <sd-popup-export *ngIf=\"gridOption.export?.visible\" [gridOption]=\"gridOption\" (export)=\"onExport($event)\"\r\n #sdPopupExport>\r\n </sd-popup-export>\r\n <sd-popup-grid-configuration [gridOption]=\"gridOption\" [key]=\"key\" #popupGridConfiguration>\r\n </sd-popup-grid-configuration>\r\n </ng-container>\r\n</ng-container>\r\n<sd-grid-quick-action [gridOption]=\"gridOption\" [selectedItems]=\"selectedItems\" (clear)=\"onClearSelection()\">\r\n</sd-grid-quick-action>",
1982
1982
  animations: [
1983
1983
  trigger('detailExpand', [
1984
1984
  state('collapsed', style({ height: '0', minHeight: '0', visibility: 'hidden' })),
@@ -1986,7 +1986,7 @@ SdGridMaterial.decorators = [
1986
1986
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
1987
1987
  ]),
1988
1988
  ],
1989
- styles: [":host{display:flex;flex-direction:column;height:100%;overflow:auto}:host .c-container{display:flex;flex:1;flex-direction:column;min-height:200px;position:relative}:host .c-container .c-table{flex:1;min-height:300px;position:relative}:host .c-container .c-table table{border-collapse:separate;width:100%}:host .c-container .c-table table tr.c-first-header.mat-header-row,:host .c-container .c-table table tr.c-second-header.mat-header-row{height:40px}:host .c-container .c-table table tr.c-detail-row{height:0}:host .c-container .c-table table tr.c-row.activated{background-color:#e5ecff}:host .c-container .c-table table tr.c-row.selected{background-color:#eef2ff}:host .c-container .c-table table tr.c-row:not(.selected):not(.activated):hover{background-color:#f5f5f5}:host .c-container .c-table table tr.c-row td{border-bottom-width:0}:host .c-container .c-table table tr.c-row.c-expandable{cursor:pointer}:host .c-container .c-table table tr.c-row.c-expandable:hover{background:#f5f5f5}:host .c-container .c-table table th.mat-header-cell{background-color:#f2f3f4;border-bottom:0!important}:host .c-container .c-table table td.mat-cell,:host .c-container .c-table table td.mat-footer-cell,:host .c-container .c-table table th.mat-header-cell{border-bottom-color:#f2f2f2!important}:host .c-container .c-table .c-th{color:#212121;font-size:14px;font-weight:500;line-height:20px;vertical-align:middle}:host .c-container .c-table .c-td:first{padding-left:10px}:host .c-container .c-loading{align-items:center;background:rgba(0,0,0,.15);bottom:56px;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:2}:host .c-container .c-paginator{align-items:center;background-color:#fff;display:flex;flex-direction:row;justify-content:space-between}:host .c-container .c-paginator .c-action{padding:5px}:host .c-container .c-empty{background-color:#fff;border:none!important;text-align:center}:host .c-container .c-empty mat-icon{font-size:150px;height:auto;margin-bottom:30px;margin-top:30px;opacity:.2;width:auto}:host button.c-btn-add{background-color:#fff;box-shadow:0 2px 4px rgba(47,49,54,.16)}:host mat-icon.c-icon{color:rgba(0,0,0,.54)!important}:host mat-icon.c-icon-add{color:#2962ff!important}:host .lds-ring{display:inline-block;height:40px;position:relative;width:40px}:host .lds-ring div{-webkit-animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid transparent;border-radius:50%;border-top-color:#cef;box-sizing:border-box;display:block;height:32px;margin:4px;position:absolute;width:32px}:host .lds-ring div:first-child{-webkit-animation-delay:-.45s;animation-delay:-.45s}:host .lds-ring div:nth-child(2){-webkit-animation-delay:-.3s;animation-delay:-.3s}:host .lds-ring div:nth-child(3){-webkit-animation-delay:-.15s;animation-delay:-.15s}:host .style1 .mat-table{border:1px solid #dde0e5}:host .style1 .mat-table tr.mat-header-row{background:#f2f3f4}:host .style1 .mat-table th.mat-header-cell{padding:10px 0}:host .style1 .c-paginator{border:1px solid #dde0e5;border-top:none!important}:host .style1 .mat-form-field-wrapper{background:#fff;padding:0}@-webkit-keyframes lds-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes lds-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:host ::ng-deep .mat-sort-header-content{display:block;text-align:left;width:100%}:host ::ng-deep .mat-select-arrow{color:#a6a6a6}:host ::ng-deep .mat-sort-header-disabled{background-image:none!important;cursor:default!important;padding-right:12px!important}:host ::ng-deep .mat-sort-header-container{align-items:start!important}:host ::ng-deep .mat-sort-header-arrow{margin-top:4px!important}:host ::ng-deep .mat-sort-header{cursor:pointer}:host ::ng-deep .mat-sort-header[aria-sort]{background-position:center right 0;background-repeat:no-repeat;background-size:16px 16px;cursor:pointer;padding-right:24px}:host ::ng-deep .mat-sort-header[aria-sort=none]{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%237A7A7A' d='M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z'/%3E%3C/svg%3E\")}:host ::ng-deep .mat-sort-header[aria-sort=ascending]{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%237A7A7A' d='M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z'/%3E%3C/svg%3E\")}:host ::ng-deep .mat-sort-header[aria-sort=descending]{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%237A7A7A' d='M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z'/%3E%3C/svg%3E\")}"]
1989
+ styles: [".text-black400{color:#757575}:host{display:flex;flex-direction:column;height:100%;overflow:auto}:host .c-container{display:flex;flex:1;flex-direction:column;min-height:200px;position:relative}:host .c-container .c-table{flex:1;min-height:300px;position:relative}:host .c-container .c-table table{border-collapse:separate;width:100%}:host .c-container .c-table table tr.c-first-header.mat-header-row,:host .c-container .c-table table tr.c-second-header.mat-header-row{height:40px}:host .c-container .c-table table tr.c-detail-row{height:0}:host .c-container .c-table table tr.c-row.activated{background-color:#e5ecff}:host .c-container .c-table table tr.c-row.selected{background-color:#eef2ff}:host .c-container .c-table table tr.c-row:not(.selected):not(.activated):hover{background-color:#f5f5f5}:host .c-container .c-table table tr.c-row td{border-bottom-width:0}:host .c-container .c-table table tr.c-row.c-expandable{cursor:pointer}:host .c-container .c-table table tr.c-row.c-expandable:hover{background:#f5f5f5}:host .c-container .c-table table th.mat-header-cell{background-color:#f2f3f4;border-bottom:0!important}:host .c-container .c-table table td.mat-cell,:host .c-container .c-table table td.mat-footer-cell,:host .c-container .c-table table th.mat-header-cell{border-bottom-color:#f2f2f2!important}:host .c-container .c-table .c-th{color:#212121;font-size:14px;font-weight:500;line-height:20px;vertical-align:middle}:host .c-container .c-table .c-td:first{padding-left:10px}:host .c-container .c-loading{align-items:center;background:rgba(0,0,0,.15);bottom:56px;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:2}:host .c-container .c-paginator{align-items:center;background-color:#fff;display:flex;flex-direction:row;justify-content:space-between}:host .c-container .c-paginator .c-action{padding:5px}:host .c-container .c-empty{background-color:#fff;border:none!important;text-align:center}:host .c-container .c-empty mat-icon{font-size:150px;height:auto;margin-bottom:30px;margin-top:30px;opacity:.2;width:auto}:host button.c-btn-add{background-color:#fff;box-shadow:0 2px 4px rgba(47,49,54,.16)}:host mat-icon.c-icon{color:rgba(0,0,0,.54)!important}:host mat-icon.c-icon-add{color:#2962ff!important}:host .lds-ring{display:inline-block;height:40px;position:relative;width:40px}:host .lds-ring div{-webkit-animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid transparent;border-radius:50%;border-top-color:#cef;box-sizing:border-box;display:block;height:32px;margin:4px;position:absolute;width:32px}:host .lds-ring div:first-child{-webkit-animation-delay:-.45s;animation-delay:-.45s}:host .lds-ring div:nth-child(2){-webkit-animation-delay:-.3s;animation-delay:-.3s}:host .lds-ring div:nth-child(3){-webkit-animation-delay:-.15s;animation-delay:-.15s}:host .style1 .mat-table{border:1px solid #dde0e5}:host .style1 .mat-table tr.mat-header-row{background:#f2f3f4}:host .style1 .mat-table th.mat-header-cell{padding:10px 0}:host .style1 .c-paginator{border:1px solid #dde0e5;border-top:none!important}:host .style1 .mat-form-field-wrapper{background:#fff;padding:0}@-webkit-keyframes lds-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes lds-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:host ::ng-deep .mat-sort-header-content{display:block;text-align:left;width:100%}:host ::ng-deep .mat-select-arrow{color:#a6a6a6}:host ::ng-deep .mat-sort-header-disabled{background-image:none!important;cursor:default!important;padding-right:12px!important}:host ::ng-deep .mat-sort-header-container{align-items:start!important}:host ::ng-deep .mat-sort-header-arrow{margin-top:4px!important}:host ::ng-deep .mat-sort-header{cursor:pointer}:host ::ng-deep .mat-sort-header[aria-sort]{background-position:center right 0;background-repeat:no-repeat;background-size:16px 16px;cursor:pointer;padding-right:24px}:host ::ng-deep .mat-sort-header[aria-sort=none]{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%237A7A7A' d='M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z'/%3E%3C/svg%3E\")}:host ::ng-deep .mat-sort-header[aria-sort=ascending]{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%237A7A7A' d='M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z'/%3E%3C/svg%3E\")}:host ::ng-deep .mat-sort-header[aria-sort=descending]{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%237A7A7A' d='M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z'/%3E%3C/svg%3E\")}"]
1990
1990
  },] }
1991
1991
  ];
1992
1992
  SdGridMaterial.ctorParameters = () => [
@@ -2186,9 +2186,9 @@ class SdDesktopCellView {
2186
2186
  SdDesktopCellView.decorators = [
2187
2187
  { type: Component, args: [{
2188
2188
  selector: 'sd-desktop-cell-view',
2189
- template: "<ng-container *ngIf=\"column.htmlTemplate;else useDefaultView\">\r\n <div (click)=\"column.click && column.click(item[column.field], item)\" style=\"overflow-wrap: break-word;\"\r\n [ngClass]=\"{'cursor-pointer':column.click}\"\r\n [innerHTML]=\"(item[column.field] | columnHtmlTemplate:item:column) | safeHtml\">\r\n </div>\r\n</ng-container>\r\n<ng-template #useDefaultView>\r\n <ng-container *sdLet=\"item[column.field] | columnBadge:item:column as badge\">\r\n <ng-container *sdLet=\"item[column.field] | columnTooltip:item:column as tooltip\">\r\n <ng-container *sdLet=\"item[column.field] | columnTransform:item:column:key | async as val\">\r\n <ng-container\r\n *ngIf=\"column.type === 'string' || column.type === 'number' || column.type === 'bool' || column.type === 'values'\">\r\n <ng-container *ngIf=\"!!badge\">\r\n <sd-badge [type]=\"badge.type\" [title]=\"val\" [color]=\"badge.color\" [icon]=\"badge.icon\" [tooltip]=\"tooltip\"\r\n (sdClick)=\"column.click(item[column.field], item)\"></sd-badge>\r\n </ng-container>\r\n <ng-container *ngIf=\"!badge\">\r\n <div class=\"text-break\" [matTooltip]=\"tooltip\">\r\n <a *ngIf=\"column.click\" href=\"javascript:;\" (click)=\"column.click(item[column.field], item)\">{{val}}</a>\r\n <ng-container *ngIf=\"!column.click\">{{val}}\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <div *ngIf=\"column.type === 'date'\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | date:'dd/MM/yyyy'\">\r\n <ng-container *ngIf=\"column.option?.timeDifferent;else noTimeDifferent\">\r\n {{val | sdTimeDifferent:'dd/MM/yyyy':column.option?.timeDifferent | async}}\r\n </ng-container>\r\n <ng-template #noTimeDifferent>\r\n {{val | date:'dd/MM/yyyy'}}\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"column.type === 'datetime'\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | date:'dd/MM/yyyy HH:mm'\">\r\n <ng-container *ngIf=\"column.option?.timeDifferent;else noTimeDifferent\">\r\n {{val | sdTimeDifferent:'dd/MM/yyyy HH:mm':column.option?.timeDifferent | async}}\r\n </ng-container>\r\n <ng-template #noTimeDifferent>\r\n <span class=\"d-block T14R c-time\">{{val | date:'HH:mm'}}</span>\r\n <span class=\"d-block T14R\">{{val | date:'dd/MM/yyyy'}}</span>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"column.type === 'time'\">\r\n <span class=\"d-block T14R c-time\">{{val | date:'HH:mm'}}</span>\r\n </div>\r\n <div *ngIf=\"column.type === 'image'\" class=\"align-middle text-center\">\r\n <img *ngIf=\"val\" [src]=\"val\" [width]=\"column.option?.width\" [height]=\"column.option?.height\"\r\n style=\"margin: 5px 0;object-fit: contain;\" (click)=\"column.click && column.click(item[column.field], item)\"\r\n [ngClass]=\"{'pointer':column.click}\">\r\n <mat-icon *ngIf=\"!val\" class=\"c-img\" [ngClass]=\"{'pointer':column.click}\"\r\n (click)=\"column.click && column.click(item[column.field], item)\">image</mat-icon>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <sd-desktop-cell-children-view *ngIf=\"column.type === 'children'\" [key]=\"key\" [item]=\"item\" [column]=\"column\">\r\n </sd-desktop-cell-children-view>\r\n</ng-template>",
2189
+ template: "<ng-container *ngIf=\"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>",
2190
2190
  changeDetection: ChangeDetectionStrategy.OnPush,
2191
- styles: [".c-color-success{color:#4caf50}.c-color-danger{color:#f82c13}.c-img{font-size:30px;opacity:.5}.c-img.pointer:hover{opacity:.9}.c-time{color:#757575}"]
2191
+ styles: [".text-black400{color:#757575}.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}"]
2192
2192
  },] }
2193
2193
  ];
2194
2194
  SdDesktopCellView.ctorParameters = () => [];
@@ -2196,7 +2196,8 @@ SdDesktopCellView.propDecorators = {
2196
2196
  sdId: [{ type: Input }],
2197
2197
  key: [{ type: Input }],
2198
2198
  column: [{ type: Input }],
2199
- item: [{ type: Input }]
2199
+ item: [{ type: Input }],
2200
+ gridOption: [{ type: Input }]
2200
2201
  };
2201
2202
 
2202
2203
  class SdColumnTransformPipe {
@@ -2846,7 +2847,7 @@ class SdDesktopCell {
2846
2847
  SdDesktopCell.decorators = [
2847
2848
  { type: Component, args: [{
2848
2849
  selector: 'sd-desktop-cell',
2849
- 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>",
2850
2851
  changeDetection: ChangeDetectionStrategy.OnPush
2851
2852
  },] }
2852
2853
  ];
@@ -2876,7 +2877,7 @@ class SdDesktopCellEditor {
2876
2877
  SdDesktopCellEditor.decorators = [
2877
2878
  { type: Component, args: [{
2878
2879
  selector: 'sd-desktop-cell-editor',
2879
- 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>",
2880
2881
  changeDetection: ChangeDetectionStrategy.OnPush
2881
2882
  },] }
2882
2883
  ];
@@ -3033,7 +3034,7 @@ SdDesktopEditorValidation.decorators = [
3033
3034
  selector: 'sd-desktop-editor-validation',
3034
3035
  template: "<ng-container *sdLet=\"item.sdId | sdEditorValidate:item:items:gridOption | async\">\r\n <div class=\"c-editor-validation\" [class.c-danger]=\"!!item.editorErrorMessage\" matTooltipPosition=\"after\"\r\n [matTooltip]=\"item.editorErrorMessage\">\r\n </div>\r\n</ng-container>",
3035
3036
  changeDetection: ChangeDetectionStrategy.OnPush,
3036
- styles: [":host{height:100%;left:0;padding:12px 0;position:absolute;top:0}:host .c-editor-validation{border-bottom-right-radius:2px;border-top-right-radius:2px;height:100%;max-width:4px;min-width:4px;width:4px}:host .c-danger{background-color:#f82c13}"]
3037
+ styles: [".text-black400{color:#757575}:host{height:100%;left:0;padding:12px 0;position:absolute;top:0}:host .c-editor-validation{border-bottom-right-radius:2px;border-top-right-radius:2px;height:100%;max-width:4px;min-width:4px;width:4px}:host .c-danger{background-color:#f82c13}"]
3037
3038
  },] }
3038
3039
  ];
3039
3040
  SdDesktopEditorValidation.ctorParameters = () => [];
@@ -3172,6 +3173,135 @@ SdGridQuickAction.propDecorators = {
3172
3173
  clear: [{ type: Output }]
3173
3174
  };
3174
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 } = column;
3214
+ const seconds = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);
3215
+ if ((option === null || option === void 0 ? void 0 : option.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 ((option === null || option === void 0 ? void 0 : option.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 ((option === null || option === void 0 ? void 0 : option.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 ((option === null || option === void 0 ? void 0 : option.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 ((option === null || option === void 0 ? void 0 : option.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
+ if (column.type === 'datetime' && result.display.value) {
3238
+ result.display.html = `<span class="d-block T14R text-black400">${Date.toFormat(value, 'HH:mm')}</span><span class="d-block T14R">${Date.toFormat(value, 'dd/MM/yyyy')}</span>`;
3239
+ }
3240
+ }
3241
+ }
3242
+ if (column.type === 'time') {
3243
+ result.display.value = Date.toFormat(value, 'HH:mm');
3244
+ }
3245
+ if (column.type === 'values') {
3246
+ const data = yield this.gridService.loadValues(column, key);
3247
+ 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;
3248
+ }
3249
+ else if (column.type === 'number' && Number.isNumber(value)) {
3250
+ result.display.value = Number.toVNCurrency(value);
3251
+ }
3252
+ if (column.type === 'bool') {
3253
+ const { option } = column;
3254
+ 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');
3255
+ }
3256
+ }
3257
+ if (displayOnEmpty && (result.display.value === null || result.display.value === undefined || result.display.value === '')) {
3258
+ if (typeof (displayOnEmpty) === 'function') {
3259
+ result.display.html = displayOnEmpty(rowData, column);
3260
+ }
3261
+ else {
3262
+ result.display.html = `<div class="T16R text-black400">--</div>`;
3263
+ }
3264
+ }
3265
+ }
3266
+ // Badge
3267
+ if ((column.type === 'string' || column.type === 'number' || column.type === 'values') && column.badge) {
3268
+ result.badge = {
3269
+ type: !(column === null || column === void 0 ? void 0 : column.badgeType) ? 'round' : column.badgeType,
3270
+ color: column.badge(value, rowData),
3271
+ icon: (_d = column === null || column === void 0 ? void 0 : column.badgeIcon) === null || _d === void 0 ? void 0 : _d.call(column, value, rowData)
3272
+ };
3273
+ }
3274
+ else if (column.type === 'bool') {
3275
+ result.badge = {
3276
+ type: !(column === null || column === void 0 ? void 0 : column.badgeType) ? 'round' : column.badgeType,
3277
+ color: !!value ? 'success' : 'danger',
3278
+ icon: null
3279
+ };
3280
+ }
3281
+ // Tooltip
3282
+ if (typeof (tooltip) === 'function') {
3283
+ result.tooltip = tooltip(value, rowData);
3284
+ }
3285
+ // Clickable
3286
+ if (typeof (click) === 'function') {
3287
+ result.click = () => click(value, rowData);
3288
+ }
3289
+ return result;
3290
+ });
3291
+ }
3292
+ }
3293
+ _maxSecond = new WeakMap(), _maxMinute = new WeakMap(), _maxHour = new WeakMap(), _maxDay = new WeakMap(), _maxMonth = new WeakMap(), _isMobileOrTablet$1 = new WeakMap();
3294
+ SdCellViewPipe.decorators = [
3295
+ { type: Pipe, args: [{
3296
+ name: 'cellView'
3297
+ },] }
3298
+ ];
3299
+ SdCellViewPipe.ctorParameters = () => [
3300
+ { type: DeviceDetectorService },
3301
+ { type: SdUtilityService },
3302
+ { type: SdGridService }
3303
+ ];
3304
+
3175
3305
  class MatPaginatorIntlCro extends MatPaginatorIntl {
3176
3306
  constructor() {
3177
3307
  super(...arguments);
@@ -3268,7 +3398,8 @@ SdGridMaterialModule.decorators = [
3268
3398
  SdEditorHandlerColumnPipe,
3269
3399
  SdEditorValidatePipe,
3270
3400
  SdIdPipe,
3271
- SdStyleRowCss
3401
+ SdStyleRowCss,
3402
+ SdCellViewPipe
3272
3403
  ],
3273
3404
  exports: [
3274
3405
  SdGridMaterial,
@@ -3298,5 +3429,5 @@ SdGridMaterialModule.decorators = [
3298
3429
  * Generated bundle index. Do not edit.
3299
3430
  */
3300
3431
 
3301
- 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 };
3432
+ 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 };
3302
3433
  //# sourceMappingURL=sd-angular-core-grid-material.js.map