mediasfu-angular 1.0.2 → 2.0.0

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 (281) hide show
  1. package/README.md +678 -578
  2. package/dist/README.md +677 -578
  3. package/dist/fesm2022/mediasfu-angular.mjs +5551 -2944
  4. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  5. package/dist/lib/@types/types.d.ts +22 -1
  6. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +1 -0
  7. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +153 -61
  8. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +154 -66
  9. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +190 -76
  10. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +184 -70
  11. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +192 -78
  12. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +6 -1
  13. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +5 -2
  14. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +4 -2
  15. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +71 -66
  16. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +5 -1
  17. package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
  18. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +43 -11
  19. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +87 -46
  20. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +89 -43
  21. package/dist/lib/consumers/connect-send-transport.service.d.ts +5 -1
  22. package/dist/lib/consumers/create-send-transport.service.d.ts +130 -40
  23. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +77 -40
  24. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +48 -14
  25. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +81 -44
  26. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +5 -1
  27. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +5 -1
  28. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +54 -21
  29. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +124 -40
  30. package/dist/lib/consumers/trigger.service.d.ts +3 -0
  31. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +5 -1
  32. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +3 -0
  33. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +4 -1
  34. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +3 -0
  35. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +3 -0
  36. package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
  37. package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
  38. package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
  39. package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
  40. package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
  41. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +37 -20
  42. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
  43. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +7 -2
  44. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +7 -2
  45. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +5 -1
  46. package/dist/lib/sockets/socket-manager.service.d.ts +90 -0
  47. package/dist/public-api.d.ts +11 -1
  48. package/package.json +17 -20
  49. package/dist/esm2022/lib/@types/types.mjs +0 -2
  50. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -799
  51. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -366
  52. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -143
  53. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
  54. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -245
  55. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -79
  56. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -356
  57. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -80
  58. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -129
  59. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -138
  60. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
  61. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -282
  62. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -82
  63. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -65
  64. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -137
  65. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -137
  66. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -51
  67. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -101
  68. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -151
  69. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -250
  70. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -102
  71. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -140
  72. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -131
  73. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -120
  74. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -201
  75. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -115
  76. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -319
  77. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -161
  78. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
  79. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -126
  80. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -334
  81. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -112
  82. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -392
  83. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -106
  84. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -199
  85. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -132
  86. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -220
  87. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4238
  88. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3754
  89. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5071
  90. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5380
  91. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5068
  92. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -83
  93. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -27
  94. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -27
  95. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -125
  96. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -106
  97. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -228
  98. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -277
  99. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -130
  100. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -343
  101. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -127
  102. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -241
  103. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -82
  104. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -139
  105. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -40
  106. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -60
  107. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -124
  108. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -201
  109. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -92
  110. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -133
  111. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -90
  112. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -81
  113. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -147
  114. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -627
  115. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -391
  116. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -201
  117. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -286
  118. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1833
  119. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -345
  120. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -109
  121. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -60
  122. package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -551
  123. package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -93
  124. package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -105
  125. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -106
  126. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -331
  127. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -106
  128. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -98
  129. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -154
  130. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -146
  131. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -84
  132. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -102
  133. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -99
  134. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -140
  135. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -368
  136. package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -113
  137. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -172
  138. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -108
  139. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -84
  140. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -101
  141. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -513
  142. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -106
  143. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -120
  144. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -82
  145. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -79
  146. package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -91
  147. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -95
  148. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -103
  149. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -541
  150. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -101
  151. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -128
  152. package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -114
  153. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -239
  154. package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -173
  155. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -87
  156. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -69
  157. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -239
  158. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -101
  159. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -150
  160. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -103
  161. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -91
  162. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
  163. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -96
  164. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -100
  165. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -78
  166. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -120
  167. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -175
  168. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -185
  169. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -210
  170. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -193
  171. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -260
  172. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -120
  173. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -260
  174. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -172
  175. package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -210
  176. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -135
  177. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -84
  178. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -48
  179. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -183
  180. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -46
  181. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -46
  182. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -104
  183. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -46
  184. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -194
  185. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -52
  186. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -42
  187. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -85
  188. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -44
  189. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -45
  190. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -143
  191. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -47
  192. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -98
  193. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -96
  194. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -107
  195. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -75
  196. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -72
  197. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -83
  198. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -43
  199. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -95
  200. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -69
  201. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -56
  202. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -278
  203. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -125
  204. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -67
  205. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -130
  206. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -134
  207. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -80
  208. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -197
  209. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -112
  210. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -272
  211. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -51
  212. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -84
  213. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -51
  214. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -109
  215. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -275
  216. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -75
  217. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -178
  218. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -271
  219. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -80
  220. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -116
  221. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -132
  222. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -57
  223. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -120
  224. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -126
  225. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -78
  226. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -90
  227. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -59
  228. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -32
  229. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -31
  230. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
  231. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -96
  232. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -315
  233. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -58
  234. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -87
  235. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -61
  236. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -87
  237. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -84
  238. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -17
  239. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -63
  240. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -49
  241. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -41
  242. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -69
  243. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -98
  244. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -44
  245. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -74
  246. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -96
  247. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -276
  248. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -152
  249. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -152
  250. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -228
  251. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -218
  252. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -57
  253. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -76
  254. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -183
  255. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -50
  256. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -64
  257. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -78
  258. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -150
  259. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -73
  260. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -47
  261. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -63
  262. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -63
  263. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -54
  264. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -129
  265. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -152
  266. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -99
  267. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -67
  268. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -134
  269. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -233
  270. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -121
  271. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -86
  272. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -60
  273. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -62
  274. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -57
  275. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -105
  276. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -66
  277. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -96
  278. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -52
  279. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -113
  280. package/dist/esm2022/mediasfu-angular.mjs +0 -5
  281. package/dist/esm2022/public-api.mjs +0 -187
@@ -1,90 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- /**
8
- * @component StandardPanelComponent
9
- * @description This component represents a standard panel for recording options.
10
- * It allows users to select media, audio, and video options, as well as toggle HLS recording.
11
- *
12
- * @selector app-standard-panel-component
13
- * @standalone true
14
- * @templateUrl ./standard-panel-component.component.html
15
- * @styleUrls ./standard-panel-component.component.css
16
- * @imports [CommonModule, FormsModule]
17
- *
18
- * @input {StandardPanelParameters} parameters - The parameters for the standard panel component.
19
- *
20
- * @property {string} selectedRecordingMediaOptions - The selected media options for recording.
21
- * @property {string} selectedRecordingAudioOptions - The selected audio options for recording.
22
- * @property {string} selectedRecordingVideoOptions - The selected video options for recording.
23
- * @property {boolean} selectedRecordingAddHLS - The flag indicating whether HLS recording is enabled.
24
- *
25
- * @method ngOnInit - Initializes the component and sets the initial values for recording options.
26
- * @method ngOnChanges - Handles changes to the input parameters and updates the recording options accordingly.
27
- * @method handleMediaOptionsChange - Handles changes to the media options and updates the parameters.
28
- * @method handleAudioOptionsChange - Handles changes to the audio options and updates the parameters.
29
- * @method handleVideoOptionsChange - Handles changes to the video options and updates the parameters.
30
- * @method handleAddHLSChange - Handles changes to the HLS recording option and updates the parameters.
31
- *
32
- * @param {SimpleChanges} changes - The changes to the input properties.
33
- * @param {any} event - The event object from the change event.
34
- *
35
- * @example
36
- * ```html
37
- * <app-standard-panel-component [parameters]="standardPanelParameters"></app-standard-panel-component>
38
- * ```
39
- */
40
- export class StandardPanelComponent {
41
- parameters = {};
42
- selectedRecordingMediaOptions;
43
- selectedRecordingAudioOptions;
44
- selectedRecordingVideoOptions;
45
- selectedRecordingAddHLS;
46
- ngOnInit() {
47
- this.selectedRecordingMediaOptions = this.parameters.recordingMediaOptions;
48
- this.selectedRecordingAudioOptions = this.parameters.recordingAudioOptions;
49
- this.selectedRecordingVideoOptions = this.parameters.recordingVideoOptions;
50
- this.selectedRecordingAddHLS = this.parameters.recordingAddHLS;
51
- }
52
- ngOnChanges(changes) {
53
- if (changes['parameters']) {
54
- this.parameters = changes['parameters'].currentValue;
55
- this.selectedRecordingMediaOptions = this.parameters.recordingMediaOptions;
56
- this.selectedRecordingAudioOptions = this.parameters.recordingAudioOptions;
57
- this.selectedRecordingVideoOptions = this.parameters.recordingVideoOptions;
58
- this.selectedRecordingAddHLS = this.parameters.recordingAddHLS;
59
- }
60
- }
61
- handleMediaOptionsChange(event) {
62
- const value = event.target.value;
63
- this.selectedRecordingMediaOptions = value;
64
- this.parameters.updateRecordingMediaOptions(value);
65
- }
66
- handleAudioOptionsChange(event) {
67
- const value = event.target.value;
68
- this.selectedRecordingAudioOptions = value;
69
- this.parameters.updateRecordingAudioOptions(value);
70
- }
71
- handleVideoOptionsChange(event) {
72
- const value = event.target.value;
73
- this.selectedRecordingVideoOptions = value;
74
- this.parameters.updateRecordingVideoOptions(value);
75
- }
76
- handleAddHLSChange(event) {
77
- const value = event.target.value === 'true';
78
- this.selectedRecordingAddHLS = value;
79
- this.parameters.updateRecordingAddHLS(value);
80
- }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StandardPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: StandardPanelComponent, isStandalone: true, selector: "app-standard-panel-component", inputs: { parameters: "parameters" }, usesOnChanges: true, ngImport: i0, template: "<div>\r\n <!-- Media Options -->\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Media Options:</label>\r\n <select [(ngModel)]=\"selectedRecordingMediaOptions\" (change)=\"handleMediaOptionsChange($event)\">\r\n <option value=\"video\">Record Video</option>\r\n <option value=\"audio\">Record Audio Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Audios -->\r\n <div *ngIf=\"parameters.eventType !== 'broadcast'\">\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Audios:</label>\r\n <select [(ngModel)]=\"selectedRecordingAudioOptions\" (change)=\"handleAudioOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"onScreen\">Add All On Screen</option>\r\n <option value=\"host\">Add Host Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Videos -->\r\n <div id=\"conditionalConference\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Videos:</label>\r\n <select [(ngModel)]=\"selectedRecordingVideoOptions\" (change)=\"handleVideoOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"mainScreen\">Big Screen Only (includes screenshare)</option>\r\n </select>\r\n </div>\r\n <hr />\r\n </div>\r\n\r\n <!-- Add HLS -->\r\n <div id=\"addHLSPart\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Add HLS:</label>\r\n <select [(ngModel)]=\"selectedRecordingAddHLS\" (change)=\"handleAddHLSChange($event)\">\r\n <option [ngValue]=\"true\">True</option>\r\n <option [ngValue]=\"false\">False</option>\r\n </select>\r\n </div>\r\n <hr />\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StandardPanelComponent, decorators: [{
85
- type: Component,
86
- args: [{ selector: 'app-standard-panel-component', standalone: true, imports: [CommonModule, FormsModule], template: "<div>\r\n <!-- Media Options -->\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Media Options:</label>\r\n <select [(ngModel)]=\"selectedRecordingMediaOptions\" (change)=\"handleMediaOptionsChange($event)\">\r\n <option value=\"video\">Record Video</option>\r\n <option value=\"audio\">Record Audio Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Audios -->\r\n <div *ngIf=\"parameters.eventType !== 'broadcast'\">\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Audios:</label>\r\n <select [(ngModel)]=\"selectedRecordingAudioOptions\" (change)=\"handleAudioOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"onScreen\">Add All On Screen</option>\r\n <option value=\"host\">Add Host Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Videos -->\r\n <div id=\"conditionalConference\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Videos:</label>\r\n <select [(ngModel)]=\"selectedRecordingVideoOptions\" (change)=\"handleVideoOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"mainScreen\">Big Screen Only (includes screenshare)</option>\r\n </select>\r\n </div>\r\n <hr />\r\n </div>\r\n\r\n <!-- Add HLS -->\r\n <div id=\"addHLSPart\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Add HLS:</label>\r\n <select [(ngModel)]=\"selectedRecordingAddHLS\" (change)=\"handleAddHLSChange($event)\">\r\n <option [ngValue]=\"true\">True</option>\r\n <option [ngValue]=\"false\">False</option>\r\n </select>\r\n </div>\r\n <hr />\r\n</div>\r\n" }]
87
- }], propDecorators: { parameters: [{
88
- type: Input
89
- }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZGluZy1jb21wb25lbnRzL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkaW5nLWNvbXBvbmVudHMvc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50L3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCN0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBUUgsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixVQUFVLEdBQTRCLEVBQTZCLENBQUM7SUFFN0UsNkJBQTZCLENBQVU7SUFDdkMsNkJBQTZCLENBQVU7SUFDdkMsNkJBQTZCLENBQVU7SUFDdkMsdUJBQXVCLENBQVc7SUFFbEMsUUFBUTtRQUNOLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQzNFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ3JELElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQzNFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQzNFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVU7UUFDakMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBVTtRQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDO1FBQzVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO3VHQS9DVSxzQkFBc0I7MkZBQXRCLHNCQUFzQixtSkMzRG5DLG12REE0Q0EseUREYVksWUFBWSxrSUFBRSxXQUFXOzsyRkFFeEIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBR1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDOzhCQUczQixVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2ZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRQYW5lbFBhcmFtZXRlcnMge1xuICByZWNvcmRpbmdNZWRpYU9wdGlvbnM6IHN0cmluZztcbiAgcmVjb3JkaW5nQXVkaW9PcHRpb25zOiBzdHJpbmc7XG4gIHJlY29yZGluZ1ZpZGVvT3B0aW9uczogc3RyaW5nO1xuICByZWNvcmRpbmdBZGRITFM6IGJvb2xlYW47XG4gIHVwZGF0ZVJlY29yZGluZ01lZGlhT3B0aW9uczogKG1lZGlhT3B0aW9uczogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBdWRpb09wdGlvbnM6IChhdWRpb09wdGlvbnM6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nVmlkZW9PcHRpb25zOiAodmlkZW9PcHRpb25zOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ0FkZEhMUzogKGFkZEhMUzogYm9vbGVhbikgPT4gdm9pZDtcbiAgZXZlbnRUeXBlOiBFdmVudFR5cGU7XG59XG5cbmV4cG9ydCB0eXBlIFN0YW5kYXJkUGFuZWxUeXBlID0gKG9wdGlvbnM6IFN0YW5kYXJkUGFuZWxQYXJhbWV0ZXJzKSA9PiBIVE1MRWxlbWVudDtcblxuLyoqXG4gKiBAY29tcG9uZW50IFN0YW5kYXJkUGFuZWxDb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGNvbXBvbmVudCByZXByZXNlbnRzIGEgc3RhbmRhcmQgcGFuZWwgZm9yIHJlY29yZGluZyBvcHRpb25zLlxuICogSXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBtZWRpYSwgYXVkaW8sIGFuZCB2aWRlbyBvcHRpb25zLCBhcyB3ZWxsIGFzIHRvZ2dsZSBITFMgcmVjb3JkaW5nLlxuICpcbiAqIEBzZWxlY3RvciBhcHAtc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50XG4gKiBAc3RhbmRhbG9uZSB0cnVlXG4gKiBAdGVtcGxhdGVVcmwgLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWxcbiAqIEBzdHlsZVVybHMgLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LmNzc1xuICogQGltcG9ydHMgW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdXG4gKlxuICogQGlucHV0IHtTdGFuZGFyZFBhbmVsUGFyYW1ldGVyc30gcGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgc3RhbmRhcmQgcGFuZWwgY29tcG9uZW50LlxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyAtIFRoZSBzZWxlY3RlZCBtZWRpYSBvcHRpb25zIGZvciByZWNvcmRpbmcuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMgLSBUaGUgc2VsZWN0ZWQgYXVkaW8gb3B0aW9ucyBmb3IgcmVjb3JkaW5nLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zIC0gVGhlIHNlbGVjdGVkIHZpZGVvIG9wdGlvbnMgZm9yIHJlY29yZGluZy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMgLSBUaGUgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgSExTIHJlY29yZGluZyBpcyBlbmFibGVkLlxuICpcbiAqIEBtZXRob2QgbmdPbkluaXQgLSBJbml0aWFsaXplcyB0aGUgY29tcG9uZW50IGFuZCBzZXRzIHRoZSBpbml0aWFsIHZhbHVlcyBmb3IgcmVjb3JkaW5nIG9wdGlvbnMuXG4gKiBAbWV0aG9kIG5nT25DaGFuZ2VzIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIGFuZCB1cGRhdGVzIHRoZSByZWNvcmRpbmcgb3B0aW9ucyBhY2NvcmRpbmdseS5cbiAqIEBtZXRob2QgaGFuZGxlTWVkaWFPcHRpb25zQ2hhbmdlIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBtZWRpYSBvcHRpb25zIGFuZCB1cGRhdGVzIHRoZSBwYXJhbWV0ZXJzLlxuICogQG1ldGhvZCBoYW5kbGVBdWRpb09wdGlvbnNDaGFuZ2UgLSBIYW5kbGVzIGNoYW5nZXMgdG8gdGhlIGF1ZGlvIG9wdGlvbnMgYW5kIHVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMuXG4gKiBAbWV0aG9kIGhhbmRsZVZpZGVvT3B0aW9uc0NoYW5nZSAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgdmlkZW8gb3B0aW9ucyBhbmQgdXBkYXRlcyB0aGUgcGFyYW1ldGVycy5cbiAqIEBtZXRob2QgaGFuZGxlQWRkSExTQ2hhbmdlIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBITFMgcmVjb3JkaW5nIG9wdGlvbiBhbmQgdXBkYXRlcyB0aGUgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgLSBUaGUgY2hhbmdlcyB0byB0aGUgaW5wdXQgcHJvcGVydGllcy5cbiAqIEBwYXJhbSB7YW55fSBldmVudCAtIFRoZSBldmVudCBvYmplY3QgZnJvbSB0aGUgY2hhbmdlIGV2ZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudCBbcGFyYW1ldGVyc109XCJzdGFuZGFyZFBhbmVsUGFyYW1ldGVyc1wiPjwvYXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcGFyYW1ldGVyczogU3RhbmRhcmRQYW5lbFBhcmFtZXRlcnMgPSB7fSBhcyBTdGFuZGFyZFBhbmVsUGFyYW1ldGVycztcblxuICBzZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyE6IHN0cmluZztcbiAgc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMhOiBzdHJpbmc7XG4gIHNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zITogc3RyaW5nO1xuICBzZWxlY3RlZFJlY29yZGluZ0FkZEhMUyE6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdNZWRpYU9wdGlvbnM7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdBdWRpb09wdGlvbnM7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdWaWRlb09wdGlvbnM7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0FkZEhMUyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdBZGRITFM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3BhcmFtZXRlcnMnXSkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gY2hhbmdlc1sncGFyYW1ldGVycyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nTWVkaWFPcHRpb25zO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdBdWRpb09wdGlvbnM7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ1ZpZGVvT3B0aW9ucztcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQWRkSExTO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZU1lZGlhT3B0aW9uc0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdNZWRpYU9wdGlvbnModmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlQXVkaW9PcHRpb25zQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nQXVkaW9PcHRpb25zID0gdmFsdWU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ0F1ZGlvT3B0aW9ucyh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVWaWRlb09wdGlvbnNDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdWaWRlb09wdGlvbnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nVmlkZW9PcHRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUFkZEhMU0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUgPT09ICd0cnVlJztcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nQWRkSExTID0gdmFsdWU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ0FkZEhMUyh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXY+XHJcbiAgPCEtLSBNZWRpYSBPcHRpb25zIC0tPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+TWVkaWEgT3B0aW9uczo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nTWVkaWFPcHRpb25zXCIgKGNoYW5nZSk9XCJoYW5kbGVNZWRpYU9wdGlvbnNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwidmlkZW9cIj5SZWNvcmQgVmlkZW88L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cImF1ZGlvXCI+UmVjb3JkIEF1ZGlvIE9ubHk8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG5cclxuICA8IS0tIFNwZWNpZmljIEF1ZGlvcyAtLT5cclxuICA8ZGl2ICpuZ0lmPVwicGFyYW1ldGVycy5ldmVudFR5cGUgIT09ICdicm9hZGNhc3QnXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+U3BlY2lmaWMgQXVkaW9zOjwvbGFiZWw+XHJcbiAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9uc1wiIChjaGFuZ2UpPVwiaGFuZGxlQXVkaW9PcHRpb25zQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiYWxsXCI+QWRkIEFsbDwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJvblNjcmVlblwiPkFkZCBBbGwgT24gU2NyZWVuPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImhvc3RcIj5BZGQgSG9zdCBPbmx5PC9vcHRpb24+XHJcbiAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHIgLz5cclxuXHJcbiAgICA8IS0tIFNwZWNpZmljIFZpZGVvcyAtLT5cclxuICAgIDxkaXYgaWQ9XCJjb25kaXRpb25hbENvbmZlcmVuY2VcIj5cclxuICAgICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPlNwZWNpZmljIFZpZGVvczo8L2xhYmVsPlxyXG4gICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRSZWNvcmRpbmdWaWRlb09wdGlvbnNcIiAoY2hhbmdlKT1cImhhbmRsZVZpZGVvT3B0aW9uc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFkZCBBbGw8L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibWFpblNjcmVlblwiPkJpZyBTY3JlZW4gT25seSAoaW5jbHVkZXMgc2NyZWVuc2hhcmUpPC9vcHRpb24+XHJcbiAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHIgLz5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBBZGQgSExTIC0tPlxyXG4gIDxkaXYgaWQ9XCJhZGRITFNQYXJ0XCI+XHJcbiAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+QWRkIEhMUzo8L2xhYmVsPlxyXG4gICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nQWRkSExTXCIgKGNoYW5nZSk9XCJoYW5kbGVBZGRITFNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInRydWVcIj5UcnVlPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiZmFsc2VcIj5GYWxzZTwvb3B0aW9uPlxyXG4gICAgPC9zZWxlY3Q+XHJcbiAgPC9kaXY+XHJcbiAgPGhyIC8+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,81 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
4
- import { faMicrophone, faDesktop, faVideo, faComments, faCheck, faTimes, } from '@fortawesome/free-solid-svg-icons';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@fortawesome/angular-fontawesome";
8
- /**
9
- * @component RenderRequestComponent
10
- * @description Component to render and manage individual requests in a list. Each request can be responded to with specified actions (e.g., approve, deny).
11
- *
12
- * @selector app-render-request-component
13
- * @standalone true
14
- * @imports [CommonModule, FontAwesomeModule]
15
- * @templateUrl ./render-request-component.component.html
16
- * @styleUrls ./render-request-component.component.css
17
- *
18
- * @example
19
- * ```html
20
- * <app-render-request-component
21
- * [request]="request"
22
- * [requestList]="requestList"
23
- * [roomName]="roomName"
24
- * [socket]="socket"
25
- * [onRequestItemPress]="handleRequestPress"
26
- * [updateRequestList]="updateRequestList">
27
- * </app-render-request-component>
28
- * ```
29
- */
30
- export class RenderRequestComponent {
31
- request = {};
32
- requestList = [];
33
- roomName;
34
- socket = {};
35
- onRequestItemPress;
36
- updateRequestList;
37
- faMicrophone = faMicrophone;
38
- faDesktop = faDesktop;
39
- faVideo = faVideo;
40
- faComments = faComments;
41
- faCheck = faCheck;
42
- faTimes = faTimes;
43
- keyMap = {
44
- 'fa-microphone': this.faMicrophone,
45
- 'fa-desktop': this.faDesktop,
46
- 'fa-video': this.faVideo,
47
- 'fa-comments': this.faComments,
48
- };
49
- getIcon(iconName) {
50
- return this.keyMap[iconName];
51
- }
52
- handleRequestAction = (action) => {
53
- this.onRequestItemPress({
54
- request: this.request,
55
- updateRequestList: this.updateRequestList,
56
- requestList: this.requestList,
57
- action: action,
58
- roomName: this.roomName,
59
- socket: this.socket,
60
- });
61
- };
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RenderRequestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RenderRequestComponent, isStandalone: true, selector: "app-render-request-component", inputs: { request: "request", requestList: "requestList", roomName: "roomName", socket: "socket", onRequestItemPress: "onRequestItemPress", updateRequestList: "updateRequestList" }, ngImport: i0, template: "<div class=\"request-container\" *ngIf=\"request\">\r\n <div class=\"request-name\">{{ request.name }}</div>\r\n <div class=\"request-icon\">\r\n <fa-icon [icon]=\"getIcon(request.icon)\" size=\"lg\" color=\"black\"></fa-icon>\r\n </div>\r\n <div class=\"request-action accept\">\r\n <button (click)=\"handleRequestAction('accepted')\">\r\n <fa-icon [icon]=\"faCheck\" size=\"lg\" style=\"color: green;\"></fa-icon>\r\n </button>\r\n </div>\r\n <div class=\"request-action reject\">\r\n <button (click)=\"handleRequestAction('rejected')\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\" style=\"color: red;\"></fa-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".request-container{display:flex;flex-direction:row;align-items:center;margin:10px 0;padding-bottom:5px}.request-name{flex:5}.request-icon,.request-action{flex:2;display:flex;justify-content:center;align-items:center}.request-action{padding-right:10px}.request-action.accept,.request-action.reject{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RenderRequestComponent, decorators: [{
66
- type: Component,
67
- args: [{ selector: 'app-render-request-component', standalone: true, imports: [CommonModule, FontAwesomeModule], template: "<div class=\"request-container\" *ngIf=\"request\">\r\n <div class=\"request-name\">{{ request.name }}</div>\r\n <div class=\"request-icon\">\r\n <fa-icon [icon]=\"getIcon(request.icon)\" size=\"lg\" color=\"black\"></fa-icon>\r\n </div>\r\n <div class=\"request-action accept\">\r\n <button (click)=\"handleRequestAction('accepted')\">\r\n <fa-icon [icon]=\"faCheck\" size=\"lg\" style=\"color: green;\"></fa-icon>\r\n </button>\r\n </div>\r\n <div class=\"request-action reject\">\r\n <button (click)=\"handleRequestAction('rejected')\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\" style=\"color: red;\"></fa-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".request-container{display:flex;flex-direction:row;align-items:center;margin:10px 0;padding-bottom:5px}.request-name{flex:5}.request-icon,.request-action{flex:2;display:flex;justify-content:center;align-items:center}.request-action{padding-right:10px}.request-action.accept,.request-action.reject{margin-right:10px}\n"] }]
68
- }], propDecorators: { request: [{
69
- type: Input
70
- }], requestList: [{
71
- type: Input
72
- }], roomName: [{
73
- type: Input
74
- }], socket: [{
75
- type: Input
76
- }], onRequestItemPress: [{
77
- type: Input
78
- }], updateRequestList: [{
79
- type: Input
80
- }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlcXVlc3RzLWNvbXBvbmVudHMvcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50L3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQU8sR0FFUixNQUFNLG1DQUFtQyxDQUFDOzs7O0FBZTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFTSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE9BQU8sR0FBWSxFQUFhLENBQUM7SUFDakMsV0FBVyxHQUFjLEVBQUUsQ0FBQztJQUM1QixRQUFRLENBQVU7SUFDbEIsTUFBTSxHQUFXLEVBQVksQ0FBQztJQUM5QixrQkFBa0IsQ0FBK0M7SUFDakUsaUJBQWlCLENBQXVDO0lBRWpFLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUN0QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDeEIsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsQixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRWxCLE1BQU0sR0FBc0M7UUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZO1FBQ2xDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUztRQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVO0tBQy9CLENBQUM7SUFFRixPQUFPLENBQUMsUUFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQzt1R0FuQ1Msc0JBQXNCOzJGQUF0QixzQkFBc0IsOFFDeERuQyxpckJBZ0JBLHNYRG9DWSxZQUFZLGtJQUFFLGlCQUFpQjs7MkZBSTlCLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDOzhCQUtqQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHtcbiAgZmFNaWNyb3Bob25lLFxuICBmYURlc2t0b3AsXG4gIGZhVmlkZW8sXG4gIGZhQ29tbWVudHMsXG4gIGZhQ2hlY2ssXG4gIGZhVGltZXMsXG4gIEljb25EZWZpbml0aW9uLFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgUmVzcG9uZFRvUmVxdWVzdHNUeXBlLCBSZXNwb25kVG9SZXF1ZXN0c09wdGlvbnMsIFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMge1xuICByZXF1ZXN0OiBSZXF1ZXN0O1xuICBvblJlcXVlc3RJdGVtUHJlc3M6IFJlc3BvbmRUb1JlcXVlc3RzVHlwZTtcbiAgcmVxdWVzdExpc3Q6IFJlcXVlc3RbXTtcbiAgdXBkYXRlUmVxdWVzdExpc3Q6IChuZXdSZXF1ZXN0TGlzdDogUmVxdWVzdFtdKSA9PiB2b2lkO1xuICByb29tTmFtZTogc3RyaW5nO1xuICBzb2NrZXQ6IFNvY2tldDtcbn1cblxuZXhwb3J0IHR5cGUgUmVuZGVyUmVxdWVzdENvbXBvbmVudFR5cGUgPSAob3B0aW9uczogUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMpID0+IEhUTUxFbGVtZW50O1xuXG4vKipcbiAqIEBjb21wb25lbnQgUmVuZGVyUmVxdWVzdENvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudCB0byByZW5kZXIgYW5kIG1hbmFnZSBpbmRpdmlkdWFsIHJlcXVlc3RzIGluIGEgbGlzdC4gRWFjaCByZXF1ZXN0IGNhbiBiZSByZXNwb25kZWQgdG8gd2l0aCBzcGVjaWZpZWQgYWN0aW9ucyAoZS5nLiwgYXBwcm92ZSwgZGVueSkuXG4gKlxuICogQHNlbGVjdG9yIGFwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnRcbiAqIEBzdGFuZGFsb25lIHRydWVcbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlXVxuICogQHRlbXBsYXRlVXJsIC4vcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5jc3NcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPGFwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnRcbiAqICAgW3JlcXVlc3RdPVwicmVxdWVzdFwiXG4gKiAgIFtyZXF1ZXN0TGlzdF09XCJyZXF1ZXN0TGlzdFwiXG4gKiAgIFtyb29tTmFtZV09XCJyb29tTmFtZVwiXG4gKiAgIFtzb2NrZXRdPVwic29ja2V0XCJcbiAqICAgW29uUmVxdWVzdEl0ZW1QcmVzc109XCJoYW5kbGVSZXF1ZXN0UHJlc3NcIlxuICogICBbdXBkYXRlUmVxdWVzdExpc3RdPVwidXBkYXRlUmVxdWVzdExpc3RcIj5cbiAqIDwvYXBwLXJlbmRlci1yZXF1ZXN0LWNvbXBvbmVudD5cbiAqIGBgYFxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVxdWVzdDogUmVxdWVzdCA9IHt9IGFzIFJlcXVlc3Q7XG4gIEBJbnB1dCgpIHJlcXVlc3RMaXN0OiBSZXF1ZXN0W10gPSBbXTtcbiAgQElucHV0KCkgcm9vbU5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNvY2tldDogU29ja2V0ID0ge30gYXMgU29ja2V0O1xuICBASW5wdXQoKSBvblJlcXVlc3RJdGVtUHJlc3MhOiAob3B0aW9uczogUmVzcG9uZFRvUmVxdWVzdHNPcHRpb25zKSA9PiB2b2lkO1xuICBASW5wdXQoKSB1cGRhdGVSZXF1ZXN0TGlzdCE6IChuZXdSZXF1ZXN0TGlzdDogUmVxdWVzdFtdKSA9PiB2b2lkO1xuXG4gIGZhTWljcm9waG9uZSA9IGZhTWljcm9waG9uZTtcbiAgZmFEZXNrdG9wID0gZmFEZXNrdG9wO1xuICBmYVZpZGVvID0gZmFWaWRlbztcbiAgZmFDb21tZW50cyA9IGZhQ29tbWVudHM7XG4gIGZhQ2hlY2sgPSBmYUNoZWNrO1xuICBmYVRpbWVzID0gZmFUaW1lcztcblxuICBrZXlNYXA6IHsgW2tleTogc3RyaW5nXTogSWNvbkRlZmluaXRpb24gfSA9IHtcbiAgICAnZmEtbWljcm9waG9uZSc6IHRoaXMuZmFNaWNyb3Bob25lLFxuICAgICdmYS1kZXNrdG9wJzogdGhpcy5mYURlc2t0b3AsXG4gICAgJ2ZhLXZpZGVvJzogdGhpcy5mYVZpZGVvLFxuICAgICdmYS1jb21tZW50cyc6IHRoaXMuZmFDb21tZW50cyxcbiAgfTtcblxuICBnZXRJY29uKGljb25OYW1lOiBzdHJpbmcpOiBJY29uRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMua2V5TWFwW2ljb25OYW1lXTtcbiAgfVxuXG4gIGhhbmRsZVJlcXVlc3RBY3Rpb24gPSAoYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLm9uUmVxdWVzdEl0ZW1QcmVzcyh7XG4gICAgICByZXF1ZXN0OiB0aGlzLnJlcXVlc3QsXG4gICAgICB1cGRhdGVSZXF1ZXN0TGlzdDogdGhpcy51cGRhdGVSZXF1ZXN0TGlzdCxcbiAgICAgIHJlcXVlc3RMaXN0OiB0aGlzLnJlcXVlc3RMaXN0LFxuICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICByb29tTmFtZTogdGhpcy5yb29tTmFtZSxcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgfSk7XG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVxdWVzdC1jb250YWluZXJcIiAqbmdJZj1cInJlcXVlc3RcIj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1uYW1lXCI+e3sgcmVxdWVzdC5uYW1lIH19PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJlcXVlc3QtaWNvblwiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiZ2V0SWNvbihyZXF1ZXN0Lmljb24pXCIgc2l6ZT1cImxnXCIgY29sb3I9XCJibGFja1wiPjwvZmEtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gYWNjZXB0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdhY2NlcHRlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhQ2hlY2tcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiBncmVlbjtcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gcmVqZWN0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdyZWplY3RlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhVGltZXNcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiByZWQ7XCI+PC9mYS1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,147 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
4
- import { faTimes } from '@fortawesome/free-solid-svg-icons';
5
- import { RenderRequestComponent, } from '../render-request-component/render-request-component.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../methods/requests-methods/respond-to-requests.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@fortawesome/angular-fontawesome";
10
- /**
11
- * @component RequestsModal
12
- * @description A modal component to display and manage requests.
13
- *
14
- * @selector app-requests-modal
15
- * @standalone true
16
- * @imports [CommonModule, FontAwesomeModule, RenderRequestComponent]
17
- * @templateUrl ./requests-modal.component.html
18
- * @styleUrls ./requests-modal.component.css
19
- *
20
- * @property {boolean} isRequestsModalVisible - Determines if the requests modal is visible.
21
- * @property {number} requestCounter - Counter for the number of requests.
22
- * @property {Request[]} requestList - List of requests.
23
- * @property {string} roomName - Name of the room.
24
- * @property {Socket} socket - Socket instance for communication.
25
- * @property {string} backgroundColor - Background color of the modal.
26
- * @property {string} position - Position of the modal.
27
- * @property {any} parameters - Additional parameters for the modal.
28
- * @property {Function} onRequestClose - Callback function when the modal is closed.
29
- * @property {Function} onRequestFilterChange - Callback function when the request filter changes.
30
- * @property {Function} onRequestItemPress - Callback function when a request item is pressed.
31
- * @property {Function} updateRequestList - Function to update the request list.
32
- *
33
- * @property {IconDefinition} faTimes - FontAwesome icon for closing the modal.
34
- * @property {any[]} requestList_s - Filtered list of requests.
35
- * @property {number} requestCounter_s - Counter for the filtered list of requests.
36
- * @property {boolean} reRender - Flag to trigger re-rendering.
37
- *
38
- * @constructor
39
- * @param {RespondToRequests} respondToRequestsService - Service to handle request responses.
40
- *
41
- * @method ngOnInit - Lifecycle hook that is called after data-bound properties are initialized.
42
- * @method ngOnChanges - Lifecycle hook that is called when any data-bound property changes.
43
- * @param {SimpleChanges} changes - Object of current and previous property values.
44
- *
45
- * @method updateRequests - Updates the request list and counter based on the current parameters.
46
- * @method handleModalClose - Handles the modal close action.
47
- * @method handleFilterChange - Handles the filter change event.
48
- * @param {Event} event - The filter change event.
49
- * @example
50
- * ```html
51
- * <app-requests-modal
52
- * [isRequestsModalVisible]="isModalVisible"
53
- * [requestCounter]="requestCounter"
54
- * [requestList]="requests"
55
- * [roomName]="roomName"
56
- * [socket]="socket"
57
- * [backgroundColor]="'#83c0e9'"
58
- * [position]="'topRight'"
59
- * [parameters]="requestParams"
60
- * (onRequestClose)="handleModalClose()"
61
- * (onRequestFilterChange)="handleFilterChange($event)"
62
- * (onRequestItemPress)="handleRequestPress($event)"
63
- * [updateRequestList]="updateRequestList">
64
- * </app-requests-modal>
65
- * ```
66
- */
67
- export class RequestsModal {
68
- respondToRequestsService;
69
- isRequestsModalVisible = false;
70
- requestCounter = 0;
71
- requestList = [];
72
- roomName;
73
- socket = {};
74
- backgroundColor = '#83c0e9';
75
- position = 'topRight';
76
- parameters;
77
- onRequestClose;
78
- onRequestFilterChange;
79
- onRequestItemPress;
80
- updateRequestList;
81
- faTimes = faTimes;
82
- requestList_s = [];
83
- requestCounter_s = 0;
84
- reRender = false;
85
- constructor(respondToRequestsService) {
86
- this.respondToRequestsService = respondToRequestsService;
87
- }
88
- ngOnInit() {
89
- if (!this.onRequestItemPress) {
90
- this.onRequestItemPress = (params) => this.respondToRequestsService.respondToRequests(params);
91
- }
92
- }
93
- ngOnChanges(changes) {
94
- if (changes['requestList'] || changes['reRender'] || changes['requestCounter']) {
95
- this.updateRequests();
96
- }
97
- if (changes['isRequestsModalVisible'] && this.isRequestsModalVisible) {
98
- this.parameters = this.parameters.getUpdatedAllParams();
99
- this.updateRequests();
100
- }
101
- }
102
- updateRequests() {
103
- this.parameters = this.parameters.getUpdatedAllParams();
104
- this.requestList_s = this.parameters.filteredRequestList || [];
105
- this.requestCounter_s = this.parameters.filteredRequestList.length;
106
- }
107
- handleModalClose() {
108
- this.onRequestClose();
109
- }
110
- handleFilterChange(event) {
111
- const input = event.target;
112
- this.onRequestFilterChange(input.value);
113
- this.parameters = this.parameters.getUpdatedAllParams();
114
- this.reRender = !this.reRender;
115
- }
116
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestsModal, deps: [{ token: i1.RespondToRequests }], target: i0.ɵɵFactoryTarget.Component });
117
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RequestsModal, isStandalone: true, selector: "app-requests-modal", inputs: { isRequestsModalVisible: "isRequestsModalVisible", requestCounter: "requestCounter", requestList: "requestList", roomName: "roomName", socket: "socket", backgroundColor: "backgroundColor", position: "position", parameters: "parameters", onRequestClose: "onRequestClose", onRequestFilterChange: "onRequestFilterChange", onRequestItemPress: "onRequestItemPress", updateRequestList: "updateRequestList" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isRequestsModalVisible\" class=\"modal-container\" [ngStyle]=\"{'background-color': 'rgba(0, 0, 0, 0.5)'}\">\r\n <div class=\"modal-content\" [ngStyle]=\"{'background-color': backgroundColor, 'top': position.includes('top') ? '10px' : 'auto', 'bottom': position.includes('bottom') ? '10px' : 'auto', 'left': position.includes('Left') ? '10px' : 'auto', 'right': position.includes('Right') ? '10px' : 'auto'}\">\r\n <div class=\"modal-header\">\r\n <div>\r\n Requests <span class=\"badge text-dark\">{{ requestCounter_s }}</span>\r\n </div>\r\n <div class=\"close-icon\" (click)=\"handleModalClose()\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\"></fa-icon>\r\n </div>\r\n </div>\r\n <hr class=\"separator\" />\r\n <div class=\"modal-body\">\r\n <input type=\"text\" class=\"filter-input\" placeholder=\"Search ...\" (input)=\"handleFilterChange($event)\">\r\n <div class=\"request-list\">\r\n <ng-container *ngFor=\"let requestItem of requestList_s; let i = index\">\r\n <app-render-request-component\r\n [request]=\"requestItem\"\r\n [requestList]=\"requestList\"\r\n [roomName]=\"roomName\"\r\n [socket]=\"socket\"\r\n [onRequestItemPress]=\"onRequestItemPress\"\r\n [updateRequestList]=\"updateRequestList\">\r\n </app-render-request-component>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:block;z-index:999}.modal-content{position:fixed;background-color:#83c0e9;border-radius:10px;padding:10px;width:80%;max-width:350px;max-height:65%;overflow-y:auto;top:10px;right:10px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-title{font-size:18px;font-weight:700;color:#000}.close-button{border:none;background:none;cursor:pointer}.separator{height:1px;background-color:#000;margin:5px 0}.modal-body{margin-bottom:20px}.filter-input{width:90%;padding:10px;border-radius:5px;border:1px solid #000;font-size:16px;margin-bottom:10px}.request-list{max-height:calc(100% - 150px);overflow-y:auto}.icon{font-size:20px;color:#000}.text-dark{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: RenderRequestComponent, selector: "app-render-request-component", inputs: ["request", "requestList", "roomName", "socket", "onRequestItemPress", "updateRequestList"] }] });
118
- }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestsModal, decorators: [{
120
- type: Component,
121
- args: [{ selector: 'app-requests-modal', standalone: true, imports: [CommonModule, FontAwesomeModule, RenderRequestComponent], template: "<div *ngIf=\"isRequestsModalVisible\" class=\"modal-container\" [ngStyle]=\"{'background-color': 'rgba(0, 0, 0, 0.5)'}\">\r\n <div class=\"modal-content\" [ngStyle]=\"{'background-color': backgroundColor, 'top': position.includes('top') ? '10px' : 'auto', 'bottom': position.includes('bottom') ? '10px' : 'auto', 'left': position.includes('Left') ? '10px' : 'auto', 'right': position.includes('Right') ? '10px' : 'auto'}\">\r\n <div class=\"modal-header\">\r\n <div>\r\n Requests <span class=\"badge text-dark\">{{ requestCounter_s }}</span>\r\n </div>\r\n <div class=\"close-icon\" (click)=\"handleModalClose()\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\"></fa-icon>\r\n </div>\r\n </div>\r\n <hr class=\"separator\" />\r\n <div class=\"modal-body\">\r\n <input type=\"text\" class=\"filter-input\" placeholder=\"Search ...\" (input)=\"handleFilterChange($event)\">\r\n <div class=\"request-list\">\r\n <ng-container *ngFor=\"let requestItem of requestList_s; let i = index\">\r\n <app-render-request-component\r\n [request]=\"requestItem\"\r\n [requestList]=\"requestList\"\r\n [roomName]=\"roomName\"\r\n [socket]=\"socket\"\r\n [onRequestItemPress]=\"onRequestItemPress\"\r\n [updateRequestList]=\"updateRequestList\">\r\n </app-render-request-component>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:block;z-index:999}.modal-content{position:fixed;background-color:#83c0e9;border-radius:10px;padding:10px;width:80%;max-width:350px;max-height:65%;overflow-y:auto;top:10px;right:10px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-title{font-size:18px;font-weight:700;color:#000}.close-button{border:none;background:none;cursor:pointer}.separator{height:1px;background-color:#000;margin:5px 0}.modal-body{margin-bottom:20px}.filter-input{width:90%;padding:10px;border-radius:5px;border:1px solid #000;font-size:16px;margin-bottom:10px}.request-list{max-height:calc(100% - 150px);overflow-y:auto}.icon{font-size:20px;color:#000}.text-dark{color:#000}\n"] }]
122
- }], ctorParameters: () => [{ type: i1.RespondToRequests }], propDecorators: { isRequestsModalVisible: [{
123
- type: Input
124
- }], requestCounter: [{
125
- type: Input
126
- }], requestList: [{
127
- type: Input
128
- }], roomName: [{
129
- type: Input
130
- }], socket: [{
131
- type: Input
132
- }], backgroundColor: [{
133
- type: Input
134
- }], position: [{
135
- type: Input
136
- }], parameters: [{
137
- type: Input
138
- }], onRequestClose: [{
139
- type: Input
140
- }], onRequestFilterChange: [{
141
- type: Input
142
- }], onRequestItemPress: [{
143
- type: Input
144
- }], updateRequestList: [{
145
- type: Input
146
- }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVxdWVzdHMtY29tcG9uZW50cy9yZXF1ZXN0cy1tb2RhbC9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlcXVlc3RzLW1vZGFsL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFDTCxzQkFBc0IsR0FFdkIsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7QUE4QnhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdERztBQVFILE1BQU0sT0FBTyxhQUFhO0lBbUJKO0lBbEJYLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUMvQixjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLFdBQVcsR0FBYyxFQUFFLENBQUM7SUFDNUIsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sR0FBVyxFQUFZLENBQUM7SUFDOUIsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUM1QixRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQ3RCLFVBQVUsQ0FBTTtJQUNoQixjQUFjLENBQWM7SUFDNUIscUJBQXFCLENBQTRCO0lBQ2pELGtCQUFrQixDQUF5QjtJQUMzQyxpQkFBaUIsQ0FBbUM7SUFFN0QsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsQixhQUFhLEdBQVUsRUFBRSxDQUFDO0lBQzFCLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLFlBQW9CLHdCQUEyQztRQUEzQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQW1CO0lBQUcsQ0FBQztJQUVuRSxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQ3hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLHdCQUF3QixDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVk7UUFDN0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO3VHQXREVSxhQUFhOzJGQUFiLGFBQWEsK2ZDckcxQixxOUNBNEJBLGcyQkRxRVksWUFBWSxvVkFBRSxpQkFBaUIsNlBBQUUsc0JBQXNCOzsyRkFJdEQsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixDQUFDO3NGQUt6RCxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQge1xuICBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50LFxuICBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50L3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUmVzcG9uZFRvUmVxdWVzdHMsXG4gIFJlc3BvbmRUb1JlcXVlc3RzVHlwZSxcbn0gZnJvbSAnLi4vLi4vLi4vbWV0aG9kcy9yZXF1ZXN0cy1tZXRob2RzL3Jlc3BvbmQtdG8tcmVxdWVzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RzTW9kYWxQYXJhbWV0ZXJzIHtcbiAgZ2V0VXBkYXRlZEFsbFBhcmFtczogKCkgPT4geyBmaWx0ZXJlZFJlcXVlc3RMaXN0OiBSZXF1ZXN0W10gfTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RzTW9kYWxPcHRpb25zIHtcbiAgaXNSZXF1ZXN0c01vZGFsVmlzaWJsZTogYm9vbGVhbjtcbiAgcmVxdWVzdENvdW50ZXI6IG51bWJlcjtcbiAgcmVxdWVzdExpc3Q6IFJlcXVlc3RbXTtcbiAgcm9vbU5hbWU6IHN0cmluZztcbiAgc29ja2V0OiBTb2NrZXQ7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBwb3NpdGlvbjogc3RyaW5nO1xuICBwYXJhbWV0ZXJzOiBSZXF1ZXN0c01vZGFsUGFyYW1ldGVycztcbiAgb25SZXF1ZXN0Q2xvc2U6ICgpID0+IHZvaWQ7XG4gIG9uUmVxdWVzdEZpbHRlckNoYW5nZTogKGZpbHRlcjogc3RyaW5nKSA9PiB2b2lkO1xuICBvblJlcXVlc3RJdGVtUHJlc3M/OiBSZXNwb25kVG9SZXF1ZXN0c1R5cGU7XG4gIHVwZGF0ZVJlcXVlc3RMaXN0OiAobmV3UmVxdWVzdExpc3Q6IGFueVtdKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0c01vZGFsVHlwZSA9IChvcHRpb25zOiBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucykgPT4gSFRNTEVsZW1lbnQ7XG5cbi8qKlxuICogQGNvbXBvbmVudCBSZXF1ZXN0c01vZGFsXG4gKiBAZGVzY3JpcHRpb24gQSBtb2RhbCBjb21wb25lbnQgdG8gZGlzcGxheSBhbmQgbWFuYWdlIHJlcXVlc3RzLlxuICpcbiAqIEBzZWxlY3RvciBhcHAtcmVxdWVzdHMtbW9kYWxcbiAqIEBzdGFuZGFsb25lIHRydWVcbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50XVxuICogQHRlbXBsYXRlVXJsIC4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50Lmh0bWxcbiAqIEBzdHlsZVVybHMgLi9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQuY3NzXG4gKlxuICogQHByb3BlcnR5IHtib29sZWFufSBpc1JlcXVlc3RzTW9kYWxWaXNpYmxlIC0gRGV0ZXJtaW5lcyBpZiB0aGUgcmVxdWVzdHMgbW9kYWwgaXMgdmlzaWJsZS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSByZXF1ZXN0Q291bnRlciAtIENvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge1JlcXVlc3RbXX0gcmVxdWVzdExpc3QgLSBMaXN0IG9mIHJlcXVlc3RzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHJvb21OYW1lIC0gTmFtZSBvZiB0aGUgcm9vbS5cbiAqIEBwcm9wZXJ0eSB7U29ja2V0fSBzb2NrZXQgLSBTb2NrZXQgaW5zdGFuY2UgZm9yIGNvbW11bmljYXRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gYmFja2dyb3VuZENvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgbW9kYWwuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcG9zaXRpb24gLSBQb3NpdGlvbiBvZiB0aGUgbW9kYWwuXG4gKiBAcHJvcGVydHkge2FueX0gcGFyYW1ldGVycyAtIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gb25SZXF1ZXN0Q2xvc2UgLSBDYWxsYmFjayBmdW5jdGlvbiB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQuXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSBvblJlcXVlc3RGaWx0ZXJDaGFuZ2UgLSBDYWxsYmFjayBmdW5jdGlvbiB3aGVuIHRoZSByZXF1ZXN0IGZpbHRlciBjaGFuZ2VzLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gb25SZXF1ZXN0SXRlbVByZXNzIC0gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBhIHJlcXVlc3QgaXRlbSBpcyBwcmVzc2VkLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gdXBkYXRlUmVxdWVzdExpc3QgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHJlcXVlc3QgbGlzdC5cbiAqXG4gKiBAcHJvcGVydHkge0ljb25EZWZpbml0aW9ufSBmYVRpbWVzIC0gRm9udEF3ZXNvbWUgaWNvbiBmb3IgY2xvc2luZyB0aGUgbW9kYWwuXG4gKiBAcHJvcGVydHkge2FueVtdfSByZXF1ZXN0TGlzdF9zIC0gRmlsdGVyZWQgbGlzdCBvZiByZXF1ZXN0cy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSByZXF1ZXN0Q291bnRlcl9zIC0gQ291bnRlciBmb3IgdGhlIGZpbHRlcmVkIGxpc3Qgb2YgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHJlUmVuZGVyIC0gRmxhZyB0byB0cmlnZ2VyIHJlLXJlbmRlcmluZy5cbiAqXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7UmVzcG9uZFRvUmVxdWVzdHN9IHJlc3BvbmRUb1JlcXVlc3RzU2VydmljZSAtIFNlcnZpY2UgdG8gaGFuZGxlIHJlcXVlc3QgcmVzcG9uc2VzLlxuICpcbiAqIEBtZXRob2QgbmdPbkluaXQgLSBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBkYXRhLWJvdW5kIHByb3BlcnRpZXMgYXJlIGluaXRpYWxpemVkLlxuICogQG1ldGhvZCBuZ09uQ2hhbmdlcyAtIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIHdoZW4gYW55IGRhdGEtYm91bmQgcHJvcGVydHkgY2hhbmdlcy5cbiAqIEBwYXJhbSB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlcyAtIE9iamVjdCBvZiBjdXJyZW50IGFuZCBwcmV2aW91cyBwcm9wZXJ0eSB2YWx1ZXMuXG4gKlxuICogQG1ldGhvZCB1cGRhdGVSZXF1ZXN0cyAtIFVwZGF0ZXMgdGhlIHJlcXVlc3QgbGlzdCBhbmQgY291bnRlciBiYXNlZCBvbiB0aGUgY3VycmVudCBwYXJhbWV0ZXJzLlxuICogQG1ldGhvZCBoYW5kbGVNb2RhbENsb3NlIC0gSGFuZGxlcyB0aGUgbW9kYWwgY2xvc2UgYWN0aW9uLlxuICogQG1ldGhvZCBoYW5kbGVGaWx0ZXJDaGFuZ2UgLSBIYW5kbGVzIHRoZSBmaWx0ZXIgY2hhbmdlIGV2ZW50LlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZmlsdGVyIGNoYW5nZSBldmVudC5cbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YXBwLXJlcXVlc3RzLW1vZGFsXG4gKiAgIFtpc1JlcXVlc3RzTW9kYWxWaXNpYmxlXT1cImlzTW9kYWxWaXNpYmxlXCJcbiAqICAgW3JlcXVlc3RDb3VudGVyXT1cInJlcXVlc3RDb3VudGVyXCJcbiAqICAgW3JlcXVlc3RMaXN0XT1cInJlcXVlc3RzXCJcbiAqICAgW3Jvb21OYW1lXT1cInJvb21OYW1lXCJcbiAqICAgW3NvY2tldF09XCJzb2NrZXRcIlxuICogICBbYmFja2dyb3VuZENvbG9yXT1cIicjODNjMGU5J1wiXG4gKiAgIFtwb3NpdGlvbl09XCIndG9wUmlnaHQnXCJcbiAqICAgW3BhcmFtZXRlcnNdPVwicmVxdWVzdFBhcmFtc1wiXG4gKiAgIChvblJlcXVlc3RDbG9zZSk9XCJoYW5kbGVNb2RhbENsb3NlKClcIlxuICogICAob25SZXF1ZXN0RmlsdGVyQ2hhbmdlKT1cImhhbmRsZUZpbHRlckNoYW5nZSgkZXZlbnQpXCJcbiAqICAgKG9uUmVxdWVzdEl0ZW1QcmVzcyk9XCJoYW5kbGVSZXF1ZXN0UHJlc3MoJGV2ZW50KVwiXG4gKiAgIFt1cGRhdGVSZXF1ZXN0TGlzdF09XCJ1cGRhdGVSZXF1ZXN0TGlzdFwiPlxuICogPC9hcHAtcmVxdWVzdHMtbW9kYWw+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVlc3RzLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9udEF3ZXNvbWVNb2R1bGUsIFJlbmRlclJlcXVlc3RDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RzTW9kYWwgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGlzUmVxdWVzdHNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWVzdENvdW50ZXIgPSAwO1xuICBASW5wdXQoKSByZXF1ZXN0TGlzdDogUmVxdWVzdFtdID0gW107XG4gIEBJbnB1dCgpIHJvb21OYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzb2NrZXQ6IFNvY2tldCA9IHt9IGFzIFNvY2tldDtcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yID0gJyM4M2MwZTknO1xuICBASW5wdXQoKSBwb3NpdGlvbiA9ICd0b3BSaWdodCc7XG4gIEBJbnB1dCgpIHBhcmFtZXRlcnM6IGFueTtcbiAgQElucHV0KCkgb25SZXF1ZXN0Q2xvc2UhOiAoKSA9PiB2b2lkO1xuICBASW5wdXQoKSBvblJlcXVlc3RGaWx0ZXJDaGFuZ2UhOiAoZmlsdGVyOiBzdHJpbmcpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIG9uUmVxdWVzdEl0ZW1QcmVzcyE6IChwYXJhbXM6IGFueSkgPT4gdm9pZDtcbiAgQElucHV0KCkgdXBkYXRlUmVxdWVzdExpc3QhOiAobmV3UmVxdWVzdExpc3Q6IGFueVtdKSA9PiB2b2lkO1xuXG4gIGZhVGltZXMgPSBmYVRpbWVzO1xuICByZXF1ZXN0TGlzdF9zOiBhbnlbXSA9IFtdO1xuICByZXF1ZXN0Q291bnRlcl9zID0gMDtcbiAgcmVSZW5kZXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3BvbmRUb1JlcXVlc3RzU2VydmljZTogUmVzcG9uZFRvUmVxdWVzdHMpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLm9uUmVxdWVzdEl0ZW1QcmVzcykge1xuICAgICAgdGhpcy5vblJlcXVlc3RJdGVtUHJlc3MgPSAocGFyYW1zOiBhbnkpID0+XG4gICAgICAgIHRoaXMucmVzcG9uZFRvUmVxdWVzdHNTZXJ2aWNlLnJlc3BvbmRUb1JlcXVlc3RzKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydyZXF1ZXN0TGlzdCddIHx8IGNoYW5nZXNbJ3JlUmVuZGVyJ10gfHwgY2hhbmdlc1sncmVxdWVzdENvdW50ZXInXSkge1xuICAgICAgdGhpcy51cGRhdGVSZXF1ZXN0cygpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydpc1JlcXVlc3RzTW9kYWxWaXNpYmxlJ10gJiYgdGhpcy5pc1JlcXVlc3RzTW9kYWxWaXNpYmxlKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuICAgICAgdGhpcy51cGRhdGVSZXF1ZXN0cygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlcXVlc3RzKCkge1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG4gICAgdGhpcy5yZXF1ZXN0TGlzdF9zID0gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcmVkUmVxdWVzdExpc3QgfHwgW107XG4gICAgdGhpcy5yZXF1ZXN0Q291bnRlcl9zID0gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcmVkUmVxdWVzdExpc3QubGVuZ3RoO1xuICB9XG5cbiAgaGFuZGxlTW9kYWxDbG9zZSgpIHtcbiAgICB0aGlzLm9uUmVxdWVzdENsb3NlKCk7XG4gIH1cblxuICBoYW5kbGVGaWx0ZXJDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLm9uUmVxdWVzdEZpbHRlckNoYW5nZShpbnB1dC52YWx1ZSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcbiAgICB0aGlzLnJlUmVuZGVyID0gIXRoaXMucmVSZW5kZXI7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc1JlcXVlc3RzTW9kYWxWaXNpYmxlXCIgY2xhc3M9XCJtb2RhbC1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiAncmdiYSgwLCAwLCAwLCAwLjUpJ31cIj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGJhY2tncm91bmRDb2xvciwgJ3RvcCc6IHBvc2l0aW9uLmluY2x1ZGVzKCd0b3AnKSA/ICcxMHB4JyA6ICdhdXRvJywgJ2JvdHRvbSc6IHBvc2l0aW9uLmluY2x1ZGVzKCdib3R0b20nKSA/ICcxMHB4JyA6ICdhdXRvJywgJ2xlZnQnOiBwb3NpdGlvbi5pbmNsdWRlcygnTGVmdCcpID8gJzEwcHgnIDogJ2F1dG8nLCAncmlnaHQnOiBwb3NpdGlvbi5pbmNsdWRlcygnUmlnaHQnKSA/ICcxMHB4JyA6ICdhdXRvJ31cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICBSZXF1ZXN0cyA8c3BhbiBjbGFzcz1cImJhZGdlIHRleHQtZGFya1wiPnt7IHJlcXVlc3RDb3VudGVyX3MgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJoYW5kbGVNb2RhbENsb3NlKClcIj5cclxuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYVRpbWVzXCIgc2l6ZT1cImxnXCI+PC9mYS1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGhyIGNsYXNzPVwic2VwYXJhdG9yXCIgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZmlsdGVyLWlucHV0XCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggLi4uXCIgKGlucHV0KT1cImhhbmRsZUZpbHRlckNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXF1ZXN0LWxpc3RcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXF1ZXN0SXRlbSBvZiByZXF1ZXN0TGlzdF9zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8YXBwLXJlbmRlci1yZXF1ZXN0LWNvbXBvbmVudFxyXG4gICAgICAgICAgICBbcmVxdWVzdF09XCJyZXF1ZXN0SXRlbVwiXHJcbiAgICAgICAgICAgIFtyZXF1ZXN0TGlzdF09XCJyZXF1ZXN0TGlzdFwiXHJcbiAgICAgICAgICAgIFtyb29tTmFtZV09XCJyb29tTmFtZVwiXHJcbiAgICAgICAgICAgIFtzb2NrZXRdPVwic29ja2V0XCJcclxuICAgICAgICAgICAgW29uUmVxdWVzdEl0ZW1QcmVzc109XCJvblJlcXVlc3RJdGVtUHJlc3NcIlxyXG4gICAgICAgICAgICBbdXBkYXRlUmVxdWVzdExpc3RdPVwidXBkYXRlUmVxdWVzdExpc3RcIj5cclxuICAgICAgICAgIDwvYXBwLXJlbmRlci1yZXF1ZXN0LWNvbXBvbmVudD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==