@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,785 @@
1
+ <div class="row">
2
+ <div class="col-12 mb-0">
3
+ <div class="me-auto mb-0">
4
+ <h2 class="mb-0">
5
+ <a href="javascript:void(0)"
6
+ (click)="back()"
7
+ class="previous"><i class="fa fa-arrow-alt-circle-left" aria-hidden="true"></i></a>
8
+ Account Info
9
+ </h2>
10
+ </div>
11
+ <a class="btn btn-sm btn-outline-primary float-end mb-3"
12
+ data-cy="add-opportunities"
13
+ (click)="navigateToAddOpportunities()">
14
+ <i class="fa fa-plus-circle" aria-hidden="true"></i>
15
+ {{ 'Crm.OpportunitiesMessage.AddOpportunity' | transloco }}
16
+ </a>
17
+ </div>
18
+ <div class="w-100 text-center mt-3"
19
+ *ngIf="!isDataLoaded">
20
+ <p-progressSpinner> </p-progressSpinner>
21
+ </div>
22
+ <div *ngIf="isDataLoaded">
23
+ <div class="row">
24
+ <div class="col-12 col-md-4">
25
+ <div class="user-info p-3 card pb-0 h-auto">
26
+ <div class="mb-2 text-center">
27
+ <a class="profile-image">
28
+ <img alt="Profile Image"
29
+ width="100"
30
+ height="100"
31
+ [src]="getAccountLogo(data?.company_url)"
32
+ class="img-fluid company-logo"
33
+ onerror="this.onerror=null;this.src='assets/img/icons/company.png';" />
34
+ </a>
35
+ </div>
36
+ <div class="mb-4 d-flex justify-content-between align-items-center">
37
+ <h4 class="d-inline-block">
38
+ About <span *ngIf="data?.id">{{ data.name }}</span>
39
+ </h4>
40
+ <a href="javascript:void(0);"
41
+ *ngIf="isFormEdit"
42
+ class="btn btn-sm btn-outline-primary float-end"
43
+ (click)="isFormEdit = !isFormEdit; this.getAllSubscriptionMembers()">{{ 'Button.Edit' | transloco }}</a>
44
+ </div>
45
+ <form [formGroup]="aboutControls"
46
+ [class.isDisabled]="isFormEdit">
47
+ <div class="mb-3">
48
+ <label class="label mb-0">{{ 'Crm.AccountMessage.Name' | transloco }}</label>
49
+ <input type="text"
50
+ class="form-control rounded-0 ps-1 user-value"
51
+ formControlName="name"
52
+ [ngClass]="{ 'is-invalid': submitted && f['name'].errors }" />
53
+ </div>
54
+ <div class="mb-3">
55
+ <label class="label mb-0">{{
56
+ 'Crm.AccountMessage.Location' | transloco
57
+ }}</label>
58
+ <input ngx-gp-autocomplete
59
+ class="form-control rounded-0 ps-1 user-value"
60
+ #places="ngx-places"
61
+ formControlName="location"
62
+ (onAddressChange)="handleAddressChange($event)"
63
+ [ngClass]="{ 'is-invalid': submitted && f['location'].errors }" />
64
+ </div>
65
+ <div class="mb-3"
66
+ *ngIf="countries$ | async as countries">
67
+ <label>{{ 'Crm.AccountMessage.Country' | transloco
68
+ }}<span class="text-danger required-icon">*</span>
69
+ </label>
70
+ <select class="form-select"
71
+ formControlName="country"
72
+ [ngClass]="{ 'is-invalid': submitted && f['country'].errors }">
73
+ <option *ngFor="let country of countries"
74
+ [value]="country.code">
75
+ {{ country.name }}
76
+ </option>
77
+ </select>
78
+ </div>
79
+ <div class="mb-3 ui-fluid skills-modal">
80
+ <label class="label mb-2">{{ 'Crm.AccountMessage.Owner' | transloco }}</label>
81
+ <p class="form-control d-block pb-2 ps-1 user-value"
82
+ *ngIf="isFormEdit && data?.owner_id">
83
+ {{ data?.owner?.first_name }} {{ data?.owner?.last_name }}
84
+ </p>
85
+ <p-autoComplete *ngIf="!isFormEdit || !data?.owner_id"
86
+ [suggestions]="filteredOwner"
87
+ formControlName="owner_id"
88
+ dataKey="id"
89
+ field="first_name"
90
+ [dropdown]="true"
91
+ (completeMethod)="search($event)"
92
+ styleClass="w-100"
93
+ placeholder="Search owner"
94
+ [multiple]="false">
95
+ </p-autoComplete>
96
+ </div>
97
+ <div class="mb-3">
98
+ <label class="label mb-0">{{
99
+ 'Crm.AccountMessage.CompanyUrl' | transloco
100
+ }}</label>
101
+ <a [href]="data?.company_url"
102
+ target="blank"
103
+ class="form-control d-block pb-2 ps-1 user-value"
104
+ *ngIf="isFormEdit && data?.company_url">{{ data?.company_url }}</a>
105
+ <input *ngIf="!isFormEdit || !data?.company_url"
106
+ type="text"
107
+ class="form-control rounded-0 ps-1 user-value"
108
+ formControlName="company_url"
109
+ [ngClass]="{ 'is-invalid': submitted && f['company_url'].errors }" />
110
+ </div>
111
+ <div class="mb-3"
112
+ *ngIf="data?.tel">
113
+ <label class="label mb-0">{{ 'Crm.AccountMessage.Tel' | transloco }}</label>
114
+ <input type="text"
115
+ class="form-control rounded-0 ps-1 user-value"
116
+ formControlName="tel" />
117
+ </div>
118
+ <div class="mb-3"
119
+ *ngIf="organizationTypes$ | async as types">
120
+ <label>{{ 'Organization.OrganizationType' | transloco }}</label>
121
+ <div class="mb-3">
122
+ <select formControlName="organization_type_id"
123
+ class="form-control form-select"
124
+ [ngClass]="{ 'is-invalid': submitted && f['organization_type_id'].errors }">
125
+ <option *ngFor="let option of types['organization_types']"
126
+ [value]="option.id">
127
+ {{ option.name }}
128
+ </option>
129
+ </select>
130
+ </div>
131
+ </div>
132
+ <div class="mb-3"
133
+ *ngIf="organizationIndustries$ | async as industries">
134
+ <label>{{ 'Organization.OrganizationIndustry' | transloco }}</label>
135
+ <select formControlName="organization_industry_id"
136
+ class="form-control form-select"
137
+ [ngClass]="{ 'is-invalid': submitted && f['organization_industry_id'].errors }">
138
+ <option *ngFor="let option of industries['organization_industries']"
139
+ [value]="option.id">
140
+ {{ option.name }}
141
+ </option>
142
+ </select>
143
+ </div>
144
+ <div class="mb-3"
145
+ *ngIf="organizationSizes$ | async as sizes">
146
+ <label>{{ 'Crm.AccountMessage.Size' | transloco }}</label>
147
+ <select formControlName="organization_size_id"
148
+ class="form-control form-select"
149
+ [ngClass]="{ 'is-invalid': submitted && f['organization_size_id'].errors }">
150
+ <option *ngFor="let option of sizes['organization_sizes']"
151
+ [value]="option.id">
152
+ {{ option.name }}
153
+ </option>
154
+ </select>
155
+ </div>
156
+ <div class="mb-3">
157
+ <label>{{ 'Crm.AccountMessage.Status' | transloco }}</label>
158
+ <select formControlName="status"
159
+ class="form-control form-select"
160
+ [ngClass]="{ 'is-invalid': submitted && f['status'].errors }">
161
+ <option *ngFor="let option of status"
162
+ [value]="option">{{ option }}</option>
163
+ </select>
164
+ </div>
165
+ <div class="mb-3">
166
+ <label>{{ 'Crm.AccountMessage.Priority' | transloco }}</label>
167
+ <select formControlName="priority"
168
+ class="form-control form-select"
169
+ [ngClass]="{ 'is-invalid': submitted && f['priority'].errors }">
170
+ <option *ngFor="let option of priority"
171
+ [value]="option">
172
+ {{ option }}
173
+ </option>
174
+ </select>
175
+ </div>
176
+ <div class="mb-3">
177
+ <label>{{ 'Crm.AccountMessage.Source' | transloco }}</label>
178
+ <select formControlName="crm_source_id"
179
+ class="form-control form-select"
180
+ [ngClass]="{ 'is-invalid': submitted && f['crm_source_id'].errors }">
181
+ <option *ngFor="let option of source"
182
+ [value]="option.id">
183
+ {{ option.name }}
184
+ </option>
185
+ </select>
186
+ </div>
187
+ <div class="mb-3">
188
+ <pw-input-container [label]="'Crm.AccountMessage.Description' | transloco"
189
+ name="description">
190
+ <textarea rows="5"
191
+ type="text"
192
+ class="form-control"
193
+ formControlName="description"
194
+ id="description"
195
+ [ngClass]="{ 'is-invalid': submitted && f['description'].errors }"></textarea>
196
+ </pw-input-container>
197
+ </div>
198
+ <div *ngIf="!isFormEdit"
199
+ class="text-end form-action-buttons">
200
+ <input type="button"
201
+ class="btn btn-outline-primary"
202
+ (click)="isFormEdit = !isFormEdit; getAccountDetails()"
203
+ value="Cancel" />
204
+ <button type="submit"
205
+ [buttonBusy]="buttonBusy"
206
+ class="btn btn-primary ms-3"
207
+ (click)="updateAccountInfo()">
208
+ {{ 'Button.Submit' | transloco }}
209
+ </button>
210
+ </div>
211
+ </form>
212
+ </div>
213
+ </div>
214
+ <div class="col-12 col-md-8">
215
+ <ul ngbNav
216
+ #nav="ngbNav"
217
+ class="nav-tabs">
218
+ <li [ngbNavItem]="1">
219
+ <a ngbNavLink>Notes</a>
220
+ <ng-template ngbNavContent>
221
+ <form [formGroup]="actionControls"
222
+ (ngSubmit)="onSave()">
223
+ <textarea class="form-control"
224
+ formControlName="comment"
225
+ rows="6"></textarea>
226
+ <p class="text-danger"
227
+ *ngIf="
228
+ actionControls.get('comment').touched &&
229
+ actionControls.get('comment').invalid
230
+ ">
231
+ Note Required
232
+ </p>
233
+ <div *ngIf="actions?.length"
234
+ class="d-block clear-both pt-3">
235
+ <ng-container *ngFor="let action of actions; index as i">
236
+ <button *ngIf="action.visible"
237
+ type="button"
238
+ [class.active]=""
239
+ class="btn btn-sm me-2 btn-outline-primary mb-2 action-btn"
240
+ (click)="showDatePicker($event, action.id); d.toggle()">
241
+ {{ action.name }}
242
+ </button>
243
+ </ng-container>
244
+ <div class="text-danger"
245
+ *ngIf="submitAction && actionControls.get('crm_action_id').invalid">
246
+ Please select an action
247
+ </div>
248
+ <div class="row mt-3">
249
+ <div class="col-12 col-sm-4">
250
+ <div class="input-group">
251
+ <input class="form-control"
252
+ placeholder="dd-mm-yyyy"
253
+ formControlName="when"
254
+ ngbDatepicker
255
+ #d="ngbDatepicker"
256
+ (click)="d.toggle()" />
257
+ </div>
258
+ </div>
259
+ <div class="ui-fluid skills-modal col-sm-4 ps-0">
260
+ <p-autoComplete [suggestions]="filteredContact"
261
+ formControlName="crm_contact_id"
262
+ dataKey="id"
263
+ field="displayName"
264
+ [dropdown]="true"
265
+ (completeMethod)="searchContact($event)"
266
+ (onSelect)="selectContact($event)"
267
+ (onBlur)="OnContactBlur()"
268
+ styleClass="w-100"
269
+ placeholder="Search contact"
270
+ [multiple]="false"
271
+ (onDropdownClick)="onDropdownClick()">
272
+ </p-autoComplete>
273
+ </div>
274
+ <div class="col-sm-4 pe-0 completed-toggle">
275
+ <div class="mb-3">
276
+ <ui-switch checkedLabel="completed"
277
+ uncheckedLabel="open"
278
+ formControlName="completed"
279
+ name="completed">
280
+ </ui-switch>
281
+ </div>
282
+ </div>
283
+ </div>
284
+ </div>
285
+ <div class="float-end">
286
+ <a class="btn btn-outline-primary me-0 me-sm-2"
287
+ (click)="openModal(content)">{{ 'Upload file' | transloco }}</a>
288
+ <button type="submit"
289
+ [buttonBusy]="buttonBusy"
290
+ [disabled]="buttonDisable"
291
+ class="btn btn-primary mt-2 mb-2">Submit Note</button>
292
+ </div>
293
+ <div *ngIf="buttonDisable"
294
+ class="no-actions pt-4">
295
+ <pw-no-data [withImage]="true" [message]="
296
+ 'Crm.AccountMessage.NoActionsInAccountInfoMessage' | transloco
297
+ ">
298
+ </pw-no-data>
299
+ </div>
300
+ </form>
301
+ <div class="w-100 text-center mt-3"
302
+ *ngIf="!isLoaded">
303
+ <p-progressSpinner strokeWidth="2"> </p-progressSpinner>
304
+ </div>
305
+ <div *ngIf="!accountComments?.length && isLoaded"
306
+ class="no-actions pt-2">
307
+ <pw-no-data [withImage]="true" [message]="'Crm.AccountMessage.NoActionsMessage' | transloco">
308
+ </pw-no-data>
309
+ </div>
310
+ <div *ngIf="accountComments?.length">
311
+ <div id="timeline"
312
+ class="pt-3 clear-both timeline-center timeline-wrapper timeline-container"
313
+ infiniteScroll
314
+ [infiniteScrollDistance]="2"
315
+ [infiniteScrollThrottle]="50"
316
+ [infiniteScrollContainer]="selector"
317
+ [fromRoot]="true"
318
+ (scrolled)="onScrollTimeline()">
319
+ <ul class="timeline">
320
+ <li class="timeline-line"></li>
321
+ </ul>
322
+ <ul class="timeline">
323
+ <li class="timeline-line"></li>
324
+ <li class="timeline-item"
325
+ [ngClass]="{ 'mt-5': odd || last }"
326
+ *ngFor="
327
+ let item of accountComments;
328
+ index as i;
329
+ let odd = odd;
330
+ let even = even;
331
+ let last = last;
332
+ let first = first
333
+ ">
334
+ <div class="timeline-badge">
335
+ <span class="bg-red bg-lighten-1">
336
+ <span class="timeline-year">
337
+ <span class="d-block date-year">{{
338
+ item.when | date: 'medium' | slice: 0:3
339
+ }}</span>
340
+ <span>{{ item.year }}</span></span>
341
+ </span>
342
+ </div>
343
+ <div class="timeline-card shadow card pb-0 rounded border-grey border-lighten-2 position-static">
344
+ <div class="card-header py-4">
345
+ <div class="mb-0 clearfix">
346
+ <textarea type="text"
347
+ name="comment"
348
+ class="comment-field form-control p-0"
349
+ [(ngModel)]="item.comment">{{ item.comment }}</textarea>
350
+ <div class="auto-complete mb-3 ui-fluid skills-modal">
351
+ <p-autoComplete [(ngModel)]="item.crm_contact"
352
+ [suggestions]="filteredContactComment"
353
+ dataKey=" id "
354
+ field="first_name"
355
+ dropdown=" true "
356
+ (completeMethod)="
357
+ searchContactInComment($event)
358
+ "
359
+ (onSelect)="selectCommentContact($event)"
360
+ (onBlur)="OnContactBlur()"
361
+ styleClass=" w-100 "
362
+ placeholder=" Search contact "
363
+ [multiple]="false"
364
+ (onDropdownClick)="onDropdownClick()">
365
+ </p-autoComplete>
366
+ </div>
367
+ <p class="float-start mb-0"
368
+ *ngIf="
369
+ !showFullComment || item.id !== commentId
370
+ ">
371
+ {{ item.comment | slice: 0:170
372
+ }}<a *ngIf="item.comment.length > 170"
373
+ class="text-secondary"
374
+ (click)="
375
+ showFullComment = true;
376
+ commentId = item.id
377
+ ">...show more
378
+ </a>
379
+ </p>
380
+ <p class="float-start mb-0"
381
+ *ngIf="showFullComment && item.id === commentId">
382
+ {{ item.comment }}
383
+ <a *ngIf="
384
+ item.comment.length > 170 &&
385
+ showFullComment
386
+ "
387
+ (click)="showFullComment = false"
388
+ class="text-secondary">...show less</a>
389
+ </p>
390
+ <button class="btn btn-md edit-btn float-end py-0"
391
+ (click)="showEditControls($event, item)"
392
+ *ngIf="userId === item.owner_id || hasAccess">
393
+ <i
394
+ class="fa fa-edit edit-icon"
395
+ aria-hidden="true"
396
+ ></i>
397
+ </button>
398
+ </div>
399
+ <div class="card-subtitle text-muted my-0 clearfix">
400
+ <div class="float-start">
401
+ <span *ngIf="!updating || actionId !== item.id"
402
+ class="font-small-3">
403
+ {{ item.when }}</span>
404
+ <input *ngIf="updating && actionId === item.id"
405
+ placeholder="dd-mm-yyyy"
406
+ value="{{ item.when }}"
407
+ ngbDatepicker
408
+ #d="ngbDatepicker"
409
+ (focus)="d.toggle()"
410
+ (dateSelect)="onDateSelect($event, item)" />
411
+ </div>
412
+ <button type=" button"
413
+ class="btn btn-sm float-end when-btn py-0"
414
+ *ngIf="userId === item.owner_id || hasAccess"
415
+ (click)="showDatePickerUpdate(item.id)">
416
+ <i
417
+ class="fa fa-edit edit-icon"
418
+ aria-hidden="true"
419
+ ></i>
420
+ </button>
421
+ </div>
422
+ <p [class.text-danger]="!item.color"
423
+ *ngIf="!item.cancelled && !item.completed"
424
+ class="mb-0">
425
+ {{ item.due }}
426
+ </p>
427
+ <a class="text-secondary action-owner"
428
+ *ngIf="item.crm_contact"
429
+ [routerLink]="[
430
+ '/' + subscription?.slug + routers.contactInfo,
431
+ item.crm_contact.id
432
+ ]">{{ item.crm_contact.first_name }}
433
+ {{ item.crm_contact.last_name || '' }}</a>
434
+ <p>
435
+ By
436
+ {{
437
+ item.owner.first_name +
438
+ ' ' +
439
+ item.owner.last_name
440
+ }}
441
+ </p>
442
+ <span class="badge bg-primary">{{
443
+ item?.crm_action?.name
444
+ }}</span>
445
+ <span *ngIf="
446
+ !item.completed &&
447
+ (userId === item.owner_id || hasAccess)
448
+ "
449
+ class="badge bg-success ms-2">Open</span>
450
+ <a *ngIf="
451
+ !item.completed &&
452
+ (userId === item.owner_id || hasAccess)
453
+ "
454
+ ngbTooltip="Set as completed"
455
+ class="me-3 ms-3"
456
+ href="javascript:void(0);"
457
+ (click)="
458
+ setAsCompletedOrUncompleted(
459
+ item.id,
460
+ item,
461
+ item.completed
462
+ )
463
+ ">
464
+ <i
465
+ class="fa fa-tasks completed"
466
+ aria-hidden="true"
467
+ ></i>
468
+ </a>
469
+ <a *ngIf="
470
+ !item.cancelled &&
471
+ !item.completed &&
472
+ (userId === item.owner_id || hasAccess)
473
+ "
474
+ ngbTooltip="Set as cancelled"
475
+ href="javascript:void(0);"
476
+ (click)="setAsCancelled(item.id, item)">
477
+ <i
478
+ class="fa fa-times delete-icon"
479
+ aria-hidden="true"
480
+ ></i>
481
+ </a>
482
+ <a *ngIf="
483
+ item.completed &&
484
+ (userId === item.owner_id || hasAccess)
485
+ "
486
+ ngbTooltip="Set as UnCompleted"
487
+ href="javascript:void(0);"
488
+ (click)="
489
+ setAsCompletedOrUncompleted(
490
+ item.id,
491
+ item,
492
+ item.completed
493
+ )
494
+ "
495
+ class="ms-2">
496
+ <i
497
+ class="far fa-window-close"
498
+ aria-hidden="true"
499
+ ></i>
500
+ </a>
501
+ <div class="control-btns mt-3 text-end form-action-buttons">
502
+ <button type="button"
503
+ class="btn btn-sm btn-outline-default me-2"
504
+ (click)="showEditControls(undefined, '')">
505
+ {{ 'Button.Cancel' | transloco }}
506
+ </button>
507
+ <button class="btn btn-sm btn-primary"
508
+ type="button"
509
+ (click)="updateComment(item)">
510
+ {{ 'Button.Submit' | transloco }}
511
+ </button>
512
+ </div>
513
+ </div>
514
+ </div>
515
+ </li>
516
+ </ul>
517
+ </div>
518
+ </div>
519
+ </ng-template>
520
+ </li>
521
+ <li [ngbNavItem]="2">
522
+ <a ngbNavLink>Contacts</a>
523
+ <ng-template ngbNavContent>
524
+ <div class="row">
525
+ <div class="col-12 mb-3">
526
+ <a class="btn btn-sm btn-outline-primary float-end"
527
+ data-cy="add-contact"
528
+ [routerLink]="[
529
+ '/' + subscription?.slug + routers.contactAdd,
530
+ accountId
531
+ ]">
532
+ <i class="fa fa-plus-circle" aria-hidden="true"></i>
533
+ {{ 'Crm.ContactMessage.AddContact' | transloco }}
534
+ </a>
535
+ </div>
536
+ </div>
537
+ <div class="primeng-datatable-container table-responsive"
538
+ [class.hideTable]="totalRecordsUnFiltered === 0">
539
+ <p-table class="table"
540
+ #dt
541
+ [value]="contacts"
542
+ [paginator]="totalRecords !== 0"
543
+ [rows]="PAGE_SIZE"
544
+ [totalRecords]="totalRecords"
545
+ [loading]="loading"
546
+ [lazy]="true"
547
+ (onLazyLoad)="onLazyLoad($event)"
548
+ [customSort]="true">
549
+ <ng-template pTemplate="caption">
550
+ <div class="text-end">
551
+ <i class="fa fa-search mt-2 me-2" aria-hidden="true"></i>
552
+ <input type="text"
553
+ [(ngModel)]="searchText"
554
+ pInputText
555
+ size="50"
556
+ placeholder="Search cosntact..."
557
+ (input)="dt.filterGlobal($event.target.value, 'contains')"
558
+ class="mw-90" />
559
+ </div>
560
+ </ng-template>
561
+ <ng-template pTemplate="header">
562
+ <tr>
563
+ <th scope="true"
564
+ pSortableColumn="first_name">
565
+ {{ 'Label.Name' | transloco }}
566
+ <p-sortIcon field="first_name"></p-sortIcon>
567
+ </th>
568
+ <th scope="true"
569
+ pSortableColumn="owner_id">
570
+ {{ 'Crm.ContactMessage.ContactOwner' | transloco }}
571
+ <p-sortIcon field="owner_id"></p-sortIcon>
572
+ </th>
573
+ <th scope="true"
574
+ pSortableColumn="headline">
575
+ {{ 'Crm.ContactMessage.Headline' | transloco }}
576
+ <p-sortIcon field="headline"></p-sortIcon>
577
+ </th>
578
+ <th scope="true">{{ 'Label.Actions' | transloco }}</th>
579
+ </tr>
580
+ </ng-template>
581
+ <ng-template pTemplate="body"
582
+ let-contact>
583
+ <tr>
584
+ <td data-head="Name"
585
+ class="contactname">
586
+ <a [routerLink]="[
587
+ '/' + subscription?.slug + routers.contactInfo,
588
+ contact.id
589
+ ]">{{
590
+ contact.first_name + ' ' + contact.last_name
591
+ | textTruncate: 20
592
+ }}</a>
593
+ </td>
594
+ <td data-head="OwnerName">
595
+ {{ contact.owner | ifNameNullShowEmail }}
596
+ </td>
597
+ <td data-head="Headline"
598
+ class="headline-content">
599
+ {{ contact?.headline | textTruncate: 20 }}
600
+ </td>
601
+ <td data-head="Action">
602
+ <ul class="list-unstyled list-inline">
603
+ <li ngbTooltip="Show"
604
+ class="me-2 me-sm-3"
605
+ [routerLink]="[
606
+ '/' + subscription?.slug + routers.contactInfo,
607
+ contact.id
608
+ ]">
609
+ <i
610
+ class="fa fa-eye see-icon"
611
+ aria-hidden="true"
612
+ ></i>
613
+ </li>
614
+ <li *ngIf="
615
+ hasAccess ||
616
+ contact.owner_id === userId ||
617
+ contact.crm_account.owner_id === userId
618
+ "
619
+ ngbTooltip="Add opportunity"
620
+ class="me-2 me-sm-3"
621
+ [routerLink]="[
622
+ '/' +
623
+ subscription?.slug +
624
+ routers.opportunityAdd
625
+ ]"
626
+ [queryParams]="{ contact_id: contact.id }">
627
+ <i
628
+ class="fa fa-plus-circle add-icon"
629
+ aria-hidden="true"
630
+ ></i>
631
+ </li>
632
+ <li *ngIf="
633
+ hasAccess ||
634
+ contact.owner_id === userId ||
635
+ contact.crm_account.owner_id === userId
636
+ "
637
+ ngbTooltip="Edit"
638
+ class="me-2 me-sm-3"
639
+ [routerLink]="[
640
+ '/' +
641
+ subscription?.slug +
642
+ routers.contactDetails,
643
+ contact.id
644
+ ]">
645
+ <i
646
+ class="fa fa-edit edit-icon"
647
+ aria-hidden="true"
648
+ ></i>
649
+ </li>
650
+ <li *ngIf="
651
+ hasAccess ||
652
+ contact.owner_id === userId ||
653
+ contact.crm_account.owner_id === userId
654
+ "
655
+ ngbTooltip="Delete"
656
+ class="me-2 me-sm-3">
657
+ <i
658
+ class="fa fa-trash delete-icon"
659
+ (click)="onDeleteContact(contact.id)"
660
+ aria-hidden="true"
661
+ ></i>
662
+ </li>
663
+ </ul>
664
+ </td>
665
+ </tr>
666
+ </ng-template>
667
+ </p-table>
668
+ <div *ngIf="totalRecords === 0 && totalRecordsUnFiltered !== 0">
669
+ <pw-no-data [withImage]="true" [message]="'Search.NoDataMessage'| transloco" [description]="'Search.NoDataDescription' | transloco" >
670
+ </pw-no-data>
671
+ </div>
672
+ <span class="total-records-count" *ngIf="totalRecords !== 0">{{ 'Label.Total' | transloco }}: {{ totalRecords }}</span>
673
+ </div>
674
+ <div *ngIf="totalRecordsUnFiltered === 0">
675
+ <pw-no-data [withImage]="true" [message]="'Crm.ContactMessage.ContactsAdminMessage' | transloco">
676
+ </pw-no-data>
677
+ </div>
678
+ </ng-template>
679
+ </li>
680
+ <li [ngbNavItem]="3">
681
+ <a ngbNavLink>Versioning</a>
682
+ <ng-template ngbNavContent>
683
+ <div *ngFor="let versioning of accountVersioning">
684
+ <p>
685
+ <strong>Event: </strong>{{ versioning.event }} |
686
+ <strong>Author: </strong><a *ngIf="versioning?.author"
687
+ [routerLink]="['/members', versioning?.author?.slug]">{{ versioning?.author | ifNameNullShowEmail }}</a>
688
+ | <strong>Created at: </strong>{{ versioning.created_at | dateFormat: 'datetime' }}<br />
689
+ <strong>Object: </strong>{{ versioning.object | json }}
690
+ </p>
691
+ <hr />
692
+ </div>
693
+ <div *ngIf="accountVersioning?.length === 0">
694
+ <pw-no-data [withImage]="true" [message]="'Crm.AccountMessage.NoVersionsMessage' | transloco">
695
+ </pw-no-data>
696
+ </div>
697
+ </ng-template>
698
+ </li>
699
+ <li [ngbNavItem]="4">
700
+ <a ngbNavLink>Files</a>
701
+ <ng-template ngbNavContent>
702
+ <pw-smart-crm-company-files [accountId]="accountId"></pw-smart-crm-company-files>
703
+ </ng-template>
704
+ </li>
705
+ </ul>
706
+ <div [ngbNavOutlet]="nav"></div>
707
+ </div>
708
+ </div>
709
+ </div>
710
+ </div>
711
+ <ng-template #content
712
+ let-modal>
713
+ <div class="modal-header">
714
+ <h3 class="modal-title mb-0 p-0">{{ 'Upload File' | transloco }}</h3>
715
+ <button type="button"
716
+ class="btn-close float-end"
717
+ aria-label="Close"
718
+ (click)="modal.dismiss()">
719
+
720
+ </button>
721
+ </div>
722
+ <div class="modal-body">
723
+ <small> {{ 'User.Profile.PictureMessage' | transloco }}</small>
724
+ <div class="row p-2">
725
+ <div class="col-12">
726
+ <div class="upload-box">
727
+ <div class="upload-box-content">
728
+ <div class="drop-container"
729
+ ngFileDrop
730
+ [options]="options"
731
+ (uploadOutput)="onUploadOutput($event)"
732
+ [uploadInput]="uploadInput">
733
+ <p>
734
+ Drag files here or
735
+ <label class="upload-button">
736
+ <input type="file"
737
+ ngFileSelect
738
+ [options]="options"
739
+ (uploadOutput)="onUploadOutput($event)"
740
+ [uploadInput]="uploadInput"
741
+ multiple />
742
+ browse
743
+ </label>
744
+ to upload.
745
+ </p>
746
+ </div>
747
+ <div class="upload-item"
748
+ *ngFor="let f of files; let i = index">
749
+ <div class="upload-item-content">
750
+ <div class="filename">
751
+ <div class="filename-left">
752
+ <i class="ionicon ion-ios-copy" aria-hidden="true"></i>
753
+ <span>{{ f.name }}</span>
754
+ </div>
755
+ </div>
756
+ <div class="progress-content">
757
+ <div class="progress">
758
+ <span class="bar"
759
+ [style.width]="f?.progress?.data?.percentage + '%'"
760
+ [class.is-done]="f['uploaded']"></span>
761
+ </div>
762
+ </div>
763
+ <div class="progress-text-content">
764
+ <span class="progress-text"
765
+ [class.is-done]="f['uploaded']">
766
+ <span *ngIf="!f['uploaded']">{{ f.progress?.data?.percentage - 1 }}%
767
+ </span>
768
+ <span *ngIf="f['uploaded']">100 %</span>
769
+ <span *ngIf="!f['uploaded']">Uploading...</span>
770
+ <span *ngIf="f['uploaded']">Done</span>
771
+ </span>
772
+ <span class="speed-and-eta-text"
773
+ *ngIf="f.progress?.data?.percentage !== 0 && !f['uploaded']">
774
+ <span>{{ f.progress?.data?.speedHuman }} </span>
775
+ <span>ETA {{ f.progress?.data?.etaHuman }}</span>
776
+ </span>
777
+ </div>
778
+ </div>
779
+ </div>
780
+ </div>
781
+ </div>
782
+ </div>
783
+ </div>
784
+ </div>
785
+ </ng-template>