Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

contactdetails.component.js 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Support;
  6. (function (Support) {
  7. let Controls;
  8. (function (Controls) {
  9. class ContactDetails extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.contacttype = 0;
  13. }
  14. init(formpropertyid, prop, callback) {
  15. var instance = this;
  16. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  17. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
  18. $("#removeContact").click(function () {
  19. instance.loadContactInformation($(".detail_conatactname").text(), $(".detail_PhoneNumber").text(), $(".detail_EmailAddress").text(), $("#hf_userId").val(), $("#hf_unibaseId").val());
  20. $(".section_ContactInformation").addClass("hidden");
  21. $(".section_ContactDetails").removeClass("hidden");
  22. $(".section_AddressDetails").addClass("hidden");
  23. $(".txt_addressname").val('');
  24. $(".txt_zipcode").val('');
  25. $(".txt_addressline1").val('');
  26. $(".txt_addressline2").val('');
  27. $('.txtAutoComplete_cityid').val(null).trigger('change');
  28. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txt_addressname");
  29. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_cityid");
  30. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_roleid");
  31. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_branchid");
  32. });
  33. }
  34. loadControl(containerid, prop) {
  35. var instance = this;
  36. var sectionName = $(".section_ContactInformation").find(".card-header").text();
  37. $(".section_ContactInformation").find(".card-header").html('<span class="pull-left"> ' + sectionName + ' </span><a class="ml-auto btn-s pull-right btn btn-icon btn-icon-circle btn-pink btn-icon-style-3 remove-icon" href="javascript:;" title="Remove" onclick="" id="removeContact"><span class="btn-icon-wrap"><i class="fa fa-times remove-icon"></i> <span></span></span> </a>');
  38. instance.fileCacheHelper.loadJsFiles(["platform/membership/infos/identity.js", "apps/crm/contacts/managers/contactmanager.js"], function () {
  39. var userId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
  40. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0)
  41. userId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_contactid").Value);
  42. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(userId).then(function (response) {
  43. var emailaddress = 'NA';
  44. var phonenumber = "NA";
  45. if (response.result.EmailAddress != null) {
  46. emailaddress = response.result.EmailAddress;
  47. }
  48. if (response.result.PhoneNumber != null) {
  49. phonenumber = response.result.PhoneNumber;
  50. }
  51. var contactsection = $(".section_ContactDetails").find(".card-header").text();
  52. $(".section_ContactDetails").find(".card-header").html('<span class="pull-left"> ' + contactsection + ' </span><a class="ml-auto btn-s pull-right btn btn-icon btn-icon-circle btn-pink btn-icon-style-3 edit-icon" href="javascript:;" title="Edit" onclick="" id="loadinfo"><span class="btn-icon-wrap"><i class="fa fa-pencil loadinfo"></i> <span></span></span> </a>');
  53. var html = '<div class="div_ContactDetails"><div class=""> <ul class="list-group" id="liContactDetails">' +
  54. `<li class="list-group-item text-ellipsis px-0 py-2 d-flex flex-wrap" id="liContactDetails-row"><input type="hidden" id="hf_userId" value=""/><input type="hidden" id="hf_unibaseId" value=""/>` +
  55. `<div class="col-sm-12 col-md-6 col-lg-4"><div class="d-flex flex-wrap justify-content-between align-items-center"><div class=""><strong class="d-flex">Name <span class="d-none d-md-block px-1">:</span></strong> </div><div><span id="detail_conatactname" class="detail_conatactname"> ` + response.result.ContactName + `</span></div></div></div>` +
  56. `<div class="col-sm-12 col-md-6 col-lg-4"><div class="d-flex flex-wrap justify-content-between align-items-center"><div class=""><strong class="d-flex"> Number <span class="d-none d-md-block px-1">:</span></strong> </div><div><span id="detail_PhoneNumber" class="detail_PhoneNumber"> ` + phonenumber + `</span></div></div></div>` +
  57. `<div class="col-sm-12 col-md-6 col-lg-4"><div class="d-flex flex-wrap justify-content-between align-items-center"><div class=""><strong class="d-flex">Email ID <span class="d-none d-md-block px-1">:</span></strong> </div><div><span id="detail_EmailAddress" class="detail_EmailAddress"> ` + emailaddress + `</span></div></div></div>` +
  58. '</li></ul></div></div>';
  59. $("#" + containerid).html(html);
  60. $("#hf_userId").val(response.result.ContactId);
  61. $(".hdn_userid").val(response.result.ContactId);
  62. $("#hf_unibaseId").val(response.result.UnibaseId);
  63. $(".hdn_unibaseid").val(response.result.UnibaseId);
  64. $(".txt_emailaddress").val(response.result.EmailAddress);
  65. $("#txtPhn_phonenumber").val(Number(response.result.PhoneNumber));
  66. $(".txt_username").val(response.result.ContactName);
  67. $("#loadinfo").on('click', function () {
  68. userId = Number($("#hf_userId").val());
  69. $(".section_ContactDetails").addClass("hidden");
  70. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(userId).then(function (response) {
  71. Bizgaze.Apps.Support.Controls.ContactDetails.Instance().loadContactInformation(response.result.ContactName, response.result.PhoneNumber, response.result.EmailAddress, response.result.ContactId, response.result.UnibaseId);
  72. });
  73. });
  74. });
  75. });
  76. }
  77. loadContactDetails() {
  78. var instance = this;
  79. var Email = ($(".txt_emailaddress").val()).toString();
  80. var Phone = ($("#txtPhn_phonenumber").val()).toString();
  81. if (Email.includes("@") || Email.includes(".") || Email.includes(".com")) {
  82. Phone = null;
  83. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactDetails(Email, Phone).then(function (response) {
  84. var result = response.result;
  85. if (result != null) {
  86. $('.section_ContactDetails').removeClass('hidden');
  87. $("#hf_userId").val(result.ContactId);
  88. $(".hdn_userid").val(result.ContactId);
  89. $("#hf_unibaseId").val(result.UnibaseId);
  90. $(".hdn_unibaseid").val(response.result.UnibaseId);
  91. $("#txtPhn_phonenumber").val(result.PhoneNumber);
  92. $(".txt_emailaddress").val(result.EmailAddress);
  93. $(".txt_username").val(result.ContactName);
  94. if (result.EmailAddress == null) {
  95. $('.detail_EmailAddress').text("NA");
  96. }
  97. else {
  98. $('.detail_EmailAddress').text(result.EmailAddress);
  99. }
  100. $('.detail_PhoneNumber').text(result.PhoneNumber);
  101. $('.detail_conatactname').text(result.ContactName);
  102. $(".section_ContactInformation").addClass('hidden');
  103. $(".section_AddressDetails").addClass("hidden");
  104. $(".txt_addressname").val('');
  105. $(".txt_zipcode").val('');
  106. $(".txt_addressline1").val('');
  107. $(".txt_addressline2").val('');
  108. $('.txtAutoComplete_cityid').val(null).trigger('change');
  109. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txt_addressname");
  110. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_cityid");
  111. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_roleid");
  112. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_branchid");
  113. instance.contacttype = 1;
  114. }
  115. else if (result == null) {
  116. $('.section_ContactDetails').addClass('hidden');
  117. if (window.parent.location.hash != "#/loginhelp") {
  118. $(".section_AddressDetails").removeClass("hidden");
  119. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txt_addressname");
  120. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_cityid");
  121. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_roleid");
  122. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_branchid");
  123. }
  124. $("#txtPhn_phonenumber").val('');
  125. $(".txt_username").val('');
  126. $(".hdn_unibaseid").val('');
  127. }
  128. });
  129. }
  130. else if (Phone != null || Phone == "") {
  131. Email = null;
  132. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactDetails(Email, Phone).then(function (response) {
  133. var result = response.result;
  134. if (result != null) {
  135. $('.section_ContactDetails').removeClass('hidden');
  136. $("#hf_userId").val(result.ContactId);
  137. $(".hdn_userid").val(result.ContactId);
  138. $("#hf_unibaseId").val(result.UnibaseId);
  139. $(".hdn_unibaseid").val(response.result.UnibaseId);
  140. $(".txt_emailaddress").val(result.EmailAddress);
  141. $("#txtPhn_phonenumber").val(result.PhoneNumber);
  142. $(".txt_username").val(result.ContactName);
  143. if (result.EmailAddress == null) {
  144. $('.detail_EmailAddress').text('NA');
  145. }
  146. else {
  147. $('.detail_EmailAddress').text(result.EmailAddress);
  148. }
  149. if (result.PhoneNumber == null) {
  150. $('.detail_PhoneNumber').text('NA');
  151. }
  152. else {
  153. $('.detail_PhoneNumber').text(result.PhoneNumber);
  154. }
  155. $('.detail_conatactname').text(result.ContactName);
  156. $(".section_ContactInformation").addClass('hidden');
  157. $(".section_AddressDetails").addClass("hidden");
  158. $(".txt_addressname").val('');
  159. $(".txt_zipcode").val('');
  160. $(".txt_addressline1").val('');
  161. $(".txt_addressline2").val('');
  162. $('.txtAutoComplete_cityid').val(null).trigger('change');
  163. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txt_addressname");
  164. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_cityid");
  165. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_roleid");
  166. Unibase.Platform.Forms.Components.FormViewer.Instance().removeRequiredClass(".txtAutoComplete_branchid");
  167. instance.contacttype = 1;
  168. }
  169. else if (result == null) {
  170. $('.section_ContactDetails').addClass('hidden');
  171. if (window.parent.location.hash != "#/loginhelp") {
  172. $(".section_AddressDetails").removeClass("hidden");
  173. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txt_addressname");
  174. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_cityid");
  175. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_roleid");
  176. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_branchid");
  177. }
  178. $(".txt_emailaddress").val('');
  179. $("#txt_ContactName").val('');
  180. $(".hdn_unibaseid").val('');
  181. }
  182. });
  183. }
  184. if (instance.contacttype == 0) {
  185. if (window.parent.location.hash != "#/loginhelp") {
  186. $(".section_AddressDetails").removeClass("hidden");
  187. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txt_addressname");
  188. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_cityid");
  189. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_roleid");
  190. Unibase.Platform.Forms.Components.FormViewer.Instance().addRequiredClass(".txtAutoComplete_branchid");
  191. }
  192. instance.contacttype = 0;
  193. $(".hdn_unibaseid").val('');
  194. }
  195. }
  196. loadContactInformation(contactName, phoneNumber, email, contactId, unibaseid) {
  197. var instance = this;
  198. instance.flag = 0;
  199. $(".txt_emailaddress").on("input", function () {
  200. if (instance.flag == 0) {
  201. $("#txtPhn_phonenumber").val("");
  202. $(".txt_username").val("");
  203. $(".txt_username").removeAttr("readonly");
  204. $(".div_PhoneNumber").removeClass("floating-label-form-group-with-value");
  205. $(".txt_username").parent().removeClass("floating-label-form-group-with-value");
  206. instance.flag = 1;
  207. instance.contacttype = 0;
  208. }
  209. });
  210. $("#txtPhn_phonenumber").on("input", function () {
  211. if (instance.flag == 0) {
  212. $(".txt_emailaddress").val("");
  213. $(".txt_username").val("");
  214. $(".txt_username").removeAttr("readonly");
  215. $(".txt_emailaddress").parent().removeClass("floating-label-form-group-with-value");
  216. $(".txt_username").parent().removeClass("floating-label-form-group-with-value");
  217. instance.flag = 1;
  218. instance.contacttype = 0;
  219. }
  220. });
  221. $(".section_ContactInformation").removeClass("hidden");
  222. $(".hdn_userid").val(Number(contactId));
  223. $(".hdn_unibaseid").val(unibaseid);
  224. $(".txt_emailaddress").val(email);
  225. $("#txtPhn_phonenumber").val(Number(phoneNumber));
  226. $(".txt_username").val(contactName);
  227. $(".txt_username").attr("readonly", "readonly");
  228. $("#hf_userId").val(contactId);
  229. $("#hf_unibaseId").val(unibaseid);
  230. $(".div_PhoneNumber").addClass("floating-label-form-group-with-value");
  231. eval('_floatingLabelHelper.init();');
  232. }
  233. loadControlSettings(controlsettingjson, formpropertyid) {
  234. return null;
  235. }
  236. loadPropertySettings(propertysettings, formpropertyid) {
  237. return null;
  238. }
  239. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  240. return null;
  241. }
  242. static Instance() {
  243. if (this.instance === undefined) {
  244. this.instance = new ContactDetails();
  245. }
  246. return this.instance;
  247. }
  248. }
  249. Controls.ContactDetails = ContactDetails;
  250. })(Controls = Support.Controls || (Support.Controls = {}));
  251. })(Support = Apps.Support || (Apps.Support = {}));
  252. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  253. })(Bizgaze || (Bizgaze = {}));