@thetradeengineorg1/snova-shell-module 0.0.262 → 0.0.263

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 (432) hide show
  1. package/README.md +24 -24
  2. package/bundles/thetradeengineorg1-snova-shell-module.umd.js +19022 -13748
  3. package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -1
  4. package/esm2015/lib/globaldependencies/components/avatar.component.js +33 -28
  5. package/esm2015/lib/globaldependencies/components/componentbase.js +538 -538
  6. package/esm2015/lib/globaldependencies/constants/feature-ids.js +449 -449
  7. package/esm2015/lib/globaldependencies/constants/localstorage-properties.js +38 -38
  8. package/esm2015/lib/globaldependencies/helpers/dom.helper.js +70 -70
  9. package/esm2015/lib/globaldependencies/helpers/fontawesome-icons.js +144 -144
  10. package/esm2015/lib/globaldependencies/helpers/moment-utc-date-adapter.js +37 -37
  11. package/esm2015/lib/globaldependencies/helpers/window.helper.js +32 -32
  12. package/esm2015/lib/globaldependencies/intercepter/jwt.interceptor.js +40 -40
  13. package/esm2015/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.js +36 -36
  14. package/esm2015/lib/globaldependencies/pipes/highLightText.pipe.js +24 -24
  15. package/esm2015/lib/globaldependencies/pipes/orderby-pipe.js +24 -24
  16. package/esm2015/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.js +22 -22
  17. package/esm2015/lib/globaldependencies/pipes/sanitize.pipe.js +24 -24
  18. package/esm2015/lib/globaldependencies/pipes/softlabels.pipes.js +346 -346
  19. package/esm2015/lib/globaldependencies/pipes/utctolocaltime.pipe.js +23 -23
  20. package/esm2015/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.js +25 -25
  21. package/esm2015/lib/globaldependencies/pipes/workflowstatus.pipes.js +27 -27
  22. package/esm2015/lib/shell-components/components/Payments/account.component.js +121 -50
  23. package/esm2015/lib/shell-components/components/Payments/company-information.js +558 -262
  24. package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +636 -138
  25. package/esm2015/lib/shell-components/components/Payments/document.component.js +129 -57
  26. package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +90 -32
  27. package/esm2015/lib/shell-components/components/Payments/product-service.component.js +438 -143
  28. package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +249 -152
  29. package/esm2015/lib/shell-components/components/Payments/transactions.component.js +172 -60
  30. package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +350 -250
  31. package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +102 -89
  32. package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +126 -90
  33. package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +502 -357
  34. package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +98 -85
  35. package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +87 -83
  36. package/esm2015/lib/shell-components/components/header-side/header-side.component.js +2342 -1617
  37. package/esm2015/lib/shell-components/components/header-top/header-top.component.js +489 -93
  38. package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +55 -26
  39. package/esm2015/lib/shell-components/components/menu/menu.component.js +3429 -2478
  40. package/esm2015/lib/shell-components/components/menu/searchTask.enum.js +10 -10
  41. package/esm2015/lib/shell-components/components/notifications/announcement-dialog.component.js +110 -73
  42. package/esm2015/lib/shell-components/components/notifications/notifications.component.js +534 -449
  43. package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +39 -33
  44. package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +148 -81
  45. package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +439 -43
  46. package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +75 -71
  47. package/esm2015/lib/shell-components/constants/api-urls.js +1052 -1052
  48. package/esm2015/lib/shell-components/constants/available-languages.js +25 -25
  49. package/esm2015/lib/shell-components/constants/channel-names.js +38 -38
  50. package/esm2015/lib/shell-components/constants/menu-categories.js +6 -6
  51. package/esm2015/lib/shell-components/constants/notification-routes.js +6 -6
  52. package/esm2015/lib/shell-components/constants/notification-type-ids.js +42 -42
  53. package/esm2015/lib/shell-components/enum/recentSearchType.enum.js +13 -13
  54. package/esm2015/lib/shell-components/models/AppMenuItemModel.js +3 -3
  55. package/esm2015/lib/shell-components/models/AppNotification.js +17 -17
  56. package/esm2015/lib/shell-components/models/AssetAssignedNotificationModel.js +12 -12
  57. package/esm2015/lib/shell-components/models/ChannelUpdateModel.js +3 -3
  58. package/esm2015/lib/shell-components/models/EmployeeStatusModel.js +3 -3
  59. package/esm2015/lib/shell-components/models/IAdjust-screen-options.js +2 -2
  60. package/esm2015/lib/shell-components/models/IBadge.js +2 -2
  61. package/esm2015/lib/shell-components/models/IChildItem.js +2 -2
  62. package/esm2015/lib/shell-components/models/ILayout-change-options.js +2 -2
  63. package/esm2015/lib/shell-components/models/IMenuItem.js +2 -2
  64. package/esm2015/lib/shell-components/models/IlayoutConf.js +2 -2
  65. package/esm2015/lib/shell-components/models/IntroModel.js +3 -3
  66. package/esm2015/lib/shell-components/models/MessageDetails.js +3 -3
  67. package/esm2015/lib/shell-components/models/MessageTypingDetails.js +3 -3
  68. package/esm2015/lib/shell-components/models/NewProjectCreatedNotificationModel.js +10 -10
  69. package/esm2015/lib/shell-components/models/NewProjectFeatureNotificationModel.js +10 -10
  70. package/esm2015/lib/shell-components/models/NotificationsOutPutModel.js +22 -22
  71. package/esm2015/lib/shell-components/models/ProjectSearchCriteriaInputModel.js +3 -3
  72. package/esm2015/lib/shell-components/models/RecentSearchModel.js +5 -5
  73. package/esm2015/lib/shell-components/models/ReportConfigAssignedNotification.js +11 -11
  74. package/esm2015/lib/shell-components/models/ReportSubmittedNotification.js +12 -12
  75. package/esm2015/lib/shell-components/models/RoleUpdatedNotification.js +9 -9
  76. package/esm2015/lib/shell-components/models/UserStoryAssignedNotification.js +13 -13
  77. package/esm2015/lib/shell-components/models/archiveUserStoryModel.js +10 -10
  78. package/esm2015/lib/shell-components/models/companieslist.model.js +3 -3
  79. package/esm2015/lib/shell-components/models/company-model.js +7 -7
  80. package/esm2015/lib/shell-components/models/company-payment-model.js +3 -3
  81. package/esm2015/lib/shell-components/models/dragedWidget.js +3 -3
  82. package/esm2015/lib/shell-components/models/employee-List.js +3 -3
  83. package/esm2015/lib/shell-components/models/employee.js +4 -4
  84. package/esm2015/lib/shell-components/models/entityRoleFeature.js +3 -3
  85. package/esm2015/lib/shell-components/models/export-configuration-model.js +3 -3
  86. package/esm2015/lib/shell-components/models/export-data.module.js +8 -8
  87. package/esm2015/lib/shell-components/models/goalApprovedNotificationModel.js +9 -9
  88. package/esm2015/lib/shell-components/models/import-configuration-model.js +3 -3
  89. package/esm2015/lib/shell-components/models/initialStatusofUsers.js +3 -3
  90. package/esm2015/lib/shell-components/models/invoiceOutput-model.js +3 -3
  91. package/esm2015/lib/shell-components/models/leaveApplicationNotifiction.js +9 -9
  92. package/esm2015/lib/shell-components/models/multiChartsScheduling.js +11 -11
  93. package/esm2015/lib/shell-components/models/parkUserStoryInputModel.js +10 -10
  94. package/esm2015/lib/shell-components/models/project.js +3 -3
  95. package/esm2015/lib/shell-components/models/recentSearchApiModel.js +3 -3
  96. package/esm2015/lib/shell-components/models/searchCriteriaInputModelBase.js +3 -3
  97. package/esm2015/lib/shell-components/models/shellModulesInfo.js +7 -7
  98. package/esm2015/lib/shell-components/models/softlabels-model.js +7 -7
  99. package/esm2015/lib/shell-components/models/sprintReplanRequestedModel.js +9 -9
  100. package/esm2015/lib/shell-components/models/sprintStartedNotificationModel.js +9 -9
  101. package/esm2015/lib/shell-components/models/store-model.js +3 -3
  102. package/esm2015/lib/shell-components/models/store-search-model.js +4 -4
  103. package/esm2015/lib/shell-components/models/themes.model.js +3 -3
  104. package/esm2015/lib/shell-components/models/timesheetenabledisable.js +4 -4
  105. package/esm2015/lib/shell-components/models/user.js +8 -8
  106. package/esm2015/lib/shell-components/models/userStory.js +3 -3
  107. package/esm2015/lib/shell-components/models/userStoryCommentNotificationModel.js +9 -9
  108. package/esm2015/lib/shell-components/models/userStoryUpdateNotificationModel.js +9 -9
  109. package/esm2015/lib/shell-components/models/userstory-custom-fields.model.js +3 -3
  110. package/esm2015/lib/shell-components/models/validation.model.js +2 -2
  111. package/esm2015/lib/shell-components/models/widgetlist.js +6 -6
  112. package/esm2015/lib/shell-components/models/workspaceList.js +3 -3
  113. package/esm2015/lib/shell-components/services/authentication.service.js +96 -96
  114. package/esm2015/lib/shell-components/services/chat.service.js +67 -67
  115. package/esm2015/lib/shell-components/services/common-used.service.js +263 -263
  116. package/esm2015/lib/shell-components/services/feature.service.js +101 -101
  117. package/esm2015/lib/shell-components/services/google-analytics.service.js +24 -24
  118. package/esm2015/lib/shell-components/services/layout.service.js +68 -68
  119. package/esm2015/lib/shell-components/services/payment.service.js +103 -103
  120. package/esm2015/lib/shell-components/services/recentSearch.service.js +90 -90
  121. package/esm2015/lib/shell-components/services/shell.modules.service.js +24 -24
  122. package/esm2015/lib/shell-components/services/signalr.service.js +113 -113
  123. package/esm2015/lib/shell-components/services/theme.service.js +228 -228
  124. package/esm2015/lib/shell-components/shell.module.js +450 -449
  125. package/esm2015/lib/shell-components/shell.routing.js +16 -16
  126. package/esm2015/lib/shell-components/store/actions/authentication.actions.js +260 -260
  127. package/esm2015/lib/shell-components/store/actions/chat.actions.js +248 -248
  128. package/esm2015/lib/shell-components/store/actions/menuitems.actions.js +39 -39
  129. package/esm2015/lib/shell-components/store/actions/notification-validator.action.js +19 -19
  130. package/esm2015/lib/shell-components/store/actions/notifications.actions.js +74 -74
  131. package/esm2015/lib/shell-components/store/effects/authentication.effects.js +503 -503
  132. package/esm2015/lib/shell-components/store/effects/chat.effects.js +139 -139
  133. package/esm2015/lib/shell-components/store/effects/index.js +13 -13
  134. package/esm2015/lib/shell-components/store/effects/menuitems.effects.js +53 -53
  135. package/esm2015/lib/shell-components/store/effects/notification-validator.effects.js +56 -56
  136. package/esm2015/lib/shell-components/store/effects/notifications.effects.js +116 -116
  137. package/esm2015/lib/shell-components/store/reducers/authentication.reducers.js +86 -86
  138. package/esm2015/lib/shell-components/store/reducers/chat.reducers.js +68 -68
  139. package/esm2015/lib/shell-components/store/reducers/index.js +80 -80
  140. package/esm2015/lib/shell-components/store/reducers/menuitems.reducers.js +56 -56
  141. package/esm2015/lib/shell-components/store/reducers/notification-validator.reducers.js +13 -13
  142. package/esm2015/lib/shell-components/store/reducers/notifications.reducers.js +38 -38
  143. package/esm2015/public-api.js +92 -92
  144. package/esm2015/store/reducers/index.js +47 -47
  145. package/esm2015/thetradeengineorg1-snova-shell-module.js +4 -4
  146. package/fesm2015/thetradeengineorg1-snova-shell-module.js +17152 -12640
  147. package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -1
  148. package/lib/globaldependencies/components/avatar.component.d.ts +11 -10
  149. package/lib/globaldependencies/components/avatar.component.d.ts.map +1 -0
  150. package/lib/globaldependencies/components/componentbase.d.ts +456 -455
  151. package/lib/globaldependencies/components/componentbase.d.ts.map +1 -0
  152. package/lib/globaldependencies/constants/feature-ids.d.ts +449 -448
  153. package/lib/globaldependencies/constants/feature-ids.d.ts.map +1 -0
  154. package/lib/globaldependencies/constants/localstorage-properties.d.ts +38 -37
  155. package/lib/globaldependencies/constants/localstorage-properties.d.ts.map +1 -0
  156. package/lib/globaldependencies/helpers/dom.helper.d.ts +8 -7
  157. package/lib/globaldependencies/helpers/dom.helper.d.ts.map +1 -0
  158. package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +2 -1
  159. package/lib/globaldependencies/helpers/fontawesome-icons.d.ts.map +1 -0
  160. package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +10 -9
  161. package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts.map +1 -0
  162. package/lib/globaldependencies/helpers/window.helper.d.ts +13 -12
  163. package/lib/globaldependencies/helpers/window.helper.d.ts.map +1 -0
  164. package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +12 -11
  165. package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts.map +1 -0
  166. package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +9 -8
  167. package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts.map +1 -0
  168. package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +9 -8
  169. package/lib/globaldependencies/pipes/highLightText.pipe.d.ts.map +1 -0
  170. package/lib/globaldependencies/pipes/orderby-pipe.d.ts +10 -9
  171. package/lib/globaldependencies/pipes/orderby-pipe.d.ts.map +1 -0
  172. package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +9 -8
  173. package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts.map +1 -0
  174. package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +12 -11
  175. package/lib/globaldependencies/pipes/sanitize.pipe.d.ts.map +1 -0
  176. package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +9 -8
  177. package/lib/globaldependencies/pipes/softlabels.pipes.d.ts.map +1 -0
  178. package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +9 -8
  179. package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts.map +1 -0
  180. package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +9 -8
  181. package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts.map +1 -0
  182. package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +9 -8
  183. package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts.map +1 -0
  184. package/lib/shell-components/components/Payments/account.component.d.ts +15 -14
  185. package/lib/shell-components/components/Payments/account.component.d.ts.map +1 -0
  186. package/lib/shell-components/components/Payments/company-information.d.ts +63 -62
  187. package/lib/shell-components/components/Payments/company-information.d.ts.map +1 -0
  188. package/lib/shell-components/components/Payments/company-plans.component.d.ts +48 -47
  189. package/lib/shell-components/components/Payments/company-plans.component.d.ts.map +1 -0
  190. package/lib/shell-components/components/Payments/document.component.d.ts +21 -20
  191. package/lib/shell-components/components/Payments/document.component.d.ts.map +1 -0
  192. package/lib/shell-components/components/Payments/payment-method.component.d.ts +16 -15
  193. package/lib/shell-components/components/Payments/payment-method.component.d.ts.map +1 -0
  194. package/lib/shell-components/components/Payments/product-service.component.d.ts +49 -48
  195. package/lib/shell-components/components/Payments/product-service.component.d.ts.map +1 -0
  196. package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +38 -37
  197. package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts.map +1 -0
  198. package/lib/shell-components/components/Payments/transactions.component.d.ts +29 -28
  199. package/lib/shell-components/components/Payments/transactions.component.d.ts.map +1 -0
  200. package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +68 -67
  201. package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts.map +1 -0
  202. package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +33 -32
  203. package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts.map +1 -0
  204. package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +33 -32
  205. package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
  206. package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +61 -60
  207. package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts.map +1 -0
  208. package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +34 -33
  209. package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts.map +1 -0
  210. package/lib/shell-components/components/feed-time/feed-time.component.d.ts +28 -27
  211. package/lib/shell-components/components/feed-time/feed-time.component.d.ts.map +1 -0
  212. package/lib/shell-components/components/header-side/header-side.component.d.ts +221 -220
  213. package/lib/shell-components/components/header-side/header-side.component.d.ts.map +1 -0
  214. package/lib/shell-components/components/header-top/header-top.component.d.ts +41 -40
  215. package/lib/shell-components/components/header-top/header-top.component.d.ts.map +1 -0
  216. package/lib/shell-components/components/lives/lives-welcome-page.d.ts +15 -14
  217. package/lib/shell-components/components/lives/lives-welcome-page.d.ts.map +1 -0
  218. package/lib/shell-components/components/menu/menu.component.d.ts +221 -220
  219. package/lib/shell-components/components/menu/menu.component.d.ts.map +1 -0
  220. package/lib/shell-components/components/menu/searchTask.enum.d.ts +9 -8
  221. package/lib/shell-components/components/menu/searchTask.enum.d.ts.map +1 -0
  222. package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +28 -27
  223. package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts.map +1 -0
  224. package/lib/shell-components/components/notifications/notifications.component.d.ts +54 -53
  225. package/lib/shell-components/components/notifications/notifications.component.d.ts.map +1 -0
  226. package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +11 -10
  227. package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts.map +1 -0
  228. package/lib/shell-components/components/sidenav/side-bar.component.d.ts +24 -23
  229. package/lib/shell-components/components/sidenav/side-bar.component.d.ts.map +1 -0
  230. package/lib/shell-components/components/sidenav/sidenav.component.d.ts +18 -17
  231. package/lib/shell-components/components/sidenav/sidenav.component.d.ts.map +1 -0
  232. package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +26 -25
  233. package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts.map +1 -0
  234. package/lib/shell-components/constants/api-urls.d.ts +1052 -1051
  235. package/lib/shell-components/constants/api-urls.d.ts.map +1 -0
  236. package/lib/shell-components/constants/available-languages.d.ts +8 -7
  237. package/lib/shell-components/constants/available-languages.d.ts.map +1 -0
  238. package/lib/shell-components/constants/channel-names.d.ts +38 -37
  239. package/lib/shell-components/constants/channel-names.d.ts.map +1 -0
  240. package/lib/shell-components/constants/menu-categories.d.ts +6 -5
  241. package/lib/shell-components/constants/menu-categories.d.ts.map +1 -0
  242. package/lib/shell-components/constants/notification-routes.d.ts +6 -5
  243. package/lib/shell-components/constants/notification-routes.d.ts.map +1 -0
  244. package/lib/shell-components/constants/notification-type-ids.d.ts +42 -41
  245. package/lib/shell-components/constants/notification-type-ids.d.ts.map +1 -0
  246. package/lib/shell-components/enum/recentSearchType.enum.d.ts +12 -11
  247. package/lib/shell-components/enum/recentSearchType.enum.d.ts.map +1 -0
  248. package/lib/shell-components/models/AppMenuItemModel.d.ts +13 -12
  249. package/lib/shell-components/models/AppMenuItemModel.d.ts.map +1 -0
  250. package/lib/shell-components/models/AppNotification.d.ts +13 -12
  251. package/lib/shell-components/models/AppNotification.d.ts.map +1 -0
  252. package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +11 -10
  253. package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts.map +1 -0
  254. package/lib/shell-components/models/ChannelUpdateModel.d.ts +48 -47
  255. package/lib/shell-components/models/ChannelUpdateModel.d.ts.map +1 -0
  256. package/lib/shell-components/models/EmployeeStatusModel.d.ts +12 -11
  257. package/lib/shell-components/models/EmployeeStatusModel.d.ts.map +1 -0
  258. package/lib/shell-components/models/IAdjust-screen-options.d.ts +5 -4
  259. package/lib/shell-components/models/IAdjust-screen-options.d.ts.map +1 -0
  260. package/lib/shell-components/models/IBadge.d.ts +5 -4
  261. package/lib/shell-components/models/IBadge.d.ts.map +1 -0
  262. package/lib/shell-components/models/IChildItem.d.ts +8 -7
  263. package/lib/shell-components/models/IChildItem.d.ts.map +1 -0
  264. package/lib/shell-components/models/ILayout-change-options.d.ts +5 -4
  265. package/lib/shell-components/models/ILayout-change-options.d.ts.map +1 -0
  266. package/lib/shell-components/models/IMenuItem.d.ts +15 -14
  267. package/lib/shell-components/models/IMenuItem.d.ts.map +1 -0
  268. package/lib/shell-components/models/IlayoutConf.d.ts +11 -10
  269. package/lib/shell-components/models/IlayoutConf.d.ts.map +1 -0
  270. package/lib/shell-components/models/IntroModel.d.ts +4 -3
  271. package/lib/shell-components/models/IntroModel.d.ts.map +1 -0
  272. package/lib/shell-components/models/MessageDetails.d.ts +56 -55
  273. package/lib/shell-components/models/MessageDetails.d.ts.map +1 -0
  274. package/lib/shell-components/models/MessageTypingDetails.d.ts +10 -9
  275. package/lib/shell-components/models/MessageTypingDetails.d.ts.map +1 -0
  276. package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +9 -8
  277. package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts.map +1 -0
  278. package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +9 -8
  279. package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts.map +1 -0
  280. package/lib/shell-components/models/NotificationsOutPutModel.d.ts +42 -41
  281. package/lib/shell-components/models/NotificationsOutPutModel.d.ts.map +1 -0
  282. package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +11 -10
  283. package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts.map +1 -0
  284. package/lib/shell-components/models/RecentSearchModel.d.ts +15 -14
  285. package/lib/shell-components/models/RecentSearchModel.d.ts.map +1 -0
  286. package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +10 -9
  287. package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts.map +1 -0
  288. package/lib/shell-components/models/ReportSubmittedNotification.d.ts +11 -10
  289. package/lib/shell-components/models/ReportSubmittedNotification.d.ts.map +1 -0
  290. package/lib/shell-components/models/RoleUpdatedNotification.d.ts +8 -7
  291. package/lib/shell-components/models/RoleUpdatedNotification.d.ts.map +1 -0
  292. package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +9 -8
  293. package/lib/shell-components/models/UserStoryAssignedNotification.d.ts.map +1 -0
  294. package/lib/shell-components/models/archiveUserStoryModel.d.ts +8 -7
  295. package/lib/shell-components/models/archiveUserStoryModel.d.ts.map +1 -0
  296. package/lib/shell-components/models/companieslist.model.d.ts +9 -8
  297. package/lib/shell-components/models/companieslist.model.d.ts.map +1 -0
  298. package/lib/shell-components/models/company-model.d.ts +32 -31
  299. package/lib/shell-components/models/company-model.d.ts.map +1 -0
  300. package/lib/shell-components/models/company-payment-model.d.ts +19 -18
  301. package/lib/shell-components/models/company-payment-model.d.ts.map +1 -0
  302. package/lib/shell-components/models/dragedWidget.d.ts +17 -16
  303. package/lib/shell-components/models/dragedWidget.d.ts.map +1 -0
  304. package/lib/shell-components/models/employee-List.d.ts +9 -8
  305. package/lib/shell-components/models/employee-List.d.ts.map +1 -0
  306. package/lib/shell-components/models/employee.d.ts +61 -60
  307. package/lib/shell-components/models/employee.d.ts.map +1 -0
  308. package/lib/shell-components/models/entityRoleFeature.d.ts +10 -9
  309. package/lib/shell-components/models/entityRoleFeature.d.ts.map +1 -0
  310. package/lib/shell-components/models/export-configuration-model.d.ts +9 -8
  311. package/lib/shell-components/models/export-configuration-model.d.ts.map +1 -0
  312. package/lib/shell-components/models/export-data.module.d.ts +7 -6
  313. package/lib/shell-components/models/export-data.module.d.ts.map +1 -0
  314. package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +9 -8
  315. package/lib/shell-components/models/goalApprovedNotificationModel.d.ts.map +1 -0
  316. package/lib/shell-components/models/import-configuration-model.d.ts +4 -3
  317. package/lib/shell-components/models/import-configuration-model.d.ts.map +1 -0
  318. package/lib/shell-components/models/initialStatusofUsers.d.ts +6 -5
  319. package/lib/shell-components/models/initialStatusofUsers.d.ts.map +1 -0
  320. package/lib/shell-components/models/invoiceOutput-model.d.ts +10 -9
  321. package/lib/shell-components/models/invoiceOutput-model.d.ts.map +1 -0
  322. package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +8 -7
  323. package/lib/shell-components/models/leaveApplicationNotifiction.d.ts.map +1 -0
  324. package/lib/shell-components/models/multiChartsScheduling.d.ts +10 -9
  325. package/lib/shell-components/models/multiChartsScheduling.d.ts.map +1 -0
  326. package/lib/shell-components/models/parkUserStoryInputModel.d.ts +8 -7
  327. package/lib/shell-components/models/parkUserStoryInputModel.d.ts.map +1 -0
  328. package/lib/shell-components/models/project.d.ts +29 -28
  329. package/lib/shell-components/models/project.d.ts.map +1 -0
  330. package/lib/shell-components/models/recentSearchApiModel.d.ts +7 -6
  331. package/lib/shell-components/models/recentSearchApiModel.d.ts.map +1 -0
  332. package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +11 -10
  333. package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts.map +1 -0
  334. package/lib/shell-components/models/shellModulesInfo.d.ts +17 -16
  335. package/lib/shell-components/models/shellModulesInfo.d.ts.map +1 -0
  336. package/lib/shell-components/models/softlabels-model.d.ts +67 -66
  337. package/lib/shell-components/models/softlabels-model.d.ts.map +1 -0
  338. package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +8 -7
  339. package/lib/shell-components/models/sprintReplanRequestedModel.d.ts.map +1 -0
  340. package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +8 -7
  341. package/lib/shell-components/models/sprintStartedNotificationModel.d.ts.map +1 -0
  342. package/lib/shell-components/models/store-model.d.ts +14 -13
  343. package/lib/shell-components/models/store-model.d.ts.map +1 -0
  344. package/lib/shell-components/models/store-search-model.d.ts +8 -7
  345. package/lib/shell-components/models/store-search-model.d.ts.map +1 -0
  346. package/lib/shell-components/models/themes.model.d.ts +10 -9
  347. package/lib/shell-components/models/themes.model.d.ts.map +1 -0
  348. package/lib/shell-components/models/timesheetenabledisable.d.ts +17 -16
  349. package/lib/shell-components/models/timesheetenabledisable.d.ts.map +1 -0
  350. package/lib/shell-components/models/user.d.ts +41 -40
  351. package/lib/shell-components/models/user.d.ts.map +1 -0
  352. package/lib/shell-components/models/userStory.d.ts +189 -188
  353. package/lib/shell-components/models/userStory.d.ts.map +1 -0
  354. package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +7 -6
  355. package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts.map +1 -0
  356. package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +7 -6
  357. package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts.map +1 -0
  358. package/lib/shell-components/models/userstory-custom-fields.model.d.ts +7 -6
  359. package/lib/shell-components/models/userstory-custom-fields.model.d.ts.map +1 -0
  360. package/lib/shell-components/models/validation.model.d.ts +6 -5
  361. package/lib/shell-components/models/validation.model.d.ts.map +1 -0
  362. package/lib/shell-components/models/widgetlist.d.ts +29 -28
  363. package/lib/shell-components/models/widgetlist.d.ts.map +1 -0
  364. package/lib/shell-components/models/workspaceList.d.ts +20 -19
  365. package/lib/shell-components/models/workspaceList.d.ts.map +1 -0
  366. package/lib/shell-components/services/authentication.service.d.ts +19 -18
  367. package/lib/shell-components/services/authentication.service.d.ts.map +1 -0
  368. package/lib/shell-components/services/chat.service.d.ts +17 -16
  369. package/lib/shell-components/services/chat.service.d.ts.map +1 -0
  370. package/lib/shell-components/services/common-used.service.d.ts +46 -45
  371. package/lib/shell-components/services/common-used.service.d.ts.map +1 -0
  372. package/lib/shell-components/services/feature.service.d.ts +20 -19
  373. package/lib/shell-components/services/feature.service.d.ts.map +1 -0
  374. package/lib/shell-components/services/google-analytics.service.d.ts +10 -9
  375. package/lib/shell-components/services/google-analytics.service.d.ts.map +1 -0
  376. package/lib/shell-components/services/layout.service.d.ts +24 -23
  377. package/lib/shell-components/services/layout.service.d.ts.map +1 -0
  378. package/lib/shell-components/services/payment.service.d.ts +20 -19
  379. package/lib/shell-components/services/payment.service.d.ts.map +1 -0
  380. package/lib/shell-components/services/recentSearch.service.d.ts +17 -16
  381. package/lib/shell-components/services/recentSearch.service.d.ts.map +1 -0
  382. package/lib/shell-components/services/shell.modules.service.d.ts +10 -9
  383. package/lib/shell-components/services/shell.modules.service.d.ts.map +1 -0
  384. package/lib/shell-components/services/signalr.service.d.ts +26 -25
  385. package/lib/shell-components/services/signalr.service.d.ts.map +1 -0
  386. package/lib/shell-components/services/theme.service.d.ts +15 -14
  387. package/lib/shell-components/services/theme.service.d.ts.map +1 -0
  388. package/lib/shell-components/shell.module.d.ts +120 -119
  389. package/lib/shell-components/shell.module.d.ts.map +1 -0
  390. package/lib/shell-components/shell.routing.d.ts +3 -2
  391. package/lib/shell-components/shell.routing.d.ts.map +1 -0
  392. package/lib/shell-components/store/actions/authentication.actions.d.ts +328 -327
  393. package/lib/shell-components/store/actions/authentication.actions.d.ts.map +1 -0
  394. package/lib/shell-components/store/actions/chat.actions.d.ts +400 -399
  395. package/lib/shell-components/store/actions/chat.actions.d.ts.map +1 -0
  396. package/lib/shell-components/store/actions/menuitems.actions.d.ts +52 -51
  397. package/lib/shell-components/store/actions/menuitems.actions.d.ts.map +1 -0
  398. package/lib/shell-components/store/actions/notification-validator.action.d.ts +26 -25
  399. package/lib/shell-components/store/actions/notification-validator.action.d.ts.map +1 -0
  400. package/lib/shell-components/store/actions/notifications.actions.d.ts +117 -116
  401. package/lib/shell-components/store/actions/notifications.actions.d.ts.map +1 -0
  402. package/lib/shell-components/store/effects/authentication.effects.d.ts +55 -54
  403. package/lib/shell-components/store/effects/authentication.effects.d.ts.map +1 -0
  404. package/lib/shell-components/store/effects/chat.effects.d.ts +31 -30
  405. package/lib/shell-components/store/effects/chat.effects.d.ts.map +1 -0
  406. package/lib/shell-components/store/effects/index.d.ts +2 -1
  407. package/lib/shell-components/store/effects/index.d.ts.map +1 -0
  408. package/lib/shell-components/store/effects/menuitems.effects.d.ts +18 -17
  409. package/lib/shell-components/store/effects/menuitems.effects.d.ts.map +1 -0
  410. package/lib/shell-components/store/effects/notification-validator.effects.d.ts +22 -21
  411. package/lib/shell-components/store/effects/notification-validator.effects.d.ts.map +1 -0
  412. package/lib/shell-components/store/effects/notifications.effects.d.ts +24 -23
  413. package/lib/shell-components/store/effects/notifications.effects.d.ts.map +1 -0
  414. package/lib/shell-components/store/reducers/authentication.reducers.d.ts +31 -30
  415. package/lib/shell-components/store/reducers/authentication.reducers.d.ts.map +1 -0
  416. package/lib/shell-components/store/reducers/chat.reducers.d.ts +18 -17
  417. package/lib/shell-components/store/reducers/chat.reducers.d.ts.map +1 -0
  418. package/lib/shell-components/store/reducers/index.d.ts +60 -59
  419. package/lib/shell-components/store/reducers/index.d.ts.map +1 -0
  420. package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +12 -11
  421. package/lib/shell-components/store/reducers/menuitems.reducers.d.ts.map +1 -0
  422. package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +6 -5
  423. package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts.map +1 -0
  424. package/lib/shell-components/store/reducers/notifications.reducers.d.ts +11 -10
  425. package/lib/shell-components/store/reducers/notifications.reducers.d.ts.map +1 -0
  426. package/package.json +5 -2
  427. package/public-api.d.ts +83 -82
  428. package/public-api.d.ts.map +1 -0
  429. package/store/reducers/index.d.ts +25 -24
  430. package/store/reducers/index.d.ts.map +1 -0
  431. package/thetradeengineorg1-snova-shell-module.d.ts +6 -5
  432. package/thetradeengineorg1-snova-shell-module.d.ts.map +1 -0
@@ -1,152 +1,249 @@
1
- import { Component, Inject } from "@angular/core";
2
- import { MAT_DIALOG_DATA } from "@angular/material/dialog";
3
- import { SPINNER } from 'ngx-ui-loader';
4
- import { LocalStorageProperties } from '../../../globaldependencies/constants/localstorage-properties';
5
- import '../../../globaldependencies/helpers/fontawesome-icons';
6
- import { CompanyPaymentUpsertModel } from '../../models/company-payment-model';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/dialog";
9
- import * as i2 from "ngx-toastr";
10
- import * as i3 from "@angular/router";
11
- import * as i4 from "../../services/payment.service";
12
- import * as i5 from "@fortawesome/angular-fontawesome";
13
- import * as i6 from "@angular/material/form-field";
14
- import * as i7 from "@angular/material/select";
15
- import * as i8 from "@angular/material/core";
16
- import * as i9 from "@angular/material/button";
17
- import * as i10 from "@angular/material/card";
18
- import * as i11 from "@angular/flex-layout/flex";
19
- import * as i12 from "@angular/material/input";
20
- import * as i13 from "@angular/forms";
21
- import * as i14 from "@angular/common";
22
- export class PurchaseMoreLicensesComponent {
23
- constructor(data, dialogRef, toastr, router, paymentService) {
24
- this.data = data;
25
- this.dialogRef = dialogRef;
26
- this.toastr = toastr;
27
- this.router = router;
28
- this.paymentService = paymentService;
29
- this.handler = null;
30
- this.totalAmount = 0;
31
- this.isAnyOperationIsInprogress = false;
32
- this.isFromRoute = false;
33
- this.activeUsers = 0;
34
- this.companyMainLogo = "https://bviewstorage.blob.core.windows.net/6671cd0d-5b91-4044-bdcc-e1f201c086c5/projects/d72d1c2f-dfbe-4d48-9605-cd3b7e38ed17/Main-Logo-9277cc4b-0c1f-4093-a917-1a65e874b3c9.png";
35
- this.isDisable = false;
36
- this.isNewSub = false;
37
- this.spinnerType = SPINNER.pulse;
38
- if (data != undefined && data != null) {
39
- this.selectedPlanName = data.productName;
40
- this.subscriptionType = this.planInterval = data.subscriptionType;
41
- this.activeUsers = this.noOfPurchases = data.noOfPurchases;
42
- this.isNewSub = data.isSubscriberNew;
43
- this.costCalculation();
44
- }
45
- }
46
- ngOnInit() {
47
- }
48
- close() {
49
- this.dialogRef.close({ isReload: false });
50
- }
51
- costCalculation() {
52
- var purchases = Number(this.noOfPurchases);
53
- if (!isNaN(purchases) && this.activeUsers > purchases) {
54
- this.toastr.warning("No. of purchases should be more than previous one's");
55
- this.isDisable = true;
56
- return;
57
- }
58
- this.isDisable = false;
59
- if (this.noOfPurchases != undefined && this.noOfPurchases != null && this.noOfPurchases != ''
60
- && this.planInterval != undefined && this.planInterval != null && this.planInterval != '' && !isNaN(purchases)) {
61
- var perUser = 0;
62
- if (this.selectedPlanName == 'Standard')
63
- perUser = 3;
64
- else if (this.selectedPlanName == 'Premium')
65
- perUser = 5;
66
- else if (this.selectedPlanName == 'Enterprise')
67
- perUser = 10;
68
- else
69
- perUser = 0;
70
- var normalTotal = perUser * Number(this.noOfPurchases);
71
- if (this.planInterval == 'month') {
72
- this.totalAmount = normalTotal.toFixed(2);
73
- }
74
- else if (this.planInterval == 'year') {
75
- this.totalAmount = ((normalTotal - (normalTotal * 20 / 100)) * 12).toFixed(2);
76
- }
77
- else
78
- this.totalAmount = 0;
79
- }
80
- }
81
- pay() {
82
- let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
83
- var service = this.paymentService;
84
- var purchases = this.noOfPurchases;
85
- var totalAmt = this.totalAmount;
86
- var plan = this.selectedPlanName;
87
- var planInterval = this.planInterval;
88
- var tosters = this.toastr;
89
- var router = this.router;
90
- var dailogRef = this.dialogRef;
91
- this.isSucessPay = true;
92
- var isSucessPay = this.isSucessPay;
93
- var handler = window.StripeCheckout.configure({
94
- key: environment.stripeAPIKey,
95
- image: 'https://bviewstorage.blob.core.windows.net/4afeb444-e826-4f95-ac41-2175e36a0c16/hrm/0b2921a9-e930-4013-9047-670b5352f308/snovasys-72112b03-95dc-432c-aeef-c89fa13eae32.png',
96
- locale: 'auto',
97
- token: function (token) {
98
- if (token) {
99
- var companyPaymentUpsertModel = new CompanyPaymentUpsertModel();
100
- companyPaymentUpsertModel.CardHolderName = token.card.name;
101
- companyPaymentUpsertModel.CardHolderBillingAddress = token.card.name;
102
- companyPaymentUpsertModel.PlanName = plan;
103
- companyPaymentUpsertModel.SubscriptionType = planInterval;
104
- companyPaymentUpsertModel.TotalAmount = totalAmt;
105
- companyPaymentUpsertModel.NoOfPurchases = purchases;
106
- companyPaymentUpsertModel.Email = token.email;
107
- companyPaymentUpsertModel.StripeTokenId = token.id;
108
- companyPaymentUpsertModel.AddressOptions = token.card;
109
- service.upsertCompanyPayments(companyPaymentUpsertModel).subscribe((responseData) => {
110
- if (responseData.success == true) {
111
- tosters.success("Your subscription has been successfully completed");
112
- isSucessPay = false;
113
- router.navigate(['/shell/Accounts']);
114
- dailogRef.close({ isReload: true });
115
- }
116
- else {
117
- tosters.error(responseData.apiResponseMessages[0].message);
118
- isSucessPay = false;
119
- }
120
- });
121
- }
122
- }
123
- });
124
- this.isSucessPay = isSucessPay;
125
- var description = this.planInterval == 'month' ? 'Monthly subscription' : 'Annual subscription';
126
- handler.open({
127
- name: this.selectedPlanName,
128
- description: description,
129
- amount: this.totalAmount * 100,
130
- currency: 'GBP',
131
- billingAddress: "true",
132
- shippingAddress: "false",
133
- closed: () => { this.close2(); }
134
- });
135
- }
136
- close2() {
137
- this.isSucessPay = !this.isSucessPay;
138
- }
139
- }
140
- PurchaseMoreLicensesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: PurchaseMoreLicensesComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.ToastrService }, { token: i3.Router }, { token: i4.PaymentService }], target: i0.ɵɵFactoryTarget.Component });
141
- PurchaseMoreLicensesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: PurchaseMoreLicensesComponent, selector: "app-purchase-licenses", ngImport: i0, template: "<div class=\"custom-dialog\">\r\n <div class=\"custom-close\" mat-dialog-close (click)=\"close()\">\r\n <fa-icon icon=\"times\" class=\"project-dialog\"></fa-icon>\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content class=\"project-dialogContent\" id=\"style-1\">\r\n\r\n <mat-card-title>\r\n <div class=\"text-center pb-1\">Subscription</div>\r\n </mat-card-title>\r\n\r\n <div class=\"login-page\" fxLayout=\"column\">\r\n <div fxFlex=\"50\" fxFlex.xs=\"100\"><label>Selected plan : {{selectedPlanName}} </label></div>\r\n <div fxLayout=\"row\" fxLayout.xs=\"column\" fxLayoutGap=\"10px\" fxLayoutGap.xs=\"0px\">\r\n <div fxFlex=\"100\" fxFlex.xs=\"100\">\r\n <mat-form-field class=\"full-width\">\r\n <input matInput [(ngModel)]=\"noOfPurchases\" placeholder=\"No.of purchases\" (change)=\"costCalculation()\"\r\n required>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxLayout=\"row\" fxLayout.xs=\"column\" fxLayoutGap=\"10px\" fxLayoutGap.xs=\"0px\">\r\n <div fxFlex=\"100\" fxFlex.xs=\"100\">\r\n <mat-form-field class=\"full-width\" *ngIf=\"!isNewSub\">\r\n <mat-select placeholder=\"Select a subscription type\" [(ngModel)]=\"planInterval\"\r\n [disabled]=\"subscriptionType =='year'\" (selectionChange)=\"costCalculation()\" required>\r\n <mat-option value=\"month\">Monthly</mat-option>\r\n <mat-option value=\"year\">Annually</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field class=\"full-width\" *ngIf=\"isNewSub\">\r\n <mat-select placeholder=\"Select a subscription type\" [(ngModel)]=\"planInterval\"\r\n (selectionChange)=\"costCalculation()\" required>\r\n <mat-option value=\"month\">Monthly</mat-option>\r\n <mat-option value=\"year\">Annually</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <button class=\"full-width mb-1 btn btn-block\" mat-raised-button color=\"primary\" (click)=\"pay()\"\r\n [disabled]=\"totalAmount == 0 || isDisable ||isSucessPay\"> Pay ${{totalAmount}}\r\n <i class=\"fa fa-spin fa-spinner\" *ngIf=\"isSucessPay\"></i>\r\n </button>\r\n </div>\r\n <!-- <ngx-ui-loader fgsSize=\"180\" [fgsType]=\"spinnerType\" color=\"primary\"></ngx-ui-loader> -->\r\n</div>", components: [{ type: i5.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "listItem", "rotate", "fixedWidth", "transform"] }, { type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i11.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i13.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i13.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i13.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: PurchaseMoreLicensesComponent, decorators: [{
143
- type: Component,
144
- args: [{
145
- selector: "app-purchase-licenses",
146
- templateUrl: "./purchase-more-licenses.html"
147
- }]
148
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
149
- type: Inject,
150
- args: [MAT_DIALOG_DATA]
151
- }] }, { type: i1.MatDialogRef }, { type: i2.ToastrService }, { type: i3.Router }, { type: i4.PaymentService }]; } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyY2hhc2UtbW9yZS1saWNlbnNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHVyY2hhc2UtbW9yZS1saWNlbnNlcy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHVyY2hhc2UtbW9yZS1saWNlbnNlcy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFzQixPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyx1REFBdUQsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J4QyxZQUE0QyxJQUFTLEVBQzFDLFNBQXNELEVBQ3ZELE1BQXFCLEVBQ3BCLE1BQWMsRUFDYixjQUE4QjtRQUpFLFNBQUksR0FBSixJQUFJLENBQUs7UUFDMUMsY0FBUyxHQUFULFNBQVMsQ0FBNkM7UUFDdkQsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBbEIxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVEsQ0FB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QUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUMzQixXQUFXLEVBQUUsV0FBVztZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHO1lBQzlCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsY0FBYyxFQUFFLE1BQU07WUFDdEIsZUFBZSxFQUFFLE9BQU87WUFDeEIsTUFBTSxFQUFFLEdBQUUsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBLENBQUM7U0FDN0IsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDOzswSEFoSVUsNkJBQTZCLGtCQWdCcEIsZUFBZTs4R0FoQnhCLDZCQUE2Qiw2RENmMUMsazRFQWdETTsyRkRqQ08sNkJBQTZCO2tCQUx6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSwrQkFBK0I7aUJBQzdDOzswQkFrQmMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgTmd4VWlMb2FkZXJTZXJ2aWNlLCBTUElOTkVSIH0gZnJvbSAnbmd4LXVpLWxvYWRlcic7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvY29uc3RhbnRzL2xvY2Fsc3RvcmFnZS1wcm9wZXJ0aWVzJztcclxuaW1wb3J0ICcuLi8uLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvaGVscGVycy9mb250YXdlc29tZS1pY29ucyc7XHJcbmltcG9ydCB7IENvbXBhbnlQYXltZW50VXBzZXJ0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tcGFueS1wYXltZW50LW1vZGVsJztcclxuaW1wb3J0IHsgUGF5bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXB1cmNoYXNlLWxpY2Vuc2VzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wdXJjaGFzZS1tb3JlLWxpY2Vuc2VzLmh0bWxcIlxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFB1cmNoYXNlTW9yZUxpY2Vuc2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgaGFuZGxlcjogYW55ID0gbnVsbDtcclxuICB0b3RhbEFtb3VudDogYW55ID0gMDtcclxuICBpc0FueU9wZXJhdGlvbklzSW5wcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzRnJvbVJvdXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWN0aXZlVXNlcnM6IGFueSA9IDA7XHJcbiAgcGxhbkludGVydmFsOiBhbnk7XHJcbiAgbm9PZlB1cmNoYXNlczogYW55O1xyXG4gIHNlbGVjdGVkUGxhbk5hbWU6IGFueTtcclxuICBzdWJzY3JpcHRpb25UeXBlOiBzdHJpbmc7XHJcbiAgY29tcGFueU1haW5Mb2dvOiBhbnkgPSBcImh0dHBzOi8vYnZpZXdzdG9yYWdlLmJsb2IuY29yZS53aW5kb3dzLm5ldC82NjcxY2QwZC01YjkxLTQwNDQtYmRjYy1lMWYyMDFjMDg2YzUvcHJvamVjdHMvZDcyZDFjMmYtZGZiZS00ZDQ4LTk2MDUtY2QzYjdlMzhlZDE3L01haW4tTG9nby05Mjc3Y2M0Yi0wYzFmLTQwOTMtYTkxNy0xYTY1ZTg3NGIzYzkucG5nXCI7XHJcbiAgaXNEaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNOZXdTdWI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzcGlubmVyVHlwZSA9IFNQSU5ORVIucHVsc2U7XHJcbiAgaXNTdWNlc3NQYXk6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnlcclxuICAgICwgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFB1cmNoYXNlTW9yZUxpY2Vuc2VzQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlXHJcbiAgICAsIHB1YmxpYyByb3V0ZXI6IFJvdXRlclxyXG4gICAgLCBwcml2YXRlIHBheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSwpIHtcclxuICAgIGlmIChkYXRhICE9IHVuZGVmaW5lZCAmJiBkYXRhICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBsYW5OYW1lID0gZGF0YS5wcm9kdWN0TmFtZTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25UeXBlID0gdGhpcy5wbGFuSW50ZXJ2YWwgPSBkYXRhLnN1YnNjcmlwdGlvblR5cGU7XHJcbiAgICAgIHRoaXMuYWN0aXZlVXNlcnMgPSB0aGlzLm5vT2ZQdXJjaGFzZXMgPSBkYXRhLm5vT2ZQdXJjaGFzZXM7XHJcbiAgICAgIHRoaXMuaXNOZXdTdWIgPSBkYXRhLmlzU3Vic2NyaWJlck5ldztcclxuICAgICAgdGhpcy5jb3N0Q2FsY3VsYXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBpc1JlbG9hZDogZmFsc2UgfSk7XHJcbiAgfVxyXG5cclxuICBjb3N0Q2FsY3VsYXRpb24oKSB7XHJcbiAgICB2YXIgcHVyY2hhc2VzID0gTnVtYmVyKHRoaXMubm9PZlB1cmNoYXNlcylcclxuICAgIGlmICghaXNOYU4ocHVyY2hhc2VzKSAmJiB0aGlzLmFjdGl2ZVVzZXJzID4gcHVyY2hhc2VzKSB7XHJcbiAgICAgIHRoaXMudG9hc3RyLndhcm5pbmcoXCJOby4gb2YgcHVyY2hhc2VzIHNob3VsZCBiZSBtb3JlIHRoYW4gcHJldmlvdXMgb25lJ3NcIik7XHJcbiAgICAgIHRoaXMuaXNEaXNhYmxlID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0Rpc2FibGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm5vT2ZQdXJjaGFzZXMgIT0gdW5kZWZpbmVkICYmIHRoaXMubm9PZlB1cmNoYXNlcyAhPSBudWxsICYmIHRoaXMubm9PZlB1cmNoYXNlcyAhPSAnJ1xyXG4gICAgICAmJiB0aGlzLnBsYW5JbnRlcnZhbCAhPSB1bmRlZmluZWQgJiYgdGhpcy5wbGFuSW50ZXJ2YWwgIT0gbnVsbCAmJiB0aGlzLnBsYW5JbnRlcnZhbCAhPSAnJyAmJiAhaXNOYU4ocHVyY2hhc2VzKSkge1xyXG4gICAgICB2YXIgcGVyVXNlciA9IDA7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkUGxhbk5hbWUgPT0gJ1N0YW5kYXJkJylcclxuICAgICAgICBwZXJVc2VyID0gMztcclxuICAgICAgZWxzZSBpZiAodGhpcy5zZWxlY3RlZFBsYW5OYW1lID09ICdQcmVtaXVtJylcclxuICAgICAgICBwZXJVc2VyID0gNTtcclxuICAgICAgZWxzZSBpZiAodGhpcy5zZWxlY3RlZFBsYW5OYW1lID09ICdFbnRlcnByaXNlJylcclxuICAgICAgICBwZXJVc2VyID0gMTA7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBwZXJVc2VyID0gMDtcclxuXHJcbiAgICAgIHZhciBub3JtYWxUb3RhbCA9IHBlclVzZXIgKiBOdW1iZXIodGhpcy5ub09mUHVyY2hhc2VzKTtcclxuICAgICAgaWYgKHRoaXMucGxhbkludGVydmFsID09ICdtb250aCcpIHtcclxuICAgICAgICB0aGlzLnRvdGFsQW1vdW50ID0gbm9ybWFsVG90YWwudG9GaXhlZCgyKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLnBsYW5JbnRlcnZhbCA9PSAneWVhcicpIHtcclxuICAgICAgICB0aGlzLnRvdGFsQW1vdW50ID0gKChub3JtYWxUb3RhbCAtIChub3JtYWxUb3RhbCAqIDIwIC8gMTAwKSkgKiAxMikudG9GaXhlZCgyKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy50b3RhbEFtb3VudCA9IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHBheSgpIHtcclxuICAgIGxldCBlbnZpcm9ubWVudCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5FbnZpcm9ubWVudCkpO1xyXG4gICAgdmFyIHNlcnZpY2UgPSB0aGlzLnBheW1lbnRTZXJ2aWNlO1xyXG4gICAgdmFyIHB1cmNoYXNlcyA9IHRoaXMubm9PZlB1cmNoYXNlcztcclxuICAgIHZhciB0b3RhbEFtdCA9IHRoaXMudG90YWxBbW91bnQ7XHJcbiAgICB2YXIgcGxhbiA9IHRoaXMuc2VsZWN0ZWRQbGFuTmFtZTtcclxuICAgIHZhciBwbGFuSW50ZXJ2YWwgPSB0aGlzLnBsYW5JbnRlcnZhbDtcclxuICAgIHZhciB0b3N0ZXJzID0gdGhpcy50b2FzdHI7XHJcbiAgICB2YXIgcm91dGVyID0gdGhpcy5yb3V0ZXI7XHJcbiAgICB2YXIgZGFpbG9nUmVmID0gdGhpcy5kaWFsb2dSZWY7XHJcbiAgICB0aGlzLmlzU3VjZXNzUGF5ID0gdHJ1ZTtcclxuICAgIHZhciBpc1N1Y2Vzc1BheSA9IHRoaXMuaXNTdWNlc3NQYXk7XHJcbiAgICB2YXIgaGFuZGxlciA9ICg8YW55PndpbmRvdykuU3RyaXBlQ2hlY2tvdXQuY29uZmlndXJlKHtcclxuICAgICAga2V5OiBlbnZpcm9ubWVudC5zdHJpcGVBUElLZXksXHJcbiAgICAgIGltYWdlOiAnaHR0cHM6Ly9idmlld3N0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0LzRhZmViNDQ0LWU4MjYtNGY5NS1hYzQxLTIxNzVlMzZhMGMxNi9ocm0vMGIyOTIxYTktZTkzMC00MDEzLTkwNDctNjcwYjUzNTJmMzA4L3Nub3Zhc3lzLTcyMTEyYjAzLTk1ZGMtNDMyYy1hZWVmLWM4OWZhMTNlYWUzMi5wbmcnLFxyXG4gICAgICBsb2NhbGU6ICdhdXRvJyxcclxuICAgICAgdG9rZW46IGZ1bmN0aW9uICh0b2tlbjogYW55KSB7XHJcbiAgICAgICAgaWYgKHRva2VuKSB7XHJcbiAgICAgICAgICB2YXIgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbCA9IG5ldyBDb21wYW55UGF5bWVudFVwc2VydE1vZGVsKCk7XHJcbiAgICAgICAgICBjb21wYW55UGF5bWVudFVwc2VydE1vZGVsLkNhcmRIb2xkZXJOYW1lID0gdG9rZW4uY2FyZC5uYW1lO1xyXG4gICAgICAgICAgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbC5DYXJkSG9sZGVyQmlsbGluZ0FkZHJlc3MgPSB0b2tlbi5jYXJkLm5hbWU7XHJcbiAgICAgICAgICBjb21wYW55UGF5bWVudFVwc2VydE1vZGVsLlBsYW5OYW1lID0gcGxhbjtcclxuICAgICAgICAgIGNvbXBhbnlQYXltZW50VXBzZXJ0TW9kZWwuU3Vic2NyaXB0aW9uVHlwZSA9IHBsYW5JbnRlcnZhbDtcclxuICAgICAgICAgIGNvbXBhbnlQYXltZW50VXBzZXJ0TW9kZWwuVG90YWxBbW91bnQgPSB0b3RhbEFtdDtcclxuICAgICAgICAgIGNvbXBhbnlQYXltZW50VXBzZXJ0TW9kZWwuTm9PZlB1cmNoYXNlcyA9IHB1cmNoYXNlcztcclxuICAgICAgICAgIGNvbXBhbnlQYXltZW50VXBzZXJ0TW9kZWwuRW1haWwgPSB0b2tlbi5lbWFpbDtcclxuICAgICAgICAgIGNvbXBhbnlQYXltZW50VXBzZXJ0TW9kZWwuU3RyaXBlVG9rZW5JZCA9IHRva2VuLmlkO1xyXG4gICAgICAgICAgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbC5BZGRyZXNzT3B0aW9ucyA9IHRva2VuLmNhcmQ7XHJcbiAgICAgICAgICBzZXJ2aWNlLnVwc2VydENvbXBhbnlQYXltZW50cyhjb21wYW55UGF5bWVudFVwc2VydE1vZGVsKS5zdWJzY3JpYmUoKHJlc3BvbnNlRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXNwb25zZURhdGEuc3VjY2VzcyA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgdG9zdGVycy5zdWNjZXNzKFwiWW91ciBzdWJzY3JpcHRpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZFwiKTtcclxuICAgICAgICAgICAgICBpc1N1Y2Vzc1BheSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbJy9zaGVsbC9BY2NvdW50cyddKTtcclxuICAgICAgICAgICAgICBkYWlsb2dSZWYuY2xvc2UoeyBpc1JlbG9hZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICB0b3N0ZXJzLmVycm9yKHJlc3BvbnNlRGF0YS5hcGlSZXNwb25zZU1lc3NhZ2VzWzBdLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgIGlzU3VjZXNzUGF5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlzU3VjZXNzUGF5ID0gaXNTdWNlc3NQYXk7XHJcbiAgICB2YXIgZGVzY3JpcHRpb24gPSB0aGlzLnBsYW5JbnRlcnZhbCA9PSAnbW9udGgnID8gJ01vbnRobHkgc3Vic2NyaXB0aW9uJyA6ICdBbm51YWwgc3Vic2NyaXB0aW9uJ1xyXG4gICAgaGFuZGxlci5vcGVuKHtcclxuICAgICAgbmFtZTogdGhpcy5zZWxlY3RlZFBsYW5OYW1lLFxyXG4gICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sXHJcbiAgICAgIGFtb3VudDogdGhpcy50b3RhbEFtb3VudCAqIDEwMCxcclxuICAgICAgY3VycmVuY3k6ICdHQlAnLFxyXG4gICAgICBiaWxsaW5nQWRkcmVzczogXCJ0cnVlXCIsXHJcbiAgICAgIHNoaXBwaW5nQWRkcmVzczogXCJmYWxzZVwiLFxyXG4gICAgICBjbG9zZWQ6ICgpPT57dGhpcy5jbG9zZTIoKTt9IFxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgY2xvc2UyKCl7XHJcbiAgICB0aGlzLmlzU3VjZXNzUGF5PSF0aGlzLmlzU3VjZXNzUGF5O1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjdXN0b20tZGlhbG9nXCI+XHJcbiAgPGRpdiBjbGFzcz1cImN1c3RvbS1jbG9zZVwiIG1hdC1kaWFsb2ctY2xvc2UgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgIDxmYS1pY29uIGljb249XCJ0aW1lc1wiIGNsYXNzPVwicHJvamVjdC1kaWFsb2dcIj48L2ZhLWljb24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJwcm9qZWN0LWRpYWxvZ0NvbnRlbnRcIiBpZD1cInN0eWxlLTFcIj5cclxuXHJcbiAgPG1hdC1jYXJkLXRpdGxlPlxyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHBiLTFcIj5TdWJzY3JpcHRpb248L2Rpdj5cclxuICA8L21hdC1jYXJkLXRpdGxlPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibG9naW4tcGFnZVwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIjUwXCIgZnhGbGV4LnhzPVwiMTAwXCI+PGxhYmVsPlNlbGVjdGVkIHBsYW4gOiB7e3NlbGVjdGVkUGxhbk5hbWV9fSA8L2xhYmVsPjwvZGl2PlxyXG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0LnhzPVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgZnhMYXlvdXRHYXAueHM9XCIwcHhcIj5cclxuICAgICAgPGRpdiBmeEZsZXg9XCIxMDBcIiBmeEZsZXgueHM9XCIxMDBcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJub09mUHVyY2hhc2VzXCIgcGxhY2Vob2xkZXI9XCJOby5vZiBwdXJjaGFzZXNcIiAoY2hhbmdlKT1cImNvc3RDYWxjdWxhdGlvbigpXCJcclxuICAgICAgICAgICAgcmVxdWlyZWQ+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dC54cz1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4TGF5b3V0R2FwLnhzPVwiMHB4XCI+XHJcbiAgICAgIDxkaXYgZnhGbGV4PVwiMTAwXCIgZnhGbGV4LnhzPVwiMTAwXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiICpuZ0lmPVwiIWlzTmV3U3ViXCI+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIHN1YnNjcmlwdGlvbiB0eXBlXCIgWyhuZ01vZGVsKV09XCJwbGFuSW50ZXJ2YWxcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwic3Vic2NyaXB0aW9uVHlwZSA9PSd5ZWFyJ1wiIChzZWxlY3Rpb25DaGFuZ2UpPVwiY29zdENhbGN1bGF0aW9uKClcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJtb250aFwiPk1vbnRobHk8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwieWVhclwiPkFubnVhbGx5PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiICpuZ0lmPVwiaXNOZXdTdWJcIj5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgc3Vic2NyaXB0aW9uIHR5cGVcIiBbKG5nTW9kZWwpXT1cInBsYW5JbnRlcnZhbFwiXHJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiY29zdENhbGN1bGF0aW9uKClcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJtb250aFwiPk1vbnRobHk8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwieWVhclwiPkFubnVhbGx5PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm10LTFcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJmdWxsLXdpZHRoIG1iLTEgYnRuIGJ0bi1ibG9ja1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJwYXkoKVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJ0b3RhbEFtb3VudCA9PSAwIHx8IGlzRGlzYWJsZSB8fGlzU3VjZXNzUGF5XCI+IFBheSAke3t0b3RhbEFtb3VudH19XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc3BpbiBmYS1zcGlubmVyXCIgKm5nSWY9XCJpc1N1Y2Vzc1BheVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPG5neC11aS1sb2FkZXIgZmdzU2l6ZT1cIjE4MFwiIFtmZ3NUeXBlXT1cInNwaW5uZXJUeXBlXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9uZ3gtdWktbG9hZGVyPiAtLT5cclxuPC9kaXY+Il19
1
+ import { Component, Inject } from "@angular/core";
2
+ import { MAT_DIALOG_DATA } from "@angular/material/dialog";
3
+ import { SPINNER } from 'ngx-ui-loader';
4
+ import { LocalStorageProperties } from '../../../globaldependencies/constants/localstorage-properties';
5
+ import '../../../globaldependencies/helpers/fontawesome-icons';
6
+ import { CompanyPaymentUpsertModel } from '../../models/company-payment-model';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/dialog";
9
+ import * as i2 from "ngx-toastr";
10
+ import * as i3 from "@angular/router";
11
+ import * as i4 from "../../services/payment.service";
12
+ import * as i5 from "@fortawesome/angular-fontawesome";
13
+ import * as i6 from "@angular/material/card";
14
+ import * as i7 from "@angular/flex-layout/flex";
15
+ import * as i8 from "@angular/material/form-field";
16
+ import * as i9 from "@angular/material/input";
17
+ import * as i10 from "@angular/forms";
18
+ import * as i11 from "@angular/common";
19
+ import * as i12 from "@angular/material/button";
20
+ import * as i13 from "@angular/material/select";
21
+ import * as i14 from "@angular/material/core";
22
+ function PurchaseMoreLicensesComponent_mat_form_field_17_Template(rf, ctx) { if (rf & 1) {
23
+ const _r4 = i0.ɵɵgetCurrentView();
24
+ i0.ɵɵelementStart(0, "mat-form-field", 9);
25
+ i0.ɵɵelementStart(1, "mat-select", 15);
26
+ i0.ɵɵlistener("ngModelChange", function PurchaseMoreLicensesComponent_mat_form_field_17_Template_mat_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.planInterval = $event; })("selectionChange", function PurchaseMoreLicensesComponent_mat_form_field_17_Template_mat_select_selectionChange_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.costCalculation(); });
27
+ i0.ɵɵelementStart(2, "mat-option", 16);
28
+ i0.ɵɵtext(3, "Monthly");
29
+ i0.ɵɵelementEnd();
30
+ i0.ɵɵelementStart(4, "mat-option", 17);
31
+ i0.ɵɵtext(5, "Annually");
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ const ctx_r0 = i0.ɵɵnextContext();
37
+ i0.ɵɵadvance(1);
38
+ i0.ɵɵproperty("ngModel", ctx_r0.planInterval)("disabled", ctx_r0.subscriptionType == "year");
39
+ } }
40
+ function PurchaseMoreLicensesComponent_mat_form_field_18_Template(rf, ctx) { if (rf & 1) {
41
+ const _r7 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "mat-form-field", 9);
43
+ i0.ɵɵelementStart(1, "mat-select", 18);
44
+ i0.ɵɵlistener("ngModelChange", function PurchaseMoreLicensesComponent_mat_form_field_18_Template_mat_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.planInterval = $event; })("selectionChange", function PurchaseMoreLicensesComponent_mat_form_field_18_Template_mat_select_selectionChange_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.costCalculation(); });
45
+ i0.ɵɵelementStart(2, "mat-option", 16);
46
+ i0.ɵɵtext(3, "Monthly");
47
+ i0.ɵɵelementEnd();
48
+ i0.ɵɵelementStart(4, "mat-option", 17);
49
+ i0.ɵɵtext(5, "Annually");
50
+ i0.ɵɵelementEnd();
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementEnd();
53
+ } if (rf & 2) {
54
+ const ctx_r1 = i0.ɵɵnextContext();
55
+ i0.ɵɵadvance(1);
56
+ i0.ɵɵproperty("ngModel", ctx_r1.planInterval);
57
+ } }
58
+ function PurchaseMoreLicensesComponent_i_22_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelement(0, "i", 19);
60
+ } }
61
+ export class PurchaseMoreLicensesComponent {
62
+ constructor(data, dialogRef, toastr, router, paymentService) {
63
+ this.data = data;
64
+ this.dialogRef = dialogRef;
65
+ this.toastr = toastr;
66
+ this.router = router;
67
+ this.paymentService = paymentService;
68
+ this.handler = null;
69
+ this.totalAmount = 0;
70
+ this.isAnyOperationIsInprogress = false;
71
+ this.isFromRoute = false;
72
+ this.activeUsers = 0;
73
+ this.companyMainLogo = "https://bviewstorage.blob.core.windows.net/6671cd0d-5b91-4044-bdcc-e1f201c086c5/projects/d72d1c2f-dfbe-4d48-9605-cd3b7e38ed17/Main-Logo-9277cc4b-0c1f-4093-a917-1a65e874b3c9.png";
74
+ this.isDisable = false;
75
+ this.isNewSub = false;
76
+ this.spinnerType = SPINNER.pulse;
77
+ if (data != undefined && data != null) {
78
+ this.selectedPlanName = data.productName;
79
+ this.subscriptionType = this.planInterval = data.subscriptionType;
80
+ this.activeUsers = this.noOfPurchases = data.noOfPurchases;
81
+ this.isNewSub = data.isSubscriberNew;
82
+ this.costCalculation();
83
+ }
84
+ }
85
+ ngOnInit() {
86
+ }
87
+ close() {
88
+ this.dialogRef.close({ isReload: false });
89
+ }
90
+ costCalculation() {
91
+ var purchases = Number(this.noOfPurchases);
92
+ if (!isNaN(purchases) && this.activeUsers > purchases) {
93
+ this.toastr.warning("No. of purchases should be more than previous one's");
94
+ this.isDisable = true;
95
+ return;
96
+ }
97
+ this.isDisable = false;
98
+ if (this.noOfPurchases != undefined && this.noOfPurchases != null && this.noOfPurchases != ''
99
+ && this.planInterval != undefined && this.planInterval != null && this.planInterval != '' && !isNaN(purchases)) {
100
+ var perUser = 0;
101
+ if (this.selectedPlanName == 'Standard')
102
+ perUser = 3;
103
+ else if (this.selectedPlanName == 'Premium')
104
+ perUser = 5;
105
+ else if (this.selectedPlanName == 'Enterprise')
106
+ perUser = 10;
107
+ else
108
+ perUser = 0;
109
+ var normalTotal = perUser * Number(this.noOfPurchases);
110
+ if (this.planInterval == 'month') {
111
+ this.totalAmount = normalTotal.toFixed(2);
112
+ }
113
+ else if (this.planInterval == 'year') {
114
+ this.totalAmount = ((normalTotal - (normalTotal * 20 / 100)) * 12).toFixed(2);
115
+ }
116
+ else
117
+ this.totalAmount = 0;
118
+ }
119
+ }
120
+ pay() {
121
+ let environment = JSON.parse(localStorage.getItem(LocalStorageProperties.Environment));
122
+ var service = this.paymentService;
123
+ var purchases = this.noOfPurchases;
124
+ var totalAmt = this.totalAmount;
125
+ var plan = this.selectedPlanName;
126
+ var planInterval = this.planInterval;
127
+ var tosters = this.toastr;
128
+ var router = this.router;
129
+ var dailogRef = this.dialogRef;
130
+ this.isSucessPay = true;
131
+ var isSucessPay = this.isSucessPay;
132
+ var handler = window.StripeCheckout.configure({
133
+ key: environment.stripeAPIKey,
134
+ image: 'https://bviewstorage.blob.core.windows.net/4afeb444-e826-4f95-ac41-2175e36a0c16/hrm/0b2921a9-e930-4013-9047-670b5352f308/snovasys-72112b03-95dc-432c-aeef-c89fa13eae32.png',
135
+ locale: 'auto',
136
+ token: function (token) {
137
+ if (token) {
138
+ var companyPaymentUpsertModel = new CompanyPaymentUpsertModel();
139
+ companyPaymentUpsertModel.CardHolderName = token.card.name;
140
+ companyPaymentUpsertModel.CardHolderBillingAddress = token.card.name;
141
+ companyPaymentUpsertModel.PlanName = plan;
142
+ companyPaymentUpsertModel.SubscriptionType = planInterval;
143
+ companyPaymentUpsertModel.TotalAmount = totalAmt;
144
+ companyPaymentUpsertModel.NoOfPurchases = purchases;
145
+ companyPaymentUpsertModel.Email = token.email;
146
+ companyPaymentUpsertModel.StripeTokenId = token.id;
147
+ companyPaymentUpsertModel.AddressOptions = token.card;
148
+ service.upsertCompanyPayments(companyPaymentUpsertModel).subscribe((responseData) => {
149
+ if (responseData.success == true) {
150
+ tosters.success("Your subscription has been successfully completed");
151
+ isSucessPay = false;
152
+ router.navigate(['/shell/Accounts']);
153
+ dailogRef.close({ isReload: true });
154
+ }
155
+ else {
156
+ tosters.error(responseData.apiResponseMessages[0].message);
157
+ isSucessPay = false;
158
+ }
159
+ });
160
+ }
161
+ }
162
+ });
163
+ this.isSucessPay = isSucessPay;
164
+ var description = this.planInterval == 'month' ? 'Monthly subscription' : 'Annual subscription';
165
+ handler.open({
166
+ name: this.selectedPlanName,
167
+ description: description,
168
+ amount: this.totalAmount * 100,
169
+ currency: 'GBP',
170
+ billingAddress: "true",
171
+ shippingAddress: "false",
172
+ closed: () => { this.close2(); }
173
+ });
174
+ }
175
+ close2() {
176
+ this.isSucessPay = !this.isSucessPay;
177
+ }
178
+ }
179
+ PurchaseMoreLicensesComponent.ɵfac = function PurchaseMoreLicensesComponent_Factory(t) { return new (t || PurchaseMoreLicensesComponent)(i0.ɵɵdirectiveInject(MAT_DIALOG_DATA), i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(i2.ToastrService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.PaymentService)); };
180
+ PurchaseMoreLicensesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PurchaseMoreLicensesComponent, selectors: [["app-purchase-licenses"]], decls: 23, vars: 7, consts: [[1, "custom-dialog"], ["mat-dialog-close", "", 1, "custom-close", 3, "click"], ["icon", "times", 1, "project-dialog"], ["mat-dialog-content", "", "id", "style-1", 1, "project-dialogContent"], [1, "text-center", "pb-1"], ["fxLayout", "column", 1, "login-page"], ["fxFlex", "50", "fxFlex.xs", "100"], ["fxLayout", "row", "fxLayout.xs", "column", "fxLayoutGap", "10px", "fxLayoutGap.xs", "0px"], ["fxFlex", "100", "fxFlex.xs", "100"], [1, "full-width"], ["matInput", "", "placeholder", "No.of purchases", "required", "", 3, "ngModel", "ngModelChange", "change"], ["class", "full-width", 4, "ngIf"], [1, "mt-1"], ["mat-raised-button", "", "color", "primary", 1, "full-width", "mb-1", "btn", "btn-block", 3, "disabled", "click"], ["class", "fa fa-spin fa-spinner", 4, "ngIf"], ["placeholder", "Select a subscription type", "required", "", 3, "ngModel", "disabled", "ngModelChange", "selectionChange"], ["value", "month"], ["value", "year"], ["placeholder", "Select a subscription type", "required", "", 3, "ngModel", "ngModelChange", "selectionChange"], [1, "fa", "fa-spin", "fa-spinner"]], template: function PurchaseMoreLicensesComponent_Template(rf, ctx) { if (rf & 1) {
181
+ i0.ɵɵelementStart(0, "div", 0);
182
+ i0.ɵɵelementStart(1, "div", 1);
183
+ i0.ɵɵlistener("click", function PurchaseMoreLicensesComponent_Template_div_click_1_listener() { return ctx.close(); });
184
+ i0.ɵɵelement(2, "fa-icon", 2);
185
+ i0.ɵɵelementEnd();
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelementStart(3, "div", 3);
188
+ i0.ɵɵelementStart(4, "mat-card-title");
189
+ i0.ɵɵelementStart(5, "div", 4);
190
+ i0.ɵɵtext(6, "Subscription");
191
+ i0.ɵɵelementEnd();
192
+ i0.ɵɵelementEnd();
193
+ i0.ɵɵelementStart(7, "div", 5);
194
+ i0.ɵɵelementStart(8, "div", 6);
195
+ i0.ɵɵelementStart(9, "label");
196
+ i0.ɵɵtext(10);
197
+ i0.ɵɵelementEnd();
198
+ i0.ɵɵelementEnd();
199
+ i0.ɵɵelementStart(11, "div", 7);
200
+ i0.ɵɵelementStart(12, "div", 8);
201
+ i0.ɵɵelementStart(13, "mat-form-field", 9);
202
+ i0.ɵɵelementStart(14, "input", 10);
203
+ i0.ɵɵlistener("ngModelChange", function PurchaseMoreLicensesComponent_Template_input_ngModelChange_14_listener($event) { return ctx.noOfPurchases = $event; })("change", function PurchaseMoreLicensesComponent_Template_input_change_14_listener() { return ctx.costCalculation(); });
204
+ i0.ɵɵelementEnd();
205
+ i0.ɵɵelementEnd();
206
+ i0.ɵɵelementEnd();
207
+ i0.ɵɵelementEnd();
208
+ i0.ɵɵelementStart(15, "div", 7);
209
+ i0.ɵɵelementStart(16, "div", 8);
210
+ i0.ɵɵtemplate(17, PurchaseMoreLicensesComponent_mat_form_field_17_Template, 6, 2, "mat-form-field", 11);
211
+ i0.ɵɵtemplate(18, PurchaseMoreLicensesComponent_mat_form_field_18_Template, 6, 1, "mat-form-field", 11);
212
+ i0.ɵɵelementEnd();
213
+ i0.ɵɵelementEnd();
214
+ i0.ɵɵelementEnd();
215
+ i0.ɵɵelementStart(19, "div", 12);
216
+ i0.ɵɵelementStart(20, "button", 13);
217
+ i0.ɵɵlistener("click", function PurchaseMoreLicensesComponent_Template_button_click_20_listener() { return ctx.pay(); });
218
+ i0.ɵɵtext(21);
219
+ i0.ɵɵtemplate(22, PurchaseMoreLicensesComponent_i_22_Template, 1, 0, "i", 14);
220
+ i0.ɵɵelementEnd();
221
+ i0.ɵɵelementEnd();
222
+ i0.ɵɵelementEnd();
223
+ } if (rf & 2) {
224
+ i0.ɵɵadvance(10);
225
+ i0.ɵɵtextInterpolate1("Selected plan : ", ctx.selectedPlanName, " ");
226
+ i0.ɵɵadvance(4);
227
+ i0.ɵɵproperty("ngModel", ctx.noOfPurchases);
228
+ i0.ɵɵadvance(3);
229
+ i0.ɵɵproperty("ngIf", !ctx.isNewSub);
230
+ i0.ɵɵadvance(1);
231
+ i0.ɵɵproperty("ngIf", ctx.isNewSub);
232
+ i0.ɵɵadvance(2);
233
+ i0.ɵɵproperty("disabled", ctx.totalAmount == 0 || ctx.isDisable || ctx.isSucessPay);
234
+ i0.ɵɵadvance(1);
235
+ i0.ɵɵtextInterpolate1(" Pay $", ctx.totalAmount, " ");
236
+ i0.ɵɵadvance(1);
237
+ i0.ɵɵproperty("ngIf", ctx.isSucessPay);
238
+ } }, directives: [i1.MatDialogClose, i5.FaIconComponent, i1.MatDialogContent, i6.MatCardTitle, i7.DefaultLayoutDirective, i7.DefaultFlexDirective, i7.DefaultLayoutGapDirective, i8.MatFormField, i9.MatInput, i10.DefaultValueAccessor, i10.RequiredValidator, i10.NgControlStatus, i10.NgModel, i11.NgIf, i12.MatButton, i13.MatSelect, i14.MatOption], encapsulation: 2 });
239
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PurchaseMoreLicensesComponent, [{
240
+ type: Component,
241
+ args: [{
242
+ selector: "app-purchase-licenses",
243
+ templateUrl: "./purchase-more-licenses.html"
244
+ }]
245
+ }], function () { return [{ type: undefined, decorators: [{
246
+ type: Inject,
247
+ args: [MAT_DIALOG_DATA]
248
+ }] }, { type: i1.MatDialogRef }, { type: i2.ToastrService }, { type: i3.Router }, { type: i4.PaymentService }]; }, null); })();
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyY2hhc2UtbW9yZS1saWNlbnNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHVyY2hhc2UtbW9yZS1saWNlbnNlcy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL2NvbXBvbmVudHMvUGF5bWVudHMvcHVyY2hhc2UtbW9yZS1saWNlbnNlcy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFzQixPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyx1REFBdUQsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDaUJ2RSx5Q0FBcUQ7SUFDbkQsc0NBQ3dGO0lBRG5DLGdQQUEwQiw2TkFBQTtJQUU3RSxzQ0FBMEI7SUFBQSx1QkFBTztJQUFBLGlCQUFhO0lBQzlDLHNDQUF5QjtJQUFBLHdCQUFRO0lBQUEsaUJBQWE7SUFDaEQsaUJBQWE7SUFDZixpQkFBaUI7OztJQUxzQyxlQUEwQjtJQUExQiw2Q0FBMEIsK0NBQUE7Ozs7SUFNakYseUNBQW9EO0lBQ2xELHNDQUNpRDtJQURJLGdQQUEwQiw2TkFBQTtJQUU3RSxzQ0FBMEI7SUFBQSx1QkFBTztJQUFBLGlCQUFhO0lBQzlDLHNDQUF5QjtJQUFBLHdCQUFRO0lBQUEsaUJBQWE7SUFDaEQsaUJBQWE7SUFDZixpQkFBaUI7OztJQUxzQyxlQUEwQjtJQUExQiw2Q0FBMEI7OztJQVluRix3QkFBeUQ7O0FEN0IvRCxNQUFNLE9BQU8sNkJBQTZCO0lBZ0J4QyxZQUE0QyxJQUFTLEVBQzFDLFNBQXNELEVBQ3ZELE1BQXFCLEVBQ3BCLE1BQWMsRUFDYixjQUE4QjtRQUpFLFNBQUksR0FBSixJQUFJLENBQUs7UUFDMUMsY0FBUyxHQUFULFNBQVMsQ0FBNkM7UUFDdkQsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBbEIxQyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQVEsQ0FBQyxDQUFDO1FBQ3JCLCtCQUEwQixHQUFZLEtBQUssQ0FBQztRQUM1QyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixnQkFBVyxHQUFRLENBQUMsQ0FBQztRQUtyQixvQkFBZSxHQUFRLGtMQUFrTCxDQUFDO1FBQzFNLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFPMUIsSUFBSSxJQUFJLElBQUksU0FBUyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ2xFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNyQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsRUFBRTtZQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFO2VBQ3hGLElBQUksQ0FBQyxZQUFZLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hILElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxVQUFVO2dCQUNyQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNULElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLFNBQVM7Z0JBQ3pDLE9BQU8sR0FBRyxDQUFDLENBQUM7aUJBQ1QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksWUFBWTtnQkFDNUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzs7Z0JBRWIsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUVkLElBQUksV0FBVyxHQUFHLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxPQUFPLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQztpQkFDSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9FOztnQkFFQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFDRCxHQUFHO1FBQ0QsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdkYsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ25DLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDaEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2pDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLE9BQU8sR0FBUyxNQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUNuRCxHQUFHLEVBQUUsV0FBVyxDQUFDLFlBQVk7WUFDN0IsS0FBSyxFQUFFLDRLQUE0SztZQUNuTCxNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxVQUFVLEtBQVU7Z0JBQ3pCLElBQUksS0FBSyxFQUFFO29CQUNULElBQUkseUJBQXlCLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO29CQUNoRSx5QkFBeUIsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQzNELHlCQUF5QixDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNyRSx5QkFBeUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUMxQyx5QkFBeUIsQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7b0JBQzFELHlCQUF5QixDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7b0JBQ2pELHlCQUF5QixDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7b0JBQ3BELHlCQUF5QixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUM5Qyx5QkFBeUIsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbkQseUJBQXlCLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ3RELE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQWlCLEVBQUUsRUFBRTt3QkFDdkYsSUFBSSxZQUFZLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTs0QkFDaEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtREFBbUQsQ0FBQyxDQUFDOzRCQUNyRSxXQUFXLEdBQUcsS0FBSyxDQUFDOzRCQUNwQixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDOzRCQUNyQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7eUJBQ3JDOzZCQUNJOzRCQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDOzRCQUMzRCxXQUFXLEdBQUcsS0FBSyxDQUFDO3lCQUNyQjtvQkFDSCxDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFBO1FBQy9GLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUMzQixXQUFXLEVBQUUsV0FBVztZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHO1lBQzlCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsY0FBYyxFQUFFLE1BQU07WUFDdEIsZUFBZSxFQUFFLE9BQU87WUFDeEIsTUFBTSxFQUFFLEdBQUUsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBLENBQUM7U0FDN0IsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDOzswR0FoSVUsNkJBQTZCLHVCQWdCcEIsZUFBZTtnRkFoQnhCLDZCQUE2QjtRQ2YxQyw4QkFBMkI7UUFDekIsOEJBQTZEO1FBQWxCLHVHQUFTLFdBQU8sSUFBQztRQUMxRCw2QkFBdUQ7UUFDekQsaUJBQU07UUFDUixpQkFBTTtRQUVOLDhCQUFtRTtRQUVqRSxzQ0FBZ0I7UUFDZCw4QkFBOEI7UUFBQSw0QkFBWTtRQUFBLGlCQUFNO1FBQ2xELGlCQUFpQjtRQUVqQiw4QkFBMEM7UUFDeEMsOEJBQWlDO1FBQUEsNkJBQU87UUFBQSxhQUFxQztRQUFBLGlCQUFRO1FBQUEsaUJBQU07UUFDM0YsK0JBQWlGO1FBQy9FLCtCQUFrQztRQUNoQywwQ0FBbUM7UUFDakMsa0NBQ1c7UUFESyw4SkFBMkIsK0ZBQXlDLHFCQUFpQixJQUExRDtRQUEzQyxpQkFDVztRQUNiLGlCQUFpQjtRQUNuQixpQkFBTTtRQUNSLGlCQUFNO1FBQ04sK0JBQWlGO1FBQy9FLCtCQUFrQztRQUNoQyx1R0FNaUI7UUFDakIsdUdBTWlCO1FBQ25CLGlCQUFNO1FBQ1IsaUJBQU07UUFDUixpQkFBTTtRQUNOLGdDQUFrQjtRQUNoQixtQ0FDMkQ7UUFEcUIsMkdBQVMsU0FBSyxJQUFDO1FBQ25DLGFBQzFEO1FBQUEsNkVBQXlEO1FBQzNELGlCQUFTO1FBQ1gsaUJBQU07UUFFUixpQkFBTTs7UUFuQ3NDLGdCQUFxQztRQUFyQyxvRUFBcUM7UUFJdkQsZUFBMkI7UUFBM0IsMkNBQTJCO1FBT1QsZUFBZTtRQUFmLG9DQUFlO1FBT2YsZUFBYztRQUFkLG1DQUFjO1FBWXBELGVBQXdEO1FBQXhELG1GQUF3RDtRQUFFLGVBQzFEO1FBRDBELHFEQUMxRDtRQUFrQyxlQUFpQjtRQUFqQixzQ0FBaUI7O3VGRDdCNUMsNkJBQTZCO2NBTHpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxXQUFXLEVBQUUsK0JBQStCO2FBQzdDOztzQkFrQmMsTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7IE5neFVpTG9hZGVyU2VydmljZSwgU1BJTk5FUiB9IGZyb20gJ25neC11aS1sb2FkZXInO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uL2dsb2JhbGRlcGVuZGVuY2llcy9jb25zdGFudHMvbG9jYWxzdG9yYWdlLXByb3BlcnRpZXMnO1xuaW1wb3J0ICcuLi8uLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvaGVscGVycy9mb250YXdlc29tZS1pY29ucyc7XG5pbXBvcnQgeyBDb21wYW55UGF5bWVudFVwc2VydE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbXBhbnktcGF5bWVudC1tb2RlbCc7XG5pbXBvcnQgeyBQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtcHVyY2hhc2UtbGljZW5zZXNcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wdXJjaGFzZS1tb3JlLWxpY2Vuc2VzLmh0bWxcIlxufSlcblxuZXhwb3J0IGNsYXNzIFB1cmNoYXNlTW9yZUxpY2Vuc2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBoYW5kbGVyOiBhbnkgPSBudWxsO1xuICB0b3RhbEFtb3VudDogYW55ID0gMDtcbiAgaXNBbnlPcGVyYXRpb25Jc0lucHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNGcm9tUm91dGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWN0aXZlVXNlcnM6IGFueSA9IDA7XG4gIHBsYW5JbnRlcnZhbDogYW55O1xuICBub09mUHVyY2hhc2VzOiBhbnk7XG4gIHNlbGVjdGVkUGxhbk5hbWU6IGFueTtcbiAgc3Vic2NyaXB0aW9uVHlwZTogc3RyaW5nO1xuICBjb21wYW55TWFpbkxvZ286IGFueSA9IFwiaHR0cHM6Ly9idmlld3N0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0LzY2NzFjZDBkLTViOTEtNDA0NC1iZGNjLWUxZjIwMWMwODZjNS9wcm9qZWN0cy9kNzJkMWMyZi1kZmJlLTRkNDgtOTYwNS1jZDNiN2UzOGVkMTcvTWFpbi1Mb2dvLTkyNzdjYzRiLTBjMWYtNDA5My1hOTE3LTFhNjVlODc0YjNjOS5wbmdcIjtcbiAgaXNEaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTmV3U3ViOiBib29sZWFuID0gZmFsc2U7XG4gIHNwaW5uZXJUeXBlID0gU1BJTk5FUi5wdWxzZTtcbiAgaXNTdWNlc3NQYXk6IGJvb2xlYW47XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55XG4gICAgLCBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UHVyY2hhc2VNb3JlTGljZW5zZXNDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlXG4gICAgLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXJcbiAgICAsIHByaXZhdGUgcGF5bWVudFNlcnZpY2U6IFBheW1lbnRTZXJ2aWNlLCkge1xuICAgIGlmIChkYXRhICE9IHVuZGVmaW5lZCAmJiBkYXRhICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQbGFuTmFtZSA9IGRhdGEucHJvZHVjdE5hbWU7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblR5cGUgPSB0aGlzLnBsYW5JbnRlcnZhbCA9IGRhdGEuc3Vic2NyaXB0aW9uVHlwZTtcbiAgICAgIHRoaXMuYWN0aXZlVXNlcnMgPSB0aGlzLm5vT2ZQdXJjaGFzZXMgPSBkYXRhLm5vT2ZQdXJjaGFzZXM7XG4gICAgICB0aGlzLmlzTmV3U3ViID0gZGF0YS5pc1N1YnNjcmliZXJOZXc7XG4gICAgICB0aGlzLmNvc3RDYWxjdWxhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGlzUmVsb2FkOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGNvc3RDYWxjdWxhdGlvbigpIHtcbiAgICB2YXIgcHVyY2hhc2VzID0gTnVtYmVyKHRoaXMubm9PZlB1cmNoYXNlcylcbiAgICBpZiAoIWlzTmFOKHB1cmNoYXNlcykgJiYgdGhpcy5hY3RpdmVVc2VycyA+IHB1cmNoYXNlcykge1xuICAgICAgdGhpcy50b2FzdHIud2FybmluZyhcIk5vLiBvZiBwdXJjaGFzZXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBwcmV2aW91cyBvbmUnc1wiKTtcbiAgICAgIHRoaXMuaXNEaXNhYmxlID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc0Rpc2FibGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5ub09mUHVyY2hhc2VzICE9IHVuZGVmaW5lZCAmJiB0aGlzLm5vT2ZQdXJjaGFzZXMgIT0gbnVsbCAmJiB0aGlzLm5vT2ZQdXJjaGFzZXMgIT0gJydcbiAgICAgICYmIHRoaXMucGxhbkludGVydmFsICE9IHVuZGVmaW5lZCAmJiB0aGlzLnBsYW5JbnRlcnZhbCAhPSBudWxsICYmIHRoaXMucGxhbkludGVydmFsICE9ICcnICYmICFpc05hTihwdXJjaGFzZXMpKSB7XG4gICAgICB2YXIgcGVyVXNlciA9IDA7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFBsYW5OYW1lID09ICdTdGFuZGFyZCcpXG4gICAgICAgIHBlclVzZXIgPSAzO1xuICAgICAgZWxzZSBpZiAodGhpcy5zZWxlY3RlZFBsYW5OYW1lID09ICdQcmVtaXVtJylcbiAgICAgICAgcGVyVXNlciA9IDU7XG4gICAgICBlbHNlIGlmICh0aGlzLnNlbGVjdGVkUGxhbk5hbWUgPT0gJ0VudGVycHJpc2UnKVxuICAgICAgICBwZXJVc2VyID0gMTA7XG4gICAgICBlbHNlXG4gICAgICAgIHBlclVzZXIgPSAwO1xuXG4gICAgICB2YXIgbm9ybWFsVG90YWwgPSBwZXJVc2VyICogTnVtYmVyKHRoaXMubm9PZlB1cmNoYXNlcyk7XG4gICAgICBpZiAodGhpcy5wbGFuSW50ZXJ2YWwgPT0gJ21vbnRoJykge1xuICAgICAgICB0aGlzLnRvdGFsQW1vdW50ID0gbm9ybWFsVG90YWwudG9GaXhlZCgyKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHRoaXMucGxhbkludGVydmFsID09ICd5ZWFyJykge1xuICAgICAgICB0aGlzLnRvdGFsQW1vdW50ID0gKChub3JtYWxUb3RhbCAtIChub3JtYWxUb3RhbCAqIDIwIC8gMTAwKSkgKiAxMikudG9GaXhlZCgyKTtcbiAgICAgIH1cbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy50b3RhbEFtb3VudCA9IDA7XG4gICAgfVxuICB9XG4gIHBheSgpIHtcbiAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcbiAgICB2YXIgc2VydmljZSA9IHRoaXMucGF5bWVudFNlcnZpY2U7XG4gICAgdmFyIHB1cmNoYXNlcyA9IHRoaXMubm9PZlB1cmNoYXNlcztcbiAgICB2YXIgdG90YWxBbXQgPSB0aGlzLnRvdGFsQW1vdW50O1xuICAgIHZhciBwbGFuID0gdGhpcy5zZWxlY3RlZFBsYW5OYW1lO1xuICAgIHZhciBwbGFuSW50ZXJ2YWwgPSB0aGlzLnBsYW5JbnRlcnZhbDtcbiAgICB2YXIgdG9zdGVycyA9IHRoaXMudG9hc3RyO1xuICAgIHZhciByb3V0ZXIgPSB0aGlzLnJvdXRlcjtcbiAgICB2YXIgZGFpbG9nUmVmID0gdGhpcy5kaWFsb2dSZWY7XG4gICAgdGhpcy5pc1N1Y2Vzc1BheSA9IHRydWU7XG4gICAgdmFyIGlzU3VjZXNzUGF5ID0gdGhpcy5pc1N1Y2Vzc1BheTtcbiAgICB2YXIgaGFuZGxlciA9ICg8YW55PndpbmRvdykuU3RyaXBlQ2hlY2tvdXQuY29uZmlndXJlKHtcbiAgICAgIGtleTogZW52aXJvbm1lbnQuc3RyaXBlQVBJS2V5LFxuICAgICAgaW1hZ2U6ICdodHRwczovL2J2aWV3c3RvcmFnZS5ibG9iLmNvcmUud2luZG93cy5uZXQvNGFmZWI0NDQtZTgyNi00Zjk1LWFjNDEtMjE3NWUzNmEwYzE2L2hybS8wYjI5MjFhOS1lOTMwLTQwMTMtOTA0Ny02NzBiNTM1MmYzMDgvc25vdmFzeXMtNzIxMTJiMDMtOTVkYy00MzJjLWFlZWYtYzg5ZmExM2VhZTMyLnBuZycsXG4gICAgICBsb2NhbGU6ICdhdXRvJyxcbiAgICAgIHRva2VuOiBmdW5jdGlvbiAodG9rZW46IGFueSkge1xuICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICB2YXIgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbCA9IG5ldyBDb21wYW55UGF5bWVudFVwc2VydE1vZGVsKCk7XG4gICAgICAgICAgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbC5DYXJkSG9sZGVyTmFtZSA9IHRva2VuLmNhcmQubmFtZTtcbiAgICAgICAgICBjb21wYW55UGF5bWVudFVwc2VydE1vZGVsLkNhcmRIb2xkZXJCaWxsaW5nQWRkcmVzcyA9IHRva2VuLmNhcmQubmFtZTtcbiAgICAgICAgICBjb21wYW55UGF5bWVudFVwc2VydE1vZGVsLlBsYW5OYW1lID0gcGxhbjtcbiAgICAgICAgICBjb21wYW55UGF5bWVudFVwc2VydE1vZGVsLlN1YnNjcmlwdGlvblR5cGUgPSBwbGFuSW50ZXJ2YWw7XG4gICAgICAgICAgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbC5Ub3RhbEFtb3VudCA9IHRvdGFsQW10O1xuICAgICAgICAgIGNvbXBhbnlQYXltZW50VXBzZXJ0TW9kZWwuTm9PZlB1cmNoYXNlcyA9IHB1cmNoYXNlcztcbiAgICAgICAgICBjb21wYW55UGF5bWVudFVwc2VydE1vZGVsLkVtYWlsID0gdG9rZW4uZW1haWw7XG4gICAgICAgICAgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbC5TdHJpcGVUb2tlbklkID0gdG9rZW4uaWQ7XG4gICAgICAgICAgY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbC5BZGRyZXNzT3B0aW9ucyA9IHRva2VuLmNhcmQ7XG4gICAgICAgICAgc2VydmljZS51cHNlcnRDb21wYW55UGF5bWVudHMoY29tcGFueVBheW1lbnRVcHNlcnRNb2RlbCkuc3Vic2NyaWJlKChyZXNwb25zZURhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlRGF0YS5zdWNjZXNzID09IHRydWUpIHtcbiAgICAgICAgICAgICAgdG9zdGVycy5zdWNjZXNzKFwiWW91ciBzdWJzY3JpcHRpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZFwiKTtcbiAgICAgICAgICAgICAgaXNTdWNlc3NQYXkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgcm91dGVyLm5hdmlnYXRlKFsnL3NoZWxsL0FjY291bnRzJ10pO1xuICAgICAgICAgICAgICBkYWlsb2dSZWYuY2xvc2UoeyBpc1JlbG9hZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICB0b3N0ZXJzLmVycm9yKHJlc3BvbnNlRGF0YS5hcGlSZXNwb25zZU1lc3NhZ2VzWzBdLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICBpc1N1Y2Vzc1BheSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5pc1N1Y2Vzc1BheSA9IGlzU3VjZXNzUGF5O1xuICAgIHZhciBkZXNjcmlwdGlvbiA9IHRoaXMucGxhbkludGVydmFsID09ICdtb250aCcgPyAnTW9udGhseSBzdWJzY3JpcHRpb24nIDogJ0FubnVhbCBzdWJzY3JpcHRpb24nXG4gICAgaGFuZGxlci5vcGVuKHtcbiAgICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRQbGFuTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIGFtb3VudDogdGhpcy50b3RhbEFtb3VudCAqIDEwMCxcbiAgICAgIGN1cnJlbmN5OiAnR0JQJyxcbiAgICAgIGJpbGxpbmdBZGRyZXNzOiBcInRydWVcIixcbiAgICAgIHNoaXBwaW5nQWRkcmVzczogXCJmYWxzZVwiLFxuICAgICAgY2xvc2VkOiAoKT0+e3RoaXMuY2xvc2UyKCk7fSBcbiAgICB9KTtcblxuICB9XG5cbiAgY2xvc2UyKCl7XG4gICAgdGhpcy5pc1N1Y2Vzc1BheT0hdGhpcy5pc1N1Y2Vzc1BheTtcbiAgfVxufSIsIjxkaXYgY2xhc3M9XCJjdXN0b20tZGlhbG9nXCI+XG4gIDxkaXYgY2xhc3M9XCJjdXN0b20tY2xvc2VcIiBtYXQtZGlhbG9nLWNsb3NlIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgPGZhLWljb24gaWNvbj1cInRpbWVzXCIgY2xhc3M9XCJwcm9qZWN0LWRpYWxvZ1wiPjwvZmEtaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJwcm9qZWN0LWRpYWxvZ0NvbnRlbnRcIiBpZD1cInN0eWxlLTFcIj5cblxuICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHBiLTFcIj5TdWJzY3JpcHRpb248L2Rpdj5cbiAgPC9tYXQtY2FyZC10aXRsZT5cblxuICA8ZGl2IGNsYXNzPVwibG9naW4tcGFnZVwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgPGRpdiBmeEZsZXg9XCI1MFwiIGZ4RmxleC54cz1cIjEwMFwiPjxsYWJlbD5TZWxlY3RlZCBwbGFuIDoge3tzZWxlY3RlZFBsYW5OYW1lfX0gPC9sYWJlbD48L2Rpdj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXQueHM9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeExheW91dEdhcC54cz1cIjBweFwiPlxuICAgICAgPGRpdiBmeEZsZXg9XCIxMDBcIiBmeEZsZXgueHM9XCIxMDBcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIm5vT2ZQdXJjaGFzZXNcIiBwbGFjZWhvbGRlcj1cIk5vLm9mIHB1cmNoYXNlc1wiIChjaGFuZ2UpPVwiY29zdENhbGN1bGF0aW9uKClcIlxuICAgICAgICAgICAgcmVxdWlyZWQ+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXQueHM9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeExheW91dEdhcC54cz1cIjBweFwiPlxuICAgICAgPGRpdiBmeEZsZXg9XCIxMDBcIiBmeEZsZXgueHM9XCIxMDBcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiICpuZ0lmPVwiIWlzTmV3U3ViXCI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBzdWJzY3JpcHRpb24gdHlwZVwiIFsobmdNb2RlbCldPVwicGxhbkludGVydmFsXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWJzY3JpcHRpb25UeXBlID09J3llYXInXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJjb3N0Q2FsY3VsYXRpb24oKVwiIHJlcXVpcmVkPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJtb250aFwiPk1vbnRobHk8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInllYXJcIj5Bbm51YWxseTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGhcIiAqbmdJZj1cImlzTmV3U3ViXCI+XG4gICAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBzdWJzY3JpcHRpb24gdHlwZVwiIFsobmdNb2RlbCldPVwicGxhbkludGVydmFsXCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiY29zdENhbGN1bGF0aW9uKClcIiByZXF1aXJlZD5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwibW9udGhcIj5Nb250aGx5PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJ5ZWFyXCI+QW5udWFsbHk8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJmdWxsLXdpZHRoIG1iLTEgYnRuIGJ0bi1ibG9ja1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJwYXkoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwidG90YWxBbW91bnQgPT0gMCB8fCBpc0Rpc2FibGUgfHxpc1N1Y2Vzc1BheVwiPiBQYXkgJHt7dG90YWxBbW91bnR9fVxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zcGluIGZhLXNwaW5uZXJcIiAqbmdJZj1cImlzU3VjZXNzUGF5XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPCEtLSA8bmd4LXVpLWxvYWRlciBmZ3NTaXplPVwiMTgwXCIgW2Znc1R5cGVdPVwic3Bpbm5lclR5cGVcIiBjb2xvcj1cInByaW1hcnlcIj48L25neC11aS1sb2FkZXI+IC0tPlxuPC9kaXY+Il19