123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350 |
- var Bizgaze;
- (function (Bizgaze) {
- let Apps;
- (function (Apps) {
- let Crm;
- (function (Crm) {
- let Components;
- (function (Components) {
- class Address extends Unibase.Platform.Core.BaseComponent {
- constructor() {
- super(...arguments);
- this.oldcontactaddressid = 0;
- this.contactaddressid = 0;
- this.latd = 0;
- this.lngd = 0;
- this.isEmployeeDashboardRoute = false;
- }
- cssFiles() {
- return [];
- }
- jsFiles() {
- return ['apps/crm/contacts/managers/contactmanager.js', 'tenants/themes/compact/components/details/details.js'];
- }
- html(id, containerid) {
- return "";
- }
- init(containerid) {
- var instance = this;
- }
- load(id, containerid, callback) {
- var instance = this;
- }
- changeDefaultAddress(addressid) {
- var instance = this;
- var _recordId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid").Value);
- var postdata = {
- ContactAddressId: addressid,
- ContactId: _recordId
- };
- instance.fileCacheHelper.loadJsFile('apps/crm/contacts/managers/contactmanager.js', function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().ChangeDefaultAddress(postdata).then(function (response) {
- var detail_instance = Unibase.Themes.Compact.Components.Details.Instance();
- var containerid = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
- var _installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- var portletid = detail_instance.unibase_core_activeportletid;
- detail_instance.loadWidgets(_installedAppId, portletid, "#" + containerid + "");
- MessageHelper.Instance().showSuccess(response.message, '');
- });
- });
- }
- changeDefaultAddress_phonebook(addressid) {
- var instance = this;
- var _recordId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_organizationid").Value);
- var postdata = {
- ContactAddressId: addressid,
- ContactId: _recordId
- };
- instance.fileCacheHelper.loadJsFile('apps/crm/contacts/managers/contactmanager.js', function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().ChangeDefaultAddress(postdata).then(function (response) {
- var detail_instance = Unibase.Themes.Compact.Components.Details.Instance();
- var containerid = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
- var _installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- var portletid = detail_instance.unibase_core_activeportletid;
- detail_instance.loadWidgets(_installedAppId, portletid, "#" + containerid + "");
- MessageHelper.Instance().showSuccess(response.message, '');
- });
- });
- }
- changeAddressStatus(addressid, status) {
- var instance = this;
- if (status == 2)
- var msg = "Are you sure you want to De-Activate ?";
- else
- var msg = "Are you sure you want to Activate ?";
- bootbox.confirm({
- message: msg,
- closeButton: false,
- buttons: {
- confirm: {
- label: 'Yes',
- className: 'btn-success'
- },
- cancel: {
- label: 'No',
- className: 'btn-danger'
- }
- },
- callback: function (result) {
- if (result) {
- var Status = "";
- var Statusid;
- if (status == 2) {
- Status = "Activate";
- Statusid = 2;
- $("#Id_" + addressid + "").removeClass('text-danger');
- $("#Id_" + addressid + "").addClass('text-success');
- }
- else {
- Status = "activate";
- Statusid = 1;
- $("#Id_" + addressid + "").removeClass('text-success');
- $("#Id_" + addressid + "").addClass('text-danger');
- }
- var _recordId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid").Value);
- var postdata = {
- ContactAddressId: addressid,
- Status: Statusid,
- ContactId: _recordId
- };
- instance.fileCacheHelper.loadJsFile('apps/crm/contacts/managers/contactmanager.js', function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().ChangeAddressStatus(postdata).then(function (response) {
- if (response.errors == null) {
- var detail_instance = Unibase.Themes.Compact.Components.Details.Instance();
- var containerid = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
- var _installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- var portletid = detail_instance.unibase_core_activeportletid;
- detail_instance.loadWidgets(_installedAppId, portletid, "#" + containerid + "");
- MessageHelper.Instance().showSuccess(response.message, '');
- }
- else {
- alert("You Can't De-Active Default Address");
- }
- });
- });
- if (status == "De-activate") { }
- }
- else { }
- }
- });
- }
- editmap_1(contactAddressId) {
- let instance = this;
- Bizgaze.Apps.Crm.Components.Address.Instance().contactaddressid = contactAddressId;
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/crm/address/components/w_address.js", function () {
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/core/helpers/mobile/interfaces/imobilehelper.js", function () {
- if (isMobileApp()) {
- Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Location, Bizgaze.Apps.Crm.Components.Address.Instance().edidmap_mobile);
- }
- else {
- Bizgaze.Apps.Crm.Components.Address.Instance().navigationHelper.popup(0, "", Bizgaze.Apps.Crm.Components.Address.Instance(), function () {
- Bizgaze.Apps.Crm.Components.Address.Instance().editmap(contactAddressId);
- }, Unibase.Platform.Helpers.Size.Auto);
- }
- });
- });
- }
- edidmap_mobile() {
- Bizgaze.Apps.Crm.Components.Address.Instance().navigationHelper.popup(0, "", Bizgaze.Apps.Crm.Components.Address.Instance(), function () {
- Bizgaze.Apps.Crm.Components.Address.Instance().editmap(Bizgaze.Apps.Crm.Components.Address.Instance().contactaddressid);
- }, Unibase.Platform.Helpers.Size.Auto);
- }
- editmap(contactAddressId) {
- var instance = this;
- instance.fileCacheHelper.loadJsFile('apps/crm/contacts/managers/contactmanager.js', function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(contactAddressId).then(function (response) {
- let now = new Date();
- if ((response.result.AddrLatd != null) && (response.result.AddrLgtd != null) && (response.result.AddrLatd != "0") && (response.result.AddrLgtd != "0")) {
- instance.latd = response.result.AddrLatd;
- instance.lngd = response.result.AddrLgtd;
- instance.geotaggeddate = response.result.GeoTaggeddate;
- instance.editmap1(contactAddressId);
- }
- else {
- navigator.geolocation.getCurrentPosition(function (position) {
- instance.latd = position.coords.latitude;
- instance.lngd = position.coords.longitude;
- instance.editmap1(contactAddressId);
- });
- }
- });
- });
- }
- currentCoordinates() {
- navigator.geolocation.getCurrentPosition(function (position) {
- $(".txt_addrlatd").val(position.coords.latitude);
- $(".txt_addrlgtd").val(position.coords.longitude);
- });
- }
- editmap1(contactAddressId) {
- var instance = this;
- const containerId = this.navigationHelper.getLastContainerId();
- if ($('#meetingAddressMap-' + contactAddressId).length > 0) {
- if ($('#meetingAddressMap-' + contactAddressId).is(':hidden') != true) {
- return false;
- }
- }
- ;
- $(`#${containerId}`).append("<form id='FormIds'><style type='text/css'>.pac-container{z-index:9999 !important;}</style><div id='mapaddress" + contactAddressId + "' class='floating-label-form-group pl-0 bg-white d-flex align-items-center justify-content-between ' style='border-top:1px solid #ccc;border-right: 1px solid #ccc;'><div class='input-group'><input type='hidden' data-geo='lat1 value='' id='latitude' name='latitude'><input type='hidden' data-geo='lng' value='' id='longitude' name='setting_longitude'><input type='text' id='mapaddress-" + contactAddressId + "' class='form-control value-control floating-label-control px-2' data-isdefault='true' data-placeholder='Select Address' data-label='Address'><input type='hidden' id='myfieldname' value=" + contactAddressId + " /></div><div class=''><button class='btn btn-outline-primary btn-xs d-sm-none capture-btn'><span class='fa-solid fa-location-dot'></span><span>Current Location</span></button></div></div><div id='meetingAddressMap-" + contactAddressId + "' class='text-center modal-body pa-0' style='height:100%;'></div></div></form>");
- $(`#${containerId}`).find('#FormIds').after(`<div class="bg-white modal-footer find-match-footer pa-10"><a class="btn btn-light btn-sm btn-center mr-auto" href="javascript:;" id="btnClose">Close</a><a href="javascript:;" id='btn_map' class='btn btn-primary btn-sm' onclick='Bizgaze.Apps.Crm.Components.Address.Instance().getMobileLocation(${contactAddressId})'>Save</a></div>`);
- $(`#${containerId}`).find(".capture-btn").click(function () {
- instance.navigationHelper.showLoading();
- if (isMobileApp()) {
- Unibase.Platform.Helpers.MobileHelper.Instance().getCurrentLocation(contactAddressId, 2);
- }
- else {
- navigator.geolocation.getCurrentPosition(function (position) {
- instance.latd = position.coords.latitude;
- instance.lngd = position.coords.longitude;
- instance.getselectedcity(contactAddressId);
- });
- }
- });
- $(`#${containerId}`).find("#btnClose").click(function () {
- instance.navigationHelper.closePopUp();
- });
- var id = $(`#${containerId}`).find("#mapaddress-" + contactAddressId);
- id.geocomplete({ details: "form#FormIds" }).bind("geocode:result", function (event, result) {
- $(`#${containerId}`).find($("#latitude").val(result.geometry.location.lat()));
- $(`#${containerId}`).find($("#longitude").val(result.geometry.location.lng()));
- instance.latd = result.geometry.location.lat();
- instance.lngd = result.geometry.location.lng();
- instance.getselectedcity(contactAddressId);
- });
- if (contactAddressId != instance.oldcontactaddressid) {
- $(`#${containerId}`).find("#meetingAddressMap-" + instance.oldcontactaddressid).addClass('hidden');
- $(`#${containerId}`).find("#mapaddress" + instance.oldcontactaddressid).addClass('hidden');
- $(`#${containerId}`).find("#mapaddress-" + instance.oldcontactaddressid).addClass('hidden');
- }
- $(`#${containerId}`).find("#meetingAddressMap-" + contactAddressId).html('');
- $(`#${containerId}`).find("#mapaddress-" + contactAddressId).html('');
- instance.getselectedcity(contactAddressId);
- instance.oldcontactaddressid = contactAddressId;
- let deductHeight = 0;
- deductHeight += $(`#${containerId}`).find(`#mapaddress${contactAddressId}`).outerHeight(true);
- deductHeight += $(`#${containerId}`).find('.find-match-footer').outerHeight(true);
- $(`#${containerId}`).find('#meetingAddressMap-' + contactAddressId).css("height", `${$(window).innerHeight() - deductHeight}px`).attr('data-deductheight', deductHeight);
- }
- getselectedcity(contactAddressId) {
- let instance = this;
- const containerId = this.navigationHelper.getLastContainerId();
- $(`#${containerId}`).find($("#meetingAddressMap").html(''));
- $(`#${containerId}`).find($("#mapaddress-").html(''));
- var myLatlng = new google.maps.LatLng(instance.latd, instance.lngd);
- var mapOptions = {
- zoom: 8,
- center: myLatlng,
- };
- var map = new google.maps.Map($(`#${containerId}`).find("#meetingAddressMap-" + contactAddressId)[0], mapOptions);
- var marker = new google.maps.Marker({
- position: myLatlng,
- title: "Hello World!",
- draggable: true
- });
- google.maps.event.addListener(marker, 'dragend', function () {
- instance.latd = marker.getPosition().lat();
- instance.lngd = marker.getPosition().lng();
- instance.getselectedcity(contactAddressId);
- });
- marker.setMap(map);
- var url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + instance.latd + "," + instance.lngd + "&key=" + _mapsettings.key() + "&sensor=false";
- var xhr = instance.createCORSRequest1('Get', url);
- if (!xhr) {
- bootbox.alert('CORS not supported');
- return;
- }
- xhr.onload = function () {
- var text = xhr.responseText;
- var json = JSON.parse(text);
- $(`#${containerId}`).find("#mapaddress-" + contactAddressId).val(json.results[0].formatted_address);
- instance.navigationHelper.hideLoading();
- };
- xhr.onerror = function () {
- bootbox.alert('Woops, there was an error making the request.');
- instance.navigationHelper.hideLoading();
- };
- xhr.send();
- }
- createCORSRequest1(method, url) {
- var xhr = new XMLHttpRequest();
- if ("withCredentials" in xhr) {
- xhr.open(method, url, true);
- }
- else {
- xhr = null;
- }
- return xhr;
- }
- getMobileLocation(contactAddressId) {
- var instance = this;
- const containerId = this.navigationHelper.getLastContainerId();
- var geocoder = new google.maps.Geocoder();
- setTimeout(function () {
- var address = $(`#${containerId}`).find('#mapaddress-' + contactAddressId);
- geocoder.geocode({ 'address': address.val() }, function (results, status) {
- if (status == google.maps.GeocoderStatus.OK) {
- var latitude = results[0].geometry.location.lat();
- var longitude = results[0].geometry.location.lng();
- var postdata = {
- ContactAddressId: contactAddressId,
- Latd: parseFloat(instance.latd),
- Lgtd: parseFloat(instance.lngd),
- GeoTaggedDate: instance.geotaggeddate
- };
- instance.fileCacheHelper.loadJsFile('apps/crm/contacts/managers/contactmanager.js', function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().saveAddressCoordinates(postdata).then(function (response) {
- instance.navigationHelper.closePopUp();
- MessageHelper.Instance().showSuccess(response.message, 'div_ValidationSummary');
- var detailobj = Unibase.Themes.Compact.Components.Details.Instance();
- if (instance.isEmployeeDashboardRoute) {
- const portletid = +$("#hf_DashboardPortletId").val();
- Unibase.Themes.Compact.Components.Nav.Instance().loadDashboard(portletid, '');
- instance.isEmployeeDashboardRoute = false;
- }
- else {
- detailobj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
- detailobj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- detailobj._containerId = instance.navigationHelper.getLastContainerId();
- var idetailObj = detailobj;
- detailobj.loadPortlets(idetailObj);
- if ($('#hf_tripgroupid').length) {
- Unibase.Platform.Helpers.NavigationHelper.IsListRefresh = true;
- }
- }
- }, null);
- });
- }
- else {
- instance.fileCacheHelper.loadJsFile('apps/crm/contacts/managers/contactmanager.js', function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getLatLongByAddress(address).then(function (response) {
- if (response.result != "") {
- var lat = JSON.parse(response.result).results[0].geometry.location.lat;
- $('#hfLattitude').val(lat);
- alert(lat);
- var lng = JSON.parse(response.result).results[0].geometry.location.lng;
- $('#hfLongitude').val(lng);
- }
- });
- });
- alert('Please Select Address');
- }
- });
- });
- }
- LoadMapInMobile(contactAddressId, latid, lngid) {
- var instance = this;
- instance.latd = latid;
- instance.lngd = lngid;
- instance.getselectedcity(contactAddressId);
- }
- static Instance() {
- if (this._instance === undefined)
- this._instance = new Address();
- return this._instance;
- }
- }
- Components.Address = Address;
- })(Components = Crm.Components || (Crm.Components = {}));
- })(Crm = Apps.Crm || (Apps.Crm = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|