@digital-realty/ui-service-management 1.0.0-alpha.1

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 (425) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -0
  3. package/dist/api/customer-care-api/apis/ui-service-management.js +1 -0
  4. package/dist/api/customer-care-api/models/ui-service-management.js +1 -0
  5. package/dist/api/customer-care-api/models/ui-service-management10.js +1 -0
  6. package/dist/api/customer-care-api/models/ui-service-management11.js +1 -0
  7. package/dist/api/customer-care-api/models/ui-service-management12.js +1 -0
  8. package/dist/api/customer-care-api/models/ui-service-management13.js +1 -0
  9. package/dist/api/customer-care-api/models/ui-service-management14.js +1 -0
  10. package/dist/api/customer-care-api/models/ui-service-management2.js +1 -0
  11. package/dist/api/customer-care-api/models/ui-service-management3.js +1 -0
  12. package/dist/api/customer-care-api/models/ui-service-management4.js +1 -0
  13. package/dist/api/customer-care-api/models/ui-service-management5.js +1 -0
  14. package/dist/api/customer-care-api/models/ui-service-management6.js +1 -0
  15. package/dist/api/customer-care-api/models/ui-service-management7.js +1 -0
  16. package/dist/api/customer-care-api/models/ui-service-management8.js +1 -0
  17. package/dist/api/customer-care-api/models/ui-service-management9.js +1 -0
  18. package/dist/api/customer-care-api/ui-service-management.js +1 -0
  19. package/dist/api/deliveries-api/apis/ui-service-management.js +1 -0
  20. package/dist/api/deliveries-api/apis/ui-service-management2.js +1 -0
  21. package/dist/api/deliveries-api/apis/ui-service-management3.js +1 -0
  22. package/dist/api/deliveries-api/models/ui-service-management.js +1 -0
  23. package/dist/api/deliveries-api/models/ui-service-management10.js +1 -0
  24. package/dist/api/deliveries-api/models/ui-service-management11.js +1 -0
  25. package/dist/api/deliveries-api/models/ui-service-management12.js +1 -0
  26. package/dist/api/deliveries-api/models/ui-service-management13.js +1 -0
  27. package/dist/api/deliveries-api/models/ui-service-management14.js +1 -0
  28. package/dist/api/deliveries-api/models/ui-service-management15.js +1 -0
  29. package/dist/api/deliveries-api/models/ui-service-management16.js +1 -0
  30. package/dist/api/deliveries-api/models/ui-service-management17.js +1 -0
  31. package/dist/api/deliveries-api/models/ui-service-management18.js +1 -0
  32. package/dist/api/deliveries-api/models/ui-service-management19.js +1 -0
  33. package/dist/api/deliveries-api/models/ui-service-management2.js +1 -0
  34. package/dist/api/deliveries-api/models/ui-service-management20.js +1 -0
  35. package/dist/api/deliveries-api/models/ui-service-management3.js +1 -0
  36. package/dist/api/deliveries-api/models/ui-service-management4.js +1 -0
  37. package/dist/api/deliveries-api/models/ui-service-management5.js +1 -0
  38. package/dist/api/deliveries-api/models/ui-service-management6.js +1 -0
  39. package/dist/api/deliveries-api/models/ui-service-management7.js +1 -0
  40. package/dist/api/deliveries-api/models/ui-service-management8.js +1 -0
  41. package/dist/api/deliveries-api/models/ui-service-management9.js +1 -0
  42. package/dist/api/deliveries-api/ui-service-management.js +1 -0
  43. package/dist/api/facility-access-api/apis/ui-service-management.js +1 -0
  44. package/dist/api/facility-access-api/apis/ui-service-management2.js +1 -0
  45. package/dist/api/facility-access-api/apis/ui-service-management3.js +1 -0
  46. package/dist/api/facility-access-api/apis/ui-service-management4.js +1 -0
  47. package/dist/api/facility-access-api/apis/ui-service-management5.js +1 -0
  48. package/dist/api/facility-access-api/models/ui-service-management.js +1 -0
  49. package/dist/api/facility-access-api/models/ui-service-management10.js +1 -0
  50. package/dist/api/facility-access-api/models/ui-service-management11.js +1 -0
  51. package/dist/api/facility-access-api/models/ui-service-management12.js +1 -0
  52. package/dist/api/facility-access-api/models/ui-service-management13.js +1 -0
  53. package/dist/api/facility-access-api/models/ui-service-management14.js +1 -0
  54. package/dist/api/facility-access-api/models/ui-service-management15.js +1 -0
  55. package/dist/api/facility-access-api/models/ui-service-management16.js +1 -0
  56. package/dist/api/facility-access-api/models/ui-service-management17.js +1 -0
  57. package/dist/api/facility-access-api/models/ui-service-management18.js +1 -0
  58. package/dist/api/facility-access-api/models/ui-service-management19.js +1 -0
  59. package/dist/api/facility-access-api/models/ui-service-management2.js +1 -0
  60. package/dist/api/facility-access-api/models/ui-service-management20.js +1 -0
  61. package/dist/api/facility-access-api/models/ui-service-management21.js +1 -0
  62. package/dist/api/facility-access-api/models/ui-service-management22.js +1 -0
  63. package/dist/api/facility-access-api/models/ui-service-management23.js +1 -0
  64. package/dist/api/facility-access-api/models/ui-service-management24.js +1 -0
  65. package/dist/api/facility-access-api/models/ui-service-management25.js +1 -0
  66. package/dist/api/facility-access-api/models/ui-service-management26.js +1 -0
  67. package/dist/api/facility-access-api/models/ui-service-management27.js +1 -0
  68. package/dist/api/facility-access-api/models/ui-service-management28.js +1 -0
  69. package/dist/api/facility-access-api/models/ui-service-management29.js +1 -0
  70. package/dist/api/facility-access-api/models/ui-service-management3.js +1 -0
  71. package/dist/api/facility-access-api/models/ui-service-management30.js +1 -0
  72. package/dist/api/facility-access-api/models/ui-service-management31.js +1 -0
  73. package/dist/api/facility-access-api/models/ui-service-management32.js +1 -0
  74. package/dist/api/facility-access-api/models/ui-service-management33.js +1 -0
  75. package/dist/api/facility-access-api/models/ui-service-management34.js +1 -0
  76. package/dist/api/facility-access-api/models/ui-service-management35.js +1 -0
  77. package/dist/api/facility-access-api/models/ui-service-management36.js +1 -0
  78. package/dist/api/facility-access-api/models/ui-service-management37.js +1 -0
  79. package/dist/api/facility-access-api/models/ui-service-management38.js +1 -0
  80. package/dist/api/facility-access-api/models/ui-service-management39.js +1 -0
  81. package/dist/api/facility-access-api/models/ui-service-management4.js +1 -0
  82. package/dist/api/facility-access-api/models/ui-service-management40.js +1 -0
  83. package/dist/api/facility-access-api/models/ui-service-management41.js +1 -0
  84. package/dist/api/facility-access-api/models/ui-service-management42.js +1 -0
  85. package/dist/api/facility-access-api/models/ui-service-management43.js +1 -0
  86. package/dist/api/facility-access-api/models/ui-service-management44.js +1 -0
  87. package/dist/api/facility-access-api/models/ui-service-management45.js +1 -0
  88. package/dist/api/facility-access-api/models/ui-service-management46.js +1 -0
  89. package/dist/api/facility-access-api/models/ui-service-management47.js +1 -0
  90. package/dist/api/facility-access-api/models/ui-service-management48.js +1 -0
  91. package/dist/api/facility-access-api/models/ui-service-management49.js +1 -0
  92. package/dist/api/facility-access-api/models/ui-service-management5.js +1 -0
  93. package/dist/api/facility-access-api/models/ui-service-management50.js +1 -0
  94. package/dist/api/facility-access-api/models/ui-service-management51.js +1 -0
  95. package/dist/api/facility-access-api/models/ui-service-management52.js +1 -0
  96. package/dist/api/facility-access-api/models/ui-service-management53.js +1 -0
  97. package/dist/api/facility-access-api/models/ui-service-management54.js +1 -0
  98. package/dist/api/facility-access-api/models/ui-service-management55.js +1 -0
  99. package/dist/api/facility-access-api/models/ui-service-management56.js +1 -0
  100. package/dist/api/facility-access-api/models/ui-service-management57.js +1 -0
  101. package/dist/api/facility-access-api/models/ui-service-management58.js +1 -0
  102. package/dist/api/facility-access-api/models/ui-service-management59.js +1 -0
  103. package/dist/api/facility-access-api/models/ui-service-management6.js +1 -0
  104. package/dist/api/facility-access-api/models/ui-service-management60.js +1 -0
  105. package/dist/api/facility-access-api/models/ui-service-management61.js +1 -0
  106. package/dist/api/facility-access-api/models/ui-service-management62.js +1 -0
  107. package/dist/api/facility-access-api/models/ui-service-management63.js +1 -0
  108. package/dist/api/facility-access-api/models/ui-service-management64.js +1 -0
  109. package/dist/api/facility-access-api/models/ui-service-management65.js +1 -0
  110. package/dist/api/facility-access-api/models/ui-service-management66.js +1 -0
  111. package/dist/api/facility-access-api/models/ui-service-management67.js +1 -0
  112. package/dist/api/facility-access-api/models/ui-service-management68.js +1 -0
  113. package/dist/api/facility-access-api/models/ui-service-management7.js +1 -0
  114. package/dist/api/facility-access-api/models/ui-service-management8.js +1 -0
  115. package/dist/api/facility-access-api/models/ui-service-management9.js +1 -0
  116. package/dist/api/facility-access-api/ui-service-management.js +1 -0
  117. package/dist/api/inventory-api/apis/ui-service-management.js +1 -0
  118. package/dist/api/inventory-api/apis/ui-service-management2.js +1 -0
  119. package/dist/api/inventory-api/models/ui-service-management.js +1 -0
  120. package/dist/api/inventory-api/models/ui-service-management2.js +1 -0
  121. package/dist/api/inventory-api/models/ui-service-management3.js +1 -0
  122. package/dist/api/inventory-api/models/ui-service-management4.js +1 -0
  123. package/dist/api/inventory-api/models/ui-service-management5.js +1 -0
  124. package/dist/api/inventory-api/models/ui-service-management6.js +1 -0
  125. package/dist/api/inventory-api/models/ui-service-management7.js +1 -0
  126. package/dist/api/inventory-api/models/ui-service-management8.js +1 -0
  127. package/dist/api/inventory-api/models/ui-service-management9.js +1 -0
  128. package/dist/api/inventory-api/ui-service-management.js +1 -0
  129. package/dist/api/references-api/apis/ui-service-management.js +1 -0
  130. package/dist/api/references-api/apis/ui-service-management2.js +1 -0
  131. package/dist/api/references-api/apis/ui-service-management3.js +1 -0
  132. package/dist/api/references-api/apis/ui-service-management4.js +1 -0
  133. package/dist/api/references-api/models/ui-service-management.js +1 -0
  134. package/dist/api/references-api/models/ui-service-management2.js +1 -0
  135. package/dist/api/references-api/models/ui-service-management3.js +1 -0
  136. package/dist/api/references-api/ui-service-management.js +1 -0
  137. package/dist/api/remote-hands-api/apis/ui-service-management.js +1 -0
  138. package/dist/api/remote-hands-api/models/ui-service-management.js +1 -0
  139. package/dist/api/remote-hands-api/models/ui-service-management10.js +1 -0
  140. package/dist/api/remote-hands-api/models/ui-service-management11.js +1 -0
  141. package/dist/api/remote-hands-api/models/ui-service-management12.js +1 -0
  142. package/dist/api/remote-hands-api/models/ui-service-management13.js +1 -0
  143. package/dist/api/remote-hands-api/models/ui-service-management14.js +1 -0
  144. package/dist/api/remote-hands-api/models/ui-service-management2.js +1 -0
  145. package/dist/api/remote-hands-api/models/ui-service-management3.js +1 -0
  146. package/dist/api/remote-hands-api/models/ui-service-management4.js +1 -0
  147. package/dist/api/remote-hands-api/models/ui-service-management5.js +1 -0
  148. package/dist/api/remote-hands-api/models/ui-service-management6.js +1 -0
  149. package/dist/api/remote-hands-api/models/ui-service-management7.js +1 -0
  150. package/dist/api/remote-hands-api/models/ui-service-management8.js +1 -0
  151. package/dist/api/remote-hands-api/models/ui-service-management9.js +1 -0
  152. package/dist/api/remote-hands-api/ui-service-management.js +1 -0
  153. package/dist/api/service-tickets-api/apis/ui-service-management.js +1 -0
  154. package/dist/api/service-tickets-api/models/ui-service-management.js +1 -0
  155. package/dist/api/service-tickets-api/models/ui-service-management2.js +1 -0
  156. package/dist/api/service-tickets-api/models/ui-service-management3.js +1 -0
  157. package/dist/api/service-tickets-api/ui-service-management.js +1 -0
  158. package/dist/api/site-maintenance-api/apis/ui-service-management.js +1 -0
  159. package/dist/api/site-maintenance-api/models/ui-service-management.js +1 -0
  160. package/dist/api/site-maintenance-api/models/ui-service-management2.js +1 -0
  161. package/dist/api/site-maintenance-api/models/ui-service-management3.js +1 -0
  162. package/dist/api/site-maintenance-api/models/ui-service-management4.js +1 -0
  163. package/dist/api/site-maintenance-api/models/ui-service-management5.js +1 -0
  164. package/dist/api/site-maintenance-api/models/ui-service-management6.js +1 -0
  165. package/dist/api/site-maintenance-api/models/ui-service-management7.js +1 -0
  166. package/dist/api/site-maintenance-api/models/ui-service-management8.js +1 -0
  167. package/dist/api/site-maintenance-api/ui-service-management.js +1 -0
  168. package/dist/api/site-navigation-api/apis/ui-service-management.js +1 -0
  169. package/dist/api/site-navigation-api/models/ui-service-management.js +1 -0
  170. package/dist/api/site-navigation-api/models/ui-service-management2.js +1 -0
  171. package/dist/api/site-navigation-api/models/ui-service-management3.js +1 -0
  172. package/dist/api/site-navigation-api/models/ui-service-management4.js +1 -0
  173. package/dist/api/site-navigation-api/models/ui-service-management5.js +1 -0
  174. package/dist/api/site-navigation-api/ui-service-management.js +1 -0
  175. package/dist/api/trouble-tickets-api/apis/ui-service-management.js +1 -0
  176. package/dist/api/trouble-tickets-api/models/ui-service-management.js +1 -0
  177. package/dist/api/trouble-tickets-api/models/ui-service-management10.js +1 -0
  178. package/dist/api/trouble-tickets-api/models/ui-service-management11.js +1 -0
  179. package/dist/api/trouble-tickets-api/models/ui-service-management12.js +1 -0
  180. package/dist/api/trouble-tickets-api/models/ui-service-management13.js +1 -0
  181. package/dist/api/trouble-tickets-api/models/ui-service-management14.js +1 -0
  182. package/dist/api/trouble-tickets-api/models/ui-service-management2.js +1 -0
  183. package/dist/api/trouble-tickets-api/models/ui-service-management3.js +1 -0
  184. package/dist/api/trouble-tickets-api/models/ui-service-management4.js +1 -0
  185. package/dist/api/trouble-tickets-api/models/ui-service-management5.js +1 -0
  186. package/dist/api/trouble-tickets-api/models/ui-service-management6.js +1 -0
  187. package/dist/api/trouble-tickets-api/models/ui-service-management7.js +1 -0
  188. package/dist/api/trouble-tickets-api/models/ui-service-management8.js +1 -0
  189. package/dist/api/trouble-tickets-api/models/ui-service-management9.js +1 -0
  190. package/dist/api/trouble-tickets-api/ui-service-management.js +1 -0
  191. package/dist/api/user-management-api/apis/ui-service-management.js +1 -0
  192. package/dist/api/user-management-api/models/ui-service-management.js +1 -0
  193. package/dist/api/user-management-api/models/ui-service-management2.js +1 -0
  194. package/dist/api/user-management-api/ui-service-management.js +1 -0
  195. package/dist/components/customer-care/details/ui-service-management.js +1 -0
  196. package/dist/components/customer-care/details/ui-service-management2.js +1 -0
  197. package/dist/components/customer-care/details/ui-service-management3.js +1 -0
  198. package/dist/components/customer-care/details/ui-service-management4.js +1 -0
  199. package/dist/components/customer-care/ui-service-management.js +1 -0
  200. package/dist/components/customer-care/ui-service-management2.js +1 -0
  201. package/dist/components/customer-care/ui-service-management3.js +1 -0
  202. package/dist/components/customer-care/ui-service-management4.js +1 -0
  203. package/dist/components/customer-care/ui-service-management5.js +1 -0
  204. package/dist/components/deliveries/details/ui-service-management.js +1 -0
  205. package/dist/components/deliveries/details/ui-service-management2.js +1 -0
  206. package/dist/components/deliveries/details/ui-service-management3.js +1 -0
  207. package/dist/components/deliveries/details/ui-service-management4.js +1 -0
  208. package/dist/components/deliveries/ui-service-management.js +1 -0
  209. package/dist/components/deliveries/ui-service-management2.js +1 -0
  210. package/dist/components/deliveries/ui-service-management3.js +1 -0
  211. package/dist/components/deliveries/ui-service-management4.js +1 -0
  212. package/dist/components/deliveries/ui-service-management5.js +1 -0
  213. package/dist/components/deliveries/ui-service-management6.js +1 -0
  214. package/dist/components/deliveries/ui-service-management7.js +1 -0
  215. package/dist/components/deliveries-removals/ui-service-management.js +1 -0
  216. package/dist/components/dev/ui-service-management.js +1 -0
  217. package/dist/components/facility-access/details/permanent-badge/ui-service-management.js +1 -0
  218. package/dist/components/facility-access/details/permanent-badge/ui-service-management2.js +1 -0
  219. package/dist/components/facility-access/details/permanent-badge/ui-service-management3.js +1 -0
  220. package/dist/components/facility-access/details/permanent-badge/ui-service-management4.js +1 -0
  221. package/dist/components/facility-access/details/permanent-badge/ui-service-management5.js +1 -0
  222. package/dist/components/facility-access/details/ui-service-management.js +1 -0
  223. package/dist/components/facility-access/details/ui-service-management2.js +1 -0
  224. package/dist/components/facility-access/details/ui-service-management3.js +1 -0
  225. package/dist/components/facility-access/details/ui-service-management4.js +1 -0
  226. package/dist/components/facility-access/details/visitor-access/ui-service-management.js +1 -0
  227. package/dist/components/facility-access/details/visitor-access/ui-service-management2.js +1 -0
  228. package/dist/components/facility-access/details/visitor-access/ui-service-management3.js +1 -0
  229. package/dist/components/facility-access/osp/ui-service-management.js +1 -0
  230. package/dist/components/facility-access/osp/ui-service-management2.js +1 -0
  231. package/dist/components/facility-access/osp/ui-service-management3.js +1 -0
  232. package/dist/components/facility-access/osp-pop/ui-service-management.js +1 -0
  233. package/dist/components/facility-access/osp-pop/ui-service-management2.js +1 -0
  234. package/dist/components/facility-access/permanent-badge/ui-service-management.js +1 -0
  235. package/dist/components/facility-access/permanent-badge/ui-service-management2.js +1 -0
  236. package/dist/components/facility-access/permanent-badge/ui-service-management3.js +1 -0
  237. package/dist/components/facility-access/permanent-badge/ui-service-management4.js +1 -0
  238. package/dist/components/facility-access/permanent-badge/ui-service-management5.js +1 -0
  239. package/dist/components/facility-access/permanent-badge/ui-service-management6.js +1 -0
  240. package/dist/components/facility-access/pop/ui-service-management.js +1 -0
  241. package/dist/components/facility-access/pop/ui-service-management2.js +1 -0
  242. package/dist/components/facility-access/pop/ui-service-management3.js +1 -0
  243. package/dist/components/facility-access/pop/ui-service-management4.js +1 -0
  244. package/dist/components/facility-access/pop/ui-service-management5.js +1 -0
  245. package/dist/components/facility-access/pop/ui-service-management6.js +1 -0
  246. package/dist/components/facility-access/pop/ui-service-management7.js +1 -0
  247. package/dist/components/facility-access/pop/ui-service-management8.js +1 -0
  248. package/dist/components/facility-access/pop/ui-service-management9.js +1 -0
  249. package/dist/components/facility-access/ui-service-management.js +1 -0
  250. package/dist/components/facility-access/ui-service-management10.js +1 -0
  251. package/dist/components/facility-access/ui-service-management11.js +1 -0
  252. package/dist/components/facility-access/ui-service-management12.js +1 -0
  253. package/dist/components/facility-access/ui-service-management13.js +1 -0
  254. package/dist/components/facility-access/ui-service-management2.js +1 -0
  255. package/dist/components/facility-access/ui-service-management3.js +1 -0
  256. package/dist/components/facility-access/ui-service-management4.js +1 -0
  257. package/dist/components/facility-access/ui-service-management5.js +1 -0
  258. package/dist/components/facility-access/ui-service-management6.js +1 -0
  259. package/dist/components/facility-access/ui-service-management7.js +1 -0
  260. package/dist/components/facility-access/ui-service-management8.js +1 -0
  261. package/dist/components/facility-access/ui-service-management9.js +1 -0
  262. package/dist/components/facility-access/visitor-access/ui-service-management.js +1 -0
  263. package/dist/components/facility-access/visitor-access/ui-service-management2.js +1 -0
  264. package/dist/components/facility-access/visitor-access/ui-service-management3.js +1 -0
  265. package/dist/components/facility-access/visitor-access/ui-service-management4.js +1 -0
  266. package/dist/components/facility-access/visitor-access/ui-service-management5.js +1 -0
  267. package/dist/components/layout/ui-service-management.js +1 -0
  268. package/dist/components/navigation/ui-service-management.js +1 -0
  269. package/dist/components/remote-hands/details/ui-service-management.js +1 -0
  270. package/dist/components/remote-hands/details/ui-service-management2.js +1 -0
  271. package/dist/components/remote-hands/details/ui-service-management3.js +1 -0
  272. package/dist/components/remote-hands/ui-service-management.js +1 -0
  273. package/dist/components/remote-hands/ui-service-management2.js +1 -0
  274. package/dist/components/remote-hands/ui-service-management3.js +1 -0
  275. package/dist/components/remote-hands/ui-service-management4.js +1 -0
  276. package/dist/components/remote-hands/ui-service-management5.js +1 -0
  277. package/dist/components/remote-hands/ui-service-management6.js +1 -0
  278. package/dist/components/removals/details/ui-service-management.js +1 -0
  279. package/dist/components/removals/details/ui-service-management2.js +1 -0
  280. package/dist/components/removals/details/ui-service-management3.js +1 -0
  281. package/dist/components/removals/details/ui-service-management4.js +1 -0
  282. package/dist/components/removals/ui-service-management.js +1 -0
  283. package/dist/components/removals/ui-service-management2.js +1 -0
  284. package/dist/components/removals/ui-service-management3.js +1 -0
  285. package/dist/components/removals/ui-service-management4.js +1 -0
  286. package/dist/components/removals/ui-service-management5.js +1 -0
  287. package/dist/components/service-tickets/ui-service-management.js +1 -0
  288. package/dist/components/service-tickets/ui-service-management2.js +1 -0
  289. package/dist/components/service-tickets/ui-service-management3.js +1 -0
  290. package/dist/components/service-tickets/ui-service-management4.js +1 -0
  291. package/dist/components/shared/ui-service-management.js +1 -0
  292. package/dist/components/shared/ui-service-management10.js +1 -0
  293. package/dist/components/shared/ui-service-management11.js +1 -0
  294. package/dist/components/shared/ui-service-management12.js +1 -0
  295. package/dist/components/shared/ui-service-management13.js +1 -0
  296. package/dist/components/shared/ui-service-management14.js +1 -0
  297. package/dist/components/shared/ui-service-management15.js +1 -0
  298. package/dist/components/shared/ui-service-management16.js +1 -0
  299. package/dist/components/shared/ui-service-management17.js +1 -0
  300. package/dist/components/shared/ui-service-management18.js +1 -0
  301. package/dist/components/shared/ui-service-management2.js +1 -0
  302. package/dist/components/shared/ui-service-management3.js +1 -0
  303. package/dist/components/shared/ui-service-management4.js +1 -0
  304. package/dist/components/shared/ui-service-management5.js +1 -0
  305. package/dist/components/shared/ui-service-management6.js +1 -0
  306. package/dist/components/shared/ui-service-management7.js +1 -0
  307. package/dist/components/shared/ui-service-management8.js +1 -0
  308. package/dist/components/shared/ui-service-management9.js +1 -0
  309. package/dist/components/site-maintenance/ui-service-management.js +1 -0
  310. package/dist/components/site-maintenance/ui-service-management2.js +1 -0
  311. package/dist/components/trouble-ticket/details/ui-service-management.js +1 -0
  312. package/dist/components/trouble-ticket/details/ui-service-management2.js +1 -0
  313. package/dist/components/trouble-ticket/details/ui-service-management3.js +1 -0
  314. package/dist/components/trouble-ticket/ui-service-management.js +1 -0
  315. package/dist/components/trouble-ticket/ui-service-management2.js +1 -0
  316. package/dist/components/trouble-ticket/ui-service-management3.js +1 -0
  317. package/dist/components/trouble-ticket/ui-service-management4.js +1 -0
  318. package/dist/components/trouble-ticket/ui-service-management5.js +1 -0
  319. package/dist/constants/ui-service-management.js +1 -0
  320. package/dist/constants/ui-service-management2.js +1 -0
  321. package/dist/constants/ui-service-management3.js +1 -0
  322. package/dist/constants/ui-service-management4.js +1 -0
  323. package/dist/constants/ui-service-management5.js +1 -0
  324. package/dist/constants/ui-service-management6.js +1 -0
  325. package/dist/constants/ui-service-management7.js +1 -0
  326. package/dist/constants/ui-service-management8.js +1 -0
  327. package/dist/constants/ui-service-management9.js +1 -0
  328. package/dist/enums/ui-service-management.js +1 -0
  329. package/dist/enums/ui-service-management2.js +1 -0
  330. package/dist/enums/ui-service-management3.js +1 -0
  331. package/dist/enums/ui-service-management4.js +1 -0
  332. package/dist/enums/ui-service-management5.js +1 -0
  333. package/dist/helpers/ui-service-management.js +1 -0
  334. package/dist/helpers/ui-service-management10.js +1 -0
  335. package/dist/helpers/ui-service-management11.js +1 -0
  336. package/dist/helpers/ui-service-management12.js +1 -0
  337. package/dist/helpers/ui-service-management13.js +1 -0
  338. package/dist/helpers/ui-service-management14.js +1 -0
  339. package/dist/helpers/ui-service-management15.js +1 -0
  340. package/dist/helpers/ui-service-management16.js +1 -0
  341. package/dist/helpers/ui-service-management17.js +1 -0
  342. package/dist/helpers/ui-service-management18.js +1 -0
  343. package/dist/helpers/ui-service-management19.js +1 -0
  344. package/dist/helpers/ui-service-management2.js +1 -0
  345. package/dist/helpers/ui-service-management20.js +1 -0
  346. package/dist/helpers/ui-service-management21.js +1 -0
  347. package/dist/helpers/ui-service-management22.js +1 -0
  348. package/dist/helpers/ui-service-management23.js +1 -0
  349. package/dist/helpers/ui-service-management24.js +1 -0
  350. package/dist/helpers/ui-service-management3.js +1 -0
  351. package/dist/helpers/ui-service-management4.js +1 -0
  352. package/dist/helpers/ui-service-management5.js +1 -0
  353. package/dist/helpers/ui-service-management6.js +1 -0
  354. package/dist/helpers/ui-service-management7.js +1 -0
  355. package/dist/helpers/ui-service-management8.js +1 -0
  356. package/dist/helpers/ui-service-management9.js +1 -0
  357. package/dist/models/ui-service-management.js +1 -0
  358. package/dist/models/ui-service-management2.js +1 -0
  359. package/dist/models/ui-service-management3.js +1 -0
  360. package/dist/routes/ui-service-management.js +1 -0
  361. package/dist/routes/ui-service-management2.js +1 -0
  362. package/dist/services/ui-service-management.js +1 -0
  363. package/dist/services/ui-service-management10.js +1 -0
  364. package/dist/services/ui-service-management11.js +1 -0
  365. package/dist/services/ui-service-management12.js +1 -0
  366. package/dist/services/ui-service-management13.js +1 -0
  367. package/dist/services/ui-service-management14.js +1 -0
  368. package/dist/services/ui-service-management15.js +1 -0
  369. package/dist/services/ui-service-management16.js +1 -0
  370. package/dist/services/ui-service-management17.js +1 -0
  371. package/dist/services/ui-service-management18.js +1 -0
  372. package/dist/services/ui-service-management19.js +1 -0
  373. package/dist/services/ui-service-management2.js +1 -0
  374. package/dist/services/ui-service-management20.js +1 -0
  375. package/dist/services/ui-service-management21.js +1 -0
  376. package/dist/services/ui-service-management3.js +1 -0
  377. package/dist/services/ui-service-management4.js +1 -0
  378. package/dist/services/ui-service-management5.js +1 -0
  379. package/dist/services/ui-service-management6.js +1 -0
  380. package/dist/services/ui-service-management7.js +1 -0
  381. package/dist/services/ui-service-management8.js +1 -0
  382. package/dist/services/ui-service-management9.js +1 -0
  383. package/dist/state/ui-service-management.js +1 -0
  384. package/dist/state/ui-service-management10.js +1 -0
  385. package/dist/state/ui-service-management11.js +1 -0
  386. package/dist/state/ui-service-management12.js +1 -0
  387. package/dist/state/ui-service-management13.js +1 -0
  388. package/dist/state/ui-service-management14.js +1 -0
  389. package/dist/state/ui-service-management15.js +1 -0
  390. package/dist/state/ui-service-management16.js +1 -0
  391. package/dist/state/ui-service-management2.js +1 -0
  392. package/dist/state/ui-service-management3.js +1 -0
  393. package/dist/state/ui-service-management4.js +1 -0
  394. package/dist/state/ui-service-management5.js +1 -0
  395. package/dist/state/ui-service-management6.js +1 -0
  396. package/dist/state/ui-service-management7.js +1 -0
  397. package/dist/state/ui-service-management8.js +1 -0
  398. package/dist/state/ui-service-management9.js +1 -0
  399. package/dist/styles/ui-service-management.js +1 -0
  400. package/dist/styles/ui-service-management2.js +1 -0
  401. package/dist/styles/ui-service-management3.js +1 -0
  402. package/dist/styles/ui-service-management4.js +1 -0
  403. package/dist/styles/ui-service-management5.js +1 -0
  404. package/dist/styles/ui-service-management6.js +1 -0
  405. package/dist/styles/ui-service-management7.js +1 -0
  406. package/dist/styles/ui-service-management8.js +1 -0
  407. package/dist/styles/ui-service-management9.js +1 -0
  408. package/dist/sw.js +2 -0
  409. package/dist/sw.js.map +1 -0
  410. package/dist/ui-service-management.js +1 -0
  411. package/dist/ui-service-management2.js +1 -0
  412. package/dist/views/ui-service-management.js +1 -0
  413. package/dist/views/ui-service-management10.js +1 -0
  414. package/dist/views/ui-service-management11.js +1 -0
  415. package/dist/views/ui-service-management2.js +1 -0
  416. package/dist/views/ui-service-management3.js +1 -0
  417. package/dist/views/ui-service-management4.js +1 -0
  418. package/dist/views/ui-service-management5.js +1 -0
  419. package/dist/views/ui-service-management6.js +1 -0
  420. package/dist/views/ui-service-management7.js +1 -0
  421. package/dist/views/ui-service-management8.js +1 -0
  422. package/dist/views/ui-service-management9.js +1 -0
  423. package/dist/workbox-a523fd56.js +2 -0
  424. package/dist/workbox-a523fd56.js.map +1 -0
  425. package/package.json +227 -0
@@ -0,0 +1 @@
1
+ import{__decorate as o}from"tslib";import{html as p}from"lit";import{MobxLitElement as y}from"@adobe/lit-mobx";import{property as c,state as b,customElement as v}from"lit/decorators.js";import{popAccessState as l}from"../../../state/ui-service-management5.js";import{ServiceTicketsStyles as m}from"../../../styles/ui-service-management5.js";import"@digital-realty/ix-checkbox/ix-checkbox.js";import"@digital-realty/ix-divider/ix-divider.js";import"@digital-realty/ix-textbox/ix-textbox.js";import"@digital-realty/ix-select/ix-select.js";import"@digital-realty/ix-select/ix-select-option.js";import{FacilityAccessStyles as u}from"../../../styles/ui-service-management6.js";import{TWStyles as k}from"../../../ui-service-management2.js";var d=Object.freeze,x=Object.defineProperty,g=(e,t)=>d(x(e,"raw",{value:d(t||e.slice())})),s;let n=class extends y{constructor(){super(...arguments),this.readonly=!1,this.validations={}}getValidationKey(e){return"".concat(this.type,"_").concat(e)}validateForm(e){const t=l.newTicket;return[{field:"FromRackPanel",label:"From which room, rack, panel?"},{field:"ToRackPanel",label:"To which room, rack, panel"}].forEach(({field:a,label:i})=>{const h=t["".concat(e).concat(a)],r="".concat(e,"_").concat(a);h?delete this.validations[r]:this.validations[r]="".concat(i," is required.")}),(t["".concat(e,"CableType")]===void 0||t["".concat(e,"CableType")]==="")&&(this.validations["".concat(e,"_CableType")]="Please select a Cable Type."),this.requestUpdate(),this.isFormValid}get isFormValid(){return Object.values(this.validations).every(e=>!e)}handleFieldChange(e,t,a){l.updateFieldValue("".concat(this.type).concat(e),a),this.validateField(e,t,a)}validateField(e,t,a){const i=this.getValidationKey(e);a?delete this.validations[i]:this.validations[i]="".concat(t," is required."),this.requestUpdate()}handleCheckboxChange(e,t){l.updateFieldValue(e,t)}render(){const e=l.newTicket;return p(s||(s=g(['\n <div>\n <div class="form-wrapper__fields form-margin">\n <div></div>\n <div class="col-2">\n <ix-textbox\n label="From which room, rack, panel?"\n name="','FromRackPanel"\n .value=',"\n .error=","\n .errorText=","\n required\n ?disabled=","\n @input=",'\n ></ix-textbox>\n <ix-textbox\n label="To which room, rack, panel?"\n name="','ToRackPanel"\n .value=',"\n .error=","\n .errorText=","\n required\n ?disabled=","\n @input=",'\n ></ix-textbox>\n </div>\n <ix-select\n label="Cable Type"\n name="','CableType"\n menu-positioning="popover"\n .wideMenu=',"\n required\n .error=","\n .errorText=","\n ?disabled=","\n @input=","\n >\n <ix-select-option\n .value=","\n .selected=",'\n >\n <div slot="headline">',"</div>\n </ix-select-option>\n <ix-select-option\n .value=","\n .selected=",'\n >\n <div slot="headline">','</div>\n </ix-select-option>\n </ix-select>\n <div></div>\n </div>\n\n <div class="form-wrapper__fields form-margin gap-4">\n <div>\n <ix-checkbox\n label="On Ladder-rack"\n name="','LadderRack"\n arialabel="On Ladder-rack"\n ?disabled=',"\n @change=","\n .checked=",'\n ></ix-checkbox>\n </div>\n <div>\n <ix-checkbox\n label="In Inner-Duct"\n name="','InnerDuct"\n arialabel="In Inner-duct"\n ?disabled=',"\n @change=","\n .checked=",'\n ></ix-checkbox>\n </div>\n <div>\n <ix-checkbox\n label="In Fiber-guide"\n name="','FiberGuide"\n arialabel="In Fiber-guide"\n ?disabled=',"\n @change=","\n .checked=","\n ></ix-checkbox>\n </div>\n </div>\n </div>\n "])),this.type,e["".concat(this.type,"FromRackPanel")]||"",!!this.validations[this.getValidationKey("FromRackPanel")],this.validations[this.getValidationKey("FromRackPanel")],this.readonly,t=>this.handleFieldChange("FromRackPanel",t.target.label,t.target.value),this.type,e["".concat(this.type,"ToRackPanel")]||"",!!this.validations[this.getValidationKey("ToRackPanel")],this.validations[this.getValidationKey("ToRackPanel")],this.readonly,t=>this.handleFieldChange("ToRackPanel",t.target.label,t.target.value),this.type,!0,!!this.validations[this.getValidationKey("CableType")],this.validations[this.getValidationKey("CableType")],this.readonly,t=>this.handleFieldChange("CableType",t.target.label,t.target.value),"Fiber",e["".concat(this.type,"CableType")]==="Fiber","Fiber","Copper",e["".concat(this.type,"CableType")]==="Copper","Copper",this.type,this.readonly,t=>this.handleCheckboxChange("".concat(this.type,"LadderRack"),t.target.checked),e["".concat(this.type,"LadderRack")]||!1,this.type,this.readonly,t=>this.handleCheckboxChange("".concat(this.type,"InnerDuct"),t.target.checked),e["".concat(this.type,"InnerDuct")]||!1,this.type,this.readonly,t=>this.handleCheckboxChange("".concat(this.type,"FiberGuide"),t.target.checked),e["".concat(this.type,"FiberGuide")]||!1)}};n.styles=[m,u,k],o([c({type:String})],n.prototype,"type",void 0),o([c({type:Boolean})],n.prototype,"readonly",void 0),o([b()],n.prototype,"validations",void 0),n=o([v("pop-room-work-inputs")],n);export{n as PopRoomWorkInputs};
@@ -0,0 +1 @@
1
+ import{__decorate as s}from"tslib";import{html as c,nothing as C}from"lit";import{MobxLitElement as P}from"@adobe/lit-mobx";import{property as h,state as d,customElement as R}from"lit/decorators.js";import{popAccessState as u}from"../../../state/ui-service-management5.js";import{ServiceTicketsStyles as Z}from"../../../styles/ui-service-management5.js";import"@digital-realty/ix-checkbox/ix-checkbox.js";import"@digital-realty/ix-divider/ix-divider.js";import"@digital-realty/ix-accordion/ix-accordion.js";import"@digital-realty/ix-textbox/ix-textbox.js";import{FacilityAccessStyles as y}from"../../../styles/ui-service-management6.js";import"../ui-service-management12.js";import"../ui-service-management2.js";import"./ui-service-management8.js";import{TWStyles as g}from"../../../ui-service-management2.js";import{CircuitIcon as k,DeleteIcon as w}from"../../shared/ui-service-management11.js";var b=Object.freeze,f=Object.defineProperty,m=(e,o)=>b(f(e,"raw",{value:b(o||e.slice())})),N,T,E,v,A,n;(function(e){e.Name="Name",e.Room="RoomNumber",e.Rack="RackNumber",e.Panel="PanelNumber",e.Port="Port",e.CircuitId="CarrierCircuitID"})(n||(n={}));var x;(function(e){e.Name="Name",e.Room="Room Number",e.Rack="Rack Number",e.Panel="Panel Number",e.Port="Port",e.CircuitId="Carrier Circuit ID"})(x||(x={}));const I=Object.values(x).flatMap(e=>["".concat(e)]),D={[n.Name]:"Name",[n.Room]:"Room Number",[n.Rack]:"Rack Number",[n.Panel]:"Panel Number",[n.Port]:e=>"Port ".concat(e+1),[n.CircuitId]:"Carrier Circuit ID"},F=Object.values(n).flatMap(e=>["sideA".concat(e),"sideZ".concat(e)]);let t=class extends P{constructor(){super(...arguments),this.readonly=!1,this.sideANameErrorText="",this.sideZNameErrorText="",this.sideARoomNumberErrorText="",this.sideZRoomNumberErrorText="",this.sideARackNumberErrorText="",this.sideZRackNumberErrorText="",this.sideAPanelNumberErrorText="",this.sideZPanelNumberErrorText="",this.sideAPortErrorText="",this.sideZPortErrorText="",this.sideACarrierCircuitIDErrorText="",this.sideZCarrierCircuitIDErrorText="",this.circuitRows=[]}firstUpdated(){this.circuitRows.push(...I.map(e=>({attribute:e,sideAValue:"",sideZValue:""})))}validateForm(){F.forEach(e=>{const o=u.newTicket.circuits[this.index][e],r=this.getFieldLabel(e,this.index);this.validateField(o,r,e)}),u.newTicket.circuits[this.index].isValid=this.isFormValid,this.requestUpdate("validations")}get isFormValid(){const e=o=>o===void 0;return e(this.sideANameErrorText)&&e(this.sideZNameErrorText)&&e(this.sideARoomNumberErrorText)&&e(this.sideZRoomNumberErrorText)&&e(this.sideAPanelNumberErrorText)&&e(this.sideZPanelNumberErrorText)&&e(this.sideARackNumberErrorText)&&e(this.sideZRackNumberErrorText)&&e(this.sideAPortErrorText)&&e(this.sideZPortErrorText)&&e(this.sideACarrierCircuitIDErrorText)&&e(this.sideZCarrierCircuitIDErrorText)}getColumns(){return[{name:"attribute",header:"Attribute",bodyRenderer:e=>c(N||(N=m(["<div>","*</div>"])),this.renderAttributeName(e.attribute))},{name:"sideAValue",header:"Side A",bodyRenderer:e=>this.renderCircuitField("sideA",e.attribute)},{name:"sideZValue",header:"Side Z",bodyRenderer:e=>c(T||(T=m(["",""])),this.renderCircuitField("sideZ",e.attribute))}]}renderAttributeName(e){return e==="Port"?"Port ".concat(this.index+1):e}renderCircuitField(e,o){const r="".concat(e).concat(o.replace(/\s+/g,""));let i=o;return o==="Port"&&(i="Port ".concat(this.index+1)),c(E||(E=m([" <ix-textbox\n label=",'\n key="',"",'"\n name="',"",'"\n required\n .minLength="1"\n .value=',"\n .error=","\n .errorText=","\n ?disabled=","\n @input=","\n ></ix-textbox>"])),i,r,this.index,r,this.index,u.newTicket.circuits[this.index][r],!!this.getValidationProperty(r),this.getValidationProperty(r),this.readonly,a=>this.handleCircuitFieldChange(a.target.value,o,r))}getValidationProperty(e){switch(e){case"sideAName":return this.sideANameErrorText;case"sideZName":return this.sideZNameErrorText;case"sideARoomNumber":return this.sideARoomNumberErrorText;case"sideZRoomNumber":return this.sideZRoomNumberErrorText;case"sideARackNumber":return this.sideARackNumberErrorText;case"sideZRackNumber":return this.sideZRackNumberErrorText;case"sideAPanelNumber":return this.sideAPanelNumberErrorText;case"sideZPanelNumber":return this.sideZPanelNumberErrorText;case"sideAPort":return this.sideAPortErrorText;case"sideZPort":return this.sideZPortErrorText;case"sideACarrierCircuitID":return this.sideACarrierCircuitIDErrorText;case"sideZCarrierCircuitID":return this.sideZCarrierCircuitIDErrorText;default:return}}handleCircuitFieldChange(e,o,r){u.updateCircuitField(e,r,this.index),this.validateField(e,o,r),setTimeout(()=>{var i,a,l;const p=(l=(a=(i=this.shadowRoot)===null||i===void 0?void 0:i.querySelector('ix-grid[name="circuitGrid-'.concat(this.index,'"]')))===null||a===void 0?void 0:a.shadowRoot)===null||l===void 0?void 0:l.querySelector('ix-textbox[name="'.concat(r).concat(this.index,'"]'));p==null||p.focus()},0)}getFieldLabel(e,o){const r=e.replace(/^side[AZ]/,""),i=D[r];return typeof i=="function"?i(o):i||""}validateField(e,o,r){let i;e||(i="".concat(o," should be a minimum of 1 character(s).")),r==="sideAName"?this.sideANameErrorText=i:r==="sideZName"?this.sideZNameErrorText=i:r==="sideARoomNumber"?this.sideARoomNumberErrorText=i:r==="sideZRoomNumber"?this.sideZRoomNumberErrorText=i:r==="sideARackNumber"?this.sideARackNumberErrorText=i:r==="sideZRackNumber"?this.sideZRackNumberErrorText=i:r==="sideAPanelNumber"?this.sideAPanelNumberErrorText=i:r==="sideZPanelNumber"?this.sideZPanelNumberErrorText=i:r==="sideAPort"?this.sideAPortErrorText=i:r==="sideZPort"?this.sideZPortErrorText=i:r==="sideACarrierCircuitID"?this.sideACarrierCircuitIDErrorText=i:r==="sideZCarrierCircuitID"&&(this.sideZCarrierCircuitIDErrorText=i)}handleDeleteCircuit(){u.newTicket.circuits.splice(this.index,1)}render(){var e;const o=this.index>0&&!this.readonly;return c(A||(A=m(['\n <ix-accordion class="ix-accordion" isOpen>\n <div class="ix-accordion__title-container" slot="title">\n <div class="flex items-center">\n <svg\n class="circuit-icon"\n xmlns="http://www.w3.org/2000/svg"\n width="16"\n height="17"\n viewBox="0 0 16 17"\n >\n ',"\n </svg>\n Circuit ","\n </div>\n ",'\n </div>\n\n <ix-grid\n name="circuitGrid-','"\n class="ix-grid-cell-pointer-default"\n .columns=',"\n .rows=","\n .hideHeader=","\n .rowLimit=","\n ></ix-grid>\n </ix-accordion>\n "])),k,this.index+1,o?c(v||(v=m(['\n <div class="delete-icon__container">\n <ix-button\n name="deleteCircuit"\n appearance="text"\n class="w-[50px] inline-block"\n @click=','\n >\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="25"\n viewBox="0 0 24 25"\n fill="none"\n >\n ',"\n </svg>\n </ix-button>\n </div>\n "])),()=>this.handleDeleteCircuit(),w):C,this.index,this.getColumns(),(e=this.circuitRows)!==null&&e!==void 0?e:[],!0,6)}};t.styles=[Z,y,g],s([h()],t.prototype,"circuit",void 0),s([h()],t.prototype,"index",void 0),s([h({type:Boolean})],t.prototype,"readonly",void 0),s([d()],t.prototype,"sideANameErrorText",void 0),s([d()],t.prototype,"sideZNameErrorText",void 0),s([d()],t.prototype,"sideARoomNumberErrorText",void 0),s([d()],t.prototype,"sideZRoomNumberErrorText",void 0),s([d()],t.prototype,"sideARackNumberErrorText",void 0),s([d()],t.prototype,"sideZRackNumberErrorText",void 0),s([d()],t.prototype,"sideAPanelNumberErrorText",void 0),s([d()],t.prototype,"sideZPanelNumberErrorText",void 0),s([d()],t.prototype,"sideAPortErrorText",void 0),s([d()],t.prototype,"sideZPortErrorText",void 0),s([d()],t.prototype,"sideACarrierCircuitIDErrorText",void 0),s([d()],t.prototype,"sideZCarrierCircuitIDErrorText",void 0),t=s([R("pop-circuit")],t);export{t as PopCircuit};
@@ -0,0 +1 @@
1
+ import{__decorate as a}from"tslib";import{nothing as o,html as s}from"lit";import{MobxLitElement as D}from"@adobe/lit-mobx";import{state as l,property as d,customElement as V}from"lit/decorators.js";import"@digital-realty/ix-wizard/ix-wizard.js";import"@digital-realty/ix-wizard/ix-wizard-step.js";import"./ui-service-management4.js";import{TermsTicketTypes as z}from"../shared/ui-service-management10.js";import"./visitor-access/ui-service-management2.js";import"./osp/ui-service-management2.js";import"./pop/ui-service-management2.js";import"./pop/ui-service-management3.js";import"./pop/ui-service-management4.js";import"./permanent-badge/ui-service-management2.js";import"./permanent-badge/ui-service-management3.js";import"./permanent-badge/ui-service-management4.js";import"./visitor-access/ui-service-management3.js";import"./osp/ui-service-management3.js";import"./permanent-badge/ui-service-management5.js";import"./permanent-badge/ui-service-management6.js";import"./ui-service-management5.js";import{TermsServices as F}from"../../constants/ui-service-management2.js";import{visitorAccessState as M}from"../../state/ui-service-management7.js";import{permanentBadgeState as U}from"../../state/ui-service-management8.js";import{ospAccessState as W}from"../../state/ui-service-management6.js";import{popAccessState as j}from"../../state/ui-service-management5.js";import{RouteNames as p}from"../../routes/ui-service-management2.js";import{serviceTicketState as m}from"../../state/ui-service-management4.js";var h=Object.freeze,H=Object.defineProperty,r=(t,i)=>h(H(t,"raw",{value:h(i||t.slice())})),S,k,y,w,v,T,b,g,C,A,N,O,E,f,x,P,R,B,q;const e={Default:0,Terms:1,New:2,Additional:3,Summary:4,Result:5},L={"Visitor Access":[e.New,e.Summary],"Permanent Badge":[e.New,e.Summary],"OSP Access":[e.Terms,e.New,e.Summary],"PoP/POE Access":[e.New,e.Additional,e.Summary]},_=[e.Default,e.Result];let c=class extends D{constructor(){super(...arguments),this.currentStep=e.Default,this.accountAccepted=!1,this.isEditOn=!1}firstUpdated(){this.isEditOn&&(this.accountAccepted=!0),this.currentStep=this.isEditOn?e.New:this.currentStep}disconnectedCallback(){var t;super.disconnectedCallback(),this.isEditOn||(t=this.parentState)===null||t===void 0||t.clear()}get steps(){var t,i,n;return(n=L[(i=(t=this.parentState)===null||t===void 0?void 0:t.newTicket)===null||i===void 0?void 0:i.requestType])!==null&&n!==void 0?n:[]}get totalSteps(){return this.steps.length}get activeStepNumber(){return this.steps.indexOf(this.currentStep)+1}get hideStepCount(){return this.isEditOn||_.includes(this.currentStep)}handleWizardClose(){this.currentStep===e.Result&&(this.currentStep=e.New)}handleOnStartTicketCreation(t,i,n){this.setState(t),this.accountAccepted=!0,this.parentState.newTicket.requestType=t,this.parentState.newTicket.accountNumber=n,this.parentState.newTicket.category=i,t==="OSP Access"?this.currentStep=e.Terms:this.currentStep=e.New}setState(t){t==="Visitor Access"?this.parentState=M:t==="OSP Access"?this.parentState=W:t==="PoP/POE Access"?this.parentState=j:t==="Permanent Badge"&&(this.parentState=U)}renderRequestTypes(){return this.currentStep!==e.Default?o:s(S||(S=r([" <ix-wizard-step\n .isVisible=","\n .isNextButtonVisible=","\n >\n <facility-access-request-types\n .onStartButtonClick=","\n ></facility-access-request-types>\n </ix-wizard-step>"])),this.currentStep===e.Default,!1,t=>this.handleOnStartTicketCreation(t.requestType,t.category,t.accountNumber))}renderTermsStep(){return this.currentStep!==e.Terms?o:s(k||(k=r([" <ix-wizard-step\n .isVisible=","\n .isNextButtonVisible=","\n >\n <terms-and-conditions\n ticketType=","\n .onNextButtonClick=","\n .service=","\n .updateAgreeTerms=","\n .termsAgreed=","\n >\n </terms-and-conditions>\n </ix-wizard-step>"])),this.currentStep===e.Terms,!1,z.FacilityAccess,()=>{this.currentStep=e.New},F.FacilityAccess,t=>this.parentState.updateTermsAgreed(t),this.parentState.newTicket.termsAgreed)}renderNewStep(){if(!this.accountAccepted)return o;let t;if(this.parentState.newTicket.requestType==="Visitor Access")t=s(y||(y=r([" <create-edit-visitor-access-service-ticket\n .isEditOn=","\n .onNextButtonClick=","\n .onSubmitted=","\n .onCancelled=","\n ></create-edit-visitor-access-service-ticket>"])),this.isEditOn,()=>{this.currentStep=e.Summary},()=>{this.currentStep=e.Result},()=>this.toggleDrawer());else if(this.parentState.newTicket.requestType==="OSP Access")t=s(w||(w=r([" <create-edit-osp-access-service-ticket\n .isEditOn=","\n .onNextButtonClick=","\n .onSubmitted=","\n .onCancelled=","\n ></create-edit-osp-access-service-ticket>"])),this.isEditOn,()=>{this.currentStep=e.Summary},()=>{this.currentStep=e.Result},()=>this.toggleDrawer());else if(this.parentState.newTicket.requestType==="PoP/POE Access")t=s(v||(v=r([" <create-edit-pop-access-service-ticket\n .isEditOn=","\n .onNextButtonClick=","\n ></create-edit-pop-access-service-ticket>"])),this.isEditOn,()=>{this.currentStep=e.Additional});else if(this.parentState.newTicket.requestType==="Permanent Badge")switch(this.parentState.newTicket.category){case"New":t=s(T||(T=r([" <create-edit-permanent-badge-new-service-ticket\n .isEditOn=","\n .onNextButtonClick=","\n .onSubmitted=","\n .onCancelled=","\n ></create-edit-permanent-badge-new-service-ticket>"])),this.isEditOn,()=>{this.currentStep=e.Summary},()=>{this.currentStep=e.Result},()=>this.toggleDrawer());break;case"Modify":t=s(b||(b=r([" <create-edit-permanent-badge-modify-service-ticket\n .isEditOn=","\n .onCloseClick=","\n .onNextButtonClick=","\n .onSubmitted=","\n .onCancelled=","\n ></create-edit-permanent-badge-modify-service-ticket>"])),this.isEditOn,()=>this.onCloseClick(),()=>{this.currentStep=e.Summary},()=>{this.currentStep=e.Result},()=>this.toggleDrawer());break;case"Terminate":t=s(g||(g=r([" <create-edit-permanent-badge-terminate-service-ticket\n .isEditOn=","\n .onNextButtonClick=","\n .onSubmitted=","\n .onCancelled=","\n ></create-edit-permanent-badge-terminate-service-ticket>"])),this.isEditOn,()=>{this.currentStep=e.Summary},()=>{this.currentStep=e.Result},()=>this.toggleDrawer());break;default:t=o}return s(C||(C=r([" <ix-wizard-step\n .isVisible=","\n .isNextButtonVisible=","\n >\n ","\n </ix-wizard-step>"])),this.currentStep===e.New,!1,t)}renderNewAdditionalStep(){if(this.currentStep!==e.Additional)return o;const t=s(A||(A=r(["<create-edit-pop-access-service-ticket-additional\n .isEditOn=","\n .onNextButtonClick=","\n .onSubmitted=","\n .onCancelled=","\n ></create-edit-pop-access-service-ticket-additional>"])),this.isEditOn,()=>{this.currentStep=e.Summary},()=>{this.currentStep=e.Result},()=>this.toggleDrawer());return s(N||(N=r([" <ix-wizard-step\n .isVisible=","\n .isNextButtonVisible=","\n >\n ","\n </ix-wizard-step>"])),this.currentStep===e.Additional,!1,t)}renderSummaryStep(){if(this.isEditOn)return o;if(this.currentStep!==e.Summary)return o;let t;return this.parentState.newTicket.requestType==="Visitor Access"?t=s(O||(O=r([" <create-edit-visitor-access-summary\n .isEditOn=","\n .onEditButtonClicked=","\n .onSubmitted=","\n ></create-edit-visitor-access-summary>"])),this.isEditOn,()=>{this.currentStep=e.New},()=>{this.currentStep=e.Result}):this.parentState.newTicket.requestType==="OSP Access"?t=s(E||(E=r([" <create-edit-osp-access-summary\n .isEditOn=","\n .onEditButtonClicked=","\n .onSubmitted=","\n }}\n ></create-edit-osp-access-summary>"])),this.isEditOn,()=>{this.currentStep=e.New},()=>{this.currentStep=e.Result}):this.parentState.newTicket.requestType==="PoP/POE Access"?t=s(f||(f=r([" <create-edit-pop-access-summary\n .isEditOn=","\n .onEditButtonClicked=","\n .onSubmitted=","\n }}\n ></create-edit-pop-access-summary>"])),this.isEditOn,()=>{this.currentStep=e.New},()=>{this.currentStep=e.Result}):this.parentState.newTicket.requestType==="Permanent Badge"&&this.parentState.newTicket.category==="Terminate"?t=s(x||(x=r([" <create-edit-permanent-badge-terminate-summary\n .isEditOn=","\n .onEditButtonClicked=","\n .onSubmitted=","\n ></create-edit-permanent-badge-terminate-summary>"])),this.isEditOn,()=>{this.currentStep=e.New},()=>{this.currentStep=e.Result}):this.parentState.newTicket.requestType==="Permanent Badge"&&(t=s(P||(P=r([" <create-edit-permanent-badge-summary\n .isEditOn=","\n .onEditButtonClicked=","\n .onSubmitted=","\n ></create-edit-permanent-badge-summary>"])),this.isEditOn,()=>{this.currentStep=e.New},()=>{this.currentStep=e.Result})),s(R||(R=r([" <ix-wizard-step\n .isVisible=","\n .isNextButtonVisible=","\n >\n ","\n </ix-wizard-step>"])),this.currentStep===e.Summary,!1,t)}renderResultStep(){return this.currentStep!==e.Result?o:s(B||(B=r([" <ix-wizard-step\n .isVisible=","\n .isNextButtonVisible=","\n >\n <create-edit-facility-access-result\n .isEditOn=","\n .submitUpdateTicketRequest=","\n .submitNewTicketRequest=","\n .submissionResult=","\n .isSubmitting=","\n .onClose=","\n .ticketDetailsRoute=","\n .uploadingAttachmentsFailed=","\n .failedAttachments=","\n ></create-edit-facility-access-result>\n </ix-wizard-step>"])),this.currentStep===e.Result,!1,this.isEditOn,()=>this.parentState.submitUpdateTicketRequest(),()=>this.parentState.submitNewTicketRequest(),this.parentState.submissionResult,this.parentState.loadings.isSubmitting,()=>this.handleWizardClose(),this.TicketDetailsRoute,m.error.uploadingAttachments,m.failedAttachments)}get TicketDetailsRoute(){switch(this.parentState.newTicket.requestType){case"Visitor Access":return p.VisitorAccessTicketDetails;case"Permanent Badge":return p.PermanentBadgeTicketDetails;case"OSP Access":return p.OspAccessTicketDetails;case"PoP/POE Access":return p.PopAccessTicketDetails;default:return""}}get CreateEditFacilityAccessServiceTicket(){var t,i;let n;switch(this.parentState.newTicket.requestType){case"Visitor Access":n="create-edit-visitor-access-service-ticket";break;case"OSP Access":n="create-edit-osp-access-service-ticket";break;case"PoP/POE Access":n="create-edit-pop-access-service-ticket";break;case"Permanent Badge":switch(this.parentState.newTicket.category){case"New":n="create-edit-permanent-badge-new-service-ticket";break;case"Modify":n="create-edit-permanent-badge-modify-service-ticket";break;default:n=""}break;default:n=""}return(i=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(n))!==null&&i!==void 0?i:null}get TermsAndConditions(){var t,i;return(i=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("terms-and-conditions"))!==null&&i!==void 0?i:null}get enableNextStepClick(){var t,i;switch(this.currentStep){case e.New:return this.parentState.isNewTicketValid;case e.Additional:return(i=(t=this.parentState)===null||t===void 0?void 0:t.isAdditionalComponentValid)!==null&&i!==void 0?i:!1;case e.Terms:return this.parentState.newTicket.termsAgreed;default:return!0}}handleNextStepClick(){var t,i,n,u;this.currentStep===e.New?(t=this.CreateEditFacilityAccessServiceTicket)===null||t===void 0||t.handleNextClick():this.currentStep===e.Additional?(n=(i=this.shadowRoot)===null||i===void 0?void 0:i.querySelector("create-edit-pop-access-service-ticket-Additional"))===null||n===void 0||n.handleNextClick():this.currentStep===e.Terms?(u=this.TermsAndConditions)===null||u===void 0||u.handleNextClick():this.currentStep+=1}handlePrevStepClick(){!this.isEditOn&&this.currentStep===this.steps[0]?(this.currentStep=e.Default,this.parentState.clear()):this.isEditOn&&this.currentStep===e.New?this.toggleDrawer():this.currentStep===e.Summary?this.parentState.newTicket.requestType==="PoP/POE Access"?this.currentStep-=1:this.currentStep-=2:this.currentStep-=1}render(){return s(q||(q=r(["\n <ix-wizard\n .totalSteps=","\n .currentStep=","\n .hideStepCount=","\n .hideNextStep=","\n .onNextStepClick=","\n .onPrevStepClick=","\n .enableNextStepClick=","\n .enableHideCloseButton=","\n .onCloseClick=","\n .onMinimiseClick=","\n >\n "," ","\n "," ","\n ","","\n </ix-wizard>\n "])),this.totalSteps,this.activeStepNumber,this.hideStepCount,this.currentStep===e.Summary,()=>this.handleNextStepClick(),()=>this.handlePrevStepClick(),this.enableNextStepClick,!this.isEditOn,()=>this.onCloseClick(),()=>this.onMinimiseClick(),this.renderRequestTypes(),this.renderTermsStep(),this.renderNewStep(),this.renderNewAdditionalStep(),this.renderSummaryStep(),this.renderResultStep())}};c.styles=[],a([l()],c.prototype,"currentStep",void 0),a([l()],c.prototype,"accountAccepted",void 0),a([d()],c.prototype,"parentState",void 0),a([d({type:Boolean})],c.prototype,"isEditOn",void 0),a([d({type:Function})],c.prototype,"toggleDrawer",void 0),a([d({type:Function})],c.prototype,"onCloseClick",void 0),a([d({type:Function})],c.prototype,"onMinimiseClick",void 0),c=a([V("facility-access-service-ticket-wizard")],c);export{c as FacilityAccessServiceTicketWizard,e as ServiceTicketSteps};
@@ -0,0 +1 @@
1
+ import{__decorate as d}from"tslib";import"@digital-realty/ix-button/ix-button.js";import"@digital-realty/ix-chip/ix-chip.js";import"@digital-realty/ix-date/ix-date.js";import"@digital-realty/ix-grid/ix-grid.js";import{LitElement as g,html as a,nothing as w}from"lit";import{property as c,customElement as x}from"lit/decorators.js";import{FacilityAccessStyles as I}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as M}from"../../styles/ui-service-management5.js";import{TWStyles as L}from"../../ui-service-management2.js";import{getAllowedLocations as b}from"../../services/ui-service-management5.js";import{LocationPrivilegeLevels as D}from"../../constants/ui-service-management4.js";import{InfoIconOutlined as T}from"../shared/ui-service-management11.js";var m=Object.freeze,B=Object.defineProperty,n=(i,t)=>m(B(i,"raw",{value:m(t||i.slice())})),p,h,y,f,v,u;const S=window.globalConfig;let o=class extends g{constructor(){super(...arguments),this.greyOutParentLocations=!1,this.maxRows=5,this.locationsImpliedMap=new Map,this.locationsImpliedByMap=new Map,this.formatOxfordCommaList=i=>{const t=[...i];if(t.length<=1)return t.join("");const e=t.pop();return t.length===1?"".concat(t[0]," and ").concat(e):"".concat(t.join(", "),", and ").concat(e)},this.formatLocationImplicationMessage=i=>a(p||(p=n(["Selecting\n location"," ","\n will give you access to all inherited spaces that are physically required to\n gain access to the selected space","."])),i.length>1?"s":"",this.formatOxfordCommaList(i.sort()),i.length>1?"s":"")}async firstUpdated(){this.greyOutParentLocations&&this.locationPermissionType&&this.site.siteId&&(this.userLocations=await b(D.Create,this.locationPermissionType,"Facilities_access",this.site.siteId,void 0),this.buildDemarcations(this.items,this.userLocations),this.items.forEach(i=>{this.items.forEach(t=>{t.id!==i.id&&t.demarcation.startsWith(i.demarcation)&&(this.locationsImpliedByMap.has(i.id)||this.locationsImpliedByMap.set(i.id,[]),this.locationsImpliedByMap.get(i.id).push(t.id),this.locationsImpliedMap.has(t.id)||this.locationsImpliedMap.set(t.id,[]),this.locationsImpliedMap.get(t.id).push(i.id))})}),this.requestUpdate())}get showLocationDates(){return!S["SM:HideLocationDates"]}buildDemarcations(i,t){i.forEach(e=>{const s=t.find(l=>l.id===e.id),r=[s.floor,s.room,s.cage,s.row,s.rack];e.demarcation=r.filter(l=>!!l).join(".")})}getColumns(){const i=[{name:"locations",header:"Locations",width:"180px",bodyRenderer:t=>a(h||(h=n(['<style>\n vaadin-grid::part(ix-disabled-cell) {\n background-color: #fff;\n }\n </style>\n <div class="overflow-hidden">\n <div>',"</div>\n </div>"])),t.id)}];return this.showLocationDates&&i.push({name:"startDateTime",header:"Start Date & Time",width:"75px",bodyRenderer:t=>a(y||(y=n([' <div>\n <ix-date\n type="static"\n variant="date-time"\n .value=',"\n noTimeZoneConversion\n >\n </ix-date>\n </div>"])),t.startDate)},{name:"endDateTime",header:"End Date & Time",width:"75px",bodyRenderer:t=>a(f||(f=n([' <div>\n <ix-date\n type="static"\n variant="date-time"\n .value=',"\n noTimeZoneConversion\n >\n </ix-date>\n </div>"])),t.endDate)}),i}render(){return a(u||(u=n(['<div class="facility-access-summary-site-grid">\n <div class="facility-access-summary-site-grid__header">\n <span class="facility-access-summary-site-grid__header_location"\n >',"</span\n >\n </div>\n ",'\n\n <ix-grid\n session-storage-key="sm-facility-access"\n class="ix-grid-cell-pointer-default"\n column-reordering-allowed\n .columns=',"\n .rows=","\n .rowLimit=","\n hideHeader\n hideColumnHeaders\n >\n </ix-grid>\n </div>"])),this.site.displayName,this.items.some(i=>this.locationsImpliedMap.has(i.id))?a(v||(v=n(['<div class="location-implication-info">\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n style="fill: var(--ix-font-color); flex-shrink: 0;"\n >\n ','\n </svg>\n <div class="dlr-text-caption">\n ',"\n </div>\n </div>"])),T,this.formatLocationImplicationMessage(this.items.filter(i=>this.locationsImpliedMap.has(i.id)&&!this.locationsImpliedByMap.has(i.id)).map(i=>i.id))):w,this.getColumns(),this.items.map(i=>{var t;return{...i,disabled:(t=this.locationsImpliedByMap.has(i.id))!==null&&t!==void 0?t:!1}}).sort((i,t)=>{var e,s;if(i.demarcation&&t.demarcation){if(!((e=this.locationsImpliedMap.get(i.id))===null||e===void 0)&&e.find(r=>r===t.id))return-1;if(!((s=this.locationsImpliedByMap.get(i.id))===null||s===void 0)&&s.find(r=>r===t.id))return 1}return i.id<t.id?-1:1}),this.maxRows)}};o.styles=[L,M,I],d([c({type:Array})],o.prototype,"items",void 0),d([c({type:Object})],o.prototype,"site",void 0),d([c({type:Boolean})],o.prototype,"greyOutParentLocations",void 0),d([c({type:String})],o.prototype,"locationPermissionType",void 0),o=d([x("facility-access-summary-site-grid")],o);export{o as FacilityAccessSummarySiteGrid};
@@ -0,0 +1 @@
1
+ import{__decorate as r}from"tslib";import{LitElement as c,html as o,nothing as f}from"lit";import{property as l,customElement as h}from"lit/decorators.js";import"@digital-realty/ix-email-list/ix-email-list.js";import"@digital-realty/ix-file-uploader/ix-file-uploader.js";import{ServiceTicketsStyles as u}from"../../styles/ui-service-management5.js";import{extensions as y}from"../../constants/ui-service-management2.js";import{TWStyles as v}from"../../ui-service-management2.js";var n=Object.freeze,w=Object.defineProperty,s=(e,t)=>n(w(e,"raw",{value:n(t||e.slice())})),d,p;let i=class extends c{constructor(){super(...arguments),this.ticketAttachments=[],this.isEditOn=!1}async handleFileUploaded(e){const t=await Promise.all(e.detail.filesUploaded.map(async a=>({fileName:a.file.name,fileType:a.file.type,file:await a.file.arrayBuffer()})));this.parentState.updateAttachments(t)}handleFileDelete(e){var t;const a=e.detail.file.name;this.parentState.newTicket.attachments=(t=this.parentState.newTicket.attachments)===null||t===void 0?void 0:t.filter(m=>m.fileName!==a)}render(){return o(p||(p=s([' <div class="form-wrapper__fields form-margin">\n <slot name="title"></slot>\n ',"\n </div>"])),this.parentState.newTicket.attachments?o(d||(d=s([" <ix-file-uploader\n .defaultFiles=","\n .extensions=","\n .allowMultipleFiles=",'\n headerText="Click here to browse your device or drop files to upload"\n bodyText="Max file size is 10MB with accepted file formats of: JPG (JPEG), PNG, PDF, GIF, DOC/X, XLS/X, CSV"\n @on-files-uploaded=',"\n @on-file-removed=","\n ></ix-file-uploader>"])),this.isEditOn?this.ticketAttachments:[],y,!0,e=>this.handleFileUploaded(e),e=>this.handleFileDelete(e)):f)}};i.styles=[u,v],r([l()],i.prototype,"parentState",void 0),r([l()],i.prototype,"ticketAttachments",void 0),r([l({type:Boolean})],i.prototype,"isEditOn",void 0),i=r([h("create-edit-attachments")],i);export{i as CreateEditAttachments};
@@ -0,0 +1 @@
1
+ import{__decorate as e}from"tslib";import{LitElement as E,html as r,nothing as m}from"lit";import{state as v,property as s,customElement as f}from"lit/decorators.js";import"@digital-realty/ix-textbox/ix-textbox.js";import"@digital-realty/ix-dialog/ix-dialog.js";import"@digital-realty/ix-button/ix-button.js";import"@digital-realty/ix-toast/ix-toasters.js";import"@digital-realty/ix-toast/ix-message-toast.js";import"@digital-realty/ix-phone-input/ix-phone-input.js";import{isPossiblePhoneNumber as N}from"libphonenumber-js";import{isValidEmail as C}from"../../helpers/ui-service-management20.js";import{FacilityAccessStyles as F}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as L}from"../../styles/ui-service-management5.js";import{TWStyles as w}from"../../ui-service-management2.js";import{permanentBadgeState as V}from"../../state/ui-service-management8.js";var u=Object.freeze,q=Object.defineProperty,l=(t,a)=>u(q(t,"raw",{value:u(a||t.slice())})),c,x,y,g,T;const B={firstName:!1,lastName:!1,phone:!1,email:!1,company:!1,visitorType:!1},S={firstName:!0,lastName:!0,phone:!1,email:!0,company:!1,visitorType:!1},h={id:crypto.randomUUID(),firstName:"",lastName:"",email:"",phone:""},b={firstNameMaxLength:40,firstNameErrorText:void 0,lastNameMaxLength:40,lastNameErrorText:void 0,phoneMaxLength:40,emailMaxLength:100,emailErrorText:void 0,duplicatedEmail:!1,companyMaxLength:32,companyErrorText:void 0,phoneErrorText:void 0,visitorTypeErrorText:void 0},d="* Required";let i=class extends E{constructor(){super(...arguments),this.validations=b,this.inputs=h,this.isDialogOpen=!0,this.isPermanentBadge=!1,this.showCompany=!1,this.showVisitorType=!1,this.dialogLabel="Visitor",this.disableFields=B,this.requiredFields=S,this.isEditOn=!1}firstUpdated(){this.resetStates(),Object.entries(this.inputs).filter(([t])=>t!=="id").some(([,t])=>t!=="")&&this.validateForm()}get isRequiredInputsFilled(){return Object.entries(this.requiredFields).every(([t,a])=>a?!!this.inputs[t]:!0)}get isFormValid(){return this.isRequiredInputsFilled&&!this.validations.firstNameErrorText&&!this.validations.lastNameErrorText&&!this.validations.emailErrorText&&!this.validations.duplicatedEmail&&!this.validations.companyErrorText&&!this.validations.phoneErrorText&&!this.validations.visitorTypeErrorText}get heading(){const t=this.item?"Edit":"Add";return"".concat(t," ").concat(this.dialogLabel)}get submitButtonLabel(){return this.item?"SAVE CHANGES":"SAVE NEW ".concat(this.dialogLabel.toUpperCase())}resetStates(){this.validations={...b},this.item?this.inputs={...h,...this.item}:this.inputs={...h,id:crypto.randomUUID()}}async handleAddVisitor(){await this.validateForm(),this.isFormValid&&this.onClose(this.inputs)}async validateForm(){var t,a,n;this.validateFirstName(this.inputs.firstName),this.validateLastName(this.inputs.lastName),this.validateEmail(this.inputs.email),await this.validateActiveBadgeForEmail(this.inputs.email),this.validateCompany((t=this.inputs.company)!==null&&t!==void 0?t:""),this.validatePhoneNumber((a=this.inputs.phone)!==null&&a!==void 0?a:""),this.validateVisitorType((n=this.inputs.visitorType)!==null&&n!==void 0?n:""),this.requestUpdate()}async validateActiveBadgeForEmail(t){var a,n;if(this.validations.duplicatedEmail=!1,!this.isPermanentBadge||!t)return;const p=(n=(a=(await V.getPermanentBadgeHolders(t)).items)===null||a===void 0?void 0:a.some(o=>o.email===t&&o.activeBadge===!0))!==null&&n!==void 0?n:!1;if(this.validations.duplicatedEmail=p,p){const o=crypto.randomUUID();window.dispatchEvent(new CustomEvent("add-toast",{detail:{id:"visitor-duplicate-email-".concat(o),uuid:o,content:r(c||(c=l(['<style>\n .visitor-duplicate-email-toast {\n font-family: var(--root-primary-font, \'Open Sans\');\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n letter-spacing: 0.25px;\n vertical-align: middle;\n }\n </style>\n <ix-message-toast\n class="visitor-duplicate-email-toast"\n toastId="visitor-duplicate-email"\n type="error"\n .hasClose=',"\n >A badge holder with this email already exists in the system. If\n you would like to update the access for this badge holder,\n please, go back and select the Modify Access\n Category.</ix-message-toast\n >"])),!1),autoClose:1e4,vertical:"bottom",horizontal:"center"}}))}}validateEmail(t){this.requiredFields.email&&t.length===0?this.validations.emailErrorText=d:C(t)?this.validations.emailErrorText=void 0:this.validations.emailErrorText="Invalid visitor email address"}validateFirstName(t){this.validations.firstNameErrorText=t.length===0?d:void 0}validateLastName(t){this.validations.lastNameErrorText=t.length===0?d:void 0}validatePhoneNumber(t){if(t.length){if(t.length>this.validations.phoneMaxLength){this.validations.phoneErrorText="Phone number exceeds maximum length of ".concat(this.validations.phoneMaxLength," characters");return}if(!N(t)){this.validations.phoneErrorText="Invalid visitor phone number";return}}this.validations.phoneErrorText=void 0}validateCompany(t){this.validations.companyErrorText=this.requiredFields.company&&!t.length?d:void 0}validateVisitorType(t){this.validations.visitorTypeErrorText=this.requiredFields.visitorType&&t.length===0?d:void 0}handleFirstNameChange(t){this.validateFirstName(t),this.inputs={...this.inputs,firstName:t}}handleLastNameChange(t){this.validateLastName(t),this.inputs={...this.inputs,lastName:t}}handleEmailChange(t){this.validateEmail(t),this.inputs={...this.inputs,email:t}}handlePhoneChange(t){this.validatePhoneNumber(t),this.inputs={...this.inputs,phone:t}}handleCompanyChange(t){t=t.trim(),this.validateCompany(t),this.inputs={...this.inputs,company:t}}handleVistorTypeChange(t){this.validateVisitorType(t),this.inputs={...this.inputs,visitorType:t}}renderVisitorType(){return this.showVisitorType?r(x||(x=l([' <ix-select\n label="Visitor Type"\n name="visitorType"\n .error=',"\n .errorText=",'\n menu-positioning="fixed"\n .wideMenu=',"\n .disabled=","\n .required=","\n @input=","\n >\n <ix-select-option\n value=","\n .selected=",'\n >\n <div slot="headline">',"</div>\n </ix-select-option>\n <ix-select-option\n value=","\n .selected=",'\n >\n <div slot="headline">',"</div>\n </ix-select-option>\n </ix-select>"])),!!this.validations.visitorTypeErrorText,this.validations.visitorTypeErrorText,!0,this.disableFields.visitorType,this.requiredFields.visitorType,t=>this.handleVistorTypeChange(t.target.value),"Visitor",this.inputs.visitorType==="Visitor","Visitor","Contractor",this.inputs.visitorType==="Contractor","Contractor"):m}renderBody(){return r(g||(g=l(['\n <div class="form-wrapper allow-overflow">\n <div class="form-wrapper__fields ml-0 pr-0">\n <div class="col-2">\n <ix-textbox\n label="First Name"\n name="firstNameTxt"\n .maxLength=',"\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n .required=","\n @input=",'\n ></ix-textbox>\n\n <ix-textbox\n label="Last Name"\n name="lastNameTxt"\n .maxLength=',"\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n .required=","\n @input=",'\n ></ix-textbox>\n </div>\n\n <ix-textbox\n label="Email Address"\n name="emailTxt"\n .maxLength=',"\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n .required=",'\n type="email"\n @input=','\n ></ix-textbox>\n\n <ix-phone-input\n class="w-full"\n label="Phone Number"\n name="phoneTxt"\n type="tel"\n .value=',"\n .error=","\n .errorText=","\n @input=","\n .disabled=","\n .required=","\n ></ix-phone-input>\n\n ","\n ","\n </div>\n\n <ix-toasters> </ix-toasters>\n </div>\n "])),this.validations.firstNameMaxLength,this.inputs.firstName,!!this.validations.firstNameErrorText,this.validations.firstNameErrorText,this.disableFields.firstName,this.requiredFields.firstName,t=>this.handleFirstNameChange(t.target.value),this.validations.lastNameMaxLength,this.inputs.lastName,!!this.validations.lastNameErrorText,this.validations.lastNameErrorText,this.disableFields.lastName,this.requiredFields.lastName,t=>this.handleLastNameChange(t.target.value),this.validations.emailMaxLength,this.inputs.email,!!this.validations.emailErrorText||this.validations.duplicatedEmail,this.validations.emailErrorText,this.disableFields.email,this.requiredFields.email,t=>this.handleEmailChange(t.target.value),this.inputs.phone?this.inputs.phone:"",this.validations.phoneErrorText,this.validations.phoneErrorText,t=>this.handlePhoneChange(t.target.value),this.disableFields.phone,this.requiredFields.phone,this.showCompany?r(y||(y=l([' <ix-textbox\n label="Company"\n name="companyTxt"\n .error=',"\n .errorText=","\n .maxLength=","\n .value=","\n @input=","\n .disabled=","\n .required=","\n ></ix-textbox>"])),!!this.validations.companyErrorText,this.validations.companyErrorText,this.validations.companyMaxLength,this.inputs.company,t=>this.handleCompanyChange(t.target.value),this.disableFields.company,this.requiredFields.company):m,this.renderVisitorType())}render(){return r(T||(T=l([' <ix-dialog\n id="addVisitorDialog"\n class="selection-dialog"\n ?open=','\n allowOverflow\n preventCloseOnScrimClick="true"\n @closed=',"\n @close=",'\n >\n <div class="selection-dialog-header" slot="headline">','</div>\n <form\n slot="content"\n id="add-visitor-form-id"\n class="contact-details-dialog"\n method="dialog"\n >\n ','\n </form>\n <div slot="actions">\n <ix-button appearance="text" @click=','>\n <span class="button-label">DISMISS</span>\n </ix-button>\n <ix-button\n appearance="text"\n name="submitBtn"\n @click=','\n >\n <span class="button-label">',"</span>\n </ix-button>\n </div>\n </ix-dialog>"])),this.isDialogOpen,()=>this.onClose(),()=>this.onClose(),this.heading,this.renderBody(),()=>this.onClose(),()=>this.handleAddVisitor(),this.submitButtonLabel)}};i.styles=[L,w,F],e([v()],i.prototype,"validations",void 0),e([v()],i.prototype,"inputs",void 0),e([s({type:String})],i.prototype,"serviceBackend",void 0),e([s({type:Function})],i.prototype,"onClose",void 0),e([s({type:Object})],i.prototype,"item",void 0),e([s({type:Boolean})],i.prototype,"isDialogOpen",void 0),e([s({type:Boolean})],i.prototype,"isPermanentBadge",void 0),e([s({type:Boolean})],i.prototype,"showCompany",void 0),e([s({type:Boolean})],i.prototype,"showVisitorType",void 0),e([s({type:String})],i.prototype,"dialogLabel",void 0),e([s({type:Object})],i.prototype,"disableFields",void 0),e([s({type:Object})],i.prototype,"requiredFields",void 0),e([s({type:Boolean})],i.prototype,"isEditOn",void 0),i=e([f("add-edit-visitor-dialog")],i);export{i as AddEditVisitorDialog};
@@ -0,0 +1 @@
1
+ import{__decorate as s}from"tslib";import"@digital-realty/ix-button/ix-button.js";import"@digital-realty/ix-checkbox/ix-checkbox.js";import"@digital-realty/ix-date/ix-date.js";import"@digital-realty/ix-date-next/ix-date-next.js";import"@digital-realty/ix-dialog/ix-dialog.js";import"@digital-realty/ix-divider/ix-divider.js";import"@digital-realty/ix-textbox/ix-textbox.js";import"@digital-realty/ix-time/ix-time.js";import{LitElement as $,html as d,nothing as v}from"lit";import{state as u,property as c,customElement as tt}from"lit/decorators.js";import S from"moment";import{DefaultDateFormat as T,DisplayDateTimeFormat as x}from"../../constants/ui-service-management2.js";import{getLocationDisplayName as f}from"../../helpers/ui-service-management2.js";import{lookups as y}from"../../state/ui-service-management.js";import{FacilityAccessStyles as it}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as et}from"../../styles/ui-service-management5.js";import{TWStyles as at}from"../../ui-service-management2.js";import nt from"../../services/ui-service-management4.js";import{minHistoricalDate as E}from"../../constants/ui-service-management9.js";var b=Object.freeze,ot=Object.defineProperty,r=(t,e)=>b(ot(t,"raw",{value:b(e||t.slice())})),w,C,_,N,I,M,A,k,q,B,O,z,F,P,Z,U,j,R,V,H,W,G,J,K,Q,L;function X(){return{siteErrorText:void 0,startDateErrorText:new Map,endDateErrorText:new Map,startTimeErrorText:new Map,endTimeErrorText:new Map}}let o=L=class extends ${get siteTimezone(){var t,e;return this._siteTimezone||(this._siteTimezone=(e=(t=y.sites)===null||t===void 0?void 0:t.find(a=>{var i;return a.id===((i=this.dialogSite)===null||i===void 0?void 0:i.siteId)}))===null||e===void 0?void 0:e.timeZone),this._siteTimezone}constructor(){super(),this.allSelected=!1,this.validations=X(),this.availableSites=[],this.isDialogOpen=!0,this.requireEndDate=!1,this.showLocationDates=!1,this.showLocationTimes=!1,this.useSiteTimeZone=!1,this.disableSiteSelection=!1,this.disableLocationSelection=!1,this.useLocationName=!1,this.disabledOptionSupportingText="",this.fetchingLocations=!1,this.editingExistingSiteDetails=!1,this.firstUpdatedComplete=!1,this.useNewDatePickerComponent=nt.showNewDatePickerComponent()}async firstUpdated(){if(this.editingExistingSiteDetails=!!this.item,this.editingExistingSiteDetails){if(this.dialogSite={siteId:this.item.site.siteId,displayName:this.item.site.displayName,accountNumber:this.item.site.accountNumber,disabled:!1},this.dialogLocations=this.item.locations.map(t=>({id:t.id,selected:!0,name:t.name,displayName:this.useLocationName?t.name:t.id,startDate:t.startDate,endDate:t.endDate,startTime:t.startTime,endTime:t.endTime})),!this.disableLocationSelection){const t=(await this.getSiteLocations(this.dialogSite)).filter(e=>!this.dialogLocations.some(a=>a.id===e.id)).map(e=>({id:e.id,selected:!1,name:e.name,displayName:this.useLocationName?e.name:e.id}));this.dialogLocations=[...this.dialogLocations,...t].sort((e,a)=>e.displayName<a.displayName?-1:1),this.allSelected=t.length===0}}else this.dialogLocations=[];this.firstUpdatedComplete=!0}update(t){this.firstUpdatedComplete&&(t.has("dialogLocations")||t.has("dialogSite"))&&this.validateForm(),super.update(t)}parseDateString(t,e){return this.useSiteTimeZone&&this.siteTimezone?e?S.tz(t,e,this.siteTimezone):S.tz(t,this.siteTimezone):e?S(t,e):S(t)}get now(){return this.useSiteTimeZone&&this.siteTimezone?S().tz(this.siteTimezone):S()}getMinStartDate(t){return this.defaultLocationEndDate?this.defaultLocationEndDate:t?this.now.format(T):E}getMinEndDate(t,e){return this.defaultLocationEndDate?this.defaultLocationEndDate:e?t!=null?t:this.now.format(T):E}get maxStartDate(){return this.now.add(this.startDateMaxDaysInFuture,"days").format(T)}getMaxEndDate(t){return this.parseDateString(t||this.maxStartDate).add(this.maxDurationInDays,"days").format(T)}get isFormValid(){var t,e;const a=!!(!((t=this.dialogSite)===null||t===void 0)&&t.siteId),i=!!(!((e=this.dialogLocations)===null||e===void 0)&&e.length),n=this.showLocationDates?Array.from(this.validations.startDateErrorText.values()).every(p=>!p):!0,l=this.showLocationDates?Array.from(this.validations.endDateErrorText.values()).every(p=>!p):!0,h=this.showLocationTimes?Array.from(this.validations.startTimeErrorText.values()).every(p=>!p):!0,m=this.showLocationTimes?Array.from(this.validations.endTimeErrorText.values()).every(p=>!p):!0;return a&&i&&n&&l&&h&&m}dismissSiteDetails(){this.onClose(),this.validations=X()}handleAddSiteDetails(){this.validateForm(!0),this.isFormValid&&(this.item||(this.item={}),this.item.site=this.dialogSite,this.item.locations=this.dialogLocations.filter(t=>t.selected).map(t=>({id:t.id,name:t.name,startDate:t.startDate||"",endDate:t.endDate||"",startTime:t.startTime,endTime:t.endTime})),this.onClose(this.item))}validateForm(t=!1){this.showLocationDates&&(this.validateStartDate(t),this.validateEndDate(t)),this.showLocationTimes&&(this.validateStartTime(t),this.validateEndTime(t)),this.requestUpdate("validations")}async handleSiteSelect(t){var e,a;if(this.dialogLocations=[],t){this.dialogSite=t,this._siteTimezone=(a=(e=y.sites)===null||e===void 0?void 0:e.find(i=>i.id===t.siteId))===null||a===void 0?void 0:a.timeZone,this.fetchingLocations=!0;try{this.dialogLocations=(await this.getSiteLocations(t)).map(i=>({id:i.id,selected:!1,displayName:this.useLocationName?i.name:i.id,name:i.name}))}finally{this.fetchingLocations=!1}}}handleLocationChecked(t,e){if(t){const a=this.dialogLocations.find(i=>i.id===t);e?(a.selected=!0,a.startDate=a.startDate||this.defaultLocationStartDate||"",a.endDate=a.endDate||this.defaultLocationEndDate||"",this.dialogLocations=[...this.dialogLocations]):(a.selected=!1,a.startDate=void 0,a.startTime=void 0,a.endDate=void 0,a.endTime=void 0,this.dialogLocations=[...this.dialogLocations])}}handleLocationStartDateChange(t,e){const a=this.dialogLocations.find(i=>i.id===t);a.startDate=e,this.dialogLocations=[...this.dialogLocations]}handleLocationEndDateChange(t,e){const a=this.dialogLocations.find(i=>i.id===t);a.endDate=e,this.dialogLocations=[...this.dialogLocations]}handleStartTimeChange(t,e){const a=this.dialogLocations.find(i=>i.id===t);a.startTime=e,this.dialogLocations=[...this.dialogLocations]}handleEndTimeChange(t,e){const a=this.dialogLocations.find(i=>i.id===t);a.endTime=e,this.dialogLocations=[...this.dialogLocations]}hasLocationChanged(t){var e;const{startDate:a,startTime:i,endDate:n,endTime:l}=this.dialogLocations.find(m=>m.id===t),h=(e=this.item)===null||e===void 0?void 0:e.locations.find(m=>m.id===t);return!(h&&a===h.startDate&&i===h.startTime&&n===h.endDate&&l===h.endTime)}getLocationInputElement(t,e){const a=document.querySelector("ix-dialog-portal-host");if(a)return a.shadowRoot.querySelector("#".concat(this.generateDomId(t),"-").concat(e))}validateStartDate(t,e){const a=i=>{var n;if(this.validations.startDateErrorText.set(i,void 0),!this.hasLocationChanged(i))return;const{startDate:l,endDate:h,selected:m}=this.dialogLocations.find(p=>p.id===i);m&&(l?this.parseDateString(l).isBefore(this.now,"day")?this.validations.startDateErrorText.set(i,"Start Date cannot be earlier than today."):h&&this.parseDateString(h).isBefore(this.parseDateString(l),"day")?this.validations.startDateErrorText.set(i,"Start Date cannot be later than End Date."):l&&this.parseDateString(l).isAfter(this.parseDateString(this.maxStartDate))?this.validations.startDateErrorText.set(i,"Start Date cannot be more than ".concat(this.startDateMaxDaysInFuture," days from today.")):this.validations.startDateErrorText.set(i,void 0):t&&this.validations.startDateErrorText.set(i,"Please select a Start Date."),this.useNewDatePickerComponent&&this.validations.startDateErrorText.get(i)&&((n=this.getLocationInputElement(i,"start-date"))===null||n===void 0||n.validate()))};e?a(e):this.dialogLocations.forEach(i=>a(i.id))}validateEndDate(t,e){const a=i=>{var n;if(this.validations.endDateErrorText.set(i,void 0),!this.hasLocationChanged(i))return;const{startDate:l,endDate:h,selected:m}=this.dialogLocations.find(p=>p.id===i);m&&(h?l&&this.parseDateString(h).isBefore(this.parseDateString(l),"day")?this.validations.endDateErrorText.set(i,"End Date cannot be earlier than Start Date."):l&&this.parseDateString(h).isAfter(this.parseDateString(l).add(this.maxDurationInDays,"days"))&&this.validations.endDateErrorText.set(i,"End Date cannot be more than ".concat(this.maxDurationInDays," days from Start Date.")):t&&this.validations.endDateErrorText.set(i,"Please select an End Date."),this.useNewDatePickerComponent&&this.validations.endDateErrorText.get(i)&&((n=this.getLocationInputElement(i,"end-date"))===null||n===void 0||n.validate()))};e?a(e):this.dialogLocations.forEach(i=>a(i.id))}validateStartTime(t,e){const a=i=>{if(this.validations.startTimeErrorText.set(i,void 0),!this.hasLocationChanged(i))return;const{startTime:n,endTime:l,startDate:h,endDate:m,selected:p}=this.dialogLocations.find(g=>g.id===i);if(p){if(!n){t&&this.validations.startTimeErrorText.set(i,"Please select a Start Time.");return}if(h&&n){const g=this.parseDateString("".concat(h," ").concat(n),x);if(g.isSame(this.now,"day")&&g.isBefore(this.now)){this.validations.startTimeErrorText.set(i,"Start Time cannot be in the past");return}if(m&&l){const D=this.parseDateString("".concat(m," ").concat(l),x);g.isSame(D,"day")&&g.isSameOrAfter(D)&&this.validations.startTimeErrorText.set(i,"Start Time must be before End Time.")}}}};e?a(e):this.dialogLocations.forEach(i=>a(i.id))}validateEndTime(t,e){const a=i=>{if(this.validations.endTimeErrorText.set(i,void 0),!this.hasLocationChanged(i))return;const{startTime:n,startDate:l,endDate:h,endTime:m,selected:p}=this.dialogLocations.find(g=>g.id===i);if(p){if(!m){t&&this.validations.endTimeErrorText.set(i,"Please select an End Time.");return}if(h&&m){const g=this.parseDateString("".concat(h," ").concat(m),x);if(g.isSame(this.now,"day")&&g.isBefore(this.now)){this.validations.endTimeErrorText.set(i,"End Time cannot be in the past");return}if(l&&n){const D=this.parseDateString("".concat(l," ").concat(n),x);D.isSame(g,"day")&&g.isBefore(D)&&this.validations.endTimeErrorText.set(i,"End Time must be after Start Time.");const Y=D.clone().add({days:this.maxDurationInDays});g.isAfter(Y)&&this.validations.endTimeErrorText.set(i,"End Time must be within ".concat(this.maxDurationInDays," days of Start Time."))}}}};e?a(e):this.dialogLocations.forEach(i=>a(i.id))}handleSelectAll(t){this.allSelected=t,this.dialogLocations&&(this.dialogLocations=this.dialogLocations.map(e=>(e.selected=t,e)))}generateDomId(t){return t.replace(/[^a-zA-Z0-9-]/g,"-")}renderSiteSelection(){if(!this.availableSites.length)return d(w||(w=r([" <div>No Sites and Locations found</div>"])));const t=this.editingExistingSiteDetails?this.availableSites.filter(e=>{var a;return((a=this.item.site)===null||a===void 0?void 0:a.siteId)===e.siteId}):this.availableSites;return d(M||(M=r(["\n ","\n "])),this.disableSiteSelection?d(C||(C=r(['<span class="font-bold">',"</span>"])),this.item.site.displayName):d(I||(I=r([' <ix-select\n label="Site"\n menu-positioning="fixed"\n .wideMenu=',"\n required\n .disabled=","\n @input=","\n >\n ",'\n </ix-select>\n <span\n class="site-details-dialog__required-field dlr-text-caption text-on-disabled"\n >*Required</span\n >'])),!0,this.editingExistingSiteDetails,e=>{this.handleSiteSelect(e.target.value)},t.map(e=>d(N||(N=r([" <ix-select-option\n .value=","\n .selected=","\n ?disabled=","\n class=",'\n >\n <div slot="headline">',"</div>\n ","\n </ix-select-option>"])),e,this.editingExistingSiteDetails,e.disabled,"unsupported-select-option ".concat(e.disabled?"fade-label":""),e.displayName,e.disabled?d(_||(_=r(['<div slot="supporting-text" class="text-xs">\n ',"\n </div>"])),this.disabledOptionSupportingText):v))))}renderLocations(){var t;return this.dialogSite?this.fetchingLocations?d(A||(A=r([' <div class="w-full flex justify-center mt-12">\n <ix-progress .indeterminate='," .linear=","></ix-progress>\n </div>"])),!0,!1):d(F||(F=r(['\n <div class="site-details-dialog-locations">\n <div class="dlr-text-default site-details-dialog-locations__header">\n <span>Locations',"</span>\n ","\n </div>\n\n ","\n </div>\n "])),this.disableLocationSelection?"":"*",this.disableLocationSelection?v:d(B||(B=r([' <ix-button\n name="selectAllBtn"\n appearance="text"\n has-icon\n type="button"\n @click=','\n >\n <md-icon slot="icon">\n ','\n </md-icon>\n <span class="button-label">\n ',"\n </span>\n </ix-button>"])),()=>this.handleSelectAll(!this.allSelected),this.allSelected?d(k||(k=r(["clear_all"]))):d(q||(q=r(["playlist_add_check"]))),this.allSelected?"UNSELECT ALL":"SELECT ALL"),!((t=this.dialogLocations)===null||t===void 0)&&t.length?d(O||(O=r(['\n <div class="site-details-dialog-locations__body">\n ','\n </div>\n <span\n class="site-details-dialog__required-field dlr-text-caption text-on-disabled no-gap"\n >*Required</span\n >\n '])),this.dialogLocations.map((e,a)=>this.renderLocationRow(e.id,a))):d(z||(z=r([" <div>No locations found.</div>"])))):v}renderLocationRow(t,e){var a;if(!t)return v;const i=(a=this.dialogLocations)===null||a===void 0?void 0:a.find(n=>n.id===t);return d(K||(K=r([' <div class="site-details-dialog-locations__body_row">\n ',"\n ","\n </div>\n </div>\n\n ",""])),this.disableLocationSelection?d(P||(P=r(['<span class="location-name"\n >',"</span\n >"])),f(i)):d(Z||(Z=r(['<ix-checkbox\n class="location-name"\n .label=','\n name="location','Checkbox"\n @change=',"\n .checked=","\n >\n </ix-checkbox>"])),f(i),e,n=>this.handleLocationChecked(t,n.target.checked),i.selected),!i.selected||!this.showLocationDates?v:d(G||(G=r([' <div\n class="site-details-dialog-locations__body-row-dates ','"\n >\n <div\n class="site-details-dialog-locations__body-row-dates__sub-section"\n >\n ',"\n ",'\n </div>\n <div\n class="site-details-dialog-locations__body-row-dates__sub-section"\n >\n ',"\n ","\n </div>\n </div>"])),this.showLocationTimes&&"showLocationTimes",this.useNewDatePickerComponent?d(U||(U=r(["<ix-date-next\n id=",'\n type="default"\n label="Start Date"\n ?showCalendarOnMouseDown=',"\n required\n .value=","\n .min=","\n .max=","\n .errorText=","\n .onChanged=","\n ></ix-date-next>"])),"".concat(this.generateDomId(t),"-start-date"),!0,i==null?void 0:i.startDate,this.getMinStartDate(this.hasLocationChanged(i.id)),this.maxStartDate,this.validations.startDateErrorText.get(i.id),n=>this.handleLocationStartDateChange(t,n)):d(j||(j=r(['<ix-date\n type="default"\n label="Start Date"\n name="startDate"\n ?showCalendarOnMouseDown=',"\n required\n .value=","\n error=","\n .errorText=","\n .min=","\n .max=","\n .onChanged=","\n ></ix-date>"])),!0,i==null?void 0:i.startDate,!!this.validations.startDateErrorText.get(i.id),this.validations.startDateErrorText.get(i.id),this.getMinStartDate(this.hasLocationChanged(i.id)),this.maxStartDate,n=>this.handleLocationStartDateChange(t,n)),this.showLocationTimes?d(R||(R=r([' <ix-time\n type="static"\n .value=','\n required\n label="Start Time"\n name="startTime"\n ?error=',"\n .errorText=","\n .onChanged=","\n ></ix-time>"])),i==null?void 0:i.startTime,!!this.validations.startTimeErrorText.get(i.id),this.validations.startTimeErrorText.get(i.id),n=>this.handleStartTimeChange(t,n)):v,this.useNewDatePickerComponent?d(V||(V=r(["<ix-date-next\n id=",'\n type="default"\n label="End Date"\n ?required=',"\n showCalendarOnMouseDown\n .value=","\n .min=","\n .max=","\n .errorText=","\n .onChanged=","\n ></ix-date-next>"])),"".concat(this.generateDomId(t),"-end-date"),this.requireEndDate,i==null?void 0:i.endDate,this.getMinEndDate(i==null?void 0:i.startDate,this.hasLocationChanged(i.id)),this.getMaxEndDate(i==null?void 0:i.startDate),this.validations.endDateErrorText.get(i.id),n=>this.handleLocationEndDateChange(t,n)):d(H||(H=r(['<ix-date\n type="default"\n label="End Date"\n name="endDate"\n ?required=',"\n ?showCalendarOnMouseDown=","\n .value=","\n error=","\n .errorText=","\n .min=","\n .max=","\n .onChanged=","\n ></ix-date>"])),this.requireEndDate,!0,i==null?void 0:i.endDate,!!this.validations.endDateErrorText.get(i.id),this.validations.endDateErrorText.get(i.id),this.getMinEndDate(i==null?void 0:i.startDate,this.hasLocationChanged(i.id)),this.getMaxEndDate(i==null?void 0:i.startDate),n=>this.handleLocationEndDateChange(t,n)),this.showLocationTimes?d(W||(W=r([' <ix-time\n type="static"\n .value=','\n required\n label="End Time"\n name="endTime"\n ?error=',"\n .errorText=","\n .onChanged=","\n ></ix-time>"])),i==null?void 0:i.endTime,!!this.validations.endTimeErrorText.get(i.id),this.validations.endTimeErrorText.get(i.id),n=>this.handleEndTimeChange(t,n)):v),this.dialogLocations&&e===this.dialogLocations.length-1?v:d(J||(J=r([" <ix-divider></ix-divider>"]))))}render(){var t,e;return d(Q||(Q=r([" <ix-dialog\n use-native-dialog\n .contentStyles=",'\n id="addSiteDetailsDialog"\n class="selection-dialog"\n ?open=',"\n @closed=","\n @close=",'\n >\n <div class="site-details-dialog-header" slot="headline">\n ','\n </div>\n <form\n slot="content"\n id="add-site-details-form-id"\n method="dialog"\n class="site-details-dialog-container"\n >\n '," ",'\n </form>\n <div slot="actions" class="site-details-dialog-actions">\n <ix-button\n name="closeBtn"\n appearance="text"\n @click=','\n >\n <span class="button-label">DISMISS</span>\n </ix-button>\n <ix-button\n appearance="text"\n name="submitBtn"\n @click=',"\n .disabled=",'\n >\n <span class="button-label">SAVE SITE & LOCATIONS</span>\n </ix-button>\n </div>\n </ix-dialog>'])),L.styles,this.isDialogOpen,()=>this.onClose(),()=>this.onClose(),this.editingExistingSiteDetails?"Edit Site & Locations":"Add Site & Locations",this.renderSiteSelection(),this.renderLocations(),()=>this.dismissSiteDetails(),()=>this.handleAddSiteDetails(),!this.dialogSite||!(!((e=(t=this.dialogLocations)===null||t===void 0?void 0:t.filter(a=>a.selected))===null||e===void 0)&&e.length))}};o.styles=[et,it,at],s([u()],o.prototype,"allSelected",void 0),s([u()],o.prototype,"validations",void 0),s([c({type:Function})],o.prototype,"onClose",void 0),s([c({type:Object})],o.prototype,"item",void 0),s([c({type:Object})],o.prototype,"availableSites",void 0),s([c({type:Boolean})],o.prototype,"isDialogOpen",void 0),s([c({type:String})],o.prototype,"defaultLocationStartDate",void 0),s([c({type:String})],o.prototype,"defaultLocationEndDate",void 0),s([c({type:Boolean})],o.prototype,"requireEndDate",void 0),s([c({type:Boolean})],o.prototype,"showLocationDates",void 0),s([c({type:Boolean})],o.prototype,"showLocationTimes",void 0),s([c({type:Boolean})],o.prototype,"useSiteTimeZone",void 0),s([c({type:String})],o.prototype,"permissionType",void 0),s([c({type:Boolean})],o.prototype,"disableSiteSelection",void 0),s([c({type:Boolean})],o.prototype,"disableLocationSelection",void 0),s([c({type:Boolean})],o.prototype,"useLocationName",void 0),s([c({attribute:!1})],o.prototype,"getSiteLocations",void 0),s([c({type:Number})],o.prototype,"startDateMaxDaysInFuture",void 0),s([c({type:Number})],o.prototype,"maxDurationInDays",void 0),s([c({type:String})],o.prototype,"disabledOptionSupportingText",void 0),s([u()],o.prototype,"fetchingLocations",void 0),s([u()],o.prototype,"dialogSite",void 0),s([u()],o.prototype,"dialogLocations",void 0),s([u()],o.prototype,"editingExistingSiteDetails",void 0),o=L=s([tt("add-edit-site-details-dialog")],o);export{o as AddEditSiteDetailsDialog};
@@ -0,0 +1 @@
1
+ import{__decorate as o}from"tslib";import"@digital-realty/ix-button/ix-button.js";import"@digital-realty/ix-grid/ix-grid.js";import{LitElement as _,html as s,nothing as l}from"lit";import{property as r,customElement as k}from"lit/decorators.js";import{isNullOrUndefined as T}from"../../helpers/ui-service-management18.js";import{FacilityAccessStyles as V}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as D}from"../../styles/ui-service-management5.js";import{EditIcon as N,DeleteIcon as O,EmailIcon as I,PhoneIcon as F}from"../shared/ui-service-management11.js";import{stringCollectionsAreEqual as d}from"../../helpers/ui-service-management19.js";var h=Object.freeze,P=Object.defineProperty,a=(e,t)=>h(P(e,"raw",{value:h(t||e.slice())})),v,y,u,w,f,g,B,x,E,b,C;const S=5;let i=class extends _{constructor(){super(...arguments),this.editable=!1,this.showCompany=!1,this.showVisitorType=!1,this.useBadgeHolderText=!1,this.showRefreshContactButton=!1,this.showAddVisitorButton=!0,this.showRemoveAllButton=!1,this.isAddNewVisitorButtonDisabled=!0,this.canEdit=!1,this.canDelete=!1,this.cellPartNameGenerator=(e,t)=>{var n,p;const m=[];t.item.validationError&&m.push("ix-validation-error");const c=this.getColumns(),A=(n=c[0])===null||n===void 0?void 0:n.name,R=(p=c[c.length-1])===null||p===void 0?void 0:p.name;return e.path===A&&t.item.validationError&&m.push("ix-first-col-validation-error"),e.path===R&&t.item.validationError&&m.push("ix-last-col-validation-error"),m.join(" ")}}renderActionButtons(e){return s(u||(u=a(['<span\n class="visitors-grid__action-buttons"\n style="display: flex; justify-content: flex-start;"\n >\n ',"\n ","\n </span>"])),this.canEdit?s(v||(v=a(['<ix-button\n name="editVisitor"\n appearance="text"\n style="display: inline-block; max-width: 3rem"\n @click=','\n >\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="25"\n viewBox="0 0 24 25"\n style="fill: var(--ix-sys-primary)"\n >\n ',"\n </svg>\n </ix-button>"])),()=>this.onEditButtonClicked(e),N):l,this.canDelete?s(y||(y=a(['<ix-button\n name="deleteVisitor"\n appearance="text"\n style="display: inline-block; max-width: 3rem"\n @click=','\n >\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="25"\n viewBox="0 0 24 25"\n fill="none"\n >\n ',"\n </svg>\n </ix-button>"])),()=>this.onDeleteButtonClicked(e),O):l)}renderEmail(e){var t;return e.email?s(w||(w=a(['<div class="visitors-grid__email-phone-row">\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="20"\n height="20"\n viewBox="0 0 20 20"\n fill="none"\n >\n ','\n </svg>\n <a\n class="','"\n href=',"\n >","</a\n >\n </div>"])),I,((t=e.validationError)===null||t===void 0?void 0:t.includes("email"))&&"error","mailto:".concat(e.email),e.email):l}renderPhone(e){var t;return T(e.phone)?l:s(f||(f=a(['<div class="visitors-grid__email-phone-row">\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="20"\n height="20"\n viewBox="0 0 20 20"\n fill="none"\n >\n ','\n </svg>\n <span class="','"\n >',"</span\n >\n </div>"])),F,((t=e.validationError)===null||t===void 0?void 0:t.includes("phone"))&&"error",e.phone)}renderRowError(e){return e.validationError?s(g||(g=a(['<div class="visitors-grid__row-error">\n <span>',"</span>\n </div>"])),e.validationError):l}getColumns(){const e=[{name:"name",header:this.useBadgeHolderText?"Badge Holder Name":"Visitor Name",bodyRenderer:n=>s(B||(B=a(["<span>","</span>"])),n.firstName.concat(" ").concat(n.lastName))},{name:"email",header:"Email & Phone",bodyRenderer:n=>s(x||(x=a(["<style>\n .visitors-grid__email-phone-container {\n display: flex;\n gap: 10px;\n flex-direction: column;\n align-items: flex-start;\n overflow: auto;\n }\n .visitors-grid__email-phone-row {\n align-items: center;\n display: flex;\n gap: 10px;\n }\n .visitors-grid__row-error {\n color: var(--md-sys-color-error);\n font-family: var(--root-primary-font, 'Open Sans');\n font-weight: 400;\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n }\n .error {\n color: var(--md-sys-color-error);\n }\n vaadin-grid::part(ix-validation-error) {\n border-top: 2px solid var(--md-sys-color-error);\n border-bottom: 2px solid var(--md-sys-color-error);\n }\n vaadin-grid::part(ix-first-col-validation-error) {\n border-left: 2px solid var(--md-sys-color-error);\n }\n vaadin-grid::part(ix-last-col-validation-error) {\n border-right: 2px solid var(--md-sys-color-error);\n }\n </style>\n <div class=\"visitors-grid__email-phone-container\">\n "," ","\n ","\n </div>"])),this.renderEmail(n),this.renderPhone(n),this.renderRowError(n))}];this.showCompany&&e.push({name:"company",header:"Company",bodyRenderer:n=>n.company}),this.showVisitorType&&e.push({name:"visitorType",header:"Visitor Type",bodyRenderer:n=>s(E||(E=a(['<div class="visitors-grid__visitor-container">\n ',"\n </div>"])),n.visitorType)}),this.editable&&e.push({name:"actions",header:"Actions",bodyRenderer:this.renderActionButtons.bind(this),frozenToEnd:!0});const t=e.map(n=>n.name);if(d(t,["name","email"]))e.find(n=>n.name==="name").width="50%",e.find(n=>n.name==="email").width="50%";else if(d(t,["name","email","company"]))e.find(n=>n.name==="name").width="30%",e.find(n=>n.name==="email").width="45%",e.find(n=>n.name==="company").width="25%";else if(d(t,["name","email","actions"]))e.find(n=>n.name==="name").width="25%",e.find(n=>n.name==="email").width="60%",e.find(n=>n.name==="actions").width="15%";else if(d(t,["name","email","company","actions"]))e.find(n=>n.name==="name").width="27%",e.find(n=>n.name==="email").width="38%",e.find(n=>n.name==="company").width="20%",e.find(n=>n.name==="actions").width="15%";else if(d(t,["name","email","company","visitorType"]))e.find(n=>n.name==="name").width="25%",e.find(n=>n.name==="email").width="35%",e.find(n=>n.name==="company").width="20%",e.find(n=>n.name==="visitorType").width="20%";else if(d(t,["name","email","visitorType"]))e.find(n=>n.name==="name").width="30%",e.find(n=>n.name==="email").width="45%",e.find(n=>n.name==="visitorType").width="25%";else if(d(t,["name","email","company","visitorType","actions"]))e.find(n=>n.name==="name").width="22%",e.find(n=>n.name==="email").width="33%",e.find(n=>n.name==="company").width="18%",e.find(n=>n.name==="visitorType").width="17%",e.find(n=>n.name==="actions").width="15%";else throw new Error("Unexpected column names: ".concat(JSON.stringify(t)));return e}render(){var e;return s(b||(b=a(['<div class="visitors-grid">\n <div class="visitors-grid__title"></div>\n <ix-grid\n session-storage-key="sm-visitors"\n class="ix-grid-cell-pointer-default"\n style="overflow-x: auto"\n column-reordering-allowed\n .columns=',"\n .rows=","\n .hideHeader=","\n .rowLimit=","\n .showAddButton=","\n .disableAddButton=","\n .onAddButtonClick=","\n .addButtonLabel=","\n .showRemoveAllButton=","\n .onRemoveAllButtonClick=","\n .onRemoveButtonClicked=","\n .removeButtonLabel=","\n .cellPartNameGenerator=","\n >\n ","\n </ix-grid>\n </div>"])),this.getColumns(),(e=this.items)!==null&&e!==void 0?e:[],!0,S,this.showAddVisitorButton&&this.editable,!this.canEdit||this.isAddNewVisitorButtonDisabled,()=>this.onAddVisitorButtonClicked(),"ADD VISITOR",this.showRemoveAllButton,()=>this.onRemoveAllButtonClick(),t=>this.onDeleteButtonClicked(t),"REMOVE VISITOR",this.cellPartNameGenerator,this.renderRefreshContactButton())}renderRefreshContactButton(){return this.showRefreshContactButton?s(C||(C=a(['<div class="visitors-grid__footer" slot="footer">\n <ix-button\n name="selectDifferentContactBtn"\n appearance="text"\n has-icon\n @click=','\n >\n <md-icon slot="icon">refresh</md-icon>\n <span>SELECT A DIFFERENT BADGE HOLDER</span>\n </ix-button>\n </div>'])),()=>this.onRefreshButtonClicked()):l}};i.styles=[D,V],o([r({type:Array})],i.prototype,"items",void 0),o([r({type:Boolean})],i.prototype,"editable",void 0),o([r({type:Boolean})],i.prototype,"showCompany",void 0),o([r({type:Boolean})],i.prototype,"showVisitorType",void 0),o([r({type:Boolean})],i.prototype,"useBadgeHolderText",void 0),o([r({type:Boolean})],i.prototype,"showRefreshContactButton",void 0),o([r({type:Boolean})],i.prototype,"showAddVisitorButton",void 0),o([r({type:Boolean})],i.prototype,"showRemoveAllButton",void 0),o([r({type:Function})],i.prototype,"onRemoveAllButtonClick",void 0),o([r({type:Boolean})],i.prototype,"isAddNewVisitorButtonDisabled",void 0),o([r({type:Function})],i.prototype,"onEditButtonClicked",void 0),o([r({type:Function})],i.prototype,"onDeleteButtonClicked",void 0),o([r({type:Function})],i.prototype,"onRefreshButtonClicked",void 0),o([r({type:Function})],i.prototype,"onAddVisitorButtonClicked",void 0),o([r({type:Boolean})],i.prototype,"canEdit",void 0),o([r({type:Boolean})],i.prototype,"canDelete",void 0),i=o([k("visitors-grid")],i);export{i as VisitorsGrid};
@@ -0,0 +1 @@
1
+ import{__decorate as n}from"tslib";import"@digital-realty/ix-button/ix-button.js";import"@digital-realty/ix-chip/ix-chip.js";import"@digital-realty/ix-date/ix-date.js";import"@digital-realty/ix-date-next/ix-date-next.js";import"@digital-realty/ix-grid/ix-grid.js";import{LitElement as b,html as o,nothing as r}from"lit";import{property as s,customElement as g}from"lit/decorators.js";import T from"../../services/ui-service-management4.js";import{FacilityAccessStyles as S}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as _}from"../../styles/ui-service-management5.js";import{TWStyles as B}from"../../ui-service-management2.js";var c=Object.freeze,E=Object.defineProperty,a=(t,e)=>c(E(t,"raw",{value:c(e||t.slice())})),l,p,m,u,h,v,y,x,f,w,D,C;const R=5;let i=class extends b{constructor(){super(),this.onRemove=()=>{},this.onEdit=()=>{},this.editable=!1,this.showStatus=!1,this.showModifiedBy=!1,this.showColumnHeaders=!1,this.showLocationDates=!1,this.useLocationName=!1,this.useNewDatePickerComponent=!1,this.disableSiteRemoval=!1,this.useNewDatePickerComponent=T.showNewDatePickerComponent()}getChipStyle(t){switch(t.status){case"Outstanding":return"color: #ff9800;";case"Approved":return"color: #4CAF50;";case"Denied":case"Cancelled":return"color: #db0028;";case"Expired":return"color: #69768C";default:return""}}shouldShowFilled(t){switch(t.status){case"Outstanding":case"Approved":case"Denied":case"Cancelled":return!0;case"Expired":return!1;default:return!1}}getChipIcon(t){switch(t.status){case"Outstanding":return"clock_loader_60";case"Approved":return"lock_open";case"Denied":return"lock";case"Cancelled":return"delete_forever";case"Expired":return"access_time";default:return}}getColumns(){const t=[{name:"locations",header:"Locations",width:"180px",bodyRenderer:e=>{var d;return o(l||(l=a(['<div class="overflow-hidden">\n <div>',"</div>\n </div>"])),this.useLocationName&&(d=e.name)!==null&&d!==void 0?d:e.id)}}];return this.showLocationDates&&t.push({name:"startDateTime",header:"Start Date & Time",width:"75px",bodyRenderer:e=>o(u||(u=a([" <div>\n ","\n </div>"])),this.useNewDatePickerComponent?o(p||(p=a(['\n <div data-testid="start-date">\n <ix-date-next\n variant="date-time"\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date-next>\n </div>\n "])),e.startTime?"".concat(e.startDate," ").concat(e.startTime):e.startDate,!0):o(m||(m=a([' <div data-testid="start-date">\n <ix-date\n variant="date-time"\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date>\n </div>"])),e.startTime?"".concat(e.startDate," ").concat(e.startTime):e.startDate,!0))},{name:"endDateTime",header:"End Date & Time",width:"75px",bodyRenderer:e=>o(y||(y=a([" <div>\n ","\n </div>"])),this.useNewDatePickerComponent?o(h||(h=a([' <div data-testid="end-date">\n <ix-date-next\n variant="date-time"\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date-next>\n </div>"])),e.endTime?"".concat(e.endDate," ").concat(e.endTime):e.endDate,!0):o(v||(v=a([' <div data-testid="end-date">\n <ix-date\n variant="date-time"\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date>\n </div>"])),e.endTime?"".concat(e.endDate," ").concat(e.endTime):e.endDate,!0))}),this.showStatus&&t.push({name:"status",header:"Status",width:"130px",bodyRenderer:e=>o(x||(x=a(['\n <ix-custom-chip style="--md-sys-color-on-primary: #f5f7ff;">\n <ix-icon\n style="','"\n ?filled=','\n slot="icon"\n >',"\n </ix-icon>\n ","\n </ix-custom-chip>\n "])),this.getChipStyle(e),this.shouldShowFilled(e),this.getChipIcon(e),e.status)}),this.showModifiedBy&&t.push({name:"modifiedBy",header:"Modified By",bodyRenderer:e=>o(f||(f=a([" <div>","</div>"])),e.modifiedBy)}),t}renderFooter(){return this.editable?o(w||(w=a(['<div\n class="requested-location-details-grid__footer-container"\n slot="footer"\n >\n <div class="requested-location-details-grid__footer">\n <ix-button appearance="text" has-icon @click=','>\n <md-icon slot="icon">edit</md-icon>\n <span class="button-label">EDIT SITE & LOCATIONS</span>\n </ix-button>\n </div>\n </div>'])),this.onEdit):r}render(){var t,e;return o(C||(C=a([' <div class="requested-location-details-grid">\n <div class="requested-location-details-grid__header">\n <span class="requested-location-details-grid__header_location"\n >',"</span\n >\n\n ",'\n </div>\n\n <ix-grid\n session-storage-key="sm-requested-location"\n class="ix-grid-cell-pointer-default"\n column-reordering-allowed\n .columns=',"\n .rows=","\n .hideHeader=","\n .rowLimit=","\n .hideColumnHeaders=","\n >\n ","\n </ix-grid>\n </div>"])),(t=this.site)===null||t===void 0?void 0:t.displayName,this.editable&&!this.disableSiteRemoval?o(D||(D=a([' <ix-button\n name="removeSiteDetailsBtn"\n appearance="filled"\n @click=',"\n >\n <span>REMOVE SITE</span>\n </ix-button>"])),this.onRemove):r,this.getColumns(),(e=this.items)!==null&&e!==void 0?e:[],!0,R,!this.showColumnHeaders,this.renderFooter())}};i.styles=[B,_,S],n([s({type:Array})],i.prototype,"items",void 0),n([s({type:Object})],i.prototype,"site",void 0),n([s({attribute:!1})],i.prototype,"onRemove",void 0),n([s({attribute:!1})],i.prototype,"onEdit",void 0),n([s({type:Boolean})],i.prototype,"editable",void 0),n([s({type:Boolean})],i.prototype,"showStatus",void 0),n([s({type:Boolean})],i.prototype,"showModifiedBy",void 0),n([s({type:Boolean})],i.prototype,"showColumnHeaders",void 0),n([s({type:Boolean})],i.prototype,"showLocationDates",void 0),n([s({type:Boolean})],i.prototype,"useLocationName",void 0),n([s({type:Boolean})],i.prototype,"disableSiteRemoval",void 0),i=n([g("requested-location-details-grid")],i);export{i as RequestedLocationDetailsGrid};
@@ -0,0 +1 @@
1
+ import{__decorate as t}from"tslib";import{html as a,nothing as r}from"lit";import{state as s,property as k,customElement as E}from"lit/decorators.js";import"@digital-realty/ix-button/ix-button.js";import"@digital-realty/ix-progress/ix-progress.js";import"@digital-realty/ix-select/ix-select.js";import"@digital-realty/ix-select/ix-select-option.js";import{LocationTypeModifier as m,LocationTypes as P,LocationPrivilegeLevels as p,LocationPermissionTypes as d}from"../../constants/ui-service-management4.js";import{getPermanentBadgeCategoryLabel as l}from"../../helpers/ui-service-management3.js";import{hasVisitorAccessCreatePermissions as F,hasPermanentBadgeCreatePermissions as R,hasOspAccessCreatePermissions as M,hasPopPoeAccessCreatePermissions as G,hasPermission as h,VaPbLocationTypes as y}from"../../services/ui-service-management5.js";import{FacilityAccessStyles as j}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as z}from"../../styles/ui-service-management5.js";import{TWStyles as $}from"../../ui-service-management2.js";import"../shared/ui-service-management3.js";import{ServiceTicketFormBase as U}from"../shared/ui-service-management16.js";import W from"../../services/ui-service-management4.js";import{GenericNotSupportedMessage as u}from"../../constants/ui-service-management5.js";var v=Object.freeze,D=Object.defineProperty,i=(n,o)=>v(D(n,"raw",{value:v(o||n.slice())})),g,C,S,O,f,A,w,B,_,b,x;let e=class extends U{constructor(){super(...arguments),this.selectedPermanentBadgeCategory="",this.accountAccepted=!1,this.selectedAccount=void 0,this.hasOspCreatePermission=!1,this.showPopCreate=!1,this.showOspCreate=!1,this.hasPopSpaces=!1,this.showVaCreate=!1,this.hasVaSpaces=!1,this.showPbCreate=!1,this.hasPbSpaces=!1,this.hasOspSpaces=!1,this.permissionType=void 0,this.isLoadingPermissions=!0,this.accountNumber=void 0}async firstUpdated(){const[n,o,c,q,T,V,L,N]=await Promise.all([F().catch(()=>!1),R().catch(()=>!1),M().catch(()=>!1),G().catch(()=>!1),h(d.POPPOEAccess,p.Create,"POP_access",m.GreaterThan+P.Site).catch(()=>!1),h(d.OSPAccess,p.Create,"OSP_access",m.GreaterThan+P.Site).catch(()=>!1),h(d.VisitorAccess,p.Create,"Facilities_access",y).catch(()=>!1),h(d.PermanentBadge,p.Create,"Facilities_access",y).catch(()=>!1)]);this.showVaCreate=n,this.hasVaSpaces=L,this.showPbCreate=o,this.hasPbSpaces=N,this.hasOspCreatePermission=c&&W.isOspEnabled(),this.showPopCreate=q,this.hasPopSpaces=T,this.showOspCreate=c,this.hasOspSpaces=V,this.isLoadingPermissions=!1}handleOnStartButtonClick(n,o){this.requestType=n,this.category=o,this.onStartButtonClick({accountNumber:this.selectedAccount,requestType:this.requestType,category:this.category})}renderStartButton(n,o,c=!1){return a(g||(g=i(['<ix-button\n type="submit"\n @click=',"\n has-icon\n trailing-icon\n .disabled=","\n name=",'\n >\n <md-icon slot="icon">east</md-icon>\n <span class="button-label">START</span>\n </ix-button>'])),()=>this.handleOnStartButtonClick(n,o),c,n)}renderVisitorAccessContainer(){return a(S||(S=i(['<div class="request-type-container">\n <span class="request-type-container__title dlr-text-default">\n Visitor Access\n </span>\n <span class="request-type-container__info dlr-text-caption">\n Create a New Visitor Access.\n </span>\n ',"\n ","\n </div>"])),this.renderStartButton("Visitor Access","",!this.hasVaSpaces),this.hasVaSpaces?r:a(C||(C=i(['<span\n class="request-type-container__info dlr-text-caption"\n data-testid="VA-no-supported-sites-message"\n >\n ',"\n </span>"])),u))}renderPermanentBadgeContainer(){return a(f||(f=i(['<div class="request-type-container">\n <span class="request-type-container__title dlr-text-default">\n Permanent Badge\n </span>\n <span class="request-type-container__info dlr-text-caption">\n Create a New Permanent Badge or click on the down arrow to choose other\n Permanent Badge options.\n </span>\n <div class="request-type-container__body">\n <ix-select\n label="Select Category"\n name="permanentBadgeCategory"\n menu-positioning="popover"\n @input=',"\n >\n <ix-select-option\n value=","\n .selected=",'\n >\n <div slot="headline">\n ',"\n </div>\n </ix-select-option>\n\n <ix-select-option\n value=","\n .selected=",'\n >\n <div slot="headline">\n ',"\n </div>\n </ix-select-option>\n\n <ix-select-option\n value=","\n .selected=",'\n >\n <div slot="headline">\n ',"\n </div>\n </ix-select-option>\n </ix-select>\n\n ","\n ","\n </div>\n </div>"])),n=>{this.selectedPermanentBadgeCategory=n.target.value},"New",this.selectedPermanentBadgeCategory==="New",l("New"),"Modify",this.selectedPermanentBadgeCategory==="Modify",l("Modify"),"Terminate",this.selectedPermanentBadgeCategory==="Terminate",l("Terminate"),this.renderStartButton("Permanent Badge",this.selectedPermanentBadgeCategory,!this.selectedPermanentBadgeCategory||!this.hasPbSpaces&&this.selectedPermanentBadgeCategory==="New"),!this.hasPbSpaces&&this.selectedPermanentBadgeCategory==="New"?a(O||(O=i(['<span\n class="request-type-container__info dlr-text-caption"\n data-testid="PB-no-supported-sites-message"\n >\n ',"\n </span>"])),u):r)}renderOSPAccessContainer(){return a(w||(w=i(['<div class="request-type-container">\n <span class="request-type-container__title dlr-text-default">\n OSP Access\n </span>\n ',"\n ","\n </div>"])),this.renderStartButton("OSP Access","",!this.hasOspSpaces),this.hasOspSpaces?r:a(A||(A=i(['<span\n class="request-type-container__info dlr-text-caption"\n data-testid="OSP-no-supported-sites-message"\n >\n OSP Access request is not supported.\n </span>']))))}renderPopAndPOERoomAccessContainer(){return a(_||(_=i(['<div class="request-type-container">\n <span class="request-type-container__title dlr-text-default">\n Pop / POE Room Access\n </span>\n ',"\n ","\n </div>"])),this.renderStartButton("PoP/POE Access","",!this.hasPopSpaces),this.hasPopSpaces?r:a(B||(B=i(['<span\n class="request-type-container__info dlr-text-caption"\n data-testid="POP-POE-no-supported-sites-message"\n >\n PoP / POE Room Access request is not supported.\n </span>']))))}renderLoadingProgress(){return this.isLoadingPermissions?a(b||(b=i(["<div>\n <ix-progress .indeterminate=","></ix-progress>\n </div>"])),!0):r}render(){return a(x||(x=i(['<div class="wizard-content form-margin">\n <div class="mb-4">\n <h1 class="dlr-text-page-title">\n Create Facility Access Service Ticket\n </h1>\n\n <div class="sub-header dlr-text-heading">\n <h4>Choose a request Type</h4>\n </div>\n </div>\n\n ','\n <div class="form-wrapper">\n <div class="form-wrapper__fields request-type-wrapper">\n ',"\n ","\n ","\n ","\n </div>\n </div>\n </div>"])),this.renderLoadingProgress(),this.showVaCreate?this.renderVisitorAccessContainer():r,this.showPbCreate?this.renderPermanentBadgeContainer():r,this.showOspCreate?this.renderOSPAccessContainer():r,this.showPopCreate?this.renderPopAndPOERoomAccessContainer():r)}};e.styles=[$,z,j],t([s()],e.prototype,"selectedPermanentBadgeCategory",void 0),t([k({type:Function})],e.prototype,"onStartButtonClick",void 0),t([s()],e.prototype,"accountAccepted",void 0),t([s()],e.prototype,"selectedAccount",void 0),t([s()],e.prototype,"hasOspCreatePermission",void 0),t([s()],e.prototype,"showPopCreate",void 0),t([s()],e.prototype,"showOspCreate",void 0),t([s()],e.prototype,"hasPopSpaces",void 0),t([s()],e.prototype,"showVaCreate",void 0),t([s()],e.prototype,"hasVaSpaces",void 0),t([s()],e.prototype,"showPbCreate",void 0),t([s()],e.prototype,"hasPbSpaces",void 0),t([s()],e.prototype,"hasOspSpaces",void 0),t([s()],e.prototype,"permissionType",void 0),t([s()],e.prototype,"isLoadingPermissions",void 0),t([s()],e.prototype,"requestType",void 0),t([s()],e.prototype,"category",void 0),t([s()],e.prototype,"accountNumber",void 0),e=t([E("facility-access-request-types")],e);export{e as FacilityAccessRequestTypes};
@@ -0,0 +1 @@
1
+ import{__decorate as n}from"tslib";import{LitElement as A,html as t,nothing as c}from"lit";import{Router as O}from"@vaadin/router";import{property as r,customElement as F}from"lit/decorators.js";import{ifDefined as _}from"lit-html/directives/if-defined.js";import{ServiceTicketsStyles as I}from"../../styles/ui-service-management5.js";import{ErrorCircleIcon as D,NumberIcon as N,CheckCircleOutlineIcon as B}from"../shared/ui-service-management11.js";import{ApplicationEvents as a}from"../../constants/ui-service-management.js";import"@digital-realty/ix-timer/ix-timer.js";import"@digital-realty/ix-progress/ix-progress.js";import{RouteNames as q}from"../../routes/ui-service-management2.js";import{ServiceTicketSubmissionStates as W}from"../../constants/ui-service-management2.js";import{getPathByName as d}from"../../routes/ui-service-management.js";import{TWStyles as L}from"../../ui-service-management2.js";import"../shared/ui-service-management15.js";var l=Object.freeze,V=Object.defineProperty,i=(e,o)=>l(V(e,"raw",{value:l(o||e.slice())})),u,m,h,v,p,f,y,k,b,g,w,T,E,S,R,C,x;let s=class extends A{constructor(){super(...arguments),this.isEditOn=!1,this.isSubmitting=!1,this.uploadingAttachmentsFailed=!1,this.failedAttachments=[]}get isSuccess(){return this.submissionResult.state===W.Submitted}getTicketDetailsRoute(e){return d(this.ticketDetailsRoute,{ticketId:e})}async handleTicketIdClick(){this.isEditOn&&this.closeDrawer()}handleOnViewAllTickets(){window.dispatchEvent(new Event(a.DrawerClose)),O.go(d(q.ServiceTickets))}closeDrawer(){this.onClose(),window.dispatchEvent(new Event(a.DrawerClose))}handleOnRetry(){this.isEditOn?this.submitUpdateTicketRequest():this.submitNewTicketRequest(),this.requestUpdate()}renderIcon(){let e=B;return this.isSuccess||(e=D),t(u||(u=i(['\n <div>\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="88"\n height="88"\n viewBox="0 0 88 88"\n fill="none"\n >\n ',"\n </svg>\n </div>\n "])),e)}renderTitle(){let e=t(m||(m=i(["<div>Facility Access Service Ticket</div>\n <div>Cannot Be ","</div>"])),this.isEditOn?"Edited":"Created");return this.isSuccess&&(e=t(h||(h=i(["<div>\n ","\n </div>"])),this.isEditOn?"Changes Saved":"Facility Access Service Ticket Created")),t(v||(v=i(['<div class="result-form__title">',"</div>"])),e)}renderBody(){let e=t(p||(p=i(["<div>\n We are unable to process your request. Please, retry or reach out to us\n for further assistance. We apologize for the inconvenience. Your Digital\n Realty Team\n </div>"])));return this.isSuccess&&(e=t(y||(y=i(["<div>\n Your Facility Access Service Ticket has been successfully\n ",".\n </div>\n ",""])),this.isEditOn?"edited":"created",this.isEditOn?c:t(f||(f=i(["<div>We will reach out to you shortly.</div>"]))))),t(k||(k=i(['<div class="result-form__body dlr-text-default">\n ',"\n </div>"])),e)}renderTicketNumbers(){var e;return this.isSuccess&&!this.isEditOn?t(g||(g=i(['<div class="result-form__ticket-numbers">\n <div>\n <svg\n xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 25 24"\n fill="none"\n >\n ','\n </svg>\n <span class="ticket-numbers__label dlr-text-small"\n >Ticket Number(s):</span\n >\n </div>\n <div>\n ',"\n </div>\n </div>"])),N,(e=this.submissionResult.ticketNumbers)===null||e===void 0?void 0:e.map(o=>t(b||(b=i(['<a\n class="ticket-numbers__content"\n href="','"\n @click=',"\n >","</a\n >"])),_(this.getTicketDetailsRoute(o)),()=>this.handleTicketIdClick(),o))):c}renderFooter(){return t(S||(S=i(['<div class="result-form__footer">\n ',"\n ","\n </div>"])),this.isSuccess?c:t(w||(w=i(['<ix-button appearance="outlined" @click=',"\n >RETRY</ix-button\n >"])),this.handleOnRetry),this.isEditOn?t(E||(E=i(["<ix-button @click=",">CLOSE</ix-button>"])),this.handleTicketIdClick):t(T||(T=i(["<ix-button @click=","\n >VIEW ALL SERVICE TICKETS</ix-button\n >"])),this.handleOnViewAllTickets))}renderAttachmentsFailedMessage(){return this.uploadingAttachmentsFailed?t(R||(R=i(["<attachment-upload-failed-message\n .fileNames=","\n ></attachment-upload-failed-message>"])),this.failedAttachments):c}render(){return this.isSubmitting?t(C||(C=i(['<div class="w-full flex justify-center mt-12">\n <ix-progress .indeterminate='," .linear=","></ix-progress>\n </div>"])),!0,!1):t(x||(x=i([' <div class="form-margin">\n <div class="result-form">\n '," "," ","\n "," ","\n ","\n </div>\n </div>"])),this.renderIcon(),this.renderTitle(),this.renderBody(),this.renderTicketNumbers(),this.renderAttachmentsFailedMessage(),this.renderFooter())}};s.styles=[I,L],n([r({type:Boolean})],s.prototype,"isEditOn",void 0),n([r({type:Function})],s.prototype,"onClose",void 0),n([r({type:Function})],s.prototype,"submitUpdateTicketRequest",void 0),n([r({type:Function})],s.prototype,"submitNewTicketRequest",void 0),n([r({type:Boolean})],s.prototype,"isSubmitting",void 0),n([r({type:Boolean})],s.prototype,"uploadingAttachmentsFailed",void 0),n([r({type:Array})],s.prototype,"failedAttachments",void 0),n([r()],s.prototype,"submissionResult",void 0),n([r()],s.prototype,"ticketDetailsRoute",void 0),s=n([F("create-edit-facility-access-result")],s);export{s as CreateFacilityAccessResult};
@@ -0,0 +1 @@
1
+ import{__decorate as n}from"tslib";import{LitElement as S,nothing as a,html as s}from"lit";import{property as h,state as d,customElement as P}from"lit/decorators.js";import{classMap as U}from"lit/directives/class-map.js";import{ifDefined as F}from"lit/directives/if-defined.js";import"@digital-realty/ix-button/ix-button.js";import"@digital-realty/ix-dialog/ix-dialog.js";import"@digital-realty/ix-file-uploader/ix-file-uploader.js";import p from"intl-tel-input/utils";import{acceptedFileExtensions as L}from"../../constants/ui-service-management2.js";import{bulkVisitorHeaderMap as R,maxVisitorsCount as N}from"../../constants/ui-service-management6.js";import{FacilityAccessTicketStatus as c}from"../../enums/ui-service-management.js";import{fileErrorMessages as q,parseCSVFileWithHeaderValidation as W}from"../../helpers/ui-service-management24.js";import{FacilityAccessStyles as H}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as M}from"../../styles/ui-service-management5.js";import{TWStyles as I}from"../../ui-service-management2.js";import"./ui-service-management12.js";import"./visitor-access/ui-service-management4.js";import"./ui-service-management2.js";var u=Object.freeze,j=Object.defineProperty,o=(i,t)=>u(j(i,"raw",{value:u(t||i.slice())})),m,v,g,V,k,b,x,f,E,O,C,y,D,A,B,T;const w={visitorsErrorText:void 0};let e=class extends S{constructor(){super(...arguments),this.enableBulkUpload=!1,this.isEditOn=!1,this.hideVisitorCount=!1,this.maxContacts=void 0,this.isExceededVisitorLimitDialogOpen=!1,this.isExceededVisitorLimitWarningApproved=!1,this.isRemoveAllVisitorDialogOpen=!1,this.bulkUploadChecked=!1,this.isVisitorDetailsDialogOpen=!1,this.validations=w,this.bulkVisitors=[],this.formatPhoneNumberForDisplay=i=>{let t=i;return t.startsWith("+")||(t="+".concat(t)),p&&(t=p.formatNumberAsYouType(t,void 0)),t}}updated(){this.parentState.isVisitorContactsValid(this.isFormValid)}firstUpdated(){this.validations={...w}}get isOsp(){return this.parentState.newTicket.requestType==="OSP Access"}get isPop(){return this.parentState.newTicket.requestType==="PoP/POE Access"}get isPermanentBadge(){return this.parentState.newTicket.requestType==="Permanent Badge"}get isRequiredInputsFilled(){return!!this.parentState.newTicket.visitors.length}get isFormValid(){return this.isRequiredInputsFilled&&!this.validations.visitorsErrorText}get heading(){const i=this.isPermanentBadge?"Badge Holder":"Visitor";return"".concat(i," Details")}get addButtonLabel(){const i=this.isPermanentBadge?"BADGE HOLDER":"VISITOR";return"ADD ".concat(i,"*")}get visitorCount(){return this.parentState.newTicket.visitors.length}get canAddNewVisitor(){return!this.isEditOn&&this.maxContacts!==1}get isAddNewVisitorButtonDisabled(){return!(this.maxContacts===void 0||this.visitorCount<this.maxContacts)}validateForm(){this.validateVisitors(),this.parentState.isVisitorContactsValid(this.isFormValid),this.requestUpdate()}validateVisitors(){const i=this.isPermanentBadge?"badge holder":"visitor";this.bulkUploadChecked&&this.bulkVisitors.length===0?this.validations.visitorsErrorText="Please add an attachment.":this.parentState.newTicket.visitors.length===0?this.validations.visitorsErrorText="Please add at least one ".concat(i,"."):this.parentState.newTicket.visitors.some(t=>t.validationError)?this.validations.visitorsErrorText="Please fix the errors in the ".concat(i," details."):this.validations.visitorsErrorText=""}handleAddVisitor(){this.editableVisitor=void 0,this.isVisitorDetailsDialogOpen=!0}handleAddVisitorClose(i){this.parentState.addOrUpdateVisitor(i),this.isVisitorDetailsDialogOpen=!1,this.validateVisitors()}handleEditVisitorClick(i){this.editableVisitor={...i},this.isVisitorDetailsDialogOpen=!0}handleDeleteVisitorClick(i){this.parentState.removeVisitor(i),this.validateVisitors(),this.requestUpdate()}handleBulkUploadCheckboxChange(i){this.bulkUploadChecked=i,this.validations.visitorsErrorText=""}async handleFileUpload(i){this.validations.visitorsErrorText=void 0;const t=await Promise.all(i.detail.filesUploaded.map(async l=>({fileName:l.file.name,fileType:l.file.type,file:await l.file,id:l.id})));if(!t.length){this.validations.visitorsErrorText=q.incorrectFileFormat,this.requestUpdate();return}const{file:r}=t[0];if(r){try{this.bulkVisitors=await W(r,R)}catch(l){this.validations.visitorsErrorText=l.message,this.requestUpdate();return}if(this.bulkVisitors=this.bulkVisitors.map(l=>({...l,visitorPhoneNumber:this.formatPhoneNumberForDisplay(l.visitorPhoneNumber)})),this.bulkVisitors.length>N){this.isExceededVisitorLimitDialogOpen=!0,this.isExceededVisitorLimitWarningApproved=!1;return}this.addBulkVisitors()}}addBulkVisitors(){this.parentState.removeBulkVisitors(),this.parentState.addBulkVisitors(this.bulkVisitors),this.validateForm()}handleFileDelete(){this.validations.visitorsErrorText=void 0,this.parentState.removeBulkVisitors(),this.bulkVisitors=[],this.isExceededVisitorLimitWarningApproved=!1,this.requestUpdate()}handleMaxVisitorExceeds(){this.isExceededVisitorLimitDialogOpen=!1,this.isExceededVisitorLimitWarningApproved=!0,this.addBulkVisitors()}get bulkFileUploader(){var i;return(i=this.shadowRoot)===null||i===void 0?void 0:i.querySelector('ix-file-uploader[name="bulkFileUploader"]')}handleMaxVisitorExceedsCancel(){var i;this.isExceededVisitorLimitDialogOpen=!1,this.isExceededVisitorLimitWarningApproved=!1,(i=this.bulkFileUploader)===null||i===void 0||i.deleteLastFileWithoutConfirmation()}handleRemoveAllButtonClick(){this.isRemoveAllVisitorDialogOpen=!0}handleRemoveAllVisitors(){var i;this.validations.visitorsErrorText=void 0,this.isRemoveAllVisitorDialogOpen=!1,(i=this.bulkFileUploader)===null||i===void 0||i.deleteLastFileWithoutConfirmation(),this.parentState.removeAllVisitors(),this.requestUpdate()}get showRemoveAllButton(){return!this.isEditOn&&this.visitorCount>0&&this.maxContacts!==1}getDisabledFieldConfigs(){switch(this.parentState.newTicket.requestType){case"Visitor Access":return{firstName:this.isEditOn,lastName:this.isEditOn,phone:!1,email:this.isEditOn,company:this.isEditOn,visitorType:this.isEditOn};case"Permanent Badge":return{firstName:this.isEditOn,lastName:this.isEditOn,phone:this.isEditOn,email:this.isEditOn,company:this.isEditOn,visitorType:this.isEditOn};case"OSP Access":{const i=this.parentState.newTicket.status===c.Approved;return{firstName:this.isEditOn,lastName:this.isEditOn,phone:!1,email:this.isEditOn,company:this.isEditOn&&!i,visitorType:this.isEditOn}}case"PoP/POE Access":{const i=this.parentState.newTicket.status===c.Approved;return{firstName:this.isEditOn,lastName:this.isEditOn,phone:!1,email:this.isEditOn,company:this.isEditOn&&!i,visitorType:this.isEditOn}}default:return}}canEdit(){const i=this.getDisabledFieldConfigs();return i?!Object.values(i).every(t=>t===!0):!0}renderAddEditVisitorDialog(){if(!this.isVisitorDetailsDialogOpen)return a;const i={firstName:!0,lastName:!0,phone:!1,email:!0,company:this.isPermanentBadge||this.isOsp||this.isPop,visitorType:this.isOsp||this.isPop};return s(m||(m=o(["<add-edit-visitor-dialog\n .isEditOn=","\n .item=","\n .isDialogOpen=","\n .showCompany=","\n .showVisitorType=","\n .isPermanentBadge=","\n dialogLabel=","\n .disableFields=","\n .requiredFields=","\n .onClose=","\n ></add-edit-visitor-dialog>"])),this.isEditOn,this.editableVisitor,this.isVisitorDetailsDialogOpen,this.isPermanentBadge||this.isOsp||this.isPop,this.isOsp||this.isPop,this.isPermanentBadge,F(this.isPermanentBadge?"Badge Holder":void 0),this.getDisabledFieldConfigs(),i,t=>this.handleAddVisitorClose(t))}renderVisitorsGrid(){var i;return!((i=this.parentState.newTicket.visitors)===null||i===void 0)&&i.length?s(v||(v=o(["<visitors-grid\n .editable=","\n .canDelete=","\n .canEdit=","\n .items=","\n .showCompany=","\n .showVisitorType=","\n .useBadgeHolderText=","\n .showAddVisitorButton=","\n .isAddNewVisitorButtonDisabled=","\n .onAddVisitorButtonClicked=","\n .showRemoveAllButton=","\n .onRemoveAllButtonClick=","\n .onEditButtonClicked=","\n .onDeleteButtonClicked=","\n ></visitors-grid>"])),this.canEdit(),!this.isEditOn,this.canEdit(),this.parentState.newTicket.visitors,this.isPermanentBadge||this.isOsp||this.isPop,this.isOsp||this.isPop,this.isPermanentBadge,this.canAddNewVisitor,this.isAddNewVisitorButtonDisabled,()=>this.handleAddVisitor(),this.showRemoveAllButton,()=>this.handleRemoveAllButtonClick(),t=>this.handleEditVisitorClick(t),t=>this.handleDeleteVisitorClick(t)):a}renderAddVisitorButton(){return this.isEditOn||this.visitorCount>=1||this.bulkUploadChecked?a:s(V||(V=o(['<div>\n <ix-button\n name="addVisitorBtn"\n appearance="outlined"\n has-icon\n @click=','\n >\n <md-icon slot="icon">add</md-icon>\n <span>',"</span>\n </ix-button>\n ","\n </div>"])),()=>this.handleAddVisitor(),this.addButtonLabel,this.validations.visitorsErrorText!==void 0?s(g||(g=o(['<span class="error">\n ',"\n </span>"])),this.validations.visitorsErrorText):a)}renderBulkUploadSection(){if(this.isEditOn||!this.enableBulkUpload)return a;const i=this.parentState.newTicket.visitors.some(r=>r.isUploadedFromFile),t={"bulk-upload-checkbox":!0,"bulk-upload-checkbox--spaced":this.bulkUploadChecked&&!i};return s(C||(C=o(['<div class="bulk-upload-section w-full pt-4">\n ',"\n ","\n ","\n </div>"])),i?s(b||(b=o(["",""])),this.isExceededVisitorLimitWarningApproved?s(k||(k=o(['<div class="visitor-bulk-upload-warning-wrapper">\n <div\n class="visitor-bulk-upload-warning-content"\n id="visitorBulkUploadWarningContent"\n >\n Only the first 40 visitors are uploaded. Please note that\n changes made in the form will not be reflected in the attached\n file.\n </div>\n </div>']))):a):s(f||(f=o([" <div class=",'>\n <ix-checkbox\n label="Upload a Bulk Visitor Request"\n name="bulkUploadCheckbox"\n arialabel="Upload a Bulk Visitor Request"\n .checked=',"\n @change=","\n >\n </ix-checkbox>\n\n ","\n </div>"])),U(t),this.bulkUploadChecked,r=>this.handleBulkUploadCheckboxChange(r.target.checked),this.bulkUploadChecked?s(x||(x=o(["\n <visitors-template-file-link></visitors-template-file-link>\n "]))):a),this.bulkUploadChecked?s(O||(O=o(['<ix-file-uploader\n name="bulkFileUploader"\n .showTemplateFileLink=',"\n .defaultFiles=","\n .hideBody=","\n .extensions=","\n .error=","\n .askConfirmationOnDeleteFile=","\n .deleteConfirmationDialogLabel=",'\n headerText="Click here to browse your device or drop your bulk request file to upload"\n hintText="Uploaded file must be the template file or an error will occur. One file per upload. Limit of 40 visitors per file."\n @on-files-uploaded=',"\n @on-file-removed=",'\n >\n <visitors-template-file-link\n slot="template-file"\n ></visitors-template-file-link>\n </ix-file-uploader>\n ',""])),!0,[],i,L.flatMap(r=>r.extensions),"",this.parentState.newTicket.visitors.some(r=>r.isUploadedFromFile),"Are you sure you want to delete your bulk upload file? All visitors will be removed.",r=>this.handleFileUpload(r),()=>this.handleFileDelete(),this.validations.visitorsErrorText!==void 0?s(E||(E=o(['<span class="error">\n ',"\n </span>"])),this.validations.visitorsErrorText):a):a,this.renderExceededVisitorLimitDialog())}renderExceededVisitorLimitDialog(){return s(y||(y=o(['<ix-dialog\n id="maxVisitorExceedsDialog"\n ?open=','\n preventCloseOnScrimClick="true"\n @closed=',"\n @close=",'\n >\n <form\n slot="content"\n id="max-visitor-exceed-form-id"\n method="dialog"\n class="exceeded-visitor-limit-dialog"\n >\n The uploaded file exceeds the maximum limit. Only the first 40 visitors\n will be uploaded. Would you like to proceed?\n </form>\n <div slot="actions">\n <ix-button\n appearance="text"\n @click=','\n >\n <span class="button-label">CANCEL</span>\n </ix-button>\n <ix-button\n appearance="text"\n name="submitBtn"\n @click=','\n >\n <span class="button-label">PROCEED</span>\n </ix-button>\n </div>\n </ix-dialog>'])),this.isExceededVisitorLimitDialogOpen,()=>{this.isExceededVisitorLimitDialogOpen=!1},()=>{this.isExceededVisitorLimitDialogOpen=!1},()=>this.handleMaxVisitorExceedsCancel(),()=>this.handleMaxVisitorExceeds())}renderRemoveAllConfirmationDialog(){return s(D||(D=o(['<ix-dialog\n id="removeAllVisitorsDialog"\n ?open=','\n preventCloseOnScrimClick="true"\n @closed=',"\n @close=",'\n >\n <form\n slot="content"\n id="remove-all-visitors-form-id"\n method="dialog"\n class="exceeded-visitor-limit-dialog"\n >\n Are you sure you want to remove all visitors? All bulk upload file(s)\n will be removed.\n </form>\n <div slot="actions">\n <ix-button\n appearance="text"\n @click=','\n >\n <span class="button-label">NO</span>\n </ix-button>\n <ix-button\n appearance="text"\n name="submitBtn"\n @click=','\n >\n <span class="button-label">YES</span>\n </ix-button>\n </div>\n </ix-dialog>'])),this.isRemoveAllVisitorDialogOpen,()=>{this.isRemoveAllVisitorDialogOpen=!1},()=>{this.isRemoveAllVisitorDialogOpen=!1},()=>{this.isRemoveAllVisitorDialogOpen=!1},()=>this.handleRemoveAllVisitors())}get showVisitorCount(){return!this.hideVisitorCount&&!this.isPermanentBadge&&this.parentState.newTicket.visitors.length>0}renderHeader(){return s(B||(B=o(['<div class="w-full flex items-center justify-between">\n <span>',"</span>\n ","\n </div>"])),this.heading,this.showVisitorCount?s(A||(A=o(['<div\n class="visitor-count ','"\n >\n Visitor Count: ',"\n </div>"])),this.parentState.newTicket.visitors.length>=40?"font-bold":"",this.parentState.newTicket.visitors.length):a)}render(){return s(T||(T=o(['<div class="form-wrapper__fields form-margin gap-5">\n '," ","\n "," ","\n ","\n </div>\n ",""])),this.renderHeader(),this.renderVisitorsGrid(),this.renderAddVisitorButton(),this.renderBulkUploadSection(),this.renderAddEditVisitorDialog(),this.renderRemoveAllConfirmationDialog())}};e.styles=[M,H,I],n([h({type:Boolean})],e.prototype,"enableBulkUpload",void 0),n([h({type:Boolean})],e.prototype,"isEditOn",void 0),n([h({type:Boolean})],e.prototype,"hideVisitorCount",void 0),n([h({type:Number})],e.prototype,"maxContacts",void 0),n([h()],e.prototype,"parentState",void 0),n([d()],e.prototype,"isExceededVisitorLimitDialogOpen",void 0),n([d()],e.prototype,"isExceededVisitorLimitWarningApproved",void 0),n([d()],e.prototype,"isRemoveAllVisitorDialogOpen",void 0),n([d()],e.prototype,"bulkUploadChecked",void 0),n([d()],e.prototype,"isVisitorDetailsDialogOpen",void 0),n([d()],e.prototype,"validations",void 0),n([d()],e.prototype,"editableVisitor",void 0),n([d()],e.prototype,"bulkVisitors",void 0),e=n([P("visitor-contact-inputs-section")],e);export{e as VisitorContactInputsSection};
@@ -0,0 +1 @@
1
+ import{__decorate as s}from"tslib";import{html as a,nothing as o}from"lit";import{MobxLitElement as p}from"@adobe/lit-mobx";import{property as n,state as g,customElement as x}from"lit/decorators.js";import{FacilityAccessTicketStatus as E}from"../../enums/ui-service-management.js";import{isAlphanumericWithSpaces as u}from"../../helpers/ui-service-management20.js";import{FacilityAccessStyles as T}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as N}from"../../styles/ui-service-management5.js";import"@digital-realty/ix-checkbox/ix-checkbox.js";import"@digital-realty/ix-radio/ix-radio.js";import{OspAccessState as L}from"../../state/ui-service-management6.js";import{PopAccessState as F}from"../../state/ui-service-management5.js";var d=Object.freeze,b=Object.defineProperty,r=(t,i)=>d(b(t,"raw",{value:d(i||t.slice())})),c,h,l,v;const m={visitorBadgeErrorText:void 0,escortFirstNameMinLength:0,escortFirstNameMaxLength:40,escortFirstNameErrorText:void 0,escortLastNameMinLength:0,escortLastNameMaxLength:40,escortLastNameErrorText:void 0};let e=class extends p{constructor(){super(...arguments),this.isEditOn=!1,this.showVisitorBadgeType=!0,this.validations=m}updated(){var t;(t=this.parentState)===null||t===void 0||t.isEscortedDetailsValid(this.isFormValid)}get isOspPop(){return this.parentState instanceof L||this.parentState instanceof F}firstUpdated(){this.validations={...m,escortFirstNameMinLength:this.isOspPop?1:0,escortLastNameMinLength:this.isOspPop?1:0}}get isOsp(){return this.parentState.newTicket.requestType==="OSP Access"}get isEscortedRequiredFieldsFilled(){return this.parentState.newTicket.isEscortedVisitor?!!this.parentState.newTicket.escortFirstName&&!!this.parentState.newTicket.escortLastName:!0}get isUnescortedRequiredFieldsFilled(){return this.parentState.newTicket.isEscortedVisitor?!0:!!this.parentState.newTicket.visitorBadge}get isRequiredInputsFilled(){return this.isEscortedRequiredFieldsFilled&&this.isUnescortedRequiredFieldsFilled}get isFormValid(){return this.isRequiredInputsFilled&&this.validations.escortFirstNameErrorText===void 0&&this.validations.escortLastNameErrorText===void 0&&this.validations.visitorBadgeErrorText===void 0}validateForm(){this.parentState.newTicket.isEscortedVisitor?(this.validateEscortFirstNameErrorChange(this.parentState.newTicket.escortFirstName),this.validateEscortLastNameTextChange(this.parentState.newTicket.escortLastName)):this.validateVisitorBadge(this.parentState.newTicket.visitorBadge),this.requestUpdate()}handleEscortedVisitorChange(t){t?this.validations.visitorBadgeErrorText=void 0:(this.validations.escortFirstNameErrorText=void 0,this.validations.escortLastNameErrorText=void 0),this.parentState.updateIsEscortedVisitor(t)}validateEscortFirstNameErrorChange(t){!t||t&&(t.length<this.validations.escortFirstNameMinLength||t.length>this.validations.escortFirstNameMaxLength)?this.validations.escortFirstNameErrorText="The value should be a minimum ".concat(this.validations.escortFirstNameMinLength," and maximum ").concat(this.validations.escortFirstNameMaxLength," characters."):t.includes("_")?this.validations.escortFirstNameErrorText="Please ensure that Escort First Name does not contain underscores.":this.validations.escortFirstNameErrorText=void 0}handleEscortFirstNameErrorChange(t){this.validateEscortFirstNameErrorChange(t),this.parentState.updateEscortFirstName(t)}validateEscortLastNameTextChange(t){!t||t&&(t.length<this.validations.escortLastNameMinLength||t.length>this.validations.escortLastNameMaxLength)?this.validations.escortLastNameErrorText="The value should be a minimum ".concat(this.validations.escortLastNameMinLength," and maximum ").concat(this.validations.escortLastNameMaxLength," characters."):u(t)?this.validations.escortLastNameErrorText=void 0:this.validations.escortLastNameErrorText="Please ensure that Escort Last Name consists of alphanumeric characters only."}handleEscortLastNameTextChange(t){this.validateEscortLastNameTextChange(t),this.parentState.updateEscortLastName(t)}validateVisitorBadge(t){t?this.validations.visitorBadgeErrorText=void 0:this.validations.visitorBadgeErrorText="Please select a visitor badge.",this.requestUpdate()}handleVisitorBadgeChange(t){this.validateVisitorBadge(t),this.parentState.updateVisitorBadge(t)}renderEscortDetails(){if(this.parentState.newTicket.isEscortedVisitor){const t=this.parentState.newTicket.status===E.Approved;return a(c||(c=r([' <div class="col-2">\n <ix-textbox\n label="Escort First Name"\n name="escortFirstNameTxt"\n .minLength=',"\n .maxLength=","\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n required\n @input=",'\n ></ix-textbox>\n <ix-textbox\n label="Escort Last Name"\n name="escortLastNameTxt"\n .minLength=',"\n .maxLength=","\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n required\n @input=","\n ></ix-textbox>\n </div>"])),this.validations.escortFirstNameMinLength,this.validations.escortFirstNameMaxLength,this.parentState.newTicket.escortFirstName,!!this.validations.escortFirstNameErrorText,this.validations.escortFirstNameErrorText,this.isEditOn&&(!this.isOspPop||!t),i=>this.handleEscortFirstNameErrorChange(i.target.value),this.validations.escortLastNameMinLength,this.validations.escortLastNameMaxLength,this.parentState.newTicket.escortLastName,!!this.validations.escortLastNameErrorText,this.validations.escortLastNameErrorText,this.isEditOn&&(!this.isOspPop||!t),i=>this.handleEscortLastNameTextChange(i.target.value))}return this.showVisitorBadgeType?a(l||(l=r(['<label for="visitorBadgeStandard" class="visitor-badge-radio">\n <ix-radio\n id="visitorBadgeStandard"\n .checked=',"\n @change=","\n .disabled=",'\n ></ix-radio>\n <div class="visitor-badge-radio__content">\n <span class="visitor-badge-radio__title"\n >Standard visitor badge</span\n >\n <span class="visitor-badge-radio__info">\n Requires a daily check-in at the DLR Security office to receive\n a visitor badge and must be returned to the DLR Security office\n at the end of each workday.\n </span>\n </div>\n </label>\n <label for="visitorBadgeExtended" class="visitor-badge-radio">\n <ix-radio\n id="visitorBadgeExtended"\n .checked=',"\n @change=","\n .disabled=",'\n ></ix-radio>\n <div class="visitor-badge-radio__content">\n <span class="visitor-badge-radio__title"\n >Extended visitor badge</span\n >\n <span class="visitor-badge-radio__info"\n >Remains continuously active for up to 30 days and in the\n possession of the approved individual. After 30 days, a new\n request must be submitted for approval. Note: A standard visitor\n badge expiration date cannot be extended by selecting this\n option.</span\n >\n </div>\n </label>\n ',""])),this.parentState.newTicket.visitorBadge==="Standard",()=>this.handleVisitorBadgeChange("Standard"),this.isEditOn,this.parentState.newTicket.visitorBadge==="Extended",()=>this.handleVisitorBadgeChange("Extended"),this.isEditOn,this.validations.visitorBadgeErrorText?a(h||(h=r(['<span class="error">\n ',"\n </span>"])),this.validations.visitorBadgeErrorText):o):o}render(){var t;return!((t=this.parentState)===null||t===void 0)&&t.newTicket?a(v||(v=r([' <div class="form-wrapper__fields form-margin">\n <ix-checkbox\n label="Escorted Visitor"\n name="escortedVisitorCheckbox"\n arialabel="Escorted Visitor"\n .disabled=',"\n .checked=","\n @change=","\n ></ix-checkbox>\n ","\n </div>"])),this.isEditOn||!this.showVisitorBadgeType,this.parentState.newTicket.isEscortedVisitor||!this.showVisitorBadgeType,i=>this.handleEscortedVisitorChange(i.target.checked),this.renderEscortDetails()):o}};e.styles=[N,T],s([n({type:Boolean})],e.prototype,"isEditOn",void 0),s([n({type:Boolean})],e.prototype,"showVisitorBadgeType",void 0),s([n()],e.prototype,"parentState",void 0),s([g()],e.prototype,"validations",void 0),e=s([x("escorted-visitor-inputs-section")],e);export{e as EscortedVisitorInputsSection};
@@ -0,0 +1 @@
1
+ import{__decorate as s}from"tslib";import{html as o,nothing as h}from"lit";import{MobxLitElement as f}from"@adobe/lit-mobx";import{property as n,state as v,customElement as u}from"lit/decorators.js";import"@digital-realty/ix-email-list/ix-email-list.js";import"@digital-realty/ix-file-uploader/ix-file-uploader.js";import{ServiceTicketsStyles as y}from"../../styles/ui-service-management5.js";import{extensions as S}from"../../constants/ui-service-management2.js";import{isValidEmail as x}from"../../helpers/ui-service-management20.js";import{OtherPartiesToNotify as w}from"../../constants/ui-service-management5.js";import{TWStyles as E}from"../../ui-service-management2.js";var r=Object.freeze,k=Object.defineProperty,l=(t,e)=>r(k(t,"raw",{value:r(e||t.slice())})),d,c;const m={contactsHasError:!1};let a=class extends f{constructor(){super(...arguments),this.ticketAttachments=[],this.validations=m,this.isEditOn=!1}get isFormValid(){return!this.validations.contactsHasError}updated(){this.parentState.isNotificationsAttachmentsValid(this.isFormValid)}firstUpdated(){this.validations={...m}}validateForm(){var t;this.parentState.newTicket.contacts&&this.validateContacts((t=this.parentState.newTicket.contacts)===null||t===void 0?void 0:t.split(",").map(e=>({address:e,isValid:x(e.trim())}))),this.parentState.isNotificationsAttachmentsValid(this.isFormValid),this.requestUpdate()}validateContacts(t){var e;this.validations.contactsHasError=(e=t==null?void 0:t.some(i=>i.address&&!i.isValid))!==null&&e!==void 0?e:!1}handleContactsChange(t){this.validateContacts(t);const e=t.map(i=>i.address).join(",");this.parentState.updateContacts(e)}async handleFileUploaded(t){const e=await Promise.all(t.detail.filesUploaded.map(async i=>({fileName:i.file.name,fileType:i.file.type,file:await i.file.arrayBuffer()})));this.parentState.updateAttachments(e)}handleFileDelete(t){var e;const i=t.detail.file.name;this.parentState.newTicket.attachments=(e=this.parentState.newTicket.attachments)===null||e===void 0?void 0:e.filter(p=>p.fileName!==i)}render(){return o(c||(c=l([' <div class="form-wrapper__fields form-margin">\n <span>Notifications & Attachments</span>\n <div class="w-full">\n <ix-email-list\n name="notificationEmails"\n label=','\n error-text="Please enter a valid email address."\n .value=',"\n .onChanged=","\n checkDuplicates\n ></ix-email-list>\n <div\n ?hidden=",'\n id="contacts-helper-text"\n class="contacts-helper-text"\n >\n Enter email addresses separated by a comma, semicolon or the Enter\n key.\n </div>\n </div>\n\n ',"\n </div>"])),w,this.parentState.newTicket.contacts,t=>this.handleContactsChange(t),this.validations.contactsHasError,this.parentState.newTicket.attachments?o(d||(d=l([" <ix-file-uploader\n .defaultFiles=","\n .extensions=","\n .allowMultipleFiles=",'\n headerText="Click here to browse your device or drop files to upload"\n bodyText="Max file size is 10MB with accepted file formats of: JPG (JPEG), PNG, PDF, GIF, DOC/X, XLS/X, CSV"\n @on-files-uploaded=',"\n @on-file-removed=","\n ></ix-file-uploader>"])),this.isEditOn?this.ticketAttachments:[],S,!0,t=>this.handleFileUploaded(t),t=>this.handleFileDelete(t)):h)}};a.styles=[y,E],s([n()],a.prototype,"parentState",void 0),s([n()],a.prototype,"ticketAttachments",void 0),s([v()],a.prototype,"validations",void 0),s([n({type:Boolean})],a.prototype,"isEditOn",void 0),a=s([u("notifications-attachments-section")],a);export{a as NotificationsAndAttachmentsSection};
@@ -0,0 +1 @@
1
+ import{__decorate as a}from"tslib";import"@digital-realty/ix-date-next/ix-date-next.js";import"@digital-realty/ix-divider/ix-divider.js";import{LitElement as M,nothing as D,html as d}from"lit";import{property as s,state as m,query as x,customElement as _}from"lit/decorators.js";import{ifDefined as y}from"lit/directives/if-defined.js";import r from"moment";import{LocationPermissionTypes as b}from"../../constants/ui-service-management4.js";import{DefaultDateFormat as v,ServiceBackendCodes as f}from"../../constants/ui-service-management2.js";import{SitesLocationsAndHosts as R,SitesAndLocations as U}from"../../constants/ui-service-management5.js";import{getDateOnly as Z}from"../../helpers/ui-service-management.js";import j from"../../services/ui-service-management4.js";import{FacilityAccessStyles as z}from"../../styles/ui-service-management6.js";import{ServiceTicketsStyles as W}from"../../styles/ui-service-management5.js";import{TWStyles as $}from"../../ui-service-management2.js";import"./ui-service-management13.js";import"./ui-service-management3.js";import"./visitor-access/ui-service-management5.js";var L=Object.freeze,G=Object.defineProperty,l=(t,e)=>L(G(t,"raw",{value:L(e||t.slice())})),g,E,w,T,C,A,B,O,F,P,N,q,k,I,V;const H=Z(new Date);let i=class extends M{constructor(){super(),this.editable=!1,this.disableStartDate=!1,this.requireEndDate=!1,this.showLocationStatuses=!1,this.showLocationDates=!1,this.showLocationTimes=!1,this.useSiteTimeZone=!1,this.showStartEndDate=!0,this.showVisitorHost=!0,this.showColumnHeaders=!1,this.useLocationName=!1,this.disableSiteSelection=!1,this.disableLocationSelection=!1,this.disabledOptionSupportingText="",this.isSiteLocationsDialogOpen=!1,this.initialValidationState={siteDetailsErrorText:void 0,startDateErrorText:void 0,endDateErrorText:void 0},this.validations=this.initialValidationState,this.sites=[],this.renderingValidationErrors=!1,this.firstUpdateDone=!1,this.useNewDatePickerComponent=!1,this.useNewDatePickerComponent=j.showNewDatePickerComponent()}get isFormValid(){var t,e,n,o,c,p;if(!this.firstUpdateDone)return!1;if(this.useNewDatePickerComponent){let h=!0,u=!0;this.showStartEndDate&&(h=(n=(e=(t=this.startDateField)===null||t===void 0?void 0:t.validate)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:!0,u=(p=(c=(o=this.endDateField)===null||o===void 0?void 0:o.validate)===null||c===void 0?void 0:c.call(o))!==null&&p!==void 0?p:!0);const S=!this.validateSiteDetails();return h&&u&&S}return(this.editable&&!this.disableStartDate&&this.showStartEndDate?!this.validateStartDate():!0)&&(this.editable&&this.showStartEndDate?!this.validateEndDate():!0)&&!this.validateSiteDetails()}minEndDate(){if(!this.startDate)return r().format(v);const t=r(this.startDate),e=r();return this.permissionType===b.PermanentBadge&&t.add({days:1}),r.max([t,e]).format(v)}maxEndDate(){return this.startDate?r(this.startDate).add({days:365}).format(v):r().add({days:365}).format(v)}maxStartDate(){return r().add(this.startDateMaxDaysInFuture,"days").format(v)}async firstUpdated(){this.sites=await this.getSites(),await this.updateComplete,this.firstUpdateDone=!0}updated(){if(!(!this.firstUpdateDone&&this.useNewDatePickerComponent)){if(this.renderingValidationErrors){this.renderingValidationErrors=!1;return}this.validateForm(!1)}}validateForm(t=!0){var e,n,o,c,p;let h=!0;if(this.useNewDatePickerComponent){let u=!0,S=!0;this.showStartEndDate&&(u=(n=(e=this.startDateField)===null||e===void 0?void 0:e.validate)===null||n===void 0?void 0:n.call(e),S=(c=(o=this.endDateField)===null||o===void 0?void 0:o.validate)===null||c===void 0?void 0:c.call(o)),h=u&&S}else(this.startDate!==void 0||t)&&this.editable&&!this.disableStartDate&&this.showStartEndDate&&(this.validations.startDateErrorText=this.validateStartDate(),h=!this.validations.startDateErrorText),(this.endDate!==void 0||t)&&this.editable&&this.showStartEndDate&&(this.validations.endDateErrorText=this.validateEndDate(),h&&(h=!this.validations.endDateErrorText));(this.sitesDetails&&this.sitesDetails.length>0||t)&&(this.validations.siteDetailsErrorText=this.validateSiteDetails(),h&&(h=!this.validations.siteDetailsErrorText)),(p=this.updateValidationState)===null||p===void 0||p.call(this,h),this.renderingValidationErrors=!0,this.requestUpdate()}validateStartDate(){if(!this.startDate)return"Please select the ".concat(this.startDateLabel,".");if(!this.disableStartDate){if(r(this.startDate).isBefore(r().startOf("day")))return"".concat(this.startDateLabel," cannot be earlier than today.");if(r(this.startDate).isAfter(r().add(this.startDateMaxDaysInFuture,"days")))return"".concat(this.startDateLabel," cannot be more than ").concat(this.startDateMaxDaysInFuture," days from today.")}}validateEndDate(){if(!this.endDate&&this.requireEndDate)return"Please select the ".concat(this.endDateLabel,".");if(this.endDate){const t=r(this.endDate);if(t.isBefore(r().startOf("day")))return"".concat(this.endDateLabel," cannot be earlier than today.");if(this.startDate){const e=r(this.startDate);if(t.isBefore(e))return"".concat(this.endDateLabel," cannot be earlier than ").concat(this.startDateLabel,".");if(this.permissionType===b.PermanentBadge)return this.validateEndDateForPermanentBadge();const n=e.clone().add(this.maxDurationInDays,"days");if(r(this.endDate).isAfter(n))return"".concat(this.endDateLabel," cannot be more than ").concat(this.maxDurationInDays," days from ").concat(this.startDateLabel,".")}}}validateEndDateForPermanentBadge(){if(r(this.endDate).isSame(this.startDate))return"".concat(this.endDateLabel," cannot be equal to ").concat(this.startDateLabel,".")}validateSiteDetails(){var t;return!((t=this.sitesDetails)===null||t===void 0)&&t.length?void 0:"Please add at least one Site & Location."}async handleStartDateChange(t){var e,n,o;(e=this.updateStartDate)===null||e===void 0||e.call(this,t),this.useNewDatePickerComponent&&(this.startDate=t,this.endDateField.errorText="",await this.updateComplete,(o=(n=this.endDateField)===null||n===void 0?void 0:n.validate)===null||o===void 0||o.call(n))}handleEndDateChange(t){var e;(e=this.updateEndDate)===null||e===void 0||e.call(this,t)}handleAddSiteDetails(){this.editableSiteDetails=void 0,this.isSiteLocationsDialogOpen=!0}async handleSiteDetailsDialogClose(t){var e;this.isSiteLocationsDialogOpen=!1,t&&(await((e=this.addSitesDetail)===null||e===void 0?void 0:e.call(this,t)),this.validations.siteDetailsErrorText=void 0)}handleRemoveSiteDetails(t){this.removeSitesDetail(t)}handleEditSiteDetails(t){this.editableSiteDetails={...t,locations:t.locations.map(e=>({...e}))},this.isSiteLocationsDialogOpen=!0}renderAddEditSiteLocationsDialog(){if(!this.isSiteLocationsDialogOpen)return D;const t=this.editableSiteDetails?this.sites:this.sites.filter(e=>{var n;return!(!((n=this.sitesDetails)===null||n===void 0)&&n.some(o=>o.site.siteId===e.siteId))});return d(g||(g=l([" <add-edit-site-details-dialog\n .item=","\n .availableSites=","\n .requestedStartDate=","\n .requestedEndDate=","\n .isDialogOpen=","\n .onClose=","\n .defaultLocationStartDate=","\n .defaultLocationEndDate=","\n .requireEndDate=","\n .permissionType=","\n .showLocationDates=","\n .showLocationTimes=","\n .useSiteTimeZone=","\n .disableSiteSelection=","\n .disableLocationSelection=","\n ?useLocationName=","\n .getSiteLocations=","\n .startDateMaxDaysInFuture=","\n .maxDurationInDays=","\n .disabledOptionSupportingText=","\n ></add-edit-site-details-dialog>"])),this.editableSiteDetails,t,this.startDate,this.endDate,this.isSiteLocationsDialogOpen,e=>this.handleSiteDetailsDialogClose(e),this.startDate,this.endDate,this.requireEndDate,this.permissionType,this.showLocationDates,this.showLocationTimes,this.useSiteTimeZone,this.disableSiteSelection,this.disableLocationSelection,this.useLocationName,this.getSiteLocations,this.startDateMaxDaysInFuture,this.maxDurationInDays,this.disabledOptionSupportingText)}canRenderSiteVisitorHostInputs(t,e=0,n=0){return this.permissionType!=="Visitor Access"?!1:(t==null?void 0:t.serviceBackend)===f.ServiceNow?!0:n===e+1}renderSiteLocations(t){return t.length?t.map((e,n)=>d(T||(T=l([' <div class="flex flex-col gap-6 w-full">\n <requested-location-details-grid\n .editable=',"\n .items=","\n .site=","\n .onRemove=","\n .onEdit=","\n .showStatus=","\n .showColumnHeaders=","\n .disableSiteRemoval=","\n .showLocationDates=","\n ?useLocationName=","\n ></requested-location-details-grid>\n\n ","\n ","\n </div>"])),this.editable||this.disableStartDate,e==null?void 0:e.locations,e.site,()=>this.handleRemoveSiteDetails(e),()=>this.handleEditSiteDetails(e),this.showLocationStatuses,this.showColumnHeaders,this.disableSiteSelection,this.permissionType===b.OSPAccess||this.permissionType===b.POPPOEAccess,this.useLocationName,this.canRenderSiteVisitorHostInputs(e,n,t.length)&&this.showVisitorHost?d(E||(E=l([" <visitor-host-inputs-section\n .editable=","\n .accountNumber=","\n .siteId=","\n .serviceBackend=","\n .value=","\n ></visitor-host-inputs-section>"])),this.editable,e.site.accountNumber,e.site.siteId,e.serviceBackend,e.visitorHost):D,n===t.length-1?D:d(w||(w=l([" <ix-divider></ix-divider>"]))))):D}renderSiteLocationsSection(){var t,e,n;if(!(!((t=this.sitesDetails)===null||t===void 0)&&t.length))return D;const o=this.permissionType==="Visitor Access"?R:U,c=(e=this.sitesDetails)===null||e===void 0?void 0:e.filter(h=>h.serviceBackend!==f.ServiceNow),p=(n=this.sitesDetails)===null||n===void 0?void 0:n.filter(h=>h.serviceBackend===f.ServiceNow);return d(A||(A=l([' <div class="flex flex-col gap-6 w-full">\n <span>',"</span>\n ","\n ","\n ","\n </div>"])),o,this.renderSiteLocations(c),c.length&&p.length?d(C||(C=l([" <ix-divider></ix-divider>"]))):D,this.renderSiteLocations(p))}areAllSitesSelected(){var t;return((t=this.sitesDetails)===null||t===void 0?void 0:t.length)===this.sites.filter(e=>!e.disabled).length}isAddSiteLocationsButtonDisabled(){var t,e;return!this.showStartEndDate&&!this.areAllSitesSelected()?!1:this.useNewDatePickerComponent?!(!((t=this.startDateField)===null||t===void 0)&&t.validity.valid)||!(!((e=this.endDateField)===null||e===void 0)&&e.validity.valid)||this.areAllSitesSelected():!!this.validateStartDate()||!!this.validateEndDate()||this.areAllSitesSelected()}renderAddSiteLocationsButton(){return!this.editable||this.disableSiteSelection?D:d(B||(B=l(['\n <ix-button\n name="addSiteLocationsBtn"\n appearance="outlined"\n has-icon\n @click=',"\n ?disabled=",'\n >\n <md-icon slot="icon">add</md-icon>\n <span>ADD SITE & LOCATIONS *</span>\n </ix-button>\n '])),()=>this.handleAddSiteDetails(),this.isAddSiteLocationsButtonDisabled())}renderNewDatePicker(){return d(N||(N=l([' <div class="form-wrapper__fields form-margin">\n <span>Requested Access Details</span>\n\n ',"\n ","\n\n <div>\n ","\n ","\n ","\n </div>\n ","\n </div>"])),this.showStartEndDate?d(O||(O=l([' <div class="col-2">\n <ix-date-next\n type="default"\n label=','\n name="startDate"\n required\n .value=',"\n .min=","\n .max=","\n ?showCalendarOnMouseDown=","\n .onChanged=","\n .disabled=",'\n ></ix-date-next>\n\n <ix-date-next\n type="default"\n label=','\n name="endDate"\n ?required=',"\n .value=","\n ?showCalendarOnMouseDown=","\n .min=","\n .max=","\n .onChanged=","\n .disabled=","\n ></ix-date-next>\n </div>"])),y(this.startDateLabel),this.startDate,H,this.maxStartDate(),!0,t=>this.handleStartDateChange(t),!this.editable||this.disableStartDate,y(this.endDateLabel),this.requireEndDate,this.endDate,!0,this.minEndDate(),this.maxEndDate(),t=>this.handleEndDateChange(t),!this.editable):D,this.renderSiteLocationsSection(),this.renderAddSiteLocationsButton(),this.areAllSitesSelected()?d(F||(F=l(['<span class="requested-access-details-section__helper-text">\n All available Sites have been selected.\n </span>']))):D,this.validations.siteDetailsErrorText?d(P||(P=l(['<span class="error">\n ',"\n </span>"])),this.validations.siteDetailsErrorText):D,this.renderAddEditSiteLocationsDialog())}renderOldDatePicker(){return d(V||(V=l([' <div class="form-wrapper__fields form-margin">\n <span>Requested Access Details</span>\n\n ',"\n ","\n\n <div>\n ","\n ","\n ","\n </div>\n ","\n </div>"])),this.showStartEndDate?d(q||(q=l([' <div class="col-2">\n <ix-date\n type="default"\n label=','\n name="startDate"\n required\n .value=',"\n .min=","\n ?showCalendarOnMouseDown=","\n .errorText=","\n .onChanged=","\n .disabled=",'\n ></ix-date>\n\n <ix-date\n type="default"\n label=','\n name="endDate"\n ?required=',"\n .value=","\n ?showCalendarOnMouseDown=","\n .min=","\n .errorText=","\n .onChanged=","\n .disabled=","\n ></ix-date>\n </div>"])),y(this.startDateLabel),this.startDate,H,!0,this.validations.startDateErrorText,t=>this.handleStartDateChange(t),!this.editable||this.disableStartDate,y(this.endDateLabel),this.requireEndDate,this.endDate,!0,this.minEndDate(),this.validations.endDateErrorText,t=>this.handleEndDateChange(t),!this.editable):D,this.renderSiteLocationsSection(),this.renderAddSiteLocationsButton(),this.areAllSitesSelected()?d(k||(k=l(['<span class="requested-access-details-section__helper-text">\n All available Sites have been selected.\n </span>']))):D,this.validations.siteDetailsErrorText?d(I||(I=l(['<span class="error">\n ',"\n </span>"])),this.validations.siteDetailsErrorText):D,this.renderAddEditSiteLocationsDialog())}render(){return this.useNewDatePickerComponent?this.renderNewDatePicker():this.renderOldDatePicker()}};i.styles=[W,z,$],a([s({type:String})],i.prototype,"endDateLabel",void 0),a([s({type:Boolean})],i.prototype,"editable",void 0),a([s({type:Boolean})],i.prototype,"disableStartDate",void 0),a([s({type:Boolean})],i.prototype,"requireEndDate",void 0),a([s({type:Boolean})],i.prototype,"showLocationStatuses",void 0),a([s({type:Boolean})],i.prototype,"showLocationDates",void 0),a([s({type:Boolean})],i.prototype,"showLocationTimes",void 0),a([s({type:Boolean})],i.prototype,"useSiteTimeZone",void 0),a([s({type:String})],i.prototype,"startDateLabel",void 0),a([s({type:String})],i.prototype,"permissionType",void 0),a([s({type:Boolean})],i.prototype,"showStartEndDate",void 0),a([s({type:Boolean})],i.prototype,"showVisitorHost",void 0),a([s({type:Boolean})],i.prototype,"showColumnHeaders",void 0),a([s({type:Boolean})],i.prototype,"useLocationName",void 0),a([s({type:String})],i.prototype,"startDate",void 0),a([s({type:Function})],i.prototype,"updateStartDate",void 0),a([s({type:String})],i.prototype,"endDate",void 0),a([s({type:Function})],i.prototype,"updateEndDate",void 0),a([s({type:Object})],i.prototype,"sitesDetails",void 0),a([s({type:Function})],i.prototype,"addSitesDetail",void 0),a([s({type:Function})],i.prototype,"removeSitesDetail",void 0),a([s({type:Function})],i.prototype,"updateValidationState",void 0),a([s({type:Boolean})],i.prototype,"disableSiteSelection",void 0),a([s({type:Boolean})],i.prototype,"disableLocationSelection",void 0),a([s({attribute:!1})],i.prototype,"getSiteLocations",void 0),a([s({type:Number})],i.prototype,"startDateMaxDaysInFuture",void 0),a([s({type:Number})],i.prototype,"maxDurationInDays",void 0),a([s({attribute:!1})],i.prototype,"getSites",void 0),a([s({type:String})],i.prototype,"disabledOptionSupportingText",void 0),a([m()],i.prototype,"isSiteLocationsDialogOpen",void 0),a([m()],i.prototype,"validations",void 0),a([m()],i.prototype,"editableSiteDetails",void 0),a([m()],i.prototype,"sites",void 0),a([x('ix-date-next[name="startDate"]')],i.prototype,"startDateField",void 0),a([x('ix-date-next[name="endDate"]')],i.prototype,"endDateField",void 0),i=a([_("requested-access-details-section")],i);export{i as RequestedAccessDetailsSection};
@@ -0,0 +1 @@
1
+ import{__decorate as E}from"tslib";import{MobxLitElement as y}from"@adobe/lit-mobx";import{nothing as o,html as r}from"lit";import{customElement as L}from"lit/decorators.js";import{until as v}from"lit-html/directives/until.js";import{SharedTicketStatus as c,FacilityAccessTicketStatus as p}from"../../../enums/ui-service-management.js";import{ApplicationEvents as m}from"../../../constants/ui-service-management.js";import{LocationPrivilegeLevels as h,LocationPermissionTypes as u}from"../../../constants/ui-service-management4.js";import{CancelButtonText as w,EditButtonText as D}from"../../../constants/ui-service-management5.js";import{anyLocationsPending as x}from"../../../helpers/ui-service-management3.js";import{hasPermissionAtAnyLocations as k}from"../../../services/ui-service-management5.js";import{serviceTicketState as B}from"../../../state/ui-service-management4.js";import{visitorAccessState as t}from"../../../state/ui-service-management7.js";import{TWStyles as U}from"../../../ui-service-management2.js";import{isInsite as S}from"../../../services/ui-service-management6.js";var A=Object.freeze,O=Object.defineProperty,a=(e,i)=>A(O(e,"raw",{value:A(i||e.slice())})),C,T,P,g,b,f;let l=class extends y{constructor(){super(...arguments),this.hasUpdatePermission=void 0,this.hasApprovePermission=void 0}async getUpdatePermissions(){var e,i,s,n;this.hasUpdatePermission!==void 0||!(!((n=(s=(i=(e=t.selectedTicket)===null||e===void 0?void 0:e.sitesDetails)===null||i===void 0?void 0:i[0])===null||s===void 0?void 0:s.locations)===null||n===void 0)&&n.length)||(this.hasUpdatePermission=await k(t.selectedTicket.sitesDetails[0].locations.map(d=>d.id),u.VisitorAccess,h.Update))}async getApprovePermissions(){var e,i,s,n;this.hasApprovePermission!==void 0||!(!((n=(s=(i=(e=t.selectedTicket)===null||e===void 0?void 0:e.sitesDetails)===null||i===void 0?void 0:i[0])===null||s===void 0?void 0:s.locations)===null||n===void 0)&&n.length)||(this.hasApprovePermission=await k(t.selectedTicket.sitesDetails[0].locations.map(d=>d.id),u.VisitorAccess,h.Approve))}get canApproveOrDeny(){var e;return!((e=t.selectedTicket)===null||e===void 0)&&e.state?t.selectedTicket.state!==c.Cancelled&&x(t.selectedTicket.sitesDetails):!1}get canCancel(){var e;return!S(t.selectedTicket.id)||!(!((e=t.selectedTicket)===null||e===void 0)&&e.state)?!1:[c.InProgress.toLowerCase(),p.PendingApproval.toLowerCase(),p.Approved.toLowerCase()].includes(t.selectedTicket.state.toLowerCase())}get canEdit(){var e;return!((e=t.selectedTicket)===null||e===void 0)&&e.state?![c.Cancelled.toLowerCase(),c.Completed.toLowerCase(),p.ApprovalDenied.toLowerCase()].includes(t.selectedTicket.state.toLowerCase()):!1}dispatchClickEvent(e){const i=new CustomEvent(e,{bubbles:!0,composed:!0});this.dispatchEvent(i)}renderApproveDenyBtn(){return!this.hasApprovePermission||!this.canApproveOrDeny?o:r(C||(C=a(['<ix-button\n name="approveDenyBtn"\n has-icon\n @click=','\n >\n <md-icon slot="icon">playlist_add_check</md-icon>\n <span class="button-label">APPROVE/DENY</span>\n </ix-button>'])),()=>{this.dispatchClickEvent(m.ApproveDenyTicket)})}renderCancelBtn(){return!this.hasUpdatePermission||!this.canCancel?o:r(T||(T=a(['<ix-button\n class="cancel"\n appearance="outlined"\n name="cancelBtn"\n @click=','\n >\n <span class="button-label">',"</span>\n </ix-button>"])),()=>{this.dispatchClickEvent(m.CancelTicket)},w)}renderEditBtn(){return!this.hasUpdatePermission||!this.canEdit?o:r(P||(P=a(['<ix-button\n name="edit-button"\n @click=','\n has-icon\n >\n <md-icon slot="icon">edit</md-icon>\n <span>',"</span>\n </ix-button>"])),()=>{this.dispatchClickEvent(m.EditTicket)},D)}render(){return B.loadings.isTicketCancelling?o:r(f||(f=a(['<div class="w-fit flex gap-2">\n ',"\n ","\n </div>"])),v(this.getApprovePermissions().then(()=>r(g||(g=a([" ",""])),this.renderApproveDenyBtn())),o),v(this.getUpdatePermissions().then(()=>r(b||(b=a([" "," ",""])),this.renderCancelBtn(),this.renderEditBtn())),o))}};l.styles=[U],l=E([L("visitor-access-button-group")],l);export{l as VisitorAccessButtonGroup};
@@ -0,0 +1 @@
1
+ import{__decorate as s}from"tslib";import"@digital-realty/ix-divider/ix-divider.js";import"@digital-realty/ix-textbox/ix-textbox.js";import{html as l}from"lit";import{property as a,customElement as f}from"lit/decorators.js";import{maxVisitorsCount as x}from"../../../constants/ui-service-management6.js";import b from"../../../services/ui-service-management4.js";import{serviceTicketState as m}from"../../../state/ui-service-management4.js";import{visitorAccessState as t}from"../../../state/ui-service-management7.js";import{FacilityAccessStyles as D}from"../../../styles/ui-service-management6.js";import{ServiceTicketsStyles as C}from"../../../styles/ui-service-management5.js";import{TWStyles as w}from"../../../ui-service-management2.js";import{ServiceTicketFormBase as E}from"../../shared/ui-service-management16.js";import"../ui-service-management7.js";import"../ui-service-management8.js";import"../ui-service-management9.js";import"../ui-service-management6.js";import{getAllowedLocations as T}from"../../../services/ui-service-management5.js";import{LocationPrivilegeLevels as u}from"../../../constants/ui-service-management4.js";import{vaPbStartDateMaxDaysInFuture as k,vaPbMaxDurationDays as _}from"../../../constants/ui-service-management9.js";import{getAllowedSitesWithSpaceInfo as O}from"../../../services/ui-service-management16.js";import{ResultStep as q,SiteNotSupportedMessage as A}from"../../../constants/ui-service-management5.js";import{wrappedDivider as o}from"../../../helpers/ui-service-management22.js";import"../../shared/ui-service-management17.js";var h=Object.freeze,L=Object.defineProperty,p=(e,n)=>h(L(e,"raw",{value:h(n||e.slice())})),v,S,y;let i=class extends E{constructor(){super(...arguments),this.isEditOn=!1,this.validations={representingCompanyMaxLength:32,representingCompanyErrorText:void 0},this.updateStartDate=t.updateStartDate.bind(t),this.updateEndDate=t.updateEndDate.bind(t),this.addSitesDetail=t.addSiteLocations.bind(t),this.removeSitesDetail=t.removeSiteLocations.bind(t),this.updateValidationState=t.isRequestedAccessDetailsValid.bind(t),this.getSiteLocations=async e=>(await T(u.Create,"Visitor Access","Facilities_access",e.siteId)).map(n=>({id:n.id})),this.getSites=async()=>(await O(u.Create)).map(e=>({siteId:e.siteId,displayName:e.displayName,disabled:!e.hasSpaces,accountNumber:e.accountNumber}))}firstUpdated(){this.isEditOn||t.createTicket(),t.newTicket.attachments=[]}get visitorContactInputSection(){return this.shadowRoot.querySelector("visitor-contact-inputs-section")}get escortedVisitorInputsSection(){return this.shadowRoot.querySelector("escorted-visitor-inputs-section")}get visitorHostInputSections(){return Array.from(this.requestedAccessDetailsSection.shadowRoot.querySelectorAll("visitor-host-inputs-section"))}get requestedAccessDetailsSection(){return this.shadowRoot.querySelector("requested-access-details-section")}get notificationsAttachmentsSection(){return this.shadowRoot.querySelector("notifications-attachments-section")}async handleOnSubmit(){if(this.onSubmitted&&this.isEditOn){if(this.validateMandatoryFields(),!t.isNewTicketValid)return;try{await t.submitUpdateTicketRequest()}finally{m.ticketStep=q,this.onSubmitted()}}}validateMandatoryFields(){var e,n,r,d,c;(e=this.visitorContactInputSection)===null||e===void 0||e.validateForm(),(n=this.escortedVisitorInputsSection)===null||n===void 0||n.validateForm(),(r=this.visitorHostInputSections)===null||r===void 0||r.forEach(g=>{g.validateForm()}),(d=this.requestedAccessDetailsSection)===null||d===void 0||d.validateForm(),this.validations.representingCompanyErrorText=this.validateRepresentingCompany(),(c=this.notificationsAttachmentsSection)===null||c===void 0||c.validateForm(),this.requestUpdate()}handleNextClick(){this.validateMandatoryFields(),t.isNewTicketValid&&this.onNextButtonClick()}validateRepresentingCompany(){if(!t.newTicket.representingCompany)return t.isRepresentingCompanyValid(!1),"Representing Company is required.";t.isRepresentingCompanyValid(!0)}renderHeader(){return l(S||(S=p(['<div\n class="create-edit-facility-access-container__header form-margin"\n >\n <div class="flex flex-col">\n <h3 class="dlr-text-page-title ','">\n '," Facility Access Service Ticket\n ",'\n </h3>\n\n <div class="sub-header flex_column">\n <div class="sub-header__row">\n <div>\n <h5 class="sub-header__row_caption">Request Type</h5>\n </div>\n <div>\n <h5 class="sub-header__row_caption">Category</h5>\n </div>\n <div>\n <span class="italic">*denotes required field</span>\n </div>\n </div>\n <div class="sub-header__row">\n <div>\n <span class="sub-header__row_value">\n ','\n </span>\n </div>\n <div>\n <span class="sub-header__row_value">\n ',"\n </span>\n </div>\n <div>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n <ix-divider></ix-divider>\n </div>"])),this.isEditOn?"":"mb-6",this.isEditOn?"Edit":"Create",this.isEditOn?(t===null||t===void 0?void 0:t.selectedTicket)&&l(v||(v=p([" <span>#","</span> "])),t===null||t===void 0?void 0:t.selectedTicket.id):"",t.newTicket.requestType,t.newTicket.category)}render(){return l(y||(y=p(['<div\n class="create-edit-facility-access-container wizard-content"\n >\n ','\n <div class="form-wrapper mt-0">\n <visitor-contact-inputs-section\n .maxContacts=',"\n .enableBulkUpload=","\n .isEditOn=","\n .parentState=","\n ></visitor-contact-inputs-section>\n\n ","\n\n <escorted-visitor-inputs-section\n .isEditOn=","\n .parentState=","\n ></escorted-visitor-inputs-section>\n\n ","\n\n <requested-access-details-section\n .editable=",'\n endDateLabel="End Date"\n startDateLabel="Start Date"\n requireEndDate\n .showLocationDates=',"\n .startDate=","\n .updateStartDate=","\n .endDate=","\n .updateEndDate=","\n .sitesDetails=","\n .addSitesDetail=","\n .removeSitesDetail=","\n .updateValidationState=","\n .permissionType=","\n .getSiteLocations=","\n .startDateMaxDaysInFuture=","\n .maxDurationInDays=","\n .getSites=","\n .disabledOptionSupportingText=","\n >\n </requested-access-details-section>\n\n ",'\n\n <div class="form-wrapper__fields form-margin">\n <ix-textbox\n label="Representing Company"\n name="representingCompanyTxt"\n .minLength=',"\n .maxLength=","\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n required\n @input=",'\n ></ix-textbox>\n\n <ix-textbox\n label="Notes"\n name="notesTxt"\n type="textarea"\n .rows=',"\n .minLength=","\n .maxLength=","\n .value=","\n .disabled=","\n @input=","\n ></ix-textbox>\n </div>\n\n ","\n\n <notifications-attachments-section\n .isEditOn=","\n .parentState=","\n .ticketAttachments=","\n ></notifications-attachments-section>\n </div>\n <form-footer\n ?isEditMode=","\n .isSubmitting=","\n .handleCancelClick=","\n .handleSubmitClick=","\n .handleNextClick=","\n ></form-footer>\n </div>\n </div>"])),this.renderHeader(),x,!0,this.isEditOn,t,o(),this.isEditOn,t,o(),!this.isEditOn,!b.isHideLocationDatesEnabled(),t.newTicket.startDate,this.updateStartDate,t.newTicket.endDate,this.updateEndDate,t.newTicket.sitesDetails,this.addSitesDetail,this.removeSitesDetail,this.updateValidationState,"Visitor Access",this.getSiteLocations,k,_,this.getSites,A,o(),0,this.validations.representingCompanyMaxLength,t.newTicket.representingCompany,!!this.validations.representingCompanyErrorText,this.validations.representingCompanyErrorText,this.isEditOn,e=>{t.updateRepresentingCompany(e.target.value),this.validations.representingCompanyErrorText=this.validateRepresentingCompany()},1,0,4e3,t.newTicket.notes,this.isEditOn,e=>{t.updateNotes(e.target.value)},o(),this.isEditOn,t,m.ticketAttachments,this.isEditOn,t.loadings.isSubmitting,this.onCancelled,()=>this.handleOnSubmit(),()=>this.handleNextClick())}};i.styles=[C,D,w],s([a({type:Function})],i.prototype,"onNextButtonClick",void 0),s([a({type:Function})],i.prototype,"onSubmitted",void 0),s([a({type:Function})],i.prototype,"onCancelled",void 0),s([a({type:Boolean})],i.prototype,"isEditOn",void 0),i=s([f("create-edit-visitor-access-service-ticket")],i);export{i as CreateEditVisitorAccessServiceTicket};
@@ -0,0 +1 @@
1
+ import{__decorate as d}from"tslib";import{MobxLitElement as R}from"@adobe/lit-mobx";import"@digital-realty/ix-date-next/ix-date-next.js";import"@digital-realty/ix-date/ix-date.js";import"@digital-realty/ix-divider/ix-divider.js";import"@digital-realty/ix-progress/ix-progress.js";import{html as t,nothing as c}from"lit";import{property as l,state as q,customElement as H}from"lit/decorators.js";import{LocationPermissionTypes as O}from"../../../constants/ui-service-management4.js";import{ServiceBackendCodes as m}from"../../../constants/ui-service-management2.js";import{ResultStep as P,SitesLocationsAndHosts as I}from"../../../constants/ui-service-management5.js";import U from"../../../services/ui-service-management4.js";import{serviceTicketState as Z}from"../../../state/ui-service-management4.js";import{visitorAccessState as e}from"../../../state/ui-service-management7.js";import{FacilityAccessStyles as j}from"../../../styles/ui-service-management6.js";import{ServiceTicketsStyles as z}from"../../../styles/ui-service-management5.js";import{TWStyles as M}from"../../../ui-service-management2.js";import"../ui-service-management10.js";import"../ui-service-management2.js";var v=Object.freeze,$=Object.defineProperty,s=(n,i)=>v($(n,"raw",{value:v(i||n.slice())})),u,f,y,h,k,_,T,b,w,S,x,g,N,D,E,C,V,A,B,F,L;let r=class extends R{constructor(){super(),this.isEditOn=!1,this.isSubmitting=!1,this.useNewDatePickerComponent=!1,this.useNewDatePickerComponent=U.showNewDatePickerComponent()}async handleOnSubmit(){if(this.onSubmitted)try{this.isSubmitting=!0,this.isEditOn?await e.submitUpdateTicketRequest():await e.submitNewTicketRequest()}finally{Z.ticketStep=P,this.isSubmitting=!1,this.onSubmitted()}}renderRequestType(){return t(u||(u=s(['<div class="fa-summary-form__block">\n <div class="summary-form__field">\n <span>Request Type</span>\n <span>','</span>\n </div>\n <div class="summary-form__field">\n <span>Category</span>\n <span>',"</span>\n </div>\n </div>"])),e.newTicket.requestType,e.newTicket.category)}renderVisitorDetails(){var n;return!((n=e.newTicket.visitors)===null||n===void 0)&&n.length?t(f||(f=s(['<div class="fa-summary-form__block">\n <div>Visitor Details</div>\n </div>\n <div class="fa-summary-form__block">\n <visitors-grid\n .items=',"\n .editable=",'\n .showCompany="false"\n .useBadgeHolderText="false"\n ></visitors-grid>\n </div>'])),e.newTicket.visitors,!1):c}renderVisitorType(){return t(y||(y=s(['<div class="fa-summary-form__block">\n <div class="summary-form__field">\n <span>Visitor Type</span>\n <span\n >',"</span\n >\n </div>\n\n ","\n </div>"])),e.newTicket.isEscortedVisitor?"Escorted Visitor":"Unescorted Visitor",e.newTicket.isEscortedVisitor?this.renderEscortName():this.renderUnescortedVisitorType())}renderEscortName(){return t(h||(h=s([' <div class="summary-form__field">\n <span>Escort First Name</span>\n <span>','</span>\n </div>\n\n <div class="summary-form__field">\n <span>Escort Last Name</span>\n <span>',"</span>\n </div>"])),e.newTicket.escortFirstName,e.newTicket.escortLastName)}renderUnescortedVisitorType(){return t(k||(k=s(['<div class="summary-form__field">\n <span>Unescorted visitor type</span>\n <span>',"</span>\n </div>"])),e.newTicket.visitorBadge)}renderVisitorHostDetails(n){var i,a;let o=e.newTicket.hostFirstName,p=e.newTicket.hostLastName;return n.serviceBackend===m.ServiceNow&&(o=(i=n.visitorHost)===null||i===void 0?void 0:i.firstName,p=(a=n.visitorHost)===null||a===void 0?void 0:a.lastName),t(_||(_=s(['<div class="fa-summary-form__block">\n <span>Visitor Host</span>\n\n <div class="summary-form__field">\n <span>First Name</span>\n <span>','</span>\n </div>\n\n <div class="summary-form__field">\n <span>Last Name</span>\n <span>',"</span>\n </div>\n </div>"])),o,p)}canRenderSiteVisitorHostInputs(n,i=0,a=0){return(n==null?void 0:n.serviceBackend)===m.ServiceNow?!0:a===i+1}renderSiteLocations(n){return n==null?void 0:n.map((i,a)=>t(T||(T=s(['<div class="fa-summary-form__block">\n <facility-access-summary-site-grid\n .items=',"\n .site=","\n .greyOutParentLocations=","\n .locationPermissionType=","\n ></facility-access-summary-site-grid>\n </div>\n\n ",""])),i.locations.map(o=>({id:o.id,startDate:o.startDate,endDate:o.endDate})),{siteId:i.site.siteId,displayName:i.site.displayName},i.serviceBackend===m.ServiceNow,O.VisitorAccess,this.canRenderSiteVisitorHostInputs(i,a,n.length)?this.renderVisitorHostDetails(i):c))}renderRequestedAccessDetails(){var n,i;return t(N||(N=s(['<div class="fa-summary-form__block">\n <span>Requested Access Details</span>\n <div class="summary-form__field">\n <span>Start Date</span>\n <span>\n ',"\n </span>\n </div>\n\n ",'\n </div>\n\n <div class="fa-summary-form__block">\n <span>',"</span>\n </div>\n\n ","\n ",'\n\n <ix-divider></ix-divider>\n\n <div class="fa-summary-form__block">\n <div class="summary-form__field">\n <span>Representing Company</span>\n <span>','</span>\n </div>\n\n <div class="summary-form__field">\n <span>Notes</span>\n <span class="whitespace-break-spaces word-break-all"\n >',"</span\n >\n </div>\n </div>"])),this.useNewDatePickerComponent===!0?t(b||(b=s(['<ix-date-next\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date-next>"])),e.newTicket.startDate,!0):t(w||(w=s(['<ix-date\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date>"])),e.newTicket.startDate,!0),e.newTicket.endDate?t(g||(g=s(['<div class="summary-form__field">\n <span>End Date</span>\n <span>\n ',"\n </span>\n </div>"])),this.useNewDatePickerComponent===!0?t(S||(S=s(['<ix-date-next\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date-next>"])),e.newTicket.endDate,!0):t(x||(x=s(['<ix-date\n type="static"\n .value=',"\n .noTimeZoneConversion=","\n >\n </ix-date>"])),e.newTicket.endDate,!0)):c,I,this.renderSiteLocations((n=e.newTicket.sitesDetails)===null||n===void 0?void 0:n.filter(a=>a.serviceBackend!==m.ServiceNow)),this.renderSiteLocations((i=e.newTicket.sitesDetails)===null||i===void 0?void 0:i.filter(a=>a.serviceBackend===m.ServiceNow)),e.newTicket.representingCompany,e.newTicket.notes)}renderContacts(){const n=e.newTicket.contacts;return t(E||(E=s(["<span\n >","\n </span>"])),n?n==null?void 0:n.split(",").map(i=>t(D||(D=s(["<ix-chip label=",' appearance="suggestion"></ix-chip\n >&nbsp;'])),i)):c)}renderNotificationsAttachments(){var n;return t(V||(V=s(['<div class="fa-summary-form__block">\n <span>Notifications & Attachments</span>\n <div class="summary-form__field">\n <span>Email Notifications</span>\n ','\n </div>\n\n <div class="summary-form__field">\n <span>Attachments</span>\n <div>\n ',"\n </div>\n </div>\n </div>"])),this.renderContacts(),(n=e.newTicket.attachments)===null||n===void 0?void 0:n.map(i=>t(C||(C=s(['<div class="attachments-file-summary">',"</div>"])),i.fileName)))}renderFormFields(){return e.loadings.isSubmitting?t(A||(A=s(['<div class="w-full flex justify-center mt-12 pr-4">\n <ix-progress .indeterminate='," .linear=","></ix-progress>\n </div>"])),!0,!1):t(B||(B=s(['<div class="form-wrapper pr-4">\n <div class="fa-summary-form">\n ',"\n\n <ix-divider></ix-divider>\n\n "," ","\n\n <ix-divider></ix-divider>\n\n ","\n\n <ix-divider></ix-divider>\n\n ","\n </div>\n </div>"])),this.renderRequestType(),this.renderVisitorDetails(),this.renderVisitorType(),this.renderRequestedAccessDetails(),this.renderNotificationsAttachments())}render(){return t(L||(L=s(['<div class="wizard-content form-margin">\n <div class="pr-4">\n <h1 class="dlr-text-page-title">\n ',' Facility Access Service Ticket\n </h1>\n\n <div class="sub-header">\n <h3 class="dlr-text-heading">Are the details correct?</h3>\n <div class="sub-header__action-buttons">\n ','\n\n <ix-button\n type="submit"\n has-icon\n trailing-icon\n @click=',"\n ?submitting=",'\n >\n <md-icon slot="icon">east</md-icon>\n <span class="button-label">YES, SUBMIT</span>\n </ix-button>\n </div>\n </div>\n </div>\n\n ',"\n </div>"])),this.isEditOn?"Edit":"Create",this.isSubmitting?c:t(F||(F=s(['\n <ix-button\n type="button"\n has-icon\n trailing-icon\n appearance="outlined"\n @click=','\n >\n <span class="button-label">EDIT DETAILS</span>\n </ix-button>\n '])),()=>this.onEditButtonClicked()),this.handleOnSubmit,this.isSubmitting,this.renderFormFields())}};r.styles=[z,j,M],d([l({type:Function})],r.prototype,"onEditButtonClicked",void 0),d([l({type:Function})],r.prototype,"onSubmitted",void 0),d([l({type:Boolean})],r.prototype,"isEditOn",void 0),d([q()],r.prototype,"isSubmitting",void 0),r=d([H("create-edit-visitor-access-summary")],r);export{r as CreateEditVisitorAccessSummary};
@@ -0,0 +1 @@
1
+ import{__decorate as i}from"tslib";import{LitElement as l,html as s}from"lit";import{customElement as a}from"lit/decorators.js";import{ifDefined as m}from"lit/directives/if-defined.js";import{InfoIcon as f}from"../../shared/ui-service-management11.js";import"@digital-realty/ix-button/ix-button.js";import{FacilityAccessStyles as p}from"../../../styles/ui-service-management6.js";var t=Object.freeze,c=Object.defineProperty,v=(n,o)=>t(c(n,"raw",{value:t(o||n.slice())})),r;const d=window.globalConfig;let e=class extends l{render(){return s(r||(r=v(['<div class="bulk-upload-link">\n <ix-button\n appearance="anchor"\n href="','"\n target="_blank"\n rel="noopener noreferrer"\n >Download Template File\n </ix-button>\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n style="fill: var(--ix-font-color); flex-shrink: 0;"\n >\n ',"\n </svg>\n </div>"])),m(d.VisitorsTemplateFileLink),f)}};e.styles=[p],e=i([a("visitors-template-file-link")],e);export{e as VisitorsTemplateFileLink};
@@ -0,0 +1 @@
1
+ import{__decorate as l}from"tslib";import{html as c}from"lit";import{MobxLitElement as C}from"@adobe/lit-mobx";import"@digital-realty/ix-filter-select/ix-filter-select.js";import{property as u,state as d,customElement as y}from"lit/decorators.js";import{authedUser as H}from"@digital-realty/ix-account-switcher";import{FacilityAccessStyles as F}from"../../../styles/ui-service-management6.js";import{ServiceTicketsStyles as w}from"../../../styles/ui-service-management5.js";import{visitorAccessState as a}from"../../../state/ui-service-management7.js";import{ServiceBackendCodes as m}from"../../../constants/ui-service-management2.js";import{debounce as M}from"../../../helpers/ui-service-management14.js";import{TWStyles as T}from"../../../ui-service-management2.js";var V=Object.freeze,S=Object.defineProperty,g=(t,i)=>V(S(t,"raw",{value:V(i||t.slice())})),N,x,b,L;const f={hostFirstNameMinLength:0,hostFirstNameMaxLength:50,hostFirstNameErrorText:void 0,hostLastNameMinLength:0,hostLastNameMaxLength:50,hostLastNameErrorText:void 0,visitorHostErrorText:void 0};let r=class extends C{constructor(){super(...arguments),this.minSearchChars=1,this.touched=!1,this.fetchFacilityAccessController=new AbortController,this.boundHandleClearFilterSelect=this.handleClearFilterSelect.bind(this),this.editable=!1,this.serviceBackend=void 0,this.siteId="",this.value=void 0,this.loadingVisitorHostsResults=!1,this.isViewMoreButtonLoading=!1,this.pageCount=1,this.isViewMoreButtonVisible=!1,this.visitorHostSearchValue=void 0,this.visitorHosts=[],this.selectedHost=void 0,this.validations=f}connectedCallback(){super.connectedCallback(),this.debounceInputChange=M(this.handleVisitorHostInputChange.bind(this),300)}disconnectedCallback(){super.disconnectedCallback(),this.fetchFacilityAccessController.abort(),this.clearState()}clearState(){this.visitorHostSearchValue=void 0,this.visitorHosts=[],this.selectedHost=void 0,this.touched=!1,this.pageCount=1,this.isViewMoreButtonLoading=!1,this.isViewMoreButtonVisible=!1}get isVisitorHostDisabled(){var t;return((t=this.visitorHosts)===null||t===void 0?void 0:t.length)===1&&this.visitorHosts[0].id===this.defaultVisitorHost.id}get isFormValid(){return this.serviceBackend===m.ServiceNow?!this.validations.visitorHostErrorText:!this.validations.hostFirstNameErrorText&&!this.validations.hostLastNameErrorText}get defaultVisitorHost(){return{id:H.email,firstName:H.givenName,lastName:H.familyName}}updated(){a.isVisitorHostDetailsValidBySite(this.siteId,this.isFormValid)}firstUpdated(){this.validations={...f}}async update(t){var i,s,o,e,n,h,v;if(super.update(t),(t.has("siteId")||t.has("serviceBackend"))&&this.serviceBackend===m.ServiceNow){if(!this.editable){this.visitorHosts=[{id:"1",firstName:(i=a.newTicket.hostFirstName)!==null&&i!==void 0?i:"",lastName:(s=a.newTicket.hostLastName)!==null&&s!==void 0?s:""}];return}const p=await a.getVisitorHosts(this.siteId);this.isViewMoreButtonVisible=((o=p.totalCount)!==null&&o!==void 0?o:0)>((n=(e=p.items)===null||e===void 0?void 0:e.length)!==null&&n!==void 0?n:0),this.visitorHosts=(h=p.items)!==null&&h!==void 0?h:[],((v=this.visitorHosts)===null||v===void 0?void 0:v.length)===0&&(this.visitorHosts=[this.defaultVisitorHost],this.isViewMoreButtonVisible=!1,this.handleSectionChange({detail:{value:this.visitorHosts[0].id}})),this.isViewMoreButtonLoading=!1}}async handleVisitorHostInputChange(t){var i;if(t.length>=this.minSearchChars||this.touched&&t.length===0){if(this.touched=!0,this.fetchFacilityAccessController.abort(),this.fetchFacilityAccessController=new AbortController,t.length===0){this.visitorHosts=[],this.isViewMoreButtonLoading=!1,this.isViewMoreButtonVisible=!1,this.loadingVisitorHostsResults=!1;return}this.loadingVisitorHostsResults=!0,this.visitorHosts=[],this.pageCount=1,this.visitorHostSearchValue=t;const s=[this.pageCount,this.pageCount+1].map(h=>a.getVisitorHosts(this.siteId,this.visitorHostSearchValue,{signal:this.fetchFacilityAccessController.signal},h)),o=await Promise.all(s),[e,n]=o;if(this.visitorHosts=e.items,n.items&&(this.isViewMoreButtonVisible=((i=n.totalCount)!==null&&i!==void 0?i:0)>n.items.length),this.fetchFacilityAccessController.signal.aborted)return;this.loadingVisitorHostsResults=!1}}handleClearFilterSelect(){this.fetchFacilityAccessController.abort(),this.selectedHost=void 0,a.updateVisitorHost(this.siteId,this.selectedHost)}async handleOnViewMore(){var t,i,s;this.touched=!0,this.fetchFacilityAccessController.abort(),this.fetchFacilityAccessController=new AbortController,this.isViewMoreButtonLoading=!0,this.pageCount+=1;const o=[this.pageCount,this.pageCount+1].map(v=>a.getVisitorHosts(this.siteId,this.visitorHostSearchValue,{signal:this.fetchFacilityAccessController.signal},v)),e=await Promise.all(o),[n,h]=e;this.visitorHosts=[...(t=this.visitorHosts)!==null&&t!==void 0?t:[],...(i=n.items)!==null&&i!==void 0?i:[]],h.items&&(this.isViewMoreButtonVisible=((s=h.totalCount)!==null&&s!==void 0?s:0)>h.items.length),this.isViewMoreButtonLoading=!1}validateVisitorHost(t=!0){let i=!0;this.selectedHost===void 0&&(this.touched||t)&&(i=!1),this.validations.visitorHostErrorText=i?void 0:"Please select a visitor host";const s=this.shadowRoot.querySelector("ix-filter-select");s&&(s.dirty=!1),this.requestUpdate()}handleSectionChange(t){var i;const s=(i=this.visitorHosts)===null||i===void 0?void 0:i.find(o=>o.id===t.detail.value);this.selectedHost=s,a.updateVisitorHost(this.siteId,s),this.isViewMoreButtonVisible=!1,this.selectedHost&&(this.validations.visitorHostErrorText=void 0)}validateForm(){this.serviceBackend===m.ServiceNow?this.validateVisitorHost():(this.validateHostFirstName(a.newTicket.hostFirstName),this.validateHostLastName(a.newTicket.hostLastName)),a.isVisitorHostDetailsValidBySite(this.siteId,this.isFormValid),this.requestUpdate()}validateHostFirstName(t){!t||t&&(t.length<this.validations.hostFirstNameMinLength||t.length>this.validations.hostFirstNameMaxLength)?this.validations.hostFirstNameErrorText="The value should be a minimum ".concat(this.validations.hostFirstNameMinLength," and maximum ").concat(this.validations.hostFirstNameMaxLength," characters."):this.validations.hostFirstNameErrorText=void 0}handleHostFirstNameTextChange(t){this.validateHostFirstName(t),a.updateHostFirstName(t)}validateHostLastName(t){!t||t&&(t.length<this.validations.hostLastNameMinLength||t.length>this.validations.hostLastNameMaxLength)?this.validations.hostLastNameErrorText="The value should be a minimum ".concat(this.validations.hostLastNameMinLength," and maximum ").concat(this.validations.hostLastNameMaxLength," characters."):this.validations.hostLastNameErrorText=void 0}handleHostLastNameTextChange(t){this.validateHostLastName(t),a.updateHostLastName(t)}get visitorHostSelectItems(){var t;return(t=this.visitorHosts)===null||t===void 0?void 0:t.map(i=>({value:i.id,label:"".concat(i.firstName," ").concat(i.lastName)}))}get selectedVisitorHost(){var t,i;return(i=(t=a.newTicket.sitesDetails)===null||t===void 0?void 0:t.find(s=>s.site.siteId===this.siteId))===null||i===void 0?void 0:i.visitorHost}get selectedVisitorHostId(){var t,i;return(i=(t=this.visitorHosts)===null||t===void 0?void 0:t.find(s=>{var o,e;return s.firstName===((o=this.selectedVisitorHost)===null||o===void 0?void 0:o.firstName)&&s.lastName===((e=this.selectedVisitorHost)===null||e===void 0?void 0:e.lastName)}))===null||i===void 0?void 0:i.id}renderBody(){var t,i,s,o;return this.serviceBackend===m.ServiceNow?c(x||(x=g(['<div class="col-1 visitor-hosts-selection">\n <ix-filter-select\n .value=',"\n options=",'\n label="Visitor Host Name"\n @select-filter-select=',"\n @input=","\n @clear-filter-select=","\n ?disabled=",'\n required\n supporting-text="Search by name or email"\n .error=',"\n .errorText=","\n .noFilteredOptions=","\n .isViewMoreButtonVisible=","\n .isViewMoreButtonLoading=","\n .onViewMoreButtonClick=","\n ></ix-filter-select>\n </div>"])),(t=this.selectedVisitorHostId)!==null&&t!==void 0?t:"",JSON.stringify(this.visitorHostSelectItems),e=>this.handleSectionChange(e),e=>{var n;return(n=this.debounceInputChange)===null||n===void 0?void 0:n.call(this,e.target.value)},this.boundHandleClearFilterSelect,!this.editable||this.isVisitorHostDisabled,!!this.validations.visitorHostErrorText,this.validations.visitorHostErrorText,((i=this.visitorHosts)===null||i===void 0?void 0:i.length)===0&&this.loadingVisitorHostsResults?c(N||(N=g(['<div style="display: flex; justify-content: center;">\n <ix-progress\n .indeterminate=',"\n .linear=","\n ></ix-progress>\n </div>"])),!0,!1):"No options",this.isViewMoreButtonVisible,this.isViewMoreButtonLoading,()=>this.handleOnViewMore()):c(b||(b=g(['<div class="col-2">\n <ix-textbox\n label="First Name"\n name="hostFirstNameTxt"\n .minLength=',"\n .maxLength=","\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n required\n @input=",'\n ></ix-textbox>\n\n <ix-textbox\n label="Last Name"\n name="hostLastNameTxt"\n .minLength=',"\n .maxLength=","\n .value=","\n .error=","\n .errorText=","\n .disabled=","\n required\n @input=","\n ></ix-textbox>\n </div> "])),this.validations.hostFirstNameMinLength,this.validations.hostFirstNameMaxLength,(s=a.newTicket.hostFirstName)!==null&&s!==void 0?s:"",!!this.validations.hostFirstNameErrorText,this.validations.hostFirstNameErrorText,!this.editable,e=>this.handleHostFirstNameTextChange(e.target.value),this.validations.hostLastNameMinLength,this.validations.hostLastNameMaxLength,(o=a.newTicket.hostLastName)!==null&&o!==void 0?o:"",!!this.validations.hostLastNameErrorText,this.validations.hostLastNameErrorText,!this.editable,e=>this.handleHostLastNameTextChange(e.target.value))}render(){return c(L||(L=g([' <div class="form-wrapper__fields gap-6">\n <span>Visitor Host</span>\n ',"\n </div>"])),this.renderBody())}};r.styles=[w,F,T],l([u({type:Boolean})],r.prototype,"editable",void 0),l([u()],r.prototype,"serviceBackend",void 0),l([u({type:String})],r.prototype,"siteId",void 0),l([u({type:Object})],r.prototype,"value",void 0),l([d()],r.prototype,"loadingVisitorHostsResults",void 0),l([d()],r.prototype,"isViewMoreButtonLoading",void 0),l([d()],r.prototype,"pageCount",void 0),l([d()],r.prototype,"isViewMoreButtonVisible",void 0),l([d()],r.prototype,"visitorHostSearchValue",void 0),l([d()],r.prototype,"visitorHosts",void 0),l([d()],r.prototype,"selectedHost",void 0),l([d()],r.prototype,"validations",void 0),r=l([y("visitor-host-inputs-section")],r);export{r as VisitorHostInputsSection};
@@ -0,0 +1 @@
1
+ import{__decorate as i}from"tslib";import{html as c}from"lit";import{MobxLitElement as l}from"@adobe/lit-mobx";import{ifDefined as s}from"lit/directives/if-defined.js";import{property as d,customElement as u}from"lit/decorators.js";import{authService as r}from"../../services/ui-service-management.js";import{AppHeaderStyles as p}from"../../styles/ui-service-management2.js";import"@digital-realty/ix-select/ix-select.js";import"@digital-realty/ix-select/ix-select-option.js";import"../shared/ui-service-management.js";import{RouteNames as v,defaultRoutes as m}from"../../routes/ui-service-management2.js";var o=Object.freeze,h=Object.defineProperty,g=(e,t)=>o(h(e,"raw",{value:o(t||e.slice())})),a;let n=class extends l{constructor(){super(...arguments),this.pageTitle="Loading..."}static get styles(){return[p]}async firstUpdated(){window.addEventListener("vaadin-router-location-changed",e=>{var t;this.pageTitle=(t=e.detail.location.route)===null||t===void 0?void 0:t.name})}get currentAccount(){return r.getUserAccount()}get headerRight(){var e;return this.pageTitle===v.ServiceTickets?null:(e=m.find(t=>t.name===this.pageTitle))===null||e===void 0?void 0:e.headerRight}render(){var e,t;return c(a||(a=g(['\n <div class="header-container">\n <h1 class="header__title">',"</h1>\n\n <sm-create-service-ticket-button></sm-create-service-ticket-button>\n ",'\n\n <div class="header__profile">\n ',"\n </div>\n\n <button\n @click=",'\n class="header__logout"\n >\n <svg\n focusable="false"\n aria-hidden="true"\n viewBox="0 0 24 24"\n fill="currentColor"\n >\n <path\n d="m17 7-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4V5z"\n ></path>\n </svg>\n Logout\n </button>\n\n <ix-select class="header__accounts" label="Account" .wideMenu=','>\n <ix-select-option\n value="','"\n .selected=','\n >\n <div slot="headline">',"</div>\n </ix-select-option>\n </ix-select>\n </div>\n "])),this.pageTitle,this.headerRight,((t=(e=r.getUser())===null||e===void 0?void 0:e.profile)===null||t===void 0?void 0:t.email)||"Unknown User",()=>r.redirectToLogout(),!0,s(this.currentAccount.accountNumber),!0,this.currentAccount.name)}};i([d({type:String})],n.prototype,"pageTitle",void 0),n=i([u("sm-app-header")],n);export{n as AppHeader};