herum-shared 0.1.25

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 (236) hide show
  1. package/README.md +63 -0
  2. package/animations/index.d.ts +5 -0
  3. package/assets/feed/exercise/exerciseAchivment.svg +11 -0
  4. package/assets/feed/icons/active/audio.svg +5 -0
  5. package/assets/feed/icons/active/collection.svg +15 -0
  6. package/assets/feed/icons/active/exercise.svg +13 -0
  7. package/assets/feed/icons/active/generic-file.svg +8 -0
  8. package/assets/feed/icons/active/image.svg +11 -0
  9. package/assets/feed/icons/active/link.svg +6 -0
  10. package/assets/feed/icons/active/pdf.svg +14 -0
  11. package/assets/feed/icons/active/presentation.svg +11 -0
  12. package/assets/feed/icons/active/quiz.svg +17 -0
  13. package/assets/feed/icons/active/story.svg +7 -0
  14. package/assets/feed/icons/active/video.svg +11 -0
  15. package/assets/feed/icons/comment.svg +12 -0
  16. package/assets/feed/icons/error/audio.svg +5 -0
  17. package/assets/feed/icons/error/collection.svg +15 -0
  18. package/assets/feed/icons/error/exercise.svg +13 -0
  19. package/assets/feed/icons/error/generic-file.svg +8 -0
  20. package/assets/feed/icons/error/image.svg +11 -0
  21. package/assets/feed/icons/error/pdf.svg +14 -0
  22. package/assets/feed/icons/error/presentation.svg +11 -0
  23. package/assets/feed/icons/error/quiz.svg +17 -0
  24. package/assets/feed/icons/error/story.svg +7 -0
  25. package/assets/feed/icons/error/video.svg +11 -0
  26. package/assets/feed/icons/eye.svg +13 -0
  27. package/assets/feed/icons/garbage-secondary.svg +14 -0
  28. package/assets/feed/icons/garbage.svg +14 -0
  29. package/assets/feed/icons/green-x.svg +165 -0
  30. package/assets/feed/icons/hamburger.svg +2 -0
  31. package/assets/feed/icons/inactive/audio.svg +5 -0
  32. package/assets/feed/icons/inactive/exercise.svg +17 -0
  33. package/assets/feed/icons/inactive/link.svg +6 -0
  34. package/assets/feed/icons/inactive/pdf.svg +19 -0
  35. package/assets/feed/icons/inactive/presentation.svg +13 -0
  36. package/assets/feed/icons/inactive/quiz.svg +25 -0
  37. package/assets/feed/icons/inactive/story.svg +7 -0
  38. package/assets/feed/icons/inactive/video.svg +13 -0
  39. package/assets/feed/icons/status/Group 856.svg +11 -0
  40. package/assets/feed/icons/status/almostDone.svg +11 -0
  41. package/assets/feed/icons/status/done.svg +11 -0
  42. package/assets/feed/icons/status/inProgress.svg +13 -0
  43. package/assets/feed/icons/white-chevron.svg +3 -0
  44. package/assets/feed/icons/wide-mode.png +0 -0
  45. package/assets/feed/icons/wide-mode.svg +7 -0
  46. package/assets/feed/icons/wide-mode2.svg +8 -0
  47. package/assets/files-icons/.image.svg +11 -0
  48. package/assets/files-icons/.mp4.png +0 -0
  49. package/assets/files-icons/.mp4.svg +12 -0
  50. package/assets/files-icons/.pdf.png +0 -0
  51. package/assets/files-icons/.pdf.svg +16 -0
  52. package/assets/files-icons/.pptx.png +0 -0
  53. package/assets/files-icons/.pptx.svg +12 -0
  54. package/assets/files-icons/.video.svg +12 -0
  55. package/assets/files-icons/default-file.png +0 -0
  56. package/assets/files-icons/generic-file.svg +8 -0
  57. package/assets/files-icons/story.png +0 -0
  58. package/assets/files-icons/story.svg +3 -0
  59. package/assets/files-icons/upload-file.svg +4 -0
  60. package/assets/general/calendar.svg +12 -0
  61. package/assets/general/chevron.svg +3 -0
  62. package/assets/general/clock.svg +4 -0
  63. package/assets/general/closed-chevron.png +0 -0
  64. package/assets/general/college-calendar.svg +12 -0
  65. package/assets/general/comment-icon.svg +12 -0
  66. package/assets/general/dialogX.png +0 -0
  67. package/assets/general/errorOwl.png +0 -0
  68. package/assets/general/green-x.svg +4 -0
  69. package/assets/general/grey-chevron.svg +3 -0
  70. package/assets/general/keyboardLink.svg +15 -0
  71. package/assets/general/logo.png +0 -0
  72. package/assets/general/noCollectionsMessage.svg +59 -0
  73. package/assets/general/open-chevron.png +0 -0
  74. package/assets/general/owl-logo.svg +98 -0
  75. package/assets/general/secondary-x.svg +3 -0
  76. package/assets/general/user.svg +15 -0
  77. package/assets/general/white-chevron.svg +3 -0
  78. package/assets/quiz/greenHeaderArrow.svg +12 -0
  79. package/assets/quiz/greyHeaderArrow.svg +12 -0
  80. package/assets/quiz/happyOwl.svg +126 -0
  81. package/assets/quiz/sadOwl.svg +94 -0
  82. package/assets/quiz/skip.svg +5 -0
  83. package/assets/shared/atoms/inputs/herum-inputs.component.scss +56 -0
  84. package/assets/shared/atoms/selects/herum-selects.component.scss +141 -0
  85. package/assets/shared/atoms/uploadingStatuses/error.svg +8 -0
  86. package/assets/shared/atoms/uploadingStatuses/information.svg +6 -0
  87. package/assets/shared/atoms/uploadingStatuses/success.svg +9 -0
  88. package/assets/shared/audio-images/gray-pause.svg +4 -0
  89. package/assets/shared/audio-images/gray-play.svg +3 -0
  90. package/assets/shared/audio-images/next15.svg +7 -0
  91. package/assets/shared/audio-images/pause.svg +4 -0
  92. package/assets/shared/audio-images/play.svg +3 -0
  93. package/assets/shared/audio-images/previous15.svg +7 -0
  94. package/assets/shared/background/cubes.png +0 -0
  95. package/assets/shared/background/cubes.svg +1900 -0
  96. package/assets/shared/icons/V.svg +3 -0
  97. package/assets/shared/icons/X.svg +3 -0
  98. package/assets/shared/icons/active-clipboard.svg +7 -0
  99. package/assets/shared/icons/active-drag.svg +44 -0
  100. package/assets/shared/icons/active-upload.svg +3 -0
  101. package/assets/shared/icons/add.svg +3 -0
  102. package/assets/shared/icons/attachUsers.png +0 -0
  103. package/assets/shared/icons/big-no-result-owl.png +0 -0
  104. package/assets/shared/icons/bigV.svg +3 -0
  105. package/assets/shared/icons/celeb-owl.png +0 -0
  106. package/assets/shared/icons/clock.svg +3 -0
  107. package/assets/shared/icons/drag.svg +44 -0
  108. package/assets/shared/icons/edit.svg +3 -0
  109. package/assets/shared/icons/editCollection.png +0 -0
  110. package/assets/shared/icons/femaleAvatar.svg +80 -0
  111. package/assets/shared/icons/inactive-clipboard.svg +7 -0
  112. package/assets/shared/icons/input/X.png +0 -0
  113. package/assets/shared/icons/input/X.svg +3 -0
  114. package/assets/shared/icons/input/drag.svg +6 -0
  115. package/assets/shared/icons/input/green-search.png +0 -0
  116. package/assets/shared/icons/input/grey-search.png +0 -0
  117. package/assets/shared/icons/input/search.svg +4 -0
  118. package/assets/shared/icons/maleAvatar.svg +55 -0
  119. package/assets/shared/icons/no-result-owl.png +0 -0
  120. package/assets/shared/icons/resources.svg +6 -0
  121. package/assets/shared/icons/secondary-x.svg +3 -0
  122. package/assets/shared/icons/settings.png +0 -0
  123. package/assets/shared/icons/stepper/white-v.svg +3 -0
  124. package/assets/shared/icons/table/edit.svg +3 -0
  125. package/assets/shared/icons/target.png +0 -0
  126. package/assets/shared/icons/upload.png +0 -0
  127. package/assets/shared/icons/upload.svg +7 -0
  128. package/assets/shared/icons/user.svg +8 -0
  129. package/assets/shared/icons/video/Play.PNG +0 -0
  130. package/assets/shared/icons/video/back10.PNG +0 -0
  131. package/assets/shared/icons/video/back10.svg +7 -0
  132. package/assets/shared/icons/video/download.PNG +0 -0
  133. package/assets/shared/icons/video/download.svg +4 -0
  134. package/assets/shared/icons/video/fullScreen.PNG +0 -0
  135. package/assets/shared/icons/video/fullScreen.svg +7 -0
  136. package/assets/shared/icons/video/minimize.png +0 -0
  137. package/assets/shared/icons/video/mute.png +0 -0
  138. package/assets/shared/icons/video/mute.svg +7 -0
  139. package/assets/shared/icons/video/next10.PNG +0 -0
  140. package/assets/shared/icons/video/next10.svg +7 -0
  141. package/assets/shared/icons/video/pause.PNG +0 -0
  142. package/assets/shared/icons/video/pause.svg +5 -0
  143. package/assets/shared/icons/video/pictureInPicture.png +0 -0
  144. package/assets/shared/icons/video/pictureInPicture.svg +5 -0
  145. package/assets/shared/icons/video/pictureInPictureOff.svg +7 -0
  146. package/assets/shared/icons/video/play.svg +4 -0
  147. package/assets/shared/icons/video/primary-play.png +0 -0
  148. package/assets/shared/icons/video/primaryPlay.svg +22 -0
  149. package/assets/shared/icons/video/sound.svg +8 -0
  150. package/assets/shared/icons/video/speaker.PNG +0 -0
  151. package/assets/shared/trackChanges/edit.svg +11 -0
  152. package/assets/shared/trackChanges/message-plus.svg +14 -0
  153. package/assets/shared/trackChanges/show-comments.svg +5 -0
  154. package/assets/shared/trackChanges/text-reference.svg +3 -0
  155. package/assets/shared/trackChanges/trash.svg +9 -0
  156. package/atoms/index.d.ts +836 -0
  157. package/constants/index.d.ts +795 -0
  158. package/decorators/index.d.ts +3 -0
  159. package/dialogs/index.d.ts +41 -0
  160. package/directives/index.d.ts +55 -0
  161. package/environment/index.d.ts +129 -0
  162. package/errors/index.d.ts +26 -0
  163. package/fesm2022/herum-shared-animations.mjs +41 -0
  164. package/fesm2022/herum-shared-animations.mjs.map +1 -0
  165. package/fesm2022/herum-shared-atoms.mjs +2919 -0
  166. package/fesm2022/herum-shared-atoms.mjs.map +1 -0
  167. package/fesm2022/herum-shared-constants.mjs +711 -0
  168. package/fesm2022/herum-shared-constants.mjs.map +1 -0
  169. package/fesm2022/herum-shared-decorators.mjs +12 -0
  170. package/fesm2022/herum-shared-decorators.mjs.map +1 -0
  171. package/fesm2022/herum-shared-dialogs.mjs +113 -0
  172. package/fesm2022/herum-shared-dialogs.mjs.map +1 -0
  173. package/fesm2022/herum-shared-directives.mjs +226 -0
  174. package/fesm2022/herum-shared-directives.mjs.map +1 -0
  175. package/fesm2022/herum-shared-environment.mjs +10 -0
  176. package/fesm2022/herum-shared-environment.mjs.map +1 -0
  177. package/fesm2022/herum-shared-errors.mjs +71 -0
  178. package/fesm2022/herum-shared-errors.mjs.map +1 -0
  179. package/fesm2022/herum-shared-fetched-message.mjs +118 -0
  180. package/fesm2022/herum-shared-fetched-message.mjs.map +1 -0
  181. package/fesm2022/herum-shared-herum-types.mjs +106 -0
  182. package/fesm2022/herum-shared-herum-types.mjs.map +1 -0
  183. package/fesm2022/herum-shared-molecules.mjs +1530 -0
  184. package/fesm2022/herum-shared-molecules.mjs.map +1 -0
  185. package/fesm2022/herum-shared-mongo-molecules.mjs +269 -0
  186. package/fesm2022/herum-shared-mongo-molecules.mjs.map +1 -0
  187. package/fesm2022/herum-shared-mongo-services.mjs +441 -0
  188. package/fesm2022/herum-shared-mongo-services.mjs.map +1 -0
  189. package/fesm2022/herum-shared-mongo.mjs +729 -0
  190. package/fesm2022/herum-shared-mongo.mjs.map +1 -0
  191. package/fesm2022/herum-shared-objectsExample.mjs +190 -0
  192. package/fesm2022/herum-shared-objectsExample.mjs.map +1 -0
  193. package/fesm2022/herum-shared-pipes.mjs +406 -0
  194. package/fesm2022/herum-shared-pipes.mjs.map +1 -0
  195. package/fesm2022/herum-shared-services.mjs +1107 -0
  196. package/fesm2022/herum-shared-services.mjs.map +1 -0
  197. package/fesm2022/herum-shared-static-services.mjs +140 -0
  198. package/fesm2022/herum-shared-static-services.mjs.map +1 -0
  199. package/fesm2022/herum-shared-table.mjs +837 -0
  200. package/fesm2022/herum-shared-table.mjs.map +1 -0
  201. package/fesm2022/herum-shared-testsObjects.mjs +5722 -0
  202. package/fesm2022/herum-shared-testsObjects.mjs.map +1 -0
  203. package/fesm2022/herum-shared-tokens.mjs +13 -0
  204. package/fesm2022/herum-shared-tokens.mjs.map +1 -0
  205. package/fesm2022/herum-shared-utils.mjs +380 -0
  206. package/fesm2022/herum-shared-utils.mjs.map +1 -0
  207. package/fesm2022/herum-shared-validators.mjs +76 -0
  208. package/fesm2022/herum-shared-validators.mjs.map +1 -0
  209. package/fesm2022/herum-shared.mjs +11709 -0
  210. package/fesm2022/herum-shared.mjs.map +1 -0
  211. package/fetched-message/index.d.ts +49 -0
  212. package/herum-types/index.d.ts +198 -0
  213. package/index.d.ts +2946 -0
  214. package/molecules/index.d.ts +458 -0
  215. package/mongo/index.d.ts +175 -0
  216. package/mongo/molecules/index.d.ts +76 -0
  217. package/mongo/services/index.d.ts +98 -0
  218. package/objectsExample/index.d.ts +11 -0
  219. package/package.json +128 -0
  220. package/pipes/index.d.ts +93 -0
  221. package/services/index.d.ts +266 -0
  222. package/static-services/index.d.ts +25 -0
  223. package/styles/_mixin.scss +86 -0
  224. package/styles/collection-wizard-layout.component.scss +70 -0
  225. package/styles/dialogs.scss +49 -0
  226. package/styles/forms.scss +18 -0
  227. package/styles/overView.scss +115 -0
  228. package/styles/variables/_colors.college.scss +65 -0
  229. package/styles/variables/_colors.scss +161 -0
  230. package/styles/variables/_sizes.scss +73 -0
  231. package/styles/wizard-steps-layout.scss +21 -0
  232. package/table/index.d.ts +233 -0
  233. package/testsObjects/index.d.ts +91 -0
  234. package/tokens/index.d.ts +8 -0
  235. package/utils/index.d.ts +92 -0
  236. package/validators/index.d.ts +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herum-shared-table.mjs","sources":["../../../projects/herum-shared/table/atoms/checkbox-cell/checkbox-cell.ts","../../../projects/herum-shared/table/atoms/checkbox-cell/checkbox-cell.html","../../../projects/herum-shared/table/atoms/chips-cell/chips-cell.component.ts","../../../projects/herum-shared/table/atoms/chips-cell/chips-cell.component.html","../../../projects/herum-shared/table/atoms/copyable-cell/copyable-cell.component.ts","../../../projects/herum-shared/table/atoms/copyable-cell/copyable-cell.component.html","../../../projects/herum-shared/table/atoms/delete-row/delete-row.component.ts","../../../projects/herum-shared/table/atoms/delete-row/delete-row.component.html","../../../projects/herum-shared/table/atoms/edit-row/edit-row.component.ts","../../../projects/herum-shared/table/atoms/edit-row/edit-row.component.html","../../../projects/herum-shared/table/atoms/input-cell/input-cell.component.ts","../../../projects/herum-shared/table/atoms/input-cell/input-cell.component.html","../../../projects/herum-shared/table/atoms/row-action-buttons/row-action-buttons.component.ts","../../../projects/herum-shared/table/atoms/row-action-buttons/row-action-buttons.component.html","../../../projects/herum-shared/table/atoms/switch-cell/switch-cell.component.ts","../../../projects/herum-shared/table/atoms/switch-cell/switch-cell.component.html","../../../projects/herum-shared/table/molecules/herum-ag-grid-filter/herum-ag-grid-filter.component.ts","../../../projects/herum-shared/table/molecules/herum-ag-grid-filter/herum-ag-grid-filter.component.html","../../../projects/herum-shared/table/organisms/heurm-table/herum-table.component.ts","../../../projects/herum-shared/table/organisms/heurm-table/herum-table.component.html","../../../projects/herum-shared/table/table-module.ts","../../../projects/herum-shared/table/herum-shared-table.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { HerumTableParams, AlignDir } from 'herum-shared/herum-types';\r\n\r\n@Component({\r\n selector: 'app-checkbox-cell',\r\n standalone: false,\r\n templateUrl: './checkbox-cell.html',\r\n styleUrl: './checkbox-cell.scss',\r\n})\r\nexport class CheckboxCellComponent implements ICellRendererAngularComp {\r\n\r\n isChecked: boolean = false;\r\n blocked: boolean = false;\r\n align?: AlignDir;\r\n params: HerumTableParams;\r\n\r\n _checked(checked: boolean) {\r\n this.params.value = checked;\r\n this.params.context.componentParent.selectedRowByChildComponent(this.params);\r\n }\r\n\r\n agInit(params: HerumTableParams) {\r\n this.setParams(params);\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n this.setParams(params);\r\n return true;\r\n }\r\n\r\n private setParams(params: HerumTableParams) {\r\n this.isChecked = params.valueFormatted ?? params.value;\r\n this.align = params.align;\r\n // this.blocked = params.blocked; todo\r\n this.blocked = params.disabled;\r\n this.params = params;\r\n }\r\n}\r\n","<div class=\"checkbox-container\" [ngClass]=\"align\">\r\n <herum-checkbox [isChecked]=\"isChecked\" [isBlocked]=\"blocked\" (checkedEmitter)=\"_checked($event)\"></herum-checkbox>\r\n</div>","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { HerumTableParams } from 'herum-shared/herum-types';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'app-chips-cell',\r\n templateUrl: './chips-cell.component.html',\r\n styleUrls: ['./chips-cell.component.scss']\r\n})\r\nexport class ChipsCellComponent implements ICellRendererAngularComp {\r\n\r\n params!: ICellRendererParams;\r\n value!: any;\r\n\r\n agInit(params: HerumTableParams): void {\r\n this.params = params;\r\n this.value = params.value;\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n return true;\r\n }\r\n}","<!-- <div class=\"herum-chips-container\">\r\n <herum-chip *ngFor=\"let chip of getLimitedList()\" [title]=\"chip.name\" [isDeleteButtonNeeded]=\"false\">sdfsfd</herum-chip>\r\n\r\n <ng-container *ngIf=\"selectedOptionsValue && selectedOptionsValue.length > maxChips\">\r\n <herum-chip class=\"last-chip\" [matTooltip]=\"_getHiddenOptions()\"\r\n [title]=\"(selectedOptionsValue.length - maxChips) + '+'\" [isDeleteButtonNeeded]=\"false\"></herum-chip>\r\n </ng-container>\r\n</div> -->","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { HerumTableParams } from 'herum-shared/herum-types';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'app-copyable-cell',\r\n templateUrl: './copyable-cell.component.html',\r\n styleUrls: ['./copyable-cell.component.scss']\r\n})\r\nexport class CopyableCellComponent implements ICellRendererAngularComp {\r\n\r\n params!: ICellRendererParams;\r\n value!: any;\r\n\r\n agInit(params: HerumTableParams): void {\r\n this.params = params;\r\n this.value = params.value;\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n return true;\r\n }\r\n}","<span class=\"text\" [cdkCopyToClipboard]=\"value\" matTooltip=\"לחץ להעתקה\" matTooltipShowDelay=\"300\">\r\n {{value}}\r\n</span>","import { Component, Input } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { HerumTableParams, TableActions } from 'herum-shared/herum-types';\r\nimport { svgsStrings } from 'herum-shared/constants';\r\nimport { isTruncatedTitleElement } from 'herum-shared/utils';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'delete-row',\r\n templateUrl: './delete-row.component.html',\r\n styleUrls: ['./delete-row.component.scss']\r\n})\r\nexport class DeleteRowComponent implements ICellRendererAngularComp {\r\n\r\n @Input() isRowHovered = false;\r\n @Input() params!: HerumTableParams;\r\n value!: any;\r\n garbageSvg: string = svgsStrings.garbage;\r\n\r\n agInit(params: HerumTableParams): void {\r\n this.params = params;\r\n this.value = params.value;\r\n this.params.context.componentParent.setChildComponentRef(this);\r\n }\r\n\r\n _onDelete(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.params.context.componentParent.selectedRowByChildComponent({ ...this.params, action: TableActions.delete });\r\n }\r\n\r\n _isTruncatedTitleElement(element: HTMLElement): boolean {\r\n return isTruncatedTitleElement(element);\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n return false;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.params?.context.componentParent.deleteChildComponentReference(this);\r\n }\r\n}","<div class=\"cell-container\">\r\n <div #cellValue class=\"cell-value\" [matTooltip]=\"_isTruncatedTitleElement(cellValue)? value : ''\">\r\n {{value | ellipsis:cellValue}}\r\n </div>\r\n\r\n <img class=\"cursor-pointer\" *ngIf=\"isRowHovered\" src=\"assets/feed/icons/garbage.svg\"\r\n (click)=\"_onDelete($event)\" alt=\"delete\">\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\nimport { HerumTableParams, HoveredHerumRowTable, TableActions } from 'herum-shared/herum-types';\r\nimport { svgsStrings } from 'herum-shared/constants';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'edit-row',\r\n templateUrl: './edit-row.component.html',\r\n styleUrls: ['./edit-row.component.scss']\r\n})\r\nexport class EditRowComponent implements ICellRendererAngularComp, HoveredHerumRowTable {\r\n\r\n @Input() isRowHovered: boolean = false;\r\n @Input() params!: ICellRendererParams;\r\n value!: any;\r\n action!: number;\r\n isCopyableToClipboard: boolean = false;\r\n\r\n constructor(private clipboard: Clipboard) { }\r\n\r\n agInit(params: HerumTableParams): void {\r\n this.params = params;\r\n this.value = params.valueFormatted ?? params.value;\r\n this.params.context.componentParent.setChildComponentRef(this);\r\n\r\n if (params.action !== undefined)\r\n this.action = params.action;\r\n\r\n if (params.isCopyableToClipboard !== undefined)\r\n this.isCopyableToClipboard = params.isCopyableToClipboard;\r\n }\r\n\r\n _onEdit(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.params.context.componentParent.selectedRowByChildComponent({ ...this.params, action: TableActions.edit });\r\n }\r\n\r\n _onCopyToClipboard(event: MouseEvent) {\r\n if (!this.isCopyableToClipboard)\r\n return;\r\n\r\n event.stopPropagation();\r\n this.clipboard.copy(this.value);\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n return true;\r\n }\r\n\r\n get editIcon() {\r\n return svgsStrings.edit;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.params?.context.componentParent.deleteChildComponentReference(this);\r\n }\r\n}","<div class=\"cell-container\">\r\n <span class=\"text\" (click)=\"_onCopyToClipboard($event)\" [matTooltip]=\"isCopyableToClipboard? 'לחץ להעתקה' : ''\"\r\n matTooltipShowDelay=\"600\">{{value}}</span>\r\n\r\n <span class=\"edit-button\" *ngIf=\"isRowHovered\" [innerHTML]=\"editIcon | safeHtml\" (click)=\"_onEdit($event)\"\r\n alt=\"edit\"></span>\r\n</div>","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { HerumTableParams, AlignDir } from 'herum-shared/herum-types';\r\nimport { TableRowHeight } from 'herum-shared/decorators';\r\nimport { tableRowHeights } from 'herum-shared/constants';\r\n\r\n@TableRowHeight(tableRowHeights.switchCell)\r\n@Component({\r\n standalone: false,\r\n selector: 'input-cell',\r\n templateUrl: './input-cell.component.html',\r\n styleUrls: ['./input-cell.component.scss']\r\n})\r\nexport class InputCellComponent implements ICellRendererAngularComp {\r\n align?: AlignDir;\r\n params: HerumTableParams;\r\n inputValue: number;\r\n\r\n _input(value: number) {\r\n this.inputValue = value;\r\n this.params.value = value;\r\n this.params.context.componentParent.selectedRowByChildComponent(this.params);\r\n }\r\n\r\n agInit(params: HerumTableParams) {\r\n this.setParams(params);\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n this.setParams(params);\r\n\r\n return true;\r\n }\r\n\r\n private setParams(params: HerumTableParams) {\r\n this.inputValue = params.valueFormatted ?? params.value;\r\n this.params = params;\r\n this.align = params.align;\r\n }\r\n}","<div class=\"input-cell-container\" [ngClass]=\"align\">\r\n <herum-input-field type=\"number\" (inputValueEmitter)=\"_input($event)\" [inputValue]=\"inputValue\" placeholder=\"\"></herum-input-field>\r\n</div>","import { Component } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { HerumTableParams } from 'herum-shared/herum-types';\r\nimport { ICellRendererParams } from 'ag-grid-community';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'row-action-buttons',\r\n templateUrl: './row-action-buttons.component.html',\r\n styleUrls: ['./row-action-buttons.component.scss']\r\n})\r\nexport class RowActionButtonsComponent implements ICellRendererAngularComp {\r\n\r\n isRowHovered: boolean = false;\r\n value!: any;\r\n params!: ICellRendererParams;\r\n\r\n agInit(params: HerumTableParams): void {\r\n this.params = params;\r\n this.value = params.value;\r\n this.params.context.componentParent.setChildComponentRef(this);\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n return true;\r\n }\r\n}","<div class=\"cell-container\">\r\n <span class=\"text\">{{value}}</span>\r\n\r\n <div *ngIf=\"isRowHovered\" class=\"buttons-container\">\r\n <edit-row [isRowHovered]=\"isRowHovered\" [params]=\"params\"></edit-row>\r\n <delete-row [isRowHovered]=\"isRowHovered\" [params]=\"params\"></delete-row>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\r\nimport { HerumTableParams, AlignDir } from 'herum-shared/herum-types';\r\nimport { TableRowHeight } from 'herum-shared/decorators';\r\nimport { tableRowHeights } from 'herum-shared/constants';\r\n\r\n@TableRowHeight(tableRowHeights.switchCell)\r\n@Component({\r\n standalone: false,\r\n selector: 'switch-cell',\r\n templateUrl: './switch-cell.component.html',\r\n styleUrls: ['./switch-cell.component.scss']\r\n})\r\nexport class SwitchCellComponent implements ICellRendererAngularComp {\r\n @Input() isChecked?: boolean;\r\n @Input() align?: AlignDir;\r\n @Input() disabled: boolean = false;\r\n\r\n params: HerumTableParams;\r\n\r\n _checked(isChecked: boolean) {\r\n this.params.value = isChecked;\r\n this.params.context.componentParent.selectedRowByChildComponent(this.params);\r\n }\r\n\r\n agInit(params: HerumTableParams) {\r\n this.isChecked = params.valueFormatted ?? params.value;\r\n this.params = params;\r\n\r\n this.align = params.align;\r\n this.disabled = params.disabled;\r\n }\r\n\r\n refresh(params: HerumTableParams): boolean {\r\n return true;\r\n }\r\n}\r\n","<div class=\"switch-container\" [ngClass]=\"align\">\r\n <herum-switch [isChecked]=\"isChecked\" (checked)=\"_checked($event)\" [disabled]=\"disabled\"></herum-switch>\r\n</div>","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { AgFilterComponent } from 'ag-grid-angular';\r\nimport { IDoesFilterPassParams, IFilterParams, RowNode, } from 'ag-grid-community';\r\nimport { Subject, BehaviorSubject, Observable } from \"rxjs\";\r\nimport { debounceTime, takeUntil, tap } from \"rxjs/operators\";\r\nimport { EnvironmentConfig, HERUM_SHARED_CONFIG_TOKEN } from \"herum-shared/environment\";\r\nimport { isTruncatedTitleElement } from 'herum-shared/utils';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'app-herum-ag-grid-filter',\r\n templateUrl: './herum-ag-grid-filter.component.html',\r\n styleUrls: ['./herum-ag-grid-filter.component.scss']\r\n})\r\nexport class HerumAgGridFilterComponent implements AgFilterComponent, OnInit {\r\n\r\n private static readonly rowHeight: number = 28;\r\n private model!: Array<string>;\r\n private uniqueCheck!: object;\r\n private filterParams!: IFilterParams;\r\n private fieldId!: string;\r\n private filterList!: Array<string>;\r\n\r\n isEverythingSelected!: boolean;\r\n isToggleAllCheckBoxBlocked: boolean = false;\r\n containerHeight!: number;\r\n selectedValuesMap!: object;\r\n checkBoxType: string;\r\n\r\n onFilterListChange$!: BehaviorSubject<string[]>;\r\n onFilterValuesChanged$!: Observable<string[]>;\r\n destroySubject$ = new Subject<null>();\r\n selectedFilter: FormControl = new FormControl('');\r\n\r\n constructor(@Inject(HERUM_SHARED_CONFIG_TOKEN) private envConfig: EnvironmentConfig) { }\r\n\r\n ngOnInit(): void {\r\n this.checkBoxType = this.envConfig?.checkboxTypes?.checked;\r\n }\r\n\r\n agInit(params: IFilterParams): void {\r\n this.filterParams = params;\r\n this.uniqueCheck = {};\r\n this.selectedValuesMap = {};\r\n this.filterList = new Array<string>();\r\n\r\n if (params.colDef.field !== undefined)\r\n this.fieldId = params.colDef.field;\r\n\r\n this.onFilterListChange$ = new BehaviorSubject<string[]>([]);\r\n\r\n this.selectedFilter.valueChanges\r\n .pipe(takeUntil(this.destroySubject$))\r\n .subscribe(text => {\r\n let filterListToEmit = this.filterList.filter(filter => filter.includes(text));\r\n this.onFilterListChange$.next([...filterListToEmit]);\r\n\r\n if (!text) {\r\n if (this.isToggleAllCheckBoxBlocked)\r\n this.isToggleAllCheckBoxBlocked = false;\r\n\r\n this.setCheckBoxType();\r\n return;\r\n }\r\n\r\n this.handleChekedValuesWhenfiltering();\r\n })\r\n\r\n this.onFilterValuesChanged$ = this.onFilterListChange$\r\n .pipe(\r\n debounceTime(250),\r\n tap(values => {\r\n this.sortValues(values);\r\n this.setContainerHeight();\r\n }),\r\n );\r\n\r\n this.setUniqueValues();\r\n this.selectEverything();\r\n this.isEverythingSelected = Object.keys(this.selectedValuesMap).length === this.filterList.length;\r\n }\r\n\r\n private handleChekedValuesWhenfiltering() { //Todo-restruct to else if\r\n let filteredValuesWhichAreSelected = this.onFilterListChange$.value.filter(value => this.selectedValuesMap.hasOwnProperty(value));\r\n\r\n if (this.checkBoxType === 'disabled')\r\n this.isToggleAllCheckBoxBlocked = false;\r\n\r\n if (filteredValuesWhichAreSelected.length > 0 && filteredValuesWhichAreSelected.length < Object.keys(this.selectedValuesMap).length)\r\n this.checkBoxType = this.envConfig?.checkboxTypes?.indeterminate;\r\n\r\n if (!this.onFilterListChange$.value.length) {\r\n this.checkBoxType = 'disabled';\r\n this.isToggleAllCheckBoxBlocked = true;\r\n }\r\n\r\n if (filteredValuesWhichAreSelected.length === this.onFilterListChange$.value.length && filteredValuesWhichAreSelected.length > 0 && this.onFilterListChange$.value.length > 0)\r\n this.checkBoxType = this.envConfig?.checkboxTypes?.checked;\r\n\r\n if (!filteredValuesWhichAreSelected.length && this.onFilterListChange$.value.length)\r\n this.checkBoxType = this.envConfig?.checkboxTypes?.unchecked;\r\n }\r\n\r\n setUniqueValues() {\r\n this.filterParams.rowModel.forEachNode((node: RowNode) => {\r\n if (!node.data)\r\n return;\r\n\r\n let value = node.data[this.fieldId];\r\n this.addUniqueValueIfMissing(value);\r\n });\r\n }\r\n\r\n toggleItem(value: string, updateMetadata: boolean = true) {\r\n const selectedValuesMapLength = Object.keys(this.selectedValuesMap).length;\r\n\r\n if ((this.selectedValuesMap as { [key: string]: number })[value])\r\n delete (this.selectedValuesMap as { [key: string]: number })[value];\r\n else\r\n (this.selectedValuesMap as { [key: string]: number })[value] = 1;\r\n\r\n const updatedSelectedValuesMap = Object.keys(this.selectedValuesMap).length;\r\n\r\n if (updateMetadata) {\r\n this.isEverythingSelected = Object.keys(this.selectedValuesMap).length === this.filterList.length;\r\n this.setCheckBoxType();\r\n }\r\n\r\n if (this.onFilterListChange$.value.length !== this.filterList.length)\r\n this.handleChekedValuesWhenfiltering();\r\n\r\n if (updatedSelectedValuesMap !== selectedValuesMapLength)\r\n this.onFilterChanged();\r\n }\r\n\r\n setCheckBoxType() {\r\n if (Object.keys(this.selectedValuesMap).filter(item => item != 'null').length == this.filterList.filter(item => item != 'null').length) {\r\n this.checkBoxType = this.envConfig?.checkboxTypes?.checked;\r\n this.isEverythingSelected = true;\r\n }\r\n else if (Object.keys(this.selectedValuesMap).filter(item => item != 'null').length < this.filterList.filter(item => item != 'null').length && (Object.keys(this.selectedValuesMap).length > 1 || (Object.keys(this.selectedValuesMap).length == 1 && Object.keys(this.selectedValuesMap)[0] != 'null'))) {\r\n this.checkBoxType = this.envConfig?.checkboxTypes?.indeterminate;\r\n this.isEverythingSelected = false;\r\n }\r\n else {\r\n this.checkBoxType = undefined;\r\n this.isEverythingSelected = false;\r\n }\r\n }\r\n\r\n toggleEverything() {\r\n if (this.onFilterListChange$.value.length === 1 && this.filterList.length > 1 && !this.isEverythingSelected) {\r\n this.toggleItem(this.onFilterListChange$.value[0])\r\n return;\r\n }\r\n\r\n if (this.checkBoxType === this.envConfig?.checkboxTypes?.indeterminate)\r\n this.isEverythingSelected = false;\r\n else\r\n this.isEverythingSelected = !this.isEverythingSelected;\r\n\r\n if (this.onFilterListChange$.value.length !== this.filterList.length) {\r\n if (this.checkBoxType !== this.envConfig?.checkboxTypes?.indeterminate)\r\n this.onFilterListChange$.value.forEach(value => this.toggleItem(value, this.isEverythingSelected));\r\n else {\r\n this.onFilterListChange$.value.forEach(value =>\r\n delete (this.selectedValuesMap as { [key: string]: number })[value]);\r\n this.onFilterChanged();\r\n this.checkBoxType = undefined;\r\n }\r\n }\r\n\r\n if (this.isEverythingSelected && this.onFilterListChange$.value.length === this.filterList.length) {\r\n this.onFilterListChange$.value.forEach(value => this.toggleItem(value, false));\r\n this.setCheckBoxType();\r\n }\r\n\r\n if (!this.isEverythingSelected && this.onFilterListChange$.value.length === this.filterList.length) {\r\n this.checkBoxType = undefined;\r\n this.unselectEverything();\r\n }\r\n }\r\n\r\n onNewRowsLoaded() {\r\n this.setUniqueValues();\r\n }\r\n\r\n isFilterActive(): boolean {\r\n return Object.keys(this.selectedValuesMap).length > 0 && !this.isEverythingSelected;\r\n }\r\n\r\n doesFilterPass(params: IDoesFilterPassParams): boolean {\r\n const node = params.node;\r\n if (!node.data) {\r\n return false;\r\n }\r\n\r\n const nodeValue = params.data[this.fieldId];\r\n if (!this.isValueValid(nodeValue)) {\r\n return false;\r\n }\r\n\r\n return Boolean((this.selectedValuesMap as { [key: string]: any })[nodeValue]);\r\n }\r\n\r\n getModel() {\r\n return this.model;\r\n }\r\n\r\n onFilterChanged() {\r\n this.filterParams.filterChangedCallback();\r\n }\r\n\r\n setModel(value: string) {\r\n this.unselectEverything();\r\n this.selectedValuesMap = { [value]: 1 };\r\n this.addUniqueValueIfMissing(value);\r\n }\r\n\r\n private setContainerHeight() {\r\n this.containerHeight =\r\n this.filterList.length * HerumAgGridFilterComponent.rowHeight;\r\n }\r\n\r\n private sortValues(values: string[]) {\r\n values.sort();\r\n }\r\n\r\n private selectEverything() {\r\n this.selectedValuesMap = this.onFilterListChange$.value.reduce((acc, value) => ({ ...acc, [value]: 1 }), {} as { [key: string]: number });\r\n this.setCheckBoxType();\r\n }\r\n\r\n private unselectEverything() {\r\n this.selectedValuesMap = {} as { [key: string]: number };\r\n this.toggleItem(null, false);\r\n }\r\n\r\n private addUniqueValueIfMissing(value: string) {\r\n if ((this.uniqueCheck as { [key: string]: number })[value])\r\n return;\r\n\r\n this.filterList.push(value);\r\n this.onFilterListChange$.next([...this.filterList]);\r\n (this.uniqueCheck as { [key: string]: number })[value] = 1;\r\n }\r\n\r\n private isValueValid(value: string) {\r\n if (value === undefined || value === null)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n isTruncatedTitleElement(element: HTMLElement): boolean {\r\n return isTruncatedTitleElement(element);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroySubject$.next(null);\r\n this.destroySubject$.complete();\r\n }\r\n}","<div class=\"ag-filter\">\r\n <herum-input-field [type]=\"'search'\" [placeholder]=\"'חפש ערך לפילטור'\" [showErrorMsgGap]=\"false\"\r\n [formControl]=\"selectedFilter\"></herum-input-field>\r\n <div>\r\n <div class=\"ag-filter-body-wrapper\">\r\n <div ref=\"ag-filter-loading\" class=\"loading-filter ag-hidden\">\r\n Loading...\r\n </div>\r\n <div>\r\n <div id=\"richList\" class=\"ag-set-filter-list\">\r\n <div class=\"ag-virtual-list-viewport\">\r\n <div class=\"ag-virtual-list-container\" [attr.style.height]=\"containerHeight\">\r\n <div style=\"line-height: 28px;\">\r\n <label class=\"ag-set-filter-item\">\r\n <div class=\"ag-filter-checkbox\">\r\n <herum-checkbox [isChecked]=\"isEverythingSelected\" [type]=\"checkBoxType\"\r\n [isBlocked]=\"isToggleAllCheckBoxBlocked\"\r\n (checkedEmitter)=\"toggleEverything()\"></herum-checkbox>\r\n </div>\r\n <span class=\"ag-filter-value select-all-bold\">בחר הכל</span>\r\n </label>\r\n </div>\r\n\r\n <div style=\"line-height: 28px;\" *ngFor=\"let item of (onFilterValuesChanged$ | async)\">\r\n <label class=\"ag-set-filter-item\">\r\n <div class=\"ag-filter-checkbox\">\r\n <herum-checkbox (checkedEmitter)=\"toggleItem(item)\"\r\n [isChecked]=\"selectedValuesMap.hasOwnProperty(item)\"></herum-checkbox>\r\n </div>\r\n\r\n <span #agFilterValue appHerumToolTip class=\"ag-filter-value w-100\"\r\n [matTooltip]=\"isTruncatedTitleElement(agFilterValue)? item : ''\">\r\n {{item === '' ? '(ריק)': item | ellipsis:agFilterValue}}\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { ColDef, ColumnApi, GridApi, GridReadyEvent, ModelUpdatedEvent, RowNode } from 'ag-grid-community';\r\nimport { HerumAgGridFilterComponent } from '../../molecules/herum-ag-grid-filter/herum-ag-grid-filter.component';\r\n\r\nimport { tableRowHeights } from 'herum-shared/constants';\r\nimport { CheckboxCellComponent } from '../../atoms/checkbox-cell/checkbox-cell';\r\nimport { BaseRowData, HoveredHerumRowTable, HerumTableParams } from 'herum-shared/herum-types';\r\n\r\nconst rowDataInput: string = 'rowData';\r\nconst pixelUnit: string = 'px';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'herum-table',\r\n templateUrl: './herum-table.component.html',\r\n styleUrls: ['./herum-table.component.scss'],\r\n providers: [HerumAgGridFilterComponent]\r\n})\r\nexport class HerumTableComponent implements OnChanges, AfterViewInit {\r\n\r\n @Input() rowData: (unknown & BaseRowData)[];\r\n @Input() columnDefs: ColDef[] = [\r\n { checkboxSelection: true, headerCheckboxSelection: true, },\r\n { headerName: 'שם המארז', field: 'collectionName', filter: HerumAgGridFilterComponent },\r\n { headerName: 'נושא', field: 'subject', filter: HerumAgGridFilterComponent },\r\n {\r\n headerName: 'יוצר', field: 'creator',\r\n cellEditor: 'agRichSelectCellEditor',\r\n singleClickEdit: true,\r\n cellEditorParams: {\r\n values: ['Male', 'Female'],\r\n }, filter: HerumAgGridFilterComponent\r\n },\r\n { headerName: 'תאריך יצירה', field: 'creationDate', filter: HerumAgGridFilterComponent },\r\n { headerName: 'כמות משאבים', field: 'resourceCount', filter: HerumAgGridFilterComponent },\r\n {\r\n headerName: 'זמן צפייה משוער', field: 'watchTime',\r\n editable: true,\r\n cellEditor: 'agSelectCellEditor',\r\n singleClickEdit: true,\r\n cellEditorParams: {\r\n values: [5, 8, 12],\r\n },\r\n },\r\n ];\r\n @Input() selectedRowsIds: string[] = [];\r\n @Input() noResults!: number;\r\n @Input() overlayNoRowsTemplate: string = 'לא נמצאו תוצאות';\r\n @Input() rowsSelectionType: 'multiple' | 'single' = 'multiple';\r\n @Input() usePagination: boolean = false;\r\n @Input() suppressRowClickSelection: boolean = false;\r\n @Input() showExportToExcel: boolean = false;\r\n\r\n @Output() onCheckedRow = new EventEmitter<any>();\r\n @Output() onUncheckedRow = new EventEmitter<any>();\r\n @Output() selectedRowByChild = new EventEmitter<any>();\r\n @Output() cellValueChangeByChild = new EventEmitter<any>();\r\n @Output() cellMouseOver = new EventEmitter<any>();\r\n @Output() onPaginationChanged = new EventEmitter<any>();\r\n\r\n @ViewChild('tableContainer') tableContainer: ElementRef;\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n const newWidth = window.innerWidth;\r\n\r\n if (newWidth > this.windowWidth) {\r\n this.windowWidth = newWidth;\r\n this.resizeColumnsWidth();\r\n }\r\n }\r\n\r\n windowWidth: number = window.innerWidth;\r\n context: any;\r\n childComponentsReferences: HoveredHerumRowTable[] = [];\r\n isLoading: boolean = true;\r\n gridApi!: GridApi;\r\n isFirstDataRendered = false;\r\n\r\n defaultColDef = {\r\n resizable: false,\r\n sortable: true,\r\n flex: 1,\r\n minWidth: 100,\r\n maxWidth: 300,\r\n rowHeight: 20,\r\n };\r\n\r\n gridOptions = {\r\n groupSelectsFiltered: true,\r\n suppressCopyRowsToClipboard: false,\r\n rowClassRules: {\r\n 'selected-row': 'data.selected',\r\n },\r\n cellStyle: { 'user-select': 'text' },\r\n localeText: {\r\n filterOoo: \"בחר ערך פילטור...\",\r\n equals: \"שווה ל\",\r\n notEqual: \"לא שווה\",\r\n contains: \"מכיל\",\r\n notContains: \"לא מכיל\",\r\n startsWith: \"מתחיל ב\",\r\n endsWith: \"נגמר ב\",\r\n filter: \"פילטור\",\r\n applyFilter: \"אשר פילטור\",\r\n resetFilter: \"אפס פילטור\",\r\n },\r\n } as any;\r\n\r\n frameworkComponents = { customCheckboxRenderer: CheckboxCellComponent };\r\n\r\n rowHeight: number = tableRowHeights.default;\r\n tableWidth: string = '100%';\r\n gridColumnApi!: ColumnApi;\r\n params: HerumTableParams;\r\n hoveredRowId!: string;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes[rowDataInput]) {\r\n this.isLoading = true;\r\n\r\n if (changes[rowDataInput]?.currentValue) {\r\n this.childComponentsReferences = [];\r\n this.isLoading = false;\r\n\r\n if (!!this.selectedRowsIds.length)\r\n this.sortBySelectedRows();\r\n\r\n if (this.tableContainer)\r\n this.tableContainer.nativeElement.style.height = this.setTableHeight(changes[rowDataInput].currentValue.length);\r\n }\r\n }\r\n\r\n if (changes['columnDefs']) this.updateRowHeight();\r\n\r\n this.context = { componentParent: this };\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (!this.tableContainer.nativeElement.style.height)\r\n this.tableContainer.nativeElement.style.height = this.setTableHeight(this.rowData?.length);\r\n }\r\n\r\n _onExportCsv() {\r\n this.gridApi.exportDataAsCsv();\r\n }\r\n\r\n _onFirstDataRendered(params: HerumTableParams) {\r\n this.isFirstDataRendered = true;\r\n this.params = params;\r\n\r\n if (!this.selectedRowsIds?.length)\r\n return;\r\n\r\n this.updateSelectedRows(params);\r\n }\r\n\r\n _onGridReady(params: GridReadyEvent) {\r\n this.gridColumnApi = params.columnApi;\r\n this.gridApi = params.api;\r\n this.resizeColumnsWidth();\r\n }\r\n\r\n _onModelUpdated(modelUpdatedEvent: ModelUpdatedEvent) {\r\n if (this.isLoading || !this.selectedRowsIds?.length)\r\n return;\r\n\r\n this.updateSelectedRows(modelUpdatedEvent);\r\n }\r\n\r\n _onSelectionChanged(event: any) {\r\n event.api.getSelectedRows();\r\n }\r\n\r\n _onPaginationChanged(event) {\r\n if (this.isFirstDataRendered)\r\n this.onPaginationChanged.emit(event);\r\n }\r\n\r\n _onCellMouseOver(event: any) {\r\n this.toggleHoverIcon(event.data.id);\r\n }\r\n\r\n _onFilterChanged(params: HerumTableParams): void {\r\n this.tableContainer.nativeElement.style.height = this.setTableHeight(params.api.getDisplayedRowCount());\r\n }\r\n\r\n _onRowSelected(row: any) {\r\n row.node.selected ?\r\n this.onCheckedRow.emit(row.data) :\r\n this.onUncheckedRow.emit(row.data);\r\n }\r\n\r\n _onGridMouseLeave() {\r\n this.hoveredRowId = '';\r\n this.childComponentsReferences.forEach((component) => {\r\n if (component.isRowHovered)\r\n component.isRowHovered = false;\r\n });\r\n }\r\n\r\n selectedRowByChildComponent(params: HerumTableParams) {\r\n this.selectedRowByChild.emit(params);\r\n }\r\n\r\n deleteChildComponentReference(componentReference: HoveredHerumRowTable) {\r\n const componentIndex = this.getExistingComponentReferenceIndex(componentReference);\r\n\r\n if (componentIndex !== -1)\r\n this.childComponentsReferences.splice(componentIndex, 1);\r\n }\r\n\r\n setChildComponentRef(componentReference: HoveredHerumRowTable) {\r\n const componentIndex = this.getExistingComponentReferenceIndex(componentReference);\r\n\r\n if (componentIndex === -1)\r\n this.childComponentsReferences.push(componentReference);\r\n }\r\n\r\n private setTableHeight(numberOfRows: number): string {\r\n const overlayNoRowsTemplateHeight = 350;\r\n const headerRowHeight: number = 48;\r\n const tableHeight: number = headerRowHeight + numberOfRows * this.rowHeight;\r\n const minTableHeight = headerRowHeight + 7 * this.rowHeight;\r\n\r\n if (!numberOfRows)\r\n return `${overlayNoRowsTemplateHeight}px`;\r\n\r\n if (tableHeight < minTableHeight)\r\n return minTableHeight + pixelUnit;\r\n\r\n return 'calc(100% - var(--export-buttons-margin) - var(--export-buttons-container-height))';\r\n }\r\n\r\n private updateSelectedRows(params: HerumTableParams | ModelUpdatedEvent) {\r\n params.api.forEachNode((node: RowNode) => {\r\n if (this.selectedRowsIds?.includes(node.data.id))\r\n node.setSelected(true);\r\n });\r\n\r\n params.api.redrawRows();\r\n }\r\n\r\n private sortBySelectedRows() {\r\n this.rowData.sort((a, b) => {\r\n if (this.selectedRowsIds?.includes(a.id) && !this.selectedRowsIds?.includes(b.id))\r\n return -1;\r\n else if (!this.selectedRowsIds?.includes(a.id) && this.selectedRowsIds?.includes(b.id))\r\n return 1;\r\n else\r\n return 0;\r\n });\r\n }\r\n\r\n private resizeColumnsWidth() {\r\n const webkitScrollbarWidth: number = 6;\r\n const widthGapBetweenAgBodyViewportAndTableContainer: number = 2;\r\n\r\n this.gridApi?.getColumns()?.forEach((column: any) => {\r\n column.maxWidth = column.minWidth = ((this.tableContainer.nativeElement.clientWidth - webkitScrollbarWidth - widthGapBetweenAgBodyViewportAndTableContainer) / this.gridApi?.getColumns()!.length);\r\n });\r\n }\r\n\r\n private toggleHoverIcon(rowId: string) {\r\n if (this.hoveredRowId && rowId === this.hoveredRowId)\r\n return;\r\n\r\n this.childComponentsReferences.forEach((component) => {\r\n if (component.isRowHovered)\r\n component.isRowHovered = false;\r\n });\r\n\r\n if (!rowId) {\r\n console.error(\"got no rowId for hover\");\r\n return;\r\n }\r\n\r\n const componentsReferences = this.childComponentsReferences.filter((component) => component.params.data.id === rowId);\r\n\r\n if (componentsReferences.length) {\r\n this.hoveredRowId = rowId;\r\n componentsReferences.forEach(component => component.isRowHovered = true);\r\n }\r\n }\r\n\r\n private getExistingComponentReferenceIndex(component: HoveredHerumRowTable): number {\r\n const id = component.params.data.id;\r\n const headerName = component.params.column?.getColDef().headerName;\r\n\r\n return this.childComponentsReferences.findIndex((component) =>\r\n component.params.data.id === id && component.params.column?.getColDef().headerName === headerName);\r\n }\r\n\r\n private updateRowHeight() {\r\n const maxHeight = this.getMaxRowHeightFromColumns();\r\n\r\n if (maxHeight) this.rowHeight = maxHeight;\r\n\r\n this.setRowheightStyleProperty();\r\n }\r\n\r\n private setRowheightStyleProperty() {\r\n document.documentElement.style.setProperty('--table-row-line-height', `${this.rowHeight + pixelUnit}`);\r\n }\r\n\r\n private getMaxRowHeightFromColumns() {\r\n const rowHeights: number[] = this.columnDefs.map(column => column?.cellRenderer?.tableRowHeight).filter(height => !!height) || [];\r\n\r\n const maxHeight = Math.max(...rowHeights, 0);\r\n\r\n return maxHeight;\r\n }\r\n}","<div class=\"table-layout-container\" [class.show-export-button]=\"showExportToExcel\">\r\n <div #tableContainer class=\"table-container\">\r\n <ag-grid-angular style=\"height: 100% ;width: 100%\" class=\"ag-theme-alpine ag-rtl\" [rowData]=\"rowData\"\r\n [rowSelection]=\"rowsSelectionType\" [rowMultiSelectWithClick]=\"true\" [columnDefs]=\"columnDefs\"\r\n [defaultColDef]=\"defaultColDef\" [context]=\"context\" [components]=\"frameworkComponents\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\" [enableRtl]=\"true\" [rowHeight]=\"rowHeight\"\r\n [pagination]=\"usePagination\" [paginationAutoPageSize]=\"usePagination\" [tooltipShowDelay]=\"0\"\r\n [gridOptions]=\"gridOptions\" [suppressRowClickSelection]=\"suppressRowClickSelection\"\r\n (cellMouseOver)=\"_onCellMouseOver($event)\" (paginationChanged)=\"_onPaginationChanged($event)\"\r\n (rowSelected)=\"_onRowSelected($event)\" (firstDataRendered)=\"_onFirstDataRendered($event)\"\r\n (filterChanged)=\"_onFilterChanged($event)\" (gridReady)=\"_onGridReady($event)\"\r\n (modelUpdated)=\"_onModelUpdated($event)\" (mouseleave)=\"_onGridMouseLeave()\">\r\n </ag-grid-angular>\r\n <ng-container *ngIf=\"isLoading\"><herum-loader></herum-loader></ng-container>\r\n </div>\r\n\r\n <div class=\"export-button-container\">\r\n <herum-button [type]=\"'secondary'\" (click)=\"_onExportCsv()\">ייצוא לאקסל</herum-button>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { AtomsModule } from 'herum-shared/atoms';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\n\r\nimport { CheckboxCellComponent } from './atoms/checkbox-cell/checkbox-cell';\r\nimport { ChipsCellComponent } from './atoms/chips-cell/chips-cell.component';\r\nimport { CopyableCellComponent } from './atoms/copyable-cell/copyable-cell.component';\r\nimport { DeleteRowComponent } from './atoms/delete-row/delete-row.component';\r\nimport { EditRowComponent } from './atoms/edit-row/edit-row.component';\r\nimport { InputCellComponent } from './atoms/input-cell/input-cell.component';\r\nimport { RowActionButtonsComponent } from './atoms/row-action-buttons/row-action-buttons.component';\r\nimport { SwitchCellComponent } from './atoms/switch-cell/switch-cell.component';\r\nimport { HerumTableComponent } from './organisms/heurm-table/herum-table.component';\r\nimport { HerumAgGridFilterComponent } from './molecules/herum-ag-grid-filter/herum-ag-grid-filter.component'\r\nimport { PipesModule } from 'herum-shared/pipes';\r\n\r\n@NgModule({\r\n declarations: [\r\n CheckboxCellComponent,\r\n ChipsCellComponent,\r\n CopyableCellComponent,\r\n DeleteRowComponent,\r\n EditRowComponent,\r\n InputCellComponent,\r\n RowActionButtonsComponent,\r\n SwitchCellComponent,\r\n HerumTableComponent,\r\n HerumAgGridFilterComponent\r\n ],\r\n exports: [\r\n CheckboxCellComponent,\r\n ChipsCellComponent,\r\n CopyableCellComponent,\r\n DeleteRowComponent,\r\n EditRowComponent,\r\n InputCellComponent,\r\n RowActionButtonsComponent,\r\n SwitchCellComponent,\r\n HerumTableComponent,\r\n HerumAgGridFilterComponent,\r\n AgGridModule\r\n ],\r\n imports: [\r\n CommonModule,\r\n AtomsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatTooltipModule,\r\n AgGridModule,\r\n PipesModule,\r\n ClipboardModule\r\n ],\r\n})\r\nexport class TableModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i2.DeleteRowComponent","i3.EditRowComponent","i5"],"mappings":"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"}