").dxTextBox( {
width : 150,
placeholder : "city",
value : city,
onValueChanged : function( e ) {
options.component.updateData( "city", e.value );
}
, onEnterKey : function( e ) {
//instance.search1FS();
}
}).css( { "display" : "inline-block" } );
let stateSelectBox = $("
").dxSelectBox( {
width : 80,
dataSource : Fse.Data.newDataSource( { object : "UT.states", keyField : "state", objectParams : { countryId : 27 } } ),
placeholder : "state",
displayExpr : "state",
valueExpr : "state",
searchEnabled : true,
searchExpr : "state",
value : state,
searchMethod : "startswith",
showClearButton : true,
validationGroup : options.component.option( "validationGroup" ),
onValueChanged : function( e ) {
options.component.updateData( "state", e.value );
}
, onEnterKey : function( e ) {
// instance.search1FS();
}
}).css( { "display" : "inline-block", "margin-left" : "8px" } );
itemElement.append( cityTextBox ).append( "," ).append( stateSelectBox ); //.append( zipCodeTextBox )
}
},
{ name : "zipcode",
dataField : "zipcode",
label : { text : "Zip Code" }, editorType: 'dxTextBox',
editorOptions :{
width : 80,
placeholder : "zipcode",
onValueChanged : function( e ) {
// options.component.updateData( "zipcode", e.value );
}
, onEnterKey : function( e ) {
// instance.search1FS();
}
}
}
]},
{ label : { text : "Internal Comments"},
dataField : "comments",
editorType : "dxTextArea",
editorOptions :{
colSpan: 2,
width : 300,
height: 90,
maxLength: 500,
// value : comments,
placeholder : "Comments",
// valueChangeEvent: 'keyup',
/* onValueChanged(data) {
//console.log(data);
//instance.partnerContactForm.itemOption('address', 'disabled', newValue);
// instance.partnerContactForm.itemOption('general.HomeAddress', 'visible', previousValue);
//instance.partnerContactForm.getEditor('address1').option('readOnly', newValue);
var length = data.value.length;
commentsAreaCharacter.option('value', `${length + '/100'}`);
},
/* onKeyDown : function( e ) {
var length = e.value.length;
console.log(length);
commentsAreaCharacter.dxTextArea("option", "value",`${length + '/100'}`); //option('text', `${length + '/100'}`);
//commentsAreaCharacter.text(length + '/100');
//element.dxSelectBox("option", "value",items[0].Reason);
options.component.updateData( "internalComments", e.value );
}*/
}
},
{
label : { text : "Last Updated" },
template : function( options, itemElement ) {
const lastUpdatedText = $("
").dxDateBox( {
readOnly: true,
useMaskBehavior: true,
displayFormat: 'MMM d, yyyy hh:mm a',
value: lastUpdated,
hoverStateEnabled: false,
onValueChanged : function( e ) {
options.component.updateData( "lastUpdated", e.value );
}
}).css( { "display" : "block", "border" : "none" } );
itemElement.append( lastUpdatedText );
}
}]
}]
}).dxForm( "instance" );
let submitButton = $("
").dxButton( {
text : "Save",
type : "default",
validationGroup: "savePartnerContactForm",
onClick : function( be ) {
var result = be.validationGroup.validate();
if (result.isValid)
{
savePartnerContact();
}
}
}).dxButton( "instance" );
let popupToolbarItems = [
{ toolbar : "bottom", location : "after", widget : "dxButton",
options : {
text : "Cancel",
type : "normal",
onClick : function( be ) {
if( confirm( "Are you sure?" )) {
instance.popup.hide();
}
}
}
},
{ toolbar : "bottom", location : "after", template : function() {
return submitButton.element();
}
}
];
instance.popup = $("
").dxPopup( {
title : instance.options.editorTitle,
height : 600,
width: "auto",
hideOnOutsideClick : true,
toolbarItems : popupToolbarItems,
contentTemplate : function() {
return $("
").append( instance.partnerContactForm.element() );
},
onShown: function (e) {
// console.log(instance.partnerContactForm.getEditor('operatorContact'));
},
onHidden : function( e ) {
e.component.element().remove();
e.component.dispose();
// console.log(instance);
}
}).dxPopup( "instance" );
instance.popup.element().appendTo( "body" );
instance.popup.show();
let savePartnerContact= function() {
console.log("in save");
console.log(instance);
let dataToSend = $.extend( true, {}, instance.partnerContactForm.option( "formData" ) );
// TODO - get this to protect the page until the load operation is complete
let loadPanel = $("
").dxLoadPanel( {
message : "Working...",
deplay : 0,
hideOnOutsideClick : false,
hideOnParentScroll : false,
container : instance.popup.element(),
onHidden : function( e ) {
e.component.element().remove();
e.component.dispose();
}
}).appendTo( $("body") ).dxLoadPanel( "instance" );
// if any of the contact fields have been added, then we are going to add a contact
dataToSend.addContact = true;
dataToSend.partnerType = instance.data.partnerType;
dataToSend.partnerId = instance.data.partnerId;
if(typeof dataToSend.fspro_userId !== 'undefined')
{
dataToSend.addContact = false;
}
// console.log("dataToSend--- ");
// console.log(dataToSend);
loadPanel.show();
Fse.Ajax.performAction( {
object : "CRM.savePartnerContact",
data : dataToSend
}).done( function( addpartnerResult ) {
// console.log("output = ");
// console.log(addpartnerResult);
instance.options.onSuccess(addpartnerResult);
}).then( function() {
loadPanel.hide();
instance.popup.hide();
});
}
}