data-grid-workspace 0.0.120

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 (325) hide show
  1. package/.editorconfig +16 -0
  2. package/.vscode/extensions.json +4 -0
  3. package/.vscode/launch.json +20 -0
  4. package/.vscode/tasks.json +42 -0
  5. package/README.md +265 -0
  6. package/angular.json +144 -0
  7. package/backup-04112025/projects/data-grid/README.md +24 -0
  8. package/backup-04112025/projects/data-grid/ng-package.json +18 -0
  9. package/backup-04112025/projects/data-grid/package-lock.json +25 -0
  10. package/backup-04112025/projects/data-grid/package.json +23 -0
  11. package/backup-04112025/projects/data-grid/src/lib/css/bootstrap.css +12043 -0
  12. package/backup-04112025/projects/data-grid/src/lib/data-grid/animations.ts +228 -0
  13. package/backup-04112025/projects/data-grid/src/lib/data-grid/data-grid.component.html +5356 -0
  14. package/backup-04112025/projects/data-grid/src/lib/data-grid/data-grid.component.scss +2005 -0
  15. package/backup-04112025/projects/data-grid/src/lib/data-grid/data-grid.component.spec.ts +28 -0
  16. package/backup-04112025/projects/data-grid/src/lib/data-grid/data-grid.component.ts +5368 -0
  17. package/backup-04112025/projects/data-grid/src/lib/data-grid/statuses.ts +49 -0
  18. package/backup-04112025/projects/data-grid/src/lib/data-grid.module.ts +19 -0
  19. package/backup-04112025/projects/data-grid/src/lib/data-grid.service.spec.ts +16 -0
  20. package/backup-04112025/projects/data-grid/src/lib/data-grid.service.ts +9 -0
  21. package/backup-04112025/projects/data-grid/src/lib/directives/draggable-header.directive.spec.ts +11 -0
  22. package/backup-04112025/projects/data-grid/src/lib/directives/draggable-header.directive.ts +172 -0
  23. package/backup-04112025/projects/data-grid/src/lib/pipes/filter.pipe.spec.ts +11 -0
  24. package/backup-04112025/projects/data-grid/src/lib/pipes/filter.pipe.ts +22 -0
  25. package/backup-04112025/projects/data-grid/src/lib/services/cell-selection.service.spec.ts +16 -0
  26. package/backup-04112025/projects/data-grid/src/lib/services/cell-selection.service.ts +205 -0
  27. package/backup-04112025/projects/data-grid/src/lib/services/common.service.spec.ts +16 -0
  28. package/backup-04112025/projects/data-grid/src/lib/services/common.service.ts +278 -0
  29. package/backup-04112025/projects/data-grid/src/lib/services/copy-service.service.spec.ts +16 -0
  30. package/backup-04112025/projects/data-grid/src/lib/services/copy-service.service.ts +252 -0
  31. package/backup-04112025/projects/data-grid/src/lib/services/drag-drp.service.spec.ts +16 -0
  32. package/backup-04112025/projects/data-grid/src/lib/services/drag-drp.service.ts +58 -0
  33. package/backup-04112025/projects/data-grid/src/lib/services/export.service.spec.ts +16 -0
  34. package/backup-04112025/projects/data-grid/src/lib/services/export.service.ts +189 -0
  35. package/backup-04112025/projects/data-grid/src/lib/services/split-columns.service.spec.ts +16 -0
  36. package/backup-04112025/projects/data-grid/src/lib/services/split-columns.service.ts +148 -0
  37. package/backup-04112025/projects/data-grid/src/lib/services/swap-columns.service.spec.ts +16 -0
  38. package/backup-04112025/projects/data-grid/src/lib/services/swap-columns.service.ts +162 -0
  39. package/backup-04112025/projects/data-grid/src/public-api.ts +6 -0
  40. package/backup-04112025/projects/data-grid/src/typings.d.ts +4 -0
  41. package/backup-04112025/projects/data-grid/tsconfig.lib.json +19 -0
  42. package/backup-04112025/projects/data-grid/tsconfig.lib.prod.json +10 -0
  43. package/backup-04112025/projects/data-grid/tsconfig.spec.json +14 -0
  44. package/backup-29-10-2025/projects/data-grid/README.md +24 -0
  45. package/backup-29-10-2025/projects/data-grid/ng-package.json +10 -0
  46. package/backup-29-10-2025/projects/data-grid/package-lock.json +25 -0
  47. package/backup-29-10-2025/projects/data-grid/package.json +12 -0
  48. package/backup-29-10-2025/projects/data-grid/src/lib/css/bootstrap.css +12043 -0
  49. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid/animations.ts +228 -0
  50. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid/data-grid.component.html +5236 -0
  51. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid/data-grid.component.scss +1717 -0
  52. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid/data-grid.component.spec.ts +28 -0
  53. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid/data-grid.component.ts +5092 -0
  54. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid/statuses.ts +47 -0
  55. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid.module.ts +19 -0
  56. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid.service.spec.ts +16 -0
  57. package/backup-29-10-2025/projects/data-grid/src/lib/data-grid.service.ts +9 -0
  58. package/backup-29-10-2025/projects/data-grid/src/lib/directives/draggable-header.directive.spec.ts +11 -0
  59. package/backup-29-10-2025/projects/data-grid/src/lib/directives/draggable-header.directive.ts +172 -0
  60. package/backup-29-10-2025/projects/data-grid/src/lib/pipes/filter.pipe.spec.ts +11 -0
  61. package/backup-29-10-2025/projects/data-grid/src/lib/pipes/filter.pipe.ts +22 -0
  62. package/backup-29-10-2025/projects/data-grid/src/lib/services/cell-selection.service.spec.ts +16 -0
  63. package/backup-29-10-2025/projects/data-grid/src/lib/services/cell-selection.service.ts +205 -0
  64. package/backup-29-10-2025/projects/data-grid/src/lib/services/common.service.spec.ts +16 -0
  65. package/backup-29-10-2025/projects/data-grid/src/lib/services/common.service.ts +274 -0
  66. package/backup-29-10-2025/projects/data-grid/src/lib/services/copy-service.service.spec.ts +16 -0
  67. package/backup-29-10-2025/projects/data-grid/src/lib/services/copy-service.service.ts +251 -0
  68. package/backup-29-10-2025/projects/data-grid/src/lib/services/drag-drp.service.spec.ts +16 -0
  69. package/backup-29-10-2025/projects/data-grid/src/lib/services/drag-drp.service.ts +58 -0
  70. package/backup-29-10-2025/projects/data-grid/src/lib/services/split-columns.service.spec.ts +16 -0
  71. package/backup-29-10-2025/projects/data-grid/src/lib/services/split-columns.service.ts +148 -0
  72. package/backup-29-10-2025/projects/data-grid/src/lib/services/swap-columns.service.spec.ts +16 -0
  73. package/backup-29-10-2025/projects/data-grid/src/lib/services/swap-columns.service.ts +162 -0
  74. package/backup-29-10-2025/projects/data-grid/src/public-api.ts +6 -0
  75. package/backup-29-10-2025/projects/data-grid/tsconfig.lib.json +16 -0
  76. package/backup-29-10-2025/projects/data-grid/tsconfig.lib.prod.json +10 -0
  77. package/backup-29-10-2025/projects/data-grid/tsconfig.spec.json +14 -0
  78. package/image.png +0 -0
  79. package/package.json +52 -0
  80. package/projects/data-grid/README.md +324 -0
  81. package/projects/data-grid/ng-package.json +19 -0
  82. package/projects/data-grid/package-lock.json +25 -0
  83. package/projects/data-grid/package.json +38 -0
  84. package/projects/data-grid/src/lib/assets/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  85. package/projects/data-grid/src/lib/assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  86. package/projects/data-grid/src/lib/assets/fonts/Inter/OFL.txt +93 -0
  87. package/projects/data-grid/src/lib/assets/fonts/Inter/README.txt +118 -0
  88. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-Black.ttf +0 -0
  89. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-BlackItalic.ttf +0 -0
  90. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-Bold.ttf +0 -0
  91. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-BoldItalic.ttf +0 -0
  92. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-ExtraBold.ttf +0 -0
  93. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf +0 -0
  94. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-ExtraLight.ttf +0 -0
  95. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf +0 -0
  96. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-Italic.ttf +0 -0
  97. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-Light.ttf +0 -0
  98. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-LightItalic.ttf +0 -0
  99. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-Medium.ttf +0 -0
  100. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-MediumItalic.ttf +0 -0
  101. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-Regular.ttf +0 -0
  102. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-SemiBold.ttf +0 -0
  103. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf +0 -0
  104. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-Thin.ttf +0 -0
  105. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_18pt-ThinItalic.ttf +0 -0
  106. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-Black.ttf +0 -0
  107. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-BlackItalic.ttf +0 -0
  108. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-Bold.ttf +0 -0
  109. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-BoldItalic.ttf +0 -0
  110. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-ExtraBold.ttf +0 -0
  111. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf +0 -0
  112. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-ExtraLight.ttf +0 -0
  113. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf +0 -0
  114. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-Italic.ttf +0 -0
  115. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-Light.ttf +0 -0
  116. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-LightItalic.ttf +0 -0
  117. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-Medium.ttf +0 -0
  118. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-MediumItalic.ttf +0 -0
  119. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-Regular.ttf +0 -0
  120. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-SemiBold.ttf +0 -0
  121. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf +0 -0
  122. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-Thin.ttf +0 -0
  123. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_24pt-ThinItalic.ttf +0 -0
  124. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-Black.ttf +0 -0
  125. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-BlackItalic.ttf +0 -0
  126. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-Bold.ttf +0 -0
  127. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-BoldItalic.ttf +0 -0
  128. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-ExtraBold.ttf +0 -0
  129. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf +0 -0
  130. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-ExtraLight.ttf +0 -0
  131. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf +0 -0
  132. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-Italic.ttf +0 -0
  133. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-Light.ttf +0 -0
  134. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-LightItalic.ttf +0 -0
  135. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-Medium.ttf +0 -0
  136. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-MediumItalic.ttf +0 -0
  137. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-Regular.ttf +0 -0
  138. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-SemiBold.ttf +0 -0
  139. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf +0 -0
  140. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-Thin.ttf +0 -0
  141. package/projects/data-grid/src/lib/assets/fonts/Inter/static/Inter_28pt-ThinItalic.ttf +0 -0
  142. package/projects/data-grid/src/lib/css/bootstrap.css +12043 -0
  143. package/projects/data-grid/src/lib/data-grid/animations.ts +267 -0
  144. package/projects/data-grid/src/lib/data-grid/data-grid.component.html +5759 -0
  145. package/projects/data-grid/src/lib/data-grid/data-grid.component.scss +2154 -0
  146. package/projects/data-grid/src/lib/data-grid/data-grid.component.spec.ts +28 -0
  147. package/projects/data-grid/src/lib/data-grid/data-grid.component.ts +6773 -0
  148. package/projects/data-grid/src/lib/data-grid/data-grid.tokens.ts +4 -0
  149. package/projects/data-grid/src/lib/data-grid/statuses.ts +49 -0
  150. package/projects/data-grid/src/lib/data-grid.module.ts +23 -0
  151. package/projects/data-grid/src/lib/data-grid.service.spec.ts +16 -0
  152. package/projects/data-grid/src/lib/data-grid.service.ts +9 -0
  153. package/projects/data-grid/src/lib/directives/cell-editor.directive.spec.ts +11 -0
  154. package/projects/data-grid/src/lib/directives/cell-editor.directive.ts +88 -0
  155. package/projects/data-grid/src/lib/directives/cell-render-init.directive.spec.ts +11 -0
  156. package/projects/data-grid/src/lib/directives/cell-render-init.directive.ts +98 -0
  157. package/projects/data-grid/src/lib/directives/cellHost.directive.spec.ts +11 -0
  158. package/projects/data-grid/src/lib/directives/cellHost.directive.ts +10 -0
  159. package/projects/data-grid/src/lib/directives/draggable-header.directive.spec.ts +11 -0
  160. package/projects/data-grid/src/lib/directives/draggable-header.directive.ts +172 -0
  161. package/projects/data-grid/src/lib/interfaces/data-grid-config.ts.ts +136 -0
  162. package/projects/data-grid/src/lib/pipes/filter.pipe.spec.ts +11 -0
  163. package/projects/data-grid/src/lib/pipes/filter.pipe.ts +22 -0
  164. package/projects/data-grid/src/lib/pipes/format-currency.pipe.spec.ts +11 -0
  165. package/projects/data-grid/src/lib/pipes/format-currency.pipe.ts +59 -0
  166. package/projects/data-grid/src/lib/pipes/format-index.pipe.spec.ts +11 -0
  167. package/projects/data-grid/src/lib/pipes/format-index.pipe.ts +20 -0
  168. package/projects/data-grid/src/lib/services/cell-selection.service.spec.ts +16 -0
  169. package/projects/data-grid/src/lib/services/cell-selection.service.ts +372 -0
  170. package/projects/data-grid/src/lib/services/common.service.spec.ts +16 -0
  171. package/projects/data-grid/src/lib/services/common.service.ts +395 -0
  172. package/projects/data-grid/src/lib/services/copy-service.service.spec.ts +16 -0
  173. package/projects/data-grid/src/lib/services/copy-service.service.ts +252 -0
  174. package/projects/data-grid/src/lib/services/drag-drp.service.spec.ts +16 -0
  175. package/projects/data-grid/src/lib/services/drag-drp.service.ts +58 -0
  176. package/projects/data-grid/src/lib/services/export.service.spec.ts +16 -0
  177. package/projects/data-grid/src/lib/services/export.service.ts +189 -0
  178. package/projects/data-grid/src/lib/services/row-action.service.ts +203 -0
  179. package/projects/data-grid/src/lib/services/split-columns.service.spec.ts +16 -0
  180. package/projects/data-grid/src/lib/services/split-columns.service.ts +168 -0
  181. package/projects/data-grid/src/lib/services/swap-columns.service.spec.ts +16 -0
  182. package/projects/data-grid/src/lib/services/swap-columns.service.ts +162 -0
  183. package/projects/data-grid/src/lib/styles/font-style.css +34 -0
  184. package/projects/data-grid/src/public-api.ts +8 -0
  185. package/projects/data-grid/src/typings.d.ts +4 -0
  186. package/projects/data-grid/tsconfig.lib.json +19 -0
  187. package/projects/data-grid/tsconfig.lib.prod.json +10 -0
  188. package/projects/data-grid/tsconfig.spec.json +14 -0
  189. package/src/app/app.component.html +61 -0
  190. package/src/app/app.component.scss +1 -0
  191. package/src/app/app.component.spec.ts +27 -0
  192. package/src/app/app.component.ts +166 -0
  193. package/src/app/app.module.ts +33 -0
  194. package/src/app/dropdown-filter/dropdown-filter.component.css +122 -0
  195. package/src/app/dropdown-filter/dropdown-filter.component.html +118 -0
  196. package/src/app/dropdown-filter/dropdown-filter.component.spec.ts +28 -0
  197. package/src/app/dropdown-filter/dropdown-filter.component.ts +139 -0
  198. package/src/app/status-cell/status-cell.component.css +0 -0
  199. package/src/app/status-cell/status-cell.component.html +1 -0
  200. package/src/app/status-cell/status-cell.component.spec.ts +28 -0
  201. package/src/app/status-cell/status-cell.component.ts +18 -0
  202. package/src/app/status-cell-editor/status-cell-editor.component.css +0 -0
  203. package/src/app/status-cell-editor/status-cell-editor.component.html +12 -0
  204. package/src/app/status-cell-editor/status-cell-editor.component.spec.ts +28 -0
  205. package/src/app/status-cell-editor/status-cell-editor.component.ts +77 -0
  206. package/src/app/sub-category-cell-component/sub-category-cell-component.component.css +6 -0
  207. package/src/app/sub-category-cell-component/sub-category-cell-component.component.html +3 -0
  208. package/src/app/sub-category-cell-component/sub-category-cell-component.component.spec.ts +28 -0
  209. package/src/app/sub-category-cell-component/sub-category-cell-component.component.ts +26 -0
  210. package/src/app/testing-data/api-translation/data.ts +1929 -0
  211. package/src/app/testing-data/assets-category/data.ts +1410 -0
  212. package/src/app/testing-data/assets-list/data.ts +26633 -0
  213. package/src/app/testing-data/invoices/data.ts +3698 -0
  214. package/src/app/testing-data/manage-employee/data.ts +83205 -0
  215. package/src/app/testing-data/single-day-timesheet/data.ts +4450 -0
  216. package/src/app/testing-data/task-management/tasks.ts +2536 -0
  217. package/src/app/testing-data/translation.ts +135580 -0
  218. package/src/app/testing-data/writeup/data.ts +29506 -0
  219. package/src/assets/.gitkeep +0 -0
  220. package/src/assets/data-grid/document-icons/Newxlsx.svg +19 -0
  221. package/src/assets/data-grid/document-icons/Presentation.pptx +0 -0
  222. package/src/assets/data-grid/document-icons/Untitled spreadsheet.xlsx +0 -0
  223. package/src/assets/data-grid/document-icons/bell-icon.svg +31 -0
  224. package/src/assets/data-grid/document-icons/blank sheet ppt.pptx +0 -0
  225. package/src/assets/data-grid/document-icons/blank-docs-file.docx +0 -0
  226. package/src/assets/data-grid/document-icons/csv.svg +34 -0
  227. package/src/assets/data-grid/document-icons/doc.svg +34 -0
  228. package/src/assets/data-grid/document-icons/document-download.svg +18 -0
  229. package/src/assets/data-grid/document-icons/document-upload.svg +6 -0
  230. package/src/assets/data-grid/document-icons/docx.svg +35 -0
  231. package/src/assets/data-grid/document-icons/downloadDOC.svg +7 -0
  232. package/src/assets/data-grid/document-icons/edit-doc.svg +6 -0
  233. package/src/assets/data-grid/document-icons/empty-trash.svg +47 -0
  234. package/src/assets/data-grid/document-icons/jpeg.svg +40 -0
  235. package/src/assets/data-grid/document-icons/jpg.svg +24 -0
  236. package/src/assets/data-grid/document-icons/loading gif.gif +0 -0
  237. package/src/assets/data-grid/document-icons/more-Icon.svg +19 -0
  238. package/src/assets/data-grid/document-icons/mp4.svg +28 -0
  239. package/src/assets/data-grid/document-icons/my-request-empty.svg +37 -0
  240. package/src/assets/data-grid/document-icons/newDoc.svg +16 -0
  241. package/src/assets/data-grid/document-icons/newppt.svg +16 -0
  242. package/src/assets/data-grid/document-icons/overDue.svg +8 -0
  243. package/src/assets/data-grid/document-icons/ownerShare.svg +13 -0
  244. package/src/assets/data-grid/document-icons/pdf.svg +36 -0
  245. package/src/assets/data-grid/document-icons/permanantDelete.svg +4 -0
  246. package/src/assets/data-grid/document-icons/png.svg +53 -0
  247. package/src/assets/data-grid/document-icons/ppt.svg +24 -0
  248. package/src/assets/data-grid/document-icons/pptx.svg +25 -0
  249. package/src/assets/data-grid/document-icons/restore-delete.svg +4 -0
  250. package/src/assets/data-grid/document-icons/restoreTrash.svg +10 -0
  251. package/src/assets/data-grid/document-icons/send-2.svg +16 -0
  252. package/src/assets/data-grid/document-icons/send-request-empty.svg +41 -0
  253. package/src/assets/data-grid/document-icons/shareIcon.svg +6 -0
  254. package/src/assets/data-grid/document-icons/sharedFileIcon.svg +6 -0
  255. package/src/assets/data-grid/document-icons/sharedriveempty.svg +40 -0
  256. package/src/assets/data-grid/document-icons/task-square.svg +25 -0
  257. package/src/assets/data-grid/document-icons/trash-01.svg +3 -0
  258. package/src/assets/data-grid/document-icons/trashRestore.svg +4 -0
  259. package/src/assets/data-grid/document-icons/txt.svg +34 -0
  260. package/src/assets/data-grid/document-icons/uploadFile.svg +16 -0
  261. package/src/assets/data-grid/document-icons/uploadfilefolder.svg +40 -0
  262. package/src/assets/data-grid/document-icons/xls.svg +34 -0
  263. package/src/assets/data-grid/document-icons/xlsx.svg +36 -0
  264. package/src/assets/data-grid/icons/Buttons.svg +3 -0
  265. package/src/assets/data-grid/icons/High.svg +3 -0
  266. package/src/assets/data-grid/icons/Low.svg +3 -0
  267. package/src/assets/data-grid/icons/Medium.svg +3 -0
  268. package/src/assets/data-grid/icons/Vector.svg +3 -0
  269. package/src/assets/data-grid/icons/arrow-counterclockwise.svg +4 -0
  270. package/src/assets/data-grid/icons/arrow-down.svg +3 -0
  271. package/src/assets/data-grid/icons/arrow-left.svg +3 -0
  272. package/src/assets/data-grid/icons/arrow-right-solid-full.svg +1 -0
  273. package/src/assets/data-grid/icons/arrow-right.svg +10 -0
  274. package/src/assets/data-grid/icons/arrow-up.svg +3 -0
  275. package/src/assets/data-grid/icons/arrows-angle-expand.svg +3 -0
  276. package/src/assets/data-grid/icons/arrows-expand-vertical.svg +3 -0
  277. package/src/assets/data-grid/icons/arrows-move.svg +3 -0
  278. package/src/assets/data-grid/icons/attachments.svg +3 -0
  279. package/src/assets/data-grid/icons/ban.svg +3 -0
  280. package/src/assets/data-grid/icons/check-blue.svg +3 -0
  281. package/src/assets/data-grid/icons/chevron-down.svg +3 -0
  282. package/src/assets/data-grid/icons/chevron-right.svg +3 -0
  283. package/src/assets/data-grid/icons/comments.svg +3 -0
  284. package/src/assets/data-grid/icons/cross-primary.svg +3 -0
  285. package/src/assets/data-grid/icons/dash.svg +3 -0
  286. package/src/assets/data-grid/icons/delete.svg +3 -0
  287. package/src/assets/data-grid/icons/diagram-3.svg +3 -0
  288. package/src/assets/data-grid/icons/download.svg +5 -0
  289. package/src/assets/data-grid/icons/edit.svg +3 -0
  290. package/src/assets/data-grid/icons/expend.svg +3 -0
  291. package/src/assets/data-grid/icons/eye-cross.svg +10 -0
  292. package/src/assets/data-grid/icons/eye.svg +4 -0
  293. package/src/assets/data-grid/icons/filter-2.svg +5 -0
  294. package/src/assets/data-grid/icons/grid-3x2-gap.svg +3 -0
  295. package/src/assets/data-grid/icons/grip-vertical.svg +8 -0
  296. package/src/assets/data-grid/icons/horizontal-dots.svg +5 -0
  297. package/src/assets/data-grid/icons/justify.svg +3 -0
  298. package/src/assets/data-grid/icons/layout-three-columns.svg +3 -0
  299. package/src/assets/data-grid/icons/list-details.svg +8 -0
  300. package/src/assets/data-grid/icons/minimize.svg +4 -0
  301. package/src/assets/data-grid/icons/pin-blue.svg +5 -0
  302. package/src/assets/data-grid/icons/pin-left.svg +3 -0
  303. package/src/assets/data-grid/icons/pin-right.svg +3 -0
  304. package/src/assets/data-grid/icons/pin.svg +5 -0
  305. package/src/assets/data-grid/icons/plus.svg +3 -0
  306. package/src/assets/data-grid/icons/resize-handle.svg +3 -0
  307. package/src/assets/data-grid/icons/search.svg +3 -0
  308. package/src/assets/data-grid/icons/settings-2.svg +3 -0
  309. package/src/assets/data-grid/icons/sort-asc.svg +4 -0
  310. package/src/assets/data-grid/icons/sort-desc.svg +4 -0
  311. package/src/assets/data-grid/icons/star-blue.svg +3 -0
  312. package/src/assets/data-grid/icons/star.svg +3 -0
  313. package/src/assets/data-grid/icons/table-2.svg +3 -0
  314. package/src/assets/data-grid/icons/three-dots-vertical.svg +5 -0
  315. package/src/assets/data-grid/icons/trash-red.svg +7 -0
  316. package/src/assets/data-grid/icons/ui-checks-grid.svg +3 -0
  317. package/src/assets/data-grid/icons/x.svg +3 -0
  318. package/src/assets/data-grid/icons/zoom-charge.svg +4 -0
  319. package/src/favicon.ico +0 -0
  320. package/src/index.html +19 -0
  321. package/src/main.ts +7 -0
  322. package/src/styles.scss +3 -0
  323. package/tsconfig.app.json +14 -0
  324. package/tsconfig.json +44 -0
  325. package/tsconfig.spec.json +14 -0
@@ -0,0 +1,324 @@
1
+ # 📊 MS Data Grid
2
+
3
+ ### Advanced Angular Data Grid Package Demo Preview
4
+
5
+ <video autoplay loop muted playsinline width="100%">
6
+ <source src="https://techbar.s3.amazonaws.com/data-table/table%20demo%202.mp4">
7
+ Your browser does not support the video tag.
8
+ </video>
9
+
10
+ <p align="end">
11
+ <a href="https://stackblitz.com/edit/finitelooper-ng16-2jdszu1d?embed=1&file=src%2Fapp%2Fapp.component.ts%22"_blank" style="
12
+ display: inline-block;
13
+ padding: 10px 20px;
14
+ background-color: #0078d7;
15
+ color: white;
16
+ text-decoration: none;
17
+ border-radius: 6px;
18
+ font-weight: 600;
19
+ font-family: sans-serif;
20
+ box-shadow: 0 2px 5px rgba(0,0,0,0.2);
21
+ transition: background-color 0.3s ease;
22
+ " onmouseover="this.style.backgroundColor='#005fa3'" onmouseout="this.style.backgroundColor='#0078d7'">
23
+ 🚀 View StackBlitz Demo
24
+ </a>
25
+ </p>
26
+
27
+ **MS Data Grid** is a powerful, enterprise-grade Angular data grid package built for high-performance web applications.
28
+ It offers a rich set of modern data handling features — including **sorting**, **filtering**, **pagination**, **column pinning**, **row selection**, and **customizable styling** — all optimized for **speed**, **scalability**, and **seamless user experience**.
29
+
30
+ Designed with **modularity** and **customization** in mind, MS Data Grid empowers developers to build **dynamic**, **feature-rich** data tables with minimal effort and maximum flexibility.
31
+
32
+ ## ⚙️ Installation
33
+
34
+ Install the MS Data Grid package:
35
+
36
+ ```bash
37
+ npm install ms-data-grid
38
+ ```
39
+
40
+ Install angular cdk for drag drop of columns:
41
+
42
+ ```bash
43
+ npm install @angular/cdk@16
44
+ ```
45
+
46
+ Install ng-inline-svg for icons:
47
+
48
+ ```bash
49
+ npm install ng-inline-svg@13.1.1
50
+ ```
51
+
52
+ Install bootstrap for styling:
53
+
54
+ ```bash
55
+ npm install bootstrap
56
+ ```
57
+
58
+ ## ⚡️ Quick Start
59
+
60
+ Get up and running with **MS Data Grid** in just a few simple steps.
61
+ After installing the package and its dependencies, import the required module and start using the grid component in your Angular templates.
62
+ Below is a basic example showing how to configure and display a simple data grid.
63
+
64
+ ### **Step 1: Register Required Modules**
65
+
66
+ After installation, register the `DataGridModule` in your `app.module.ts` and import the `HttpClientModule`:
67
+
68
+ ```ts
69
+ // app.module.ts
70
+
71
+ import { NgModule } from "@angular/core";
72
+ import { BrowserModule } from "@angular/platform-browser";
73
+ import { DataGridModule } from "ms-data-grid";
74
+ import { AppComponent } from "./app.component";
75
+ import { HttpClientModule } from "@angular/common/http";
76
+
77
+ @NgModule({
78
+ declarations: [AppComponent],
79
+ imports: [
80
+ BrowserModule,
81
+ DataGridModule, // Register the main module here
82
+ HttpClientModule, // Add this as well
83
+ ],
84
+ providers: [],
85
+ bootstrap: [AppComponent],
86
+ })
87
+ export class AppModule {}
88
+ ```
89
+
90
+ ### **Step 2: Define Rows and Columns**
91
+
92
+ ```ts
93
+ @Component({
94
+ selector: "app-root",
95
+ templateUrl: "./app.component.html",
96
+ styleUrls: [],
97
+ })
98
+ export class AppComponent implements OnInit {
99
+ columns: any[] = [
100
+ {
101
+ id: 1,
102
+ field: "logo",
103
+ header: "Image",
104
+ type: "image",
105
+ is_visible: true,
106
+ },
107
+ {
108
+ id: 2,
109
+ field: "full_name",
110
+ header: "Employee Name",
111
+ type: "string",
112
+ is_visible: true,
113
+ },
114
+ {
115
+ id: 3,
116
+ field: "email",
117
+ header: "Email",
118
+ type: "email",
119
+ is_visible: true,
120
+ },
121
+ {
122
+ id: 4,
123
+ field: "phone",
124
+ header: "Mobile Number",
125
+ type: "string",
126
+ is_visible: true,
127
+ },
128
+ ];
129
+
130
+ dataSet: any[] = [
131
+ {
132
+ logo: null,
133
+ full_name: "Muhammad Moeen Khan",
134
+ email: "moeenkhan@4iisolutions.com",
135
+ phone: "+923170524160",
136
+ },
137
+ {
138
+ logo: null,
139
+ full_name: "Uzair Saeed",
140
+ email: "Uzairsaeed@4iisolutions.com",
141
+ phone: "+923449043675",
142
+ },
143
+ {
144
+ logo: null,
145
+ full_name: "Waqar Nawaz",
146
+ email: "waqar@4iisolutions.com",
147
+ phone: "+923118871780",
148
+ },
149
+ ];
150
+ }
151
+ ```
152
+
153
+ ### Step 3: Create the Angular Data Grid Component
154
+
155
+ ```html
156
+ template: `
157
+
158
+ <div style="height: 400px" class="p-4 w-100">
159
+ <data-grid [columns]="columns" [dataSet]="dataSet" [leftPinnedBoxshadow]="''" [rightPinnedBoxshadow]="''" [loading]="loading"></data-grid>
160
+ </div>
161
+ `
162
+ ```
163
+
164
+ ### Result
165
+
166
+ ![alt text](https://techbar.s3.amazonaws.com/data-table/image.jpeg)
167
+
168
+ <br />
169
+ <br />
170
+
171
+ ### ⚙️ Inputs
172
+
173
+ <br/>
174
+
175
+ <table style="border-collapse: collapse; width: 100%; background-color: #fff; font-size: 16px; color: #000;"> <thead> <tr style="background-color: #f3f3f3; border: 1px solid #ddd;"> <th style="padding: 10px; border: 1px solid #ddd; text-align: left;">Input</th> <th style="padding: 10px; border: 1px solid #ddd; text-align: left;">Type</th> <th style="padding: 10px; border: 1px solid #ddd; text-align: left;">Description</th> </tr> </thead> <tbody> <tr style="background-color: #fff;"><td style="padding:10px;border:1px solid #ddd;">dataSet</td><td style="padding:10px;border:1px solid #ddd;">any[]</td><td style="padding:10px;border:1px solid #ddd;">Data source for the grid rows.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">columns</td><td style="padding:10px;border:1px solid #ddd;">any[]</td><td style="padding:10px;border:1px solid #ddd;">Configuration for columns (field, type, header, etc.).</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">rowHeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Height of each row (default: 44px).</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">headerRowHeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Height of the header row (default: 44px).</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">showVerticalBorder</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Toggle vertical borders between cells.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">evenRowsBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for even rows.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">oddRowsBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for odd rows.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">headerBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Header background color.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">checkboxesBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for checkbox column.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">showColumnsGrouping</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Enable/disable column grouping UI.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">rowHoverColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Row background color when hovered.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">leftPinnedBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for left pinned columns.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">bodyBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for the table body.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">rightPinnedBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for right pinned columns.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">sidemenuBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for side menu area.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">bodyTextColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Font color for table rows.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">headerTextColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Font color for table headers.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">headerTextFontsSize</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Header text font size.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">bodyTextFontsSize</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Body text font size.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">headerFontWeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Font weight of header text.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">bodyFontWeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Font weight of body text.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">checkedRowBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for checked rows.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">dropdownsBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for dropdowns.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">footerRowHeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Height of footer row (default: 46px).</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">topGroupedBadgesBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for top grouped badges.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">showRowsGrouping</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Enable/disable row grouping.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">showFilterRow</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Show/hide filter row.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">fontFaimly</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Font family for table text.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">showSideMenu</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Show/hide side menu.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">footerPadding</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Padding for footer area.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">topFilterRowHeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Height of top filter row (default: 50px).</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">rowShadingEnabled</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Enable/disable row shading.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">showSerialNumber</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Show serial numbers column.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">singleSpaAssetsPath</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Single Spa URL path for icons.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">filtersConfig</td><td style="padding:10px;border:1px solid #ddd;">any[]</td><td style="padding:10px;border:1px solid #ddd;">Configuration for applied filters.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">loading</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Show loading state.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">verticalScrollbarWidth</td><td style="padding:10px;border:1px solid #ddd;">'auto' | 'thin'</td><td style="padding:10px;border:1px solid #ddd;">Vertical scrollbar style.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">horizintalScrollbarWidth</td><td style="padding:10px;border:1px solid #ddd;">'auto' | 'thin'</td><td style="padding:10px;border:1px solid #ddd;">Horizontal scrollbar style.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">showCellDetailsBox</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Show cell details box.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">dateFormat</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Date format for date columns.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">tableSearch</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Table search text.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">actions</td><td style="padding:10px;border:1px solid #ddd;">any[]</td><td style="padding:10px;border:1px solid #ddd;">Available row actions.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">config</td><td style="padding:10px;border:1px solid #ddd;">any</td><td style="padding:10px;border:1px solid #ddd;">Table configuration for pagination.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">showTaskbar</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Show selection taskbar.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">tableName</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Table name for state management.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">listingType</td><td style="padding:10px;border:1px solid #ddd;">string | boolean</td><td style="padding:10px;border:1px solid #ddd;">Listing type configuration.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">checkboxState</td><td style="padding:10px;border:1px solid #ddd;">{ reset: boolean }</td><td style="padding:10px;border:1px solid #ddd;">Checkbox state configuration.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">taskbarActions</td><td style="padding:10px;border:1px solid #ddd;">any[]</td><td style="padding:10px;border:1px solid #ddd;">Taskbar actions configuration.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">sortingConfig</td><td style="padding:10px;border:1px solid #ddd;">{ field: string, order_by: string } | null</td><td style="padding:10px;border:1px solid #ddd;">Sorting configuration.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">tableFilterViewId</td><td style="padding:10px;border:1px solid #ddd;">string | number</td><td style="padding:10px;border:1px solid #ddd;">Table filter view ID.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">selectedTableLayout</td><td style="padding:10px;border:1px solid #ddd;">any</td><td style="padding:10px;border:1px solid #ddd;">Selected table layout.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">closeDropdown</td><td style="padding:10px;border:1px solid #ddd;">{ preset: { closed: boolean, loading: boolean } }</td><td style="padding:10px;border:1px solid #ddd;">Close dropdown configuration.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">globalSearchText</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Global search text.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">nestedTablerowFontsize</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Nested table row font size.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">nestedTableHeaderRowHeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Nested table header row height.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">nestedTablerowHeight</td><td style="padding:10px;border:1px solid #ddd;">number</td><td style="padding:10px;border:1px solid #ddd;">Nested table row height.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">gridType</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Grid type configuration.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">currencySymbol</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Currency symbol for currency columns.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">leftPinnedBoxshadow</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Box shadow for left pinned columns.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">rightPinnedBoxshadow</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Box shadow for right pinned columns.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">selectedRowsBackgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for selected rows.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">nestedTableHeaderBAckgroundColor</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Background color for nested table headers.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">tableView</td><td style="padding:10px;border:1px solid #ddd;">any[]</td><td style="padding:10px;border:1px solid #ddd;">Table view configuration.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">keepMultipleExpandedDetails</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Keep multiple expanded details open.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">showTotalAmountRow</td><td style="padding:10px;border:1px solid #ddd;">boolean</td><td style="padding:10px;border:1px solid #ddd;">Show total amount row.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">tableType</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Table type configuration.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">columnThreedotsMunuConfig</td><td style="padding:10px;border:1px solid #ddd;">object</td><td style="padding:10px;border:1px solid #ddd;">Column three dots menu configuration.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">paginationConfig</td><td style="padding:10px;border:1px solid #ddd;">any</td><td style="padding:10px;border:1px solid #ddd;">Pagination configuration.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">animationType</td><td style="padding:10px;border:1px solid #ddd;">string</td><td style="padding:10px;border:1px solid #ddd;">Animation type configuration.</td></tr> </tbody> </table>
176
+
177
+ <br />
178
+ <br />
179
+
180
+ ### ⚙️ Otputs Events
181
+
182
+ <br />
183
+ <table style="border-collapse: collapse; width: 100%; background-color: #fff; font-size: 16px; color: #000;"> <thead> <tr style="background-color: #f3f3f3; border: 1px solid #ddd;"> <th style="padding: 10px; border: 1px solid #ddd; text-align: left;">Output Name</th> <th style="padding: 10px; border: 1px solid #ddd; text-align: left;">Description</th> </tr> </thead> <tbody> <tr style="background-color: #fff;"><td style="padding:10px;border:1px solid #ddd;">changeLayout</td><td style="padding:10px;border:1px solid #ddd;">Emitted when table layout is changed (small, medium, large).</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">filterOptions</td><td style="padding:10px;border:1px solid #ddd;">Emitted when filter is applied.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">genericEvent</td><td style="padding:10px;border:1px solid #ddd;">Generic event for various actions (check row, page change, limit change, create/update preset, right-click options, taskbar options, cell edit, cut/paste cells, global search, resizing, drag-drop). Parent components can determine action type using event.eventType.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">tablePresetConfig</td><td style="padding:10px;border:1px solid #ddd;">Emitted when changing table preset configuration or selecting/changing default view.</td></tr> <tr style="background-color:#fff;"><td style="padding:10px;border:1px solid #ddd;">sortingOrderOptions</td><td style="padding:10px;border:1px solid #ddd;">Emitted when sorting is applied to the table.</td></tr> <tr style="background-color:#f9f9f9;"><td style="padding:10px;border:1px solid #ddd;">createUpdateConfigListing</td><td style="padding:10px;border:1px solid #ddd;">Emitted on each action for state management from backend (resizing, drag-drop, etc.).</td></tr> </tbody> </table>
184
+
185
+ <br />
186
+ <br />
187
+
188
+ ### 🚀 Features
189
+
190
+ <br />
191
+ <table style="border-collapse: collapse; width: 100%; background-color: #fff; font-size: 16px; color: #000;">
192
+ <thead>
193
+ <tr style="background-color: #f3f3f3; border: 1px solid #ddd;">
194
+ <th style="padding: 10px; border: 1px solid #ddd; text-align: left;">Feature</th>
195
+ <th style="padding: 10px; border: 1px solid #ddd; text-align: center;">Available</th>
196
+ <th style="padding: 10px; border: 1px solid #ddd; text-align: left;">Description</th>
197
+ </tr>
198
+ </thead>
199
+ <tbody>
200
+ <tr style="background-color: #fff;">
201
+ <td style="padding: 10px; border: 1px solid #ddd;">Drag & Drop Columns</td>
202
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
203
+ <td style="padding: 10px; border: 1px solid #ddd;">Reorder columns easily using Angular CDK drag-drop.</td>
204
+ </tr>
205
+ <tr style="background-color: #f9f9f9;">
206
+ <td style="padding: 10px; border: 1px solid #ddd;">Column Resizing</td>
207
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
208
+ <td style="padding: 10px; border: 1px solid #ddd;">Adjust column width by dragging the column borders.</td>
209
+ </tr>
210
+ <tr style="background-color: #fff;">
211
+ <td style="padding: 10px; border: 1px solid #ddd;">Column Pinning (Left / Right)</td>
212
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
213
+ <td style="padding: 10px; border: 1px solid #ddd;">Fix important columns on either side for better visibility.</td>
214
+ </tr>
215
+ <tr style="background-color: #f9f9f9;">
216
+ <td style="padding: 10px; border: 1px solid #ddd;">Inline Editing</td>
217
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
218
+ <td style="padding: 10px; border: 1px solid #ddd;">Edit cell data directly within the grid with validation support.</td>
219
+ </tr>
220
+ <tr style="background-color: #fff;">
221
+ <td style="padding: 10px; border: 1px solid #ddd;">Row Selection (Single / Multi)</td>
222
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
223
+ <td style="padding: 10px; border: 1px solid #ddd;">Supports both single and multiple row selection modes.</td>
224
+ </tr>
225
+ <tr style="background-color: #f9f9f9;">
226
+ <td style="padding: 10px; border: 1px solid #ddd;">Column Grouping</td>
227
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
228
+ <td style="padding: 10px; border: 1px solid #ddd;">Group columns under shared headers for better organization.</td>
229
+ </tr>
230
+ <tr style="background-color: #fff;">
231
+ <td style="padding: 10px; border: 1px solid #ddd;">Row Grouping</td>
232
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
233
+ <td style="padding: 10px; border: 1px solid #ddd;">Group rows dynamically based on specific column values.</td>
234
+ </tr>
235
+ <!-- <tr style="background-color: #f9f9f9;">
236
+ <td style="padding: 10px; border: 1px solid #ddd;">Sorting (Ascending / Descending)</td>
237
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
238
+ <td style="padding: 10px; border: 1px solid #ddd;">Built-in sorting by any column, supports custom comparators.</td>
239
+ </tr> -->
240
+ <tr style="background-color: #fff;">
241
+ <td style="padding: 10px; border: 1px solid #ddd;">Filtering</td>
242
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
243
+ <td style="padding: 10px; border: 1px solid #ddd;">Column filters and global search supported.</td>
244
+ </tr>
245
+ <!-- <tr style="background-color: #f9f9f9;">
246
+ <td style="padding: 10px; border: 1px solid #ddd;">Pagination (Client / Server)</td>
247
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
248
+ <td style="padding: 10px; border: 1px solid #ddd;">Built-in paginator with full client and server mode support.</td>
249
+ </tr> -->
250
+ <tr style="background-color: #fff;">
251
+ <td style="padding: 10px; border: 1px solid #ddd;">Virtual Scrolling</td>
252
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
253
+ <td style="padding: 10px; border: 1px solid #ddd;">Render only visible rows for massive datasets efficiently.</td>
254
+ </tr>
255
+ <!-- <tr style="background-color: #f9f9f9;">
256
+ <td style="padding: 10px; border: 1px solid #ddd;">Custom Cell Templates</td>
257
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
258
+ <td style="padding: 10px; border: 1px solid #ddd;">Define your own templates for cells, headers, and footers.</td>
259
+ </tr> -->
260
+ <tr style="background-color: #fff;">
261
+ <td style="padding: 10px; border: 1px solid #ddd;">Export to CSV</td>
262
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
263
+ <td style="padding: 10px; border: 1px solid #ddd;">Easily export visible or all grid data to Excel or CSV format.</td>
264
+ </tr>
265
+ <!-- <tr style="background-color: #f9f9f9;">
266
+ <td style="padding: 10px; border: 1px solid #ddd;">Dark / Light Themes</td>
267
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
268
+ <td style="padding: 10px; border: 1px solid #ddd;">Easily switch between dark and light themes via inputs.</td>
269
+ </tr> -->
270
+ <tr style="background-color: #fff;">
271
+ <td style="padding: 10px; border: 1px solid #ddd;">Responsive Layout</td>
272
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
273
+ <td style="padding: 10px; border: 1px solid #ddd;">Optimized layout for all screen sizes including tablets.</td>
274
+ </tr>
275
+ <tr style="background-color: #f9f9f9;">
276
+ <td style="padding: 10px; border: 1px solid #ddd;">Custom Actions (Edit / Delete / View)</td>
277
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
278
+ <td style="padding: 10px; border: 1px solid #ddd;">Add custom icons or buttons for row actions.</td>
279
+ </tr>
280
+ <tr style="background-color: #fff;">
281
+ <td style="padding: 10px; border: 1px solid #ddd;">State Persistence</td>
282
+ <td style="padding: 10px; border: 1px solid #ddd; text-align: center;">✅</td>
283
+ <td style="padding: 10px; border: 1px solid #ddd;">Remembers column order, filters, and selections between reloads.</td>
284
+ </tr>
285
+ </tbody>
286
+ </table>
287
+
288
+ <br />
289
+ <br />
290
+
291
+ # 🎬 Previews
292
+
293
+ <table style="width:100%; border-collapse: collapse;">
294
+ <tr>
295
+ <td style="width:50%; padding:6px; vertical-align:top;">
296
+ <img src="https://techbar.s3.amazonaws.com/data-table/demo%20table.jpeg"
297
+ alt="Row Shading Example"
298
+ style="width:100%; border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,0.1);" />
299
+ </td>
300
+ </tr>
301
+ <tr>
302
+ <td style="padding:6px; vertical-align:top;">
303
+ <img src="https://techbar.s3.amazonaws.com/data-table/table%20demo%201.jpeg"
304
+ alt="Vertical Borders Example"
305
+ style="width:100%; border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,0.1);" />
306
+ </td>
307
+
308
+ </tr>
309
+ </table>
310
+
311
+ <br />
312
+ <br />
313
+
314
+
315
+
316
+ # Keywords
317
+
318
+ None
319
+
320
+ <br />
321
+ <br />
322
+
323
+ #
324
+
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/data-grid",
4
+ "lib": {
5
+ "entryFile": "src/public-api.ts",
6
+ "styleIncludePaths": ["node_modules"]
7
+ },
8
+ "assets": [
9
+ "src/assets"
10
+ ],
11
+ "allowedNonPeerDependencies": [
12
+ "xlsx-js-style",
13
+ "ng-inline-svg",
14
+ "ngx-bootstrap",
15
+ "bootstrap",
16
+ "file-saver",
17
+ "zone.js"
18
+ ]
19
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "iis-data-grid",
3
+ "version": "0.0.1",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "iis-data-grid",
9
+ "version": "0.0.1",
10
+ "dependencies": {
11
+ "tslib": "^2.3.0"
12
+ },
13
+ "peerDependencies": {
14
+ "@angular/common": "^16.2.0",
15
+ "@angular/core": "^16.2.0"
16
+ }
17
+ },
18
+ "node_modules/tslib": {
19
+ "version": "2.8.1",
20
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
21
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
22
+ "license": "0BSD"
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "ms-data-grid",
3
+ "version": "0.0.120",
4
+ "description": "A powerful, customizable Angular data grid component with advanced features like sorting, filtering, pagination, column pinning, and taskbar actions. Perfect for enterprise applications.",
5
+ "keywords": [
6
+ "angular",
7
+ "data-grid",
8
+ "table",
9
+ "datagrid",
10
+ "angular-component",
11
+ "data-table",
12
+ "grid",
13
+ "sorting",
14
+ "filtering",
15
+ "pagination",
16
+ "angular-grid",
17
+ "enterprise-grid",
18
+ "customizable-grid",
19
+ "responsive-table",
20
+ "column-pinning"
21
+ ],
22
+ "author": "Bilal",
23
+ "license": "MIT",
24
+ "peerDependencies": {
25
+ "@angular/common": "^16.2.0",
26
+ "@angular/core": "^16.2.0"
27
+ },
28
+ "dependencies": {
29
+ "xlsx-js-style": "^1.2.0",
30
+ "ng-inline-svg": "^13.1.1",
31
+ "ngx-bootstrap": "^20.0.0",
32
+ "bootstrap": "^5.3.7",
33
+ "tslib": "^2.3.0",
34
+ "file-saver": "^2.0.5",
35
+ "zone.js": "~0.13.0"
36
+ },
37
+ "sideEffects": false
38
+ }
@@ -0,0 +1,93 @@
1
+ Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://openfontlicense.org
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.