@posiwise/smart-crm 0.0.20 → 0.0.21

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 (279) hide show
  1. package/.eslintrc.json +22 -0
  2. package/ng-package.json +15 -0
  3. package/package.json +10 -23
  4. package/project.json +72 -0
  5. package/{index.d.ts → src/index.ts} +3 -0
  6. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-details/smart-crm-account-details.component.html +200 -0
  7. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-details/smart-crm-account-details.component.spec.ts +185 -0
  8. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-details/smart-crm-account-details.component.ts +238 -0
  9. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-files/smart-crm-account-files.component.html +200 -0
  10. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-files/smart-crm-account-files.component.spec.ts +109 -0
  11. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-files/smart-crm-account-files.component.ts +249 -0
  12. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.html +785 -0
  13. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.scss +123 -0
  14. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.spec.ts +388 -0
  15. package/src/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.ts +792 -0
  16. package/src/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.html +292 -0
  17. package/src/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.scss +63 -0
  18. package/src/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.spec.ts +145 -0
  19. package/src/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.ts +417 -0
  20. package/src/lib/private/components/smart-crm-competition/smart-crm-competition/smart-crm-competition.component.html +1 -0
  21. package/src/lib/private/components/smart-crm-competition/smart-crm-competition/smart-crm-competition.component.spec.ts +17 -0
  22. package/src/lib/private/components/smart-crm-competition/smart-crm-competition/smart-crm-competition.component.ts +7 -0
  23. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.html +75 -0
  24. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.scss +3 -0
  25. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.spec.ts +123 -0
  26. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.ts +117 -0
  27. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.html +125 -0
  28. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.scss +5 -0
  29. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.spec.ts +136 -0
  30. package/src/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.ts +143 -0
  31. package/src/lib/private/components/smart-crm-configuration/smart-crm-configuration.component.html +60 -0
  32. package/src/lib/private/components/smart-crm-configuration/smart-crm-configuration.component.scss +1 -0
  33. package/src/lib/private/components/smart-crm-configuration/smart-crm-configuration.component.spec.ts +55 -0
  34. package/src/lib/private/components/smart-crm-configuration/smart-crm-configuration.component.ts +29 -0
  35. package/src/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories-details/smart-crm-opportunity-categories-details.component.html +95 -0
  36. package/src/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories-details/smart-crm-opportunity-categories-details.component.spec.ts +105 -0
  37. package/src/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories-details/smart-crm-opportunity-categories-details.component.ts +95 -0
  38. package/src/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.html +125 -0
  39. package/src/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.scss +3 -0
  40. package/src/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.spec.ts +132 -0
  41. package/src/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.ts +145 -0
  42. package/src/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source-details/smart-crm-source-details.component.html +61 -0
  43. package/src/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source-details/smart-crm-source-details.component.spec.ts +81 -0
  44. package/src/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source-details/smart-crm-source-details.component.ts +88 -0
  45. package/src/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.html +96 -0
  46. package/src/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.scss +3 -0
  47. package/src/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.spec.ts +109 -0
  48. package/src/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.ts +129 -0
  49. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.html +108 -0
  50. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.scss +3 -0
  51. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.spec.ts +124 -0
  52. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.ts +111 -0
  53. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.html +134 -0
  54. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.scss +3 -0
  55. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.spec.ts +103 -0
  56. package/src/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.ts +166 -0
  57. package/src/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.html +90 -0
  58. package/src/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.scss +6 -0
  59. package/src/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.spec.ts +105 -0
  60. package/src/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.ts +118 -0
  61. package/src/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets.component.html +115 -0
  62. package/src/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets.component.spec.ts +93 -0
  63. package/src/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets.component.ts +150 -0
  64. package/src/lib/private/components/smart-crm-contacts/smart-crm-contact-details/smart-crm-contact-details.component.html +205 -0
  65. package/src/lib/private/components/smart-crm-contacts/smart-crm-contact-details/smart-crm-contact-details.component.spec.ts +149 -0
  66. package/src/lib/private/components/smart-crm-contacts/smart-crm-contact-details/smart-crm-contact-details.component.ts +184 -0
  67. package/src/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.html +530 -0
  68. package/src/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.scss +112 -0
  69. package/src/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.spec.ts +284 -0
  70. package/src/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.ts +553 -0
  71. package/src/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.html +281 -0
  72. package/src/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.scss +19 -0
  73. package/src/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.spec.ts +138 -0
  74. package/src/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.ts +344 -0
  75. package/src/lib/private/components/smart-crm-customer/smart-crm-customer-success/smart-crm-customer-success.component.html +1 -0
  76. package/src/lib/private/components/smart-crm-customer/smart-crm-customer-success/smart-crm-customer-success.component.spec.ts +18 -0
  77. package/src/lib/private/components/smart-crm-customer/smart-crm-customer-success/smart-crm-customer-success.component.ts +7 -0
  78. package/src/lib/private/components/smart-crm-insight/smart-crm-insight.component.html +27 -0
  79. package/src/lib/private/components/smart-crm-insight/smart-crm-insight.component.spec.ts +19 -0
  80. package/src/lib/private/components/smart-crm-insight/smart-crm-insight.component.ts +7 -0
  81. package/src/lib/private/components/smart-crm-insight/smart-crm-overview/smart-crm-overview.component.html +46 -0
  82. package/src/lib/private/components/smart-crm-insight/smart-crm-overview/smart-crm-overview.component.spec.ts +50 -0
  83. package/src/lib/private/components/smart-crm-insight/smart-crm-overview/smart-crm-overview.component.ts +60 -0
  84. package/src/lib/private/components/smart-crm-leads/smart-crm-leads-details/smart-crm-leads-details.component.html +142 -0
  85. package/src/lib/private/components/smart-crm-leads/smart-crm-leads-details/smart-crm-leads-details.component.spec.ts +125 -0
  86. package/src/lib/private/components/smart-crm-leads/smart-crm-leads-details/smart-crm-leads-details.component.ts +192 -0
  87. package/src/lib/private/components/smart-crm-leads/smart-crm-leads.component.html +176 -0
  88. package/src/lib/private/components/smart-crm-leads/smart-crm-leads.component.spec.ts +98 -0
  89. package/src/lib/private/components/smart-crm-leads/smart-crm-leads.component.ts +160 -0
  90. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-contacts/smart-crm-marketing-contacts.component.html +90 -0
  91. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-contacts/smart-crm-marketing-contacts.component.spec.ts +68 -0
  92. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-contacts/smart-crm-marketing-contacts.component.ts +98 -0
  93. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-details/smart-crm-marketing-details.component.html +322 -0
  94. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-details/smart-crm-marketing-details.component.spec.ts +156 -0
  95. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-details/smart-crm-marketing-details.component.ts +296 -0
  96. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.html +215 -0
  97. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.scss +3 -0
  98. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.spec.ts +117 -0
  99. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.ts +187 -0
  100. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.html +33 -0
  101. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.scss +82 -0
  102. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.spec.ts +63 -0
  103. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.ts +62 -0
  104. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing.component.html +27 -0
  105. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing.component.scss +3 -0
  106. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing.component.spec.ts +28 -0
  107. package/src/lib/private/components/smart-crm-marketing/smart-crm-marketing.component.ts +13 -0
  108. package/src/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.html +75 -0
  109. package/src/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.scss +223 -0
  110. package/src/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.spec.ts +184 -0
  111. package/src/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.ts +268 -0
  112. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.html +273 -0
  113. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.scss +11 -0
  114. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.spec.ts +196 -0
  115. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.ts +391 -0
  116. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.html +489 -0
  117. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.scss +104 -0
  118. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.spec.ts +319 -0
  119. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.ts +568 -0
  120. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.html +204 -0
  121. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.scss +11 -0
  122. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.spec.ts +123 -0
  123. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.ts +260 -0
  124. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities.component.html +25 -0
  125. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities.component.scss +7 -0
  126. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities.component.spec.ts +38 -0
  127. package/src/lib/private/components/smart-crm-opportunities/smart-crm-opportunities.component.ts +8 -0
  128. package/src/lib/private/components/smart-crm-summary/smart-crm-summary-actions/smart-crm-summary-actions.component.html +213 -0
  129. package/src/lib/private/components/smart-crm-summary/smart-crm-summary-actions/smart-crm-summary-actions.component.scss +73 -0
  130. package/src/lib/private/components/smart-crm-summary/smart-crm-summary-actions/smart-crm-summary-actions.component.spec.ts +147 -0
  131. package/src/lib/private/components/smart-crm-summary/smart-crm-summary-actions/smart-crm-summary-actions.component.ts +292 -0
  132. package/src/lib/private/components/smart-crm-summary/smart-crm-summary-others/smart-crm-summary-others.component.html +309 -0
  133. package/src/lib/private/components/smart-crm-summary/smart-crm-summary-others/smart-crm-summary-others.component.spec.ts +75 -0
  134. package/src/lib/private/components/smart-crm-summary/smart-crm-summary-others/smart-crm-summary-others.component.ts +161 -0
  135. package/src/lib/private/components/smart-crm-summary/smart-crm-summary.component.html +25 -0
  136. package/src/lib/private/components/smart-crm-summary/smart-crm-summary.component.scss +68 -0
  137. package/src/lib/private/components/smart-crm-summary/smart-crm-summary.component.spec.ts +32 -0
  138. package/src/lib/private/components/smart-crm-summary/smart-crm-summary.component.ts +8 -0
  139. package/src/lib/private/components/smart-crm-tabs/smart-crm-tabs.component.spec.ts +43 -0
  140. package/src/lib/private/components/smart-crm-tabs/smart-crm-tabs.component.ts +97 -0
  141. package/src/lib/private/smart-crm-private.module.ts +188 -0
  142. package/src/lib/private/smart-crm-private.routing.module.ts +303 -0
  143. package/src/lib/public/components/smart-crm-newsletter-confirmation/smart-crm-newsletter-confirmation.component.html +27 -0
  144. package/src/lib/public/components/smart-crm-newsletter-confirmation/smart-crm-newsletter-confirmation.component.scss +4 -0
  145. package/src/lib/public/components/smart-crm-newsletter-confirmation/smart-crm-newsletter-confirmation.component.spec.ts +40 -0
  146. package/src/lib/public/components/smart-crm-newsletter-confirmation/smart-crm-newsletter-confirmation.component.ts +57 -0
  147. package/src/lib/public/components/smart-crm-newsletter-unsubscribe/smart-crm-newsletter-unsubscribe.component.html +36 -0
  148. package/src/lib/public/components/smart-crm-newsletter-unsubscribe/smart-crm-newsletter-unsubscribe.component.spec.ts +42 -0
  149. package/src/lib/public/components/smart-crm-newsletter-unsubscribe/smart-crm-newsletter-unsubscribe.component.ts +57 -0
  150. package/src/lib/public/components/smart-crm-signup/smart-crm-signup.component.html +133 -0
  151. package/src/lib/public/components/smart-crm-signup/smart-crm-signup.component.scss +1 -0
  152. package/src/lib/public/components/smart-crm-signup/smart-crm-signup.component.spec.ts +37 -0
  153. package/src/lib/public/components/smart-crm-signup/smart-crm-signup.component.ts +41 -0
  154. package/src/lib/public/smart-crm-public.module.ts +30 -0
  155. package/src/lib/public/smart-crm-public.routing.module.ts +36 -0
  156. package/{lib/shared/interface/crm-account.interface.d.ts → src/lib/shared/interface/crm-account.interface.ts} +10 -3
  157. package/{lib/shared/interface/crm-action.interface.d.ts → src/lib/shared/interface/crm-action.interface.ts} +1 -0
  158. package/{lib/shared/interface/crm-contact.interface.d.ts → src/lib/shared/interface/crm-contact.interface.ts} +2 -0
  159. package/{lib/shared/interface/crm-lead.interface.d.ts → src/lib/shared/interface/crm-lead.interface.ts} +1 -0
  160. package/{lib/shared/interface/crm-newsletter.interface.d.ts → src/lib/shared/interface/crm-newsletter.interface.ts} +3 -1
  161. package/{lib/shared/interface/crm-opportunity.interface.d.ts → src/lib/shared/interface/crm-opportunity.interface.ts} +5 -0
  162. package/{lib/shared/interface/crm-source.interface.d.ts → src/lib/shared/interface/crm-source.interface.ts} +1 -0
  163. package/{lib/shared/interface/crm-stages.interface.d.ts → src/lib/shared/interface/crm-stages.interface.ts} +1 -0
  164. package/{lib/shared/interface/crm-widget.interface.d.ts → src/lib/shared/interface/crm-widget.interface.ts} +1 -0
  165. package/{lib/shared/interface/smart-crm-module.interface.d.ts → src/lib/shared/interface/smart-crm-module.interface.ts} +42 -1
  166. package/src/lib/shared/models/smart-crm.model.ts +199 -0
  167. package/src/lib/shared/routers/routers.ts +23 -0
  168. package/tsconfig.json +29 -0
  169. package/tsconfig.lib.json +25 -0
  170. package/tsconfig.lib.prod.json +9 -0
  171. package/tsconfig.spec.json +11 -0
  172. package/esm2022/index.mjs +0 -48
  173. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-account-details/smart-crm-account-details.component.mjs +0 -194
  174. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-account-files/smart-crm-account-files.component.mjs +0 -192
  175. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.mjs +0 -599
  176. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.mjs +0 -348
  177. package/esm2022/lib/private/components/smart-crm-competition/smart-crm-competition/smart-crm-competition.component.mjs +0 -12
  178. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.mjs +0 -97
  179. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.mjs +0 -118
  180. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-configuration.component.mjs +0 -35
  181. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories-details/smart-crm-opportunity-categories-details.component.mjs +0 -87
  182. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.mjs +0 -119
  183. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source-details/smart-crm-source-details.component.mjs +0 -79
  184. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.mjs +0 -107
  185. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.mjs +0 -96
  186. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.mjs +0 -139
  187. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.mjs +0 -98
  188. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets.component.mjs +0 -125
  189. package/esm2022/lib/private/components/smart-crm-contacts/smart-crm-contact-details/smart-crm-contact-details.component.mjs +0 -159
  190. package/esm2022/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.mjs +0 -470
  191. package/esm2022/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.mjs +0 -281
  192. package/esm2022/lib/private/components/smart-crm-customer/smart-crm-customer-success/smart-crm-customer-success.component.mjs +0 -12
  193. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-insight.component.mjs +0 -14
  194. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-overview/smart-crm-overview.component.mjs +0 -55
  195. package/esm2022/lib/private/components/smart-crm-leads/smart-crm-leads-details/smart-crm-leads-details.component.mjs +0 -173
  196. package/esm2022/lib/private/components/smart-crm-leads/smart-crm-leads.component.mjs +0 -136
  197. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-contacts/smart-crm-marketing-contacts.component.mjs +0 -79
  198. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-details/smart-crm-marketing-details.component.mjs +0 -266
  199. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.mjs +0 -151
  200. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.mjs +0 -51
  201. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing.component.mjs +0 -18
  202. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.mjs +0 -230
  203. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.mjs +0 -335
  204. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.mjs +0 -477
  205. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.mjs +0 -218
  206. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-opportunities.component.mjs +0 -14
  207. package/esm2022/lib/private/components/smart-crm-summary/smart-crm-summary-actions/smart-crm-summary-actions.component.mjs +0 -255
  208. package/esm2022/lib/private/components/smart-crm-summary/smart-crm-summary-others/smart-crm-summary-others.component.mjs +0 -148
  209. package/esm2022/lib/private/components/smart-crm-summary/smart-crm-summary.component.mjs +0 -16
  210. package/esm2022/lib/private/components/smart-crm-tabs/smart-crm-tabs.component.mjs +0 -92
  211. package/esm2022/lib/private/smart-crm-private.module.mjs +0 -327
  212. package/esm2022/lib/private/smart-crm-private.routing.module.mjs +0 -310
  213. package/esm2022/lib/public/components/smart-crm-newsletter-confirmation/smart-crm-newsletter-confirmation.component.mjs +0 -56
  214. package/esm2022/lib/public/components/smart-crm-newsletter-unsubscribe/smart-crm-newsletter-unsubscribe.component.mjs +0 -57
  215. package/esm2022/lib/public/components/smart-crm-signup/smart-crm-signup.component.mjs +0 -35
  216. package/esm2022/lib/public/smart-crm-public.module.mjs +0 -46
  217. package/esm2022/lib/public/smart-crm-public.routing.module.mjs +0 -44
  218. package/esm2022/lib/shared/interface/crm-account.interface.mjs +0 -2
  219. package/esm2022/lib/shared/interface/crm-action.interface.mjs +0 -2
  220. package/esm2022/lib/shared/interface/crm-contact.interface.mjs +0 -2
  221. package/esm2022/lib/shared/interface/crm-lead.interface.mjs +0 -2
  222. package/esm2022/lib/shared/interface/crm-newsletter.interface.mjs +0 -2
  223. package/esm2022/lib/shared/interface/crm-opportunity.interface.mjs +0 -2
  224. package/esm2022/lib/shared/interface/crm-source.interface.mjs +0 -2
  225. package/esm2022/lib/shared/interface/crm-stages.interface.mjs +0 -2
  226. package/esm2022/lib/shared/interface/crm-widget.interface.mjs +0 -2
  227. package/esm2022/lib/shared/interface/smart-crm-module.interface.mjs +0 -2
  228. package/esm2022/lib/shared/models/smart-crm.model.mjs +0 -186
  229. package/esm2022/lib/shared/routers/routers.mjs +0 -23
  230. package/esm2022/posiwise-smart-crm.mjs +0 -5
  231. package/fesm2022/posiwise-smart-crm.mjs +0 -6482
  232. package/fesm2022/posiwise-smart-crm.mjs.map +0 -1
  233. package/lib/private/components/smart-crm-accounts/smart-crm-account-details/smart-crm-account-details.component.d.ts +0 -61
  234. package/lib/private/components/smart-crm-accounts/smart-crm-account-files/smart-crm-account-files.component.d.ts +0 -72
  235. package/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.d.ts +0 -173
  236. package/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.d.ts +0 -105
  237. package/lib/private/components/smart-crm-competition/smart-crm-competition/smart-crm-competition.component.d.ts +0 -5
  238. package/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.d.ts +0 -37
  239. package/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.d.ts +0 -55
  240. package/lib/private/components/smart-crm-configuration/smart-crm-configuration.component.d.ts +0 -11
  241. package/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories-details/smart-crm-opportunity-categories-details.component.d.ts +0 -31
  242. package/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.d.ts +0 -56
  243. package/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source-details/smart-crm-source-details.component.d.ts +0 -28
  244. package/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.d.ts +0 -52
  245. package/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.d.ts +0 -34
  246. package/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.d.ts +0 -58
  247. package/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.d.ts +0 -36
  248. package/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets.component.d.ts +0 -58
  249. package/lib/private/components/smart-crm-contacts/smart-crm-contact-details/smart-crm-contact-details.component.d.ts +0 -48
  250. package/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.d.ts +0 -122
  251. package/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.d.ts +0 -89
  252. package/lib/private/components/smart-crm-customer/smart-crm-customer-success/smart-crm-customer-success.component.d.ts +0 -5
  253. package/lib/private/components/smart-crm-insight/smart-crm-insight.component.d.ts +0 -5
  254. package/lib/private/components/smart-crm-insight/smart-crm-overview/smart-crm-overview.component.d.ts +0 -20
  255. package/lib/private/components/smart-crm-leads/smart-crm-leads-details/smart-crm-leads-details.component.d.ts +0 -45
  256. package/lib/private/components/smart-crm-leads/smart-crm-leads.component.d.ts +0 -58
  257. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-contacts/smart-crm-marketing-contacts.component.d.ts +0 -49
  258. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-details/smart-crm-marketing-details.component.d.ts +0 -63
  259. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.d.ts +0 -62
  260. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.d.ts +0 -21
  261. package/lib/private/components/smart-crm-marketing/smart-crm-marketing.component.d.ts +0 -8
  262. package/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.d.ts +0 -63
  263. package/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.d.ts +0 -67
  264. package/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.d.ts +0 -122
  265. package/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.d.ts +0 -77
  266. package/lib/private/components/smart-crm-opportunities/smart-crm-opportunities.component.d.ts +0 -5
  267. package/lib/private/components/smart-crm-summary/smart-crm-summary-actions/smart-crm-summary-actions.component.d.ts +0 -72
  268. package/lib/private/components/smart-crm-summary/smart-crm-summary-others/smart-crm-summary-others.component.d.ts +0 -40
  269. package/lib/private/components/smart-crm-summary/smart-crm-summary.component.d.ts +0 -5
  270. package/lib/private/components/smart-crm-tabs/smart-crm-tabs.component.d.ts +0 -10
  271. package/lib/private/smart-crm-private.module.d.ts +0 -62
  272. package/lib/private/smart-crm-private.routing.module.d.ts +0 -7
  273. package/lib/public/components/smart-crm-newsletter-confirmation/smart-crm-newsletter-confirmation.component.d.ts +0 -18
  274. package/lib/public/components/smart-crm-newsletter-unsubscribe/smart-crm-newsletter-unsubscribe.component.d.ts +0 -17
  275. package/lib/public/components/smart-crm-signup/smart-crm-signup.component.d.ts +0 -15
  276. package/lib/public/smart-crm-public.module.d.ts +0 -14
  277. package/lib/public/smart-crm-public.routing.module.d.ts +0 -7
  278. package/lib/shared/models/smart-crm.model.d.ts +0 -16
  279. package/lib/shared/routers/routers.d.ts +0 -21
@@ -0,0 +1,292 @@
1
+ <div class="row">
2
+ <div class="col-12 mb-3">
3
+ <h2>Accounts</h2>
4
+ <a class="btn btn-sm btn-outline-primary float-end" data-cy="add-contact"
5
+ [routerLink]="['/' + subscription?.slug + routers.addAccount]">
6
+ <i class="fa fa-plus-circle" aria-hidden="true"></i> {{ 'Crm.AccountMessage.AddAccount' | transloco }} </a>
7
+ </div>
8
+ </div>
9
+ <div class="w-100 text-center mt-3" *ngIf="!isLoaded">
10
+ <p-progressSpinner strokeWidth="2"> </p-progressSpinner>
11
+ </div>
12
+ <div class="primeng-datatable-container table-responsive" [class.hideTable]="data.unfiltered_count === 0">
13
+ <p-table #dt [value]="data.accounts" [paginator]="data.object_count !== 0" [lazy]="true" [rows]="PAGE_SIZE"
14
+ [totalRecords]="data.object_count" [loading]="loading" [filterDelay]="1000" (onLazyLoad)="onLazyLoad($event)"
15
+ [customSort]="true">
16
+ <ng-template pTemplate="caption">
17
+ <div class="row m-0">
18
+ <div class="col-sm-4">
19
+ <p-multiSelect placeholder="Select Industry" [options]="searchOptions" [(ngModel)]="filterByIndustries"
20
+ (onChange)="onSearchOptionChange($event, 'industry')" [filter]="false" [showHeader]="true"
21
+ [showToggleAll]="true" appendTo="body">
22
+ </p-multiSelect>
23
+ </div>
24
+ <div class="col-sm-4">
25
+ <p-multiSelect placeholder="Select Size" [options]="organizationSizes" [(ngModel)]="filterBySizeId"
26
+ (onChange)="onSearchOptionChange($event, 'size')" [filter]="false" [showHeader]="true"
27
+ [showToggleAll]="true" appendTo="body">
28
+ </p-multiSelect>
29
+ </div>
30
+ <div class="col-sm-4">
31
+ <p-multiSelect placeholder="Select Status" [options]="status" [(ngModel)]="filterByStatus"
32
+ (onChange)="onSearchOptionChange($event, 'status')" [filter]="false" [showHeader]="true"
33
+ [showToggleAll]="true" appendTo="body">
34
+ </p-multiSelect>
35
+ </div>
36
+ <div class="col-sm-4">
37
+ <p-multiSelect placeholder="Select Priority" [options]="priority" [(ngModel)]="filterByPriority"
38
+ (onChange)="onSearchOptionChange($event, 'priority')" [filter]="false" [showHeader]="true"
39
+ [showToggleAll]="true" appendTo="body">
40
+ </p-multiSelect>
41
+ </div>
42
+ <div class="col-sm-4">
43
+ <p-multiSelect placeholder="Select Source" [options]="source" [(ngModel)]="filterBySource"
44
+ (onChange)="onSearchOptionChange($event, 'source')" [filter]="false" [showHeader]="true"
45
+ [showToggleAll]="true" appendTo="body">
46
+ </p-multiSelect>
47
+ </div>
48
+ <div class="col-sm-4 mb-2">
49
+ <input ngx-gp-autocomplete class="form-control location" #places="ngx-places" [(ngModel)]="searchLocationText"
50
+ placeholder="Search location..." (keyup)="locationSearch($event)"
51
+ (onAddressChange)="handleAddressChange($event)" />
52
+ </div>
53
+ </div>
54
+ <div class="search-filter">
55
+ <a class="mt-3 ms-3 text-start btn-filter-primary" (click)="clearFilters()">Clear all filters</a>
56
+ <div class="text-end mt-0 mt-sm-3">
57
+ <i class="fa fa-search mt-2 me-2" aria-hidden="true"></i>
58
+ <input type="text" [(ngModel)]="searchText" pInputText size="50" placeholder="Search accounts..."
59
+ (input)="dt.filterGlobal($event.target.value, 'contains')" class="mw-90" />
60
+ </div>
61
+ </div>
62
+ </ng-template>
63
+ <ng-template pTemplate="header">
64
+ <tr>
65
+ <th scope="true" pSortableColumn="name"> {{ 'Crm.AccountMessage.Name' | transloco }} <p-sortIcon field="name">
66
+ </p-sortIcon>
67
+ </th>
68
+ <th scope="true" pSortableColumn="location"> {{ 'Crm.AccountMessage.Location' | transloco }} <p-sortIcon
69
+ field="location"></p-sortIcon>
70
+ </th>
71
+ <th scope="true" pSortableColumn="owner_id"> {{ 'Crm.AccountMessage.Owner' | transloco }} <p-sortIcon
72
+ field="owner_id"></p-sortIcon>
73
+ </th>
74
+ <th scope="true" pSortableColumn="organization_size_id"> {{ 'Crm.AccountMessage.Size' | transloco }} <p-sortIcon
75
+ field="organization_size_id"></p-sortIcon>
76
+ </th>
77
+ <th scope="true" pSortableColumn="expected_mrr" class="mrr-header"> {{ 'Crm.AccountMessage.MRR' | transloco }} <p-sortIcon field="expected_mrr">
78
+ </p-sortIcon>
79
+ </th>
80
+ <th scope="true" pSortableColumn="signed_up_at"> {{ 'Crm.AccountMessage.SignUp' | transloco }} <p-sortIcon field="signed_up_at">
81
+ </p-sortIcon>
82
+ </th>
83
+ <th scope="true" pSortableColumn="sessions_last_quarter"> {{ 'Crm.AccountMessage.Quarter' | transloco }} <p-sortIcon field="sessions_last_quarter">
84
+ </p-sortIcon>
85
+ </th>
86
+ <th scope="true" pSortableColumn="sessions_last_month"> {{ 'Crm.AccountMessage.Month' | transloco }} <p-sortIcon field="sessions_last_month">
87
+ </p-sortIcon>
88
+ <th scope="true" pSortableColumn="sessions_last_month"> {{ 'Crm.AccountMessage.Status' | transloco }} <p-sortIcon field="sessions_staus">
89
+ </p-sortIcon>
90
+ <th scope="true" pSortableColumn="sessions_last_month"> {{ 'Crm.AccountMessage.Priority' | transloco }} <p-sortIcon field="sessions_priority">
91
+ </p-sortIcon>
92
+ </th>
93
+ <th scope="true">{{ 'Label.Actions' | transloco }}</th>
94
+ </tr>
95
+ </ng-template>
96
+ <ng-template pTemplate="body" let-account>
97
+ <tr>
98
+ <td data-head="Name" class="name-column">
99
+ <a [routerLink]="['/' + subscription?.slug + routers.accountInfo, account.id]" class="name-link">
100
+ <img alt="company image" [src]="getAccountLogo(account.company_url)" class="img-fluid company-logo me-2"
101
+ onerror="this.onerror=null;this.src='assets/img/icons/company.png';" />
102
+ <span [ngbTooltip]="account.name" class="account-name" [title]="account.name">{{ account.name | textTruncate:30 }}</span>
103
+ <i [ngClass]="getUserAccountInfo(account).iconClass" [ngbTooltip]="getUserAccountInfo(account).message"
104
+ class="info-icon"></i>
105
+ </a>
106
+ </td>
107
+ <td data-head="Location" class="no-wrap"><span [ngbTooltip]="account.location">{{ getCountryFromLocation(account.location) }}</span></td>
108
+ <td data-head="Owner">
109
+ <a [routerLink]="['/members', account?.owner?.slug]"> {{ account.owner.first_name.charAt(0) }}. {{account.owner.last_name}}</a>
110
+ </td>
111
+ <td data-head="Size" class="no-wrap">{{ account?.organisation_size?.name !== 'Not available' ? account?.organisation_size?.name : '' }}
112
+ </td>
113
+ <td data-head="MRR" class="no-wrap fw-bold expected-mrr">
114
+ {{ account?.expected_mrr !== null && account?.expected_mrr !== 0 ? formatMRR(account?.expected_mrr) : '' }}
115
+ </td>
116
+ <td data-head="Signed Up">{{ account.signed_up_at | date: 'dd-MMM-YYYY' }}</td>
117
+ <td data-head="Quarter">{{ account.sessions_last_quarter }}</td>
118
+ <td data-head="Month">{{ account.sessions_last_month }}</td>
119
+ <td data-head="Status">
120
+ <span *ngIf="account.status === 'Prospect'" class="badge bg-primary">{{account.status}}</span>
121
+ <span *ngIf="account.status === 'Trial - Active'" class="badge bg-success">{{account.status}}</span>
122
+ <span *ngIf="account.status === 'Trial - Inactive'" class="badge bg-secondary">{{account.status}}</span>
123
+ <span *ngIf="account.status === 'Customer - New'" class="badge bg-info">{{account.status}}</span>
124
+ <span *ngIf="account.status === 'Customer - Active'" class="badge bg-success">{{account.status}}</span>
125
+ <span *ngIf="account.status === 'Customer - Inactive'" class="badge bg-warning">{{account.status}}</span>
126
+ <span *ngIf="account.status === 'Customer - Old'" class="badge bg-dark">{{account.status}}</span>
127
+ <span *ngIf="account.status === 'Dead'" class="badge bg-danger">{{account.status}}</span>
128
+ <span *ngIf="account.status === 'Competitor'" class="badge bg-danger">{{account.status}}</span>
129
+ <span *ngIf="account.status === 'Vendor'" class="badge bg-blue-grey">{{account.status}}</span>
130
+ <span *ngIf="account.status === 'Supplier'" class="badge bg-blue-grey">{{account.status}}</span>
131
+ <span *ngIf="account.status === 'Other'" class="badge bg-teal">{{account.status}}</span>
132
+ </td>
133
+
134
+ <td data-head="Priority">
135
+ <span *ngIf="account.priority === 'A - Ideal Fit'" class="badge bg-success">{{account.priority}}</span>
136
+ <span *ngIf="account.priority === 'B - High Potential'" class="badge bg-primary">{{account.priority}}</span>
137
+ <span *ngIf="account.priority === 'C - Low Potential'" class="badge bg-warning">{{account.priority}}</span>
138
+ <span *ngIf="account.priority === 'D - Out of market'" class="badge bg-secondary">{{account.priority}}</span>
139
+ </td>
140
+
141
+ <td data-head="Action">
142
+ <ul class="list-unstyled list-inline icon-ul">
143
+ <li ngbTooltip="See contacts" class="me-2 me-sm-3 see-icon"
144
+ [routerLink]="['/' + subscription?.slug + routers.contacts, account.id]">
145
+ <i class="fa fa-eye" aria-hidden="true"></i>
146
+ </li>
147
+ <ng-container *ngIf="hasAccess || account.owner_id === userId">
148
+ <li ngbTooltip="Edit" class="me-2 me-sm-3" [routerLink]="[
149
+ '/' + subscription?.slug + routers.accounts,
150
+ account.id
151
+ ]">
152
+ <i class="fa fa-edit edit-icon" aria-hidden="true"></i>
153
+ </li>
154
+ <li ngbTooltip="Delete" class="me-2 me-sm-3">
155
+ <i class="fa fa-trash delete-icon" (click)="onDelete(account.id, subscription.id)"
156
+ aria-hidden="true"></i>
157
+ </li>
158
+ </ng-container>
159
+ </ul>
160
+ </td>
161
+ </tr>
162
+ </ng-template>
163
+ </p-table>
164
+ <div *ngIf="data.object_count === 0 && data.unfiltered_count !== 0">
165
+ <pw-no-data [withImage]="true" [message]="'Search.NoDataMessage' | transloco" [description]="'Search.NoDataDescription' | transloco" >
166
+ </pw-no-data>
167
+ </div>
168
+ <span class="total-records-count" *ngIf="data.object_count !== 0">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>
169
+ </div>
170
+ <div *ngIf="data.unfiltered_count === 0 && isLoaded">
171
+ <pw-no-data [withImage]="true" [message]="'Crm.AccountMessage.NoAccountMessage' | transloco"> </pw-no-data>
172
+ </div>
173
+ <ng-container *rbacAllow="'Pages.Beta'">
174
+ <div class="row mt-5" *ngIf="data.unfiltered_count !== 0 && isLoaded">
175
+ <!-- Drill Down -->
176
+ <div class="col-12 col-md-6 mb-3 analytics">
177
+ <h5 class="accordion-heading">Drill Down</h5>
178
+ <div class="primeng-datatable-container table-responsive" *ngIf="accountInsight?.length">
179
+ <p-table class="table" #dt [value]="accountInsight" [paginator]="accountInsight?.length !== 0" [rows]="PAGE_SIZE"
180
+ [totalRecords]="accountInsight.length" [lazy]="true">
181
+ <ng-template pTemplate="header">
182
+ <tr>
183
+ <th scope="true">{{ 'Crm.AccountMessage.Title' | transloco }}</th>
184
+ <th scope="true">{{ 'Crm.AccountMessage.Value' | transloco }}</th>
185
+ <th scope="true">{{ 'Crm.AccountMessage.Reason' | transloco }}</th>
186
+ </tr>
187
+ </ng-template>
188
+ <ng-template pTemplate="body" let-insight>
189
+ <tr>
190
+ <td data-head="Title">{{ insight.title }}</td>
191
+ <td data-head="Value">{{ insight.value }}</td>
192
+ <td data-head="Reason">{{ insight.reason }}</td>
193
+ </tr>
194
+ </ng-template>
195
+ </p-table>
196
+ <span class="total-records-count" *ngIf="accountInsight?.length !== 0">{{ 'Label.Total' | transloco }}: {{ accountInsight.length }}</span>
197
+ </div>
198
+ <div *ngIf="accountInsight?.length === 0">
199
+ <pw-no-data [withImage]="true" [message]="'Crm.AccountMessage.NoInsightMessage' | transloco">
200
+ </pw-no-data>
201
+ </div>
202
+ </div>
203
+ <!-- Geography -->
204
+ <div class="col-12 col-md-6 mb-3 analytics">
205
+ <h5 class="accordion-heading">Geography</h5>
206
+ <div>
207
+ <ng-template [ngIf]="accountGeography">
208
+ <plotly-plot [data]="accountGeography?.data" [layout]="accountGeography?.layout">
209
+ </plotly-plot>
210
+ </ng-template>
211
+ </div>
212
+ <div *ngIf="!accountGeography">
213
+ <pw-no-data [withImage]="true" [message]="'Crm.AccountMessage.NoInsightMessage' | transloco">
214
+ </pw-no-data>
215
+ </div>
216
+ </div>
217
+ <!-- Last Activities -->
218
+ <div class="col-12 col-md-6 mb-3 analytics">
219
+ <h5 class="accordion-heading">Last Activities</h5>
220
+ <div class="primeng-datatable-container table-responsive" *ngIf="accountActivities?.length">
221
+ <p-table class="table" #dt [value]="accountActivities" [paginator]="accountInsight?.length !== 0" [rows]="PAGE_SIZE"
222
+ [totalRecords]="accountActivities.length" [lazy]="true">
223
+ <ng-template pTemplate="header">
224
+ <tr>
225
+ <th scope="true">{{ 'Crm.AccountMessage.Owner' | transloco }}</th>
226
+ <th scope="true">{{ 'Crm.AccountMessage.Account' | transloco }}</th>
227
+ <th scope="true">{{ 'Crm.AccountMessage.Contact' | transloco }}</th>
228
+ <th scope="true">{{ 'Crm.AccountMessage.Action' | transloco }}</th>
229
+ <th scope="true">{{ 'Crm.AccountMessage.When' | transloco }}</th>
230
+ </tr>
231
+ </ng-template>
232
+ <ng-template pTemplate="body" let-activities>
233
+ <tr>
234
+ <td data-head="Owner"> {{ activities.owner?.first_name.charAt(0) }}. {{ activities.owner?.last_name }} </td>
235
+ <td data-head="Account">{{ activities.crm_account?.name }}</td>
236
+ <td data-head="Contact"> {{ activities.crm_contact?.first_name }} {{ activities.crm_contact?.last_name }}
237
+ </td>
238
+
239
+ <td data-head="Action">
240
+ <span [ngbTooltip]="activities.comment" [appDynamicBadge]="{
241
+ itemsArray: actionNames,
242
+ item: activities.crm_action?.name
243
+ }"
244
+ color="blue-grey"
245
+ class="badge">{{ activities.crm_action?.name }}</span>
246
+ </td>
247
+ <td data-head="When">{{ activities.when | date:'dd-MMM-YYYY' }}</td>
248
+ </tr>
249
+ </ng-template>
250
+ </p-table>
251
+ <span class="total-records-count" *ngIf="accountInsight?.length !== 0">{{ 'Label.Total' | transloco }}: {{ accountActivities.length }}</span>
252
+ </div>
253
+ <div *ngIf="accountActivities?.length === 0">
254
+ <pw-no-data [withImage]="true" [message]="'Crm.AccountMessage.NoInsightMessage' | transloco">
255
+ </pw-no-data>
256
+ </div>
257
+ </div>
258
+ <!-- Last Invoices -->
259
+ <div class="col-12 col-md-6 mb-3 analytics">
260
+ <h5 class="accordion-heading">Last Invoices</h5>
261
+ <div class="primeng-datatable-container table-responsive" *ngIf="accountLastInvoices?.length">
262
+ <p-table class="table" #dt [value]="accountLastInvoices" [paginator]="accountLastInvoices?.length !== 0" [rows]="PAGE_SIZE"
263
+ [totalRecords]="accountLastInvoices.length" [lazy]="true">
264
+ <ng-template pTemplate="header">
265
+ <tr>
266
+ <th scope="true">{{ 'Crm.AccountMessage.Owner' | transloco }}</th>
267
+ <th scope="true">{{ 'Crm.AccountMessage.Account' | transloco }}</th>
268
+ <th scope="true">{{ 'Crm.AccountMessage.Contact' | transloco }}</th>
269
+ <th scope="true">{{ 'Crm.AccountMessage.File' | transloco }}</th>
270
+ </tr>
271
+ </ng-template>
272
+ <ng-template pTemplate="body" let-invoice>
273
+ <tr>
274
+ <td data-head="Owner"> {{ invoice.owner?.first_name }} {{ invoice.owner?.last_name }} </td>
275
+ <td data-head="Organization"> {{ invoice.subscription?.organization }} </td>
276
+ <td data-head="Contact">{{ invoice.subscription?.contact_name }}</td>
277
+ <td data-head="File">
278
+ <a target="blank" href="{{ invoice.file }}">{{ invoice.file.split('/')[invoice.file.split('/').length -
279
+ 1] }}</a>
280
+ </td>
281
+ </tr>
282
+ </ng-template>
283
+ </p-table>
284
+ <span class="total-records-count" *ngIf="accountLastInvoices?.length !== 0">{{ 'Label.Total' | transloco }}: {{ accountLastInvoices.length }}</span>
285
+ </div>
286
+ <div *ngIf="accountLastInvoices?.length === 0">
287
+ <pw-no-data [withImage]="true" [message]="'Crm.AccountMessage.NoInsightMessage' | transloco">
288
+ </pw-no-data>
289
+ </div>
290
+ </div>
291
+ </div>
292
+ </ng-container>
@@ -0,0 +1,63 @@
1
+ @import 'variables';
2
+
3
+ .location {
4
+ background-color: rgb(255 255 255);
5
+ }
6
+
7
+ .company-logo {
8
+ height: 20px;
9
+ width: 20px;
10
+ }
11
+
12
+ ::ng-deep {
13
+ .ui-multiselect {
14
+ display: inline-block;
15
+ }
16
+
17
+ body .ui-multiselect .ui-multiselect-label {
18
+ font-weight: bold;
19
+ }
20
+ }
21
+
22
+ .name-column {
23
+ text-align: left;
24
+ }
25
+
26
+ .account-name {
27
+ margin-right: 5px;
28
+ }
29
+
30
+ .info-icon {
31
+ vertical-align: middle;
32
+ margin-left: 5px;
33
+ }
34
+ .account-link-icon {
35
+ color: grey;
36
+ }
37
+ .money-icon {
38
+ color: green;
39
+ font-size: 0.85em;
40
+ background-color: lightgreen;
41
+ border-radius: 50%;
42
+ padding: 5px;
43
+ width: 18.5px;
44
+ box-shadow: 0 0 10px rgba(0, 128, 0, 0.5);
45
+ }
46
+ .icon-ul {
47
+ width: 111px;
48
+ }
49
+
50
+ .no-wrap {
51
+ word-break: keep-all;
52
+ white-space: pre-line;
53
+ }
54
+
55
+ .expected-mrr,
56
+ .mrr-header {
57
+ filter: saturate(0.5);
58
+ }
59
+
60
+ /* Specific styles for .expected-mrr */
61
+ .expected-mrr {
62
+ background-color: #d8e8f1 !important;
63
+ }
@@ -0,0 +1,145 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+ import {
3
+ CommonService,
4
+ CommonServicesModule,
5
+ PermissionService,
6
+ UserService
7
+ } from '@posiwise/common-services';
8
+ import { SharedModule } from '@posiwise/shared-module';
9
+ import { CrmService } from '@posiwise/smart-crm-shared';
10
+ import { DEFAULT_USER, TestHelper } from '@posiwise/test-helpers';
11
+ import { MockProvider } from 'ng-mocks';
12
+ import { of } from 'rxjs';
13
+ import Swal from 'sweetalert2';
14
+ import { SmartCrmPrivateModule } from '../../smart-crm-private.module';
15
+ import { SmartCrmCompaniesComponent } from './smart-crm-accounts.component';
16
+
17
+ class UserServiceMock {
18
+ getUserState() {
19
+ return of({ currentUser: DEFAULT_USER });
20
+ }
21
+ }
22
+ describe('SmartCrmCompaniesComponent', () => {
23
+ const createComponent = TestHelper.createComponentFactory({
24
+ component: SmartCrmCompaniesComponent,
25
+ imports: [SharedModule, CommonServicesModule, SmartCrmPrivateModule],
26
+ providers: [
27
+ ...TestHelper.TEST_PROVIDERS,
28
+ MockProvider(PermissionService, {
29
+ evaluatePermissions: () => {
30
+ return true;
31
+ },
32
+ isGranted: () => {
33
+ return true;
34
+ }
35
+ }),
36
+ MockProvider(CrmService, {
37
+ getAllAccounts: () =>
38
+ of({
39
+ accounts: [
40
+ {
41
+ id: 7,
42
+ name: 'test',
43
+ subscription_id: 31,
44
+ location: 'Hyderabad, Telangana, India',
45
+ tel: '',
46
+ country: 'IN',
47
+ owner_id: 25,
48
+ company_url: '',
49
+ status: '{}',
50
+ priority: 'A - Ideal Fit',
51
+ owner: {
52
+ id: 25,
53
+ first_name: 'saurabh',
54
+ last_name: null
55
+ }
56
+ }
57
+ ],
58
+ object_count: 1,
59
+ unfiltered_count: 1
60
+ }),
61
+ deleteAccount: () => of({}),
62
+ getCrmAnalytics: () => of({}),
63
+ getCrmAccountDefaultValues: () =>
64
+ of({
65
+ status: ['Prospect'],
66
+ priority: ['A - Ideal Fit'],
67
+ source: [{ id: 6, name: 'test', is_default: true, subscription_id: 31 }]
68
+ })
69
+ }),
70
+ MockProvider(CommonService, {
71
+ getOrganizationSizes: () =>
72
+ of({
73
+ organization_sizes: [
74
+ {
75
+ id: 1,
76
+ name: 'Less than 20'
77
+ }
78
+ ],
79
+ object_count: 1,
80
+ unfiltered_count: 1
81
+ }),
82
+ getOrganizationIndustries: () =>
83
+ of({
84
+ organization_industries: [
85
+ {
86
+ id: 1,
87
+ name: 'Community Services'
88
+ }
89
+ ],
90
+ object_count: 1,
91
+ unfiltered_count: 1
92
+ })
93
+ }),
94
+ {
95
+ provide: UserService,
96
+ useClass: UserServiceMock
97
+ }
98
+ ]
99
+ });
100
+
101
+ beforeEach(() => {
102
+ TestHelper.setUpPermissionsAndUser();
103
+ });
104
+
105
+ it('should create', async () => {
106
+ TestHelper.setActivatedRoute({
107
+ parent: { params: of({ slug: 'posiwise-263' }) }
108
+ });
109
+ const spectator = await createComponent();
110
+ expect(spectator.component).toBeTruthy();
111
+ expect(spectator.query('h2')).toContainText('Accounts');
112
+ });
113
+
114
+ it('should delete account ', async () => {
115
+ TestHelper.setActivatedRoute({
116
+ parent: { params: of({ slug: 'posiwise-263' }) }
117
+ });
118
+ const spectator = await createComponent();
119
+ const service = TestBed.inject(CrmService);
120
+ const spy = spyOn(service, 'deleteAccount').and.callThrough();
121
+ spectator.click('tbody tr:first-child .fa-trash');
122
+ expect(Swal.isVisible()).toBeTruthy();
123
+ Swal.clickConfirm();
124
+ await TestHelper.stabilize(spectator);
125
+ expect(spy).toHaveBeenCalledTimes(1);
126
+ });
127
+
128
+ it('should filter', async () => {
129
+ TestHelper.setActivatedRoute({
130
+ parent: { params: of({ slug: 'posiwise-263' }) }
131
+ });
132
+ const spectator = await createComponent();
133
+ const service = TestBed.inject(CrmService);
134
+ const spy = spyOn(service, 'getAllAccounts').and.callThrough();
135
+ spectator.component.onSearchOptionChange({ value: [1] }, 'industry');
136
+ spectator.component.onSearchOptionChange({ value: [1] }, 'size');
137
+ spectator.component.onSearchOptionChange({ value: [1] }, 'status');
138
+ spectator.component.onSearchOptionChange({ value: [1] }, 'priority');
139
+ spectator.component.onSearchOptionChange({ value: [1] }, 'source');
140
+ spectator.component.locationSearch({ target: { value: 'test' } });
141
+ spectator.component.handleAddressChange({ formatted_address: 'test' });
142
+ expect(spy).toHaveBeenCalledTimes(6);
143
+ spectator.component.clearFilters();
144
+ });
145
+ });