Current Path : /var/www/axolotl/data/www/axolotl.ru/www/bitrix/js/crm/entity-editor/js/ |
Current File : /var/www/axolotl/data/www/axolotl.ru/www/bitrix/js/crm/entity-editor/js/client-editor.min.js |
BX.namespace("BX.Crm");if(typeof BX.Crm.EntityEditorClientMode==="undefined"){BX.Crm.EntityEditorClientMode={undefined:0,select:1,create:2,edit:3,loading:4}}if(typeof BX.Crm.EntityEditorClientSearchBox==="undefined"){BX.Crm.EntityEditorClientSearchBox=function(){this._id="";this._settings={};this._editor=null;this._clientEntityEditor=null;this._clientEntityEditorEnabled=null;this._clientEntityEditorFields=null;this._clientEntityEditorFieldsParams=null;this._clientEntityEditorChangeHandler=BX.delegate(this.onClientEntityEditorChange,this);this._container=null;this._wrapper=null;this._badgeElement=null;this._editButton=null;this._changeButton=null;this._deleteButton=null;this._loadingIcon=null;this._parentField=null;this._entityInfo=null;this._entityTypeName="";this._externalEditorPages=null;this._searchInput=null;this._searchControl=null;this._loaderConfig=null;this._changeNotifier=null;this._titleChangeNotifier=null;this._resetNotifier=null;this._deletionNotifier=null;this._enableDeletion=true;this._editButtonHandler=BX.delegate(this.onEditButtonClick,this);this._changeButtonHandler=BX.delegate(this.onChangeButtonClick,this);this._deleteButtonHandler=BX.delegate(this.onDeleteButtonClick,this);this._inputFocusHandler=BX.delegate(this.onInputFocus,this);this._inputBlurHandler=BX.delegate(this.onInputBlur,this);this._inputDblClickHandler=BX.delegate(this.onInputDblClick,this);this._mode=BX.Crm.EntityEditorClientMode.undefined;this._multifieldChangeNotifier=null;this._maskedPhone=null;this._emailInput=null;this._phoneId="";this._emailId="";this._enableQuickEdit=true;this._hasFocus=false;this._hasLayout=false;this._hasMultifieldLayout=false;this._isRequired=false;this._enableRequisiteSelection=false;this.detailSearchPlacement=null;this.entitySearchPopupCloseHandler=null;this.placementSearchParamsHandler=null;this.beforeAddPlacementItemsHandler=null;this.placementEntitySelectHandler=null;this.placementSetFoundItemsHandler=null;this.searchControlPopup=null;this.onDocumentClickConfirm=null;this.creatingItem=null};BX.Crm.EntityEditorClientSearchBox.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._editor=BX.prop.get(this._settings,"editor",null);this._parentField=BX.prop.get(this._settings,"parentField",null);this._container=BX.prop.getElementNode(this._settings,"container",null);this._isRequired=BX.prop.getBoolean(this._settings,"isRequired",false);var i=BX.prop.get(this._settings,"entityInfo",null);if(i){this._entityInfo=i;this._entityTypeName=i.getTypeName()}else{this._entityTypeName=BX.prop.getString(this._settings,"entityTypeName","")}this._entityTypeId=BX.prop.getInteger(this._settings,"entityTypeId",0);this._categoryId=BX.prop.getInteger(this._settings,"categoryId",0);this._mode=BX.prop.getInteger(this._settings,"mode",BX.Crm.EntityEditorClientMode.select);if(this._mode===BX.Crm.EntityEditorClientMode.edit&&!(this._entityInfo&&this._entityInfo.canUpdate())){this._mode=BX.Crm.EntityEditorClientMode.select}this._enableQuickEdit=BX.prop.getBoolean(this._settings,"enableQuickEdit",true);this._enableDeletion=BX.prop.getBoolean(this._settings,"enableDeletion",true);this._loaderConfig=BX.prop.get(this._settings,"loaderConfig",null);this._changeNotifier=BX.CrmNotifier.create(this);this._titleChangeNotifier=BX.CrmNotifier.create(this);this._deletionNotifier=BX.CrmNotifier.create(this);this._resetNotifier=BX.CrmNotifier.create(this);this._multifieldChangeNotifier=BX.CrmNotifier.create(this);this._clientEntityEditorEnabled=BX.prop.getBoolean(this._settings,"clientEditorEnabled",false);this._clientEntityEditorFields=BX.prop.get(this._settings,"clientEditorFields",[]);this._clientEntityEditorFieldsParams=BX.prop.get(this._settings,"clientEditorFieldsParams",{});this._enableRequisiteSelection=BX.prop.getBoolean(this._settings,"enableRequisiteSelection",false)},getMessage:function(t){return BX.prop.getString(BX.Crm.EntityEditorClientSearchBox.messages,t)},getEntity:function(){return this._entityInfo},setEntityTypeName:function(t){if(this._entityTypeName!==t){this._entityTypeName=t}},setEntity:function(t,e){var i=this._entityInfo;this._entityInfo=t;if(t){this._entityTypeName=t.getTypeName()}if(this._entityInfo&&this._entityInfo.getId()===0){this.setMode(BX.Crm.EntityEditorClientMode.create)}else if(this._mode===BX.Crm.EntityEditorClientMode.loading){this.setMode(BX.Crm.EntityEditorClientMode.edit)}else{this.setMode(BX.Crm.EntityEditorClientMode.select);this.releaseEntityEditor()}this.clearMultifieldLayout();this.adjust();if(e){this._changeNotifier.notify([this._entityInfo,i])}},setupEntity:function(t,e){if(e<=0){return}this.setEntityTypeName(t);this.loadEntityInfo(e)},hasEntity:function(){return!!this._entityInfo},isNewEntity:function(){return this._entityInfo&&this._entityInfo.getId()===0},canUpdateEntity:function(){return this._entityInfo&&this._entityInfo.canUpdate()},getMode:function(){return this._mode},setMode:function(t){if(!BX.type.isNumber(t)){t=parseInt(t);if(!BX.type.isNumber(t)){throw"EntityEditorClientSearchBox: Argument must be integer."}}if(this._mode===t){return}this._mode=t},setSelectRequisiteSelectionEnabled:function(t){if(this._enableRequisiteSelection!==t){this._enableRequisiteSelection=t;if(this._clientEntityEditor){var e=null;var i=this._clientEntityEditor._controllers;if(i.length>0){for(var n in i){if(i[n]instanceof BX.Crm.EntityEditorRequisiteController){e=i[n]}}}if(e){e.setSelectModeEnabled(this._enableRequisiteSelection)}}}},layout:function(t){if(this._hasLayout){return}if(!BX.type.isPlainObject(t)){t={}}this._wrapper=BX.create("div",{props:{className:"crm-entity-widget-content-search-row"}});this.innerWrapper=BX.create("div",{props:{className:"crm-entity-widget-content-search-inner"}});var e=BX.prop.getElementNode(t,"anchor",null);if(e){this._container.insertBefore(this._wrapper,e)}else{this._container.appendChild(this._wrapper)}this._wrapper.appendChild(this.innerWrapper);var i=BX.create("div",{props:{className:"crm-entity-widget-content-search-box"}});this.innerWrapper.appendChild(i);var n=BX.create("div",{props:{className:"crm-entity-widget-img-box"}});if(this._entityTypeName===BX.CrmEntityType.names.company){BX.addClass(n,"crm-entity-widget-img-company")}else if(this._entityTypeName===BX.CrmEntityType.names.contact){BX.addClass(n,"crm-entity-widget-img-contact")}i.appendChild(n);this._searchInput=BX.create("input",{props:{type:"text",placeholder:BX.prop.getString(this._settings,"placeholder",""),className:"crm-entity-widget-content-input crm-entity-widget-content-search-input",autocomplete:"nope"}});i.appendChild(this._searchInput);BX.bind(this._searchInput,"focus",this._inputFocusHandler);BX.bind(this._searchInput,"blur",this._inputBlurHandler);BX.bind(this._searchInput,"dblclick",this._inputDblClickHandler);this._badgeElement=BX.create("div",{props:{className:"crm-entity-widget-badge"}});i.appendChild(this._badgeElement);this._editButton=BX.create("div",{props:{className:"crm-entity-widget-btn-edit"}});i.appendChild(this._editButton);BX.bind(this._editButton,"click",this._editButtonHandler);this._changeButton=BX.create("div",{props:{className:"crm-entity-widget-btn-select",title:this.getMessage(this._entityTypeName.toLowerCase()+"ChangeButtonHint")}});i.appendChild(this._changeButton);BX.bind(this._changeButton,"click",this._changeButtonHandler);this._loadingIcon=BX.create("div",{style:{display:"none"},props:{className:"ui-ctl-after ui-ctl-icon-loader"}});i.appendChild(this._loadingIcon);if(this._entityInfo){this._searchInput.value=this._entityInfo.getTitle()}var s={types:[this._entityTypeName],categoryId:this._categoryId,scope:"index"};if(BX.prop.getBoolean(this._settings,"enableMyCompanyOnly",false)){s.isMyCompany="Y"}this._searchControl=new BX.UI.Dropdown({searchAction:"crm.api.entity.search",searchOptions:s,searchResultRenderer:null,targetElement:this._searchInput,items:BX.prop.getArray(this._settings,"lastEntityInfos",[]),enableCreation:BX.prop.getBoolean(this._settings,"enableCreation",false),enableCreationOnBlur:this._enableQuickEdit,autocompleteDelay:500,context:{origin:"crm.entity.editor",isEmbedded:this._editor.isEmbedded()},messages:{creationLegend:this.getMessage(this._entityTypeName.toLowerCase()+"ToCreateLegend"),notFound:this.getMessage("notFound")},events:{onSelect:this.onEntitySelect.bind(this),onAdd:this.onEntityAdd.bind(this),onReset:this.onEntityReset.bind(this),onGetNewAlertContainer:this.onEntitySearch.bind(this)}});this._deleteButton=BX.create("div",{props:{className:"crm-entity-widget-btn-close"}});if(!this._enableDeletion){this._deleteButton.style.display="none"}this.innerWrapper.appendChild(this._deleteButton);BX.bind(this._deleteButton,"click",this._deleteButtonHandler);window.setTimeout(function(){this.adjust(t)}.bind(this),0);this._hasLayout=true},clearLayout:function(){if(!this._hasLayout){return}if(this.onDocumentClickConfirm){this.onDocumentClickConfirm.close();this.onDocumentClickConfirm=null}this.clearMultifieldLayout();BX.unbind(this._editButton,"click",this._editButtonHandler);BX.unbind(this._deleteButton,"click",this._deleteButtonHandler);BX.unbind(this._changeButton,"click",this._changeButtonHandler);this._deleteButton=this._changeButton=this._searchControl=this._badgeElement=this._loadingIcon=null;this._wrapper=BX.remove(this._wrapper);this.releaseEntityEditor();this._hasLayout=false},release:function(){this.releaseEntityEditor()},releaseEntityEditor:function(){if(this._clientEntityEditor){this._clientEntityEditor.removeControlChangeListener(this._clientEntityEditorChangeHandler);this._clientEntityEditor.release();this._clientEntityEditor=null}},validate:function(t){if(this._isRequired&&this._searchInput&&this._searchInput.value===""){return false}if(this._clientEntityEditorEnabled&&this._clientEntityEditor){return this._clientEntityEditor.validate(t)}return true},prepareMultifieldLayout:function(){if(this._hasMultifieldLayout){return}this._multifieldContainer=BX.create("div",{props:{className:"crm-entity-widget-content-multifield"}});this._wrapper.appendChild(this._multifieldContainer);if(this._clientEntityEditorEnabled){this._editorContainer=BX.create("div",{props:{className:"crm-entity-widget-content-client-editor"}});this.createClientEntityEditor(this._editorContainer,this._entityInfo.getTypeName()+"_"+this._entityInfo.getId()+"_client_editor");this._multifieldContainer.appendChild(this._editorContainer)}else{this._phoneInput=BX.create("input",{props:{type:"hidden"}});this._countryFlagNode=BX.create("span",{props:{className:"crm-entity-widget-content-country-flag"}});this._maskedPhoneInput=BX.create("input",{props:{type:"text",placeholder:BX.message("CRM_EDITOR_PHONE"),className:"crm-entity-widget-content-input crm-entity-widget-content-input-phone",autocomplete:"nope"}});this._multifieldContainer.appendChild(BX.create("div",{props:{className:"crm-entity-widget-content-multifield-item"},children:[this._countryFlagNode,this._maskedPhoneInput,this._phoneInput]}));this._maskedPhone=new BX.PhoneNumber.Input({node:this._maskedPhoneInput,flagNode:this._countryFlagNode,flagSize:24,onChange:BX.delegate(this.onPhoneChange,this)});this._emailInput=BX.create("input",{props:{type:"text",placeholder:BX.message("CRM_EDITOR_EMAIL"),className:"crm-entity-widget-content-input",autocomplete:"nope"}});BX.bind(this._emailInput,"input",BX.delegate(this.onEmailChange,this));this._multifieldContainer.appendChild(BX.create("div",{props:{className:"crm-entity-widget-content-multifield-item"},children:[this._emailInput]}))}var t="",e="",i=0;this._phoneId=this._emailId="";if(this._entityInfo){var n=this._entityInfo.getPhones();if(n.length===0){this.setPhoneFieldValue("")}else{this._phoneId=BX.prop.getString(n[0],"ID","");e=this.parseMultifieldPseudoId(this._phoneId);if(e>=0){i=e+1}this.setPhoneFieldValue(BX.prop.getString(n[0],"VALUE",""))}var s=this._entityInfo.getEmails();if(s.length===0){this.setEmailFieldValue("")}else{this._emailId=BX.prop.getString(s[0],"ID","");t=this.parseMultifieldPseudoId(this._emailId);if(t>=0){i=t+1}this.setEmailFieldValue(BX.prop.getString(s[0],"VALUE",""))}}else{this.setEmailFieldValue("");this.setPhoneFieldValue("")}if(this._phoneId===""){this._phoneId=this.prepareMultifieldPseudoId(i);i++}if(this._emailId===""){this._emailId=this.prepareMultifieldPseudoId(i);i++}this._hasMultifieldLayout=true},clearMultifieldLayout:function(){if(!this._hasMultifieldLayout){return}this._multifieldContainer=BX.remove(this._multifieldContainer);this._phoneInput=this._maskedPhone=this._emailInput=null;this._phoneId=this._emailId="";this._hasMultifieldLayout=false},prepareMultifieldPseudoId:function(t){return"n"+t.toString()},parseMultifieldPseudoId:function(t){var e=t.match(/^n(\d+)/);return BX.type.isArray(e)&&e.length>1?parseInt(e[1]):-1},isNeedToSave:function(){return this._mode===BX.Crm.EntityEditorClientMode.create||this._mode===BX.Crm.EntityEditorClientMode.edit},save:function(){if(this._mode!==BX.Crm.EntityEditorClientMode.create&&this._mode!==BX.Crm.EntityEditorClientMode.edit){return}if(!this._entityInfo){return}if(this._searchInput&&this._searchInput.value!==this._entityInfo.getTitle()){this._entityInfo.setTitle(this._searchInput.value)}if(this.hasPhoneField()){this._entityInfo.setMultifieldById({ID:this._phoneId,TYPE_ID:"PHONE",VALUE:this.getPhoneFieldValue()},this._phoneId)}if(this.hasEmailField()){this._entityInfo.setMultifieldById({ID:this._emailId,TYPE_ID:"EMAIL",VALUE:this.getEmailFieldValue()},this._emailId)}if(this.hasRequisitesField()){this._entityInfo.setRequisitesForSave(this.getRequisitesFieldValueForSave())}if(this._clientEntityEditorEnabled&&BX.type.isInteger(this._categoryId)){this._entityInfo.setCategoryId(this._categoryId)}},focus:function(){if(this._searchInput){this._searchInput.focus()}},hasValue:function(){return!!this._entityInfo},addMultifieldChangeListener:function(t){this._multifieldChangeNotifier.addListener(t)},removeMultifieldChangeListener:function(t){this._multifieldChangeNotifier.removeListener(t)},addTitleChangeListener:function(t){this._titleChangeNotifier.addListener(t)},removeTitleChangeListener:function(t){this._titleChangeNotifier.removeListener(t)},addChangeListener:function(t){this._changeNotifier.addListener(t)},removeChangeListener:function(t){this._changeNotifier.removeListener(t)},addDeletionListener:function(t){this._deletionNotifier.addListener(t)},removeDeletionListener:function(t){this._deletionNotifier.removeListener(t)},addResetListener:function(t){this._resetNotifier.addListener(t)},removeResetListener:function(t){this._resetNotifier.removeListener(t)},isQuickEditEnabled:function(){return this._enableQuickEdit},enableQuickEdit:function(t){t=!!t;if(this._enableQuickEdit===t){return}this._enableQuickEdit=t;if(this._searchControl){this._searchControl.enableCreationOnBlur=this._enableQuickEdit}},enableDeletion:function(t){t=!!t;if(this._enableDeletion===t){return}this._enableDeletion=t;if(this._hasLayout){this._deleteButton.style.display=t?"":"none"}},adjust:function(){if(!this._hasLayout){return}if(!this.isClientEntityEditorDataLoaded()&&this._mode===BX.Crm.EntityEditorClientMode.edit){this.setMode(BX.Crm.EntityEditorClientMode.loading);this.loadEntityInfo(this._entityInfo.getId())}if(this._mode===BX.Crm.EntityEditorClientMode.loading){BX.addClass(this._wrapper,"crm-entity-widget-content-block-loading")}else{BX.removeClass(this._wrapper,"crm-entity-widget-content-block-loading")}if(this._hasFocus){BX.removeClass(this._wrapper,"crm-entity-widget-content-block-complete");BX.addClass(this._wrapper,"crm-entity-widget-content-block-inprogress")}else{BX.removeClass(this._wrapper,"crm-entity-widget-content-block-inprogress");BX.addClass(this._wrapper,"crm-entity-widget-content-block-complete")}if(this.hasEntity()){if(this._mode===BX.Crm.EntityEditorClientMode.create||this._mode===BX.Crm.EntityEditorClientMode.edit||this._mode===BX.Crm.EntityEditorClientMode.loading){this._badgeElement.innerHTML=this.getMessage(this._mode===BX.Crm.EntityEditorClientMode.create?this._entityTypeName.toLowerCase()+"ToCreateTag":"entityEditTag");BX.removeClass(this._wrapper,"crm-entity-widget-content-block-selection-mode");BX.addClass(this._wrapper,this._mode===BX.Crm.EntityEditorClientMode.create?"crm-entity-widget-content-block-new-mode":"crm-entity-widget-content-block-edit-mode");if(this._searchInput.value.length<0){BX.removeClass(this._wrapper,"crm-entity-widget-content-block-textreset")}else{BX.addClass(this._wrapper,"crm-entity-widget-content-block-textreset")}if(this._mode===BX.Crm.EntityEditorClientMode.loading){this._loadingIcon.style.display="";this._changeButton.style.display="none";this.clearMultifieldLayout()}else{this._loadingIcon.style.display="none";this._changeButton.style.display="";this.prepareMultifieldLayout()}if(this._searchControl){this._searchControl.isDisabled=true}}else if(this._mode===BX.Crm.EntityEditorClientMode.select){BX.removeClass(this._wrapper,"crm-entity-widget-content-block-badge");BX.addClass(this._wrapper,"crm-entity-widget-content-block-selection-mode");this.clearMultifieldLayout();if(this._searchControl){this._searchControl.isDisabled=false}}if(this._searchInput.value.length>0){BX.addClass(this._wrapper,"crm-entity-widget-content-block-textreset")}else{BX.removeClass(this._wrapper,"crm-entity-widget-content-block-textreset")}}else{BX.removeClass(this._wrapper,"crm-entity-widget-content-block-new-mode");BX.removeClass(this._wrapper,"crm-entity-widget-content-block-edit-mode");BX.removeClass(this._wrapper,"crm-entity-widget-content-block-selection-mode");BX.removeClass(this._wrapper,"crm-entity-widget-content-block-textreset");BX.removeClass(this._wrapper,"crm-entity-widget-content-block-complete");BX.removeClass(this._wrapper,"crm-entity-widget-content-block-inprogress");this.clearMultifieldLayout();if(this._searchControl){this._searchControl.isDisabled=false}if(this._loadingIcon){this._loadingIcon.style.display=this._mode===BX.Crm.EntityEditorClientMode.loading?"":"none"}}},getParentContextId:function(){return this._parentField.getContextId()},getEntityCreateUrl:function(t){return this._parentField.getEntityCreateUrl(t)},getEntityEditUrl:function(t,e){return this._parentField.getEntityEditUrl(t,e)},openEntityCreatePage:function(t){var e=this.getEntityCreateUrl(this._entityTypeName);if(e===""){return}var i=this.getParentContextId()+"_"+BX.util.getRandomString(6).toUpperCase();var n=BX.prop.getObject(t,"urlParams",{});n["external_context_id"]=i;e=BX.util.add_url_param(e,n);if(!this._externalEventHandler){this._externalEventHandler=BX.delegate(this.onExternalEvent,this);BX.addCustomEvent(window,"onLocalStorageSet",this._externalEventHandler)}if(!this._externalEditorPages){this._externalEditorPages={}}this._externalEditorPages[i]=e;BX.Crm.Page.open(e)},openEntityEditPage:function(t){var e=this.getEntityEditUrl(this._entityTypeName,BX.prop.getInteger(t,"entityId",0));if(e===""){return}var i=this.getParentContextId()+"_"+BX.util.getRandomString(6).toUpperCase();var n=BX.prop.getObject(t,"urlParams",{});n["external_context_id"]=i;e=BX.util.add_url_param(e,n);if(!this._externalEventHandler){this._externalEventHandler=BX.delegate(this.onExternalEvent,this);BX.addCustomEvent(window,"onLocalStorageSet",this._externalEventHandler)}if(!this._externalEditorPages){this._externalEditorPages={}}this._externalEditorPages[i]=e;BX.Crm.Page.open(e)},createClientEntityEditor:function(t,e){if(this._clientEntityEditor===null){var i={current:[],available:[]};var n=[];var s=BX.Type.isArray(this._clientEntityEditorFields)?this._clientEntityEditorFields:[];var r;r="available";if(s.indexOf("PHONE")>-1){n.push({name:"PHONE"});r="current"}i[r].push({name:"PHONE",title:BX.message("CRM_EDITOR_PHONE"),type:"phone",editable:true,placeholders:{creation:BX.message("CRM_EDITOR_PHONE"),change:BX.message("CRM_EDITOR_PHONE")},showTitle:false,virtual:true});r="available";if(s.indexOf("EMAIL")>-1){n.push({name:"EMAIL"});r="current"}i[r].push({name:"EMAIL",title:BX.message("CRM_EDITOR_EMAIL"),type:"text",editable:true,placeholders:{creation:BX.message("CRM_EDITOR_EMAIL"),change:BX.message("CRM_EDITOR_EMAIL")},showTitle:false,virtual:true});r="available";if(s.indexOf("ADDRESS")>-1){n.push({name:"ADDRESS"});r="current"}i[r].push({name:"ADDRESS",title:BX.message("CRM_EDITOR_ADDRESS"),type:"requisite_address",editable:true,virtual:true,data:BX.prop.get(this._clientEntityEditorFieldsParams,"ADDRESS",{})});r="available";if(s.indexOf("REQUISITES")>-1){n.push({name:"REQUISITES"});r="current"}i[r].push({name:"REQUISITES",title:BX.message("CRM_EDITOR_REQUISITES"),type:"requisite",editable:true,data:BX.prop.get(this._clientEntityEditorFieldsParams,"REQUISITES",{})});var o=e+"_SECTION";var a=BX.UI.EntityConfig.create(e,{data:[{name:o,type:"section",elements:n}],scope:"C",enableScopeToggle:false,canUpdatePersonalConfiguration:false,canUpdateCommonConfiguration:false,options:[],categoryName:"crm.entity.editor"});var l=BX.UI.EntityScheme.create(e,{current:[{name:o,type:"section",enableToggling:false,transferable:false,data:{isRemovable:false,enableTitle:false,enableToggling:false},elements:i.current}],available:i.available});var h={};var d=this._entityInfo.getPhones();if(d.length>0){h["PHONE"]=BX.prop.getString(d[0],"VALUE","")}var c=this._entityInfo.getEmails();if(c.length>0){h["EMAIL"]=BX.prop.getString(c[0],"VALUE","")}var u=this._entityInfo.getRequisites();if(BX.Type.isArray(u)&&u.length>0){h["REQUISITES"]=u}this._clientEntityEditor=BX.Crm.EntityEditor.create(e,{container:t,entityTypeId:this._entityTypeId,entityId:this._entityInfo.getId(),model:BX.Crm.EntityEditorModelFactory.create(this._editor.getEntityTypeId(),this._entityInfo.getId(),{data:h}),config:a,scheme:l,validators:[],controllers:[{name:"REQUISITE_CONTROLLER",type:"requisite_controller",config:{requisiteFieldId:"REQUISITES",addressFieldId:"ADDRESS",requisiteBinding:BX.prop.getObject(this._settings,"requisiteBinding",null),enableRequisiteSelection:this._enableRequisiteSelection,enableMyCompanyOnly:BX.prop.getBoolean(this._settings,"enableMyCompanyOnly",false)}}],initialMode:BX.UI.EntityEditorMode.names.edit,enableModeToggle:false,enableVisibilityPolicy:false,enableToolPanel:false,enableBottomPanel:false,enableFieldsContextMenu:false,enablePageTitleControls:false,readOnly:false,enableAjaxForm:false,enableRequiredUserFieldCheck:true,enableSectionEdit:false,enableSectionCreation:false,enableSettingsForAll:false,containerId:e,serviceUrl:this._editor.getServiceUrl(),externalContextId:"",contextId:"",context:{},requisiteEditUrl:this._editor.getRequisiteEditUrl("#requisite_id#"),options:{show_always:"Y"},attributeConfig:"",showEmptyFields:false,isEmbedded:true,enableConfigControl:false,enableSectionDragDrop:false,enableFieldDragDrop:false,enableContextDataLayout:false,formTagName:"div"});this._clientEntityEditor.addControlChangeListener(this._clientEntityEditorChangeHandler);this._clientEntityEditor._toolPanel=BX.Crm.EntityEditorToolPanelProxy.create(this._clientEntityEditor.getId(),{editor:this._clientEntityEditor,visible:false,parentPanel:this._editor?this._editor._toolPanel:null})}return this._clientEntityEditor},isClientEntityEditorDataLoaded:function(){if(this._clientEntityEditorEnabled){if(this.isNewEntity()){return true}return this._entityInfo&&this._entityInfo.hasEditRequisiteData()}else{return true}},getClientEditorField:function(t){return this._clientEntityEditor.getControlByIdRecursive(t)},getClientEditorFieldValue:function(t){var e=this.getClientEditorField(t);if(e){return e.getRuntimeValue()}return""},setClientEditorFieldValue:function(t,e){var i=this.getClientEditorField(t);if(i){this._clientEntityEditor._model.setField(t,e);i.refreshLayout()}},hasPhoneField:function(){if(this._clientEntityEditorEnabled){return!!this.getClientEditorField("PHONE")}else{return!!this._phoneInput}},getPhoneFieldValue:function(){if(this._clientEntityEditorEnabled){return this.getClientEditorFieldValue("PHONE")}else{return this._phoneInput.value}},setPhoneFieldValue:function(t){if(this._clientEntityEditorEnabled){return this.setClientEditorFieldValue("PHONE",t)}else{this._maskedPhone.setValue(this._phoneInput.value=t)}},hasEmailField:function(){if(this._clientEntityEditorEnabled){return!!this.getClientEditorField("EMAIL")}else{return!!this._emailInput}},getEmailFieldValue:function(){if(this._clientEntityEditorEnabled){return this.getClientEditorFieldValue("EMAIL")}else{return this._emailInput.value}},setEmailFieldValue:function(t){if(this._clientEntityEditorEnabled){return this.setClientEditorFieldValue("EMAIL",t)}else{this._emailInput.value=t}},hasRequisitesField:function(){if(this._clientEntityEditorEnabled){return this.getClientEditorField("ADDRESS")||this.getClientEditorField("REQUISITES")}else{return false}},getRequisitesFieldValueForSave:function(){if(this._clientEntityEditorEnabled){var t=this._clientEntityEditor.prepareControllersData();if(t.hasOwnProperty("REQUISITES")){return t["REQUISITES"]}}return null},onExternalEvent:function(t){var e=BX.prop.getString(t,"key","");if(e!=="onCrmEntityCreate"&&e!=="onCrmEntityUpdate"){return}var i=BX.prop.getObject(t,"value",{});var n=BX.prop.getString(i,"context","");if(BX.prop.getString(this._externalEditorPages,n,"")===""){return}var s=BX.prop.getString(i,"entityTypeName","");var r=BX.prop.getInteger(i,"entityId",0);if(this._entityTypeName!==s){return}if(e==="onCrmEntityUpdate"&&!(this._entityInfo&&this._entityInfo.getId()===r)){return}this.setupEntity(this._entityTypeName,r);window.setTimeout(function(){BX.Crm.Page.close(this._externalEditorPages[n],{identity:{key:"external_context_id",value:n}});delete this._externalEditorPages[n]}.bind(this),100)},onPhoneChange:function(t){if(!this._phoneInput){return}if(this.getPhoneFieldValue()!==t.value){this.setPhoneFieldValue(t.value);this._multifieldChangeNotifier.notify()}},onEmailChange:function(t){this._multifieldChangeNotifier.notify()},onEditButtonClick:function(){if(this.isNewEntity()||!this.canUpdateEntity()||this.getMode()===BX.Crm.EntityEditorClientMode.edit){return}if(this._searchControl){this._searchControl.destroyPopupWindow()}if(!this.isQuickEditEnabled()){this.openEntityEditPage({entityId:this._entityInfo.getId(),urlParams:{init_mode:"edit"}});return}this.setMode(BX.Crm.EntityEditorClientMode.edit);this.clearMultifieldLayout();this.adjust()},onChangeButtonClick:function(t){var e=this.getMode()===BX.Crm.EntityEditorClientMode.create;if(e){this.setEntity(null,true);this.adjust()}else{this.setMode(BX.Crm.EntityEditorClientMode.select)}this.releaseEntityEditor();if(!e&&this._searchInput){this._searchInput.focus()}if(this.searchControlPopup){if(e){var i=function(){BX.removeCustomEvent(this._searchControl,"BX.UI.Dropdown:onSearchComplete",i);this.searchControlPopup.show()}.bind(this);BX.addCustomEvent(this._searchControl,"BX.UI.Dropdown:onSearchComplete",i);this._searchControl.previousSearchQuery="";this._searchControl.handleTypeInField()}else{this.searchControlPopup.show()}}},onDeleteButtonClick:function(t){if(this._enableDeletion){this._deletionNotifier.notify([this._entityInfo])}},onInputFocus:function(t){this._hasFocus=true;window.setTimeout(BX.delegate(this.adjust,this),150)},onInputBlur:function(t){this._hasFocus=false;window.setTimeout(BX.delegate(this.adjust,this),300);if(this._mode===BX.Crm.EntityEditorClientMode.edit&&this._searchInput.value!==this._entityInfo.getTitle()){this._titleChangeNotifier.notify([])}},onInputDblClick:function(t){},onEntityAdd:function(t,e){var i=BX.prop.getString(e,"title","");if(i===""){return}if(this._searchControl){this._searchControl.destroyPopupWindow()}if(!this.isQuickEditEnabled()){this.openEntityCreatePage({urlParams:{title:i}});return}var n={typeName:this._entityTypeName,title:i};if(BX.validation.checkIfEmail(i)){n["title"]=this.getMessage(this._entityTypeName===BX.CrmEntityType.names.contact?"unnamed":"untitled");n["advancedInfo"]={multiFields:[{ID:this.prepareMultifieldPseudoId(0),TYPE_ID:"EMAIL",VALUE:i}]}}else if(BX.validation.checkIfPhone(i)){n["title"]=this.getMessage(this._entityTypeName===BX.CrmEntityType.names.contact?"unnamed":"untitled");n["advancedInfo"]={multiFields:[{ID:this.prepareMultifieldPseudoId(0),TYPE_ID:"PHONE",VALUE:i}]}}if(this._searchInput.value!==n["title"]){this._searchInput.value=n["title"]}this.setEntity(BX.CrmEntityInfo.create(n),true);if(this._searchControl){this._searchControl.destroyPopupWindow()}},onEntityReset:function(){this.reset();if(this._searchControl){this._searchControl.destroyPopupWindow()}},onEntitySearch:function(t,e){if(!this.searchControlPopup){this.searchControlPopup=this._searchControl.getPopupWindow()}this.onBeforeEntitySearchPopupCloseHandler=this.onBeforeEntitySearchPopupClose.bind(this,this.searchControlPopup._tryCloseByEvent.bind(this.searchControlPopup));this.searchControlPopup._tryCloseByEvent=this.onBeforeEntitySearchPopupCloseHandler;this.detailSearchPlacement=new BX.Crm.Placement.DetailSearch("CRM_DETAIL_SEARCH");if(this.detailSearchPlacement){this.searchControlPopup=this._searchControl.getPopupWindow();this.entitySearchPopupCloseHandler=this.onEntitySearchPopupClose.bind(this);BX.addCustomEvent(this.searchControlPopup,"onPopupClose",this.entitySearchPopupCloseHandler);this.placementSearchParamsHandler=this.onPlacamentSearchParams.bind(this);BX.addCustomEvent(this.detailSearchPlacement,"Placements:searchParams",this.placementSearchParamsHandler);this.beforeAddPlacementItemsHandler=this.onBeforeAppendPlacementItems.bind(this);BX.addCustomEvent(this.detailSearchPlacement,"Placements:beforeAppendItems",this.beforeAddPlacementItemsHandler);this.placementEntitySelectHandler=this.onPlacementEntitySelect.bind(this);BX.addCustomEvent(this.detailSearchPlacement,"Placements:select",this.placementEntitySelectHandler);this.placementSetFoundItemsHandler=this.onPlacementSetFoundItems.bind(this);BX.addCustomEvent(this.detailSearchPlacement,"Placements:setFoundItems",this.placementSetFoundItemsHandler);this.detailSearchPlacement.show(e,e.querySelector("div.ui-dropdown-alert-text"))}},onEntitySearchPopupClose:function(){if(this._searchControl&&this._searchControl.hasOwnProperty("documentClickHandler")){BX.unbind(document,"click",this._searchControl.documentClickHandler)}if(this.detailSearchPlacement){BX.removeCustomEvent(this.detailSearchPlacement,"Placements:setFoundItems",this.placementSetFoundItemsHandler);this.placementSetFoundItemsHandler=null;BX.removeCustomEvent(this.detailSearchPlacement,"Placements:select",this.placementEntitySelectHandler);this.placementEntitySelectHandler=null;BX.removeCustomEvent(this.detailSearchPlacement,"Placements:beforeAppendItems",this.beforeAddPlacementItemsHandler);this.beforeAddPlacementItemsHandler=null;BX.removeCustomEvent(this.detailSearchPlacement,"Placements:searchParams",this.placementSearchParamsHandler);this.placementSearchParamsHandler=null;if(this.searchControlPopup){BX.removeCustomEvent(this.searchControlPopup,"onPopupClose",this.entitySearchPopupCloseHandler)}this.entitySearchPopupCloseHandler=null;this.searchControlPopup=null;BX.onCustomEvent(this.detailSearchPlacement,"Placements:destroy");this.detailSearchPlacement=null;this.creatingItem=null;this._searchControl.setItems([])}},onBeforeEntitySearchPopupClose:function(t,e){if(this.onDocumentClickConfirm){return BX.eventReturnFalse(e)}var i={active:false};BX.onCustomEvent(this.detailSearchPlacement,"Placements:active",[i]);if(i.active){BX.unbind(document,"click",this._searchControl.documentClickHandler);var n=function(t,e){BX.bind(document,"click",this._searchControl.documentClickHandler);t.close();this.onDocumentClickConfirm=null;BX.eventCancelBubble(e)}.bind(this);this.onDocumentClickConfirm=BX.UI.Dialogs.MessageBox.create({message:BX.message("CRM_EDITOR_PLACEMENT_CAUTION")||"Dow you want to terminate process?",buttons:BX.UI.Dialogs.MessageBoxButtons.OK_CANCEL,modal:true,onOk:function(e,i,s){n(e,s);this._searchControl.documentClickHandler(s);t(s)}.bind(this),onCancel:function(t,e,i){n(t,i)}});BX.eventCancelBubble(e);this.onDocumentClickConfirm.show();return BX.eventReturnFalse(e)}t(e)},onPlacamentSearchParams:function(t){t["entityTypeName"]=this._entityTypeName;t["searchQuery"]=this._searchInput.value},onBeforeAppendPlacementItems:function(){BX.addClass(this._searchControl.getPopupWindow().popupContainer,"client-editor-popup")},onPlacementEntitySelect:function(t){this.onEntitySelect({},{type:t["entityType"],id:t["id"],title:t["title"]})},onPlacementSetFoundItems:function(t,e){var i=[];e.forEach(function(e){i.push({id:e.id,title:e.name,type:this._entityTypeName,appSid:t["appSid"],module:"crm",subModule:"rest",subTitle:t["title"],attributes:{phone:e.phone?[{value:e.phone}]:"",email:e.email?[{value:e.email}]:"",web:e.web?[{value:e.web}]:""}})}.bind(this));this._searchControl.setItems(i)},onEntitySelect:function(t,e){if(t===this._searchControl&&e["appSid"]&&!e["created"]){if(!this.creatingItem){this.creatingItem=e;e._loader=new BX.Loader({target:e.node,size:40});e.node.classList.add("client-editor-active");e.node.parentNode.classList.add("client-editor-inactive");e._loader.show();BX.onCustomEvent(this.detailSearchPlacement,"Placements:pick",[{appSid:e["appSid"],data:e}])}return}if(this.creatingItem){for(var i in e){if(e.hasOwnProperty(i)){this.creatingItem[i]=e[i]}}this.creatingItem["created"]=true;this.creatingItem=null;this._searchControl.setItems([])}var n=BX.prop.getString(e,"type","");var s=BX.prop.getInteger(e,"id",0);var r=BX.prop.getString(e,"title","");this.setEntityTypeName(n);if(s<=0){return}this.setMode(BX.Crm.EntityEditorClientMode.loading);this.adjust();this.loadEntityInfo(s);this._searchInput.value=r;if(this._searchControl){this._searchControl.destroyPopupWindow()}},onEntityInfoLoad:function(t,e){var i=BX.prop.getObject(e,"DATA",null);if(i){this.setEntity(BX.CrmEntityInfo.create(i),true);if(this._hasLayout){var n=this._wrapper.nextSibling;this.clearLayout();this.layout({anchor:n})}}},onClientEntityEditorChange:function(){this._multifieldChangeNotifier.notify()},reset:function(){this._searchInput.value="";var t=this._entityInfo;this._entityInfo=null;this._resetNotifier.notify([t]);window.setTimeout(BX.delegate(this.adjust,this),150)},loadEntityInfo:function(t){var e=BX.prop.getObject(this._loaderConfig,this._entityTypeName,null);if(!e){return}BX.CrmDataLoader.create(this._id,{serviceUrl:e["url"],action:e["action"],params:{ENTITY_TYPE_NAME:this._entityTypeName,ENTITY_ID:t,NORMALIZE_MULTIFIELDS:"Y"}}).load(BX.delegate(this.onEntityInfoLoad,this))}};if(typeof BX.Crm.EntityEditorClientSearchBox.messages==="undefined"){BX.Crm.EntityEditorClientSearchBox.messages={}}BX.Crm.EntityEditorClientSearchBox.create=function(t,e){var i=new BX.Crm.EntityEditorClientSearchBox;i.initialize(t,e);return i}}if(typeof BX.Crm.EntityEditorClientLayoutType==="undefined"){BX.Crm.EntityEditorClientLayoutType={undefined:0,contactCompany:1,companyContact:2,contact:3,company:4,names:{contactCompany:"CONTACT_COMPANY",companyContact:"COMPANY_CONTACT",contact:"CONTACT",company:"COMPANY"},resolveId:function(t){t=t.toUpperCase();if(this.names.contactCompany===t){return this.contactCompany}else if(this.names.companyContact===t){return this.companyContact}else if(this.names.contact===t){return this.contact}else if(this.names.company===t){return this.company}return this.undefined}}}if(typeof BX.Crm.PrimaryClientEditor==="undefined"){BX.Crm.PrimaryClientEditor=function(){this._id="";this._settings={};this._editor=null;this._mode=BX.UI.EntityEditorMode.intermediate;this._entityInfo=null;this._entityTypeName="";this._container=null;this._wrapper=null;this._bindingWrapper=null;this._externalEventHandler=null;this._externalContext=null;this._entityBindSelector=null;this._searchWrapper=null;this._searchInput=null;this._searchControl=null;this._item=null;this._itemBindings=null;this._skeleton=null;this._loaderConfig=null;this._hasLayout=false};BX.Crm.PrimaryClientEditor.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._editor=BX.prop.get(this._settings,"editor");this._mode=BX.prop.getInteger(this._settings,"mode",0);this._container=BX.prop.getElementNode(this._settings,"container",null);this._entityInfo=BX.prop.get(this._settings,"entityInfo",null);if(this._entityInfo){this.setEntity(this._entityInfo)}else{this._entityTypeName=BX.prop.getString(this._settings,"entityTypeName","")}this._loaderConfig=BX.prop.getObject(this._settings,"loaderConfig",{})},layout:function(){var t=this._mode===BX.UI.EntityEditorMode.view;this._wrapper=BX.create("div",{props:{className:"crm-entity-widget-clients-container"}});this._bindingWrapper=null;if(!t){this._searchWrapper=BX.create("div",{props:{className:"crm-entity-widget-content-search-box"}});this._wrapper.appendChild(this._searchWrapper);this.prepareSearchLayout();this.adjustSearchLayout()}this._wrapper.appendChild(BX.create("div",{style:{clear:"both"}}));if(this._item){this._item.setContainer(this._wrapper);this._item.layout();this._bindingWrapper=BX.create("div",{props:{className:"crm-entity-widget-client-block-children"}});this._wrapper.appendChild(this._bindingWrapper);var e=this._editor.getPrimaryEntityBindings();this._itemBindings=[];var i,n;for(i=0,n=e.length;i<n;i++){var s=e[i];var r=BX.Crm.ClientEditorEntityBindingPanel.create(this._id+"_"+s.getId().toString(),{entityInfo:s,editor:this._editor,mode:this._mode,container:this._bindingWrapper,onChange:BX.delegate(this.onItemBindingChange,this)});r.layout();this._itemBindings.push(r)}}var o=BX.prop.getElementNode(this._settings,"achor",null);if(o){this._container.insertBefore(this._wrapper,o)}else{this._container.appendChild(this._wrapper)}this._hasLayout=true},adjustLayout:function(){},clearLayout:function(){if(this._item){this._item.clearLayout()}if(this._itemBindings){for(var t=0,e=this._itemBindings.length;t<e;t++){this._itemBindings[t].clearLayout()}this._itemBindings=null}this._wrapper=BX.remove(this._wrapper);this._searchWrapper=null;this._bindingWrapper=null;this._entityCreateButton=null;this._hasLayout=false},prepareSearchLayout:function(){this._searchInput=BX.create("input",{props:{id:"dropdown-input",className:"crm-entity-widget-content-input crm-entity-widget-content-search-input"},attrs:{autocomplete:"nope"}});this._searchWrapper.appendChild(this._searchInput);this._searchControl=new BX.UI.Dropdown({searchAction:"crm.api.entity.search",searchOptions:{types:[BX.CrmEntityType.names.contact,BX.CrmEntityType.names.company]},autocompleteDelay:500,searchResultRenderer:null,targetElement:this._searchInput,items:BX.prop.getArray(this._settings,"lastEntityInfos",[]),footerItems:[{caption:this.getMessage("create"),buttons:[{type:"create",caption:BX.CrmEntityType.getCaption(BX.CrmEntityType.enumeration.contact),events:{click:BX.delegate((function(){this.createEntity(BX.CrmEntityType.names.contact);this._searchControl.destroyPopupWindow()}),this)}},{type:"create",caption:BX.CrmEntityType.getCaption(BX.CrmEntityType.enumeration.company),events:{click:BX.delegate((function(){this.createEntity(BX.CrmEntityType.names.company);this._searchControl.destroyPopupWindow()}),this)}}]}],events:{onSelect:this.onEntitySelect.bind(this),onSearch:function(t){}}})},adjustSearchLayout:function(){if(this._searchWrapper){this._searchWrapper.style.display=this._item?"none":""}},getEntityTypeName:function(){return this._entityTypeName},setEntityTypeName:function(t){if(this._entityTypeName===t){return}this._entityTypeName=t},setEntity:function(t){if(this._item){if(this._hasLayout){this._item.clearLayout()}this._item=null}if(!(t instanceof BX.CrmEntityInfo)){this._entityInfo=null}else{this._entityInfo=t;this.setEntityTypeName(this._entityInfo.getTypeName());this._item=BX.Crm.ClientEditorEntityPanel.create(this._id+"_"+this._entityInfo.getId().toString(),{editor:this._editor,entityInfo:this._entityInfo,enableEntityTypeCaption:true,enableRequisite:true,requisiteBinding:BX.prop.getObject(this._settings,"requisiteBinding",{}),mode:this._mode,onDelete:BX.delegate(this.onItemDelete,this)});if(this._hasLayout){this._item.setContainer(this._wrapper);this._item.layout()}}if(this._itemBindings){for(var e=0,i=this._itemBindings.length;e<i;e++){this._itemBindings[e].clearLayout()}this._itemBindings=null}this.adjustSearchLayout()},setupEntity:function(t){if(this._entityInfo&&this._entityInfo.getId()===t){return}this.setEntity(null);var e=BX.prop.getFunction(this._settings,"onChange");if(e){e(this,this._entityInfo)}var i=BX.prop.getObject(this._loaderConfig,this._entityTypeName,null);if(i){this.showSkeleton();BX.CrmDataLoader.create(this._id,{serviceUrl:i["url"],action:i["action"],params:{ENTITY_TYPE_NAME:this._entityTypeName,ENTITY_ID:t}}).load(BX.delegate(this.onEntityInfoLoad,this))}},showSkeleton:function(){if(!this._skeleton){this._skeleton=BX.Crm.ClientEditorEntitySkeleton.create(this._id,{container:this._wrapper})}this._skeleton.layout()},hideSkeleton:function(){if(this._skeleton){this._skeleton.clearLayout()}},onEntityInfoLoad:function(t,e){var i=BX.prop.getObject(e,"DATA",null);if(i){var n=this._hasLayout;if(n){this.clearLayout()}this.hideSkeleton();var s=BX.CrmEntityInfo.create(i);this.setEntity(s);var r=BX.prop.getFunction(this._settings,"onChange");if(r){r(this,this._entityInfo)}if(n){this.layout()}}},getEntityCreateUrl:function(t){return this._editor.getEntityCreateUrl(t)},createEntity:function(t){var e=this.getEntityCreateUrl(t);if(e===""){return""}var i=this._editor.getContextId();e=BX.util.add_url_param(e,{external_context_id:i});if(!this._externalEventHandler){this._externalEventHandler=BX.delegate(this.onExternalEvent,this);BX.addCustomEvent(window,"onLocalStorageSet",this._externalEventHandler)}if(!this._externalContext){this._externalContext={}}this._externalContext[i]=e;BX.Crm.Page.open(e)},onEntitySelect:function(t,e){this._entityTypeName=BX.prop.getString(e,"type","");var i=BX.prop.getInteger(e,"id",0);if(i>0){this.setupEntity(i);this._searchControl.destroyPopupWindow()}},onExternalEvent:function(t){if(BX.prop.getString(t,"key","")!=="onCrmEntityCreate"){return}var e=BX.prop.getObject(t,"value",{});var i=BX.prop.getString(e,"context","");if(this._externalContext&&typeof this._externalContext[i]!=="undefined"){var n=BX.prop.getString(e,"entityTypeName","");var s=BX.prop.getInteger(e,"entityId",0);if(this._entityTypeName!==n){this._entityTypeName=n}this.setupEntity(s);BX.Crm.Page.close(this._externalContext[i]);delete this._externalContext[i]}},onItemBindingChange:function(t,e){if(e==="unbind"){var i=BX.prop.getFunction(this._settings,"onBindingRelease");if(i){i(this,t.getEntity())}this.removeBinding(t)}else if(e==="delete"){this.removeBinding(t)}},onItemDelete:function(t){var e=this._entityInfo;var i=this._hasLayout;if(i){this.clearLayout()}this.setEntity(null);if(i){this.layout()}var n=BX.prop.getFunction(this._settings,"onDelete");if(n){n(this,e)}},getBindings:function(){return this._itemBindings},createBinding:function(t){return BX.Crm.ClientEditorEntityBindingPanel.create(this._id+"_"+t.getId().toString(),{entityInfo:t,editor:this._editor,mode:this._mode,onChange:BX.delegate(this.onItemBindingChange,this)})},findBindingById:function(t){for(var e=0,i=this._itemBindings.length;e<i;e++){var n=this._itemBindings[e];if(n.getEntity().getId()===t){return n}}return null},getBindingIndex:function(t){for(var e=0,i=this._itemBindings.length;e<i;e++){if(this._itemBindings[e]===t){return e}}return-1},addBinding:function(t){this._itemBindings.push(t);if(this._hasLayout){t.setContainer(this._bindingWrapper);t.layout()}var e=BX.prop.getFunction(this._settings,"onBindingAdd");if(e){e(this,t.getEntity())}},removeBinding:function(t){var e=this.getBindingIndex(t);if(e<0){return}t.clearLayout();this._itemBindings.splice(e,1);var i=BX.prop.getFunction(this._settings,"onBindingDelete");if(i){i(this,t.getEntity())}},getBindingEntities:function(){var t=[];if(this._itemBindings){for(var e=0,i=this._itemBindings.length;e<i;e++){t.push(this._itemBindings[e].getEntity())}}return t}};BX.Crm.PrimaryClientEditor.prototype.getMessage=function(t){var e=BX.Crm.PrimaryClientEditor.messages;return e.hasOwnProperty(t)?e[t]:t};if(typeof BX.Crm.PrimaryClientEditor.messages==="undefined"){BX.Crm.PrimaryClientEditor.messages={}}BX.Crm.PrimaryClientEditor.create=function(t,e){var i=new BX.Crm.PrimaryClientEditor;i.initialize(t,e);return i}}if(typeof BX.Crm.SecondaryClientEditor==="undefined"){BX.Crm.SecondaryClientEditor=function(){this._id="";this._settings={};this._mode=BX.UI.EntityEditorMode.intermediate;this._container=null;this._wrapper=null;this._entityTypeName="";this._entityInfos=null;this._items=null;this._externalEventHandler=null;this._externalContext=null;this._isMultiple=true;this._primaryLoaderConfig=null;this._secondaryLoaderConfig=null;this._editor=null;this._searchWrapper=null;this._searchInput=null;this._searchControl=null;this._addButton=null;this._addButtonHandler=BX.delegate(this.onAddButtonClick,this);this._bindButton=null;this._bindButtonClickHandler=BX.delegate(this.onBindButtonClick,this);this._bindingSelector=null;this._bindingSelectHandler=BX.delegate(this.onBindingSelect,this);this._isVisible=true;this._hasLayout=false};BX.Crm.SecondaryClientEditor.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._mode=BX.prop.getInteger(this._settings,"mode",0);this._editor=BX.prop.get(this._settings,"editor",null);this._container=BX.prop.getElementNode(this._settings,"container",null);this._entityTypeName=BX.prop.getString(this._settings,"entityTypeName","");this._entityInfos=BX.prop.getArray(this._settings,"entityInfos","");this._isMultiple=BX.prop.getBoolean(this._settings,"isMultiple",true);this._items=[];var i=this._entityInfos.length;if(!this._isMultiple&&i>1){i=1}for(var n=0;n<i;n++){var s=this.createItem(this._entityInfos[n]);this._items.push(s)}this._primaryLoaderConfig=BX.prop.getObject(this._settings,"primaryLoader",{});this._secondaryLoaderConfig=BX.prop.getObject(this._settings,"secondaryLoader",{})},getMessage:function(t){var e=BX.Crm.SecondaryClientEditor.messages;return e.hasOwnProperty(t)?e[t]:t},getEntityTypeName:function(){return this._entityTypeName},getEntities:function(){return this._entityInfos},setEntities:function(t){this._entityInfos=t;this.clearItems();var e=this._entityInfos.length;if(!this._isMultiple&&e>1){e=1}for(var i=0;i<e;i++){this.addItem(this.createItem(this._entityInfos[i]))}},findItemIndex:function(t){for(var e=0,i=this._items.length;e<i;e++){if(this._items[e]===t){return e}}return-1},getFirstItem:function(){return this._items.length>0?this._items[0]:null},getItemById:function(t){for(var e=0,i=this._items.length;e<i;e++){var n=this._items[e];if(n.getEntity().getId()===t){return n}}return null},getItems:function(){return this._items},getItemCount:function(){return this._items.length},createItem:function(t){return BX.Crm.ClientEditorEntityPanel.create(this._id+"_"+t.getId().toString(),{editor:this._editor,entityInfo:t,mode:this._mode,onDelete:BX.delegate(this.onItemDelete,this)})},clearItems:function(){for(var t=0,e=this._items.length;t<e;t++){var i=this._items[t];i.clearLayout();i.setContainer(null)}this._items=[]},addItemById:function(t){var e=BX.prop.getObject(this._primaryLoaderConfig,this._entityTypeName,null);if(!e){return}BX.CrmDataLoader.create(this._id,{serviceUrl:e["url"],action:e["action"],params:{ENTITY_TYPE_NAME:this._entityTypeName,ENTITY_ID:t}}).load(BX.delegate(this.onEntityInfoLoad,this))},addItem:function(t){var e=BX.prop.getFunction(this._settings,"onBeforeAdd");if(e){var i={cancel:false};e(this,t.getEntity(),i);if(i["cancel"]){return false}}if(!this._isMultiple){this.clearItems()}this._items.push(t);if(this._hasLayout){t.setContainer(this._itemsWrapper);t.layout()}var n=BX.prop.getFunction(this._settings,"onAdd");if(n){n(this,t.getEntity())}this.adjustLayout();return true},removeItem:function(t){var e=this.findItemIndex(t);if(e<0){return}this._items.splice(e,1);if(this._hasLayout){t.clearLayout();t.setContainer(null)}var i=BX.prop.getFunction(this._settings,"onDelete");if(i){i(this,t.getEntity())}this.adjustLayout()},reloadEntities:function(){if(!this._editor){return}var t=this._editor.getPrimaryEntity();if(!t){return}var e=BX.prop.getObject(this._secondaryLoaderConfig,t.getTypeName(),null);if(e){BX.CrmDataLoader.create(this._id,{serviceUrl:e["url"],action:e["action"],params:{PRIMARY_TYPE_NAME:t.getTypeName(),PRIMARY_ID:t.getId(),SECONDARY_TYPE_NAME:this._entityTypeName,OWNER_TYPE_NAME:this._editor.getOwnerTypeName()}}).load(BX.delegate(this.onEntityInfosReload,this))}},setVisible:function(t){t=!!t;if(this._isVisible===t){return}this._isVisible=t;if(this._wrapper){this._wrapper.style.display=t?"":"none"}},layout:function(){var t=this._mode===BX.UI.EntityEditorMode.view;this._wrapper=BX.create("div",{});if(!this._isVisible){this._wrapper.style.display="none"}this._container.appendChild(this._wrapper);var e=BX.prop.getString(this._settings,"entityLegend","");this._addButton=null;this._bindButton=null;if(t){this._wrapper.appendChild(BX.create("div",{props:{className:"crm-entity-widget-content-block-title"},children:[BX.create("span",{attrs:{className:"crm-entity-widget-content-block-title-text"},text:e})]}))}else{this._bindButton=BX.create("span",{props:{className:"crm-entity-widget-actions-btn-bind"},text:this.getMessage("bind"),events:{click:this._bindButtonClickHandler}});this._wrapper.appendChild(BX.create("div",{props:{className:"crm-entity-widget-participants-title"},children:[BX.create("div",{props:{className:"crm-entity-widget-clients-actions-block"},children:[BX.create("span",{props:{className:"crm-entity-widget-actions-btn-participants"},children:[BX.create("span",{props:{className:"crm-entity-widget-participants-title-text"},text:e})]}),this._bindButton]})]}))}this._searchWrapper=BX.create("div",{props:{className:"crm-entity-widget-content-search-box"}});this._searchWrapper.style.display="none";this._itemsWrapper=BX.create("div",{props:{className:"crm-entity-widget-content-item-container"}});this._wrapper.appendChild(this._searchWrapper);this._wrapper.appendChild(this._itemsWrapper);if(!t){this._addButton=BX.create("span",{props:{className:"crm-entity-widget-actions-btn-add"},text:this.getMessage("addParticipant"),events:{click:this._addButtonHandler}});this._wrapper.appendChild(this._addButton)}this.prepareSearchLayout();for(var i=0,n=this._items.length;i<n;i++){this._items[i].setContainer(this._itemsWrapper);this._items[i].layout()}this.adjustLayout();this._hasLayout=true},clearLayout:function(){for(var t=0,e=this._items.length;t<e;t++){this._items[t].clearLayout();this._items[t].setContainer(null)}this._addButton=null;this._bindButton=null;this._wrapper=BX.remove(this._wrapper);this._hasLayout=false},adjustLayout:function(){if(!this._bindButton){return}this._bindButton.style.display=this._editor.getPrimaryEntityTypeName()===BX.CrmEntityType.names.company&&BX.util.array_diff(this._editor.getSecondaryEntities(),this._editor.getPrimaryEntityBindings(),BX.CrmEntityInfo.getHashCode).length>0?"":"none"},prepareSearchLayout:function(){var t=BX.CrmEntityType.resolveId(this._entityTypeName);this._searchInput=BX.create("input",{props:{id:"dropdown-input",className:"crm-entity-widget-content-input crm-entity-widget-content-search-input"},attrs:{autocomplete:"nope"}});this._searchWrapper.appendChild(this._searchInput);this._searchControl=new BX.UI.Dropdown({searchAction:"crm.api.entity.search",searchOptions:{types:[this._entityTypeName]},autocompleteDelay:500,searchResultRenderer:null,targetElement:this._searchInput,items:BX.prop.getArray(this._settings,"lastEntityInfos",[]),footerItems:[{caption:this.getMessage("create"),buttons:[{type:"create",caption:BX.CrmEntityType.getCaption(t),events:{click:BX.delegate((function(){this.createEntity();this._searchControl.destroyPopupWindow()}),this)}}]}],events:{onSelect:this.onItemSelect.bind(this),onSearch:function(t){}}})},onAddButtonClick:function(t){this._searchWrapper.style.display=this._searchWrapper.style.display==="none"?"":"none"},onBindButtonClick:function(t){if(this._bindingSelector&&this._bindingSelector.isOpened()){this._bindingSelector.close();return}if(!this._bindingSelector){this._bindingSelector=BX.CmrSelectorMenu.create(this._id,{items:[]});this._bindingSelector.addOnSelectListener(this._bindingSelectHandler)}var e=this._editor.getPrimaryEntityBindings();var i=[];var n,s;for(n=0,s=e.length;n<s;n++){i.push(e[n])}var r=BX.util.array_diff(this._editor.getSecondaryEntities(),i,BX.CrmEntityInfo.getHashCode);var o=[];for(n=0,s=r.length;n<s;n++){var a=r[n];o.push({text:a.getTitle(),value:a.getId()})}this._bindingSelector.setupItems(o);this._bindingSelector.open(this._bindButton)},onBindingSelect:function(t,e){this._editor.onSecondaryEntityBind(this,this._editor.getSecondaryEntityById(e.getValue()))},onItemSelect:function(t,e){var i=BX.prop.getInteger(e,"id",0);if(i>0){this.addItemById(i);this._searchWrapper.style.display="none";this._searchControl.destroyPopupWindow()}},onItemDelete:function(t){this.removeItem(t)},onEntityInfoLoad:function(t,e){var i=BX.prop.getObject(e,"DATA",null);if(!i){return}var n=BX.CrmEntityInfo.create(i);if(this.getItemById(n.getId())!==null){return}this.addItem(this.createItem(n))},onEntityInfosReload:function(t,e){var i=BX.type.isArray(e["ENTITY_INFOS"])?e["ENTITY_INFOS"]:[];var n=[];for(var s=0;s<i.length;s++){n.push(BX.CrmEntityInfo.create(i[s]))}this.setEntities(n)},getEntityCreateUrl:function(t){return this._editor.getEntityCreateUrl(t)},createEntity:function(){var t=this.getEntityCreateUrl(this.getEntityTypeName());if(t===""){return}var e=this._editor.getContextId();t=BX.util.add_url_param(t,{external_context_id:e});var i=this._editor.getOwnerTypeName();var n=this._editor.getOwnerId();if(n>0&&i===BX.CrmEntityType.names.company){t=BX.util.add_url_param(t,{company_id:n})}if(!this._externalEventHandler){this._externalEventHandler=BX.delegate(this.onExternalEvent,this);BX.addCustomEvent(window,"onLocalStorageSet",this._externalEventHandler)}if(!this._externalContext){this._externalContext={}}this._externalContext[e]=t;BX.Crm.Page.open(t)},onExternalEvent:function(t){if(!this._externalContext){return}var e=BX.type.isNotEmptyString(t["key"])?t["key"]:"";if(e!=="onCrmEntityCreate"){return}var i=BX.prop.getObject(t,"value",{});if(BX.prop.getString(i,"entityTypeName","")!==this.getEntityTypeName()){return}var n=BX.prop.getInteger(i,"entityId",0);var s=BX.prop.getString(i,"context","");if(typeof this._externalContext[s]!=="undefined"){this.addItemById(n);BX.Crm.Page.close(this._externalContext[s]);delete this._externalContext[s]}}};if(typeof BX.Crm.SecondaryClientEditor.messages==="undefined"){BX.Crm.SecondaryClientEditor.messages={}}BX.Crm.SecondaryClientEditor.create=function(t,e){var i=new BX.Crm.SecondaryClientEditor;i.initialize(t,e);return i}}if(typeof BX.Crm.ClientEditorEntitySkeleton==="undefined"){BX.Crm.ClientEditorEntitySkeleton=function(){this._id="";this._settings={};this._container=null;this._wrapper=null;this._hasLayout=false};BX.Crm.ClientEditorEntitySkeleton.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._container=BX.prop.getElementNode(this._settings,"container",null)},layout:function(){this._wrapper=BX.create("div",{props:{className:"crm-entity-widget-client-block crm-entity-widget-client-block-skeleton"},children:[BX.create("div",{props:{className:"crm-entity-widget-client-box"}})]});this._container.appendChild(this._wrapper);this._hasLayout=true},clearLayout:function(){this._wrapper=BX.remove(this._wrapper);this._hasLayout=false}};BX.Crm.ClientEditorEntitySkeleton.create=function(t,e){var i=new BX.Crm.ClientEditorEntitySkeleton;i.initialize(t,e);return i}}if(typeof BX.Crm.ClientEditorEntityPanel==="undefined"){BX.Crm.ClientEditorEntityPanel=function(){this._id="";this._settings={};this._editor=null;this._entityInfo=null;this._enableCommunications=true;this._enableAddress=false;this._enableRequisitesTooltip=false;this._isRequisiteEnabled=true;this._canChangeDefaultRequisite=false;this._useExternalRequisiteBinding=false;this._requisiteInfo=null;this._mode=BX.UI.EntityEditorMode.intermediate;this._communicationButtons=null;this._deleteButton=null;this._container=null;this._wrapper=null;this._titleIcon=null;this._titleLink=null;this._clientRequisites=null;this._deleteButtonHandler=BX.delegate(this.onDeleteButtonClick,this);this._requisiteChangeHandler=BX.delegate(this.onRequisiteChange,this);this._selectedRequisiteChangeNotifier=null;this._requisiteListChangeNotifier=null;this._hasLayout=false};BX.Crm.ClientEditorEntityPanel.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._container=BX.prop.getElementNode(this._settings,"container",null);this._editor=BX.prop.get(this._settings,"editor");this._entityInfo=BX.prop.get(this._settings,"entityInfo",null);this._mode=BX.prop.getInteger(this._settings,"mode",0);this._enableCommunications=BX.prop.getBoolean(this._settings,"enableCommunications",true);this._enableAddress=BX.prop.getBoolean(this._settings,"enableAddress",true);this._enableRequisitesTooltip=BX.prop.getBoolean(this._settings,"enableTooltip",true);this._isRequisiteEnabled=this._entityInfo.hasRequisites()&&BX.prop.getBoolean(this._settings,"enableRequisite",false);this._canChangeDefaultRequisite=BX.prop.getBoolean(this._settings,"canChangeDefaultRequisite",false);this._useExternalRequisiteBinding=BX.prop.getBoolean(this._settings,"useExternalRequisiteBinding",false);var i=BX.prop.get(this._settings,"clientEditorFieldsParams",null);if(this._entityInfo&&i){var n=this._editor?this._editor.getEditor():null;var s=n?n.isReadOnly():true;this._clientRequisites=BX.Crm.EntityEditorClientRequisites.create(this._entityInfo.getId()+"_rq",{entityInfo:this._entityInfo,fieldsParams:i,loaderConfig:BX.prop.getObject(this._settings,"loaderConfig",null),requisiteBinding:BX.prop.getObject(this._settings,"requisiteBinding",null),readonly:s,canChangeDefaultRequisite:!s&&this._canChangeDefaultRequisite,requisiteEditUrl:n?n.getRequisiteEditUrl("#requisite_id#"):null,formElement:n?n.getFormElement():null,contextId:n?n.getContextId():null,enableAddress:this._enableAddress,enableTooltip:this._enableRequisitesTooltip});BX.Event.EventEmitter.subscribe(this._clientRequisites,"onSetSelectedRequisite",this._requisiteChangeHandler);BX.Event.EventEmitter.subscribe(this._clientRequisites,"onChangeRequisiteList",this.onChangeRequisiteList.bind(this))}this._selectedRequisiteChangeNotifier=BX.CrmNotifier.create(this);this._requisiteListChangeNotifier=BX.CrmNotifier.create(this)},getContainer:function(){return this._container},setContainer:function(t){this._container=t},getTitleLink:function(){return this._titleLink},getEntity:function(){return this._entityInfo},getMode:function(){return this._mode},setMode:function(t){this._mode=t},isRequisiteEnabled:function(){return this._isRequisiteEnabled},addRequisiteChangeListener:function(t){this._selectedRequisiteChangeNotifier.addListener(t)},removeRequisiteChangeListener:function(t){this._selectedRequisiteChangeNotifier.removeListener(t)},addRequisiteListChangeListener:function(t){this._requisiteListChangeNotifier.addListener(t)},removeRequisiteListChangeListener:function(t){this._requisiteListChangeNotifier.removeListener(t)},getTitleIcon:function(){if(!this._titleIcon&&this._entityInfo){var t=null;if(this._entityInfo.getTypeId()===BX.CrmEntityType.enumeration.lead){t="crm-entity-widget-client-box-icon--lead"}else if(this._entityInfo.getTypeId()===BX.CrmEntityType.enumeration.deal){t="crm-entity-widget-client-box-icon--deal"}if(t){this._titleIcon=BX.create("span",{props:{className:"crm-entity-widget-client-box-icon "+t}})}}return this._titleIcon},layout:function(){var t=this._mode===BX.UI.EntityEditorMode.view;this._wrapper=BX.create("div",{props:{className:"crm-entity-widget-client-block"}});this._container.appendChild(this._wrapper);var e=BX.create("div",{props:{className:"crm-entity-widget-client-box crm-entity-widget-participants-block"}});this._wrapper.appendChild(e);if(BX.prop.getBoolean(this._settings,"enableEntityTypeCaption",false)){e.appendChild(BX.create("div",{props:{className:"crm-entity-widget-client-box-type"},text:this._entityInfo.getTypeCaption()}))}this._deleteButton=null;if(!t){this._deleteButton=BX.create("div",{props:{className:"crm-entity-widget-client-block-remove"},events:{click:this._deleteButtonHandler}});e.appendChild(this._deleteButton)}var i=BX.create("div",{props:{className:"crm-entity-widget-client-box-name-container"}});e.appendChild(i);var n=BX.create("div",{props:{className:"crm-entity-widget-client-actions-container"}});var s=this._entityInfo.getShowUrl();if(s!==""){this._titleLink=BX.create("a",{props:{className:"crm-entity-widget-client-box-name",href:this._entityInfo.getShowUrl()},text:this._entityInfo.getTitle()});BX.Event.bind(this._titleLink,"mouseenter",this.onTitleMouseEnter.bind(this));BX.Event.bind(this._titleLink,"mouseleave",this.onTitleMouseLeave.bind(this));i.appendChild(BX.create("div",{props:{className:"crm-entity-widget-client-box-name-row"},children:[this.getTitleIcon(),this._titleLink,n]}))}else{var r=BX.create("span",{props:{className:"crm-entity-widget-client-box-name"},text:this._entityInfo.getTitle()});i.appendChild(BX.create("div",{props:{className:"crm-entity-widget-client-box-name-row"},children:[r,n]}))}if(this._enableCommunications){this._communicationButtons=[];var o=["PHONE","EMAIL","IM"];for(var a=0,l=o.length;a<l;a++){var h=o[a];var d=BX.Crm.ClientEditorCommunicationButton.create(this._id+"_"+h,{entityInfo:this._entityInfo,type:h,ownerTypeId:this._editor.getOwnerTypeId(),ownerId:this._editor.getOwnerId(),container:n});d.layout();this._communicationButtons.push(d)}}var c=this._entityInfo.getDescription();if(c!==""){e.appendChild(BX.create("div",{props:{className:"crm-entity-widget-client-box-position"},text:c}))}var u=this._entityInfo.getPhones();var p=this._entityInfo.getEmails();if(u.length>0||p.length>0){var _=BX.create("div",{props:{className:"crm-entity-widget-client-contact"}});e.appendChild(_);if(u.length>0){_.appendChild(BX.create("div",{props:{className:"crm-entity-widget-client-contact-item crm-entity-widget-client-contact-phone"},attrs:{"x-ms-format-detection":"none"},text:u[0]["VALUE_FORMATTED"]}))}if(p.length>0){_.appendChild(BX.create("div",{props:{className:"crm-entity-widget-client-contact-item crm-entity-widget-client-contact-email"},text:p[0]["VALUE_FORMATTED"]}))}}if(this._clientRequisites&&this._enableAddress){this._clientRequisites.addressLayout(e)}var m=BX.prop.getFunction(this._settings,"onLayout",null);if(m){m(this,this._wrapper)}this._hasLayout=true},release:function(){this.clearLayout()},clearLayout:function(){if(this._clientRequisites){this._clientRequisites.release()}this._communicationButtons=null;this._titleIcon=null;this._wrapper=BX.remove(this._wrapper);this._hasLayout=false},checkOwership:function(t){return this._wrapper&&BX.isParentForNode(this._wrapper,t)},onTitleMouseEnter:function(){if(this._clientRequisites&&this._enableRequisitesTooltip){this._clientRequisites.showTooltip(this._wrapper)}},onTitleMouseLeave:function(){if(this._clientRequisites&&this._enableRequisitesTooltip){this._clientRequisites.closeTooltip()}},onDeleteButtonClick:function(t){var e=BX.prop.getFunction(this._settings,"onDelete");if(e){e(this)}},onRequisiteChange:function(t){var e=t.getData();var i=BX.prop.getInteger(e,"requisiteId",0);var n=BX.prop.getInteger(e,"bankDetailId",0);if(!this._requisiteInfo||this._requisiteInfo.getRequisiteId()!==i||this._requisiteInfo.getBankDetailId()!==n){if(this._useExternalRequisiteBinding){this._selectedRequisiteChangeNotifier.notify([{requisiteId:i,bankDetailId:n}])}else{BX.ajax.runAction("crm.requisite.settings.setSelectedEntityRequisite",{data:{entityTypeId:this._entityInfo.getTypeId(),entityId:this._entityInfo.getId(),requisiteId:i,bankDetailId:n}})}}},onChangeRequisiteList:function(t){this._requisiteListChangeNotifier.notify([t.getData()])}};BX.Crm.ClientEditorEntityPanel.create=function(t,e){var i=new BX.Crm.ClientEditorEntityPanel;i.initialize(t,e);return i}}if(typeof BX.Crm.ClientEditorEntityBindingPanel==="undefined"){BX.Crm.ClientEditorEntityBindingPanel=function(){this._id="";this._settings={};this._container=null;this._entityInfo=null;this._editor=null;this._mode=BX.UI.EntityEditorMode.intermediate;this._item=null};BX.Crm.ClientEditorEntityBindingPanel.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._container=BX.prop.getElementNode(this._settings,"container",null);this._editor=BX.prop.get(this._settings,"editor");this._entityInfo=BX.prop.get(this._settings,"entityInfo",null);this._mode=BX.prop.getInteger(this._settings,"mode",0);this._item=BX.Crm.ClientEditorEntityPanel.create(this._id+"_"+this._entityInfo.getId().toString(),{editor:this._editor,entityInfo:this._entityInfo,mode:this._mode,onLayout:BX.delegate(this.onItemLayout,this),onDelete:BX.delegate(this.onItemDelete,this)})},getEntity:function(){return this._entityInfo},getContainer:function(){return this._container},setContainer:function(t){this._container=t},layout:function(){this._button=BX.create("div",{props:{className:"crm-entity-widget-client-child-link"},events:{click:BX.delegate(this.onButtonClick,this)}});this._item.setContainer(this._container);this._item.layout()},onItemLayout:function(t,e){BX.addClass(e,"crm-entity-widget-client-block-child");var i=e.firstChild;if(i){e.insertBefore(this._button,i)}else{e.appendChild(this._button)}},clearLayout:function(){this._item.clearLayout()},onItemDelete:function(t){if(this._mode!==BX.UI.EntityEditorMode.edit){return}var e=BX.prop.getFunction(this._settings,"onChange",null);if(e){e(this,"delete")}},onButtonClick:function(t){if(this._mode!==BX.UI.EntityEditorMode.edit){return}var e=BX.prop.getFunction(this._settings,"onChange",null);if(e){e(this,"unbind")}}};BX.Crm.ClientEditorEntityBindingPanel.create=function(t,e){var i=new BX.Crm.ClientEditorEntityBindingPanel;i.initialize(t,e);return i}}if(typeof BX.Crm.ClientEditorCommunicationButton==="undefined"){BX.Crm.ClientEditorCommunicationButton=function(){this._id="";this._settings={};this._entityInfo=null;this._type="";this._items=null;this._container=null;this._wrapper=null;this._menu=null};BX.Crm.ClientEditorCommunicationButton.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._entityInfo=BX.prop.get(this._settings,"entityInfo",null);this._type=BX.prop.getString(this._settings,"type","");this._container=BX.prop.getElementNode(this._settings,"container","");if(this._type===""){this._type="PHONE"}this._items=this._entityInfo.getMultiFieldsByType(this._type)},layout:function(){var t;if(this._type==="EMAIL"){t="crm-entity-widget-client-action-mail"}else if(this._type==="IM"){t="crm-entity-widget-client-action-im"}else{t="crm-entity-widget-client-action-call"}if(this._items.length>0){t+=" crm-entity-widget-client-action-available"}this._wrapper=BX.create("a",{props:{className:t}});BX.bind(this._wrapper,"click",BX.delegate(this.onClick,this));this._container.appendChild(this._wrapper)},onClick:function(t){if(this._items.length===0){return BX.eventReturnFalse(t)}if(this._items.length===1){var e=this._items[0];var i=BX.prop.getString(e,"VALUE");if(i!==""){if(this._type==="PHONE"){this.addCall(i)}else if(this._type==="EMAIL"){this.addEmail(i)}else if(this._type==="IM"){this.openChat(i)}}return BX.eventReturnFalse(t)}this.toggleMenu();BX.eventReturnFalse(t)},toggleMenu:function(){if(!this._menu){var t=[];for(var e=0,i=this._items.length;e<i;e++){var n=BX.prop.getString(this._items[e],"VALUE");var s=BX.prop.getString(this._items[e],"VALUE_FORMATTED");var r=BX.prop.getString(this._items[e],"COMPLEX_NAME");var o=(r?r+": ":"")+(s?s:n);if(n!==""){t.push({id:n,text:o})}}this._menu=BX.Crm.ClientEditorMenu.create(this._id.toLowerCase()+"_menu",{anchor:this._wrapper,items:t,callback:BX.delegate(this.onMenuItemSelect,this)})}this._menu.toggle()},onMenuItemSelect:function(t,e){if(this._type==="EMAIL"){this.addEmail(e["id"])}else if(this._type==="IM"){this.openChat(e["id"])}else{this.addCall(e["id"])}this._menu.close()},addCall:function(t){if(typeof window.top["BXIM"]==="undefined"){window.alert(this.getMessage("telephonyNotSupported"));return}var e={ENTITY_TYPE_NAME:this._entityInfo.getTypeName(),ENTITY_ID:this._entityInfo.getId(),AUTO_FOLD:true};var i=BX.prop.getInteger(this._settings,"ownerTypeId",0);var n=BX.prop.getInteger(this._settings,"ownerId",0);if(i!==this._entityInfo.getTypeId()||n!==this._entityInfo.getId()){e["BINDINGS"]=[{OWNER_TYPE_NAME:BX.CrmEntityType.resolveName(i),OWNER_ID:n}]}window.top["BXIM"].phoneTo(t,e)},addEmail:function(t){var e=BX.prop.getInteger(this._settings,"ownerTypeId",0);var i=BX.prop.getInteger(this._settings,"ownerId",0);BX.CrmActivityEditor.addEmail({ownerID:i,ownerType:BX.CrmEntityType.resolveName(e),communicationsLoaded:true,communications:[{type:"EMAIL",entityType:this._entityInfo.getTypeName(),entityId:this._entityInfo.getId(),value:t}]})},openChat:function(t){if(typeof window.top["BXIM"]==="undefined"){window.alert(this.getMessage("messagingNotSupported"));return}window.top["BXIM"].openMessengerSlider(t,{RECENT:"N",MENU:"N"})}};BX.Crm.ClientEditorCommunicationButton.prototype.getMessage=function(t){var e=BX.Crm.ClientEditorCommunicationButton.messages;return e.hasOwnProperty(t)?e[t]:t};if(typeof BX.Crm.ClientEditorCommunicationButton.messages==="undefined"){BX.Crm.ClientEditorCommunicationButton.messages={}}BX.Crm.ClientEditorCommunicationButton.create=function(t,e){var i=new BX.Crm.ClientEditorCommunicationButton;i.initialize(t,e);return i}}if(typeof BX.Crm.ClientEditorMenu==="undefined"){BX.Crm.ClientEditorMenu=function(){this._id=null;this._settings={};this._items=null;this._isOpened=false;this._popup=null};BX.Crm.ClientEditorMenu.prototype={initialize:function(t,e){this._id=BX.type.isNotEmptyString(t)?t:BX.util.getRandomString(4);this._settings=e?e:{};this._items=BX.prop.getArray(this._settings,"items",[]);for(var i=0,n=this._items.length;i<n;i++){this._items[i]["onclick"]=BX.delegate(this.onItemSelect,this)}},onItemSelect:function(t,e){var i=BX.prop.getFunction(this._settings,"callback",null);if(i){i(this,e)}},isOpened:function(){return this._isOpened},open:function(){if(this._isOpened){return}BX.PopupMenu.show(this._id,BX.prop.getElementNode(this._settings,"anchor",null),this._items,{offsetTop:0,offsetLeft:0,events:{onPopupShow:BX.delegate(this.onPopupShow,this),onPopupClose:BX.delegate(this.onPopupClose,this),onPopupDestroy:BX.delegate(this.onPopupDestroy,this)}});this._popup=BX.PopupMenu.currentItem},close:function(){if(!this._isOpened){return}if(this._popup){if(this._popup.popupWindow){this._popup.popupWindow.close()}}},toggle:function(){if(!this._isOpened){this.open()}else{this.close()}},onPopupShow:function(){this._isOpened=true},onPopupClose:function(){if(this._popup&&this._popup.popupWindow){this._popup.popupWindow.destroy()}},onPopupDestroy:function(){this._isOpened=false;this._popup=null;if(typeof BX.PopupMenu.Data[this._id]!=="undefined"){delete BX.PopupMenu.Data[this._id]}}};BX.Crm.ClientEditorMenu.create=function(t,e){var i=new BX.Crm.ClientEditorMenu;i.initialize(t,e);return i}} //# sourceMappingURL=client-editor.map.js