Your IP : 18.116.23.178


Current Path : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/
Upload File :
Current File : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/sender.tar

editor_mailblock.min.js000064400000005754147722313310011205 0ustar00(function(){function t(){function t(t){this.editor=t;this.listLoaded=false;this.mailblocks=this.editor.config.mailblocks;this.HandleList();this.Init()}t.prototype={Init:function(){BX.addCustomEvent(this.editor,"OnApplySiteTemplate",BX.proxy(this.OnTemplateChanged,this))},GetList:function(){return this.mailblocks},HandleList:function(){var t,e=this.GetList().items;if(e){for(t in e){if(e.hasOwnProperty(t)){e[t].key=e[t].path.replace("/",",")}}}},ReloadList:function(t){},FetchPlainListOfCategories:function(t,e,i){var s,o=t.length;for(s=0;s<o;s++){i.push({level:e,key:t[s].key,section:t[s].section});if(t[s].children&&t[s].children.length>0){this.FetchPlainListOfCategories(t[s].children,e+1,i)}}},OnTemplateChanged:function(t){this.ReloadList(false)}};function e(t){e.superclass.constructor.apply(this,arguments);this.id="mailblocks";this.mailblocks=this.editor.config.mailblocks;this.templateId=this.editor.templateId;this.title=BX.message("BXEdMailBlocksTitle");this.searchPlaceholder=BX.message("BXEdMailBlocksSearchPlaceHolder");this.uniqueId="taskbar_"+this.editor.id+"_"+this.id;this.Init()}BX.extend(e,window.BXHtmlEditor.Taskbar);e.prototype.Init=function(){this.BuildSceleton();if(this.mailblocks){this.BuildTree(this.mailblocks.groups,this.mailblocks.items)}var t=this;t.editor.phpParser.AddBxNode("mailblock_icon",{Parse:function(t){return t.code||""}})};e.prototype.GetMenuItems=function(){var t=this;var e=[{text:BX.message("RefreshTaskbar"),title:BX.message("RefreshTaskbar"),className:"",onclick:function(){t.editor.snippets.ReloadList(true);BX.PopupMenu.destroy(t.uniqueId+"_menu")}}];return e};e.prototype.HandleElementEx=function(t,e,i){this.editor.SetBxTag(e,{tag:"mailblock_icon",params:i});t.title=i.description||i.title};e.prototype.BuildTree=function(t,i){e.superclass.BuildTree.apply(this,arguments);if((!t||t.length==0)&&(!i||i.length==0)){this.pTreeCont.appendChild(BX.create("DIV",{props:{className:"bxhtmled-no-snip"},text:BX.message("BXEdSnipNoSnippets")}))}};window.BXHtmlEditor.MailBlocksControl=e;window.BXHtmlEditor.BXEditorMailBlocks=t}if(window.BXHtmlEditor&&window.BXHtmlEditor.dialogs)t();else BX.addCustomEvent(window,"OnEditorBaseControlsDefined",t)})();BX.ready(function(){function t(e,i){t.superclass.constructor.apply(this,arguments);this.id="placeholder_selector";this.title=BX.message("BXEdPlaceHolderSelectorTitle");this.action="insertHTML";this.zIndex=3008;this.placeHolderList=[];e.On("PlaceHolderSelectorListCreate",[this]);this.disabledForTextarea=false;this.arValues=[];for(var s in this.placeHolderList){var o=this.placeHolderList[s];o.value="#"+o.CODE+"#";this.arValues.push({id:o.CODE,name:o.NAME,topName:BX.message("BXEdPlaceHolderSelectorTitle"),title:o.value+" - "+o.DESC,className:"",style:"",action:"insertHTML",value:o.value})}this.Create();this.pCont.innerHTML=BX.message("BXEdPlaceHolderSelectorTitle");if(i){i.appendChild(this.GetCont())}}BX.extend(t,window.BXHtmlEditor.DropDownList);window.BXHtmlEditor.Controls["placeholder_selector"]=t});
//# sourceMappingURL=editor_mailblock.map.jsagreement/script.min.js000066400000003016147722313310011144 0ustar00(function(){BX.namespace("BX.Sender");if(BX.Sender.Agreement){return}function t(){this.actionUri="/bitrix/components/bitrix/sender.letter.list/ajax.php";this.isAccepted=!BX.message.SENDER_AGREEMENT_IS_REQUIRED;if(!this.isAccepted){var t=this;BX.ready(function(){t.showPopup()})}this.ajaxAction=new BX.AjaxAction(this.actionUri)}t.prototype.onApply=function(){this.isAccepted=true;var t="popup-window-button-wait";this.button.addClassName(t);var e=this;this.ajaxAction.request({action:"acceptAgreement",onsuccess:function(){BX.Event.EventEmitter.emit("BX.Sender.Agreement:onAccept");e.popup.close()},onfailure:function(){e.popup.show();e.button.removeClassName(t)}})};t.prototype.onClose=function(){if(this.isAccepted){return}top.location.href="/";setTimeout(this.popup.show.bind(this.popup),0)};t.prototype.showPopup=function(){if(!this.popup){this.button=new BX.PopupWindowButton({text:BX.message("SENDER_AGREEMENT_BUTTON_ACCEPT"),className:"popup-window-button-accept",events:{click:this.onApply.bind(this)}});this.popup=BX.PopupWindowManager.create("sender-agreement-popup",null,{content:'<div class="sender-agreement-wrap">'+BX.message("SENDER_AGREEMENT_TEXT")+"</div>",titleBar:BX.message("SENDER_AGREEMENT_TITLE"),maxHeight:400,maxWidth:860,autoHide:false,lightShadow:false,overlay:{opacity:500,backgroundColor:"black"},closeByEsc:false,closeIcon:true,buttons:[this.button],events:{onPopupClose:this.onClose.bind(this)}})}if(this.popup.isShown()){return}this.popup.show()};BX.Sender.Agreement=new t})(window);
//# sourceMappingURL=script.map.jsagreement/script.map.js000066400000003535147722313310011144 0ustar00{"version":3,"sources":["script.js"],"names":["BX","namespace","Sender","Agreement","this","actionUri","isAccepted","message","SENDER_AGREEMENT_IS_REQUIRED","self","ready","showPopup","ajaxAction","AjaxAction","prototype","onApply","waitClassName","button","addClassName","request","action","onsuccess","Event","EventEmitter","emit","popup","close","onfailure","show","removeClassName","onClose","top","location","href","setTimeout","bind","PopupWindowButton","text","className","events","click","PopupWindowManager","create","content","titleBar","maxHeight","maxWidth","autoHide","lightShadow","overlay","opacity","backgroundColor","closeByEsc","closeIcon","buttons","onPopupClose","isShown","window"],"mappings":"CAAC,WAEAA,GAAGC,UAAU,aACb,GAAID,GAAGE,OAAOC,UACd,CACC,OAGD,SAASA,IAERC,KAAKC,UAAY,wDACjBD,KAAKE,YAAcN,GAAGO,QAAQC,6BAC9B,IAAKJ,KAAKE,WACV,CACC,IAAIG,EAAOL,KACXJ,GAAGU,MAAM,WACRD,EAAKE,cAIPP,KAAKQ,WAAa,IAAIZ,GAAGa,WAAWT,KAAKC,WAE1CF,EAAUW,UAAUC,QAAU,WAE7BX,KAAKE,WAAa,KAElB,IAAIU,EAAgB,2BACpBZ,KAAKa,OAAOC,aAAaF,GAEzB,IAAIP,EAAOL,KACXA,KAAKQ,WAAWO,SACfC,OAAQ,kBACRC,UAAW,WACVrB,GAAGsB,MAAMC,aAAaC,KAAK,gCAC3Bf,EAAKgB,MAAMC,SAEZC,UAAW,WACVlB,EAAKgB,MAAMG,OACXnB,EAAKQ,OAAOY,gBAAgBb,OAI/Bb,EAAUW,UAAUgB,QAAU,WAE7B,GAAI1B,KAAKE,WACT,CACC,OAGDyB,IAAIC,SAASC,KAAO,IACpBC,WAAW9B,KAAKqB,MAAMG,KAAKO,KAAK/B,KAAKqB,OAAQ,IAE9CtB,EAAUW,UAAUH,UAAY,WAE/B,IAAKP,KAAKqB,MACV,CACCrB,KAAKa,OAAS,IAAIjB,GAAGoC,mBACpBC,KAAMrC,GAAGO,QAAQ,kCACjB+B,UAAW,6BACXC,QACCC,MAAOpC,KAAKW,QAAQoB,KAAK/B,SAG3BA,KAAKqB,MAAQzB,GAAGyC,mBAAmBC,OAClC,yBACA,MAECC,QAAS,sCAAwC3C,GAAGO,QAAQ,yBAA2B,SACvFqC,SAAU5C,GAAGO,QAAQ,0BACrBsC,UAAW,IACXC,SAAU,IACVC,SAAU,MACVC,YAAa,MACbC,SACCC,QAAS,IACTC,gBAAiB,SAElBC,WAAY,MACZC,UAAW,KAEXC,SACClD,KAAKa,QAENsB,QACCgB,aAAgBnD,KAAK0B,QAAQK,KAAK/B,SAMtC,GAAIA,KAAKqB,MAAM+B,UACf,CACC,OAGDpD,KAAKqB,MAAMG,QAGZ5B,GAAGE,OAAOC,UAAY,IAAIA,GAlG1B,CAoGEsD","file":"script.map.js"}agreement/script.js000066400000004045147722313310010365 0ustar00;(function ()
{
	BX.namespace('BX.Sender');
	if (BX.Sender.Agreement)
	{
		return;
	}

	function Agreement()
	{
		this.actionUri = '/bitrix/components/bitrix/sender.letter.list/ajax.php';
		this.isAccepted = !BX.message.SENDER_AGREEMENT_IS_REQUIRED;
		if (!this.isAccepted)
		{
			var self = this;
			BX.ready(function () {
				self.showPopup();
			});
		}

		this.ajaxAction = new BX.AjaxAction(this.actionUri);
	}
	Agreement.prototype.onApply = function ()
	{
		this.isAccepted = true;

		var waitClassName = 'popup-window-button-wait';
		this.button.addClassName(waitClassName);

		var self = this;
		this.ajaxAction.request({
			action: 'acceptAgreement',
			onsuccess: function () {
				BX.Event.EventEmitter.emit('BX.Sender.Agreement:onAccept');
				self.popup.close();
			},
			onfailure: function () {
				self.popup.show();
				self.button.removeClassName(waitClassName);
			}
		});
	};
	Agreement.prototype.onClose = function ()
	{
		if (this.isAccepted)
		{
			return;
		}

		top.location.href = '/';
		setTimeout(this.popup.show.bind(this.popup), 0);
	};
	Agreement.prototype.showPopup = function ()
	{
		if (!this.popup)
		{
			this.button = new BX.PopupWindowButton({
				text: BX.message('SENDER_AGREEMENT_BUTTON_ACCEPT'),
				className: "popup-window-button-accept",
				events: {
					click: this.onApply.bind(this)
				}
			});
			this.popup = BX.PopupWindowManager.create(
				'sender-agreement-popup',
				null,
				{
					content: '<div class="sender-agreement-wrap">' + BX.message('SENDER_AGREEMENT_TEXT') + '</div>',
					titleBar: BX.message('SENDER_AGREEMENT_TITLE'),
					maxHeight: 400,
					maxWidth: 860,
					autoHide: false,
					lightShadow: false,
					overlay: {
						opacity: 500,
						backgroundColor: 'black'
					},
					closeByEsc: false,
					closeIcon: true,
					//contentColor: 'white',
					buttons: [
						this.button
					],
					events: {
						'onPopupClose': this.onClose.bind(this)
					}
				}
			);
		}

		if (this.popup.isShown())
		{
			return;
		}

		this.popup.show();
	};

	BX.Sender.Agreement = new Agreement();

})(window);agreement/style.css000064400000003102147722313310010364 0ustar00.sender-agreement-wrap {
	width: 800px;
}


.tracker-text-bold {
	font: bold 12px/19px "Helvetica Neue", Arial, Helvetica, sans-serif;
}

.tracker-agreement-popup-title-item {
	font: bold 14px/17px "Helvetica Neue", Arial, Helvetica, sans-serif;
	color: #80868E;
}

.tracker-agreement-popup-close {
	position: absolute;
	top: -1px;
	right: 5px;
}

.tracker-agreement-popup-title {
	position: relative;
}

.tracker-agreement-popup-close-item {
	display: inline-block;
	height: 20px;
	width: 20px;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%228%22%20height%3D%228%22%20viewBox%3D%220%200%208%208%22%3E%3Cpath%20fill%3D%22%23B0B8C1%22%20fill-rule%3D%22evenodd%22%20d%3D%22M5.48%203.985L7.727%201.74%206.23.245%203.984%202.49%201.74.243.245%201.74%202.49%203.986.243%206.23%201.74%207.726%203.986%205.48%206.23%207.727%207.725%206.23%205.48%203.985z%22/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
	cursor: pointer;
}

.tracker-agreement-popup-list {
	margin: 0;
	padding: 0 0 0 13px;
}

.tracker-agreement-popup-list-item {
	padding: 10px 0 0 16px;
}

.tracker-agreement-popup-inner-list {
	margin: 14px 0 0 0;
	padding: 0 0 0 15px;
}

.tracker-agreement-popup-inner-list-item {
	padding: 0 0 10px 5px;
	list-style-type: disc;
}

.tracker-agreement-popup-description {
	margin: 20px 0 0 0;
}

.tracker-agreement-popup-button {
	margin: 15px 0 0 0;
	text-align: center;
}agreement/style.min.css000064400000002562147722313310011157 0ustar00.sender-agreement-wrap{width:800px}.tracker-text-bold{font:bold 12px/19px "Helvetica Neue",Arial,Helvetica,sans-serif}.tracker-agreement-popup-title-item{font:bold 14px/17px "Helvetica Neue",Arial,Helvetica,sans-serif;color:#80868e}.tracker-agreement-popup-close{position:absolute;top:-1px;right:5px}.tracker-agreement-popup-title{position:relative}.tracker-agreement-popup-close-item{display:inline-block;height:20px;width:20px;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%228%22%20height%3D%228%22%20viewBox%3D%220%200%208%208%22%3E%3Cpath%20fill%3D%22%23B0B8C1%22%20fill-rule%3D%22evenodd%22%20d%3D%22M5.48%203.985L7.727%201.74%206.23.245%203.984%202.49%201.74.243.245%201.74%202.49%203.986.243%206.23%201.74%207.726%203.986%205.48%206.23%207.727%207.725%206.23%205.48%203.985z%22/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:center;-webkit-transition:opacity .3s;transition:opacity .3s;cursor:pointer}.tracker-agreement-popup-list{margin:0;padding:0 0 0 13px}.tracker-agreement-popup-list-item{padding:10px 0 0 16px}.tracker-agreement-popup-inner-list{margin:14px 0 0 0;padding:0 0 0 15px}.tracker-agreement-popup-inner-list-item{padding:0 0 10px 5px;list-style-type:disc}.tracker-agreement-popup-description{margin:20px 0 0 0}.tracker-agreement-popup-button{margin:15px 0 0 0;text-align:center}b24_license.map.js000064400000001425147722313310007754 0ustar00{"version":3,"sources":["b24_license.js"],"names":["BX","namespace","Sender","B24License","getTitle","code","message","toUpperCase","getText","messageCode","replace","mess","showDefaultPopup","this","showPopup","showMailLimitPopup","B24","licenseInfoPopup","show","window"],"mappings":"CAAC,WAEAA,GAAGC,UAAU,aAEbD,GAAGE,OAAOC,YACTC,SAAU,SAAUC,GAEnB,OAAOL,GAAGM,QAAQ,sBAAwBD,EAAKE,cAAgB,WAEhEC,QAAS,SAAUH,GAElB,IAAII,EAAc,iCAAiCC,QAAQ,SAAUL,EAAKE,eAC1E,IAAII,EAAOX,GAAGM,QAAQG,GACtB,IAAKE,EACL,CACCA,EAAOX,GAAGM,QAAQG,EAAc,KAGjC,OAAOE,GAERC,iBAAkB,WAEjBC,KAAKC,UAAU,OAEhBC,mBAAoB,WAEnBF,KAAKC,UAAU,eAEhBA,UAAW,SAAUT,GAEpB,IAAKW,MAAQA,IAAIC,iBACjB,CACC,OAGDD,IAAIC,iBAAiBC,KACpBb,EACAQ,KAAKT,SAASC,GACd,UAAYQ,KAAKL,QAAQH,GAAQQ,KAAKL,QAAQH,GAAQQ,KAAKL,QAAQ,OAAS,UAC5E,SAvCH,CA4CEW","file":""}heatmap/script.min.js000064400000007610147722313310010616 0ustar00(function(t){t.BX=t.BX||{};if(t.BX.HeatMap){return}t.BX.HeatMapItem=function(t){this.caller=t.caller;this.document=t.document;this.value=t.value||0;this.color=t.color||"#000";this.textColor=t.textColor||"#000";this.text=t.text||this.value;this.baloon=t.baloon||"";this.anchorNode=t.anchorNode||"";this.id=t.id||Math.floor(Math.random()*(99999999-1e6+1))+1e6;this.valuePercent=0;this.currentSize=null;this.position={left:0,top:0,isActual:false};this.node=null};t.BX.HeatMapItem.prototype={initNodes:function(){if(this.node){return}this.node=this.caller.document.createElement("div");BX.addClass(this.node,"bx-heat-map-item");var t=this.caller.document.createElement("span");this.node.appendChild(t);this.nodeValue=this.caller.document.createElement("span");t.appendChild(this.nodeValue);this.nodePercent=this.caller.document.createElement("span");t.appendChild(this.nodePercent);this.caller.document.body.appendChild(this.node)},getRealAnchorNode:function(){return this.anchorNode.children.length>0?this.anchorNode.children[0]:this.anchorNode},resize:function(t){this.position.isActual=this.currentSize===t;this.currentSize=t||50;this.calcPosition()},calcPosition:function(){if(this.position.isActual){return}var t=BX.pos(this.getRealAnchorNode());this.position.top=t.top+Math.round(t.height/2);this.position.top-=Math.round(this.currentSize/2);this.position.left=t.left+Math.round(t.width/2);this.position.left-=Math.round(this.currentSize/2)},remove:function(){BX.remove(this.node)},draw:function(){this.initNodes();this.calcPosition();var t=String(this.valuePercent);if(t.substring(t.length-2,t.length)==".0"){t=t.substring(0,t.length-2)}this.nodeValue.innerText=t;this.nodePercent.innerText="%";this.node.style.width=this.currentSize+"px";this.node.style.height=this.currentSize+"px";this.node.style.fontSize=Math.round(this.currentSize/3)+"px";this.node.style.top=this.position.top+"px";this.node.style.left=this.position.left+"px"}};t.BX.HeatMap=function(t){this.document=t.document||document;this.color=t.color||[0,191,255,.5];this.maxSize=t.maxSize||90;this.minSize=t.minSize||30;this.valueSum=0;this.items=[];(t.items||[]).forEach(this.addItem,this)};t.BX.HeatMap.prototype={isItemsInited:false,draw:function(){if(this.document==document){BX.loadCSS("/bitrix/js/sender/heatmap/style.css",this.document)}else{var t=this.document.createElement("LINK");t.type="text/css";t.rel="stylesheet";t.href="/bitrix/js/sender/heatmap/style.css?"+1*new Date;this.document.head.appendChild(t)}this.resizeItems();this.items.forEach(function(t){t.draw()},this);if(!this.isItemsInited){this.items.forEach(function(t){var e=this;BX.bind(t.node,"mouseenter",function(){e.highLightItem(t,true)});BX.bind(t.node,"mouseleave",function(){e.highLightItem(t,false)})},this)}this.isItemsInited=true},resizeItems:function(){this.valueSum=0;this.items.forEach(function(t){this.valueSum+=parseFloat(t.value)},this);this.items.forEach(function(t){var e=parseFloat(t.value);var i=this.maxSize-this.minSize;var s=this.minSize+Math.ceil(e*i/this.valueSum);t.valuePercent=(e*100/this.valueSum).toFixed(1);t.resize(s)},this)},highLightItem:function(t,e){e=e||false;if(!this.shadowNode){this.shadowNode=this.document.createElement("div");BX.addClass(this.shadowNode,"bx-heat-map-shadow");this.document.body.appendChild(this.shadowNode)}if(e){BX.addClass(this.shadowNode,"bx-heat-map-shadow-show");BX.addClass(t.getRealAnchorNode(),"bx-heat-map-item-highlight")}else{BX.removeClass(this.shadowNode,"bx-heat-map-shadow-show");BX.removeClass(t.getRealAnchorNode(),"bx-heat-map-item-highlight")}},addItem:function(t){t.caller=this;t.document=this.document;var e=new BX.HeatMapItem(t);this.items.push(e);return e.id},getItemById:function(t){var e=this.items.filter(function(e){return e.id==t},this);return e.length>0?e[0]:null},removeItem:function(t){var e=this.getItemById(t);var i;this.items.forEach(function(e,s){if(e.id==t){i=s}},this);BX.util.deleteFromArray(this.items,i);e.remove();return e}}})(window);heatmap/script.map.js000064400000011501147722313310010602 0ustar00{"version":3,"sources":["script.js"],"names":["w","BX","HeatMap","HeatMapItem","params","this","caller","document","value","color","textColor","text","baloon","anchorNode","id","Math","floor","random","valuePercent","currentSize","position","left","top","isActual","node","prototype","initNodes","createElement","addClass","cont","appendChild","nodeValue","nodePercent","body","getRealAnchorNode","children","length","resize","size","calcPosition","anchorPos","pos","round","height","width","remove","draw","percents","String","substring","innerText","style","fontSize","maxSize","minSize","valueSum","items","forEach","addItem","isItemsInited","loadCSS","cssNode","type","rel","href","Date","head","resizeItems","item","_this","bind","highLightItem","parseFloat","delta","ceil","toFixed","isHiglight","shadowNode","removeClass","push","getItemById","filtered","filter","removeItem","index","ind","util","deleteFromArray","window"],"mappings":"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","file":""}heatmap/script.js000064400000012706147722313310010036 0ustar00;(function (w) {

	w.BX = w.BX || {};
	if (w.BX.HeatMap)
	{
		return;
	}

	w.BX.HeatMapItem = function (params) {
		this.caller = params.caller;
		this.document = params.document;
		this.value = params.value || 0;
		this.color = params.color || '#000';
		this.textColor = params.textColor || '#000';
		this.text = params.text || this.value;
		this.baloon = params.baloon || '';
		this.anchorNode = params.anchorNode || '';

		this.id = params.id || (Math.floor(Math.random() * (99999999 - 1000000 + 1)) + 1000000);

		this.valuePercent = 0;
		this.currentSize = null;
		this.position = {left: 0, top: 0, isActual: false};
		this.node = null;
	};
	w.BX.HeatMapItem.prototype = {
		initNodes: function ()
		{
			if (this.node)
			{
				return;
			}

			this.node = this.caller.document.createElement('div');
			BX.addClass(this.node, 'bx-heat-map-item');

			var cont = this.caller.document.createElement('span');
			this.node.appendChild(cont);
			this.nodeValue = this.caller.document.createElement('span');
			cont.appendChild(this.nodeValue);
			this.nodePercent = this.caller.document.createElement('span');
			cont.appendChild(this.nodePercent);

			this.caller.document.body.appendChild(this.node);
		},
		getRealAnchorNode: function ()
		{
			return (this.anchorNode.children.length > 0 ? this.anchorNode.children[0] : this.anchorNode);
		},
		resize: function (size)
		{
			this.position.isActual = this.currentSize === size;
			this.currentSize = size || 50;
			this.calcPosition();
		},
		calcPosition: function ()
		{
			if (this.position.isActual)
			{
				return;
			}

			var anchorPos = BX.pos(this.getRealAnchorNode());

			this.position.top = anchorPos.top + Math.round(anchorPos.height/2);
			this.position.top -= Math.round(this.currentSize / 2);

			this.position.left = anchorPos.left + Math.round(anchorPos.width/2);
			this.position.left -= Math.round(this.currentSize / 2);
		},
		remove: function ()
		{
			BX.remove(this.node);
		},
		draw: function ()
		{
			this.initNodes();
			this.calcPosition();

			var percents = String(this.valuePercent);
			if (percents.substring(percents.length-2, percents.length) == '.0')
			{
				percents = percents.substring(0, percents.length-2);
			}
			this.nodeValue.innerText = percents;
			this.nodePercent.innerText = '%';

			this.node.style.width = this.currentSize + 'px';
			this.node.style.height = this.currentSize + 'px';
			this.node.style.fontSize = Math.round(this.currentSize/3) + 'px';

			this.node.style.top = this.position.top + 'px';
			this.node.style.left = this.position.left + 'px';
		}
	};

	w.BX.HeatMap = function (params) {
		this.document = params.document || document;
		this.color = params.color || [0, 191, 255, 0.5];
		this.maxSize = params.maxSize || 90;
		this.minSize = params.minSize || 30;
		this.valueSum = 0;

		this.items = [];
		(params.items || []).forEach(this.addItem, this);
	};
	//(function(){}()).apply(w.BX.HeatMap.prototype);
	w.BX.HeatMap.prototype = {
		isItemsInited: false,
		draw: function ()
		{
			if (this.document == document)
			{
				BX.loadCSS('/bitrix/js/sender/heatmap/style.css', this.document);
			}
			else
			{
				var cssNode = this.document.createElement('LINK');
				cssNode.type = 'text/css';
				cssNode.rel = 'stylesheet';
				cssNode.href = '/bitrix/js/sender/heatmap/style.css?' + (1 * new Date());
				this.document.head.appendChild(cssNode);
			}

			this.resizeItems();

			this.items.forEach(function (item) {
				item.draw();
			}, this);

			if (!this.isItemsInited)
			{
				this.items.forEach(function (item) {
					var _this = this;
					BX.bind(item.node, 'mouseenter', function () {
						_this.highLightItem(item, true);
					});
					BX.bind(item.node, 'mouseleave', function () {
						_this.highLightItem(item, false);
					});
				}, this);
			}

			this.isItemsInited = true;
		},
		resizeItems: function ()
		{
			this.valueSum = 0;
			this.items.forEach(function (item) {
				this.valueSum += parseFloat(item.value);
			}, this);

			this.items.forEach(function (item) {
				var value = parseFloat(item.value);
				var delta = this.maxSize - this.minSize;
				var size = this.minSize + Math.ceil(value * delta / this.valueSum);
				item.valuePercent = (value * 100 / this.valueSum).toFixed(1);
				item.resize(size);
			}, this);
		},
		highLightItem: function (item, isHiglight)
		{
			isHiglight = isHiglight || false;
			if (!this.shadowNode)
			{
				this.shadowNode = this.document.createElement('div');
				BX.addClass(this.shadowNode, 'bx-heat-map-shadow');
				this.document.body.appendChild(this.shadowNode);
			}

			if (isHiglight)
			{
				BX.addClass(this.shadowNode, 'bx-heat-map-shadow-show');
				BX.addClass(item.getRealAnchorNode(), 'bx-heat-map-item-highlight');
			}
			else
			{
				BX.removeClass(this.shadowNode, 'bx-heat-map-shadow-show');
				BX.removeClass(item.getRealAnchorNode(), 'bx-heat-map-item-highlight');
			}
		},
		addItem: function (params)
		{
			params.caller = this;
			params.document = this.document;
			var item = new BX.HeatMapItem(params);
			this.items.push(item);

			return item.id;
		},
		getItemById: function (id)
		{
			var filtered = this.items.filter(function (item) {
				return item.id == id;
			}, this);
			return (filtered.length > 0 ? filtered[0] : null);
		},
		removeItem: function (id)
		{
			var item = this.getItemById(id);
			var index;
			this.items.forEach(function (item, ind) {
				if (item.id == id)
				{
					index = ind;
				}
			}, this);

			BX.util.deleteFromArray(this.items, index);
			item.remove();

			return item;
		}
	};

})(window);heatmap/style.css000064400000003345147722313310010045 0ustar00.bx-heat-map-item {

	position: absolute;
	top: 0;
	left: 0;

	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	width: 70px;
	height: 70px;
	background: rgba(113, 214, 0, 0.9);
	font: 32px Arial, sans-serif;
	color: white;
	border-radius: 50%;

	box-shadow: 0 5px 6px 0 rgba(33,33,33,.3);
	box-sizing: border-box;
	cursor: pointer;
	z-index: 5000;
}
.bx-heat-map-item:hover {
	z-index: 5003;
	background: rgba(113, 214, 0, 0.95);
}

.bx-heat-map-item>span {
	margin: auto;
	padding: 5px;
}

.bx-heat-map-item>span span:last-child {
	font-size: 66%;
	padding: 0;
}

.bx-heat-map-item-highlight {
	position: relative;
	z-index: 5002;
	background: white !important;
	color: blue !important;
}

.bx-heat-map-shadow {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #404040;
	opacity: 0.6;
	width: 100%;
	height: 100%;
	z-index: 5001;
	visibility: hidden;
}

/*
.bx-heat-map-shadow-show {
	display: block;
}
*/

.bx-heat-map-shadow-show {
	-webkit-animation: show .3s linear forwards;
	animation: show .3s linear forwards;
}

@-webkit-keyframes show {
	0% { opacity: 0; }
	50% { opacity: 0.2; }
	100% {
		opacity: 0.6;
		visibility: visible;
	}
}

@keyframes show {
	0% { opacity: 0; }
	50% { opacity: 0.2; }
	100% {
		opacity: 0.6;
		visibility: visible;
	}
}

.bx-heat-map-shadow-hide {
	-webkit-animation: hidden .2s linear forwards;
	animation: hidden .2s linear forwards;
}

@-webkit-keyframes hidden {
	0% { opacity: 0.6;
		visibility: visible;
	}
	50% { opacity: 0.4; }
	99.999% {visibility: visible;}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes hidden {
	0% { opacity: 0.6;
		visibility: visible;
	}
	50% { opacity: 0.4; }
	99.999% {visibility: visible;}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}heatmap/style.min.css000064400000002546147722313310010631 0ustar00.bx-heat-map-item{position:absolute;top:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;width:70px;height:70px;background:rgba(113,214,0,0.9);font:32px Arial,sans-serif;color:white;border-radius:50%;box-shadow:0 5px 6px 0 rgba(33,33,33,.3);box-sizing:border-box;cursor:pointer;z-index:5000}.bx-heat-map-item:hover{z-index:5003;background:rgba(113,214,0,0.95)}.bx-heat-map-item>span{margin:auto;padding:5px}.bx-heat-map-item>span span:last-child{font-size:66%;padding:0}.bx-heat-map-item-highlight{position:relative;z-index:5002;background:white!important;color:blue!important}.bx-heat-map-shadow{position:absolute;top:0;left:0;right:0;bottom:0;background:#404040;opacity:.6;width:100%;height:100%;z-index:5001;visibility:hidden}.bx-heat-map-shadow-show{-webkit-animation:show .3s linear forwards;animation:show .3s linear forwards}@-webkit-keyframes show{0%{opacity:0}50%{opacity:.2}100%{opacity:.6;visibility:visible}}@keyframes show{0%{opacity:0}50%{opacity:.2}100%{opacity:.6;visibility:visible}}.bx-heat-map-shadow-hide{-webkit-animation:hidden .2s linear forwards;animation:hidden .2s linear forwards}@-webkit-keyframes hidden{0%{opacity:.6;visibility:visible}50%{opacity:.4}99.999%{visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes hidden{0%{opacity:.6;visibility:visible}50%{opacity:.4}99.999%{visibility:visible}100%{opacity:0;visibility:hidden}}ajax_action/script.min.js000066400000006372147722313310011465 0ustar00(function(t){if(!t.BX){t.BX={}}if(BX.AjaxAction){return}var e=function(t){this.controllerUri=t};e.prototype.mess=function(t){return BX.message("MAIN_AJAX_ACTION_"+(t||"").toUpperCase())||""};e.prototype.getRequestingUri=function(t,e,s){e=e||{};e.action=t;e.sessid=BX.bitrix_sessid();return BX.util.add_url_param(s||this.controllerUri,e)};e.prototype.confirmDelete=function(t,e,s){this.confirm(this.mess("confirm_delete").replace("%name%",t||""),e,this.mess("delete"),s)};e.prototype.confirm=function(t,e,s,o){s=s||this.mess("apply");if(!this.confirmPopup){this.confirmPopup=BX.PopupWindowManager.create("main_ajax_action_confirm",null,{autoHide:true,lightShadow:true,closeByEsc:true,overlay:{backgroundColor:"black",opacity:500}});this.confirmPopup.setButtons([new BX.PopupWindowButton({text:s,className:"popup-window-button-accept",events:{click:this.onConfirmPopup.bind(this,e)}}),new BX.PopupWindowButton({text:this.mess("cancel"),events:{click:this.onConfirmPopup.bind(this,o)}})])}var i="main-ajax-action-text main-ajax-action-confirm";t=t||this.mess("confirm");t=BX.util.htmlspecialchars(t);this.confirmPopup.setContent('<span class="'+i+'">'+t+"</span>");this.confirmPopup.show()};e.prototype.onConfirmPopup=function(t){this.confirmPopup.close();if(!t){return}if(BX.type.isFunction(t)){t.apply(this)}else if(BX.type.isPlainObject(t)){this.request(t)}};e.prototype.showResult=function(t){if(!this.resultPopup){this.resultPopup=BX.PopupWindowManager.create("main_ajax_action_result",null,{autoHide:true,lightShadow:true,closeByEsc:true,overlay:{backgroundColor:"black",opacity:500}});this.resultPopup.setButtons([new BX.PopupWindowButton({text:this.mess("close"),events:{click:this.resultPopup.close.bind(this.resultPopup)}})])}var e="main-ajax-action-text main-ajax-action-result-"+(t.error?"error":"success");var s=t.text||(t.error?this.mess("error"):this.mess("success"));s=BX.util.htmlspecialchars(s);this.resultPopup.setContent('<span class="'+e+'">'+s+"</span>");this.resultPopup.show()};e.prototype.requestHtml=function(t){t.method=t.method||"GET";t.dataType="html";t.processData=t.processData||false;this.request(t)};e.prototype.request=function(t){var e=t.action;var s=t.data||{};var o=t.urlParams||{};var i=t.onsuccess||null;var r=t.onfailure||null;var n=t.onusererror||null;var a=t.showErrors!==undefined?!!t.showErrors:true;var p=t.showSuccess||false;var u=t.url||this.controllerUri;var c=t.method||"POST";if(c==="GET"){u=this.getRequestingUri(e,s,u)}else{u=BX.util.add_url_param(u,BX.merge({action:e},o))}var l=t.dataType||"json";var h=t.processData!==undefined?!!t.processData:true;s.action=e;s.sessid=BX.bitrix_sessid();BX.ajax({url:u,method:c,data:s,timeout:t.timeout||30,dataType:l,processData:h,onsuccess:this.onResponse.bind(this,p,a,i,r,n),onfailure:this.onResponseFailure.bind(this,a,r)})};e.prototype.onResponse=function(t,e,s,o,i,r){r=r||{};if(r.error){if(r.code&&i&&BX.type.isFunction(i[r.code])){i[r.code].apply(this,[r])}else{this.onResponseFailure(e,o,r)}}else{if(t){this.showResult(r)}if(BX.type.isFunction(s)){s.apply(this,[r])}}};e.prototype.onResponseFailure=function(t,e,s){s=BX.type.isPlainObject(s)?s:{};s.error=true;s.text=s.text||this.mess("error");if(t){this.showResult(s)}if(BX.type.isFunction(e)){e.apply(this,[s])}};BX.AjaxAction=e})(window);
//# sourceMappingURL=script.map.jsajax_action/script.map.js000066400000010537147722313310011455 0ustar00{"version":3,"sources":["script.js"],"names":["w","BX","AjaxAction","manager","controllerUri","this","prototype","mess","code","message","toUpperCase","getRequestingUri","action","sendData","uri","sessid","bitrix_sessid","util","add_url_param","confirmDelete","name","callbackApply","callbackRefuse","confirm","replace","text","textButtonApply","confirmPopup","PopupWindowManager","create","autoHide","lightShadow","closeByEsc","overlay","backgroundColor","opacity","setButtons","PopupWindowButton","className","events","click","onConfirmPopup","bind","htmlspecialchars","setContent","show","callback","close","type","isFunction","apply","isPlainObject","request","showResult","data","resultPopup","error","requestHtml","config","method","dataType","processData","urlParams","callbackSuccess","onsuccess","callbackFailure","onfailure","callbackUserError","onusererror","showErrors","undefined","showSuccess","url","requestMethod","merge","responseDataType","processResponseData","ajax","timeout","onResponse","onResponseFailure","window"],"mappings":"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","file":"script.map.js"}ajax_action/script.js000066400000012463147722313310010701 0ustar00;(function (w) {

	if (!w.BX)
	{
		w.BX = {};
	}
	if (BX.AjaxAction)
	{
		return;
	}

	var manager = function (controllerUri)
	{
		this.controllerUri = controllerUri;
	};
	manager.prototype.mess = function (code)
	{
		return BX.message('MAIN_AJAX_ACTION_' + (code || '').toUpperCase()) || '';
	};
	manager.prototype.getRequestingUri = function (action, sendData, uri)
	{
		sendData = sendData || {};
		sendData.action = action;
		sendData.sessid = BX.bitrix_sessid();

		return BX.util.add_url_param(uri || this.controllerUri, sendData);
	};
	manager.prototype.confirmDelete = function (name, callbackApply, callbackRefuse)
	{
		this.confirm(
			this.mess('confirm_delete').replace('%name%', name || ''),
			callbackApply,
			this.mess('delete'),
			callbackRefuse
		);
	};
	manager.prototype.confirm = function (text, callbackApply, textButtonApply, callbackRefuse)
	{
		textButtonApply = textButtonApply || this.mess('apply');
		if (!this.confirmPopup)
		{
			this.confirmPopup = BX.PopupWindowManager.create(
				'main_ajax_action_confirm',
				null,
				{
					autoHide: true,
					lightShadow: true,
					closeByEsc: true,
					overlay: {backgroundColor: 'black', opacity: 500}
				}
			);

			this.confirmPopup.setButtons([
				new BX.PopupWindowButton({
					text: textButtonApply,
					className: "popup-window-button-accept",
					events: {click: this.onConfirmPopup.bind(this, callbackApply)}
				}),
				new BX.PopupWindowButton({
					text: this.mess('cancel'),
					events: {click: this.onConfirmPopup.bind(this, callbackRefuse)}
				})
			]);
		}

		var className = 'main-ajax-action-text main-ajax-action-confirm';
		text = text || this.mess('confirm');
		text = BX.util.htmlspecialchars(text);
		this.confirmPopup.setContent('<span class="' + className + '">' + text + '</span>');
		this.confirmPopup.show();
	};
	manager.prototype.onConfirmPopup = function (callback)
	{
		this.confirmPopup.close();
		if (!callback)
		{
			return;
		}
		if (BX.type.isFunction(callback))
		{
			callback.apply(this);
		}
		else if (BX.type.isPlainObject(callback))
		{
			this.request(callback);
		}
	};
	manager.prototype.showResult = function (data)
	{
		if (!this.resultPopup)
		{
			this.resultPopup = BX.PopupWindowManager.create(
				'main_ajax_action_result',
				null,
				{
					autoHide: true,
					lightShadow: true,
					closeByEsc: true,
					overlay: {backgroundColor: 'black', opacity: 500}
				}
			);

			this.resultPopup.setButtons([
				new BX.PopupWindowButton({
					text: this.mess('close'),
					events: {click: this.resultPopup.close.bind(this.resultPopup)}
				})
			]);
		}

		var className = 'main-ajax-action-text main-ajax-action-result-' + (data.error ? 'error' : 'success');
		var text = data.text || (data.error ? this.mess('error') : this.mess('success'));
		text = BX.util.htmlspecialchars(text);
		this.resultPopup.setContent('<span class="' + className + '">' + text + '</span>');
		this.resultPopup.show();
	};
	manager.prototype.requestHtml = function (config)
	{
		config.method = config.method || 'GET';
		config.dataType = 'html';
		config.processData = config.processData || false;

		this.request(config);
	};
	manager.prototype.request = function (config)
	{
		var action = config.action;
		var sendData = config.data || {};
		var urlParams = config.urlParams || {};
		var callbackSuccess = config.onsuccess || null;
		var callbackFailure = config.onfailure || null;
		var callbackUserError = config.onusererror || null;
		var showErrors = (config.showErrors !== undefined) ? !!config.showErrors : true;
		var showSuccess = config.showSuccess || false;
		var uri = config.url || this.controllerUri;
		var requestMethod = config.method || 'POST';
		if (requestMethod === 'GET')
		{
			uri = this.getRequestingUri(action, sendData, uri);
		}
		else
		{
			uri = BX.util.add_url_param(uri, BX.merge({'action': action}, urlParams));
		}
		var responseDataType = config.dataType || 'json';
		var processResponseData = (config.processData !== undefined) ? !!config.processData : true;

		sendData.action = action;
		sendData.sessid = BX.bitrix_sessid();
		BX.ajax({
			url: uri,
			method: requestMethod,
			data: sendData,
			timeout: config.timeout || 30,
			dataType: responseDataType,
			processData: processResponseData,
			onsuccess: this.onResponse.bind(this, showSuccess, showErrors, callbackSuccess, callbackFailure, callbackUserError),
			onfailure: this.onResponseFailure.bind(this, showErrors, callbackFailure)
		});
	};
	manager.prototype.onResponse = function (showSuccess, showErrors, callbackSuccess, callbackFailure, callbackUserError, data)
	{
		data = data || {};
		if(data.error)
		{
			if (data.code && callbackUserError && BX.type.isFunction(callbackUserError[data.code]))
			{
				callbackUserError[data.code].apply(this, [data]);
			}
			else
			{
				this.onResponseFailure(showErrors, callbackFailure, data);
			}
		}
		else
		{
			if (showSuccess)
			{
				this.showResult(data);
			}

			if (BX.type.isFunction(callbackSuccess))
			{
				callbackSuccess.apply(this, [data]);
			}
		}
	};
	manager.prototype.onResponseFailure = function (showErrors, callback, data)
	{
		data = BX.type.isPlainObject(data) ? data : {};
		data.error = true;
		data.text = data.text || this.mess('error');

		if (showErrors)
		{
			this.showResult(data);
		}

		if (BX.type.isFunction(callback))
		{
			callback.apply(this, [data]);
		}
	};

	BX.AjaxAction = manager;

})(window);ajax_action/style.css000064400000000670147722313310010704 0ustar00.main-ajax-action-text {
	display: block;
	padding: 60px 0;
	border-bottom: 1px solid rgba(207,213,223, .5);
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	font: 16px 'HelveticaNeue', Helvetica, Arial, sans-serif;
	color: #535c69;
	text-align: center;
	min-width: 400px;
}

.main-ajax-action-confirm {

}

.main-ajax-action-result-success {
	color: green;
}

.main-ajax-action-result-error {
	color: #eb314b;
}ajax_action/style.min.css000064400000000543147722313310011465 0ustar00.main-ajax-action-text{display:block;padding:60px 0;border-bottom:1px solid rgba(207,213,223,.5);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;font:16px 'HelveticaNeue',Helvetica,Arial,sans-serif;color:#535c69;text-align:center;min-width:400px}.main-ajax-action-result-success{color:green}.main-ajax-action-result-error{color:#eb314b}page/script.min.js000066400000005174147722313310010120 0ustar00(function(e){BX.namespace("BX.Sender");if(BX.Sender.Page){return}function i(){}i.prototype.initButtonPanel=function(){var e="sender-ui-button-panel-";var i=BX(e+"save");var n=BX(e+"cancel");BX.bind(i,"click",function(){BX.addClass(i,"ui-btn-wait");setTimeout(function(){i.disabled=true},100)});if(this.slider.isInSlider()){var t=this;BX.bind(n,"click",function(e){t.slider.close();e.preventDefault();e.stopPropagation()})}};i.prototype.initButtons=function(){var e=BX("SENDER_BUTTON_ADD");if(e){this.slider.bindOpen(e)}this.initButtonPanel()};i.prototype.reloadGrid=function(e){if(!BX.Main||!BX.Main.gridManager){return}if(!e&&BX.Main.gridManager.data){var i=BX.Main.gridManager.data;e=i.length>0?i[0].id:null}if(!e){return}var n=BX.Main.gridManager.getById(e);if(!n||!BX.height(n.instance.getTable())){return}n.instance.reload()};i.prototype.changeGridLoaderShowing=function(e,i){var n=BX.Main.gridManager.getById(e);if(!n||!n.instance){return}i?n.instance.tableFade():n.instance.tableUnfade()};i.prototype.open=function(e,i,n){this.slider.open(e,i,n)};i.prototype.slider={init:function(e){if(!this.isSupported()){return}if(typeof BX.Bitrix24!=="undefined"&&typeof BX.Bitrix24.PageSlider!=="undefined"){BX.Bitrix24.PageSlider.bindAnchors({rules:[{condition:e.condition,loader:e.loader,stopParameters:[],options:e.options}]})}},getSlider:function(){if(!this.isSupported()){return null}return BX.SidePanel.Instance},isInSlider:function(){return top!==e&&top.BX&&this.isSupported()},isSupported:function(){return BX.SidePanel&&BX.SidePanel.Instance||this.isInSlider()},bindOpen:function(e){if(!this.isSupported()){return}BX.bind(e,"click",this.openHref.bind(this,e))},openHref:function(e,i){if(!this.isSupported()){return}i.preventDefault();i.stopPropagation();var n=e.getAttribute("href");if(!n){return}this.open(n)},open:function(i,n,t){if(!this.isSupported()){e.location.href=i;return}t=t||{};if(!BX.type.isBoolean(t.cacheable)){t.cacheable=false}this.getSlider().open(i,t);if(n){if(!this.getSlider().iframe){return}BX.addCustomEvent(this.getSlider().iframe.contentWindow,"BX.Bitrix24.PageSlider:onClose",function(){if(BX.type.isBoolean(n)){e.location.reload()}else if(BX.type.isFunction(n)){n()}})}else{BX.addCustomEvent(BX.SidePanel.Instance.getTopSlider(),"SidePanel.Slider:onReload",function(){BX.Sender.Page.reloadGrid()})}},close:function(){if(!this.isSupported()){return null}this.getSlider().close()}};BX.Sender.Page=new i;BX.Sender.Page.slider.init({condition:["/marketing/config/role/"],options:{cacheable:false,events:{onOpen:function(){var e=BX.Main.interfaceButtonsManager;for(var i in e.data){e.data[i].closeSubmenu()}}}}})})(window);
//# sourceMappingURL=script.map.jspage/script.map.js000066400000006710147722313310010107 0ustar00{"version":3,"sources":["script.js"],"names":["window","BX","namespace","Sender","Page","prototype","initButtonPanel","prefix","saveButton","cancelButton","bind","addClass","setTimeout","disabled","this","slider","isInSlider","self","e","close","preventDefault","stopPropagation","initButtons","buttonAdd","bindOpen","reloadGrid","id","Main","gridManager","data","grids","length","grid","getById","height","instance","getTable","reload","changeGridLoaderShowing","isShow","tableFade","tableUnfade","open","uri","callback","parameters","init","params","isSupported","Bitrix24","PageSlider","bindAnchors","rules","condition","loader","stopParameters","options","getSlider","SidePanel","Instance","top","element","openHref","a","href","getAttribute","reloadAfterClosing","location","type","isBoolean","cacheable","iframe","addCustomEvent","contentWindow","isFunction","getTopSlider","events","onOpen","manager","interfaceButtonsManager","menuId","closeSubmenu"],"mappings":"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","file":"script.map.js"}page/script.js000066400000010113147722313310007323 0ustar00;(function (window)
{
	BX.namespace('BX.Sender');
	if (BX.Sender.Page)
	{
		return;
	}

	function Page()
	{
	}
	Page.prototype.initButtonPanel = function ()
	{
		var prefix = 'sender-ui-button-panel-';
		var saveButton = BX(prefix + 'save');
		var cancelButton = BX(prefix + 'cancel');

		BX.bind(saveButton, 'click', function () {
			BX.addClass(saveButton, 'ui-btn-wait');
			setTimeout(function () {
				saveButton.disabled = true;
			}, 100);
		});

		if (this.slider.isInSlider())
		{
			var self = this;
			BX.bind(cancelButton, 'click', function (e) {
				self.slider.close();
				e.preventDefault();
				e.stopPropagation();
			});
		}
	};
	Page.prototype.initButtons = function ()
	{
		var buttonAdd = BX('SENDER_BUTTON_ADD');
		if (buttonAdd)
		{
			this.slider.bindOpen(buttonAdd);
		}

		this.initButtonPanel();
	};
	Page.prototype.reloadGrid = function (id)
	{
		if (!BX.Main || !BX.Main.gridManager)
		{
			return;
		}

		if (!id && BX.Main.gridManager.data)
		{
			var grids = BX.Main.gridManager.data;
			id = grids.length > 0 ? grids[0].id : null;
		}

		if(!id)
		{
			return;
		}

		var grid = BX.Main.gridManager.getById(id);
		if (!grid || !BX.height(grid.instance.getTable()))
		{
			return;
		}
		grid.instance.reload();
	};
	Page.prototype.changeGridLoaderShowing = function (id, isShow)
	{
		var grid = BX.Main.gridManager.getById(id);
		if (!grid || !grid.instance)
		{
			return;
		}

		isShow ? grid.instance.tableFade() : grid.instance.tableUnfade();
	};
	Page.prototype.open = function (uri, callback, parameters)
	{
		this.slider.open(uri, callback, parameters);
	};
	Page.prototype.slider = {

		init: function (params)
		{
			if (!this.isSupported())
			{
				return;
			}
			if (
				typeof BX.Bitrix24 !== "undefined" &&
				typeof BX.Bitrix24.PageSlider !== "undefined"
			)
			{
				BX.Bitrix24.PageSlider.bindAnchors({
					rules: [
						{
							condition: params.condition,
							loader: params.loader,
							stopParameters: [],
							options: params.options
						}
					],
				});
			}
		},
		getSlider: function ()
		{
			if (!this.isSupported())
			{
				return null;
			}

			return BX.SidePanel.Instance;
		},
		isInSlider: function ()
		{
			return (top !== window && top.BX && this.isSupported());
		},
		isSupported: function ()
		{
			return ((BX.SidePanel && BX.SidePanel.Instance) || (this.isInSlider()));
		},
		bindOpen: function (element)
		{
			if (!this.isSupported())
			{
				return;
			}

			BX.bind(element, 'click', this.openHref.bind(this, element));
		},
		openHref: function (a, e)
		{
			if (!this.isSupported())
			{
				return;
			}

			e.preventDefault();
			e.stopPropagation();

			var href = a.getAttribute('href');
			if (!href)
			{
				return;
			}

			this.open(href);
		},
		open: function (uri, reloadAfterClosing, parameters)
		{
			if (!this.isSupported())
			{
				window.location.href = uri;
				return;
			}

			parameters = parameters || {};
			if (!BX.type.isBoolean(parameters.cacheable))
			{
				parameters.cacheable = false;
			}

			this.getSlider().open(uri, parameters);
			if (reloadAfterClosing)
			{
				if (!this.getSlider().iframe)
				{
					return;
				}

				BX.addCustomEvent(
					this.getSlider().iframe.contentWindow,
					"BX.Bitrix24.PageSlider:onClose",
					function ()
					{
						if (BX.type.isBoolean(reloadAfterClosing))
						{
							window.location.reload();
						}
						else if (BX.type.isFunction(reloadAfterClosing))
						{
							reloadAfterClosing();
						}
					}
				);
			}
			else
			{
				BX.addCustomEvent(
					BX.SidePanel.Instance.getTopSlider(),
					"SidePanel.Slider:onReload",
					function () {
						BX.Sender.Page.reloadGrid();
					}
				);
			}
		},
		close: function ()
		{
			if (!this.isSupported())
			{
				return null;
			}

			this.getSlider().close();
		}
	};

	BX.Sender.Page = new Page();
	BX.Sender.Page.slider.init({
		condition: ["/marketing/config/role/"],
		options: {
			cacheable: false,
			events: {
				onOpen: function () {
					var manager = BX.Main.interfaceButtonsManager;
					for (var menuId in manager.data)
					{
						manager.data[menuId].closeSubmenu();
					}
				}
			}
		}
	});


})(window);page/style.css000066400000000416147722313310007340 0ustar00font.errortext {
	padding: 25px;
}

.pagetitle-align-right-container {
	margin-left: auto;
}

.pagetitle-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}page/style.min.css000066400000000332147722313310010117 0ustar00font.errortext{padding:25px}.pagetitle-align-right-container{margin-left:auto}.pagetitle-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}editor_mailblock.map.js000064400000007516147722313310011175 0ustar00{"version":3,"file":"editor_mailblock.min.js","sources":["editor_mailblock.js"],"names":["__runmailblocks","BXEditorMailBlocks","editor","this","listLoaded","mailblocks","config","HandleList","Init","prototype","BX","addCustomEvent","proxy","OnTemplateChanged","GetList","i","items","hasOwnProperty","key","path","replace","ReloadList","clearCache","FetchPlainListOfCategories","list","level","result","l","length","push","section","children","templateId","MailBlocksControl","superclass","constructor","apply","arguments","id","title","message","searchPlaceholder","uniqueId","extend","window","BXHtmlEditor","Taskbar","BuildSceleton","BuildTree","groups","_this","phpParser","AddBxNode","Parse","params","code","GetMenuItems","arItems","text","className","onclick","snippets","PopupMenu","destroy","HandleElementEx","wrap","dd","SetBxTag","tag","description","sections","elements","pTreeCont","appendChild","create","props","dialogs","ready","PlaceHolderSelectorList","action","zIndex","placeHolderList","On","disabledForTextarea","arValues","value","CODE","name","NAME","topName","DESC","style","Create","pCont","innerHTML","GetCont","DropDownList","Controls"],"mappings":"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"}stat/script.min.js000066400000034276147722313310010164 0ustar00(function(t){if(!t.BX){t.BX={}}if(!t.BX.Sender){t.BX.Sender={}}if(t.BX.Sender.Statistics){return}BX.Sender.Statistics=function(){};BX.Sender.Statistics.prototype={filters:[],blocks:[],filterUrl:"/bitrix/admin/sender_statistics.php",onResponseData:function(t){BX.onCustomEvent(this,"onDataLoad",[t])},onScroll:function(){this.callBlockFunction("onScroll")},callBlockFunction:function(t,e){e=e||{};this.blocks.forEach(function(i){i[t](e)},this)},getFilterQueryData:function(){var t={};this.filters.forEach(function(e){if(!e.value){return}t[e.name]=e.value});return t},filter:function(){BX.onCustomEvent(this,"onDataRequest",[]);var t=this.getFilterQueryData();t.action="getData";t.sessid=BX.bitrix_sessid();BX.ajax({url:this.filterUrl,method:"POST",data:t,dataType:"json",onsuccess:BX.proxy(this.onResponseData,this)})},getFilter:function(t){var e=this.filters.filter(function(e){return e.name==t});return e.length>0?e[0]:null},addBlocks:function(t){t.forEach(function(t){var e="StatisticsBlock"+t;if(!BX.Sender.hasOwnProperty(e)){throw new Error('Class "BX.Sender.'+e+'" not found for block "'+t+'"')}var i=new BX.Sender[e];this.blocks.push(i)},this)},addFilters:function(t){t.forEach(function(t){t.caller=this;t.onFilter=BX.proxy(this.filter,this);this.filters.push(new BX.Sender.StatisticsFilter(t))},this)},init:function(e){this.mess=e.mess;this.context=e.context;var i=e;i.caller=this;this.callBlockFunction("onInit",i);BX.bind(t,"scroll",BX.throttle(this.onScroll.bind(this),350))}};var e=function(e){this.load=function(t){this.nameTemplate=t.nameTemplate;this.pathToUserProfile=t.pathToUserProfile;this.actionUrl=t.actionUrl;this.instance=new BX.Sender.Statistics;this.instance.filterUrl=this.actionUrl;this.instance.addBlocks(this.getBlocks(t));this.instance.addFilters(this.getFilters(t));this.instance.init(t)};this.getBlocks=function(t){return["Counters","ClickMap"]};this.getFilters=function(e){var i=e.chainList.map(function(t){return{id:t.ID,title:t.NAME,className:"bx-sender-stat-popup-item-chain",text:""+'<span class="bx-sender-stat-popup-item-chain-date">'+BX.util.htmlspecialchars(t.DATE_SENT_FORMATTED)+"</span>"+'<span class="bx-sender-stat-popup-item-chain-name">'+BX.util.htmlspecialchars(t.NAME)+"</span>"}},this);i.push({delimiter:true});i.push({id:"all",text:e.mess.allPostings,onclick:BX.proxy(function(){var e="/bitrix/admin/sender_mailing_chain_admin.php";e+="?MAILING_ID="+parseInt(this.instance.getFilter("mailingId").value);t.location.href=e},this)});return[{name:"letterId",value:e.chainId,node:BX("sender_stat_filter_chain_id"),items:[]},{name:"mailingId",value:e.mailingId},{name:"postingId",value:e.postingId}]}};BX.Sender.PostingsStats=new e;var i=function(t){this.load=function(t){this.instance=new BX.Sender.Statistics;this.instance.addBlocks(this.getBlocks(t));this.instance.addFilters(this.getFilters(t));this.instance.init(t)};this.getBlocks=function(t){return["Counters","Efficiency","ChainList","CountersDynamic"]};this.getFilters=function(t){return t.filters.map(function(t){var e=t.list.map(function(t){var e=BX.util.htmlspecialchars(t.NAME||"");return{id:t.ID,text:e,title:e}},this);return{name:t.name,value:t.value,node:BX("sender_stat_filter_"+t.name.toLowerCase()),items:e}},this)}};BX.Sender.GlobalStats=new i;BX.Sender.StatisticsFilter=function(t){this.caller=t.caller;this.name=t.name;this.value=t.value;this.node=t.node||null;this.items=t.items||null;this.onFilter=t.onFilter||null;this.popup=null;if(this.node){BX.bind(this.node,"click",BX.proxy(this.show,this))}if(this.items){this.items.filter(function(t){var e=this.value==""||this.value===null?"all":this.value;return e==t.id},this).forEach(this.setCurrentItem,this)}};BX.Sender.StatisticsFilter.prototype={show:function(){if(!this.popup){var t=this.items.map(function(t){if(!t.onclick){t.onclick=BX.proxy(this.onClick,this)}return t},this);this.popup=this.createPopup("sender_stat_filter_"+this.name,this.node,t)}if(this.popup.show){this.popup.show()}else{this.popup.popupWindow.show()}},setCurrentItem:function(t){if(!this.node){return}this.node.innerText=t.title;this.value=t.id},onClick:function(t,e){this.setCurrentItem(e);this.popup.close();if(this.onFilter){this.onFilter()}},createPopup:function(t,e,i,a){a=a||{};return BX.PopupMenu.create(t,e,i,{autoHide:true,offsetLeft:a.offsetLeft?a.offsetLeft:-21,offsetTop:a.offsetTop?a.offsetTop:-3,angle:{position:"top",offset:42},events:{}})},val:function(t){if(typeof t!="undefined"){this.value=t}return this.value}};BX.Sender.StatisticsBlock=function(){};BX.Sender.StatisticsBlock.prototype={name:"default",attributeBlock:"data-bx-block",attributePoint:"data-bx-point",attributeLoader:"data-bx-view-loader",attributeDataView:"data-bx-view-data",pointNodes:null,blockNodeList:null,onInit:function(t){this.caller=t.caller;var e;if(BX.Sender.StatisticsBlock.prototype.blockNodeList===null){e=this.caller.context.querySelectorAll("["+this.attributeBlock+"]");e=BX.convert.nodeListToArray(e);BX.Sender.StatisticsBlock.prototype.blockNodeList=e}else{e=BX.Sender.StatisticsBlock.prototype.blockNodeList}this.context=e.filter(function(t){return t.getAttribute(this.attributeBlock)==this.name},this)[0];if(this.context){this.loaderNode=this.context.querySelector("["+this.attributeLoader+"]");this.dataViewNode=this.context.querySelector("["+this.attributeDataView+"]")}if(this.context&&this.pointNodes===null){this.pointNodes=this.context.querySelectorAll("["+this.attributePoint+"]");this.pointNodes=BX.convert.nodeListToArray(this.pointNodes)}BX.addCustomEvent(this.caller,"onDataLoad",BX.proxy(this.onDataLoad,this));BX.addCustomEvent(this.caller,"onDataRequest",BX.proxy(this.fadeOut,this));BX.addCustomEvent(this.caller,"onScroll",BX.proxy(this.onScroll,this));this.init(t)},onScroll:function(){},fadeOut:function(){if(this.loaderNode){this.dataViewNode.style.display="none";this.loaderNode.style.display=""}this.pointNodes.forEach(function(t){if(this.getDisplayDataType(t)){return}BX.addClass(t,"bx-sender-loader");var e=document.createElement("SPAN");e.className="bx-sender-loader-sm";t.innerHTML="";t.appendChild(e)},this)},fadeIn:function(){if(this.loaderNode){this.loaderNode.style.display="none";this.dataViewNode.style.display=""}},onDataLoad:function(t){this.loadData(t);this.fadeIn()},init:function(t){},loadData:function(t){},getDisplayDataType:function(t){var e=t.getAttribute(this.attributePoint);var i=e.split(":");return i[1]?i[1]:null},setDisplayData:function(t,e){var i=t.getAttribute(this.attributePoint);var a=i.split(":");var s=a[0].split("/");var n=a[1];var o;s.forEach(function(t){if(o===null){return}if(typeof o=="undefined"){if(!e.hasOwnProperty(t)){o=null;return}o=e[t]}else{if(!o.hasOwnProperty(t)){o=null;return}o=o[t]}});switch(n){case"width":t.style.width=parseInt(parseFloat(o)*100)+"%";break;case"href":t.href=BX.util.strip_tags(o);break;default:t.innerText=o;break}BX.removeClass(t,"bx-sender-loader")},updateDisplayData:function(t){this.pointNodes.forEach(function(e){this.setDisplayData(e,t)},this)}};function a(t){var e=function(){};BX.extend(e,BX.Sender.StatisticsBlock);for(var i in t){if(!t.hasOwnProperty(i)){continue}e.prototype[i]=t[i]}return e}BX.Sender.StatisticsBlockClickMap=a({name:"ClickMap",init:function(t){if(!t.posting){return}this.linkParams=t.posting.linkParams||"";this.clickList=t.clickList;this.frameNode=this.context.querySelector("[data-bx-click-map]");BX.bind(this.frameNode,"load",BX.proxy(this.draw,this));this.ajaxAction=new BX.AjaxAction(this.caller.filterUrl);this.isNodeReloaded=false;this.onScroll()},onScroll:function(){if(!this.context){return}if(!BX.LazyLoad.isElementVisibleOnScreen(this.context)){return}if(this.isNodeReloaded){return}this.reloadFrame()},reloadFrame:function(){this.fadeOut();this.frameNode.src=this.ajaxAction.getRequestingUri("getClickMap",{lang:"",letterId:this.caller.getFilter("letterId").value});this.isNodeReloaded=true},loadData:function(t){this.isNodeReloaded=false;this.linkParams=t.posting.linkParams||"";this.clickList=t.clickList;this.onScroll()},draw:function(){this.fadeIn();var t=this.frameNode.contentDocument;this.frameNode.style.height=t.body.scrollHeight+"px";var e=new BX.HeatMap({document:t});var i=BX.convert.nodeListToArray(t.body.querySelectorAll("a"));if(this.linkParams){this.linkParams=this.linkParams.trim();if(this.linkParams.indexOf("?")===0){this.linkParams=this.linkParams.substring(1)}if(this.linkParams.indexOf("&")===0){this.linkParams=this.linkParams.substring(1)}}this.clickList.forEach(function(t){try{t.URL=BX.util.htmlspecialcharsback(decodeURIComponent(t.URL))}catch(t){}var a=i.filter(function(e){var i=this.prepareUrl(e.href);return i===t.URL},this);if(a.length===0){return}e.addItem({value:t.CNT,baloon:t.URL,anchorNode:a[0]})},this);e.draw()},prepareUrl:function(t){try{t=BX.util.htmlspecialcharsback(decodeURIComponent(t))}catch(t){}t=t.replace(/\+/g," ");if(this.linkParams){t+=(t.indexOf("?")>=0?"&":"?")+this.linkParams}return t}});BX.Sender.StatisticsBlockCounters=a({name:"Counters",init:function(t){this.isNodeReloaded=false;this.onScroll()},loadData:function(t){this.updateDisplayData(t)}});BX.Sender.StatisticsBlockChainList=a({name:"ChainList",init:function(t){this.chainList=t.chainList;this.isNodeReloaded=true;this.onScroll();this.postingsNode=this.context.querySelector("[data-bx-view-data-postings]");this.updateDisplayChainListContainer()},loadData:function(t){this.updateDisplayChainList(t.chainList)},updateDisplayChainList:function(t){var e=BX("sender-stat-template-last-posting");e=e.innerHTML;var i=t.map(function(t){var i=e;for(var a in t){var s=BX.util.htmlspecialchars(t[a]);i=i.replace(new RegExp("%"+a+"%","g"),s)}return i},this);this.postingsNode.innerHTML=i.join("");this.updateDisplayChainListContainer()},updateDisplayChainListContainer:function(){this.postingsNode.style.display=this.postingsNode.children.length>0?"":"none"}});BX.Sender.StatisticsBlockEfficiency=a({name:"Efficiency",init:function(t){this.isNodeReloaded=true;this.onScroll();this.efficiencyPointerNode=this.context.querySelector("[data-bx-view-data-eff]");this.efficiencyValueNode=this.context.querySelector("[data-bx-view-data-eff-val]");if(t.efficiency){this.updateDisplayEfficiency(t.efficiency)}},loadData:function(t){this.updateDisplayEfficiency(t.efficiency)},updateDisplayEfficiency:function(t){this.efficiencyPointerNode.style.left=t.PERCENT_VALUE+"%";this.efficiencyValueNode.innerText=t.VALUE+"%"}});BX.Sender.StatisticsBlockReadByTime=a({name:"ReadByTime",init:function(t){this.readByTimeList=t.readByTimeList;this.isNodeReloaded=false;this.onScroll()},onScroll:function(){if(!BX.LazyLoad.isElementVisibleOnScreen(this.context)){return}if(this.isNodeReloaded){return}this.requestData()},requestData:function(){this.fadeOut();this.isNodeReloaded=true;this.ajaxAction=new BX.AjaxAction(this.caller.filterUrl);this.ajaxAction.request({action:"getReadByTime",data:{letterId:this.caller.getFilter("letterId").value},onsuccess:BX.proxy(function(t){this.readByTimeList=t.readingByTimeList;this.draw()},this)})},loadData:function(t){this.isNodeReloaded=false;this.onScroll()},draw:function(){this.fadeIn();if(this.chart){this.chart.dataProvider=this.readByTimeList;this.chart.validateData();return}this.chart=t.AmCharts.makeChart(this.dataViewNode,{type:"serial",theme:"light",dataProvider:this.readByTimeList,valueAxes:[{gridColor:"#FFFFFF",gridAlpha:.2,dashLength:0,labelFrequency:2,labelFunction:function(t){if(parseFloat(t)==parseInt(t)){return parseInt(t)}return""}}],gridAboveGraphs:true,startDuration:1,graphs:[{balloonText:this.caller.mess.readByTimeBalloon.replace("%time%","[[category]]").replace("%cnt%","<b>[[value]]</b>"),fillAlphas:.8,lineAlpha:.2,type:"column",valueField:"CNT_DISPLAY"}],chartCursor:{categoryBalloonEnabled:false,cursorAlpha:0,zoomable:false},categoryField:"DAY_HOUR_DISPLAY",categoryAxis:{gridPosition:"start",gridAlpha:0,tickPosition:"start",tickLength:20},export:{enabled:false}})}});BX.Sender.StatisticsBlockCountersDynamic=a({name:"CountersDynamic",data:{},attributeChartNode:"data-bx-chart",attributeTextView:"data-bx-view-text",init:function(t){this.data=t.countersDynamic||{};this.charts=this.context.querySelectorAll("["+this.attributeChartNode+"]");this.charts=BX.convert.nodeListToArray(this.charts);this.charts=this.charts.map(function(t){return{name:t.getAttribute(this.attributeChartNode),node:t,loaderNode:t.querySelector("["+this.attributeLoader+"]"),dataViewNode:t.querySelector("["+this.attributeDataView+"]"),textViewNode:t.querySelector("["+this.attributeTextView+"]"),instance:null}},this);this.isNodeReloaded=false;this.onScroll()},onScroll:function(){if(!BX.LazyLoad.isElementVisibleOnScreen(this.context)){return}if(this.isNodeReloaded){return}this.requestData()},fadeOut:function(){this.charts.forEach(function(t){if(t.loaderNode){t.textViewNode.style.display="none";t.dataViewNode.style.display="none";t.loaderNode.style.display=""}})},fadeIn:function(){this.charts.forEach(function(t){if(t.loaderNode){t.textViewNode.style.display="none";t.loaderNode.style.display="none";t.dataViewNode.style.display=""}})},showText:function(t){t.loaderNode.style.display="none";t.dataViewNode.style.display="none";t.textViewNode.style.display=""},requestData:function(){this.fadeOut();this.isNodeReloaded=true;var t=this.caller.getFilterQueryData();t.action="get_counters_dynamic";t.sessid=BX.bitrix_sessid();BX.ajax({url:this.caller.filterUrl,method:"POST",data:t,dataType:"json",onsuccess:BX.proxy(function(t){this.data=t.countersDynamic;this.draw()},this)})},loadData:function(t){this.isNodeReloaded=false;this.onScroll()},draw:function(){this.charts.forEach(this.drawChart,this)},drawChart:function(e){if(!this.data[e.name]){this.showText(e);return}var i=this.data[e.name];i.forEach(function(t){if(BX.type.isNumber(t.DATE)){t.DATE=BX.date.format("j M",t.DATE)}else{t.DATE=0}});this.fadeIn();if(e.instance){e.instance.dataProvider=i;e.instance.validateData();return}e.instance=t.AmCharts.makeChart(e.dataViewNode,{type:"serial",theme:"light",dataProvider:i,valueAxes:[{gridColor:"#FFFFFF",gridAlpha:.2,dashLength:0,unit:"%"}],gridAboveGraphs:true,startDuration:1,graphs:[{balloonText:"[[category]]: <b>[[value]]%</b>",bullet:"round",bulletSize:8,lineColor:"#637bb6",lineThickness:2,type:"smoothedLine",valueField:"PERCENT_VALUE_DISPLAY"}],chartCursor:{categoryBalloonEnabled:false,cursorAlpha:0,zoomable:false},categoryField:"DATE",categoryAxis:{gridPosition:"start",gridAlpha:0,tickPosition:"start",tickLength:20},export:{enabled:false}})}})})(window);
//# sourceMappingURL=script.map.jsstat/script.map.js000066400000040643147722313310010151 0ustar00{"version":3,"sources":["script.js"],"names":["window","BX","Sender","Statistics","prototype","filters","blocks","filterUrl","onResponseData","data","onCustomEvent","this","onScroll","callBlockFunction","functionName","params","forEach","block","getFilterQueryData","queryData","filter","value","name","action","sessid","bitrix_sessid","ajax","url","method","dataType","onsuccess","proxy","getFilter","filtered","length","addBlocks","blockNames","blockName","className","hasOwnProperty","Error","push","addFilters","filterDataList","filterData","caller","onFilter","StatisticsFilter","init","mess","context","itemInitParams","bind","throttle","postingsStats","load","nameTemplate","pathToUserProfile","actionUrl","instance","getBlocks","getFilters","popupItems","chainList","map","chain","id","ID","title","NAME","text","util","htmlspecialchars","DATE_SENT_FORMATTED","delimiter","allPostings","onclick","parseInt","location","href","chainId","node","items","mailingId","postingId","PostingsStats","globalStats","list","item","toLowerCase","GlobalStats","popup","show","setCurrentItem","onClick","createPopup","popupWindow","innerText","e","close","popupId","button","PopupMenu","create","autoHide","offsetLeft","offsetTop","angle","position","offset","events","val","StatisticsBlock","attributeBlock","attributePoint","attributeLoader","attributeDataView","pointNodes","blockNodeList","onInit","querySelectorAll","convert","nodeListToArray","blockNode","getAttribute","loaderNode","querySelector","dataViewNode","addCustomEvent","onDataLoad","fadeOut","style","display","pointNode","getDisplayDataType","addClass","document","createElement","innerHTML","appendChild","fadeIn","loadData","config","dataPath","act","split","setDisplayData","source","type","key","width","parseFloat","strip_tags","removeClass","updateDisplayData","extendItem","functions","f","extend","StatisticsBlockClickMap","posting","linkParams","clickList","frameNode","draw","ajaxAction","AjaxAction","isNodeReloaded","LazyLoad","isElementVisibleOnScreen","reloadFrame","src","getRequestingUri","lang","letterId","frameDocument","contentDocument","height","body","scrollHeight","heatMap","HeatMap","nodeList","trim","indexOf","substring","link","URL","htmlspecialcharsback","decodeURIComponent","nodes","prepareUrl","addItem","CNT","baloon","anchorNode","replace","StatisticsBlockCounters","StatisticsBlockChainList","postingsNode","updateDisplayChainListContainer","updateDisplayChainList","postingTemplate","htmlList","html","RegExp","join","children","StatisticsBlockEfficiency","efficiencyPointerNode","efficiencyValueNode","efficiency","updateDisplayEfficiency","left","PERCENT_VALUE","VALUE","StatisticsBlockReadByTime","readByTimeList","requestData","request","response","readingByTimeList","chart","dataProvider","validateData","AmCharts","makeChart","theme","valueAxes","gridColor","gridAlpha","dashLength","labelFrequency","labelFunction","valueText","gridAboveGraphs","startDuration","graphs","balloonText","readByTimeBalloon","fillAlphas","lineAlpha","valueField","chartCursor","categoryBalloonEnabled","cursorAlpha","zoomable","categoryField","categoryAxis","gridPosition","tickPosition","tickLength","export","enabled","StatisticsBlockCountersDynamic","attributeChartNode","attributeTextView","countersDynamic","charts","chartNode","textViewNode","showText","drawChart","d","isNumber","DATE","date","format","unit","bullet","bulletSize","lineColor","lineThickness"],"mappings":"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","file":"script.map.js"}stat/script.js000066400000053535147722313310007401 0ustar00;(function (window)
{
	if (!window.BX)
	{
		window.BX = {};
	}

	if (!window.BX.Sender)
	{
		window.BX.Sender = {};
	}

	if (window.BX.Sender.Statistics)
	{
		return;
	}

	/*
	* Base controller for statistics page
	* */
	BX.Sender.Statistics = function (){};
	BX.Sender.Statistics.prototype = {
		filters: [],
		blocks: [],
		filterUrl: '/bitrix/admin/sender_statistics.php',
		onResponseData: function (data)
		{
			BX.onCustomEvent(this, 'onDataLoad', [data]);
		},

		onScroll: function ()
		{
			this.callBlockFunction('onScroll');
		},

		callBlockFunction: function (functionName, params)
		{
			params = params || {};
			this.blocks.forEach(function (block) {
				block[functionName](params);
			}, this);
		},

		getFilterQueryData: function ()
		{
			var queryData = {};
			this.filters.forEach(function (filter) {
				if (!filter.value)
				{
					return;
				}

				queryData[filter.name] = filter.value;
			});

			return queryData;
		},

		filter: function ()
		{
			// animation
			BX.onCustomEvent(this, 'onDataRequest', []);

			// ajax query
			var queryData = this.getFilterQueryData();
			queryData.action = 'getData';
			queryData.sessid = BX.bitrix_sessid();
			BX.ajax({
				url: this.filterUrl,
				method: 'POST',
				data: queryData,
				dataType: 'json',
				onsuccess: BX.proxy(this.onResponseData, this)
			});
		},

		getFilter: function (name)
		{
			var filtered = this.filters.filter(function (filter) {
				return filter.name == name;
			});
			return filtered.length > 0 ? filtered[0] : null;
		},

		addBlocks: function (blockNames)
		{
			blockNames.forEach(function (blockName) {
				var className = 'StatisticsBlock' + blockName;
				if (!BX.Sender.hasOwnProperty(className))
				{
					throw new Error('Class "BX.Sender.' + className + '" not found for block "' + blockName + '"');
				}
				var block = new BX.Sender[className]();
				this.blocks.push(block);
			}, this);
		},

		addFilters: function (filterDataList)
		{
			filterDataList.forEach(function (filterData) {
				filterData.caller = this;
				filterData.onFilter = BX.proxy(this.filter, this);
				this.filters.push(new BX.Sender.StatisticsFilter(filterData));
			}, this);
		},

		init: function (params)
		{
			this.mess = params.mess;
			this.context = params.context;

			var itemInitParams = params;
			itemInitParams.caller = this;
			this.callBlockFunction('onInit', itemInitParams);

			BX.bind(window, 'scroll', BX.throttle(this.onScroll.bind(this), 350));
		}
	};

	/*
	 * Controller for posting statistics page
	 * */
	var postingsStats = function (params)
	{
		this.load = function (params)
		{
			this.nameTemplate = params.nameTemplate;
			this.pathToUserProfile = params.pathToUserProfile;
			this.actionUrl = params.actionUrl;
			this.instance = new BX.Sender.Statistics();
			this.instance.filterUrl = this.actionUrl;
			this.instance.addBlocks(this.getBlocks(params));
			this.instance.addFilters(this.getFilters(params));
			this.instance.init(params);
		};

		this.getBlocks = function (params)
		{
			return ['Counters', 'ClickMap'/*, 'ReadByTime'*/];
		};

		this.getFilters = function (params)
		{
			// filter by chainId
			var popupItems = params.chainList.map(function (chain) {
				return {
					id: chain.ID,
					title: chain.NAME,
					className: 'bx-sender-stat-popup-item-chain',
					text: '' +
						'<span class="bx-sender-stat-popup-item-chain-date">' + BX.util.htmlspecialchars(chain.DATE_SENT_FORMATTED) + '</span>' +
						'<span class="bx-sender-stat-popup-item-chain-name">' + BX.util.htmlspecialchars(chain.NAME) + '</span>'
				};
			}, this);
			popupItems.push({delimiter: true});
			popupItems.push({
				id: 'all',
				text: params.mess.allPostings,
				onclick: BX.proxy(function() {
					var url = '/bitrix/admin/sender_mailing_chain_admin.php';
					url += '?MAILING_ID=' + parseInt(this.instance.getFilter('mailingId').value);
					window.location.href = url;
				}, this)
			});

			return [
				{
					name: 'letterId',
					value: params.chainId,
					node: BX('sender_stat_filter_chain_id'),
					items: []//popupItems
				},
				{
					name: 'mailingId',
					value: params.mailingId
				},
				{
					name: 'postingId',
					value: params.postingId
				}
			];
		};
	};

	BX.Sender.PostingsStats = new postingsStats();


	/*
	 * Controller for global statistics page
	 * */
	var globalStats = function (params)
	{
		this.load = function (params)
		{
			this.instance = new BX.Sender.Statistics();
			this.instance.addBlocks(this.getBlocks(params));
			this.instance.addFilters(this.getFilters(params));
			this.instance.init(params);
		};

		this.getBlocks = function (params)
		{
			return ['Counters', 'Efficiency', 'ChainList', 'CountersDynamic'];
		};

		this.getFilters = function (params)
		{
			return params.filters.map(function (filter) {

				var popupItems = filter.list.map(function (item) {
					var name = BX.util.htmlspecialchars(item.NAME || '');
					return {
						id: item.ID,
						text: name,
						title: name
					};
				}, this);

				return {
					name: filter.name,
					value: filter.value,
					node: BX('sender_stat_filter_' + filter.name.toLowerCase()),
					items: popupItems
				};

			}, this);
		};
	};

	BX.Sender.GlobalStats = new globalStats();

	/*
	 * Filter object for filtrating data
	 * */
	BX.Sender.StatisticsFilter = function (params)
	{
		this.caller = params.caller;
		this.name = params.name;
		this.value = params.value;
		this.node = params.node || null;
		this.items = params.items || null;
		this.onFilter = params.onFilter || null;
		this.popup = null;

		if (this.node)
		{
			BX.bind(this.node, 'click', BX.proxy(this.show, this));
		}

		if (this.items)
		{
			this.items.filter(function (item) {
				var value = (this.value == '' || this.value === null) ? 'all' : this.value;
				return value == item.id;
			}, this).forEach(this.setCurrentItem, this);
		}
	};
	BX.Sender.StatisticsFilter.prototype = {
		show: function ()
		{
			if (!this.popup)
			{
				var popupItems = this.items.map(function (item) {
					if (!item.onclick)
					{
						item.onclick = BX.proxy(this.onClick, this);
					}

					return item;
				}, this);

				this.popup = this.createPopup('sender_stat_filter_' + this.name, this.node, popupItems);
			}

			if (this.popup.show)
			{
				this.popup.show();
			}
			else
			{
				this.popup.popupWindow.show();
			}
		},

		setCurrentItem: function (item)
		{
			if (!this.node)
			{
				return;
			}

			this.node.innerText = item.title;
			this.value = item.id;
		},

		onClick: function (e, item)
		{
			this.setCurrentItem(item);

			this.popup.close();

			if (this.onFilter)
			{
				this.onFilter();
			}
		},

		createPopup: function(popupId, button, items, params)
		{
			params = params || {};
			return BX.PopupMenu.create(
				popupId,
				button,
				items,
				{
					autoHide: true,
					offsetLeft: params.offsetLeft ? params.offsetLeft : -21,
					offsetTop: params.offsetTop ? params.offsetTop : -3,
					angle:
					{
						position: "top",
						offset: 42
					},
					events:
					{
						//onPopupClose : BX.delegate(this.onPopupClose, this)
					}
				}
			);
		},

		val: function (value)
		{
			if (typeof value != 'undefined')
			{
				this.value = value;
			}

			return this.value;
		}
	};


	/*
	 * Base object for data block
	 * */
	BX.Sender.StatisticsBlock = function ()
	{

	};
	BX.Sender.StatisticsBlock.prototype = {
		name: 'default',
		attributeBlock: 'data-bx-block',
		attributePoint: 'data-bx-point',
		attributeLoader: 'data-bx-view-loader',
		attributeDataView: 'data-bx-view-data',
		pointNodes: null,
		blockNodeList: null,
		onInit: function (params)
		{
			this.caller = params.caller;

			var blockNodeList;
			if (BX.Sender.StatisticsBlock.prototype.blockNodeList === null)
			{
				blockNodeList = this.caller.context.querySelectorAll('[' + this.attributeBlock + ']');
				blockNodeList = BX.convert.nodeListToArray(blockNodeList);
				BX.Sender.StatisticsBlock.prototype.blockNodeList = blockNodeList;
			}
			else
			{
				blockNodeList = BX.Sender.StatisticsBlock.prototype.blockNodeList;
			}

			this.context = blockNodeList.filter(function (blockNode) {
				return blockNode.getAttribute(this.attributeBlock) == this.name;
			}, this)[0];

			if (this.context)
			{
				this.loaderNode = this.context.querySelector('[' + this.attributeLoader + ']');
				this.dataViewNode = this.context.querySelector('[' + this.attributeDataView + ']');
			}

			if (this.context && this.pointNodes === null)
			{
				this.pointNodes = this.context.querySelectorAll('[' + this.attributePoint + ']');
				this.pointNodes = BX.convert.nodeListToArray(this.pointNodes);
			}

			BX.addCustomEvent(this.caller, 'onDataLoad', BX.proxy(this.onDataLoad, this));
			BX.addCustomEvent(this.caller, 'onDataRequest', BX.proxy(this.fadeOut, this));
			BX.addCustomEvent(this.caller, 'onScroll', BX.proxy(this.onScroll, this));

			this.init(params);
		},
		onScroll: function ()
		{
		},
		fadeOut: function ()
		{
			if (this.loaderNode)
			{
				this.dataViewNode.style.display = 'none';
				this.loaderNode.style.display = '';
			}

			this.pointNodes.forEach(function (pointNode) {
				if (this.getDisplayDataType(pointNode))
				{
					return;
				}
				BX.addClass(pointNode, 'bx-sender-loader');
				var loaderNode = document.createElement('SPAN');
				loaderNode.className = 'bx-sender-loader-sm';
				pointNode.innerHTML = '';
				pointNode.appendChild(loaderNode);
			}, this);
		},
		fadeIn: function ()
		{
			if (this.loaderNode)
			{
				this.loaderNode.style.display = 'none';
				this.dataViewNode.style.display = '';
			}
		},
		onDataLoad: function (data)
		{
			this.loadData(data);
			this.fadeIn();
		},
		init: function (config)
		{

		},
		loadData: function (data)
		{

		},
		getDisplayDataType: function (node)
		{
			var dataPath = node.getAttribute(this.attributePoint);
			var act = dataPath.split(':');
			return act[1] ? act[1] : null;
		},
		setDisplayData: function (node, data)
		{
			var dataPath = node.getAttribute(this.attributePoint);
			var act = dataPath.split(':');
			var source = act[0].split('/');
			var type = act[1];

			var value;
			source.forEach(function (key) {
				if (value === null)
				{
					return;
				}

				if (typeof value == 'undefined')
				{
					if (!data.hasOwnProperty(key))
					{
						value = null;
						return;
					}

					value = data[key];
				}
				else
				{
					if (!value.hasOwnProperty(key))
					{
						value = null;
						return;
					}
					value = value[key];
				}
			});

			switch (type)
			{
				case 'width':
					node.style.width = parseInt(parseFloat(value) * 100) + '%';
					break;
				case 'href':
					node.href = BX.util.strip_tags(value);
					break;
				default:
					node.innerText = value;
					break;
			}

			BX.removeClass(node, 'bx-sender-loader');
		},
		updateDisplayData: function (data)
		{
			this.pointNodes.forEach(function (pointNode) {
				this.setDisplayData(pointNode, data);
			}, this);
		}
	};

	/*
	 * Utility for inherit base object
	 * */
	function extendItem(functions)
	{
		var f = function(){};
		BX.extend(f, BX.Sender.StatisticsBlock);
		for (var functionName in functions)
		{
			if (!functions.hasOwnProperty(functionName))
			{
				continue;
			}

			f.prototype[functionName] = functions[functionName];
		}

		return f;
	}

	/*
	 * Click map block
	 * */
	BX.Sender.StatisticsBlockClickMap = extendItem({
		name: 'ClickMap',
		init: function (params)
		{
			if (!params.posting)
			{
				return;
			}

			this.linkParams = params.posting.linkParams || '';
			this.clickList = params.clickList;

			this.frameNode = this.context.querySelector('[data-bx-click-map]');
			BX.bind(this.frameNode, 'load',  BX.proxy(this.draw, this));

			this.ajaxAction = new BX.AjaxAction(this.caller.filterUrl);

			this.isNodeReloaded = false;
			this.onScroll();
		},
		onScroll: function ()
		{
			if (!this.context)
			{
				return;
			}

			if (!BX.LazyLoad.isElementVisibleOnScreen(this.context))
			{
				return;
			}

			if (this.isNodeReloaded)
			{
				return;
			}

			this.reloadFrame();
		},
		reloadFrame: function ()
		{
			this.fadeOut();

			this.frameNode.src = this.ajaxAction.getRequestingUri('getClickMap', {
				'lang': '',
				'letterId': this.caller.getFilter('letterId').value
			});
			this.isNodeReloaded = true;
		},
		loadData: function (data)
		{
			this.isNodeReloaded = false;
			this.linkParams = data.posting.linkParams || '';
			this.clickList = data.clickList;
			this.onScroll();
		},
		draw: function ()
		{
			this.fadeIn();

			var frameDocument = this.frameNode.contentDocument;
			this.frameNode.style.height = frameDocument.body.scrollHeight + 'px';
			var heatMap = new BX.HeatMap({
				'document': frameDocument
			});

			var nodeList = BX.convert.nodeListToArray(
				frameDocument.body.querySelectorAll('a')
			);

			if (this.linkParams)
			{
				this.linkParams = this.linkParams.trim();
				if (this.linkParams.indexOf('?') === 0)
				{
					this.linkParams = this.linkParams.substring(1);
				}
				if (this.linkParams.indexOf('&') === 0)
				{
					this.linkParams = this.linkParams.substring(1);
				}
			}

			this.clickList.forEach(function (link) {
				try
				{
					link.URL = BX.util.htmlspecialcharsback(decodeURIComponent(link.URL));
				}
				catch (e)
				{}
				var nodes = nodeList.filter(function (node) {
					var href = this.prepareUrl(node.href);
					return href === link.URL;
				}, this);
				if (nodes.length === 0)
				{
					return;
				}

				heatMap.addItem({
					value: link.CNT,
					baloon: link.URL,
					anchorNode: nodes[0]
				});
			}, this);
			heatMap.draw();
		},
		prepareUrl: function(href)
		{
			try
			{
				href =  BX.util.htmlspecialcharsback(decodeURIComponent(href));
			}
			catch (e)
			{}

			href = href.replace(/\+/g, ' ');
			if (this.linkParams)
			{
				href += (href.indexOf('?') >=0 ? '&' : '?') + this.linkParams;
			}
			return href;
		}
	});

	/*
	 * Counters block
	 * */
	BX.Sender.StatisticsBlockCounters = extendItem({
		name: 'Counters',
		init: function (params)
		{
			this.isNodeReloaded = false;
			this.onScroll();
		},
		/*
		fadeIn: function ()
		{
			//<span class="bx-sender-loader-sm"></span>
			this.updateDisplayData(data);
		},
		fadeOut: function ()
		{
			this.updateDisplayData(data);
		},
		*/
		loadData: function (data)
		{
			this.updateDisplayData(data);
		}
	});

	/*
	 * Chain list
	 * */
	BX.Sender.StatisticsBlockChainList = extendItem({
		name: 'ChainList',
		init: function (params)
		{
			this.chainList = params.chainList;
			this.isNodeReloaded = true;
			this.onScroll();

			this.postingsNode = this.context.querySelector('[data-bx-view-data-postings]');
			this.updateDisplayChainListContainer();
		},
		loadData: function (data)
		{
			this.updateDisplayChainList(data.chainList);
		},
		updateDisplayChainList: function (chainList)
		{
			var postingTemplate = BX('sender-stat-template-last-posting');
			postingTemplate = postingTemplate.innerHTML;
			var htmlList = chainList.map(function (chain) {
				var html = postingTemplate;
				for (var key in chain)
				{
					var val = BX.util.htmlspecialchars(chain[key]);
					html = html.replace(new RegExp("%" + key + "%",'g'), val);
				}
				return html;
			}, this);

			this.postingsNode.innerHTML = htmlList.join('');
			this.updateDisplayChainListContainer();
		},
		updateDisplayChainListContainer: function () {
			this.postingsNode.style.display = this.postingsNode.children.length > 0 ? '' : 'none';
		}
	});

	/*
	 * Efficiency
	 * */
	BX.Sender.StatisticsBlockEfficiency = extendItem({
		name: 'Efficiency',
		init: function (params)
		{
			this.isNodeReloaded = true;
			this.onScroll();

			this.efficiencyPointerNode = this.context.querySelector('[data-bx-view-data-eff]');
			this.efficiencyValueNode = this.context.querySelector('[data-bx-view-data-eff-val]');

			if (params.efficiency)
			{
				this.updateDisplayEfficiency(params.efficiency);
			}
		},
		loadData: function (data)
		{
			this.updateDisplayEfficiency(data.efficiency);
		},
		updateDisplayEfficiency: function (efficiency)
		{
			this.efficiencyPointerNode.style.left = efficiency.PERCENT_VALUE + '%';
			this.efficiencyValueNode.innerText = efficiency.VALUE + '%';
		}
	});

	/*
	 * Read by time block
	 * */
	BX.Sender.StatisticsBlockReadByTime = extendItem({
		name: 'ReadByTime',
		init: function (params)
		{
			this.readByTimeList = params.readByTimeList;

			this.isNodeReloaded = false;
			this.onScroll();
		},
		onScroll: function ()
		{
			if (!BX.LazyLoad.isElementVisibleOnScreen(this.context))
			{
				return;
			}

			if (this.isNodeReloaded)
			{
				return;
			}

			this.requestData();
		},
		requestData: function ()
		{
			this.fadeOut();
			this.isNodeReloaded = true;

			this.ajaxAction = new BX.AjaxAction(this.caller.filterUrl);
			this.ajaxAction.request({
				'action': 'getReadByTime',
				'data': {
					'letterId': this.caller.getFilter('letterId').value
				},
				'onsuccess': BX.proxy(function (response) {
					this.readByTimeList = response.readingByTimeList;
					this.draw();
				}, this)
			});
		},
		loadData: function (data)
		{
			this.isNodeReloaded = false;
			this.onScroll();
		},
		draw: function ()
		{
			this.fadeIn();

			if (this.chart)
			{
				this.chart.dataProvider = this.readByTimeList;
				this.chart.validateData();
				return;
			}

			this.chart = window.AmCharts.makeChart(this.dataViewNode, {
				"type": "serial",
				"theme": "light",
				"dataProvider": this.readByTimeList,
				"valueAxes": [ {
					"gridColor": "#FFFFFF",
					"gridAlpha": 0.2,
					"dashLength": 0,
					"labelFrequency": 2,
					"labelFunction": function (valueText) {
						//return valueText;
						if (parseFloat(valueText) == parseInt(valueText))
						{
							return parseInt(valueText);
						}
						return '';
					}
				} ],
				"gridAboveGraphs": true,
				"startDuration": 1,
				"graphs": [ {
					"balloonText": this.caller.mess.readByTimeBalloon
						.replace('%time%', '[[category]]')
						.replace('%cnt%', '<b>[[value]]</b>'),
					"fillAlphas": 0.8,
					"lineAlpha": 0.2,
					"type": "column",
					"valueField": "CNT_DISPLAY"
				} ],
				"chartCursor": {
					"categoryBalloonEnabled": false,
					"cursorAlpha": 0,
					"zoomable": false
				},
				"categoryField": "DAY_HOUR_DISPLAY",
				"categoryAxis": {
					"gridPosition": "start",
					"gridAlpha": 0,
					"tickPosition": "start",
					"tickLength": 20
				},
				"export": {
					"enabled": false
				}
			});
		}
	});


	/*
	 * Counters dynamic block
	 * */
	BX.Sender.StatisticsBlockCountersDynamic = extendItem({
		name: 'CountersDynamic',
		data: {},
		attributeChartNode: 'data-bx-chart',
		attributeTextView: 'data-bx-view-text',
		init: function (params)
		{
			this.data = params.countersDynamic || {};

			this.charts = this.context.querySelectorAll('[' + this.attributeChartNode + ']');
			this.charts = BX.convert.nodeListToArray(this.charts);
			this.charts = this.charts.map(function (chartNode) {
				return {
					name: chartNode.getAttribute(this.attributeChartNode),
					node: chartNode,
					loaderNode: chartNode.querySelector('[' + this.attributeLoader + ']'),
					dataViewNode: chartNode.querySelector('[' + this.attributeDataView + ']'),
					textViewNode: chartNode.querySelector('[' + this.attributeTextView + ']'),
					instance: null
				};
			}, this);

			this.isNodeReloaded = false;
			this.onScroll();
		},
		onScroll: function ()
		{
			if (!BX.LazyLoad.isElementVisibleOnScreen(this.context))
			{
				return;
			}

			if (this.isNodeReloaded)
			{
				return;
			}

			this.requestData();
		},
		fadeOut: function ()
		{
			this.charts.forEach(function (chart) {
				if (chart.loaderNode)
				{
					chart.textViewNode.style.display = 'none';
					chart.dataViewNode.style.display = 'none';
					chart.loaderNode.style.display = '';
				}
			});
		},
		fadeIn: function ()
		{
			this.charts.forEach(function (chart) {
				if (chart.loaderNode)
				{
					chart.textViewNode.style.display = 'none';
					chart.loaderNode.style.display = 'none';
					chart.dataViewNode.style.display = '';
				}
			});
		},
		showText: function (chart)
		{
			chart.loaderNode.style.display = 'none';
			chart.dataViewNode.style.display = 'none';
			chart.textViewNode.style.display = '';
		},
		requestData: function ()
		{
			this.fadeOut();
			this.isNodeReloaded = true;

			// ajax query
			var queryData = this.caller.getFilterQueryData();
			queryData.action = 'get_counters_dynamic';
			queryData.sessid = BX.bitrix_sessid();

			BX.ajax({
				url: this.caller.filterUrl,
				method: 'POST',
				data: queryData,
				dataType: 'json',
				onsuccess: BX.proxy(function (data){
					this.data = data.countersDynamic;
					this.draw();
				}, this)
			});
		},
		loadData: function (data)
		{
			this.isNodeReloaded = false;
			this.onScroll();
		},
		draw: function ()
		{
			this.charts.forEach(this.drawChart, this);
		},
		drawChart: function (chart)
		{
			if (!this.data[chart.name])
			{
				this.showText(chart);
				return;
			}

			var data = this.data[chart.name];
			data.forEach(function (d) {
				if (BX.type.isNumber(d.DATE))
				{
					d.DATE = BX.date.format('j M', d.DATE);
				}
				else
				{
					d.DATE = 0;
				}
			});

			this.fadeIn();

			if (chart.instance)
			{
				chart.instance.dataProvider = data;
				chart.instance.validateData();
				return;
			}

			chart.instance = window.AmCharts.makeChart(chart.dataViewNode, {
				"type": "serial",
				"theme": "light",
				"dataProvider": data,
				"valueAxes": [ {
					"gridColor": "#FFFFFF",
					"gridAlpha": 0.2,
					"dashLength": 0,
					"unit": "%"
				} ],
				"gridAboveGraphs": true,
				"startDuration": 1,
				"graphs": [{
					"balloonText": '[[category]]: <b>[[value]]%</b>',
					//"fillAlphas": 0.8,
					//"lineAlpha": 0.2,
					"bullet": "round",
					"bulletSize": 8,
					"lineColor": "#637bb6",
					"lineThickness": 2,
					"type": "smoothedLine",
					"valueField": "PERCENT_VALUE_DISPLAY"
				}],
				"chartCursor": {
					"categoryBalloonEnabled": false,
					"cursorAlpha": 0,
					"zoomable": false
				},
				"categoryField": "DATE",
				"categoryAxis": {
					"gridPosition": "start",
					"gridAlpha": 0,
					"tickPosition": "start",
					"tickLength": 20
				},
				"export": {
					"enabled": false
				}
			});
		}
	});


})(window);stat/style.css000064400000041267147722313310007406 0ustar00.bx-sender-stat-wrapper {
	padding: 13px 30px;
	background: #fff;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.bx-sender-stat {
	width: 100%;
	min-height: 800px;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	background: #fff;
}

.bx-sender-block-first {
	display: block;
	/*overflow: hidden;*/
	margin: 0 0 20px 0;
	padding: 7px 0 27px 0;
	background: #fff;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.bx-sender-last-postings {
	display: block;
	overflow: hidden;
	margin: 30px 0 10px 0;
}


.bx-sender-min-width-80 {
	/*min-width: 80px;*/
	display: inline-block;
}

.bx-sender-click-map {
	border: 1px solid #ced7d8;
}

.bx-sender-click-map-frame {
	border: none;
}

.bx-sender-block {
	display: block;
	overflow: hidden;
	margin: 0 0 10px 0;
	/*padding: 0 24px;*/
}

.bx-sender-block-left-padding {
	padding: 0 24px 0 24px;
}
.bx-sender-block-top-padding {
	padding-top: 10px;
}

.bx-sender-title {
	display: block;
	padding: 0 0 14px 0;
	margin: 0 0 30px 0;
	font: 18px 'OpenSans-Regular', "Helvetica Neue", Arial, Helvetica, sans-serif;
	color: #000;
	border-bottom: 1px solid #ededed;
}

.bx-sender-block-view-data {
	width: 100%;
	height: 500px;
	display: none;
}

.bx-sender-block-view-text {
	width: 100%;
	height: 500px;
	line-height: 300px;
	text-align: center;
	font-size: 38px;
	color: #bbbbbb;
}

.bx-sender-mailfilter {
	display: block;
	height: 48px;
	padding: 0 24px;
	margin: 0 0 24px 0;
	/*margin: 0 -24px;*/
	overflow: hidden;
	background: #33ade1;
	white-space: nowrap;
}

.bx-sender-mailfilter-half {
	float: left;
	overflow: hidden;
	height: 100%;
	width: 50%;
}

.bx-sender-mailfilter-half-right {
	text-align: right;
}

.bx-sender-mailfilter-half-right .bx-sender-mailfilter-item {
	margin: 0;
}

.bx-sender-mailfilter-half:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	width: 1px;
}

.bx-sender-mailfilter-item {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	font-size: 14px;
	margin: 0 12px 0 0;
	border-bottom: 2px dotted transparent;
}

.bx-sender-mailfilter-item-total {
	display: inline-block;
	vertical-align: middle;
	font-size: 24px;
	line-height: 48px;
	height: 48px;
	min-width: 90px;
}

.bx-sender-mailfilter-item-total .bx-sender-loader-sm {
	margin: 5px 0 0 0;
}

.bx-sender-mailfilter-item-light {
	display: inline-block;
	vertical-align: middle;
	margin: 0 3px 0 0;
	opacity: .5;
	color: #fff;
	border-bottom: 2px dotted transparent;
}

.bx-sender-mailfilter-item-link {
	display: inline-block;
	vertical-align: middle;
	margin: 0 28px 0 0;
	position: relative;
	cursor: pointer;
	color: #fff;
	border-bottom: 2px dotted #8fd2ef;
}

.bx-sender-mailfilter-item-link:after {
	content: '';
	position: absolute;
	border: 5px solid transparent;
	top: 6px;
	right: -14px;
	border-top: 5px solid #8fd2ef;
}

.bx-sender-mailfilter-result {
	display: block;
	overflow: hidden;
	padding: 40px 0;
	/*margin: 0 -17px;*/
	font-size: 0;
}

.bx-sender-mailfilter-result-item {
	display: inline-block;
	vertical-align: top;
	width: 15%;
	margin: 0 5% 0 0;
	text-align: center;
}

.bx-sender-mailfilter-result-item a {
	text-decoration: none;
}

.bx-sender-mailfilter-result-item.bx-sender-mailfilter-4-items {
	width: 25%;
}

.bx-sender-mailfilter-result-item.bx-sender-mailfilter-2-items {
	width: 45%;
	margin: 0;
}

.bx-sender-mailfilter-result-item.bx-sender-mailfilter-2-items:first-child {
	margin: 0 10% 0 0;
}

.bx-sender-mailfilter-result-title {
	display: block;
	padding: 0 0 6px 0;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #E9EDEE;
	font-size: 12px;
	color: rgba(47,58,69,.7);
	text-align: left;
}

.bx-sender-loader {
	position: relative;
	color: transparent !important;
}

.bx-sender-loader:after {
	content: '' !important;
}

.bx-sender-loader .bx-sender-loader-sm {
	display: block;
}

.bx-sender-mailfilter-result-total {
	position: relative;
	display: block;
	height: 46px;
	padding: 0;
	margin: 0;
	font-size: 40px;
	color: #000;
	text-align: right;
	transition: opacity .3s;
}

.bx-sender-mailfilter-result-total:hover {
	opacity: .5;
}

.bx-sender-mailfilter-result-total-proc:after {
	content: '%';
	display: inline-block;
	margin: 0 0 0 5px;
	font-size: 23px;
	color: #000;
	opacity: .5;
}

.bx-sender-releases {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 0 28px 0;
}

.bx-sender-last-releases {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.bx-sender-releases-item {
	display: block;
	overflow: hidden;
	margin: 0 0 18px 0;
}

.bx-sender-releases-item:last-child {
	margin: 0;
}

.bx-sender-releases-item-info {
	display: block;
	overflow: hidden;
	padding: 0;
	margin: 0 0 7px 0;
	font-size: 13px;
	color: #000;
	opacity: .7;
}

.bx-sender-releases-section {
	color: #000;
	font-weight: bold;
	text-decoration: none;
}

.bx-sender-releases-section:hover {
	text-decoration: underline;
}

.bx-sender-releases-title {
	clear: both;
	float: left;
	overflow: hidden;
	color: #1f69bc;
	font-size: 16px;
	text-decoration: none;
}

.bx-sender-releases-title:hover {
	text-decoration: underline;
}

.bx-sender-new-releases {
	float: right;
	overflow: hidden;
	min-width: 145px;
	padding-left: 10px;
	margin: 0 auto;
}

.bx-sender-new-releases:before {
	content: '';
	display: block;
	overflow: hidden;
	width: 100%;
	height: 115px;
	background: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20191%2064%22%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M133.295%2C0H57.668a5.65%2C5.65%2C0%2C0%2C0-5.705%2C5.593V58.406A5.65%2C5.65%2C0%2C0%2C0%2C57.668%2C64h75.627A5.651%2C5.651%2C0%2C0%2C0%2C139%2C58.406V5.594A5.651%2C5.651%2C0%2C0%2C0%2C133.295%2C0ZM82.862%2C37.479L95.342%2C45.8a0.27%2C0.27%2C0%2C0%2C0%2C.3%2C0l12.226-8.256a0.27%2C0.27%2C0%2C0%2C1%2C.338.03l21.056%2C20.653a0.26%2C0.26%2C0%2C0%2C1-.189.444H61.889a0.26%2C0.26%2C0%2C0%2C1-.188-0.444l21.16-20.743h0ZM57.4%2C54.268V21a0.266%2C0.266%2C0%2C0%2C1%2C.415-0.215l20.2%2C13.461a0.257%2C0.257%2C0%2C0%2C1%2C.039.4l-20.2%2C19.807A0.266%2C0.266%2C0%2C0%2C1%2C57.4%2C54.268Zm55.459-20.1%2C20.284-13.683a0.265%2C0.265%2C0%2C0%2C1%2C.415.214v33.57a0.266%2C0.266%2C0%2C0%2C1-.453.184L112.823%2C34.565A0.257%2C0.257%2C0%2C0%2C1%2C112.861%2C34.167ZM133.295%2C5.333a0.262%2C0.262%2C0%2C0%2C1%2C.265.26v8.37l-0.117-.162L95.62%2C39.337a0.27%2C0.27%2C0%2C0%2C1-.3%2C0l-37.8-25.195a0.259%2C0.259%2C0%2C0%2C1-.116-0.215V5.594a0.263%2C0.263%2C0%2C0%2C1%2C.266-0.26h75.627Z%22/%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M0%2C3.84H35.075V8.96H1.3Z%22/%3E%3Cpath%20fill%3D%22transparent%22%20d%3D%22M156%2C3.84h35.075V8.96H157.3Z%22/%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M5.2%2C16.64H35.075v5.12H6.5Z%22/%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M11.692%2C29.44H35.075v5.12H12.991Z%22/%3E%3C/svg%3E%0A') 15% center no-repeat;
	background-size: 100%;
}

.bx-sender-block-row {
	display: block;
	overflow: hidden;
	font-size: 0;
}

.bx-sender-block-col-2 {
	display: inline-block;
	overflow: hidden;
	padding: 15px 0;
	vertical-align: top;
	width: 45%;
	font-size: 14px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.bx-sender-block-col-margin {
	margin: 0 10% 0 0;
}

.bx-sender-tittle-statistic {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	overflow: hidden;
	margin: 0 0 15px 0;
	white-space: nowrap;
}

.bx-sender-title-statistic-text {
	float: left;
	overflow: hidden;
	font-size: 14px;
	color: #525C69;
	margin: 0 7px 0 0;
	/*opacity: .5;*/
}

.bx-sender-title-statistic-text a {
	text-decoration: none;
	transition: opacity .3s
}

.bx-sender-title-statistic-text a:hover {
	opacity: .5;
}

.bx-sender-title-statistic-text-bold {
	opacity:1;
	font-weight: bold;
}

.bx-sender-title-statistic-number-bold {
	font: bold 18px "Helvetica Neue", Arial, Helvetica, sans-serif;
}

.bx-sender-title-statistic-link {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14px;
	color: #1f69bc;
	text-decoration: none;
	cursor: pointer;
}

.bx-sender-title-statistic-link:hover {
	text-decoration: underline;
}

.bx-sender-graph {
	display: block;
	overflow: hidden;
	margin: 30px 0 14px 0;
}

.bx-sender-graph-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 0 5px 0;
	overflow: hidden;
}

.bx-sender-graph-info-title {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-size: 15px;
	color: #000;
}

.bx-sender-graph-info-param {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-size: 24px;
	height: 27px;
	min-width: 10px;
	text-align: right;
}

.bx-sender-graph-info-param:after {
	content: '%';
}

.bx-sender-graph-scale {
	display: block;
	overflow: hidden;
	height: 13px;
	background: #ebf0f2;
	/*-webkit-box-shadow: inset -1px 2px 0 #e1e9eb;*/
	/*-moz-box-shadow: inset -1px 2px 0 #e1e9eb;*/
	/*box-shadow: inset -1px 2px 0 #e1e9eb;*/
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.bx-sender-graph-scale-inner {
	display: block;
	overflow: hidden;
	height: 13px;
	background-color: #A2CF1B!important;
	/*-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.25), inset 0 1px 0 #cbdc00;*/
	/*box-shadow: 0 1px 1px rgba(0,0,0,.25), inset 0 1px 0 #cbdc00;*/
	/*border: solid 1px;*/
	-webkit-transition: background-color .4s;
	transition: background-color .4s;
	/*border-color: #97c004 #7ea502 #648900;*/
	/*background-image: -webkit-linear-gradient(bottom, #729e00, #97ba00)!important;*/
	/*background-image: -moz-linear-gradient(bottom, #729e00, #97ba00)!important;*/
	/*background-image: -ms-linear-gradient(bottom, #729e00, #97ba00)!important;*/
	/*background-image: -o-linear-gradient(bottom, #729e00, #97ba00)!important;*/
	/*background-image: linear-gradient(bottom, #729e00, #97ba00)!important;*/
}

.bx-sender-tittle-statistic-proc,
.bx-sender-tittle-statistic-half-text {
	float: left;
	overflow: hidden;
	font-size: 14px;
	color: #525C69;
	opacity: .7;
}

.bx-sender-tittle-statistic-half-proc {
	float: right;
}

.bx-sender-tittle-statistic-proc:after {
	content: '%';
}

.bx-sender-tittle-statistic-line {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin: 0 4px 0 7px;
	border-bottom: 1px solid #e2eaec;
}

.bx-sender-stat-popup-item-chain {
	display: block;
	overflow: hidden;
	height: auto !important;
	padding: 5px 0;
}

.bx-sender-stat-popup-item-chain:hover {
	background: #3a92fd;
}

.bx-sender-stat-popup-item-chain:hover .bx-sender-stat-popup-item-chain-name,
.bx-sender-stat-popup-item-chain:hover .bx-sender-stat-popup-item-chain-date {
	color: #fff;
}

.bx-sender-stat-popup-item-chain .menu-popup-item-icon {
	display: none;
}

.bx-sender-stat-popup-item-chain-date {
	display: block;
	overflow: hidden;
	font-size: 12px;
	padding: 2px 0;
	line-height: normal;
	color: #a4a4a4;
}

.bx-sender-stat-popup-item-chain-name {
	display: block;
	overflow: hidden;
	width: 100%;
	font-size: 12px;
	padding: 2px 0;
	line-height: normal;
	color: #000;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.bx-gadget-speed-ruler {
	position: absolute;
	top: 50%;
	width: 100%;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22171%22%20height%3D%2217%22%20viewBox%3D%220%200%20171%2017%22%3E%3Cpath%20fill%3D%22%23535C69%22%20fill-rule%3D%22evenodd%22%20d%3D%22M0%200h1v17H0V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.095%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.092%200h1v17h-1V0zm8.094%200h1v17h-1V0zm9.105%200h1v17h-1V0zm8.095%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.092%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0z%22%20opacity%3D%22.3%22/%3E%3C/svg%3E');
	background-repeat: repeat;
	background-position: right 0;
	height: 17px;
	transform: translate(0,-50%);
}

.bx-gadget-speed-ruler-end,
.bx-gadget-speed-ruler-start {
	background-color: #fff;
	display: inline-block;
	padding: 0 5px 0 0;
}

.bx-gadget-speed-ruler-end {
	float: right;
	text-align: right;
	padding: 0 0 0 5px;
}

.bx-gadget-speed-graph {
	position: relative;
	height: 47px;
	font-size: 0;
}

.bx-gadget-speed-graph-box {
	display: inline-block;
	height: 47px;
	vertical-align: top;
	width: 20%;
}

.bx-gadget-speed-graph-part {
	display: inline-block;
	margin: 0 0 12px 0;
	width: 100%;
	text-align: center;
}

.bx-gadget-speed-graph-part:before {
	content: '';
	display: inline-block;
	height: 47px;
	vertical-align: middle;
	width: 14px;
}

.bx-gadget-speed-graph-text {
	display: block;
	font: bold 9px "Helvetica Neue", Arial, Helvetica, sans-serif;
	color: #2F3A45;
	text-transform: uppercase;
	text-align: center;
}

.bx-gadget-speed-graph-varyfast {
	background-color: #2FC6F6;
	border-radius: 0 3px 3px 0;
}
.bx-gadget-speed-graph-fast {
	background-color: #9DCF00;
}
.bx-gadget-speed-graph-notfast {
	background-color: #F9E900;
}
.bx-gadget-speed-graph-slow {
	background-color: #FFA900;
}
.bx-gadget-speed-graph-veryslow {
	background-color: #FF5752;
	border-radius: 3px 0 0 3px;
}

.bx-gadget-speed-pointer {
	position: absolute;
	top: 0;
	left: -15%;
	-webkit-box-shadow: 0 2px 3px rgba(47,58,69,.22);
	box-shadow: 0 2px 3px rgba(47,58,69,.22);
	-webkit-transition: left 0.55s cubic-bezier(0.23, 1, 0.32, 1);
	transition: left 0.55s cubic-bezier(0.23, 1, 0.32, 1);
}

.bx-gadget-speed-value {
	position: absolute;
	top: -22px;
	left: -22px;
	padding: 5px 8px;
	height: 34px;
	width: 51px;
	background-color: #545C6A;
	font: bold 14px/26px "Helvetica Neue", Arial, Helvetica, sans-serif;
	color: #fff;
	text-align: center;
	-webkit-box-shadow: 0 2px 8px rgba(47,58,69,.56);
	box-shadow: 0 2px 8px rgba(47,58,69,.56);
	box-sizing: border-box;
}

.bx-gadget-speed-value:before {
	content: '';
	position: absolute;
	left: 21px;
	bottom: -4px;
	display: block;
	width: 9px;
	height: 9px;
	background-color: #545C6A;
	transform: rotate(45deg);
}

.bx-gadget-speed-value-percent {
	font: bold 9px/26px "Helvetica Neue", Arial, Helvetica, sans-serif;
}

.bx-gadgets-speed-ready .bx-gadget-speed-waiter {
	opacity: 0;
}


.bx-faceid-tracker-user-loader-item {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

.bx-sender-insert {
	display: block;
	position: relative;
	height: 500px;
}

.bx-sender-insert-last-postings {
	height: 186px;
}

.bx-sender-insert-loader .bx-faceid-tracker-loader {
	display: block;
}

.bx-faceid-tracker-loader {
	display: none;
	position: relative;
	height: 100%;
	min-height: 100px;
	width: 100%;
	background: #ccc;
}

.bx-faceid-tracker-loader:before {
	content: '';
	display: block;
	padding-top: 100%;
}

.bx-faceid-tracker-circular {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 120px;
	width: 120px;
	-webkit-animation: rotate 2s linear infinite;
	animation: rotate 2s linear infinite;
	-webkit-transform-origin: center center;
	transform-origin: center center;
}

.bx-faceid-tracker-path {
	stroke: #E8EEF0;
	stroke-width: 2;
	stroke-dasharray: 20, 200;
	stroke-dashoffset: 0;
	animation: dash 1.5s ease-in-out infinite;
	stroke-linecap: round;
}

@keyframes rotate {
	100% {
		transform: rotate(360deg);
	}
}

@keyframes dash {
	0% {
		stroke-dasharray: 1, 200;
		stroke-dashoffset: 0;
	}
	50% {
		stroke-dasharray: 89, 200;
		stroke-dashoffset: -35px;
	}
	100% {
		stroke-dasharray: 89, 200;
		stroke-dashoffset: -124px;
	}
}

.bx-sender-resizer {
	display: block;
	overflow: hidden;
	-webkit-transition: .4s;
	transition: .4s;
}

.bx-sender-loader-sm,
.bx-sender-loader-sm:before,
.bx-sender-loader-sm:after {
	background: #e2ebed;
	-webkit-animation: load1 1s infinite ease-in-out;
	animation: load1 1s infinite ease-in-out;
	width: 6px;
	height: 16px;
	border-radius: 2px;
}
.bx-sender-loader-sm {
	display: none;
	color: #e2ebed;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
	border-radius: 2px;
}
.bx-sender-loader-sm:before,
.bx-sender-loader-sm:after {
	position: absolute;
	top: 0;
	content: '';
}
.bx-sender-loader-sm:before {
	left: -12px;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}
.bx-sender-loader-sm:after {
	left: 12px;
}
@-webkit-keyframes load1 {
	0%,
	80%,
	100% {
		box-shadow: 0 0;
		height: 10px;
	}
	40% {
		box-shadow: 0 -12px;
		height: 16px;
	}
}
@keyframes load1 {
	0%,
	80%,
	100% {
		box-shadow: 0 0;
		height: 10px;
	}
	40% {
		box-shadow: 0 -12px;
		height: 16px;
	}
}

.adm-workarea .adm-btn.adm-btn-save.bx-sender-btn {
	display: inline-block;
	font-size: 16px !important;
	height: 31px !important;
	line-height: 32px !important;
	text-shadow: 0 1px rgba(0,0,0,.3);
}

.adm-workarea .adm-btn.adm-btn-save.bx-sender-btn:active {
	height: 31px !important;
	padding: 6px 15px 5px !important;
}

stat/style.min.css000064400000033565147722313310010172 0ustar00.bx-sender-stat-wrapper{padding:13px 30px;background:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.bx-sender-stat{width:100%;min-height:800px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:#fff}.bx-sender-block-first{display:block;margin:0 0 20px 0;padding:7px 0 27px 0;background:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.bx-sender-last-postings{display:block;overflow:hidden;margin:30px 0 10px 0}.bx-sender-min-width-80{display:inline-block}.bx-sender-click-map{border:1px solid #ced7d8}.bx-sender-click-map-frame{border:0}.bx-sender-block{display:block;overflow:hidden;margin:0 0 10px 0}.bx-sender-block-left-padding{padding:0 24px 0 24px}.bx-sender-block-top-padding{padding-top:10px}.bx-sender-title{display:block;padding:0 0 14px 0;margin:0 0 30px 0;font:18px 'OpenSans-Regular',"Helvetica Neue",Arial,Helvetica,sans-serif;color:#000;border-bottom:1px solid #ededed}.bx-sender-block-view-data{width:100%;height:500px;display:none}.bx-sender-block-view-text{width:100%;height:500px;line-height:300px;text-align:center;font-size:38px;color:#bbb}.bx-sender-mailfilter{display:block;height:48px;padding:0 24px;margin:0 0 24px 0;overflow:hidden;background:#33ade1;white-space:nowrap}.bx-sender-mailfilter-half{float:left;overflow:hidden;height:100%;width:50%}.bx-sender-mailfilter-half-right{text-align:right}.bx-sender-mailfilter-half-right .bx-sender-mailfilter-item{margin:0}.bx-sender-mailfilter-half:before{content:'';display:inline-block;vertical-align:middle;height:100%;width:1px}.bx-sender-mailfilter-item{display:inline-block;vertical-align:middle;color:#fff;font-size:14px;margin:0 12px 0 0;border-bottom:2px dotted transparent}.bx-sender-mailfilter-item-total{display:inline-block;vertical-align:middle;font-size:24px;line-height:48px;height:48px;min-width:90px}.bx-sender-mailfilter-item-total .bx-sender-loader-sm{margin:5px 0 0 0}.bx-sender-mailfilter-item-light{display:inline-block;vertical-align:middle;margin:0 3px 0 0;opacity:.5;color:#fff;border-bottom:2px dotted transparent}.bx-sender-mailfilter-item-link{display:inline-block;vertical-align:middle;margin:0 28px 0 0;position:relative;cursor:pointer;color:#fff;border-bottom:2px dotted #8fd2ef}.bx-sender-mailfilter-item-link:after{content:'';position:absolute;border:5px solid transparent;top:6px;right:-14px;border-top:5px solid #8fd2ef}.bx-sender-mailfilter-result{display:block;overflow:hidden;padding:40px 0;font-size:0}.bx-sender-mailfilter-result-item{display:inline-block;vertical-align:top;width:15%;margin:0 5% 0 0;text-align:center}.bx-sender-mailfilter-result-item a{text-decoration:none}.bx-sender-mailfilter-result-item.bx-sender-mailfilter-4-items{width:25%}.bx-sender-mailfilter-result-item.bx-sender-mailfilter-2-items{width:45%;margin:0}.bx-sender-mailfilter-result-item.bx-sender-mailfilter-2-items:first-child{margin:0 10% 0 0}.bx-sender-mailfilter-result-title{display:block;padding:0 0 6px 0;margin:0 0 10px 0;border-bottom:1px solid #e9edee;font-size:12px;color:rgba(47,58,69,.7);text-align:left}.bx-sender-loader{position:relative;color:transparent!important}.bx-sender-loader:after{content:''!important}.bx-sender-loader .bx-sender-loader-sm{display:block}.bx-sender-mailfilter-result-total{position:relative;display:block;height:46px;padding:0;margin:0;font-size:40px;color:#000;text-align:right;transition:opacity .3s}.bx-sender-mailfilter-result-total:hover{opacity:.5}.bx-sender-mailfilter-result-total-proc:after{content:'%';display:inline-block;margin:0 0 0 5px;font-size:23px;color:#000;opacity:.5}.bx-sender-releases{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 0 28px 0}.bx-sender-last-releases{-webkit-box-flex:1;-ms-flex:1;flex:1}.bx-sender-releases-item{display:block;overflow:hidden;margin:0 0 18px 0}.bx-sender-releases-item:last-child{margin:0}.bx-sender-releases-item-info{display:block;overflow:hidden;padding:0;margin:0 0 7px 0;font-size:13px;color:#000;opacity:.7}.bx-sender-releases-section{color:#000;font-weight:bold;text-decoration:none}.bx-sender-releases-section:hover{text-decoration:underline}.bx-sender-releases-title{clear:both;float:left;overflow:hidden;color:#1f69bc;font-size:16px;text-decoration:none}.bx-sender-releases-title:hover{text-decoration:underline}.bx-sender-new-releases{float:right;overflow:hidden;min-width:145px;padding-left:10px;margin:0 auto}.bx-sender-new-releases:before{content:'';display:block;overflow:hidden;width:100%;height:115px;background:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20191%2064%22%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M133.295%2C0H57.668a5.65%2C5.65%2C0%2C0%2C0-5.705%2C5.593V58.406A5.65%2C5.65%2C0%2C0%2C0%2C57.668%2C64h75.627A5.651%2C5.651%2C0%2C0%2C0%2C139%2C58.406V5.594A5.651%2C5.651%2C0%2C0%2C0%2C133.295%2C0ZM82.862%2C37.479L95.342%2C45.8a0.27%2C0.27%2C0%2C0%2C0%2C.3%2C0l12.226-8.256a0.27%2C0.27%2C0%2C0%2C1%2C.338.03l21.056%2C20.653a0.26%2C0.26%2C0%2C0%2C1-.189.444H61.889a0.26%2C0.26%2C0%2C0%2C1-.188-0.444l21.16-20.743h0ZM57.4%2C54.268V21a0.266%2C0.266%2C0%2C0%2C1%2C.415-0.215l20.2%2C13.461a0.257%2C0.257%2C0%2C0%2C1%2C.039.4l-20.2%2C19.807A0.266%2C0.266%2C0%2C0%2C1%2C57.4%2C54.268Zm55.459-20.1%2C20.284-13.683a0.265%2C0.265%2C0%2C0%2C1%2C.415.214v33.57a0.266%2C0.266%2C0%2C0%2C1-.453.184L112.823%2C34.565A0.257%2C0.257%2C0%2C0%2C1%2C112.861%2C34.167ZM133.295%2C5.333a0.262%2C0.262%2C0%2C0%2C1%2C.265.26v8.37l-0.117-.162L95.62%2C39.337a0.27%2C0.27%2C0%2C0%2C1-.3%2C0l-37.8-25.195a0.259%2C0.259%2C0%2C0%2C1-.116-0.215V5.594a0.263%2C0.263%2C0%2C0%2C1%2C.266-0.26h75.627Z%22/%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M0%2C3.84H35.075V8.96H1.3Z%22/%3E%3Cpath%20fill%3D%22transparent%22%20d%3D%22M156%2C3.84h35.075V8.96H157.3Z%22/%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M5.2%2C16.64H35.075v5.12H6.5Z%22/%3E%3Cpath%20fill%3D%22%2333ade1%22%20d%3D%22M11.692%2C29.44H35.075v5.12H12.991Z%22/%3E%3C/svg%3E%0A') 15% center no-repeat;background-size:100%}.bx-sender-block-row{display:block;overflow:hidden;font-size:0}.bx-sender-block-col-2{display:inline-block;overflow:hidden;padding:15px 0;vertical-align:top;width:45%;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box}.bx-sender-block-col-margin{margin:0 10% 0 0}.bx-sender-tittle-statistic{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;overflow:hidden;margin:0 0 15px 0;white-space:nowrap}.bx-sender-title-statistic-text{float:left;overflow:hidden;font-size:14px;color:#525c69;margin:0 7px 0 0}.bx-sender-title-statistic-text a{text-decoration:none;transition:opacity .3s}.bx-sender-title-statistic-text a:hover{opacity:.5}.bx-sender-title-statistic-text-bold{opacity:1;font-weight:bold}.bx-sender-title-statistic-number-bold{font:bold 18px "Helvetica Neue",Arial,Helvetica,sans-serif}.bx-sender-title-statistic-link{-webkit-box-flex:1;-ms-flex:1;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:#1f69bc;text-decoration:none;cursor:pointer}.bx-sender-title-statistic-link:hover{text-decoration:underline}.bx-sender-graph{display:block;overflow:hidden;margin:30px 0 14px 0}.bx-sender-graph-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 5px 0;overflow:hidden}.bx-sender-graph-info-title{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:15px;color:#000}.bx-sender-graph-info-param{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:24px;height:27px;min-width:10px;text-align:right}.bx-sender-graph-info-param:after{content:'%'}.bx-sender-graph-scale{display:block;overflow:hidden;height:13px;background:#ebf0f2;-webkit-box-sizing:border-box;box-sizing:border-box}.bx-sender-graph-scale-inner{display:block;overflow:hidden;height:13px;background-color:#a2cf1b!important;-webkit-transition:background-color .4s;transition:background-color .4s}.bx-sender-tittle-statistic-proc,.bx-sender-tittle-statistic-half-text{float:left;overflow:hidden;font-size:14px;color:#525c69;opacity:.7}.bx-sender-tittle-statistic-half-proc{float:right}.bx-sender-tittle-statistic-proc:after{content:'%'}.bx-sender-tittle-statistic-line{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 4px 0 7px;border-bottom:1px solid #e2eaec}.bx-sender-stat-popup-item-chain{display:block;overflow:hidden;height:auto!important;padding:5px 0}.bx-sender-stat-popup-item-chain:hover{background:#3a92fd}.bx-sender-stat-popup-item-chain:hover .bx-sender-stat-popup-item-chain-name,.bx-sender-stat-popup-item-chain:hover .bx-sender-stat-popup-item-chain-date{color:#fff}.bx-sender-stat-popup-item-chain .menu-popup-item-icon{display:none}.bx-sender-stat-popup-item-chain-date{display:block;overflow:hidden;font-size:12px;padding:2px 0;line-height:normal;color:#a4a4a4}.bx-sender-stat-popup-item-chain-name{display:block;overflow:hidden;width:100%;font-size:12px;padding:2px 0;line-height:normal;color:#000;white-space:nowrap;text-overflow:ellipsis}.bx-gadget-speed-ruler{position:absolute;top:50%;width:100%;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22171%22%20height%3D%2217%22%20viewBox%3D%220%200%20171%2017%22%3E%3Cpath%20fill%3D%22%23535C69%22%20fill-rule%3D%22evenodd%22%20d%3D%22M0%200h1v17H0V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.095%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.092%200h1v17h-1V0zm8.094%200h1v17h-1V0zm9.105%200h1v17h-1V0zm8.095%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.092%200h1v17h-1V0zm8.094%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.093%200h1v17h-1V0zm8.094%200h1v17h-1V0z%22%20opacity%3D%22.3%22/%3E%3C/svg%3E');background-repeat:repeat;background-position:right 0;height:17px;transform:translate(0,-50%)}.bx-gadget-speed-ruler-end,.bx-gadget-speed-ruler-start{background-color:#fff;display:inline-block;padding:0 5px 0 0}.bx-gadget-speed-ruler-end{float:right;text-align:right;padding:0 0 0 5px}.bx-gadget-speed-graph{position:relative;height:47px;font-size:0}.bx-gadget-speed-graph-box{display:inline-block;height:47px;vertical-align:top;width:20%}.bx-gadget-speed-graph-part{display:inline-block;margin:0 0 12px 0;width:100%;text-align:center}.bx-gadget-speed-graph-part:before{content:'';display:inline-block;height:47px;vertical-align:middle;width:14px}.bx-gadget-speed-graph-text{display:block;font:bold 9px "Helvetica Neue",Arial,Helvetica,sans-serif;color:#2f3a45;text-transform:uppercase;text-align:center}.bx-gadget-speed-graph-varyfast{background-color:#2fc6f6;border-radius:0 3px 3px 0}.bx-gadget-speed-graph-fast{background-color:#9dcf00}.bx-gadget-speed-graph-notfast{background-color:#f9e900}.bx-gadget-speed-graph-slow{background-color:#ffa900}.bx-gadget-speed-graph-veryslow{background-color:#ff5752;border-radius:3px 0 0 3px}.bx-gadget-speed-pointer{position:absolute;top:0;left:-15%;-webkit-box-shadow:0 2px 3px rgba(47,58,69,.22);box-shadow:0 2px 3px rgba(47,58,69,.22);-webkit-transition:left .55s cubic-bezier(0.23,1,0.32,1);transition:left .55s cubic-bezier(0.23,1,0.32,1)}.bx-gadget-speed-value{position:absolute;top:-22px;left:-22px;padding:5px 8px;height:34px;width:51px;background-color:#545c6a;font:bold 14px/26px "Helvetica Neue",Arial,Helvetica,sans-serif;color:#fff;text-align:center;-webkit-box-shadow:0 2px 8px rgba(47,58,69,.56);box-shadow:0 2px 8px rgba(47,58,69,.56);box-sizing:border-box}.bx-gadget-speed-value:before{content:'';position:absolute;left:21px;bottom:-4px;display:block;width:9px;height:9px;background-color:#545c6a;transform:rotate(45deg)}.bx-gadget-speed-value-percent{font:bold 9px/26px "Helvetica Neue",Arial,Helvetica,sans-serif}.bx-gadgets-speed-ready .bx-gadget-speed-waiter{opacity:0}.bx-faceid-tracker-user-loader-item{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.bx-sender-insert{display:block;position:relative;height:500px}.bx-sender-insert-last-postings{height:186px}.bx-sender-insert-loader .bx-faceid-tracker-loader{display:block}.bx-faceid-tracker-loader{display:none;position:relative;height:100%;min-height:100px;width:100%;background:#ccc}.bx-faceid-tracker-loader:before{content:'';display:block;padding-top:100%}.bx-faceid-tracker-circular{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;height:120px;width:120px;-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;-webkit-transform-origin:center center;transform-origin:center center}.bx-faceid-tracker-path{stroke:#e8eef0;stroke-width:2;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.bx-sender-resizer{display:block;overflow:hidden;-webkit-transition:.4s;transition:.4s}.bx-sender-loader-sm,.bx-sender-loader-sm:before,.bx-sender-loader-sm:after{background:#e2ebed;-webkit-animation:load1 1s infinite ease-in-out;animation:load1 1s infinite ease-in-out;width:6px;height:16px;border-radius:2px}.bx-sender-loader-sm{display:none;color:#e2ebed;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-animation-delay:-0.16s;animation-delay:-0.16s;border-radius:2px}.bx-sender-loader-sm:before,.bx-sender-loader-sm:after{position:absolute;top:0;content:''}.bx-sender-loader-sm:before{left:-12px;-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.bx-sender-loader-sm:after{left:12px}@-webkit-keyframes load1{0%,80%,100%{box-shadow:0;height:10px}40%{box-shadow:0 -12px;height:16px}}@keyframes load1{0%,80%,100%{box-shadow:0;height:10px}40%{box-shadow:0 -12px;height:16px}}.adm-workarea .adm-btn.adm-btn-save.bx-sender-btn{display:inline-block;font-size:16px!important;height:31px!important;line-height:32px!important;text-shadow:0 1px rgba(0,0,0,.3)}.adm-workarea .adm-btn.adm-btn-save.bx-sender-btn:active{height:31px!important;padding:6px 15px 5px!important}helper/script.min.js000066400000014645147722313310010466 0ustar00(function(t){BX.namespace("BX.Sender");if(BX.Sender.Helper){return}var e={hint:{attributeName:"data-hint",attributeInitName:"data-hint-init",popup:null,content:null,init:function(t){t=t||document.body;var e=t.querySelectorAll("["+this.attributeName+"]");e=BX.convert.nodeListToArray(e);e.forEach(this.initNode,this)},initNode:function(t){if(t.getAttribute(this.attributeInitName)){return}t.setAttribute(this.attributeInitName,"y");var e=t.getAttribute(this.attributeName);if(e===""||e===null){return}BX.addClass(t,"sender-hint");t.innerHTML='<div class="sender-hint-icon"></div>';BX.bind(t,"mouseenter",this.show.bind(this,t,e));BX.bind(t,"mouseleave",this.hide.bind(this,t))},show:function(t,e){if(this.content===null){this.content=document.createElement("div");this.content.style.margin="7px";this.content.style.maxWidth="400px";this.popup=new BX.PopupWindow("sender-helper-hint",t,{zIndex:1e3,darkMode:true,content:this.content})}this.content.innerHTML=e;this.popup.setBindElement(t);this.popup.show()},hide:function(){if(!this.popup){return}this.popup.close()}},tag:{attributeName:"data-tag",attributeInitName:"data-tag-init",popup:null,init:function(t,e){if(!t||!e){return}t=t||document.body;var i=t.querySelectorAll("["+this.attributeName+"]");i=BX.convert.nodeListToArray(i);i.forEach(this.initNode.bind(this,e))},initNode:function(t,e){if(e.getAttribute(this.attributeInitName)){return}e.setAttribute(this.attributeInitName,"y");var i=e.getAttribute(this.attributeName);if(!i){return}BX.addClass(e,"sender-tag");e.innerHTML='<span class="sender-tag-icon"></span>';try{i=JSON.parse(i)}catch(t){i=null}if(!i){return}BX.bind(e,"click",this.show.bind(this,t,e,i))},onClick:function(t,e,i){t.value=t.value+i.id;this.hide()},show:function(t,e,i){if(!this.popup){this.popup=new BX.PopupMenuWindow("sender-helper-hint-tag-"+(t.name||t.id),e,i.map(function(i){var n=this;i.items.map(function(i){i.onclick=n.onClick.bind(n,t,e,i);return i});return i},this),{autoHide:true,autoClose:true},{events:{onclick:function(){}}})}this.popup.bindElement=e;this.popup.show()},hide:function(){if(!this.popup){return}this.popup.close()}},titleEditor:{isInit:false,init:function(t){this.dataNode=t.dataNode;this.titleNode=BX("pagetitle");this.inputNode=BX("pagetitle_input");this.buttonNode=BX("pagetitle_edit");this.initialTitle=this.titleNode.textContent;this.defaultTitle=t.defaultTitle;BX.bind(this.dataNode,"bxchange",this.onDataNodeChange.bind(this));BX.bind(this.buttonNode,"click",this.startEdit.bind(this));BX.bind(this.inputNode,"keyup",this.onKeyUp.bind(this));BX.bind(this.inputNode,"blur",this.endEdit.bind(this));this.isInit=true;if(!t.disabled){this.enable()}if(!this.dataNode.value){this.dataNode.value=this.defaultTitle}},enable:function(t){t=t||false;if(!this.isInit){return}e.changeDisplay(this.buttonNode,!t);this.titleNode.textContent=!t?this.dataNode.value?this.dataNode.value:this.defaultTitle:this.initialTitle},disable:function(){this.enable(true)},onDataNodeChange:function(){this.titleNode.textContent=this.dataNode.value},onKeyUp:function(e){e=e||t.event;if(e.keyCode===10||e.keyCode===13){this.endEdit();e.preventDefault();return false}},getTitle:function(){var t=this.dataNode.value;if(!t){t=this.titleNode.textContent}return t},startEdit:function(){this.inputNode.value=this.getTitle();e.changeDisplay(this.titleNode,false);e.changeDisplay(this.buttonNode,false);e.changeDisplay(this.inputNode,true);this.inputNode.focus()},endEdit:function(){this.dataNode.value=this.inputNode.value;this.titleNode.textContent=this.inputNode.value;e.changeDisplay(this.inputNode,false);e.changeDisplay(this.buttonNode,true);e.changeDisplay(this.titleNode,true)}},getObjectByKey:function(t,e,i){var n=t.filter(function(t){return t.hasOwnProperty(e)&&t[e]===i});return n.length>0?n[0]:null},changeClass:function(t,e,i){if(!t){return}i?BX.addClass(t,e):BX.removeClass(t,e)},replace:function(t,e,i){e=e||{};i=i||false;if(!t){return""}for(var n in e){if(!e.hasOwnProperty(n)){continue}var a=e[n];a=a||"";if(!i&&a){a=BX.util.htmlspecialchars(a)}t=t.replace(new RegExp("%"+n+"%","g"),a)}return t},getNode:function(t,e){var i=this.getNodes(t,e);return i.length>0?i[0]:null},getNodes:function(t,e){if(!BX.type.isDomNode(e)){return[]}return BX.convert.nodeListToArray(e.querySelectorAll('[data-role="'+t+'"]'))},safe:function(t){return BX.util.htmlspecialchars(t)},getTemplate:function(t,i,n){if(!t){return null}return e.replace(t.innerHTML,i,n)},getTemplatedNode:function(t,e,i){if(!t){return null}if(BX.type.isDomNode(t)){t=this.getTemplate(t,e,i)}if(!t){return null}var n=document.createElement("div");n.innerHTML=t;return n.children.length>0?n.children[0]:null},handleKeyEnter:function(e,i){if(!i){return}var n=function(e){e=e||t.event;if(e.keyCode===10||e.keyCode===13){e.preventDefault();e.stopPropagation();i();return false}};BX.bind(e,"keyup",n)},changeDisplay:function(t,e){return this.display.change(t,e,true)},animate:{numbers:function(t,e){e=BX.type.isString(e)?e.replace(/[^0-9]/,""):e;var i=parseInt(t.tagName==="INPUT"?t.value:t.textContent.replace(/[^0-9]/,""));if(isNaN(i)){i=0}var n=new BX.easing({duration:500,start:{num:i},finish:{num:e},transition:BX.easing.transitions.quart,step:function(e){var i=BX.util.number_format(e.num,0,"."," ");if(t.tagName==="INPUT"){t.value=i}else{t.textContent=i}},complete:function(){}});n.animate()}},display:{animateShowing:function(t,e){e=e||false;var i=new BX.easing({duration:500,start:{height:0,opacity:e?30:100},finish:{height:1e5,opacity:100},transition:BX.easing.transitions.quart,step:function(e){t.style.opacity=e.opacity/100;t.style.maxHeight=e.height+"px";t.style.height=null;t.style.display="";var n=BX.pos(t);if(n.height<e.height){i.stop(true)}},complete:function(){}});i.animate()},animateHiding:function(t,e,i){e=e||false;var n=BX.pos(t);var a=new BX.easing({duration:300,start:{height:n.height,opacity:80},finish:{height:0,opacity:e?30:100},transition:BX.easing.transitions.quart,step:function(e){t.style.maxHeight=e.height+"px";t.style.height=null;t.style.opacity=e.opacity/100},complete:function(){t.style.display="none";t.style.opacity=0;if(i){i.apply(this)}}});a.animate()},change:function(t,e,i){i=BX.type.isBoolean(i)?i:false;if(!t){return}if(i){t.style.display=e?"":"none";return}if(e===this.isShowed(t)){return}var n=true;if(!e){this.animateHiding(t,n)}else{this.animateShowing(t,n)}},toggle:function(t,e){if(!t){return}this.change(t,!this.isShowed(t),e)},isShowed:function(t){if(!t){return false}return!(t.style.display==="none")}}};BX.Sender.Helper=e})(window);
//# sourceMappingURL=script.map.jshelper/script.map.js000066400000021052147722313310010446 0ustar00{"version":3,"sources":["script.js"],"names":["window","BX","namespace","Sender","Helper","hint","attributeName","attributeInitName","popup","content","init","context","document","body","nodes","querySelectorAll","this","convert","nodeListToArray","forEach","initNode","node","getAttribute","setAttribute","text","addClass","innerHTML","bind","show","hide","createElement","style","margin","maxWidth","PopupWindow","zIndex","darkMode","setBindElement","close","tag","target","items","JSON","parse","$e","onClick","item","value","id","PopupMenuWindow","name","map","childItem","_this","onclick","autoHide","autoClose","events","bindElement","titleEditor","isInit","params","dataNode","titleNode","inputNode","buttonNode","initialTitle","textContent","defaultTitle","onDataNodeChange","startEdit","onKeyUp","endEdit","disabled","enable","isDisable","changeDisplay","disable","event","keyCode","preventDefault","getTitle","title","focus","getObjectByKey","list","key","filtered","filter","hasOwnProperty","length","changeClass","className","isAdd","removeClass","replace","data","isDataSafe","util","htmlspecialchars","RegExp","getNode","role","getNodes","type","isDomNode","safe","getTemplate","templateNode","replaceData","getTemplatedNode","template","children","handleKeyEnter","callback","handler","stopPropagation","isShow","display","change","animate","numbers","isString","initialValue","parseInt","tagName","isNaN","easing","duration","start","num","finish","transition","transitions","quart","step","state","number_format","complete","animateShowing","useOpacity","height","opacity","maxHeight","val","pos","stop","animateHiding","apply","isSimple","isBoolean","isShowed","toggle"],"mappings":"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","file":"script.map.js"}helper/script.js000066400000026147147722313310007704 0ustar00;(function (window)
{

	BX.namespace('BX.Sender');
	if (BX.Sender.Helper)
	{
		return;
	}

	var Helper = {
		hint: {
			attributeName: 'data-hint',
			attributeInitName: 'data-hint-init',
			popup: null,
			content: null,
			init: function (context)
			{
				context = context || document.body;
				var nodes = context.querySelectorAll('[' + this.attributeName + ']');
				nodes = BX.convert.nodeListToArray(nodes);
				nodes.forEach(this.initNode, this);
			},
			initNode: function (node)
			{
				if (node.getAttribute(this.attributeInitName))
				{
					return;
				}

				node.setAttribute(this.attributeInitName, 'y');

				var text = node.getAttribute(this.attributeName);
				if (text === '' || text === null)
				{
					return;
				}

				BX.addClass(node, 'sender-hint');
				node.innerHTML = '<div class="sender-hint-icon"></div>';

				BX.bind(node, 'mouseenter', this.show.bind(this, node, text));
				BX.bind(node, 'mouseleave', this.hide.bind(this, node));
			},
			show: function (node, text)
			{
				if (this.content === null)
				{
					this.content= document.createElement('div');
					this.content.style.margin = '7px';
					this.content.style.maxWidth = '400px';
					this.popup = new BX.PopupWindow(
						'sender-helper-hint',
						node,
						{
							'zIndex': 1000,
							'darkMode': true,
							'content': this.content
						}
					);
				}

				this.content.innerHTML = text;
				this.popup.setBindElement(node);
				this.popup.show();
			},
			hide: function ()
			{
				if (!this.popup)
				{
					return;
				}

				this.popup.close();
			}
		},
		tag: {
			attributeName: 'data-tag',
			attributeInitName: 'data-tag-init',
			popup: null,
			init: function (context, target)
			{
				if (!context || !target)
				{
					return;
				}

				context = context || document.body;
				var nodes = context.querySelectorAll('[' + this.attributeName + ']');
				nodes = BX.convert.nodeListToArray(nodes);
				nodes.forEach(this.initNode.bind(this, target));
			},
			initNode: function (target, node)
			{
				if (node.getAttribute(this.attributeInitName))
				{
					return;
				}

				node.setAttribute(this.attributeInitName, 'y');

				var items = node.getAttribute(this.attributeName);
				if (!items)
				{
					return;
				}

				BX.addClass(node, 'sender-tag');
				node.innerHTML = '<span class="sender-tag-icon"></span>';

				try
				{
					items = JSON.parse(items);
				}
				catch ($e)
				{
					items = null;
				}

				if (!items)
				{
					return;
				}

				BX.bind(node, 'click', this.show.bind(this, target, node, items));
			},
			onClick: function (target, node, item)
			{
				target.value = target.value + item.id;
				this.hide();
			},
			show: function (target, node, items)
			{
				if (!this.popup)
				{
					this.popup = new BX.PopupMenuWindow(
						'sender-helper-hint-tag-' + (target.name || target.id),
						node,
						items.map(function (childItem) {
							var _this = this;
							childItem.items.map(function(item) {
								item.onclick = _this.onClick.bind(_this, target, node, item);
								return item;
							})
							return childItem;
						}, this),
						{
							autoHide: true,
							autoClose: true
						},
						{
							events: {
								onclick: function () {}
							}
						}
					);
				}

				this.popup.bindElement = node;
				this.popup.show();
			},
			hide: function ()
			{
				if (!this.popup)
				{
					return;
				}

				this.popup.close();
			}
		},
		titleEditor:
		{
			isInit: false,
			init: function (params)
			{
				// init nodes
				this.dataNode = params.dataNode;
				this.titleNode = BX('pagetitle');
				this.inputNode = BX('pagetitle_input');
				this.buttonNode = BX('pagetitle_edit');

				this.initialTitle = this.titleNode.textContent;
				this.defaultTitle = params.defaultTitle;

				// init bindings
				BX.bind(this.dataNode, 'bxchange', this.onDataNodeChange.bind(this));
				BX.bind(this.buttonNode, 'click', this.startEdit.bind(this));

				BX.bind(this.inputNode, 'keyup', this.onKeyUp.bind(this));
				BX.bind(this.inputNode, 'blur', this.endEdit.bind(this));

				this.isInit = true;

				// init state
				if (!params.disabled)
				{
					this.enable();
				}

				if (!this.dataNode.value)
				{
					this.dataNode.value = this.defaultTitle;
				}
			},
			enable: function (isDisable)
			{
				isDisable = isDisable || false;
				if (!this.isInit)
				{
					return;
				}

				Helper.changeDisplay(this.buttonNode, !isDisable);
				this.titleNode.textContent = !isDisable
					?
					this.dataNode.value ? this.dataNode.value : this.defaultTitle
					:
					this.initialTitle;
			},
			disable: function ()
			{
				this.enable(true);
			},
			onDataNodeChange: function ()
			{
				this.titleNode.textContent = this.dataNode.value;
			},
			onKeyUp: function (event)
			{
				event = event || window.event;
				if ((event.keyCode === 0xA)||(event.keyCode === 0xD))
				{
					this.endEdit();
					event.preventDefault();
					return false;
				}
			},
			getTitle: function ()
			{
				var title = this.dataNode.value;
				if (!title)
				{
					title = this.titleNode.textContent;
				}

				return title;
			},
			startEdit: function ()
			{
				this.inputNode.value = this.getTitle();

				Helper.changeDisplay(this.titleNode, false);
				Helper.changeDisplay(this.buttonNode, false);
				Helper.changeDisplay(this.inputNode, true);

				this.inputNode.focus();
			},
			endEdit: function ()
			{
				this.dataNode.value = this.inputNode.value;
				this.titleNode.textContent = this.inputNode.value;

				Helper.changeDisplay(this.inputNode, false);
				Helper.changeDisplay(this.buttonNode, true);
				Helper.changeDisplay(this.titleNode, true);
			}
		},
		getObjectByKey:  function (list, key, value)
		{
			var filtered = list.filter(function (item) {
				return (item.hasOwnProperty(key) && item[key] === value);
			});
			return filtered.length > 0 ? filtered[0] : null;
		},
		changeClass: function (node, className, isAdd)
		{
			if (!node)
			{
				return;
			}

			isAdd ? BX.addClass(node, className) : BX.removeClass(node, className);
		},
		replace: function (text, data, isDataSafe)
		{
			data = data || {};
			isDataSafe = isDataSafe || false;

			if (!text)
			{
				return '';
			}

			for (var key in data)
			{
				if (!data.hasOwnProperty(key))
				{
					continue;
				}

				var value = data[key];
				value = value || '';
				if (!isDataSafe && value)
				{
					value = BX.util.htmlspecialchars(value);
				}
				text = text.replace(new RegExp('%' + key + '%', 'g'), value);
			}
			return text;
		},
		getNode: function (role, context)
		{
			var nodes = this.getNodes(role, context);
			return nodes.length > 0 ? nodes[0] : null;
		},
		getNodes: function (role, context)
		{
			if (!BX.type.isDomNode(context))
			{
				return [];
			}
			return BX.convert.nodeListToArray(context.querySelectorAll('[data-role="' + role + '"]'));
		},
		safe: function (text)
		{
			return BX.util.htmlspecialchars(text);
		},
		getTemplate: function (templateNode, replaceData, isDataSafe)
		{
			if (!templateNode)
			{
				return null;
			}

			return Helper.replace(templateNode.innerHTML, replaceData, isDataSafe);
		},
		/*
		getTemplatedNodes: function (templateNode, replaceDataList, isDataSafe)
		{
			return replaceDataList.map(function (replaceData) {
				return this.getTemplatedNode(templateNode, replaceData, isDataSafe);
			}, this);
		},
		*/
		getTemplatedNode: function (template, replaceData, isDataSafe)
		{
			if (!template)
			{
				return null;
			}

			if (BX.type.isDomNode(template))
			{
				template = this.getTemplate(template, replaceData, isDataSafe);
			}

			if (!template)
			{
				return null;
			}

			var node = document.createElement('div');
			node.innerHTML = template;

			return node.children.length > 0 ? node.children[0] : null;
		},
		handleKeyEnter: function (inputNode, callback)
		{
			if (!callback)
			{
				return;
			}

			var handler = function (event)
			{
				event = event || window.event;
				if ((event.keyCode === 0xA)||(event.keyCode === 0xD))
				{
					event.preventDefault();
					event.stopPropagation();
					callback();
					return false;
				}
			};
			BX.bind(inputNode, 'keyup', handler);
		},
		changeDisplay: function (node, isShow)
		{
			return this.display.change(node, isShow, true);
		},
		animate: {
			numbers: function (node, value)
			{
				value = BX.type.isString(value) ? value.replace(/[^0-9]/, '') : value;
				var initialValue = parseInt(node.tagName === 'INPUT' ? node.value : node.textContent.replace(/[^0-9]/, ''));
				if (isNaN(initialValue))
				{
					initialValue = 0;
				}

				var easing = new BX.easing({
					duration : 500,
					start : {num: initialValue},
					finish : {num: value},
					transition : BX.easing.transitions.quart,
					step : function(state)
					{
						var num = BX.util.number_format(state.num, 0, '.', ' ');
						if (node.tagName === 'INPUT')
						{
							node.value = num;
						}
						else
						{
							node.textContent = num;
						}

					},
					complete : function()
					{
					}
				});
				easing.animate();
			}
		},
		display: {
			animateShowing: function (node, useOpacity)
			{
				useOpacity = useOpacity || false;

				var easing = new BX.easing({
					duration : 500,
					start : { height: 0, opacity: useOpacity ? 30 : 100 },
					finish : { height: 100000, opacity: 100 },
					transition : BX.easing.transitions.quart,
					step : function(state)
					{
						node.style.opacity = state.opacity/100;
						node.style.maxHeight = state.height + "px";
						node.style.height = null;
						node.style.display = "";

						var val = BX.pos(node);
						if (val.height < state.height)
						{
							easing.stop(true);
						}
					},
					complete : function()
					{
						//node.style.maxHeight = null;
					}
				});
				easing.animate();
			},
			animateHiding: function (node, useOpacity, callback)
			{
				useOpacity = useOpacity || false;

				var val = BX.pos(node);
				var easing = new BX.easing({
					duration : 300,
					start : { height: val.height, opacity: 80 },
					finish : { height: 0, opacity: useOpacity ? 30 : 100 },
					transition : BX.easing.transitions.quart,
					step : function(state)
					{
						node.style.maxHeight = state.height + "px";
						node.style.height = null;
						node.style.opacity = state.opacity/100;
					},
					complete : function()
					{
						node.style.display = "none";
						node.style.opacity = 0;
						if (callback)
						{
							callback.apply(this);
						}
					}
				});
				easing.animate();
			},
			change: function (node, isShow, isSimple)
			{
				isSimple = BX.type.isBoolean(isSimple) ? isSimple : false;

				if (!node)
				{
					return;
				}

				if (isSimple)
				{
					node.style.display = isShow ? '' : 'none';
					return;
				}

				if (isShow === this.isShowed(node))
				{
					return;
				}

				var useOpacity = true;
				if (!isShow)
				{
					this.animateHiding(node, useOpacity);
				}
				else
				{
					this.animateShowing(node, useOpacity);
				}
			},
			toggle: function (node, isSimple)
			{
				if (!node)
				{
					return;
				}

				this.change(node, !this.isShowed(node), isSimple);
			},
			isShowed: function (node)
			{
				if (!node)
				{
					return false;
				}
				return !(node.style.display === 'none');
			}
		}
	};

	BX.Sender.Helper = Helper;

})(window);helper/style.css000064400000007226147722313310007707 0ustar00/** Page title editing **/
input.pagetitle-item {
	display: inline-block;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	width: calc(100% - 500px);
	border: none;
	border-bottom: 1px solid #cfd6da;
	background-color: transparent;
	color: #000;
	word-wrap: break-word;
	font: 26px/27px "OpenSans-Light", Helvetica, Arial, sans-serif;
}

.pagetitle-edit-button {
	display: inline-block;
	width: 20px;
	height: 19px;
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDExIDEwIj48cGF0aCBmaWxsPSIjNTI1QzY5IiBkPSJNMzQ2LjY5Nzk1NCw5MTkgTDM0OC42MjY1NzcsOTIwLjkyODYyMiBMMzQxLjcwOTAzNSw5MjcuODQ0NzgyIEwzMzkuNzgwNDEzLDkyNS45MTYxNiBMMzQ2LjY5Nzk1NCw5MTkgWiBNMzM4LjY0MzQxLDkyOC43MjM0MzggQzMzOC42MjQwNjgsOTI4Ljc5NjY2IDMzOC42NDQ3OTEsOTI4Ljg3NDAyNiAzMzguNjk3MjksOTI4LjkyNzkwNiBDMzM4Ljc1MTE2OSw5MjguOTgxNzg1IDMzOC44Mjg1MzUsOTI5LjAwMjUwOCAzMzguOTAxNzU3LDkyOC45ODE3ODUgTDM0MS4xODgxOTcsOTI4LjM2NTYyMSBMMzM5LjI1OTU3NCw5MjYuNDM2OTk5IEwzMzguNjQzNDEsOTI4LjcyMzQzOCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzM4IC05MTkpIi8+PC9zdmc+) no-repeat 5px center;
	opacity: .6;
	cursor: pointer;
	transition: all 250ms ease;
}

/** Hint **/
.sender-hint {
	display: inline-block;
	width: 26px;
	height: 26px;
	transition: opacity .3s;
	opacity: .45;
	text-align: center;
	cursor: pointer;
}
.sender-hint:hover {
	opacity: 1;
}
.sender-hint-icon {
	display: inline-block;
	margin: 7px 0 0 0;
	width: 13px;
	height: 13px;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2013%2013%22%3E%3Cg%20fill%3D%22none%22%20opacity%3D%22.7%22%3E%3Cpath%20fill%3D%22%23525C69%22%20d%3D%22M12.48%206.49C12.48%203.183%209.8.5%206.49.5%203.183.5.5%203.182.5%206.49c0%203.31%202.682%205.99%205.99%205.99%203.31%200%205.99-2.68%205.99-5.99z%22/%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M4.06%204.842c0-.308.098-.62.296-.936.197-.316.486-.578.865-.785.38-.207.823-.31%201.33-.31.47%200%20.884.086%201.244.26.36.173.638.41.834.707.196.298.294.623.294.973%200%20.275-.056.517-.168.724-.11.208-.244.387-.398.538-.154.15-.43.404-.83.76-.11.1-.198.19-.265.266-.065.076-.114.146-.147.21-.032.062-.057.125-.075.19-.018.062-.045.173-.08.332-.062.337-.255.505-.58.505-.168%200-.31-.055-.425-.165-.115-.11-.172-.274-.172-.49%200-.273.043-.51.127-.71.084-.198.196-.373.336-.524.14-.15.327-.33.564-.537.207-.183.357-.32.45-.412.092-.093.17-.195.233-.31.063-.112.095-.236.095-.37%200-.258-.097-.477-.29-.655-.192-.178-.44-.268-.746-.268-.358%200-.62.09-.79.27-.167.18-.31.445-.427.795-.11.367-.32.55-.627.55-.182%200-.335-.064-.46-.192s-.187-.267-.187-.416zm2.372%205.33c-.197%200-.37-.064-.518-.192-.147-.128-.22-.307-.22-.537%200-.205.07-.376.213-.516s.318-.21.525-.21c.205%200%20.376.07.516.21.14.14.21.31.21.516%200%20.227-.074.405-.22.535-.146.13-.314.194-.506.194z%22/%3E%3C/g%3E%3C/svg%3E');
	background-repeat: no-repeat;
}

/** Tag **/
.sender-tag {
	display: inline-block;
	width: 32px;
	height: 38px;
	text-align: center;
	transition: opacity .3s;
	opacity: .7;
	cursor: pointer;
}
.sender-tag-icon:hover {
	opacity: 1;
}
.sender-tag-icon {
	display: inline-block;
	margin: 18px 0 0 0;
	width: 16px;
	height: 4px;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%204%22%3E%3Cpath%20fill%3D%22%23828B95%22%20fill-rule%3D%22evenodd%22%20d%3D%22M2%204C.895%204%200%203.105%200%202s.895-2%202-2%202%20.895%202%202-.895%202-2%202zm6%200c-1.105%200-2-.895-2-2s.895-2%202-2%202%20.895%202%202-.895%202-2%202zm6%200c-1.105%200-2-.895-2-2s.895-2%202-2%202%20.895%202%202-.895%202-2%202z%22/%3E%3C/svg%3E');
	background-repeat: no-repeat;
}helper/style.min.css000064400000006660147722313310010472 0ustar00input.pagetitle-item{display:inline-block;box-sizing:border-box;margin:0;padding:0;width:calc(100% - 500px);border:0;border-bottom:1px solid #cfd6da;background-color:transparent;color:#000;word-wrap:break-word;font:26px/27px "OpenSans-Light",Helvetica,Arial,sans-serif}.pagetitle-edit-button{display:inline-block;width:20px;height:19px;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDExIDEwIj48cGF0aCBmaWxsPSIjNTI1QzY5IiBkPSJNMzQ2LjY5Nzk1NCw5MTkgTDM0OC42MjY1NzcsOTIwLjkyODYyMiBMMzQxLjcwOTAzNSw5MjcuODQ0NzgyIEwzMzkuNzgwNDEzLDkyNS45MTYxNiBMMzQ2LjY5Nzk1NCw5MTkgWiBNMzM4LjY0MzQxLDkyOC43MjM0MzggQzMzOC42MjQwNjgsOTI4Ljc5NjY2IDMzOC42NDQ3OTEsOTI4Ljg3NDAyNiAzMzguNjk3MjksOTI4LjkyNzkwNiBDMzM4Ljc1MTE2OSw5MjguOTgxNzg1IDMzOC44Mjg1MzUsOTI5LjAwMjUwOCAzMzguOTAxNzU3LDkyOC45ODE3ODUgTDM0MS4xODgxOTcsOTI4LjM2NTYyMSBMMzM5LjI1OTU3NCw5MjYuNDM2OTk5IEwzMzguNjQzNDEsOTI4LjcyMzQzOCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzM4IC05MTkpIi8+PC9zdmc+) no-repeat 5px center;opacity:.6;cursor:pointer;transition:all 250ms ease}.sender-hint{display:inline-block;width:26px;height:26px;transition:opacity .3s;opacity:.45;text-align:center;cursor:pointer}.sender-hint:hover{opacity:1}.sender-hint-icon{display:inline-block;margin:7px 0 0 0;width:13px;height:13px;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2013%2013%22%3E%3Cg%20fill%3D%22none%22%20opacity%3D%22.7%22%3E%3Cpath%20fill%3D%22%23525C69%22%20d%3D%22M12.48%206.49C12.48%203.183%209.8.5%206.49.5%203.183.5.5%203.182.5%206.49c0%203.31%202.682%205.99%205.99%205.99%203.31%200%205.99-2.68%205.99-5.99z%22/%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M4.06%204.842c0-.308.098-.62.296-.936.197-.316.486-.578.865-.785.38-.207.823-.31%201.33-.31.47%200%20.884.086%201.244.26.36.173.638.41.834.707.196.298.294.623.294.973%200%20.275-.056.517-.168.724-.11.208-.244.387-.398.538-.154.15-.43.404-.83.76-.11.1-.198.19-.265.266-.065.076-.114.146-.147.21-.032.062-.057.125-.075.19-.018.062-.045.173-.08.332-.062.337-.255.505-.58.505-.168%200-.31-.055-.425-.165-.115-.11-.172-.274-.172-.49%200-.273.043-.51.127-.71.084-.198.196-.373.336-.524.14-.15.327-.33.564-.537.207-.183.357-.32.45-.412.092-.093.17-.195.233-.31.063-.112.095-.236.095-.37%200-.258-.097-.477-.29-.655-.192-.178-.44-.268-.746-.268-.358%200-.62.09-.79.27-.167.18-.31.445-.427.795-.11.367-.32.55-.627.55-.182%200-.335-.064-.46-.192s-.187-.267-.187-.416zm2.372%205.33c-.197%200-.37-.064-.518-.192-.147-.128-.22-.307-.22-.537%200-.205.07-.376.213-.516s.318-.21.525-.21c.205%200%20.376.07.516.21.14.14.21.31.21.516%200%20.227-.074.405-.22.535-.146.13-.314.194-.506.194z%22/%3E%3C/g%3E%3C/svg%3E');background-repeat:no-repeat}.sender-tag{display:inline-block;width:32px;height:38px;text-align:center;transition:opacity .3s;opacity:.7;cursor:pointer}.sender-tag-icon:hover{opacity:1}.sender-tag-icon{display:inline-block;margin:18px 0 0 0;width:16px;height:4px;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%204%22%3E%3Cpath%20fill%3D%22%23828B95%22%20fill-rule%3D%22evenodd%22%20d%3D%22M2%204C.895%204%200%203.105%200%202s.895-2%202-2%202%20.895%202%202-.895%202-2%202zm6%200c-1.105%200-2-.895-2-2s.895-2%202-2%202%20.895%202%202-.895%202-2%202zm6%200c-1.105%200-2-.895-2-2s.895-2%202-2%202%20.895%202%202-.895%202-2%202z%22/%3E%3C/svg%3E');background-repeat:no-repeat}admin.js000064400000100337147722313310006201 0ustar00	function GroupManager(isAdd, $controlName)
	{
		var groupExists = BX($controlName+'_EXISTS');
		var groupSelected = BX($controlName);
		var groupSelectedHidden = BX($controlName+'_HIDDEN');
		var groupSelectedOptions = BX.findChildren(groupSelected, {"tag" : "option"}, true);

		if(isAdd)
		{
			var groupExistsOptions = BX.findChildren(groupExists, {"tag" : "option"}, true);
			if(groupExistsOptions && groupExistsOptions.length > 0)
			{
				var arSelectedValues = [];
				var elementFor;
				for(var i in groupSelectedOptions)
				{
					elementFor = groupSelectedOptions[i];
					if(!elementFor) continue;
					arSelectedValues.push(elementFor.value);
				}


				var elementAdd;
				for(var i in groupExistsOptions)
				{
					elementFor = groupExistsOptions[i];
					if(!elementFor || !elementFor.selected) continue;
					if(!BX.util.in_array(elementFor.value, arSelectedValues))
					{
						elementAdd = elementFor.cloneNode(true);
						groupSelected.appendChild(elementAdd);
					}
				}
			}
		}
		else
		{
			var elementDelete;
			var elementDeleteParent;
			var groupSelectedSelectedOptions = [];
			if(groupSelectedOptions && groupSelectedOptions.length > 0)
			{
				for(var i in groupSelectedOptions)
				{
					if(groupSelectedOptions[i] && groupSelectedOptions[i].selected)
					{
						groupSelectedSelectedOptions.push(groupSelectedOptions[i]);
					}
				}
			}

			while(groupSelectedSelectedOptions.length>0)
			{
				elementDelete = groupSelectedSelectedOptions.pop();
				elementDeleteParent = elementDelete.parentNode;
				if(elementDeleteParent)
					elementDeleteParent.removeChild(elementDelete);
			}
		}

		var element;
		var selectedGroupId = '';
		var arSelectedGroupId = [];
		groupSelectedOptions = BX.findChildren(groupSelected, {"tag" : "option"}, true);
		for(var i in groupSelectedOptions)
		{
			element = groupSelectedOptions[i];
			if(element && element != 'undefined')
			{
				if(element.value != 'undefined' && parseInt(element.value)>0 && !BX.util.in_array(element.value, arSelectedGroupId))
				{
					selectedGroupId = selectedGroupId+element.value+',';
					arSelectedGroupId.push(element.value);
				}
			}
		}
		groupSelectedHidden.value = selectedGroupId;
	}


	function ConnectorGetHtmlForm(data)
	{
		var templ = document.getElementById('connector-template');
		var connectorFormHtml = templ.innerHTML;

		for(var key in data)
		{
			connectorFormHtml = connectorFormHtml.replace(new RegExp(key,'g'), data[key]);
		}

		return connectorFormHtml;
	}
	function ConnectorSettingWatch()
	{
        var arConForms = document.getElementsByName('post_form');
        var controls = arConForms[arConForms.length - 1].elements;
		var ctrl;
		for(var i in controls){
			ctrl = controls[i];
			if(ctrl && ctrl.name && BX.type.isString(ctrl.name) && ctrl.name.substring(0,11)=='CONNECTOR_S'){
				BX.unbindAll(BX(ctrl));
				BX.bind(BX(ctrl), 'change', function() {ConnectorSettingGetCount(this);});
			}
		}
	}

	function ConnectorSettingShowToggle(element, elementParent)
	{
		if(element)
			elementParent = BX.findParent(element, {"tag" : "div", "className": "connector_form"}, true);

		BX.toggleClass(elementParent, 'sender-box-list-item-hidden');
		/*
		 var elementContainer = BX.findChild(elementParent, {"tag" : "div", "className": "connector_form_container"}, true);
		 elementContainer.style.display = BX.toggle(elementContainer.style.display, ['block', 'none']);
		 */
	}
	function ConnectorSettingDelete(element)
	{
		var elementDelete = BX.findParent(element, {"tag" : "div", "className": "connector_form"}, true);

		var easing = new BX.easing({
			duration : 500,
			start : { height : 100, opacity: 100 },
			finish : { height : 0, opacity : 0 },
			transition : BX.easing.transitions.quart,
			step : function(state){
				elementDelete.style.opacity = state.opacity/100;
			},
			complete : function() {
				BX.remove(elementDelete);
				ConnectorCounterSummary();
			}
		});
		easing.animate();
	}

	function ConnectorSettingGetCount(element, form)
	{
		var elementParent;
		if(form)
		{
			elementParent = form;
		}
		else
		{
			elementParent = BX.findParent(element, {"tag" : "div", "className": "connector_form"}, true);
		}

		var arConForms = document.getElementsByName('post_form');
		var controls = arConForms[arConForms.length - 1].elements;
		var ctrl;
		var filteredControls = [];
		var currentParent;
		for(var i in controls)
		{
			ctrl = controls[i];

			if(!ctrl || !ctrl.name || !BX.type.isString(ctrl.name))
			{
				continue;
			}

			if(ctrl.name.substring(0,11) != 'CONNECTOR_S')
			{
				continue;
			}

			currentParent = BX.findParent(ctrl, {"tag" : "div", "className": "connector_form"}, true);
			if(currentParent != elementParent)
			{
				continue;
			}

			if (ctrl.disabled)
			{
				continue;
			}

			var found = filteredControls.filter(function (filteredCtrl) {
				return filteredCtrl == ctrl;
			});
			if (found.length == 0)
			{
				filteredControls.push(ctrl);
			}
		}

		var arAjaxQueryFieldsData = [];
		for(var i = 0; i < filteredControls.length; i++)
		{
			ctrl = filteredControls[i];
			switch(ctrl.type.toLowerCase())
			{
				case 'text':
				case 'textarea':
				case 'password':
				case 'number':
				case 'hidden':
				case 'select-one':
					arAjaxQueryFieldsData.push({name: ctrl.name, value: ctrl.value});
					break;
				case 'file':
					break;
				case 'radio':
				case 'checkbox':
					if(ctrl.checked)
					{
						arAjaxQueryFieldsData.push({name: ctrl.name, value: ctrl.value});
					}
					break;
				case 'select-multiple':
					var multipleValues = [];
					for (var j = 0; j < ctrl.options.length; j++)
					{
						if (ctrl.options[j].selected)
						{
							multipleValues.push(ctrl.options[j].value);
						}
					}
					if (multipleValues.length > 0)
					{
						arAjaxQueryFieldsData.push({name : ctrl.name, value : multipleValues});
					}

					break;
				default:
					break;
			}
		}

		var arAjaxQueryFields = {};
		for(var k = 0; k < arAjaxQueryFieldsData.length; k++)
		{

			var _data = arAjaxQueryFieldsData[k];
			if(BX.type.isString(arAjaxQueryFields[_data.name]))
			{
				arAjaxQueryFields[_data.name] = [arAjaxQueryFields[_data.name]];
			}

			if(BX.type.isArray(arAjaxQueryFields[_data.name]))
			{
				if(!BX.util.in_array(_data.value, arAjaxQueryFields[_data.name]))
				{
					arAjaxQueryFields[_data.name].push(_data.value);
				}
			}
			else
			{
				arAjaxQueryFields[_data.name] = _data.value;
			}
		}

		var counter = BX.findChild(elementParent, {
			"className": "connector_form_counter"
		}, true);
		if(counter)
		{
			counter.innerHTML = '';
			BX.addClass(counter.parentNode, 'loading');
		}

		BX.ajax({
			url: 'sender_group_count.php',
			method: 'POST',
			data: arAjaxQueryFields,
			dataType: 'json',
			timeout: 30,
			async: true,
			processData: true,
			onsuccess: function(data){
				if(counter)
				{
					BX.removeClass(counter.parentNode, 'loading');
					counter.innerHTML = data.COUNT;
					ConnectorCounterSummary();
				}
			},
			onfailure: function(){
				var dialog = new BX.CDialog({
					height: 100,
					width: 500,
					'title': BX.message('GROUP_ADDRESS_CALC_TITLE'),
					'content': BX.message('GROUP_ADDRESS_CALC_TEXT'),
					'buttons': [BX.CDialog.prototype.btnClose]
				});
				dialog.ShowError(BX.message('GROUP_ADDRESS_CALC_ERROR'));
				dialog.Show();
				if(counter)
				{
					BX.removeClass(counter.parentNode, 'loading');
					counter.innerHTML = BX.message('GROUP_ADDRESS_CALC_ERROR').toLowerCase();
				}
			}
		});

	}

	function addNewConnector()
	{
		var name = connectorListToAdd[BX('connector_list_to_add').value]['NAME'];
		var htmlForm = connectorListToAdd[BX('connector_list_to_add').value]['FORM'];
		htmlForm = htmlForm.replace(new RegExp("%CONNECTOR_NUM%",'g'), (Math.floor(Math.random() * (10000 - 100 + 1)) + 100) );

		var html = ConnectorGetHtmlForm({'%CONNECTOR_NAME%':  name, '%CONNECTOR_COUNT%':  '0', '%CONNECTOR_FORM%':  htmlForm});

		var parsedHtml = BX.processHTML(html);


		var newParentElement = document.createElement('div');
		newParentElement.innerHTML = parsedHtml.HTML;

		var newConnectorNode = BX.findChild(newParentElement, {'tag': 'div'});
		var connector_form_container = BX('connector_form_container');
		newConnectorNodeDisplay = newConnectorNode.style.display;
		newConnectorNode.style.display = 'none';

		connector_form_container.insertBefore(newConnectorNode, connector_form_container.firstChild);
		if(parsedHtml.SCRIPT.length>0)
		{
			var script;
			for(var i in parsedHtml['SCRIPT'])
			{
				script = parsedHtml['SCRIPT'][i];
				BX.evalGlobal(script.JS);
			}
		}

		ConnectorSettingShowToggle(false, newConnectorNode);

		var easing = new BX.easing({
			duration : 500,
			start : { height : 0, opacity : 0 },
			finish : { height : 100, opacity: 100 },
			transition : BX.easing.transitions.quart,
			step : function(state){
				newConnectorNode.style.opacity = state.opacity/100;
				newConnectorNode.style.display = newConnectorNodeDisplay;
			},
			complete : function() {
			}
		});
		easing.animate();

		ConnectorSettingGetCount(null, newConnectorNode);
		ConnectorSettingWatch();
	}

	function ConnectorCounterSummary()
	{
		var cnt = 0;
		var cntSummary = 0;
		var findContainer = BX('connector_form_container');
		var counterList = BX.findChildren(findContainer, {"className": "connector_form_counter"}, true);

		for(var i in counterList)
		{
			cnt = parseInt(counterList[i].innerHTML);
			if(!isNaN(cnt))
				cntSummary += cnt;
		}

		BX('sender_group_address_counter').innerHTML = cntSummary;
	}


	function SetAddressToControl(controlName, address, bAdd)
	{
		var control = BX(controlName);
		if(bAdd)
			control.value += address;
		else
			control.value = address;
	}
	function ProcessAddressToControl(controlName, address, deleteAddress)
	{
		address = BX.util.trim(address);
		var control = BX(controlName);
		var addressList = [];
		var addressListNew = [];
		if(control.value)
			addressList = control.value.split(',');

		var bFind = false;
		for(var addr in addressList)
		{
			addressFromList = BX.util.trim(addressList[addr]);

			if(addressFromList == address)
			{
				bFind = true;
				if(!deleteAddress)
					addressListNew.push(addressFromList);
			}
			else
			{
				addressListNew.push(addressFromList);
			}
		}

		if(!bFind && !deleteAddress)
			addressListNew.push(address);

		control.value = addressListNew.join(', ');
	}
	function DeleteAddressFromControl(controlName, address)
	{
		ProcessAddressToControl(controlName, address, true)
	}
	function AddAddressToControl(controlName, address)
	{
		ProcessAddressToControl(controlName, address, false)
	}

	function SetSendType()
	{
		var sendType = BX('chain_send_type').value;
		var typeContList = BX.findChildren(
			BX('chain_send_type_list_container'),
			{'className': 'sender-box-list-item'},
			true
		);
		for(var i in typeContList){
			if(typeContList[i].id != 'chain_send_type_'+sendType)
				typeContList[i].style.display = 'none';
			else
				typeContList[i].style.display = 'block';
		}

		BX('SEND_TYPE').value = sendType;
		BX('sender_wizard_chain_send_type_btn').disabled = true;
		BX('chain_send_type').disabled = true;
	}

	function DeleteSelectedSendType(obj)
	{
		BX.findParent(obj, {'className':'sender-box-list-item'}).style.display='none';
		BX('SEND_TYPE').value = '';
		BX('sender_wizard_chain_send_type_btn').disabled = false;
		BX('chain_send_type').disabled = false;
	}

	function SenderLetter()
	{
		var id;
		var container;
		var isBlockCurrentEditorVersion;
		var editorBlockContainer;


		this.init = function(params)
		{
			this.container = BX(params.container);
			var container = BX.findChild(this.container, {'className': 'typearea'}, true);
			this.id = container.getAttribute('name');
			this.textareaId = container.getAttribute('name');
			this.editorBlockContainer = BX('bx-sender-block-editor-' + this.id);

			var _this = this;

			var childList, child, i;

			_this.changeTemplateList('BASE');

			child = BX.findChild(this.container, {'className': 'sender-template-btn-close'}, true);
			if(child)
			{
				BX.bind(child, 'click', function()
				{
					BX.onCustomEvent(_this.container, 'onSenderMailingTemplateListHide');
				});
			}

			childList = BX.findChildren(this.container, {'className': 'sender-template-type-selector-button'}, true);
			for(i in childList)
			{
				if(!childList[i]) continue;

				child = childList[i];
				BX.bind(child, 'click', function()
				{
					var bxsendertype = 'BASE';
					if(this.getAttribute && this.getAttribute('data-bx-sender-tmpl-type'))
					{
						bxsendertype = this.getAttribute('data-bx-sender-tmpl-type');
					}

					_this.changeTemplateList(bxsendertype);
				});
			}

			childList = BX.findChildren(this.container, {'className': 'sender-template-list-block-selector'}, true);
			for(i in childList)
			{
				if(!childList[i]) continue;

				child = childList[i];
				BX.bind(child, 'click', function()
				{
					var bxsenderversion = 'block', bxsendername = '', bxsendertype = 'BASE', bxsendernum = 0, bxsenderlang = '';
					if(this.getAttribute && this.getAttribute('data-bx-sender-tmpl-type'))
					{
						bxsenderversion = this.getAttribute('data-bx-sender-tmpl-version');
						bxsendername = this.getAttribute('data-bx-sender-tmpl-name');
						bxsendertype = this.getAttribute('data-bx-sender-tmpl-type');
						bxsendernum = this.getAttribute('data-bx-sender-tmpl-code');
						bxsenderlang = this.getAttribute('data-bx-sender-tmpl-lang');
					}

					_this.setTemplate({'lang': bxsenderlang, 'version': bxsenderversion, 'name': bxsendername, 'type': bxsendertype, 'num': bxsendernum});
				});
			}

			childList = BX.findChildren(this.container, {'className': 'sender-template-message-caption-container-btn'}, true);
			for(i in childList)
			{
				if(!childList[i]) continue;

				child = childList[i];
				BX.bind(child, 'click', function()
				{
					BX.onCustomEvent(_this.container, 'onSenderMailingTemplateListShow');
				});
			}

			childList = BX.findChildren(this.container, {'className': 'sender-template-message-preview-btn'}, true);
			for(i in childList)
			{
				if(!childList[i]) continue;

				child = childList[i];
				BX.bind(child, 'click', function()
				{
					if(this.getAttribute && this.getAttribute('data-bx-sender-tmpl-type'))
					{
						var bxsendertype = this.getAttribute('data-bx-sender-tmpl-type');
						var bxsendernum = this.getAttribute('data-bx-sender-tmpl-code');
						var bxsenderlang = this.getAttribute('data-bx-sender-tmpl-lang');
						var url = '/bitrix/admin/sender_template_admin.php?action=get_template';
						url = url + '&lang=' + bxsenderlang + '&template_type=' + bxsendertype + '&template_id=' + bxsendernum;
						BX.util.popup(url, 800, 800);
					}
				});
			}

			return this;
		};

		this.setTemplateContainer = function(container)
		{
			this.container = BX(container);

			return this;
		};


		this.onSetTemplate = function(func)
		{
			BX.addCustomEvent(this.container, 'onSenderMailingTemplateSet', func);
		};

		this.setTemplate = function(param)
		{
			if(!this.container) return;

			BX.onCustomEvent(this.container, 'onSenderMailingTemplateSet');

			var canSaveContent = false;
			var isBlockEditorShow = this.editorBlockContainer.style.display !== 'none';
			var isBlockEditorNeedShow = param.version !== 'visual';
			var isExistsMessage = !!BX(this.getTextAreaAttributeId()).value;
			if((isBlockEditorNeedShow && isBlockEditorShow))
			{
				canSaveContent = true;
			}
			if(!isExistsMessage || canSaveContent || confirm(BX.message("SENDER_SHOW_TEMPLATE_LIST")))
			{
				//var letterManager = new SenderLetterManager;
				//letterManager.setContent(this.id, param.version, param.type, param.num);
				this.setContent(this.textareaId, param.version, param.type, param.num, param.lang);

				var containerTemplateCaption = BX.findChild(this.container, {'className': 'sender-template-message-caption-container'}, true);
				if (containerTemplateCaption) containerTemplateCaption.innerText = param.name;

				return true;
			}
			else
			{
				return false;
			}
		};

		this.changeTemplateList = function(type)
		{
			if(!this.container) return;

			container = BX.findChild(this.container, {'className': 'sender-template-cont'}, true);
			if(!container) return;

			var tmplTypeContList = BX.findChildren(container, {'className': 'sender-template-list-type-container'}, true);
			for(var i in tmplTypeContList)
				tmplTypeContList[i].style.display = 'none';

			var typeContainer = BX.findChild(container, {'className': 'sender-template-list-type-container-'+type}, true);
			typeContainer.style.display = 'block';

			var buttonList = BX.findChildren(container, {'className': 'sender-template-type-selector-button'}, true);
			for(var j in buttonList)
			{
				if(!BX.hasClass(buttonList[j], 'sender-template-type-selector-button-type-'+type))
					BX.removeClass(buttonList[j], 'sender-template-type-selector-button-selected');
				else
					BX.addClass(buttonList[j], 'sender-template-type-selector-button-selected');
			}
		};

		this.getHtmlEditor = function()
		{
			var container = BX.findChild(this.container, {'className': 'typearea'}, true);
			var name = container.getAttribute('name');

			return window.BXHtmlEditor.Get(name);
		};

		this.getTextAreaAttributeId = function()
		{
			var container = BX.findChild(this.container, {'className': 'typearea'}, true);
			return container.getAttribute('id');
		};

		this.putMessage = function(str, bChangeAllContent)
		{
			var bMessageHtmlEditorVisible = false;

			if(!this.container) return;

			var id = this.getTextAreaAttributeId();

			var messageHtmlEditor;
			if(window.BXHtmlEditor)
				messageHtmlEditor = this.getHtmlEditor();

			var messageContainer = BX(id);

			if(messageHtmlEditor) bMessageHtmlEditorVisible = messageHtmlEditor.IsShown();

			if(bMessageHtmlEditorVisible)
			{
				if(bChangeAllContent)
				{
					messageHtmlEditor.SetContent(str, true);
				}
				else
				{
					messageHtmlEditor.InsertHtml(str);
				}
			}
			else
			{
				if(bChangeAllContent)
				{
					messageContainer.value = str;
				}
				else
				{
					messageContainer.value += str;
				}


				BX.fireEvent(messageContainer, 'change');
			}
		};

		this.setContent = function(id, version, type, num, lang)
		{
			var url = '/bitrix/admin/sender_template_admin.php?action=get_template';
			url = url + '&lang=' + lang + '&template_type=' + type + '&template_id=' + num;

			var blockContainer = BX('bx-sender-block-editor-' + id);
			var typeInput = blockContainer.querySelector('input[name*="TEMPLATE_TYPE"]');
			var idInput = blockContainer.querySelector('input[name*="TEMPLATE_ID"]');

			if(version == 'block')
			{
				if(typeInput && idInput)
				{
					typeInput.value = type;
					idInput.value = num;
				}

				var blockEditor = BX.BlockEditorManager.get(id);
				blockEditor.load(url);
				this.switchView(id, true);
			}
			else
			{
				BX.ajax({
					'url': url,
					'method': 'GET',
					'dataType': 'html',
					'data': {},
					'onsuccess': BX.delegate(function(content)
					{
						if(typeInput && idInput)
						{
							typeInput.value = '';
							idInput.value = '';
						}

						this.putMessage(content, true);
						this.switchView(id, false);
					}, this)
				});
			}
		};

		this.switchView = function(id, isShowBlock)
		{
			var block = BX('bx-sender-block-editor-' + id);
			var visual = BX('bx-sender-visual-editor-' + id);
			var htmlEditor = BXHtmlEditor.Get(id);

			if(isShowBlock)
			{
				block.style.display = 'block';
				visual.style.display = 'none';
				if(htmlEditor) htmlEditor.Hide();
			}
			else
			{
				visual.style.display = 'block';
				if(htmlEditor) htmlEditor.Show();
				block.style.display = 'none';
			}

			this.isBlockCurrentEditorVersion = isShowBlock;
		};
	}

	function SenderLetterManager()
	{
		if (SenderLetterManager.instance)
		{
			return SenderLetterManager.instance;
		}

		this.list = {};
		this.placeHolderList = {};

		this.onPlaceHolderSelectorListCreate = function (placeHolderSelectorList)
		{
			placeHolderSelectorList.placeHolderList = this.getPlaceHolderList();
		};
		this.onGetControlsMap = function(controlsMap)
		{
			controlsMap.push({
				id: 'placeholder_selector',
				compact: true,
				hidden: false,
				sort: 1,
				checkWidth: false,
				offsetWidth: 32
			});
		};
		this.onEditorInitedBefore = function(editor)
		{
			BX.addCustomEvent(
				editor,
				"PlaceHolderSelectorListCreate",
				this.onPlaceHolderSelectorListCreate.bind(this)
			);
			BX.addCustomEvent(
				editor,
				"GetControlsMap",
				this.onGetControlsMap.bind(this)
			);
		};

		this.onEditorParse = function(mode)
		{
			//if (!mode) this.content = 'test';
		};

		this.onEditorAfterParse = function(editor, mode)
		{
			//if (!mode) editor.content = 'test';
		};

		this.onEditorInitedAfter = function(editor)
		{
			editor.components.SetComponentIcludeMethod('EventMessageThemeCompiler::includeComponent');

			//BX.addCustomEvent(editor, "OnParse", this.onEditorParse.bind(editor));
			//BX.addCustomEvent(editor, "OnAfterParse", this.onEditorAfterParse.bind(editor, editor));
		};

		this.add = function(id, params)
		{
			var obj = new SenderLetter;
			obj.id = id;
			obj.init(params);

			this.list[id] = obj;

			return obj;
		};

		this.get = function(id)
		{
			if(this.list[id])
				return this.list[id];
			else
				return null;
		};

		this.onSetTemplate = function(func)
		{
			BX.addCustomEvent('onSenderMailingTemplateSet', func);
		};

		this.onShowTemplateList = function(func)
		{
			BX.addCustomEvent('onSenderMailingTemplateListShow', func);
		};
		this.onHideTemplateList = function(func)
		{
			BX.addCustomEvent('onSenderMailingTemplateListHide', func);
		};

		this.setPlaceHolderList = function(placeHolderList){
			this.placeHolderList = placeHolderList;
		};
		this.getPlaceHolderList = function(){
			return this.placeHolderList;
		};

		BX.addCustomEvent('OnEditorInitedBefore', this.onEditorInitedBefore.bind(this));
		BX.addCustomEvent('OnEditorInitedAfter', this.onEditorInitedAfter.bind(this));

		SenderLetterManager.instance = this;
	}

	function SenderLetterContainer(params)
	{
		if (SenderLetterContainer.instance)
		{
			return SenderLetterContainer.instance;
		}

		this.deleteItem = function (elementDelete)
		{
			var easing = new BX.easing({
				duration : 500,
				start : { height : 100, opacity: 100 },
				finish : { height : 0, opacity : 0 },
				transition : BX.easing.transitions.quart,
				step : function(state){
					elementDelete.style.opacity = state.opacity/100;
				},
				complete : BX.delegate(function() {
					this.removeDraggableItem(elementDelete);
					BX.remove(elementDelete);
					this.sortItems();
				}, this)
			});
			easing.animate();
		};

		this.addItem = function (obj)
		{
			formContainer = this.container;

			var num = (Math.floor(Math.random() * (10000 - 100 + 1)) + 100);
			var message = letterTemplate.FIELDS.MESSAGE;
			message = message.replace(new RegExp("SENDER_LETTER_TEMPLATE_MESSAGE",'g'), 'CHAIN_MESSAGE_'+num );
			message = message.replace(new RegExp("sender_letter_template_message",'g'), 'chain_message_'+num );
			message = message.replace(new RegExp("%SENDER_LETTER_TEMPLATE_BODY_NUM%",'g'), num );
			var htmlForm = letterTemplate.BODY.replace(new RegExp("%SENDER_LETTER_TEMPLATE_BODY_NUM%",'g'), num );
			htmlForm = htmlForm.replace(new RegExp("%SENDER_LETTER_TEMPLATE_MESSAGE%",'g'), message );

			var parsedHtml = BX.processHTML(htmlForm);

			var newParentElement = document.createElement('div');
			newParentElement.innerHTML = parsedHtml.HTML;
			var newNode = BX.findChild(newParentElement, {'tag': 'div'});

			var target;
			if(obj)
				target = BX.findNextSibling(obj);

			newNode.style.display = 'none';
			if(target)
			{
				formContainer.insertBefore(newNode, target);
			}
			else
			{
				formContainer.appendChild(newNode);
			}

			this.addListenerControlItem(newNode);
			this.setTimeText(newNode);
			this.addDraggableItem(newNode);

			this.sortItems();

			var easing = new BX.easing({
				duration : 500,
				start : { height : 0, opacity : 0 },
				finish : { height : 100, opacity: 100 },
				transition : BX.easing.transitions.quart,
				step : function(state){
					newNode.style.opacity = state.opacity/100;
					newNode.style.display = 'block';
				},
				complete : function() {
				}
			});
			easing.animate();


			if(parsedHtml.SCRIPT.length>0)
			{
				var script;
				for(var i in parsedHtml['SCRIPT'])
				{
					script = parsedHtml['SCRIPT'][i];
					BX.evalGlobal(script.JS);
				}
			}
		};

		this.toggleShow = function (body, button, item, isShow)
		{
			if(!body && item)
			{
				body = item.querySelector('.sender_letter_container_body');
			}
			if(!button && item)
			{
				button = item.querySelector('.sender_letter_container_button_show');
			}

			if(body && button)
			{
				if(isShow === null)
				{
					if(body.style.display == 'none')
						isShow = true;
					else
						isShow = false;
				}

				BX.removeClass(button, 'sender_letter_container_button_hide');
				if(isShow)
				{
					body.style.display = '';
					button.innerHTML = BX.message("SENDER_MAILING_TRIG_LETTER_MESSAGE_HIDE");
					BX.addClass(button, 'sender_letter_container_button_hide');
				}
				else
				{
					body.style.display = 'none';
					button.innerHTML = BX.message("SENDER_MAILING_TRIG_LETTER_MESSAGE_SHOW");
				}

			}
		};

		this.addListenerControlItem = function(item)
		{
			if(!item || !item.querySelector)
				return;

			var buttonToggleShow = item.querySelector('.sender_letter_container_button_show');
			var contToggleShow = item.querySelector('.sender_letter_container_body');
			if(buttonToggleShow && contToggleShow)
			{
				BX.bind(buttonToggleShow, 'click', BX.delegate(function(){
					this.toggleShow(contToggleShow, buttonToggleShow, null, null);
				}, this));
			}

			var buttonDeleteItem = item.querySelector('.sender_letter_container_button_delete');
			if(buttonDeleteItem)
			{
				BX.bind(buttonDeleteItem, 'click', BX.delegate(function(){
					this.deleteItem(item);
				}, this));
			}

			var subject = item.querySelector('.sender_letter_container_subject');
			var caption = item.querySelector('.sender_letter_container_caption');
			if(subject && caption)
			{
				BX.bind(subject, 'input', function(){
					caption.textContent = subject.value;
				});
				BX.bind(subject, 'change', function(){
					caption.textContent = subject.value;
				});
			}

			var showTimeDialogButton = item.querySelector('.sender_letter_container_time_button');
			if(showTimeDialogButton)
			{
				BX.bind(showTimeDialogButton, 'click', BX.delegate(function(){
					this.showTimeDialog(item, showTimeDialogButton);
				}, this));
			}
		};

		this.initListenerControls = function()
		{
			var itemList = this.container.children;
			for(var i in itemList)
			{
				this.addListenerControlItem(itemList[i]);
			}
		};

		this.addDraggableItem = function(item)
		{
			if(!this.dragdrop) return;
			this.dragdrop.addSortableItem(item);
			this.dragdrop.bindDragItem([item]);
		};

		this.removeDraggableItem = function(item)
		{
			if(!this.dragdrop) return;
			this.dragdrop.removeSortableItem(item);
		};

		this.initDraggableItems = function()
		{
			//var itemList = this.container.children;
			var _this = this;
			this.dragdrop = BX.DragDrop.create({
				dragItemClassName: 'sender-trigger-chain-container-letter',
				dragItemControlClassName: 'sender_letter_container_head',
				sortable: {
					rootElem: BX('SENDER_TRIGGER_CHAIN_CONTAINER'),
					gagClass: 'senderdrag',
					gagHtml: ''
				},
				dragStart: function(eventObj, dragElement, event){
					_this.toggleShow(null, null, dragElement, false);
					BX.addClass(_this.container, 'sendercontdrag');
				},
				dragEnd: function(eventObj, dragElement, event){
					BX.removeClass(_this.container, 'sendercontdrag');
					_this.sortItems();
					_this.initTimeText();
					//_this.toggleShow(null, null, dragElement, true);
					_this.repairEditor(dragElement);
				}
			});
		};

		this.repairEditor = function(item)
		{
			var container = BX.findChild(item, {'className': 'typearea'}, true);
			var id, name;
			var attr;
			for(var i in container.attributes)
			{
				if (!container.attributes[i]) continue;
				attr = container.attributes[i];

				if(attr.nodeName == 'id')
					id = attr.nodeValue;
				else if(attr.nodeName == 'name')
					name = attr.nodeValue;
			}

			var messageHtmlEditor;
			if(window.BXHtmlEditor)
				messageHtmlEditor = window.BXHtmlEditor.Get(name);

			var messageContainer = BX(id);
			if(!messageHtmlEditor)
			{
				return;
			}

			setTimeout(
				function(){
					messageHtmlEditor.CheckAndReInit();
				}, 100
			);
		};

		this.initTimeText = function()
		{
			var itemList = this.container.children;
			for(var i in itemList)
			{
				this.setTimeText(itemList[i]);
			}

		};

		this.sortItems = function()
		{
			var itemList = this.container.children;
			var elementSort;
			var elementSortText;

			var sort = 1;
			for(var i in itemList)
			{
				if(!itemList[i] || !itemList[i].querySelectorAll)
					continue;

				elementSort = itemList[i].querySelector('input.sender_letter_container_sorter[type=hidden]');
				elementSortText = itemList[i].querySelector('.sender_letter_container_sorter_text');
				if(elementSort && elementSortText)
				{
					elementSort.value = sort;
					elementSortText.innerHTML = sort;

					sort++;
				}
			}
		};

		this.showTimeDialog = function(item, button)
		{
			var popupWindow = BX.PopupWindowManager.create(
				'sender-letter-container-time-dialog',
				button,
				{
					'darkMode': false,
					'closeIcon': true,
					'content': BX('SENDER_TIME_DIALOG'),
					'className': 'adm-workarea'
				}
			);
			popupWindow.close();
			popupWindow.setBindElement(button);

			var btnTimeCancel = BX('SENDER_TIME_DIALOG_BTN_CANCEL');
			var btnTimeSave = BX('SENDER_TIME_DIALOG_BTN_SAVE');

			popupWindow.close();

			BX.unbindAll(btnTimeCancel);
			BX.bind(btnTimeCancel, 'click', function(){popupWindow.close();});

			BX.unbindAll(btnTimeSave);
			BX.bind(btnTimeSave, 'click', BX.delegate(function(){
				this.setTimeItem(item);
				this.setTimeText(item);
				popupWindow.close();
			}, this));

			this.setTimeToDialog(item);
			popupWindow.show();
		};

		this.setTimeText = function(item)
		{
			if(!item || !item.querySelector)
				return;

			var time = item.querySelector('.sender_letter_container_time');
			var timeText = item.querySelector('.sender_letter_container_time_text');
			var timeAfterEvent = item.querySelector('.sender_letter_container_time_text_first');
			var timeAfterLetter = item.querySelector('.sender_letter_container_time_text_nonfirst');

			var timeObj = this.convertTime(time.value);

			timeText.innerHTML = timeObj.VALUE + ' ' + timeObj.TEXT;
			if(this.container.children[0] == item)
			{
				BX(timeAfterEvent).style.display = '';
				timeAfterLetter.style.display = 'none';
			}
			else
			{
				BX(timeAfterEvent).style.display = 'none';
				timeAfterLetter.style.display = '';
			}
		};

		this.setTimeToDialog = function(item)
		{
			if(!item || !item.querySelector)
				return;

			var dlgTimeType = BX('SENDER_TIME_DIALOG_TYPE');
			var dlgTimeValue = BX('SENDER_TIME_DIALOG_VALUE');
			var time = item.querySelector('.sender_letter_container_time');
			var timeObj = this.convertTime(time.value);

			dlgTimeType.value = timeObj.TYPE;
			dlgTimeValue.value = timeObj.VALUE;
		};

		this.setTimeItem = function(item)
		{
			if(!item || !item.querySelector)
				return;

			var dlgTimeType = BX('SENDER_TIME_DIALOG_TYPE');
			var dlgTimeValue = BX('SENDER_TIME_DIALOG_VALUE');
			var time = item.querySelector('.sender_letter_container_time');

			time.value = this.convertTime(null, {'TYPE': dlgTimeType.value, 'VALUE': dlgTimeValue.value});
		};

		this.convertTime = function(minutes, timeObj)
		{
			var i;
			if(minutes !== null)
			{
				minutes = parseInt(minutes);
				if(isNaN(minutes) || minutes == 0)
					minutes = 0;

				if(minutes != 0) for(i in dictionarySenderTime)
				{
					if((minutes % dictionarySenderTime[i].VALUE) === 0)
					{
						return {
							'TYPE': dictionarySenderTime[i].TYPE,
							'VALUE': minutes/dictionarySenderTime[i].VALUE,
							'TEXT': dictionarySenderTime[i].TEXT
						};
					}
				}

				var result = dictionarySenderTime[dictionarySenderTime.length-1];
				return {
					'TYPE': result.TYPE,
					'VALUE': 0,
					'TEXT': result.TEXT
				};
			}
			else
			{
				var value = parseInt(timeObj.VALUE);
				if(isNaN(value))
					value = 0;

				for(i in dictionarySenderTime)
				{
					if(dictionarySenderTime[i].VALUE && dictionarySenderTime[i].TYPE == timeObj.TYPE)
					{
						return value * dictionarySenderTime[i].VALUE;
					}
				}

				return 0;
			}
		};

		this.container = params.container;
		this.initListenerControls();
		this.initTimeText();
		this.initDraggableItems();

		SenderLetterContainer.instance = this;
	}b24_license.min.js000064400000001134147722313310007757 0ustar00(function(){BX.namespace("BX.Sender");BX.Sender.B24License={getTitle:function(e){return BX.message("SENDER_B24_LICENSE_"+e.toUpperCase()+"_TITLE")},getText:function(e){var t="SENDER_B24_LICENSE_%code%_TEXT".replace("%code%",e.toUpperCase());var i=BX.message(t);if(!i){i=BX.message(t+"1")}return i},showDefaultPopup:function(){this.showPopup("Ad")},showMailLimitPopup:function(){this.showPopup("Mail_limit")},showPopup:function(e){if(!B24||!B24.licenseInfoPopup){return}B24.licenseInfoPopup.show(e,this.getTitle(e),"<span>"+(this.getText(e)?this.getText(e):this.getText("Ad"))+"</span>",true)}}})(window);b24_license.js000064400000001540147722313310007176 0ustar00;(function () {

	BX.namespace('BX.Sender');

	BX.Sender.B24License = {
		getTitle: function (code)
		{
			return BX.message('SENDER_B24_LICENSE_' + code.toUpperCase() + '_TITLE');
		},
		getText: function (code)
		{
			var messageCode = 'SENDER_B24_LICENSE_%code%_TEXT'.replace('%code%', code.toUpperCase());
			var mess = BX.message(messageCode);
			if (!mess)
			{
				mess = BX.message(messageCode + '1');
			}

			return mess;
		},
		showDefaultPopup: function ()
		{
			this.showPopup('Ad');
		},
		showMailLimitPopup: function ()
		{
			this.showPopup('Mail_limit');
		},
		showPopup: function (code)
		{
			if (!B24 || !B24.licenseInfoPopup)
			{
				return;
			}

			B24.licenseInfoPopup.show(
				code,
				this.getTitle(code),
				'<span>' + (this.getText(code) ? this.getText(code) : this.getText('Ad')) + '</span>',
				true
			);
		}
	};

})(window);toloka/config.php000066400000000361147722313310010020 0ustar00<?

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
	die();
}

return [
	'css' => 'dist/toloka.bundle.css',
	'js' => 'dist/toloka.bundle.js',
	'rel' => [
		'main.polyfill.core',
		'main.popup',
	],
	'skip_core' => true,
];toloka/bundle.config.js000066400000000150147722313310011111 0ustar00module.exports = {
	input: 'src/toloka.js',
	output: 'dist/toloka.bundle.js',
	namespace: 'BX.Sender'
};toloka/src/toloka.js000066400000030416147722313310010464 0ustar00import Autocomplete from './autocomplete/autocomplete';
import { Popup } from 'main.popup';

export class Toloka
{
	#page = BX.Sender.Page;
	#helper = BX.Sender.Helper;
	#context;
	#actionUri;
	#isFrame;
	#prettyDateFormat;
	#isSaved;
	#isRegistered;
	#isOutside;
	#mess;
	#letterTile;
	#selectorNode;
	#editorNode;
	#titleNode;
	#loginNode;
	#formNode;
	#oauthCodeNode;
	#filterNode;
	#filterData;
	#filterId;
	#filter;
	#ajaxAction;
	#messageFields = null;
	#templateChangeButton;
	#buttonsNode;
	#templateNameNode;
	#templateTypeNode;
	#templateIdNode;
	#templateData;
	#preset;
	#REGION_BY_IP = 'REGION_BY_IP';
	#REGION_BY_PHONE = 'REGION_BY_PHONE';

	constructor()
	{
	}

	static create(settings)
	{
		const self = new Toloka();
		self.initialize(settings);
		return self;
	}

	bindEvents()
	{
		this._expireInNode.addEventListener('change', this.validateRequiredFields.bind(this));
		if (BX.Sender.Template && BX.Sender.Template.Selector)
		{
			const selector = BX.Sender.Template.Selector;
			BX.addCustomEvent(selector, selector.events.templateSelect, this.onTemplateSelect.bind(this));
			BX.addCustomEvent(selector, selector.events.selectorClose, this.closeTemplateSelector.bind(this));
		}

		if (this.#filterNode)
		{
			BX.bind(
				this.#filterNode,
				'click',
				this.initAddressWidget.bind(this, this.#REGION_BY_IP)
			);
			BX.bind(
				this.#filterNode,
				'click',
				this.initAddressWidget.bind(this, this.#REGION_BY_PHONE)
			);
		}

		if(this._saveBtn)
		{
			BX.bind(
				this._saveBtn,
				'click',
				this.applyChanges.bind(this)
			);
		}

		if (this.#templateChangeButton)
		{
			BX.bind(this.#templateChangeButton, 'click', this.showTemplateSelector.bind(this));
		}

		if (this.#isSaved)
		{
			top.BX.onCustomEvent(top, 'sender-letter-edit-change', [this.letterTile]);
			this.#page.slider.close();

			if (this.#isOutside)
			{
				BX.UI.Notification.Center.notify({
					content: this.#mess.outsideSaveSuccess,
					autoHideDelay: 5000
				});
			}
		}
	}

	initialize(params)
	{
		this.#context = BX(params.containerId);
		this.#filterData = [];
		this.#filterData[this.#REGION_BY_IP] = {
			region: []
		};
		this.#filterData[this.#REGION_BY_PHONE] = {
			region: []
		};

		this.#filterId = 'toloka-filter-connector';
		this.#filterNode = document.getElementById(`${this.#filterId}_search_container`);
		this.#filter = this.getFilter();
		this.#templateChangeButton = BX('SENDER_TOLOKA_BUTTON_CHANGE');
		this.#helper.changeDisplay(this.#templateChangeButton, false);

		this.#actionUri = params.actionUri;
		this.#ajaxAction = new BX.AjaxAction(this.#actionUri);
		this.#isFrame = params.isFrame || false;
		this.#prettyDateFormat = params.prettyDateFormat;
		this.#isSaved = params.isSaved || false;
		this.#isRegistered = params.isRegistered || false;
		this.#isOutside = params.isOutside || false;
		this.#mess = params.mess;
		this.#letterTile = params.letterTile || {};
		this.#templateData = [];
		this.#messageFields = this.objectKeysToLowerCase(JSON.parse(params.preset));

		this.prepareNodes();
		this.buildDispatchNodes();

		this._filterNode = [];
		this._regionInput = [];
		this._autocomplete = [];
		this.bindEvents();

		this.#helper.titleEditor.init({
			dataNode: this.#titleNode,
			disabled: false,
			defaultTitle: this.getPatternTitle(this.#mess.name)
		});

		this.#page.initButtons();

		if (this.isMSBrowser())
		{
			this.#context.classList.add('bx-sender-letter-ms-ie');
		}

		if (!this.#isRegistered)
		{
			this.#loginNode.style = '';
			this.#formNode.style = 'display:none;';
		}
	}

	prepareNodes()
	{
		this.#selectorNode = this.#helper.getNode('template-selector', this.#context);
		this.#editorNode = this.#helper.getNode('editor', this.#context);
		this.#titleNode = this.#helper.getNode('title', this.#context);
		this.#loginNode = this.#helper.getNode('login', this.#context);
		this.#formNode = this.#helper.getNode('sender-toloka-form', this.#context);
		this.#oauthCodeNode = this.#helper.getNode('toloka-oauth-code', this.#context);

		this.#buttonsNode = this.#helper.getNode('letter-buttons', this.#context);
		this.#templateNameNode = this.#helper.getNode('template-name', this.#editorNode);
		this.#templateTypeNode = this.#helper.getNode('template-type', this.#editorNode);
		this.#templateIdNode = this.#helper.getNode('template-id', this.#editorNode);

		this._projectNode = document.getElementById('CONFIGURATION_PROJECT_ID');
		this._poolNode = document.getElementById('CONFIGURATION_POOL_ID');
		this._taskSuiteNode = document.getElementById('CONFIGURATION_TASK_SUITE_ID');
		this._descriptionNode = document.getElementById('CONFIGURATION_DESCRIPTION');
		this._instructionNode = document.getElementById('CONFIGURATION_INSTRUCTION');
		this._tasksNode = document.getElementById('CONFIGURATION_TASKS');
		this._overlapNode = document.getElementById('CONFIGURATION_OVERLAP');
		this._adultContentNode = document.getElementById('CONFIGURATION_ADULT_CONTENT');
		this._priceNode = document.getElementById('CONFIGURATION_PRICE');
		this._expireInNode = document.getElementById('CONFIGURATION_EXPIRE_IN');
		this._saveBtn = document.getElementById('ui-button-panel-save');


		this._projectNode.parentNode.parentNode.style = 'display:none';
		this._poolNode.parentNode.parentNode.style = 'display:none';
		this._taskSuiteNode.parentNode.parentNode.style = 'display:none';
	}

	initAddressWidget(name)
	{
		this._filterNode[name] = document.querySelectorAll(`div[data-name=${name}]`)[0];
		if (this._autocomplete[name])
		{
			return;
		}
		const self = this;

		this._autocomplete[name] = new Autocomplete(this._filterNode[name], {
			options: [],
			multiple: true,
			autocomplete: true,
			onChange: (value, preparedValue) => {
				self.#filterData[name] = value;
				this.#filter.getFieldByName(name).ITEMS = preparedValue;
				this.#filter.getFieldByName(name).VALUE = preparedValue;
			}
		});

		this._regionInput[name] = document.querySelectorAll(`input[data-name=autocomplete-${name}]`)[0];
		BX.bind(
			this._regionInput[name],
			'keyup',
			this.getLocationList.bind(this, name)
		);
	}

	register()
	{
		const self = this;
		this.#ajaxAction.request({
			action: 'registerOAuth',
			onsuccess: (response) => {
				self.#loginNode.style = 'display:none;';
				self.#formNode.style = '';
			},
			data: { 'access_code': this.#oauthCodeNode.value }
		});
	}

	isMSBrowser()
	{
		return window.navigator.userAgent.match(/(Trident\/|MSIE|Edge\/)/) !== null;
	}

	getPatternTitle(name)
	{
		return this.#helper.replace(
			this.#mess.patternTitle,
			{
				'name': name,
				'date': BX.date.format(this.#prettyDateFormat)
			}
		);
	}

	onTemplateSelect(template)
	{
		if (this.#templateNameNode)
		{
			this.#templateNameNode.textContent = template.name;
		}
		if (this.#templateTypeNode)
		{
			this.#templateTypeNode.value = template.type;
		}
		if (this.#templateIdNode)
		{
			this.#templateIdNode.value = template.code;
		}

		this.#messageFields = template.messageFields;

		this.buildDispatchNodes();
		this.#titleNode.value = this.getPatternTitle(template.name);

		BX.fireEvent(this.#titleNode, 'change');

		this.closeTemplateSelector();
		window.scrollTo(0, 0);
	}

	buildDispatchNodes()
	{
		const self = this;
		this.#helper.getNodes('dispatch', this.#context).forEach(node => {
			const code = node.getAttribute('data-code');
			for(const field in self.#messageFields)
			{
				if(!self.#messageFields.hasOwnProperty(field))
				{
					continue;
				}

				const data = self.#messageFields[field];
				if (data.code === code && node.innerHTML.length === 0)
				{
					node.innerHTML = data.value;
				}

				self.#templateData[data.code] = data.value;
			}
		});
	}

	closeTemplateSelector()
	{
		this.changeDisplayingTemplateSelector(false);
	}

	showTemplateSelector()
	{
		this.changeDisplayingTemplateSelector(true);
	}

	changeDisplayingTemplateSelector(isShow)
	{
		const classShow = 'bx-sender-letter-show';
		const classHide = 'bx-sender-letter-hide';
		this.#helper.changeClass(this.#selectorNode, classShow, isShow);
		this.#helper.changeClass(this.#selectorNode, classHide, !isShow);

		this.#helper.changeClass(this.#editorNode, classShow, !isShow);
		this.#helper.changeClass(this.#editorNode, classHide, isShow);

		this.#helper.changeDisplay(this.#templateChangeButton, !isShow);
		this.#helper.changeDisplay(this.#buttonsNode, !isShow);

		isShow ? this.#helper.titleEditor.disable() : this.#helper.titleEditor.enable();
	}

	objectKeysToLowerCase(origObj)
	{
		const self = this;
		if(origObj === null)
		{
			return origObj;
		}

		return Object.keys(origObj).reduce(function(newObj, key) {
			const val = origObj[key];
			newObj[key.toLowerCase()] = (typeof val === 'object') ? self.objectKeysToLowerCase(val) : val;
			return newObj;
		}, {})
	}

	getLocationList(name)
	{
		if (this._regionInput[name].value.length < 3)
		{
			return;
		}

		const self = this;
		this.#ajaxAction.request({
			action: 'getGeoList',
			data: {
				name: this._regionInput[name].value
			},
			onsuccess: function(response) {
				let data = [];

				for (const value in response)
				{
					const responseData = response[value];
					if (typeof responseData === 'object' && 'id' in responseData)
					{
						data.push(responseData);
					}
				}

				if (self._autocomplete[name])
				{
					self._autocomplete[name].setOptions(data);
				}
			}
		});
	}

	validateRequiredFields()
	{
		let success = true;

		[
			this._expireInNode,
			this._priceNode,
			this._tasksNode
		].every(element => {
			if(!this.validateField(element))
			{
				success = false;
				return false;
			}
		});

		if(!success)
		{
			this.removeLoader();
		}
		return success;
	}

	removeLoader()
	{
		this._saveBtn.classList.remove("ui-btn-wait");
	}

	validateField(field)
	{
		if(!this._validatorPopup)
		{
			this._validatorPopup = new Popup({
				id: "sender-toloka-validator",
				content: `${this.#mess.required}`,
			});
		}

		if(!field.value)
		{
			this._validatorPopup.setBindElement(field);
			this._validatorPopup.show();
			field.classList.add("bx-sender-form-control-danger");
			field.scrollIntoView();
			return false
		}
		this._validatorPopup.close();

		field.classList.remove("bx-sender-form-control-danger");
		return true;
	}

	createProject()
	{
		if(!this.validateRequiredFields())
		{
			return;
		}
		const input_key = Object.keys(this.#templateData['INPUT_VALUE'])[0];
		const output_key = Object.keys(this.#templateData['OUTPUT_VALUE'])[0];
		this.#ajaxAction.request({
			action: 'createProject',
			data: {
				id: this._projectNode.value,
				name: this.#titleNode.value,
				description: this._descriptionNode.value,
				instruction: this._instructionNode.value,
				input_type: this.#templateData['INPUT_VALUE'][input_key],
				input_identificator: input_key,
				output_type: this.#templateData['OUTPUT_VALUE'][output_key],
				output_identificator: output_key,
				markup: this.#templateData['PRESET'].template,
				script: this.#templateData['PRESET'].js,
				styles: this.#templateData['PRESET'].css
			},
			onsuccess: response => {
				this._projectNode.value = response.id;
				this.createPool(response.id);
			},
			onfailure: response => {
				this.removeLoader();
			}
		});
	}

	createPool(projectId)
	{
		const input_key = Object.keys(this.#templateData['INPUT_VALUE'])[0]
		this.#ajaxAction.request({
			action: 'createPool',
			data: {
				id: this._poolNode.value,
				task_suite_id: this._taskSuiteNode.value,
				project_id: projectId,
				private_name: this.#titleNode.value,
				public_description: this._descriptionNode.value,
				may_contain_adult_content: this._adultContentNode.checked,
				reward_per_assignment: this._priceNode.value,
				will_expire: this._expireInNode.value,
				overlap: this._overlapNode.value,
				tasks: this._tasksNode.value,
				identificator: input_key,
				filter: this.#filterData
			},
			onsuccess: response => {
				this._poolNode.value = response.pool_id;
				this._taskSuiteNode.value = response.id;

				const form = this.#context.getElementsByTagName('form');

				if (form && form[0])
				{
					form[0].appendChild(BX.create('input', {
						attrs: {
							type: "hidden",
							name: "apply",
							value: "Y"
						}
					}));

					form[0].submit();
				}
			},
			onfailure: response => {
				this.removeLoader();
			}
		});
	}

	applyChanges(event)
	{
		this.createProject();
	}

	getFilter()
	{
		const filter = BX.Main.filterManager.getById(this.#filterId);
		if (!filter || !(filter instanceof BX.Main.Filter))
		{
			return null;
		}

		return filter;
	}
}toloka/src/autocomplete/components/element.js000066400000003427147722313310015514 0ustar00const allowedAttributes = {
	value: "data-value",
	name: "data-name",
	disabled: "data-disabled",
	class: "class",
	type: "type"
};

class Element
{
	constructor(element, attributes = {}, i18n = {})
	{
		this._node = element instanceof HTMLElement ? element : document.createElement(element);
		this._config = { i18n };

		this._setAttributes(attributes);

		if (attributes.textContent)
		{
			this._setTextContent(attributes.textContent);
		}

		return this;
	}

	get()
	{
		return this._node;
	}

	append(element)
	{
		this._node.appendChild(element);
		return this;
	}

	addClass(className)
	{
		this._node.classList.add(className);
		return this;
	}

	removeClass(className)
	{
		this._node.classList.remove(className);
		return this;
	}

	toggleClass(className)
	{
		this._node.classList.toggle(className);
		return this;
	}

	addEventListener(type, callback)
	{
		this._node.addEventListener(type, callback);
		return this;
	}

	removeEventListener(type, callback)
	{
		this._node.removeEventListener(type, callback);
		return this;
	}

	setText(text)
	{
		this._setTextContent(text);
		return this;
	}

	getHeight()
	{
		return window.getComputedStyle(this._node).height;
	}


	getWidth()
	{
		return window.getComputedStyle(this._node).width;
	}

	setTop(top)
	{
		this._node.style.top = `${top}px`;
		return this;
	}

	focus()
	{
		this._node.focus();
		return this;
	}

	_setTextContent(textContent)
	{
		this._node.textContent = textContent;
	}

	_setAttributes(attributes)
	{
		for (const key in attributes)
		{
			if (allowedAttributes[key] && attributes[key])
			{
				this._setAttribute(allowedAttributes[key], attributes[key]);
			}
		}
	}

	_setAttribute(key, value)
	{
		this._node.setAttribute(key, value);
	}

	_getAttribute(key)
	{
		this._node.getAttribute(key);
	}
}

export default Element;
toloka/src/autocomplete/autocomplete.js000066400000022131147722313310014370 0ustar00import Element from "./components/element";
import "./css/autocomplete.css";
import { Popup } from 'main.popup';

const CLASSES = {
	select: "main-ui-control",
	dropdownShown: "autocomplete-select--opened",
	multiselect: "main-ui-multi-select",
	label: "main-ui-square-container",
	placeholder: "autocomplete-placeholder",
	dropdown: "popup-select-content",
	option: "main-ui-select-inner-item",
	remove: "main-ui-item-icon main-ui-square-delete",
	optionDisabled: "autocomplete-option--disabled",
	autocompleteInput: "main-ui-control main-ui-control-string",
	selectedLabel: "main-ui-square",
	selectedOption: "autocomplete-option--selected",
	placeholderHidden: "autocomplete-placeholder--hidden",
	optionHidden: "autocomplete-option--hidden"
};

class Autocomplete
{
	constructor(element, config)
	{
		this._config = {
			...config,
			classNames: {
				...CLASSES,
				...config.classNames
			},
			disabledOptions: []
		};
		this._state = {
			opened: false
		};
		this._icons = [];
		this._holderElement = element;

		this._boundHandleClick = this._handleClick.bind(this);
		this._boundUnselectOption = this._unselectOption.bind(this);
		this._boundSortOptions = this._sortOptions.bind(this);

		this._body = new Element(document.body);

		this._create(element);

		if (!this._config.value)
		{
			return;
		}
		this._setValue();
	}

	setOptions(data)
	{
		data.forEach(value => {
			let exists = false;
			this._config.options.forEach(option => {
				if (value.id === option.id)
				{
					exists = true;
				}
			});
			if (!exists)
			{
				this._config.options.push(value);
			}
		});
		this._options = this._generateOptions();
	}

	value()
	{
		return this._config.value;
	}

	reset()
	{
		this._config.value = this._config.multiple ? [] : null;
		this._setValue();
	}

	// Private methods
	_create(_element)
	{
		const element = typeof _element === "string" ? document.querySelector(_element) : _element;

		this._parent = new Element(element);

		const selector = element.querySelectorAll(
			`div[data-name=${element.dataset.name}]`
		)[0];
		let selectClone = selector.cloneNode(true);
		element.removeChild(selector);

		this._select = new Element(selectClone);
		this._label = new Element("span", { class: this._config.classNames.label });
		this._optionsWrapper = new Element("div", { class: this._config.classNames.dropdown });

		if (this._config.multiple)
		{
			this._select.addClass(this._config.classNames.multiselect);
		}

		this._options = this._generateOptions();

		this._select.addEventListener("click", this._boundHandleClick);
		this._select.append(this._label.get());

		let deleteButton = this._parent.get().parentNode.querySelectorAll('div.main-ui-control-value-delete');
		if(deleteButton.length > 0)
		{
			BX.bind(deleteButton[0], "click", this.reset.bind(this));
			this._select.append(deleteButton[0]);
		}

		this._parent.append(this._select.get());
		this._placeholder = new Element("div",
			{
				class: this._config.classNames.placeholder,
				textContent: this._config.placeholder
			}
		);
		this._select.append(this._placeholder.get());

		this._popup = new Popup({
			id: "autocomplete" + Math.random(),
			bindElement: _element,
			zIndex: 3000,
			width: 515,
			maxHeight: 300
		});

		this._popup.setContent(this._optionsWrapper.get());
	}

	_generateOptions()
	{
		if (this._config.autocomplete && !this._autocomplete)
		{
			this._autocomplete = new Element("input", {
				class: this._config.classNames.autocompleteInput,
				name: `autocomplete-${this._parent.get().dataset.name}`,
				type: "text"
			});
			this._autocomplete.addEventListener("input", this._boundSortOptions);

			this._optionsWrapper.append(this._autocomplete.get());
		}

		return this._config.options.map(_option => {
			let preOption =
				document
					.querySelectorAll(
						`div.${this._config.classNames.option}[data-value="${_option.id}"]`
					);
			if (preOption.length > 0)
			{
				return new Element(preOption[0]);
			}

			const option = new Element("div", {
				class: `${this._config.classNames.option}${_option.disabled ?
					" " + this._config.classNames.optionDisabled : ""}`,
				value: _option.id,
				textContent: _option.name,
				disabled: _option.disabled
			});
			if (_option.disabled)
			{
				this._config.disabledOptions.push(String(_option.id));
			}
			this._optionsWrapper.append(option.get());

			return option;
		});
	}

	_handleClick(event)
	{
		event.stopPropagation();

		if (event.target.className === this._config.classNames.autocompleteInput)
		{
			return;
		}

		if (this._state.opened)
		{
			const option = this._options.find(_option => {
				return _option.get() === event.target;
			});

			if (option)
			{
				this._setValue(option.get().getAttribute("data-value"), true);
			}

			this._popup.close();
			this._select.removeClass(this._config.classNames.dropdownShown);
			this._body.removeEventListener("click", this._boundHandleClick);
			this._select.addEventListener("click", this._boundHandleClick);

			this._state.opened = false;
			return;
		}

		if (event.target.className === this._config.icon)
		{
			return;
		}

		this._popup.show();
		this._select.addClass(this._config.classNames.dropdownShown);
		this._body.addEventListener("click", this._boundHandleClick);
		this._select.removeEventListener("click", this._boundHandleClick);

		this._state.opened = true;

		if (this._autocomplete)
		{
			this._autocomplete.focus();
		}
	}

	_prepareDataValue()
	{
		let dataValue = [];

		this._config.options.forEach(_option => {
			this._config.value.forEach(_value => {
				if(_option.id.toString() === _value)
				{
					dataValue.push(
						{
							NAME: _option.name,
							VALUE: _option.id.toString()
						}
					)
				}
			});
		})

		this._parent.get().dataset.value = JSON.stringify(dataValue);
		this._select.get().dataset.value = JSON.stringify(dataValue);

		return dataValue;
	}

	_setValue(value, manual, unselected)
	{
		if (this._config.disabledOptions.indexOf(value) > -1)
		{
			return;
		}
		if (value && !unselected)
		{
			this._config.value = this._config.multiple ? [...this._config.value || [], value] : value;
		}
		if (value && unselected)
		{
			this._config.value = value;
		}
		this._options.forEach(_option => {
			_option.removeClass(this._config.classNames.selectedOption);
		});
		this._placeholder.removeClass(this._config.classNames.placeholderHidden);

		if (this._config.multiple)
		{
			const options = this._config.value.map(_value => {
				const option = this._config.options.find(_option => {
					return _option.id.toString() === _value;
				});

				if (!option)
				{
					return false;
				}
				const optionNode = this._options.find(
					_option => {
						return _option.get().getAttribute("data-value") === option.id.toString();
					}
				);

				optionNode.addClass(this._config.classNames.selectedOption);

				return option;
			});

			if (options.length)
			{
				this._placeholder.addClass(this._config.classNames.placeholderHidden);
			}
			this._selectOptions(options, manual);
			this._prepareDataValue();
			return;
		}

		const option = this._config.value ?
			this._config.options.find(_option => _option.id.toString() === this._config.value) :
			this._config.options[0];

		const optionNode = this._options.find(
			_option => _option.get().getAttribute("data-value") === option.id.toString()
		);

		this._prepareDataValue();
		if (!this._config.value)
		{
			this._label.setText("");
			return;
		}
		optionNode.addClass(this._config.classNames.selectedOption);
		this._placeholder.addClass(this._config.classNames.placeholderHidden);
		this._selectOption(option, manual);
	}

	_selectOption(option, manual)
	{
		this._selectedOption = option;

		this._label.setText(option.name);

		if (this._config.onChange && manual)
		{
			this._config.onChange(option.id,this._prepareDataValue());
		}
	}

	_selectOptions(options, manual)
	{
		this._label.setText("");

		this._icons = options.map(_option => {
			const selectedLabel = new Element("span", {
				class: this._config.classNames.selectedLabel,
				textContent: _option.name
			});

			const remove = new Element("span", {
				class: `${this._config.classNames.remove}`,
				value: _option.id
			});

			remove.addEventListener("click", this._boundUnselectOption);

			selectedLabel.append(remove.get());
			this._label.append(selectedLabel.get());

			return remove.get();
		});

		if (manual)
		{
			// eslint-disable-next-line no-magic-numbers
			this._optionsWrapper.setTop(Number(this._select.getHeight().split("px")[0]) + 5);
		}

		if (this._config.onChange && manual)
		{
			this._config.onChange(this._config.value, this._prepareDataValue());
		}
	}

	_unselectOption(event)
	{
		const newValue = [...this._config.value];
		const index = newValue.indexOf(event.target.getAttribute("data-value"));

		// eslint-disable-next-line no-magic-numbers
		if (index !== -1)
		{
			newValue.splice(index, 1);
		}

		this._setValue(newValue, true, true);
	}

	_sortOptions(event)
	{
		this._options.forEach(_option => {
			if (!_option.get().textContent.toLowerCase().startsWith(event.target.value.toLowerCase()))
			{
				_option.addClass(this._config.classNames.optionHidden);
				return;
			}
			_option.removeClass(this._config.classNames.optionHidden);
		});
	}
}

export default Autocomplete;
toloka/src/autocomplete/css/autocomplete.css000066400000002643147722313310015342 0ustar00.autocomplete-select {
	align-items: center;
	background: #f9f9f8;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
	color: #363b3e;
	cursor: pointer;
	display: flex;
	font-size: 16px;
	font-weight: 500;
	justify-content: left;
	min-height: 44px;
	padding: 5px 10px;
	position: relative;
	transition: 0.2s;
	width: 100%;
}

.autocomplete-options {
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
	color: #363b3e;
	display: none;
	left: 0;
	max-height: 221px;
	overflow-y: scroll;
	position: relative;
	top: 50px;
	width: 100%;
}

.autocomplete-select--opened .autocomplete-options {
	display: block;
}

.autocomplete-option {
	background: #fff;
	border-bottom: 1px solid #e4e4e4;
	box-sizing: border-box;
	height: 44px;
	line-height: 25px;
	padding: 10px;
}

.autocomplete-option--disabled {
	color: #e4e4e4;
}

.autocomplete-option--selected {
	color: #e4e4e4;
	cursor: initial;
	pointer-events: none;
}

.autocomplete-option--hidden {
	display: none;
}

.autocomplete-selected-label {
	align-items: 'center';
	border-radius: 4px;
	color: #fff;
	cursor: initial;
	display: inline-flex;
	justify-content: 'center';
	margin: 5px 10px 5px 0;
	padding: 3px 7px;
}

.autocomplete-selected-label:last-of-type {
	margin-right: 0;
}

.autocomplete-placeholder--hidden {
	display: none;
}toloka/dist/toloka.bundle.min.css000066400000003306147722313310013044 0ustar00.autocomplete-select{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#f9f9f8;border-radius:4px;border:1px solid rgba(0,0,0,0.15);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.04);box-shadow:0 2px 4px rgba(0,0,0,0.04);-webkit-box-sizing:border-box;box-sizing:border-box;color:#363b3e;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:16px;font-weight:500;-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;min-height:44px;padding:5px 10px;position:relative;-webkit-transition:.2s;-o-transition:.2s;transition:.2s;width:100%}.autocomplete-options{border-radius:4px;border:1px solid rgba(0,0,0,0.15);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.04);box-shadow:0 2px 4px rgba(0,0,0,0.04);-webkit-box-sizing:border-box;box-sizing:border-box;color:#363b3e;display:none;left:0;max-height:221px;overflow-y:scroll;position:relative;top:50px;width:100%}.autocomplete-select--opened .autocomplete-options{display:block}.autocomplete-option{background:#fff;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;height:44px;line-height:25px;padding:10px}.autocomplete-option--disabled{color:#e4e4e4}.autocomplete-option--selected{color:#e4e4e4;cursor:initial;pointer-events:none}.autocomplete-option--hidden{display:none}.autocomplete-selected-label{-webkit-box-align:'center';-ms-flex-align:'center';align-items:'center';border-radius:4px;color:#fff;cursor:initial;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:'center';-ms-flex-pack:'center';justify-content:'center';margin:5px 10px 5px 0;padding:3px 7px}.autocomplete-selected-label:last-of-type{margin-right:0}.autocomplete-placeholder--hidden{display:none}toloka/dist/toloka.bundle.css000066400000004065147722313310012265 0ustar00.autocomplete-select {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #f9f9f8;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #363b3e;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 16px;
	font-weight: 500;
	-webkit-box-pack: left;
	    -ms-flex-pack: left;
	        justify-content: left;
	min-height: 44px;
	padding: 5px 10px;
	position: relative;
	-webkit-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
	width: 100%;
}

.autocomplete-options {
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #363b3e;
	display: none;
	left: 0;
	max-height: 221px;
	overflow-y: scroll;
	position: relative;
	top: 50px;
	width: 100%;
}

.autocomplete-select--opened .autocomplete-options {
	display: block;
}

.autocomplete-option {
	background: #fff;
	border-bottom: 1px solid #e4e4e4;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 44px;
	line-height: 25px;
	padding: 10px;
}

.autocomplete-option--disabled {
	color: #e4e4e4;
}

.autocomplete-option--selected {
	color: #e4e4e4;
	cursor: initial;
	pointer-events: none;
}

.autocomplete-option--hidden {
	display: none;
}

.autocomplete-selected-label {
	-webkit-box-align: 'center';
	    -ms-flex-align: 'center';
	        align-items: 'center';
	border-radius: 4px;
	color: #fff;
	cursor: initial;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: 'center';
	    -ms-flex-pack: 'center';
	        justify-content: 'center';
	margin: 5px 10px 5px 0;
	padding: 3px 7px;
}

.autocomplete-selected-label:last-of-type {
	margin-right: 0;
}

.autocomplete-placeholder--hidden {
	display: none;
}toloka/dist/toloka.bundle.min.js000066400000057333147722313310012701 0ustar00this.BX=this.BX||{};(function(e,t){"use strict";var i={value:"data-value",name:"data-name",disabled:"data-disabled",class:"class",type:"type"};var s=function(){function e(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var s=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};babelHelpers.classCallCheck(this,e);this._node=t instanceof HTMLElement?t:document.createElement(t);this._config={i18n:s};this._setAttributes(i);if(i.textContent){this._setTextContent(i.textContent)}return this}babelHelpers.createClass(e,[{key:"get",value:function e(){return this._node}},{key:"append",value:function e(t){this._node.appendChild(t);return this}},{key:"addClass",value:function e(t){this._node.classList.add(t);return this}},{key:"removeClass",value:function e(t){this._node.classList.remove(t);return this}},{key:"toggleClass",value:function e(t){this._node.classList.toggle(t);return this}},{key:"addEventListener",value:function e(t,i){this._node.addEventListener(t,i);return this}},{key:"removeEventListener",value:function e(t,i){this._node.removeEventListener(t,i);return this}},{key:"setText",value:function e(t){this._setTextContent(t);return this}},{key:"getHeight",value:function e(){return window.getComputedStyle(this._node).height}},{key:"getWidth",value:function e(){return window.getComputedStyle(this._node).width}},{key:"setTop",value:function e(t){this._node.style.top="".concat(t,"px");return this}},{key:"focus",value:function e(){this._node.focus();return this}},{key:"_setTextContent",value:function e(t){this._node.textContent=t}},{key:"_setAttributes",value:function e(t){for(var s in t){if(i[s]&&t[s]){this._setAttribute(i[s],t[s])}}}},{key:"_setAttribute",value:function e(t,i){this._node.setAttribute(t,i)}},{key:"_getAttribute",value:function e(t){this._node.getAttribute(t)}}]);return e}();var a={select:"main-ui-control",dropdownShown:"autocomplete-select--opened",multiselect:"main-ui-multi-select",label:"main-ui-square-container",placeholder:"autocomplete-placeholder",dropdown:"popup-select-content",option:"main-ui-select-inner-item",remove:"main-ui-item-icon main-ui-square-delete",optionDisabled:"autocomplete-option--disabled",autocompleteInput:"main-ui-control main-ui-control-string",selectedLabel:"main-ui-square",selectedOption:"autocomplete-option--selected",placeholderHidden:"autocomplete-placeholder--hidden",optionHidden:"autocomplete-option--hidden"};var l=function(){function e(t,i){babelHelpers.classCallCheck(this,e);this._config=babelHelpers.objectSpread({},i,{classNames:babelHelpers.objectSpread({},a,i.classNames),disabledOptions:[]});this._state={opened:false};this._icons=[];this._holderElement=t;this._boundHandleClick=this._handleClick.bind(this);this._boundUnselectOption=this._unselectOption.bind(this);this._boundSortOptions=this._sortOptions.bind(this);this._body=new s(document.body);this._create(t);if(!this._config.value){return}this._setValue()}babelHelpers.createClass(e,[{key:"setOptions",value:function e(t){var i=this;t.forEach(function(e){var t=false;i._config.options.forEach(function(i){if(e.id===i.id){t=true}});if(!t){i._config.options.push(e)}});this._options=this._generateOptions()}},{key:"value",value:function e(){return this._config.value}},{key:"reset",value:function e(){this._config.value=this._config.multiple?[]:null;this._setValue()}},{key:"_create",value:function e(i){var a=typeof i==="string"?document.querySelector(i):i;this._parent=new s(a);var l=a.querySelectorAll("div[data-name=".concat(a.dataset.name,"]"))[0];var r=l.cloneNode(true);a.removeChild(l);this._select=new s(r);this._label=new s("span",{class:this._config.classNames.label});this._optionsWrapper=new s("div",{class:this._config.classNames.dropdown});if(this._config.multiple){this._select.addClass(this._config.classNames.multiselect)}this._options=this._generateOptions();this._select.addEventListener("click",this._boundHandleClick);this._select.append(this._label.get());var n=this._parent.get().parentNode.querySelectorAll("div.main-ui-control-value-delete");if(n.length>0){BX.bind(n[0],"click",this.reset.bind(this));this._select.append(n[0])}this._parent.append(this._select.get());this._placeholder=new s("div",{class:this._config.classNames.placeholder,textContent:this._config.placeholder});this._select.append(this._placeholder.get());this._popup=new t.Popup({id:"autocomplete"+Math.random(),bindElement:i,zIndex:3e3,width:515,maxHeight:300});this._popup.setContent(this._optionsWrapper.get())}},{key:"_generateOptions",value:function e(){var t=this;if(this._config.autocomplete&&!this._autocomplete){this._autocomplete=new s("input",{class:this._config.classNames.autocompleteInput,name:"autocomplete-".concat(this._parent.get().dataset.name),type:"text"});this._autocomplete.addEventListener("input",this._boundSortOptions);this._optionsWrapper.append(this._autocomplete.get())}return this._config.options.map(function(e){var i=document.querySelectorAll("div.".concat(t._config.classNames.option,'[data-value="').concat(e.id,'"]'));if(i.length>0){return new s(i[0])}var a=new s("div",{class:"".concat(t._config.classNames.option).concat(e.disabled?" "+t._config.classNames.optionDisabled:""),value:e.id,textContent:e.name,disabled:e.disabled});if(e.disabled){t._config.disabledOptions.push(String(e.id))}t._optionsWrapper.append(a.get());return a})}},{key:"_handleClick",value:function e(t){t.stopPropagation();if(t.target.className===this._config.classNames.autocompleteInput){return}if(this._state.opened){var i=this._options.find(function(e){return e.get()===t.target});if(i){this._setValue(i.get().getAttribute("data-value"),true)}this._popup.close();this._select.removeClass(this._config.classNames.dropdownShown);this._body.removeEventListener("click",this._boundHandleClick);this._select.addEventListener("click",this._boundHandleClick);this._state.opened=false;return}if(t.target.className===this._config.icon){return}this._popup.show();this._select.addClass(this._config.classNames.dropdownShown);this._body.addEventListener("click",this._boundHandleClick);this._select.removeEventListener("click",this._boundHandleClick);this._state.opened=true;if(this._autocomplete){this._autocomplete.focus()}}},{key:"_prepareDataValue",value:function e(){var t=this;var i=[];this._config.options.forEach(function(e){t._config.value.forEach(function(t){if(e.id.toString()===t){i.push({NAME:e.name,VALUE:e.id.toString()})}})});this._parent.get().dataset.value=JSON.stringify(i);this._select.get().dataset.value=JSON.stringify(i);return i}},{key:"_setValue",value:function e(t,i,s){var a=this;if(this._config.disabledOptions.indexOf(t)>-1){return}if(t&&!s){this._config.value=this._config.multiple?[].concat(babelHelpers.toConsumableArray(this._config.value||[]),[t]):t}if(t&&s){this._config.value=t}this._options.forEach(function(e){e.removeClass(a._config.classNames.selectedOption)});this._placeholder.removeClass(this._config.classNames.placeholderHidden);if(this._config.multiple){var l=this._config.value.map(function(e){var t=a._config.options.find(function(t){return t.id.toString()===e});if(!t){return false}var i=a._options.find(function(e){return e.get().getAttribute("data-value")===t.id.toString()});i.addClass(a._config.classNames.selectedOption);return t});if(l.length){this._placeholder.addClass(this._config.classNames.placeholderHidden)}this._selectOptions(l,i);this._prepareDataValue();return}var r=this._config.value?this._config.options.find(function(e){return e.id.toString()===a._config.value}):this._config.options[0];var n=this._options.find(function(e){return e.get().getAttribute("data-value")===r.id.toString()});this._prepareDataValue();if(!this._config.value){this._label.setText("");return}n.addClass(this._config.classNames.selectedOption);this._placeholder.addClass(this._config.classNames.placeholderHidden);this._selectOption(r,i)}},{key:"_selectOption",value:function e(t,i){this._selectedOption=t;this._label.setText(t.name);if(this._config.onChange&&i){this._config.onChange(t.id,this._prepareDataValue())}}},{key:"_selectOptions",value:function e(t,i){var a=this;this._label.setText("");this._icons=t.map(function(e){var t=new s("span",{class:a._config.classNames.selectedLabel,textContent:e.name});var i=new s("span",{class:"".concat(a._config.classNames.remove),value:e.id});i.addEventListener("click",a._boundUnselectOption);t.append(i.get());a._label.append(t.get());return i.get()});if(i){this._optionsWrapper.setTop(Number(this._select.getHeight().split("px")[0])+5)}if(this._config.onChange&&i){this._config.onChange(this._config.value,this._prepareDataValue())}}},{key:"_unselectOption",value:function e(t){var i=babelHelpers.toConsumableArray(this._config.value);var s=i.indexOf(t.target.getAttribute("data-value"));if(s!==-1){i.splice(s,1)}this._setValue(i,true,true)}},{key:"_sortOptions",value:function e(t){var i=this;this._options.forEach(function(e){if(!e.get().textContent.toLowerCase().startsWith(t.target.value.toLowerCase())){e.addClass(i._config.classNames.optionHidden);return}e.removeClass(i._config.classNames.optionHidden)})}}]);return e}();var r=function(){function e(){babelHelpers.classCallCheck(this,e);n.set(this,{writable:true,value:BX.Sender.Page});o.set(this,{writable:true,value:BX.Sender.Helper});c.set(this,{writable:true,value:void 0});d.set(this,{writable:true,value:void 0});u.set(this,{writable:true,value:void 0});h.set(this,{writable:true,value:void 0});p.set(this,{writable:true,value:void 0});v.set(this,{writable:true,value:void 0});b.set(this,{writable:true,value:void 0});_.set(this,{writable:true,value:void 0});f.set(this,{writable:true,value:void 0});g.set(this,{writable:true,value:void 0});m.set(this,{writable:true,value:void 0});H.set(this,{writable:true,value:void 0});P.set(this,{writable:true,value:void 0});F.set(this,{writable:true,value:void 0});y.set(this,{writable:true,value:void 0});N.set(this,{writable:true,value:void 0});k.set(this,{writable:true,value:void 0});w.set(this,{writable:true,value:void 0});G.set(this,{writable:true,value:void 0});S.set(this,{writable:true,value:void 0});C.set(this,{writable:true,value:null});E.set(this,{writable:true,value:void 0});T.set(this,{writable:true,value:void 0});O.set(this,{writable:true,value:void 0});I.set(this,{writable:true,value:void 0});B.set(this,{writable:true,value:void 0});A.set(this,{writable:true,value:void 0});L.set(this,{writable:true,value:void 0});M.set(this,{writable:true,value:"REGION_BY_IP"});W.set(this,{writable:true,value:"REGION_BY_PHONE"})}babelHelpers.createClass(e,[{key:"bindEvents",value:function e(){this._expireInNode.addEventListener("change",this.validateRequiredFields.bind(this));if(BX.Sender.Template&&BX.Sender.Template.Selector){var t=BX.Sender.Template.Selector;BX.addCustomEvent(t,t.events.templateSelect,this.onTemplateSelect.bind(this));BX.addCustomEvent(t,t.events.selectorClose,this.closeTemplateSelector.bind(this))}if(babelHelpers.classPrivateFieldGet(this,N)){BX.bind(babelHelpers.classPrivateFieldGet(this,N),"click",this.initAddressWidget.bind(this,babelHelpers.classPrivateFieldGet(this,M)));BX.bind(babelHelpers.classPrivateFieldGet(this,N),"click",this.initAddressWidget.bind(this,babelHelpers.classPrivateFieldGet(this,W)))}if(this._saveBtn){BX.bind(this._saveBtn,"click",this.applyChanges.bind(this))}if(babelHelpers.classPrivateFieldGet(this,E)){BX.bind(babelHelpers.classPrivateFieldGet(this,E),"click",this.showTemplateSelector.bind(this))}if(babelHelpers.classPrivateFieldGet(this,p)){top.BX.onCustomEvent(top,"sender-letter-edit-change",[this.letterTile]);babelHelpers.classPrivateFieldGet(this,n).slider.close();if(babelHelpers.classPrivateFieldGet(this,b)){BX.UI.Notification.Center.notify({content:babelHelpers.classPrivateFieldGet(this,_).outsideSaveSuccess,autoHideDelay:5e3})}}}},{key:"initialize",value:function e(t){babelHelpers.classPrivateFieldSet(this,c,BX(t.containerId));babelHelpers.classPrivateFieldSet(this,k,[]);babelHelpers.classPrivateFieldGet(this,k)[babelHelpers.classPrivateFieldGet(this,M)]={region:[]};babelHelpers.classPrivateFieldGet(this,k)[babelHelpers.classPrivateFieldGet(this,W)]={region:[]};babelHelpers.classPrivateFieldSet(this,w,"toloka-filter-connector");babelHelpers.classPrivateFieldSet(this,N,document.getElementById("".concat(babelHelpers.classPrivateFieldGet(this,w),"_search_container")));babelHelpers.classPrivateFieldSet(this,G,this.getFilter());babelHelpers.classPrivateFieldSet(this,E,BX("SENDER_TOLOKA_BUTTON_CHANGE"));babelHelpers.classPrivateFieldGet(this,o).changeDisplay(babelHelpers.classPrivateFieldGet(this,E),false);babelHelpers.classPrivateFieldSet(this,d,t.actionUri);babelHelpers.classPrivateFieldSet(this,S,new BX.AjaxAction(babelHelpers.classPrivateFieldGet(this,d)));babelHelpers.classPrivateFieldSet(this,u,t.isFrame||false);babelHelpers.classPrivateFieldSet(this,h,t.prettyDateFormat);babelHelpers.classPrivateFieldSet(this,p,t.isSaved||false);babelHelpers.classPrivateFieldSet(this,v,t.isRegistered||false);babelHelpers.classPrivateFieldSet(this,b,t.isOutside||false);babelHelpers.classPrivateFieldSet(this,_,t.mess);babelHelpers.classPrivateFieldSet(this,f,t.letterTile||{});babelHelpers.classPrivateFieldSet(this,A,[]);babelHelpers.classPrivateFieldSet(this,C,this.objectKeysToLowerCase(JSON.parse(t.preset)));this.prepareNodes();this.buildDispatchNodes();this._filterNode=[];this._regionInput=[];this._autocomplete=[];this.bindEvents();babelHelpers.classPrivateFieldGet(this,o).titleEditor.init({dataNode:babelHelpers.classPrivateFieldGet(this,H),disabled:false,defaultTitle:this.getPatternTitle(babelHelpers.classPrivateFieldGet(this,_).name)});babelHelpers.classPrivateFieldGet(this,n).initButtons();if(this.isMSBrowser()){babelHelpers.classPrivateFieldGet(this,c).classList.add("bx-sender-letter-ms-ie")}if(!babelHelpers.classPrivateFieldGet(this,v)){babelHelpers.classPrivateFieldGet(this,P).style="";babelHelpers.classPrivateFieldGet(this,F).style="display:none;"}}},{key:"prepareNodes",value:function e(){babelHelpers.classPrivateFieldSet(this,g,babelHelpers.classPrivateFieldGet(this,o).getNode("template-selector",babelHelpers.classPrivateFieldGet(this,c)));babelHelpers.classPrivateFieldSet(this,m,babelHelpers.classPrivateFieldGet(this,o).getNode("editor",babelHelpers.classPrivateFieldGet(this,c)));babelHelpers.classPrivateFieldSet(this,H,babelHelpers.classPrivateFieldGet(this,o).getNode("title",babelHelpers.classPrivateFieldGet(this,c)));babelHelpers.classPrivateFieldSet(this,P,babelHelpers.classPrivateFieldGet(this,o).getNode("login",babelHelpers.classPrivateFieldGet(this,c)));babelHelpers.classPrivateFieldSet(this,F,babelHelpers.classPrivateFieldGet(this,o).getNode("sender-toloka-form",babelHelpers.classPrivateFieldGet(this,c)));babelHelpers.classPrivateFieldSet(this,y,babelHelpers.classPrivateFieldGet(this,o).getNode("toloka-oauth-code",babelHelpers.classPrivateFieldGet(this,c)));babelHelpers.classPrivateFieldSet(this,T,babelHelpers.classPrivateFieldGet(this,o).getNode("letter-buttons",babelHelpers.classPrivateFieldGet(this,c)));babelHelpers.classPrivateFieldSet(this,O,babelHelpers.classPrivateFieldGet(this,o).getNode("template-name",babelHelpers.classPrivateFieldGet(this,m)));babelHelpers.classPrivateFieldSet(this,I,babelHelpers.classPrivateFieldGet(this,o).getNode("template-type",babelHelpers.classPrivateFieldGet(this,m)));babelHelpers.classPrivateFieldSet(this,B,babelHelpers.classPrivateFieldGet(this,o).getNode("template-id",babelHelpers.classPrivateFieldGet(this,m)));this._projectNode=document.getElementById("CONFIGURATION_PROJECT_ID");this._poolNode=document.getElementById("CONFIGURATION_POOL_ID");this._taskSuiteNode=document.getElementById("CONFIGURATION_TASK_SUITE_ID");this._descriptionNode=document.getElementById("CONFIGURATION_DESCRIPTION");this._instructionNode=document.getElementById("CONFIGURATION_INSTRUCTION");this._tasksNode=document.getElementById("CONFIGURATION_TASKS");this._overlapNode=document.getElementById("CONFIGURATION_OVERLAP");this._adultContentNode=document.getElementById("CONFIGURATION_ADULT_CONTENT");this._priceNode=document.getElementById("CONFIGURATION_PRICE");this._expireInNode=document.getElementById("CONFIGURATION_EXPIRE_IN");this._saveBtn=document.getElementById("ui-button-panel-save");this._projectNode.parentNode.parentNode.style="display:none";this._poolNode.parentNode.parentNode.style="display:none";this._taskSuiteNode.parentNode.parentNode.style="display:none"}},{key:"initAddressWidget",value:function e(t){var i=this;this._filterNode[t]=document.querySelectorAll("div[data-name=".concat(t,"]"))[0];if(this._autocomplete[t]){return}var s=this;this._autocomplete[t]=new l(this._filterNode[t],{options:[],multiple:true,autocomplete:true,onChange:function e(a,l){babelHelpers.classPrivateFieldGet(s,k)[t]=a;babelHelpers.classPrivateFieldGet(i,G).getFieldByName(t).ITEMS=l;babelHelpers.classPrivateFieldGet(i,G).getFieldByName(t).VALUE=l}});this._regionInput[t]=document.querySelectorAll("input[data-name=autocomplete-".concat(t,"]"))[0];BX.bind(this._regionInput[t],"keyup",this.getLocationList.bind(this,t))}},{key:"register",value:function e(){var t=this;babelHelpers.classPrivateFieldGet(this,S).request({action:"registerOAuth",onsuccess:function e(i){babelHelpers.classPrivateFieldGet(t,P).style="display:none;";babelHelpers.classPrivateFieldGet(t,F).style=""},data:{access_code:babelHelpers.classPrivateFieldGet(this,y).value}})}},{key:"isMSBrowser",value:function e(){return window.navigator.userAgent.match(/(Trident\/|MSIE|Edge\/)/)!==null}},{key:"getPatternTitle",value:function e(t){return babelHelpers.classPrivateFieldGet(this,o).replace(babelHelpers.classPrivateFieldGet(this,_).patternTitle,{name:t,date:BX.date.format(babelHelpers.classPrivateFieldGet(this,h))})}},{key:"onTemplateSelect",value:function e(t){if(babelHelpers.classPrivateFieldGet(this,O)){babelHelpers.classPrivateFieldGet(this,O).textContent=t.name}if(babelHelpers.classPrivateFieldGet(this,I)){babelHelpers.classPrivateFieldGet(this,I).value=t.type}if(babelHelpers.classPrivateFieldGet(this,B)){babelHelpers.classPrivateFieldGet(this,B).value=t.code}babelHelpers.classPrivateFieldSet(this,C,t.messageFields);this.buildDispatchNodes();babelHelpers.classPrivateFieldGet(this,H).value=this.getPatternTitle(t.name);BX.fireEvent(babelHelpers.classPrivateFieldGet(this,H),"change");this.closeTemplateSelector();window.scrollTo(0,0)}},{key:"buildDispatchNodes",value:function e(){var t=this;babelHelpers.classPrivateFieldGet(this,o).getNodes("dispatch",babelHelpers.classPrivateFieldGet(this,c)).forEach(function(e){var i=e.getAttribute("data-code");for(var s in babelHelpers.classPrivateFieldGet(t,C)){if(!babelHelpers.classPrivateFieldGet(t,C).hasOwnProperty(s)){continue}var a=babelHelpers.classPrivateFieldGet(t,C)[s];if(a.code===i&&e.innerHTML.length===0){e.innerHTML=a.value}babelHelpers.classPrivateFieldGet(t,A)[a.code]=a.value}})}},{key:"closeTemplateSelector",value:function e(){this.changeDisplayingTemplateSelector(false)}},{key:"showTemplateSelector",value:function e(){this.changeDisplayingTemplateSelector(true)}},{key:"changeDisplayingTemplateSelector",value:function e(t){var i="bx-sender-letter-show";var s="bx-sender-letter-hide";babelHelpers.classPrivateFieldGet(this,o).changeClass(babelHelpers.classPrivateFieldGet(this,g),i,t);babelHelpers.classPrivateFieldGet(this,o).changeClass(babelHelpers.classPrivateFieldGet(this,g),s,!t);babelHelpers.classPrivateFieldGet(this,o).changeClass(babelHelpers.classPrivateFieldGet(this,m),i,!t);babelHelpers.classPrivateFieldGet(this,o).changeClass(babelHelpers.classPrivateFieldGet(this,m),s,t);babelHelpers.classPrivateFieldGet(this,o).changeDisplay(babelHelpers.classPrivateFieldGet(this,E),!t);babelHelpers.classPrivateFieldGet(this,o).changeDisplay(babelHelpers.classPrivateFieldGet(this,T),!t);t?babelHelpers.classPrivateFieldGet(this,o).titleEditor.disable():babelHelpers.classPrivateFieldGet(this,o).titleEditor.enable()}},{key:"objectKeysToLowerCase",value:function e(t){var i=this;if(t===null){return t}return Object.keys(t).reduce(function(e,s){var a=t[s];e[s.toLowerCase()]=babelHelpers.typeof(a)==="object"?i.objectKeysToLowerCase(a):a;return e},{})}},{key:"getLocationList",value:function e(t){if(this._regionInput[t].value.length<3){return}var i=this;babelHelpers.classPrivateFieldGet(this,S).request({action:"getGeoList",data:{name:this._regionInput[t].value},onsuccess:function e(s){var a=[];for(var l in s){var r=s[l];if(babelHelpers.typeof(r)==="object"&&"id"in r){a.push(r)}}if(i._autocomplete[t]){i._autocomplete[t].setOptions(a)}}})}},{key:"validateRequiredFields",value:function e(){var t=this;var i=true;[this._expireInNode,this._priceNode,this._tasksNode].every(function(e){if(!t.validateField(e)){i=false;return false}});if(!i){this.removeLoader()}return i}},{key:"removeLoader",value:function e(){this._saveBtn.classList.remove("ui-btn-wait")}},{key:"validateField",value:function e(i){if(!this._validatorPopup){this._validatorPopup=new t.Popup({id:"sender-toloka-validator",content:"".concat(babelHelpers.classPrivateFieldGet(this,_).required)})}if(!i.value){this._validatorPopup.setBindElement(i);this._validatorPopup.show();i.classList.add("bx-sender-form-control-danger");i.scrollIntoView();return false}this._validatorPopup.close();i.classList.remove("bx-sender-form-control-danger");return true}},{key:"createProject",value:function e(){var t=this;if(!this.validateRequiredFields()){return}var i=Object.keys(babelHelpers.classPrivateFieldGet(this,A)["INPUT_VALUE"])[0];var s=Object.keys(babelHelpers.classPrivateFieldGet(this,A)["OUTPUT_VALUE"])[0];babelHelpers.classPrivateFieldGet(this,S).request({action:"createProject",data:{id:this._projectNode.value,name:babelHelpers.classPrivateFieldGet(this,H).value,description:this._descriptionNode.value,instruction:this._instructionNode.value,input_type:babelHelpers.classPrivateFieldGet(this,A)["INPUT_VALUE"][i],input_identificator:i,output_type:babelHelpers.classPrivateFieldGet(this,A)["OUTPUT_VALUE"][s],output_identificator:s,markup:babelHelpers.classPrivateFieldGet(this,A)["PRESET"].template,script:babelHelpers.classPrivateFieldGet(this,A)["PRESET"].js,styles:babelHelpers.classPrivateFieldGet(this,A)["PRESET"].css},onsuccess:function e(i){t._projectNode.value=i.id;t.createPool(i.id)},onfailure:function e(i){t.removeLoader()}})}},{key:"createPool",value:function e(t){var i=this;var s=Object.keys(babelHelpers.classPrivateFieldGet(this,A)["INPUT_VALUE"])[0];babelHelpers.classPrivateFieldGet(this,S).request({action:"createPool",data:{id:this._poolNode.value,task_suite_id:this._taskSuiteNode.value,project_id:t,private_name:babelHelpers.classPrivateFieldGet(this,H).value,public_description:this._descriptionNode.value,may_contain_adult_content:this._adultContentNode.checked,reward_per_assignment:this._priceNode.value,will_expire:this._expireInNode.value,overlap:this._overlapNode.value,tasks:this._tasksNode.value,identificator:s,filter:babelHelpers.classPrivateFieldGet(this,k)},onsuccess:function e(t){i._poolNode.value=t.pool_id;i._taskSuiteNode.value=t.id;var s=babelHelpers.classPrivateFieldGet(i,c).getElementsByTagName("form");if(s&&s[0]){s[0].appendChild(BX.create("input",{attrs:{type:"hidden",name:"apply",value:"Y"}}));s[0].submit()}},onfailure:function e(t){i.removeLoader()}})}},{key:"applyChanges",value:function e(t){this.createProject()}},{key:"getFilter",value:function e(){var t=BX.Main.filterManager.getById(babelHelpers.classPrivateFieldGet(this,w));if(!t||!(t instanceof BX.Main.Filter)){return null}return t}}],[{key:"create",value:function t(i){var s=new e;s.initialize(i);return s}}]);return e}();var n=new WeakMap;var o=new WeakMap;var c=new WeakMap;var d=new WeakMap;var u=new WeakMap;var h=new WeakMap;var p=new WeakMap;var v=new WeakMap;var b=new WeakMap;var _=new WeakMap;var f=new WeakMap;var g=new WeakMap;var m=new WeakMap;var H=new WeakMap;var P=new WeakMap;var F=new WeakMap;var y=new WeakMap;var N=new WeakMap;var k=new WeakMap;var w=new WeakMap;var G=new WeakMap;var S=new WeakMap;var C=new WeakMap;var E=new WeakMap;var T=new WeakMap;var O=new WeakMap;var I=new WeakMap;var B=new WeakMap;var A=new WeakMap;var L=new WeakMap;var M=new WeakMap;var W=new WeakMap;e.Toloka=r})(this.BX.Sender=this.BX.Sender||{},BX.Main);
//# sourceMappingURL=toloka.bundle.map.jstoloka/dist/toloka.bundle.map.js000066400000063246147722313310012673 0ustar00{"version":3,"sources":["toloka.bundle.js"],"names":["this","BX","exports","main_popup","allowedAttributes","value","name","disabled","class","type","Element","element","attributes","arguments","length","undefined","i18n","babelHelpers","classCallCheck","_node","HTMLElement","document","createElement","_config","_setAttributes","textContent","_setTextContent","createClass","key","get","append","appendChild","addClass","className","classList","add","removeClass","remove","toggleClass","toggle","addEventListener","callback","removeEventListener","setText","text","getHeight","window","getComputedStyle","height","getWidth","width","setTop","top","style","concat","focus","_setAttribute","setAttribute","_getAttribute","getAttribute","CLASSES","select","dropdownShown","multiselect","label","placeholder","dropdown","option","optionDisabled","autocompleteInput","selectedLabel","selectedOption","placeholderHidden","optionHidden","Autocomplete","config","objectSpread","classNames","disabledOptions","_state","opened","_icons","_holderElement","_boundHandleClick","_handleClick","bind","_boundUnselectOption","_unselectOption","_boundSortOptions","_sortOptions","_body","body","_create","_setValue","setOptions","data","_this","forEach","exists","options","id","push","_options","_generateOptions","reset","multiple","_element","querySelector","_parent","selector","querySelectorAll","dataset","selectClone","cloneNode","removeChild","_select","_label","_optionsWrapper","deleteButton","parentNode","_placeholder","_popup","Popup","Math","random","bindElement","zIndex","maxHeight","setContent","_this2","autocomplete","_autocomplete","map","_option","preOption","String","event","stopPropagation","target","find","close","icon","show","_prepareDataValue","_this3","dataValue","_value","toString","NAME","VALUE","JSON","stringify","manual","unselected","_this4","indexOf","toConsumableArray","optionNode","_selectOptions","_selectOption","_selectedOption","onChange","_this5","Number","split","newValue","index","splice","_this6","toLowerCase","startsWith","Toloka","_page","set","writable","Sender","Page","_helper","Helper","_context","_actionUri","_isFrame","_prettyDateFormat","_isSaved","_isRegistered","_isOutside","_mess","_letterTile","_selectorNode","_editorNode","_titleNode","_loginNode","_formNode","_oauthCodeNode","_filterNode","_filterData","_filterId","_filter","_ajaxAction","_messageFields","_templateChangeButton","_buttonsNode","_templateNameNode","_templateTypeNode","_templateIdNode","_templateData","_preset","_REGION_BY_IP","_REGION_BY_PHONE","bindEvents","_expireInNode","validateRequiredFields","Template","Selector","addCustomEvent","events","templateSelect","onTemplateSelect","selectorClose","closeTemplateSelector","classPrivateFieldGet","initAddressWidget","_saveBtn","applyChanges","showTemplateSelector","onCustomEvent","letterTile","slider","UI","Notification","Center","notify","content","outsideSaveSuccess","autoHideDelay","initialize","params","classPrivateFieldSet","containerId","region","getElementById","getFilter","changeDisplay","actionUri","AjaxAction","isFrame","prettyDateFormat","isSaved","isRegistered","isOutside","mess","objectKeysToLowerCase","parse","preset","prepareNodes","buildDispatchNodes","_regionInput","titleEditor","init","dataNode","defaultTitle","getPatternTitle","initButtons","isMSBrowser","getNode","_projectNode","_poolNode","_taskSuiteNode","_descriptionNode","_instructionNode","_tasksNode","_overlapNode","_adultContentNode","_priceNode","self","preparedValue","getFieldByName","ITEMS","getLocationList","register","request","action","onsuccess","response","access_code","navigator","userAgent","match","replace","patternTitle","date","format","template","code","messageFields","fireEvent","scrollTo","getNodes","node","field","hasOwnProperty","innerHTML","changeDisplayingTemplateSelector","isShow","classShow","classHide","changeClass","disable","enable","origObj","Object","keys","reduce","newObj","val","typeof","responseData","success","every","validateField","removeLoader","_validatorPopup","required","setBindElement","scrollIntoView","createProject","input_key","output_key","description","instruction","input_type","input_identificator","output_type","output_identificator","markup","script","js","styles","css","createPool","onfailure","projectId","task_suite_id","project_id","private_name","public_description","may_contain_adult_content","checked","reward_per_assignment","will_expire","overlap","tasks","identificator","filter","pool_id","form","getElementsByTagName","create","attrs","submit","Main","filterManager","getById","Filter","settings","WeakMap"],"mappings":"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","file":"toloka.bundle.map.js"}toloka/dist/toloka.bundle.js000066400000113511147722313310012106 0ustar00this.BX = this.BX || {};
(function (exports,main_popup) {
	'use strict';

	var allowedAttributes = {
	  value: "data-value",
	  name: "data-name",
	  disabled: "data-disabled",
	  class: "class",
	  type: "type"
	};

	var Element = /*#__PURE__*/function () {
	  function Element(element) {
	    var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
	    var i18n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
	    babelHelpers.classCallCheck(this, Element);
	    this._node = element instanceof HTMLElement ? element : document.createElement(element);
	    this._config = {
	      i18n: i18n
	    };

	    this._setAttributes(attributes);

	    if (attributes.textContent) {
	      this._setTextContent(attributes.textContent);
	    }

	    return this;
	  }

	  babelHelpers.createClass(Element, [{
	    key: "get",
	    value: function get() {
	      return this._node;
	    }
	  }, {
	    key: "append",
	    value: function append(element) {
	      this._node.appendChild(element);

	      return this;
	    }
	  }, {
	    key: "addClass",
	    value: function addClass(className) {
	      this._node.classList.add(className);

	      return this;
	    }
	  }, {
	    key: "removeClass",
	    value: function removeClass(className) {
	      this._node.classList.remove(className);

	      return this;
	    }
	  }, {
	    key: "toggleClass",
	    value: function toggleClass(className) {
	      this._node.classList.toggle(className);

	      return this;
	    }
	  }, {
	    key: "addEventListener",
	    value: function addEventListener(type, callback) {
	      this._node.addEventListener(type, callback);

	      return this;
	    }
	  }, {
	    key: "removeEventListener",
	    value: function removeEventListener(type, callback) {
	      this._node.removeEventListener(type, callback);

	      return this;
	    }
	  }, {
	    key: "setText",
	    value: function setText(text) {
	      this._setTextContent(text);

	      return this;
	    }
	  }, {
	    key: "getHeight",
	    value: function getHeight() {
	      return window.getComputedStyle(this._node).height;
	    }
	  }, {
	    key: "getWidth",
	    value: function getWidth() {
	      return window.getComputedStyle(this._node).width;
	    }
	  }, {
	    key: "setTop",
	    value: function setTop(top) {
	      this._node.style.top = "".concat(top, "px");
	      return this;
	    }
	  }, {
	    key: "focus",
	    value: function focus() {
	      this._node.focus();

	      return this;
	    }
	  }, {
	    key: "_setTextContent",
	    value: function _setTextContent(textContent) {
	      this._node.textContent = textContent;
	    }
	  }, {
	    key: "_setAttributes",
	    value: function _setAttributes(attributes) {
	      for (var key in attributes) {
	        if (allowedAttributes[key] && attributes[key]) {
	          this._setAttribute(allowedAttributes[key], attributes[key]);
	        }
	      }
	    }
	  }, {
	    key: "_setAttribute",
	    value: function _setAttribute(key, value) {
	      this._node.setAttribute(key, value);
	    }
	  }, {
	    key: "_getAttribute",
	    value: function _getAttribute(key) {
	      this._node.getAttribute(key);
	    }
	  }]);
	  return Element;
	}();

	var CLASSES = {
	  select: "main-ui-control",
	  dropdownShown: "autocomplete-select--opened",
	  multiselect: "main-ui-multi-select",
	  label: "main-ui-square-container",
	  placeholder: "autocomplete-placeholder",
	  dropdown: "popup-select-content",
	  option: "main-ui-select-inner-item",
	  remove: "main-ui-item-icon main-ui-square-delete",
	  optionDisabled: "autocomplete-option--disabled",
	  autocompleteInput: "main-ui-control main-ui-control-string",
	  selectedLabel: "main-ui-square",
	  selectedOption: "autocomplete-option--selected",
	  placeholderHidden: "autocomplete-placeholder--hidden",
	  optionHidden: "autocomplete-option--hidden"
	};

	var Autocomplete = /*#__PURE__*/function () {
	  function Autocomplete(element, config) {
	    babelHelpers.classCallCheck(this, Autocomplete);
	    this._config = babelHelpers.objectSpread({}, config, {
	      classNames: babelHelpers.objectSpread({}, CLASSES, config.classNames),
	      disabledOptions: []
	    });
	    this._state = {
	      opened: false
	    };
	    this._icons = [];
	    this._holderElement = element;
	    this._boundHandleClick = this._handleClick.bind(this);
	    this._boundUnselectOption = this._unselectOption.bind(this);
	    this._boundSortOptions = this._sortOptions.bind(this);
	    this._body = new Element(document.body);

	    this._create(element);

	    if (!this._config.value) {
	      return;
	    }

	    this._setValue();
	  }

	  babelHelpers.createClass(Autocomplete, [{
	    key: "setOptions",
	    value: function setOptions(data) {
	      var _this = this;

	      data.forEach(function (value) {
	        var exists = false;

	        _this._config.options.forEach(function (option) {
	          if (value.id === option.id) {
	            exists = true;
	          }
	        });

	        if (!exists) {
	          _this._config.options.push(value);
	        }
	      });
	      this._options = this._generateOptions();
	    }
	  }, {
	    key: "value",
	    value: function value() {
	      return this._config.value;
	    }
	  }, {
	    key: "reset",
	    value: function reset() {
	      this._config.value = this._config.multiple ? [] : null;

	      this._setValue();
	    } // Private methods

	  }, {
	    key: "_create",
	    value: function _create(_element) {
	      var element = typeof _element === "string" ? document.querySelector(_element) : _element;
	      this._parent = new Element(element);
	      var selector = element.querySelectorAll("div[data-name=".concat(element.dataset.name, "]"))[0];
	      var selectClone = selector.cloneNode(true);
	      element.removeChild(selector);
	      this._select = new Element(selectClone);
	      this._label = new Element("span", {
	        class: this._config.classNames.label
	      });
	      this._optionsWrapper = new Element("div", {
	        class: this._config.classNames.dropdown
	      });

	      if (this._config.multiple) {
	        this._select.addClass(this._config.classNames.multiselect);
	      }

	      this._options = this._generateOptions();

	      this._select.addEventListener("click", this._boundHandleClick);

	      this._select.append(this._label.get());

	      var deleteButton = this._parent.get().parentNode.querySelectorAll('div.main-ui-control-value-delete');

	      if (deleteButton.length > 0) {
	        BX.bind(deleteButton[0], "click", this.reset.bind(this));

	        this._select.append(deleteButton[0]);
	      }

	      this._parent.append(this._select.get());

	      this._placeholder = new Element("div", {
	        class: this._config.classNames.placeholder,
	        textContent: this._config.placeholder
	      });

	      this._select.append(this._placeholder.get());

	      this._popup = new main_popup.Popup({
	        id: "autocomplete" + Math.random(),
	        bindElement: _element,
	        zIndex: 3000,
	        width: 515,
	        maxHeight: 300
	      });

	      this._popup.setContent(this._optionsWrapper.get());
	    }
	  }, {
	    key: "_generateOptions",
	    value: function _generateOptions() {
	      var _this2 = this;

	      if (this._config.autocomplete && !this._autocomplete) {
	        this._autocomplete = new Element("input", {
	          class: this._config.classNames.autocompleteInput,
	          name: "autocomplete-".concat(this._parent.get().dataset.name),
	          type: "text"
	        });

	        this._autocomplete.addEventListener("input", this._boundSortOptions);

	        this._optionsWrapper.append(this._autocomplete.get());
	      }

	      return this._config.options.map(function (_option) {
	        var preOption = document.querySelectorAll("div.".concat(_this2._config.classNames.option, "[data-value=\"").concat(_option.id, "\"]"));

	        if (preOption.length > 0) {
	          return new Element(preOption[0]);
	        }

	        var option = new Element("div", {
	          class: "".concat(_this2._config.classNames.option).concat(_option.disabled ? " " + _this2._config.classNames.optionDisabled : ""),
	          value: _option.id,
	          textContent: _option.name,
	          disabled: _option.disabled
	        });

	        if (_option.disabled) {
	          _this2._config.disabledOptions.push(String(_option.id));
	        }

	        _this2._optionsWrapper.append(option.get());

	        return option;
	      });
	    }
	  }, {
	    key: "_handleClick",
	    value: function _handleClick(event) {
	      event.stopPropagation();

	      if (event.target.className === this._config.classNames.autocompleteInput) {
	        return;
	      }

	      if (this._state.opened) {
	        var option = this._options.find(function (_option) {
	          return _option.get() === event.target;
	        });

	        if (option) {
	          this._setValue(option.get().getAttribute("data-value"), true);
	        }

	        this._popup.close();

	        this._select.removeClass(this._config.classNames.dropdownShown);

	        this._body.removeEventListener("click", this._boundHandleClick);

	        this._select.addEventListener("click", this._boundHandleClick);

	        this._state.opened = false;
	        return;
	      }

	      if (event.target.className === this._config.icon) {
	        return;
	      }

	      this._popup.show();

	      this._select.addClass(this._config.classNames.dropdownShown);

	      this._body.addEventListener("click", this._boundHandleClick);

	      this._select.removeEventListener("click", this._boundHandleClick);

	      this._state.opened = true;

	      if (this._autocomplete) {
	        this._autocomplete.focus();
	      }
	    }
	  }, {
	    key: "_prepareDataValue",
	    value: function _prepareDataValue() {
	      var _this3 = this;

	      var dataValue = [];

	      this._config.options.forEach(function (_option) {
	        _this3._config.value.forEach(function (_value) {
	          if (_option.id.toString() === _value) {
	            dataValue.push({
	              NAME: _option.name,
	              VALUE: _option.id.toString()
	            });
	          }
	        });
	      });

	      this._parent.get().dataset.value = JSON.stringify(dataValue);
	      this._select.get().dataset.value = JSON.stringify(dataValue);
	      return dataValue;
	    }
	  }, {
	    key: "_setValue",
	    value: function _setValue(value, manual, unselected) {
	      var _this4 = this;

	      if (this._config.disabledOptions.indexOf(value) > -1) {
	        return;
	      }

	      if (value && !unselected) {
	        this._config.value = this._config.multiple ? [].concat(babelHelpers.toConsumableArray(this._config.value || []), [value]) : value;
	      }

	      if (value && unselected) {
	        this._config.value = value;
	      }

	      this._options.forEach(function (_option) {
	        _option.removeClass(_this4._config.classNames.selectedOption);
	      });

	      this._placeholder.removeClass(this._config.classNames.placeholderHidden);

	      if (this._config.multiple) {
	        var options = this._config.value.map(function (_value) {
	          var option = _this4._config.options.find(function (_option) {
	            return _option.id.toString() === _value;
	          });

	          if (!option) {
	            return false;
	          }

	          var optionNode = _this4._options.find(function (_option) {
	            return _option.get().getAttribute("data-value") === option.id.toString();
	          });

	          optionNode.addClass(_this4._config.classNames.selectedOption);
	          return option;
	        });

	        if (options.length) {
	          this._placeholder.addClass(this._config.classNames.placeholderHidden);
	        }

	        this._selectOptions(options, manual);

	        this._prepareDataValue();

	        return;
	      }

	      var option = this._config.value ? this._config.options.find(function (_option) {
	        return _option.id.toString() === _this4._config.value;
	      }) : this._config.options[0];

	      var optionNode = this._options.find(function (_option) {
	        return _option.get().getAttribute("data-value") === option.id.toString();
	      });

	      this._prepareDataValue();

	      if (!this._config.value) {
	        this._label.setText("");

	        return;
	      }

	      optionNode.addClass(this._config.classNames.selectedOption);

	      this._placeholder.addClass(this._config.classNames.placeholderHidden);

	      this._selectOption(option, manual);
	    }
	  }, {
	    key: "_selectOption",
	    value: function _selectOption(option, manual) {
	      this._selectedOption = option;

	      this._label.setText(option.name);

	      if (this._config.onChange && manual) {
	        this._config.onChange(option.id, this._prepareDataValue());
	      }
	    }
	  }, {
	    key: "_selectOptions",
	    value: function _selectOptions(options, manual) {
	      var _this5 = this;

	      this._label.setText("");

	      this._icons = options.map(function (_option) {
	        var selectedLabel = new Element("span", {
	          class: _this5._config.classNames.selectedLabel,
	          textContent: _option.name
	        });
	        var remove = new Element("span", {
	          class: "".concat(_this5._config.classNames.remove),
	          value: _option.id
	        });
	        remove.addEventListener("click", _this5._boundUnselectOption);
	        selectedLabel.append(remove.get());

	        _this5._label.append(selectedLabel.get());

	        return remove.get();
	      });

	      if (manual) {
	        // eslint-disable-next-line no-magic-numbers
	        this._optionsWrapper.setTop(Number(this._select.getHeight().split("px")[0]) + 5);
	      }

	      if (this._config.onChange && manual) {
	        this._config.onChange(this._config.value, this._prepareDataValue());
	      }
	    }
	  }, {
	    key: "_unselectOption",
	    value: function _unselectOption(event) {
	      var newValue = babelHelpers.toConsumableArray(this._config.value);
	      var index = newValue.indexOf(event.target.getAttribute("data-value")); // eslint-disable-next-line no-magic-numbers

	      if (index !== -1) {
	        newValue.splice(index, 1);
	      }

	      this._setValue(newValue, true, true);
	    }
	  }, {
	    key: "_sortOptions",
	    value: function _sortOptions(event) {
	      var _this6 = this;

	      this._options.forEach(function (_option) {
	        if (!_option.get().textContent.toLowerCase().startsWith(event.target.value.toLowerCase())) {
	          _option.addClass(_this6._config.classNames.optionHidden);

	          return;
	        }

	        _option.removeClass(_this6._config.classNames.optionHidden);
	      });
	    }
	  }]);
	  return Autocomplete;
	}();

	var Toloka = /*#__PURE__*/function () {
	  function Toloka() {
	    babelHelpers.classCallCheck(this, Toloka);

	    _page.set(this, {
	      writable: true,
	      value: BX.Sender.Page
	    });

	    _helper.set(this, {
	      writable: true,
	      value: BX.Sender.Helper
	    });

	    _context.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _actionUri.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _isFrame.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _prettyDateFormat.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _isSaved.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _isRegistered.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _isOutside.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _mess.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _letterTile.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _selectorNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _editorNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _titleNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _loginNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _formNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _oauthCodeNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _filterNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _filterData.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _filterId.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _filter.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _ajaxAction.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _messageFields.set(this, {
	      writable: true,
	      value: null
	    });

	    _templateChangeButton.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _buttonsNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _templateNameNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _templateTypeNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _templateIdNode.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _templateData.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _preset.set(this, {
	      writable: true,
	      value: void 0
	    });

	    _REGION_BY_IP.set(this, {
	      writable: true,
	      value: 'REGION_BY_IP'
	    });

	    _REGION_BY_PHONE.set(this, {
	      writable: true,
	      value: 'REGION_BY_PHONE'
	    });
	  }

	  babelHelpers.createClass(Toloka, [{
	    key: "bindEvents",
	    value: function bindEvents() {
	      this._expireInNode.addEventListener('change', this.validateRequiredFields.bind(this));

	      if (BX.Sender.Template && BX.Sender.Template.Selector) {
	        var selector = BX.Sender.Template.Selector;
	        BX.addCustomEvent(selector, selector.events.templateSelect, this.onTemplateSelect.bind(this));
	        BX.addCustomEvent(selector, selector.events.selectorClose, this.closeTemplateSelector.bind(this));
	      }

	      if (babelHelpers.classPrivateFieldGet(this, _filterNode)) {
	        BX.bind(babelHelpers.classPrivateFieldGet(this, _filterNode), 'click', this.initAddressWidget.bind(this, babelHelpers.classPrivateFieldGet(this, _REGION_BY_IP)));
	        BX.bind(babelHelpers.classPrivateFieldGet(this, _filterNode), 'click', this.initAddressWidget.bind(this, babelHelpers.classPrivateFieldGet(this, _REGION_BY_PHONE)));
	      }

	      if (this._saveBtn) {
	        BX.bind(this._saveBtn, 'click', this.applyChanges.bind(this));
	      }

	      if (babelHelpers.classPrivateFieldGet(this, _templateChangeButton)) {
	        BX.bind(babelHelpers.classPrivateFieldGet(this, _templateChangeButton), 'click', this.showTemplateSelector.bind(this));
	      }

	      if (babelHelpers.classPrivateFieldGet(this, _isSaved)) {
	        top.BX.onCustomEvent(top, 'sender-letter-edit-change', [this.letterTile]);
	        babelHelpers.classPrivateFieldGet(this, _page).slider.close();

	        if (babelHelpers.classPrivateFieldGet(this, _isOutside)) {
	          BX.UI.Notification.Center.notify({
	            content: babelHelpers.classPrivateFieldGet(this, _mess).outsideSaveSuccess,
	            autoHideDelay: 5000
	          });
	        }
	      }
	    }
	  }, {
	    key: "initialize",
	    value: function initialize(params) {
	      babelHelpers.classPrivateFieldSet(this, _context, BX(params.containerId));
	      babelHelpers.classPrivateFieldSet(this, _filterData, []);
	      babelHelpers.classPrivateFieldGet(this, _filterData)[babelHelpers.classPrivateFieldGet(this, _REGION_BY_IP)] = {
	        region: []
	      };
	      babelHelpers.classPrivateFieldGet(this, _filterData)[babelHelpers.classPrivateFieldGet(this, _REGION_BY_PHONE)] = {
	        region: []
	      };
	      babelHelpers.classPrivateFieldSet(this, _filterId, 'toloka-filter-connector');
	      babelHelpers.classPrivateFieldSet(this, _filterNode, document.getElementById("".concat(babelHelpers.classPrivateFieldGet(this, _filterId), "_search_container")));
	      babelHelpers.classPrivateFieldSet(this, _filter, this.getFilter());
	      babelHelpers.classPrivateFieldSet(this, _templateChangeButton, BX('SENDER_TOLOKA_BUTTON_CHANGE'));
	      babelHelpers.classPrivateFieldGet(this, _helper).changeDisplay(babelHelpers.classPrivateFieldGet(this, _templateChangeButton), false);
	      babelHelpers.classPrivateFieldSet(this, _actionUri, params.actionUri);
	      babelHelpers.classPrivateFieldSet(this, _ajaxAction, new BX.AjaxAction(babelHelpers.classPrivateFieldGet(this, _actionUri)));
	      babelHelpers.classPrivateFieldSet(this, _isFrame, params.isFrame || false);
	      babelHelpers.classPrivateFieldSet(this, _prettyDateFormat, params.prettyDateFormat);
	      babelHelpers.classPrivateFieldSet(this, _isSaved, params.isSaved || false);
	      babelHelpers.classPrivateFieldSet(this, _isRegistered, params.isRegistered || false);
	      babelHelpers.classPrivateFieldSet(this, _isOutside, params.isOutside || false);
	      babelHelpers.classPrivateFieldSet(this, _mess, params.mess);
	      babelHelpers.classPrivateFieldSet(this, _letterTile, params.letterTile || {});
	      babelHelpers.classPrivateFieldSet(this, _templateData, []);
	      babelHelpers.classPrivateFieldSet(this, _messageFields, this.objectKeysToLowerCase(JSON.parse(params.preset)));
	      this.prepareNodes();
	      this.buildDispatchNodes();
	      this._filterNode = [];
	      this._regionInput = [];
	      this._autocomplete = [];
	      this.bindEvents();
	      babelHelpers.classPrivateFieldGet(this, _helper).titleEditor.init({
	        dataNode: babelHelpers.classPrivateFieldGet(this, _titleNode),
	        disabled: false,
	        defaultTitle: this.getPatternTitle(babelHelpers.classPrivateFieldGet(this, _mess).name)
	      });
	      babelHelpers.classPrivateFieldGet(this, _page).initButtons();

	      if (this.isMSBrowser()) {
	        babelHelpers.classPrivateFieldGet(this, _context).classList.add('bx-sender-letter-ms-ie');
	      }

	      if (!babelHelpers.classPrivateFieldGet(this, _isRegistered)) {
	        babelHelpers.classPrivateFieldGet(this, _loginNode).style = '';
	        babelHelpers.classPrivateFieldGet(this, _formNode).style = 'display:none;';
	      }
	    }
	  }, {
	    key: "prepareNodes",
	    value: function prepareNodes() {
	      babelHelpers.classPrivateFieldSet(this, _selectorNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('template-selector', babelHelpers.classPrivateFieldGet(this, _context)));
	      babelHelpers.classPrivateFieldSet(this, _editorNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('editor', babelHelpers.classPrivateFieldGet(this, _context)));
	      babelHelpers.classPrivateFieldSet(this, _titleNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('title', babelHelpers.classPrivateFieldGet(this, _context)));
	      babelHelpers.classPrivateFieldSet(this, _loginNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('login', babelHelpers.classPrivateFieldGet(this, _context)));
	      babelHelpers.classPrivateFieldSet(this, _formNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('sender-toloka-form', babelHelpers.classPrivateFieldGet(this, _context)));
	      babelHelpers.classPrivateFieldSet(this, _oauthCodeNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('toloka-oauth-code', babelHelpers.classPrivateFieldGet(this, _context)));
	      babelHelpers.classPrivateFieldSet(this, _buttonsNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('letter-buttons', babelHelpers.classPrivateFieldGet(this, _context)));
	      babelHelpers.classPrivateFieldSet(this, _templateNameNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('template-name', babelHelpers.classPrivateFieldGet(this, _editorNode)));
	      babelHelpers.classPrivateFieldSet(this, _templateTypeNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('template-type', babelHelpers.classPrivateFieldGet(this, _editorNode)));
	      babelHelpers.classPrivateFieldSet(this, _templateIdNode, babelHelpers.classPrivateFieldGet(this, _helper).getNode('template-id', babelHelpers.classPrivateFieldGet(this, _editorNode)));
	      this._projectNode = document.getElementById('CONFIGURATION_PROJECT_ID');
	      this._poolNode = document.getElementById('CONFIGURATION_POOL_ID');
	      this._taskSuiteNode = document.getElementById('CONFIGURATION_TASK_SUITE_ID');
	      this._descriptionNode = document.getElementById('CONFIGURATION_DESCRIPTION');
	      this._instructionNode = document.getElementById('CONFIGURATION_INSTRUCTION');
	      this._tasksNode = document.getElementById('CONFIGURATION_TASKS');
	      this._overlapNode = document.getElementById('CONFIGURATION_OVERLAP');
	      this._adultContentNode = document.getElementById('CONFIGURATION_ADULT_CONTENT');
	      this._priceNode = document.getElementById('CONFIGURATION_PRICE');
	      this._expireInNode = document.getElementById('CONFIGURATION_EXPIRE_IN');
	      this._saveBtn = document.getElementById('ui-button-panel-save');
	      this._projectNode.parentNode.parentNode.style = 'display:none';
	      this._poolNode.parentNode.parentNode.style = 'display:none';
	      this._taskSuiteNode.parentNode.parentNode.style = 'display:none';
	    }
	  }, {
	    key: "initAddressWidget",
	    value: function initAddressWidget(name) {
	      var _this = this;

	      this._filterNode[name] = document.querySelectorAll("div[data-name=".concat(name, "]"))[0];

	      if (this._autocomplete[name]) {
	        return;
	      }

	      var self = this;
	      this._autocomplete[name] = new Autocomplete(this._filterNode[name], {
	        options: [],
	        multiple: true,
	        autocomplete: true,
	        onChange: function onChange(value, preparedValue) {
	          babelHelpers.classPrivateFieldGet(self, _filterData)[name] = value;
	          babelHelpers.classPrivateFieldGet(_this, _filter).getFieldByName(name).ITEMS = preparedValue;
	          babelHelpers.classPrivateFieldGet(_this, _filter).getFieldByName(name).VALUE = preparedValue;
	        }
	      });
	      this._regionInput[name] = document.querySelectorAll("input[data-name=autocomplete-".concat(name, "]"))[0];
	      BX.bind(this._regionInput[name], 'keyup', this.getLocationList.bind(this, name));
	    }
	  }, {
	    key: "register",
	    value: function register() {
	      var self = this;
	      babelHelpers.classPrivateFieldGet(this, _ajaxAction).request({
	        action: 'registerOAuth',
	        onsuccess: function onsuccess(response) {
	          babelHelpers.classPrivateFieldGet(self, _loginNode).style = 'display:none;';
	          babelHelpers.classPrivateFieldGet(self, _formNode).style = '';
	        },
	        data: {
	          'access_code': babelHelpers.classPrivateFieldGet(this, _oauthCodeNode).value
	        }
	      });
	    }
	  }, {
	    key: "isMSBrowser",
	    value: function isMSBrowser() {
	      return window.navigator.userAgent.match(/(Trident\/|MSIE|Edge\/)/) !== null;
	    }
	  }, {
	    key: "getPatternTitle",
	    value: function getPatternTitle(name) {
	      return babelHelpers.classPrivateFieldGet(this, _helper).replace(babelHelpers.classPrivateFieldGet(this, _mess).patternTitle, {
	        'name': name,
	        'date': BX.date.format(babelHelpers.classPrivateFieldGet(this, _prettyDateFormat))
	      });
	    }
	  }, {
	    key: "onTemplateSelect",
	    value: function onTemplateSelect(template) {
	      if (babelHelpers.classPrivateFieldGet(this, _templateNameNode)) {
	        babelHelpers.classPrivateFieldGet(this, _templateNameNode).textContent = template.name;
	      }

	      if (babelHelpers.classPrivateFieldGet(this, _templateTypeNode)) {
	        babelHelpers.classPrivateFieldGet(this, _templateTypeNode).value = template.type;
	      }

	      if (babelHelpers.classPrivateFieldGet(this, _templateIdNode)) {
	        babelHelpers.classPrivateFieldGet(this, _templateIdNode).value = template.code;
	      }

	      babelHelpers.classPrivateFieldSet(this, _messageFields, template.messageFields);
	      this.buildDispatchNodes();
	      babelHelpers.classPrivateFieldGet(this, _titleNode).value = this.getPatternTitle(template.name);
	      BX.fireEvent(babelHelpers.classPrivateFieldGet(this, _titleNode), 'change');
	      this.closeTemplateSelector();
	      window.scrollTo(0, 0);
	    }
	  }, {
	    key: "buildDispatchNodes",
	    value: function buildDispatchNodes() {
	      var self = this;
	      babelHelpers.classPrivateFieldGet(this, _helper).getNodes('dispatch', babelHelpers.classPrivateFieldGet(this, _context)).forEach(function (node) {
	        var code = node.getAttribute('data-code');

	        for (var field in babelHelpers.classPrivateFieldGet(self, _messageFields)) {
	          if (!babelHelpers.classPrivateFieldGet(self, _messageFields).hasOwnProperty(field)) {
	            continue;
	          }

	          var data = babelHelpers.classPrivateFieldGet(self, _messageFields)[field];

	          if (data.code === code && node.innerHTML.length === 0) {
	            node.innerHTML = data.value;
	          }

	          babelHelpers.classPrivateFieldGet(self, _templateData)[data.code] = data.value;
	        }
	      });
	    }
	  }, {
	    key: "closeTemplateSelector",
	    value: function closeTemplateSelector() {
	      this.changeDisplayingTemplateSelector(false);
	    }
	  }, {
	    key: "showTemplateSelector",
	    value: function showTemplateSelector() {
	      this.changeDisplayingTemplateSelector(true);
	    }
	  }, {
	    key: "changeDisplayingTemplateSelector",
	    value: function changeDisplayingTemplateSelector(isShow) {
	      var classShow = 'bx-sender-letter-show';
	      var classHide = 'bx-sender-letter-hide';
	      babelHelpers.classPrivateFieldGet(this, _helper).changeClass(babelHelpers.classPrivateFieldGet(this, _selectorNode), classShow, isShow);
	      babelHelpers.classPrivateFieldGet(this, _helper).changeClass(babelHelpers.classPrivateFieldGet(this, _selectorNode), classHide, !isShow);
	      babelHelpers.classPrivateFieldGet(this, _helper).changeClass(babelHelpers.classPrivateFieldGet(this, _editorNode), classShow, !isShow);
	      babelHelpers.classPrivateFieldGet(this, _helper).changeClass(babelHelpers.classPrivateFieldGet(this, _editorNode), classHide, isShow);
	      babelHelpers.classPrivateFieldGet(this, _helper).changeDisplay(babelHelpers.classPrivateFieldGet(this, _templateChangeButton), !isShow);
	      babelHelpers.classPrivateFieldGet(this, _helper).changeDisplay(babelHelpers.classPrivateFieldGet(this, _buttonsNode), !isShow);
	      isShow ? babelHelpers.classPrivateFieldGet(this, _helper).titleEditor.disable() : babelHelpers.classPrivateFieldGet(this, _helper).titleEditor.enable();
	    }
	  }, {
	    key: "objectKeysToLowerCase",
	    value: function objectKeysToLowerCase(origObj) {
	      var self = this;

	      if (origObj === null) {
	        return origObj;
	      }

	      return Object.keys(origObj).reduce(function (newObj, key) {
	        var val = origObj[key];
	        newObj[key.toLowerCase()] = babelHelpers.typeof(val) === 'object' ? self.objectKeysToLowerCase(val) : val;
	        return newObj;
	      }, {});
	    }
	  }, {
	    key: "getLocationList",
	    value: function getLocationList(name) {
	      if (this._regionInput[name].value.length < 3) {
	        return;
	      }

	      var self = this;
	      babelHelpers.classPrivateFieldGet(this, _ajaxAction).request({
	        action: 'getGeoList',
	        data: {
	          name: this._regionInput[name].value
	        },
	        onsuccess: function onsuccess(response) {
	          var data = [];

	          for (var value in response) {
	            var responseData = response[value];

	            if (babelHelpers.typeof(responseData) === 'object' && 'id' in responseData) {
	              data.push(responseData);
	            }
	          }

	          if (self._autocomplete[name]) {
	            self._autocomplete[name].setOptions(data);
	          }
	        }
	      });
	    }
	  }, {
	    key: "validateRequiredFields",
	    value: function validateRequiredFields() {
	      var _this2 = this;

	      var success = true;
	      [this._expireInNode, this._priceNode, this._tasksNode].every(function (element) {
	        if (!_this2.validateField(element)) {
	          success = false;
	          return false;
	        }
	      });

	      if (!success) {
	        this.removeLoader();
	      }

	      return success;
	    }
	  }, {
	    key: "removeLoader",
	    value: function removeLoader() {
	      this._saveBtn.classList.remove("ui-btn-wait");
	    }
	  }, {
	    key: "validateField",
	    value: function validateField(field) {
	      if (!this._validatorPopup) {
	        this._validatorPopup = new main_popup.Popup({
	          id: "sender-toloka-validator",
	          content: "".concat(babelHelpers.classPrivateFieldGet(this, _mess).required)
	        });
	      }

	      if (!field.value) {
	        this._validatorPopup.setBindElement(field);

	        this._validatorPopup.show();

	        field.classList.add("bx-sender-form-control-danger");
	        field.scrollIntoView();
	        return false;
	      }

	      this._validatorPopup.close();

	      field.classList.remove("bx-sender-form-control-danger");
	      return true;
	    }
	  }, {
	    key: "createProject",
	    value: function createProject() {
	      var _this3 = this;

	      if (!this.validateRequiredFields()) {
	        return;
	      }

	      var input_key = Object.keys(babelHelpers.classPrivateFieldGet(this, _templateData)['INPUT_VALUE'])[0];
	      var output_key = Object.keys(babelHelpers.classPrivateFieldGet(this, _templateData)['OUTPUT_VALUE'])[0];
	      babelHelpers.classPrivateFieldGet(this, _ajaxAction).request({
	        action: 'createProject',
	        data: {
	          id: this._projectNode.value,
	          name: babelHelpers.classPrivateFieldGet(this, _titleNode).value,
	          description: this._descriptionNode.value,
	          instruction: this._instructionNode.value,
	          input_type: babelHelpers.classPrivateFieldGet(this, _templateData)['INPUT_VALUE'][input_key],
	          input_identificator: input_key,
	          output_type: babelHelpers.classPrivateFieldGet(this, _templateData)['OUTPUT_VALUE'][output_key],
	          output_identificator: output_key,
	          markup: babelHelpers.classPrivateFieldGet(this, _templateData)['PRESET'].template,
	          script: babelHelpers.classPrivateFieldGet(this, _templateData)['PRESET'].js,
	          styles: babelHelpers.classPrivateFieldGet(this, _templateData)['PRESET'].css
	        },
	        onsuccess: function onsuccess(response) {
	          _this3._projectNode.value = response.id;

	          _this3.createPool(response.id);
	        },
	        onfailure: function onfailure(response) {
	          _this3.removeLoader();
	        }
	      });
	    }
	  }, {
	    key: "createPool",
	    value: function createPool(projectId) {
	      var _this4 = this;

	      var input_key = Object.keys(babelHelpers.classPrivateFieldGet(this, _templateData)['INPUT_VALUE'])[0];
	      babelHelpers.classPrivateFieldGet(this, _ajaxAction).request({
	        action: 'createPool',
	        data: {
	          id: this._poolNode.value,
	          task_suite_id: this._taskSuiteNode.value,
	          project_id: projectId,
	          private_name: babelHelpers.classPrivateFieldGet(this, _titleNode).value,
	          public_description: this._descriptionNode.value,
	          may_contain_adult_content: this._adultContentNode.checked,
	          reward_per_assignment: this._priceNode.value,
	          will_expire: this._expireInNode.value,
	          overlap: this._overlapNode.value,
	          tasks: this._tasksNode.value,
	          identificator: input_key,
	          filter: babelHelpers.classPrivateFieldGet(this, _filterData)
	        },
	        onsuccess: function onsuccess(response) {
	          _this4._poolNode.value = response.pool_id;
	          _this4._taskSuiteNode.value = response.id;
	          var form = babelHelpers.classPrivateFieldGet(_this4, _context).getElementsByTagName('form');

	          if (form && form[0]) {
	            form[0].appendChild(BX.create('input', {
	              attrs: {
	                type: "hidden",
	                name: "apply",
	                value: "Y"
	              }
	            }));
	            form[0].submit();
	          }
	        },
	        onfailure: function onfailure(response) {
	          _this4.removeLoader();
	        }
	      });
	    }
	  }, {
	    key: "applyChanges",
	    value: function applyChanges(event) {
	      this.createProject();
	    }
	  }, {
	    key: "getFilter",
	    value: function getFilter() {
	      var filter = BX.Main.filterManager.getById(babelHelpers.classPrivateFieldGet(this, _filterId));

	      if (!filter || !(filter instanceof BX.Main.Filter)) {
	        return null;
	      }

	      return filter;
	    }
	  }], [{
	    key: "create",
	    value: function create(settings) {
	      var self = new Toloka();
	      self.initialize(settings);
	      return self;
	    }
	  }]);
	  return Toloka;
	}();

	var _page = new WeakMap();

	var _helper = new WeakMap();

	var _context = new WeakMap();

	var _actionUri = new WeakMap();

	var _isFrame = new WeakMap();

	var _prettyDateFormat = new WeakMap();

	var _isSaved = new WeakMap();

	var _isRegistered = new WeakMap();

	var _isOutside = new WeakMap();

	var _mess = new WeakMap();

	var _letterTile = new WeakMap();

	var _selectorNode = new WeakMap();

	var _editorNode = new WeakMap();

	var _titleNode = new WeakMap();

	var _loginNode = new WeakMap();

	var _formNode = new WeakMap();

	var _oauthCodeNode = new WeakMap();

	var _filterNode = new WeakMap();

	var _filterData = new WeakMap();

	var _filterId = new WeakMap();

	var _filter = new WeakMap();

	var _ajaxAction = new WeakMap();

	var _messageFields = new WeakMap();

	var _templateChangeButton = new WeakMap();

	var _buttonsNode = new WeakMap();

	var _templateNameNode = new WeakMap();

	var _templateTypeNode = new WeakMap();

	var _templateIdNode = new WeakMap();

	var _templateData = new WeakMap();

	var _preset = new WeakMap();

	var _REGION_BY_IP = new WeakMap();

	var _REGION_BY_PHONE = new WeakMap();

	exports.Toloka = Toloka;

}((this.BX.Sender = this.BX.Sender || {}),BX.Main));
//# sourceMappingURL=toloka.bundle.js.map
toloka/dist/toloka.bundle.js.map000066400000157134147722313310012673 0ustar00{"version":3,"file":"toloka.bundle.js","sources":["../src/autocomplete/components/element.js","../src/autocomplete/autocomplete.js","../src/toloka.js"],"sourcesContent":["const allowedAttributes = {\n\tvalue: \"data-value\",\n\tname: \"data-name\",\n\tdisabled: \"data-disabled\",\n\tclass: \"class\",\n\ttype: \"type\"\n};\n\nclass Element\n{\n\tconstructor(element, attributes = {}, i18n = {})\n\t{\n\t\tthis._node = element instanceof HTMLElement ? element : document.createElement(element);\n\t\tthis._config = { i18n };\n\n\t\tthis._setAttributes(attributes);\n\n\t\tif (attributes.textContent)\n\t\t{\n\t\t\tthis._setTextContent(attributes.textContent);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget()\n\t{\n\t\treturn this._node;\n\t}\n\n\tappend(element)\n\t{\n\t\tthis._node.appendChild(element);\n\t\treturn this;\n\t}\n\n\taddClass(className)\n\t{\n\t\tthis._node.classList.add(className);\n\t\treturn this;\n\t}\n\n\tremoveClass(className)\n\t{\n\t\tthis._node.classList.remove(className);\n\t\treturn this;\n\t}\n\n\ttoggleClass(className)\n\t{\n\t\tthis._node.classList.toggle(className);\n\t\treturn this;\n\t}\n\n\taddEventListener(type, callback)\n\t{\n\t\tthis._node.addEventListener(type, callback);\n\t\treturn this;\n\t}\n\n\tremoveEventListener(type, callback)\n\t{\n\t\tthis._node.removeEventListener(type, callback);\n\t\treturn this;\n\t}\n\n\tsetText(text)\n\t{\n\t\tthis._setTextContent(text);\n\t\treturn this;\n\t}\n\n\tgetHeight()\n\t{\n\t\treturn window.getComputedStyle(this._node).height;\n\t}\n\n\n\tgetWidth()\n\t{\n\t\treturn window.getComputedStyle(this._node).width;\n\t}\n\n\tsetTop(top)\n\t{\n\t\tthis._node.style.top = `${top}px`;\n\t\treturn this;\n\t}\n\n\tfocus()\n\t{\n\t\tthis._node.focus();\n\t\treturn this;\n\t}\n\n\t_setTextContent(textContent)\n\t{\n\t\tthis._node.textContent = textContent;\n\t}\n\n\t_setAttributes(attributes)\n\t{\n\t\tfor (const key in attributes)\n\t\t{\n\t\t\tif (allowedAttributes[key] && attributes[key])\n\t\t\t{\n\t\t\t\tthis._setAttribute(allowedAttributes[key], attributes[key]);\n\t\t\t}\n\t\t}\n\t}\n\n\t_setAttribute(key, value)\n\t{\n\t\tthis._node.setAttribute(key, value);\n\t}\n\n\t_getAttribute(key)\n\t{\n\t\tthis._node.getAttribute(key);\n\t}\n}\n\nexport default Element;\n","import Element from \"./components/element\";\nimport \"./css/autocomplete.css\";\nimport { Popup } from 'main.popup';\n\nconst CLASSES = {\n\tselect: \"main-ui-control\",\n\tdropdownShown: \"autocomplete-select--opened\",\n\tmultiselect: \"main-ui-multi-select\",\n\tlabel: \"main-ui-square-container\",\n\tplaceholder: \"autocomplete-placeholder\",\n\tdropdown: \"popup-select-content\",\n\toption: \"main-ui-select-inner-item\",\n\tremove: \"main-ui-item-icon main-ui-square-delete\",\n\toptionDisabled: \"autocomplete-option--disabled\",\n\tautocompleteInput: \"main-ui-control main-ui-control-string\",\n\tselectedLabel: \"main-ui-square\",\n\tselectedOption: \"autocomplete-option--selected\",\n\tplaceholderHidden: \"autocomplete-placeholder--hidden\",\n\toptionHidden: \"autocomplete-option--hidden\"\n};\n\nclass Autocomplete\n{\n\tconstructor(element, config)\n\t{\n\t\tthis._config = {\n\t\t\t...config,\n\t\t\tclassNames: {\n\t\t\t\t...CLASSES,\n\t\t\t\t...config.classNames\n\t\t\t},\n\t\t\tdisabledOptions: []\n\t\t};\n\t\tthis._state = {\n\t\t\topened: false\n\t\t};\n\t\tthis._icons = [];\n\t\tthis._holderElement = element;\n\n\t\tthis._boundHandleClick = this._handleClick.bind(this);\n\t\tthis._boundUnselectOption = this._unselectOption.bind(this);\n\t\tthis._boundSortOptions = this._sortOptions.bind(this);\n\n\t\tthis._body = new Element(document.body);\n\n\t\tthis._create(element);\n\n\t\tif (!this._config.value)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tthis._setValue();\n\t}\n\n\tsetOptions(data)\n\t{\n\t\tdata.forEach(value => {\n\t\t\tlet exists = false;\n\t\t\tthis._config.options.forEach(option => {\n\t\t\t\tif (value.id === option.id)\n\t\t\t\t{\n\t\t\t\t\texists = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!exists)\n\t\t\t{\n\t\t\t\tthis._config.options.push(value);\n\t\t\t}\n\t\t});\n\t\tthis._options = this._generateOptions();\n\t}\n\n\tvalue()\n\t{\n\t\treturn this._config.value;\n\t}\n\n\treset()\n\t{\n\t\tthis._config.value = this._config.multiple ? [] : null;\n\t\tthis._setValue();\n\t}\n\n\t// Private methods\n\t_create(_element)\n\t{\n\t\tconst element = typeof _element === \"string\" ? document.querySelector(_element) : _element;\n\n\t\tthis._parent = new Element(element);\n\n\t\tconst selector = element.querySelectorAll(\n\t\t\t`div[data-name=${element.dataset.name}]`\n\t\t)[0];\n\t\tlet selectClone = selector.cloneNode(true);\n\t\telement.removeChild(selector);\n\n\t\tthis._select = new Element(selectClone);\n\t\tthis._label = new Element(\"span\", { class: this._config.classNames.label });\n\t\tthis._optionsWrapper = new Element(\"div\", { class: this._config.classNames.dropdown });\n\n\t\tif (this._config.multiple)\n\t\t{\n\t\t\tthis._select.addClass(this._config.classNames.multiselect);\n\t\t}\n\n\t\tthis._options = this._generateOptions();\n\n\t\tthis._select.addEventListener(\"click\", this._boundHandleClick);\n\t\tthis._select.append(this._label.get());\n\n\t\tlet deleteButton = this._parent.get().parentNode.querySelectorAll('div.main-ui-control-value-delete');\n\t\tif(deleteButton.length > 0)\n\t\t{\n\t\t\tBX.bind(deleteButton[0], \"click\", this.reset.bind(this));\n\t\t\tthis._select.append(deleteButton[0]);\n\t\t}\n\n\t\tthis._parent.append(this._select.get());\n\t\tthis._placeholder = new Element(\"div\",\n\t\t\t{\n\t\t\t\tclass: this._config.classNames.placeholder,\n\t\t\t\ttextContent: this._config.placeholder\n\t\t\t}\n\t\t);\n\t\tthis._select.append(this._placeholder.get());\n\n\t\tthis._popup = new Popup({\n\t\t\tid: \"autocomplete\" + Math.random(),\n\t\t\tbindElement: _element,\n\t\t\tzIndex: 3000,\n\t\t\twidth: 515,\n\t\t\tmaxHeight: 300\n\t\t});\n\n\t\tthis._popup.setContent(this._optionsWrapper.get());\n\t}\n\n\t_generateOptions()\n\t{\n\t\tif (this._config.autocomplete && !this._autocomplete)\n\t\t{\n\t\t\tthis._autocomplete = new Element(\"input\", {\n\t\t\t\tclass: this._config.classNames.autocompleteInput,\n\t\t\t\tname: `autocomplete-${this._parent.get().dataset.name}`,\n\t\t\t\ttype: \"text\"\n\t\t\t});\n\t\t\tthis._autocomplete.addEventListener(\"input\", this._boundSortOptions);\n\n\t\t\tthis._optionsWrapper.append(this._autocomplete.get());\n\t\t}\n\n\t\treturn this._config.options.map(_option => {\n\t\t\tlet preOption =\n\t\t\t\tdocument\n\t\t\t\t\t.querySelectorAll(\n\t\t\t\t\t\t`div.${this._config.classNames.option}[data-value=\"${_option.id}\"]`\n\t\t\t\t\t);\n\t\t\tif (preOption.length > 0)\n\t\t\t{\n\t\t\t\treturn new Element(preOption[0]);\n\t\t\t}\n\n\t\t\tconst option = new Element(\"div\", {\n\t\t\t\tclass: `${this._config.classNames.option}${_option.disabled ?\n\t\t\t\t\t\" \" + this._config.classNames.optionDisabled : \"\"}`,\n\t\t\t\tvalue: _option.id,\n\t\t\t\ttextContent: _option.name,\n\t\t\t\tdisabled: _option.disabled\n\t\t\t});\n\t\t\tif (_option.disabled)\n\t\t\t{\n\t\t\t\tthis._config.disabledOptions.push(String(_option.id));\n\t\t\t}\n\t\t\tthis._optionsWrapper.append(option.get());\n\n\t\t\treturn option;\n\t\t});\n\t}\n\n\t_handleClick(event)\n\t{\n\t\tevent.stopPropagation();\n\n\t\tif (event.target.className === this._config.classNames.autocompleteInput)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._state.opened)\n\t\t{\n\t\t\tconst option = this._options.find(_option => {\n\t\t\t\treturn _option.get() === event.target;\n\t\t\t});\n\n\t\t\tif (option)\n\t\t\t{\n\t\t\t\tthis._setValue(option.get().getAttribute(\"data-value\"), true);\n\t\t\t}\n\n\t\t\tthis._popup.close();\n\t\t\tthis._select.removeClass(this._config.classNames.dropdownShown);\n\t\t\tthis._body.removeEventListener(\"click\", this._boundHandleClick);\n\t\t\tthis._select.addEventListener(\"click\", this._boundHandleClick);\n\n\t\t\tthis._state.opened = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.target.className === this._config.icon)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis._popup.show();\n\t\tthis._select.addClass(this._config.classNames.dropdownShown);\n\t\tthis._body.addEventListener(\"click\", this._boundHandleClick);\n\t\tthis._select.removeEventListener(\"click\", this._boundHandleClick);\n\n\t\tthis._state.opened = true;\n\n\t\tif (this._autocomplete)\n\t\t{\n\t\t\tthis._autocomplete.focus();\n\t\t}\n\t}\n\n\t_prepareDataValue()\n\t{\n\t\tlet dataValue = [];\n\n\t\tthis._config.options.forEach(_option => {\n\t\t\tthis._config.value.forEach(_value => {\n\t\t\t\tif(_option.id.toString() === _value)\n\t\t\t\t{\n\t\t\t\t\tdataValue.push(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tNAME: _option.name,\n\t\t\t\t\t\t\tVALUE: _option.id.toString()\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t});\n\t\t})\n\n\t\tthis._parent.get().dataset.value = JSON.stringify(dataValue);\n\t\tthis._select.get().dataset.value = JSON.stringify(dataValue);\n\n\t\treturn dataValue;\n\t}\n\n\t_setValue(value, manual, unselected)\n\t{\n\t\tif (this._config.disabledOptions.indexOf(value) > -1)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (value && !unselected)\n\t\t{\n\t\t\tthis._config.value = this._config.multiple ? [...this._config.value || [], value] : value;\n\t\t}\n\t\tif (value && unselected)\n\t\t{\n\t\t\tthis._config.value = value;\n\t\t}\n\t\tthis._options.forEach(_option => {\n\t\t\t_option.removeClass(this._config.classNames.selectedOption);\n\t\t});\n\t\tthis._placeholder.removeClass(this._config.classNames.placeholderHidden);\n\n\t\tif (this._config.multiple)\n\t\t{\n\t\t\tconst options = this._config.value.map(_value => {\n\t\t\t\tconst option = this._config.options.find(_option => {\n\t\t\t\t\treturn _option.id.toString() === _value;\n\t\t\t\t});\n\n\t\t\t\tif (!option)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst optionNode = this._options.find(\n\t\t\t\t\t_option => {\n\t\t\t\t\t\treturn _option.get().getAttribute(\"data-value\") === option.id.toString();\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\toptionNode.addClass(this._config.classNames.selectedOption);\n\n\t\t\t\treturn option;\n\t\t\t});\n\n\t\t\tif (options.length)\n\t\t\t{\n\t\t\t\tthis._placeholder.addClass(this._config.classNames.placeholderHidden);\n\t\t\t}\n\t\t\tthis._selectOptions(options, manual);\n\t\t\tthis._prepareDataValue();\n\t\t\treturn;\n\t\t}\n\n\t\tconst option = this._config.value ?\n\t\t\tthis._config.options.find(_option => _option.id.toString() === this._config.value) :\n\t\t\tthis._config.options[0];\n\n\t\tconst optionNode = this._options.find(\n\t\t\t_option => _option.get().getAttribute(\"data-value\") === option.id.toString()\n\t\t);\n\n\t\tthis._prepareDataValue();\n\t\tif (!this._config.value)\n\t\t{\n\t\t\tthis._label.setText(\"\");\n\t\t\treturn;\n\t\t}\n\t\toptionNode.addClass(this._config.classNames.selectedOption);\n\t\tthis._placeholder.addClass(this._config.classNames.placeholderHidden);\n\t\tthis._selectOption(option, manual);\n\t}\n\n\t_selectOption(option, manual)\n\t{\n\t\tthis._selectedOption = option;\n\n\t\tthis._label.setText(option.name);\n\n\t\tif (this._config.onChange && manual)\n\t\t{\n\t\t\tthis._config.onChange(option.id,this._prepareDataValue());\n\t\t}\n\t}\n\n\t_selectOptions(options, manual)\n\t{\n\t\tthis._label.setText(\"\");\n\n\t\tthis._icons = options.map(_option => {\n\t\t\tconst selectedLabel = new Element(\"span\", {\n\t\t\t\tclass: this._config.classNames.selectedLabel,\n\t\t\t\ttextContent: _option.name\n\t\t\t});\n\n\t\t\tconst remove = new Element(\"span\", {\n\t\t\t\tclass: `${this._config.classNames.remove}`,\n\t\t\t\tvalue: _option.id\n\t\t\t});\n\n\t\t\tremove.addEventListener(\"click\", this._boundUnselectOption);\n\n\t\t\tselectedLabel.append(remove.get());\n\t\t\tthis._label.append(selectedLabel.get());\n\n\t\t\treturn remove.get();\n\t\t});\n\n\t\tif (manual)\n\t\t{\n\t\t\t// eslint-disable-next-line no-magic-numbers\n\t\t\tthis._optionsWrapper.setTop(Number(this._select.getHeight().split(\"px\")[0]) + 5);\n\t\t}\n\n\t\tif (this._config.onChange && manual)\n\t\t{\n\t\t\tthis._config.onChange(this._config.value, this._prepareDataValue());\n\t\t}\n\t}\n\n\t_unselectOption(event)\n\t{\n\t\tconst newValue = [...this._config.value];\n\t\tconst index = newValue.indexOf(event.target.getAttribute(\"data-value\"));\n\n\t\t// eslint-disable-next-line no-magic-numbers\n\t\tif (index !== -1)\n\t\t{\n\t\t\tnewValue.splice(index, 1);\n\t\t}\n\n\t\tthis._setValue(newValue, true, true);\n\t}\n\n\t_sortOptions(event)\n\t{\n\t\tthis._options.forEach(_option => {\n\t\t\tif (!_option.get().textContent.toLowerCase().startsWith(event.target.value.toLowerCase()))\n\t\t\t{\n\t\t\t\t_option.addClass(this._config.classNames.optionHidden);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t_option.removeClass(this._config.classNames.optionHidden);\n\t\t});\n\t}\n}\n\nexport default Autocomplete;\n","import Autocomplete from './autocomplete/autocomplete';\nimport { Popup } from 'main.popup';\n\nexport class Toloka\n{\n\t#page = BX.Sender.Page;\n\t#helper = BX.Sender.Helper;\n\t#context;\n\t#actionUri;\n\t#isFrame;\n\t#prettyDateFormat;\n\t#isSaved;\n\t#isRegistered;\n\t#isOutside;\n\t#mess;\n\t#letterTile;\n\t#selectorNode;\n\t#editorNode;\n\t#titleNode;\n\t#loginNode;\n\t#formNode;\n\t#oauthCodeNode;\n\t#filterNode;\n\t#filterData;\n\t#filterId;\n\t#filter;\n\t#ajaxAction;\n\t#messageFields = null;\n\t#templateChangeButton;\n\t#buttonsNode;\n\t#templateNameNode;\n\t#templateTypeNode;\n\t#templateIdNode;\n\t#templateData;\n\t#preset;\n\t#REGION_BY_IP = 'REGION_BY_IP';\n\t#REGION_BY_PHONE = 'REGION_BY_PHONE';\n\n\tconstructor()\n\t{\n\t}\n\n\tstatic create(settings)\n\t{\n\t\tconst self = new Toloka();\n\t\tself.initialize(settings);\n\t\treturn self;\n\t}\n\n\tbindEvents()\n\t{\n\t\tthis._expireInNode.addEventListener('change', this.validateRequiredFields.bind(this));\n\t\tif (BX.Sender.Template && BX.Sender.Template.Selector)\n\t\t{\n\t\t\tconst selector = BX.Sender.Template.Selector;\n\t\t\tBX.addCustomEvent(selector, selector.events.templateSelect, this.onTemplateSelect.bind(this));\n\t\t\tBX.addCustomEvent(selector, selector.events.selectorClose, this.closeTemplateSelector.bind(this));\n\t\t}\n\n\t\tif (this.#filterNode)\n\t\t{\n\t\t\tBX.bind(\n\t\t\t\tthis.#filterNode,\n\t\t\t\t'click',\n\t\t\t\tthis.initAddressWidget.bind(this, this.#REGION_BY_IP)\n\t\t\t);\n\t\t\tBX.bind(\n\t\t\t\tthis.#filterNode,\n\t\t\t\t'click',\n\t\t\t\tthis.initAddressWidget.bind(this, this.#REGION_BY_PHONE)\n\t\t\t);\n\t\t}\n\n\t\tif(this._saveBtn)\n\t\t{\n\t\t\tBX.bind(\n\t\t\t\tthis._saveBtn,\n\t\t\t\t'click',\n\t\t\t\tthis.applyChanges.bind(this)\n\t\t\t);\n\t\t}\n\n\t\tif (this.#templateChangeButton)\n\t\t{\n\t\t\tBX.bind(this.#templateChangeButton, 'click', this.showTemplateSelector.bind(this));\n\t\t}\n\n\t\tif (this.#isSaved)\n\t\t{\n\t\t\ttop.BX.onCustomEvent(top, 'sender-letter-edit-change', [this.letterTile]);\n\t\t\tthis.#page.slider.close();\n\n\t\t\tif (this.#isOutside)\n\t\t\t{\n\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\tcontent: this.#mess.outsideSaveSuccess,\n\t\t\t\t\tautoHideDelay: 5000\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tinitialize(params)\n\t{\n\t\tthis.#context = BX(params.containerId);\n\t\tthis.#filterData = [];\n\t\tthis.#filterData[this.#REGION_BY_IP] = {\n\t\t\tregion: []\n\t\t};\n\t\tthis.#filterData[this.#REGION_BY_PHONE] = {\n\t\t\tregion: []\n\t\t};\n\n\t\tthis.#filterId = 'toloka-filter-connector';\n\t\tthis.#filterNode = document.getElementById(`${this.#filterId}_search_container`);\n\t\tthis.#filter = this.getFilter();\n\t\tthis.#templateChangeButton = BX('SENDER_TOLOKA_BUTTON_CHANGE');\n\t\tthis.#helper.changeDisplay(this.#templateChangeButton, false);\n\n\t\tthis.#actionUri = params.actionUri;\n\t\tthis.#ajaxAction = new BX.AjaxAction(this.#actionUri);\n\t\tthis.#isFrame = params.isFrame || false;\n\t\tthis.#prettyDateFormat = params.prettyDateFormat;\n\t\tthis.#isSaved = params.isSaved || false;\n\t\tthis.#isRegistered = params.isRegistered || false;\n\t\tthis.#isOutside = params.isOutside || false;\n\t\tthis.#mess = params.mess;\n\t\tthis.#letterTile = params.letterTile || {};\n\t\tthis.#templateData = [];\n\t\tthis.#messageFields = this.objectKeysToLowerCase(JSON.parse(params.preset));\n\n\t\tthis.prepareNodes();\n\t\tthis.buildDispatchNodes();\n\n\t\tthis._filterNode = [];\n\t\tthis._regionInput = [];\n\t\tthis._autocomplete = [];\n\t\tthis.bindEvents();\n\n\t\tthis.#helper.titleEditor.init({\n\t\t\tdataNode: this.#titleNode,\n\t\t\tdisabled: false,\n\t\t\tdefaultTitle: this.getPatternTitle(this.#mess.name)\n\t\t});\n\n\t\tthis.#page.initButtons();\n\n\t\tif (this.isMSBrowser())\n\t\t{\n\t\t\tthis.#context.classList.add('bx-sender-letter-ms-ie');\n\t\t}\n\n\t\tif (!this.#isRegistered)\n\t\t{\n\t\t\tthis.#loginNode.style = '';\n\t\t\tthis.#formNode.style = 'display:none;';\n\t\t}\n\t}\n\n\tprepareNodes()\n\t{\n\t\tthis.#selectorNode = this.#helper.getNode('template-selector', this.#context);\n\t\tthis.#editorNode = this.#helper.getNode('editor', this.#context);\n\t\tthis.#titleNode = this.#helper.getNode('title', this.#context);\n\t\tthis.#loginNode = this.#helper.getNode('login', this.#context);\n\t\tthis.#formNode = this.#helper.getNode('sender-toloka-form', this.#context);\n\t\tthis.#oauthCodeNode = this.#helper.getNode('toloka-oauth-code', this.#context);\n\n\t\tthis.#buttonsNode = this.#helper.getNode('letter-buttons', this.#context);\n\t\tthis.#templateNameNode = this.#helper.getNode('template-name', this.#editorNode);\n\t\tthis.#templateTypeNode = this.#helper.getNode('template-type', this.#editorNode);\n\t\tthis.#templateIdNode = this.#helper.getNode('template-id', this.#editorNode);\n\n\t\tthis._projectNode = document.getElementById('CONFIGURATION_PROJECT_ID');\n\t\tthis._poolNode = document.getElementById('CONFIGURATION_POOL_ID');\n\t\tthis._taskSuiteNode = document.getElementById('CONFIGURATION_TASK_SUITE_ID');\n\t\tthis._descriptionNode = document.getElementById('CONFIGURATION_DESCRIPTION');\n\t\tthis._instructionNode = document.getElementById('CONFIGURATION_INSTRUCTION');\n\t\tthis._tasksNode = document.getElementById('CONFIGURATION_TASKS');\n\t\tthis._overlapNode = document.getElementById('CONFIGURATION_OVERLAP');\n\t\tthis._adultContentNode = document.getElementById('CONFIGURATION_ADULT_CONTENT');\n\t\tthis._priceNode = document.getElementById('CONFIGURATION_PRICE');\n\t\tthis._expireInNode = document.getElementById('CONFIGURATION_EXPIRE_IN');\n\t\tthis._saveBtn = document.getElementById('ui-button-panel-save');\n\n\n\t\tthis._projectNode.parentNode.parentNode.style = 'display:none';\n\t\tthis._poolNode.parentNode.parentNode.style = 'display:none';\n\t\tthis._taskSuiteNode.parentNode.parentNode.style = 'display:none';\n\t}\n\n\tinitAddressWidget(name)\n\t{\n\t\tthis._filterNode[name] = document.querySelectorAll(`div[data-name=${name}]`)[0];\n\t\tif (this._autocomplete[name])\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tconst self = this;\n\n\t\tthis._autocomplete[name] = new Autocomplete(this._filterNode[name], {\n\t\t\toptions: [],\n\t\t\tmultiple: true,\n\t\t\tautocomplete: true,\n\t\t\tonChange: (value, preparedValue) => {\n\t\t\t\tself.#filterData[name] = value;\n\t\t\t\tthis.#filter.getFieldByName(name).ITEMS = preparedValue;\n\t\t\t\tthis.#filter.getFieldByName(name).VALUE = preparedValue;\n\t\t\t}\n\t\t});\n\n\t\tthis._regionInput[name] = document.querySelectorAll(`input[data-name=autocomplete-${name}]`)[0];\n\t\tBX.bind(\n\t\t\tthis._regionInput[name],\n\t\t\t'keyup',\n\t\t\tthis.getLocationList.bind(this, name)\n\t\t);\n\t}\n\n\tregister()\n\t{\n\t\tconst self = this;\n\t\tthis.#ajaxAction.request({\n\t\t\taction: 'registerOAuth',\n\t\t\tonsuccess: (response) => {\n\t\t\t\tself.#loginNode.style = 'display:none;';\n\t\t\t\tself.#formNode.style = '';\n\t\t\t},\n\t\t\tdata: { 'access_code': this.#oauthCodeNode.value }\n\t\t});\n\t}\n\n\tisMSBrowser()\n\t{\n\t\treturn window.navigator.userAgent.match(/(Trident\\/|MSIE|Edge\\/)/) !== null;\n\t}\n\n\tgetPatternTitle(name)\n\t{\n\t\treturn this.#helper.replace(\n\t\t\tthis.#mess.patternTitle,\n\t\t\t{\n\t\t\t\t'name': name,\n\t\t\t\t'date': BX.date.format(this.#prettyDateFormat)\n\t\t\t}\n\t\t);\n\t}\n\n\tonTemplateSelect(template)\n\t{\n\t\tif (this.#templateNameNode)\n\t\t{\n\t\t\tthis.#templateNameNode.textContent = template.name;\n\t\t}\n\t\tif (this.#templateTypeNode)\n\t\t{\n\t\t\tthis.#templateTypeNode.value = template.type;\n\t\t}\n\t\tif (this.#templateIdNode)\n\t\t{\n\t\t\tthis.#templateIdNode.value = template.code;\n\t\t}\n\n\t\tthis.#messageFields = template.messageFields;\n\n\t\tthis.buildDispatchNodes();\n\t\tthis.#titleNode.value = this.getPatternTitle(template.name);\n\n\t\tBX.fireEvent(this.#titleNode, 'change');\n\n\t\tthis.closeTemplateSelector();\n\t\twindow.scrollTo(0, 0);\n\t}\n\n\tbuildDispatchNodes()\n\t{\n\t\tconst self = this;\n\t\tthis.#helper.getNodes('dispatch', this.#context).forEach(node => {\n\t\t\tconst code = node.getAttribute('data-code');\n\t\t\tfor(const field in self.#messageFields)\n\t\t\t{\n\t\t\t\tif(!self.#messageFields.hasOwnProperty(field))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst data = self.#messageFields[field];\n\t\t\t\tif (data.code === code && node.innerHTML.length === 0)\n\t\t\t\t{\n\t\t\t\t\tnode.innerHTML = data.value;\n\t\t\t\t}\n\n\t\t\t\tself.#templateData[data.code] = data.value;\n\t\t\t}\n\t\t});\n\t}\n\n\tcloseTemplateSelector()\n\t{\n\t\tthis.changeDisplayingTemplateSelector(false);\n\t}\n\n\tshowTemplateSelector()\n\t{\n\t\tthis.changeDisplayingTemplateSelector(true);\n\t}\n\n\tchangeDisplayingTemplateSelector(isShow)\n\t{\n\t\tconst classShow = 'bx-sender-letter-show';\n\t\tconst classHide = 'bx-sender-letter-hide';\n\t\tthis.#helper.changeClass(this.#selectorNode, classShow, isShow);\n\t\tthis.#helper.changeClass(this.#selectorNode, classHide, !isShow);\n\n\t\tthis.#helper.changeClass(this.#editorNode, classShow, !isShow);\n\t\tthis.#helper.changeClass(this.#editorNode, classHide, isShow);\n\n\t\tthis.#helper.changeDisplay(this.#templateChangeButton, !isShow);\n\t\tthis.#helper.changeDisplay(this.#buttonsNode, !isShow);\n\n\t\tisShow ? this.#helper.titleEditor.disable() : this.#helper.titleEditor.enable();\n\t}\n\n\tobjectKeysToLowerCase(origObj)\n\t{\n\t\tconst self = this;\n\t\tif(origObj === null)\n\t\t{\n\t\t\treturn origObj;\n\t\t}\n\n\t\treturn Object.keys(origObj).reduce(function(newObj, key) {\n\t\t\tconst val = origObj[key];\n\t\t\tnewObj[key.toLowerCase()] = (typeof val === 'object') ? self.objectKeysToLowerCase(val) : val;\n\t\t\treturn newObj;\n\t\t}, {})\n\t}\n\n\tgetLocationList(name)\n\t{\n\t\tif (this._regionInput[name].value.length < 3)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst self = this;\n\t\tthis.#ajaxAction.request({\n\t\t\taction: 'getGeoList',\n\t\t\tdata: {\n\t\t\t\tname: this._regionInput[name].value\n\t\t\t},\n\t\t\tonsuccess: function(response) {\n\t\t\t\tlet data = [];\n\n\t\t\t\tfor (const value in response)\n\t\t\t\t{\n\t\t\t\t\tconst responseData = response[value];\n\t\t\t\t\tif (typeof responseData === 'object' && 'id' in responseData)\n\t\t\t\t\t{\n\t\t\t\t\t\tdata.push(responseData);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (self._autocomplete[name])\n\t\t\t\t{\n\t\t\t\t\tself._autocomplete[name].setOptions(data);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tvalidateRequiredFields()\n\t{\n\t\tlet success = true;\n\n\t\t[\n\t\t\tthis._expireInNode,\n\t\t\tthis._priceNode,\n\t\t\tthis._tasksNode\n\t\t].every(element => {\n\t\t\tif(!this.validateField(element))\n\t\t\t{\n\t\t\t\tsuccess = false;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\tif(!success)\n\t\t{\n\t\t\tthis.removeLoader();\n\t\t}\n\t\treturn success;\n\t}\n\n\tremoveLoader()\n\t{\n\t\tthis._saveBtn.classList.remove(\"ui-btn-wait\");\n\t}\n\n\tvalidateField(field)\n\t{\n\t\tif(!this._validatorPopup)\n\t\t{\n\t\t\tthis._validatorPopup = new Popup({\n\t\t\t\tid: \"sender-toloka-validator\",\n\t\t\t\tcontent: `${this.#mess.required}`,\n\t\t\t});\n\t\t}\n\n\t\tif(!field.value)\n\t\t{\n\t\t\tthis._validatorPopup.setBindElement(field);\n\t\t\tthis._validatorPopup.show();\n\t\t\tfield.classList.add(\"bx-sender-form-control-danger\");\n\t\t\tfield.scrollIntoView();\n\t\t\treturn false\n\t\t}\n\t\tthis._validatorPopup.close();\n\n\t\tfield.classList.remove(\"bx-sender-form-control-danger\");\n\t\treturn true;\n\t}\n\n\tcreateProject()\n\t{\n\t\tif(!this.validateRequiredFields())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tconst input_key = Object.keys(this.#templateData['INPUT_VALUE'])[0];\n\t\tconst output_key = Object.keys(this.#templateData['OUTPUT_VALUE'])[0];\n\t\tthis.#ajaxAction.request({\n\t\t\taction: 'createProject',\n\t\t\tdata: {\n\t\t\t\tid: this._projectNode.value,\n\t\t\t\tname: this.#titleNode.value,\n\t\t\t\tdescription: this._descriptionNode.value,\n\t\t\t\tinstruction: this._instructionNode.value,\n\t\t\t\tinput_type: this.#templateData['INPUT_VALUE'][input_key],\n\t\t\t\tinput_identificator: input_key,\n\t\t\t\toutput_type: this.#templateData['OUTPUT_VALUE'][output_key],\n\t\t\t\toutput_identificator: output_key,\n\t\t\t\tmarkup: this.#templateData['PRESET'].template,\n\t\t\t\tscript: this.#templateData['PRESET'].js,\n\t\t\t\tstyles: this.#templateData['PRESET'].css\n\t\t\t},\n\t\t\tonsuccess: response => {\n\t\t\t\tthis._projectNode.value = response.id;\n\t\t\t\tthis.createPool(response.id);\n\t\t\t},\n\t\t\tonfailure: response => {\n\t\t\t\tthis.removeLoader();\n\t\t\t}\n\t\t});\n\t}\n\n\tcreatePool(projectId)\n\t{\n\t\tconst input_key = Object.keys(this.#templateData['INPUT_VALUE'])[0]\n\t\tthis.#ajaxAction.request({\n\t\t\taction: 'createPool',\n\t\t\tdata: {\n\t\t\t\tid: this._poolNode.value,\n\t\t\t\ttask_suite_id: this._taskSuiteNode.value,\n\t\t\t\tproject_id: projectId,\n\t\t\t\tprivate_name: this.#titleNode.value,\n\t\t\t\tpublic_description: this._descriptionNode.value,\n\t\t\t\tmay_contain_adult_content: this._adultContentNode.checked,\n\t\t\t\treward_per_assignment: this._priceNode.value,\n\t\t\t\twill_expire: this._expireInNode.value,\n\t\t\t\toverlap: this._overlapNode.value,\n\t\t\t\ttasks: this._tasksNode.value,\n\t\t\t\tidentificator: input_key,\n\t\t\t\tfilter: this.#filterData\n\t\t\t},\n\t\t\tonsuccess: response => {\n\t\t\t\tthis._poolNode.value = response.pool_id;\n\t\t\t\tthis._taskSuiteNode.value = response.id;\n\n\t\t\t\tconst form = this.#context.getElementsByTagName('form');\n\n\t\t\t\tif (form && form[0])\n\t\t\t\t{\n\t\t\t\t\tform[0].appendChild(BX.create('input', {\n\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\ttype: \"hidden\",\n\t\t\t\t\t\t\tname: \"apply\",\n\t\t\t\t\t\t\tvalue: \"Y\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\n\t\t\t\t\tform[0].submit();\n\t\t\t\t}\n\t\t\t},\n\t\t\tonfailure: response => {\n\t\t\t\tthis.removeLoader();\n\t\t\t}\n\t\t});\n\t}\n\n\tapplyChanges(event)\n\t{\n\t\tthis.createProject();\n\t}\n\n\tgetFilter()\n\t{\n\t\tconst filter = BX.Main.filterManager.getById(this.#filterId);\n\t\tif (!filter || !(filter instanceof BX.Main.Filter))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn filter;\n\t}\n}"],"names":["allowedAttributes","value","name","disabled","class","type","Element","element","attributes","i18n","_node","HTMLElement","document","createElement","_config","_setAttributes","textContent","_setTextContent","appendChild","className","classList","add","remove","toggle","callback","addEventListener","removeEventListener","text","window","getComputedStyle","height","width","top","style","focus","key","_setAttribute","setAttribute","getAttribute","CLASSES","select","dropdownShown","multiselect","label","placeholder","dropdown","option","optionDisabled","autocompleteInput","selectedLabel","selectedOption","placeholderHidden","optionHidden","Autocomplete","config","classNames","disabledOptions","_state","opened","_icons","_holderElement","_boundHandleClick","_handleClick","bind","_boundUnselectOption","_unselectOption","_boundSortOptions","_sortOptions","_body","body","_create","_setValue","data","forEach","exists","options","id","push","_options","_generateOptions","multiple","_element","querySelector","_parent","selector","querySelectorAll","dataset","selectClone","cloneNode","removeChild","_select","_label","_optionsWrapper","addClass","append","get","deleteButton","parentNode","length","BX","reset","_placeholder","_popup","Popup","Math","random","bindElement","zIndex","maxHeight","setContent","autocomplete","_autocomplete","map","_option","preOption","String","event","stopPropagation","target","find","close","removeClass","icon","show","dataValue","_value","toString","NAME","VALUE","JSON","stringify","manual","unselected","indexOf","optionNode","_selectOptions","_prepareDataValue","setText","_selectOption","_selectedOption","onChange","setTop","Number","getHeight","split","newValue","index","splice","toLowerCase","startsWith","Toloka","Sender","Page","Helper","_expireInNode","validateRequiredFields","Template","Selector","addCustomEvent","events","templateSelect","onTemplateSelect","selectorClose","closeTemplateSelector","initAddressWidget","_saveBtn","applyChanges","showTemplateSelector","onCustomEvent","letterTile","slider","UI","Notification","Center","notify","content","outsideSaveSuccess","autoHideDelay","params","containerId","region","getElementById","getFilter","changeDisplay","actionUri","AjaxAction","isFrame","prettyDateFormat","isSaved","isRegistered","isOutside","mess","objectKeysToLowerCase","parse","preset","prepareNodes","buildDispatchNodes","_filterNode","_regionInput","bindEvents","titleEditor","init","dataNode","defaultTitle","getPatternTitle","initButtons","isMSBrowser","getNode","_projectNode","_poolNode","_taskSuiteNode","_descriptionNode","_instructionNode","_tasksNode","_overlapNode","_adultContentNode","_priceNode","self","preparedValue","getFieldByName","ITEMS","getLocationList","request","action","onsuccess","response","navigator","userAgent","match","replace","patternTitle","date","format","template","code","messageFields","fireEvent","scrollTo","getNodes","node","field","hasOwnProperty","innerHTML","changeDisplayingTemplateSelector","isShow","classShow","classHide","changeClass","disable","enable","origObj","Object","keys","reduce","newObj","val","responseData","setOptions","success","every","validateField","removeLoader","_validatorPopup","required","setBindElement","scrollIntoView","input_key","output_key","description","instruction","input_type","input_identificator","output_type","output_identificator","markup","script","js","styles","css","createPool","onfailure","projectId","task_suite_id","project_id","private_name","public_description","may_contain_adult_content","checked","reward_per_assignment","will_expire","overlap","tasks","identificator","filter","pool_id","form","getElementsByTagName","create","attrs","submit","createProject","Main","filterManager","getById","Filter","settings","initialize"],"mappings":"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"}editor/htmleditor.js000064400000002324147722313310010547 0ustar00;(function () {
	BX.ready(function()
	{
		function PlaceHolderSelectorList(editor, wrap)
		{
			// Call parent constructor
			PlaceHolderSelectorList.superclass.constructor.apply(this, arguments);
			this.id = 'placeholder_selector';
			this.title = BX.message('BXEdPlaceHolderSelectorTitle');
			this.action = 'insertHTML';
			this.zIndex = 3008;

			this.placeHolderList = [];
			editor.On('PlaceHolderSelectorListCreate', [this]);

			this.disabledForTextarea = false;
			this.arValues = [];

			for (var i in this.placeHolderList)
			{
				var value = this.placeHolderList[i];
				value.value = '#' + value.CODE + '#';
				this.arValues.push(
					{
						id: value.CODE,
						name: value.NAME,
						topName: BX.message('BXEdPlaceHolderSelectorTitle'),
						title: value.value + ' - ' + value.DESC,
						className: '',
						style: '',
						action: 'insertHTML',
						value: value.value
					}
				);
			}

			this.Create();
			this.pCont.innerHTML = BX.message('BXEdPlaceHolderSelectorTitle');

			if (wrap)
			{
				wrap.appendChild(this.GetCont());
			}
		}

		BX.extend(PlaceHolderSelectorList, window.BXHtmlEditor.DropDownList);
		window.BXHtmlEditor.Controls['placeholder_selector'] = PlaceHolderSelectorList;
	});
})();editor/htmleditor.min.js000064400000001473147722313310011335 0ustar00(function(){BX.ready(function(){function e(t,l){e.superclass.constructor.apply(this,arguments);this.id="placeholder_selector";this.title=BX.message("BXEdPlaceHolderSelectorTitle");this.action="insertHTML";this.zIndex=3008;this.placeHolderList=[];t.On("PlaceHolderSelectorListCreate",[this]);this.disabledForTextarea=false;this.arValues=[];for(var i in this.placeHolderList){var s=this.placeHolderList[i];s.value="#"+s.CODE+"#";this.arValues.push({id:s.CODE,name:s.NAME,topName:BX.message("BXEdPlaceHolderSelectorTitle"),title:s.value+" - "+s.DESC,className:"",style:"",action:"insertHTML",value:s.value})}this.Create();this.pCont.innerHTML=BX.message("BXEdPlaceHolderSelectorTitle");if(l){l.appendChild(this.GetCont())}}BX.extend(e,window.BXHtmlEditor.DropDownList);window.BXHtmlEditor.Controls["placeholder_selector"]=e})})();editor/htmleditor.map.js000064400000002204147722313310011320 0ustar00{"version":3,"sources":["htmleditor.js"],"names":["BX","ready","PlaceHolderSelectorList","editor","wrap","superclass","constructor","apply","this","arguments","id","title","message","action","zIndex","placeHolderList","On","disabledForTextarea","arValues","i","value","CODE","push","name","NAME","topName","DESC","className","style","Create","pCont","innerHTML","appendChild","GetCont","extend","window","BXHtmlEditor","DropDownList","Controls"],"mappings":"CAAC,WACAA,GAAGC,MAAM,WAER,SAASC,EAAwBC,EAAQC,GAGxCF,EAAwBG,WAAWC,YAAYC,MAAMC,KAAMC,WAC3DD,KAAKE,GAAK,uBACVF,KAAKG,MAAQX,GAAGY,QAAQ,gCACxBJ,KAAKK,OAAS,aACdL,KAAKM,OAAS,KAEdN,KAAKO,mBACLZ,EAAOa,GAAG,iCAAkCR,OAE5CA,KAAKS,oBAAsB,MAC3BT,KAAKU,YAEL,IAAK,IAAIC,KAAKX,KAAKO,gBACnB,CACC,IAAIK,EAAQZ,KAAKO,gBAAgBI,GACjCC,EAAMA,MAAQ,IAAMA,EAAMC,KAAO,IACjCb,KAAKU,SAASI,MAEZZ,GAAIU,EAAMC,KACVE,KAAMH,EAAMI,KACZC,QAASzB,GAAGY,QAAQ,gCACpBD,MAAOS,EAAMA,MAAQ,MAAQA,EAAMM,KACnCC,UAAW,GACXC,MAAO,GACPf,OAAQ,aACRO,MAAOA,EAAMA,QAKhBZ,KAAKqB,SACLrB,KAAKsB,MAAMC,UAAY/B,GAAGY,QAAQ,gCAElC,GAAIR,EACJ,CACCA,EAAK4B,YAAYxB,KAAKyB,YAIxBjC,GAAGkC,OAAOhC,EAAyBiC,OAAOC,aAAaC,cACvDF,OAAOC,aAAaE,SAAS,wBAA0BpC,KA9CxD","file":""}b24_feedback.map.js000064400000004263147722313310010061 0ustar00{"version":3,"sources":["b24_feedback.js"],"names":["BX","namespace","Sender","B24Feedback","wasInit","config","init","params","this","button","bind","show","initForm","senderPage","window","location","href","match","w","d","u","b","arguments","ref","forms","push","s","createElement","r","Date","async","src","h","getElementsByTagName","parentNode","insertBefore","document","id","lang","sec","b24_zone","b24form","type","node","dataContainer","presets","b24_plan","sender_page","initPopup","popup","isShown","style","PopupWindowManager","create","content","autoHide","lightShadow","overlay","opacity","backgroundColor","closeByEsc","closeIcon","buttons"],"mappings":"CAAC,WAEAA,GAAGC,UAAU,aAEbD,GAAGE,OAAOC,aACTC,QAAS,MACTC,OAAQ,KACRC,KAAM,SAAUC,GAEfC,KAAKH,OAASE,MACd,IAAIE,EAAST,GAAG,0BAChB,GAAIS,EACJ,CACCT,GAAGU,KAAKD,EAAQ,QAASD,KAAKG,KAAKD,KAAKF,OAGzCA,KAAKJ,QAAU,MAEhBQ,SAAU,WAET,IAAIC,EAAaC,OAAOC,SAASC,KAAKC,MAAM,mCAC5C,GAAIJ,EACJ,CACCA,EAAaA,EAAW,GAAK,IAAMA,EAAW,IAG/C,SAAUK,EAAEC,EAAEC,EAAEC,GACfH,EAAE,sBAAsBG,EAAEH,EAAEG,GAAKH,EAAEG,IAAM,WAAWC,UAAU,GAAGC,IAAIH,GACpEF,EAAEG,GAAGG,MAAMN,EAAEG,GAAGG,WAAWC,KAAKH,UAAU,KAAM,GAAGJ,EAAEG,GAAG,SAAU,OACnE,IAAIK,EAAEP,EAAEQ,cAAc,UACtB,IAAIC,EAAE,EAAE,IAAIC,KAAQH,EAAEI,MAAM,EAAEJ,EAAEK,IAAIX,EAAE,IAAIQ,EAC1C,IAAII,EAAEb,EAAEc,qBAAqB,UAAU,GAAGD,EAAEE,WAAWC,aAAaT,EAAEM,IALvE,CAMGlB,OAAOsB,SAAS,2DAA2D,WAE9E,IAAIC,EAAIC,EAAMC,EACd,OAAQ/B,KAAKH,OAAOmC,UAEnB,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACJH,EAAK,KACLC,EAAO,KACPC,EAAM,SACN,MAED,IAAK,KACJF,EAAK,KACLC,EAAO,KACPC,EAAM,SACN,MAED,IAAK,KACJF,EAAK,KACLC,EAAO,KACPC,EAAM,SACN,MAED,IAAK,SACJF,EAAK,KACLC,EAAO,KACPC,EAAM,SACN,MAED,QACCF,EAAK,KACLC,EAAO,KACPC,EAAM,SACN,MAGF,IAAKF,EACL,CACC,OAGDvB,OAAO2B,SACNJ,GAAKA,EACLC,KAAOA,EACPC,IAAMA,EACNG,KAAO,SACPC,KAAQnC,KAAKoC,cACbC,SACCC,SAAYtC,KAAKH,OAAOyC,SACxBC,YAAelC,MAIlBF,KAAM,WAEL,IAAKH,KAAKJ,QACV,CACCI,KAAKF,OAGN,IAAKE,KAAKoC,cACV,CACCpC,KAAKwC,YACLxC,KAAKI,WAGN,GAAIJ,KAAKyC,MAAMC,UACf,CACC,OAGD1C,KAAKyC,MAAMtC,QAGZqC,UAAW,WAEVxC,KAAKoC,cAAgBR,SAAST,cAAc,OAC5CnB,KAAKoC,cAAcO,MAAQ,iDAE3B3C,KAAKyC,MAAQjD,GAAGoD,mBAAmBC,OAClC,4BACA7C,KAAKC,QAEJ6C,QAAS9C,KAAKoC,cACdW,SAAU,KACVC,YAAa,MACbC,SACCC,QAAS,IACTC,gBAAiB,SAElBC,WAAY,KACZC,UAAW,KAEXC,gBAhIJ,CAsIEhD","file":""}b24_license/script.min.js000064400000001300147722313310011256 0ustar00(function(){BX.namespace("BX.Sender");BX.Sender.B24License={getTitle:function(e){return BX.message("SENDER_B24_LICENSE_"+e.toUpperCase()+"_TITLE")},getText:function(e){var t="SENDER_B24_LICENSE_%code%_TEXT".replace("%code%",e.toUpperCase());var i="";if(BX.message[t]){i=BX.message(t)}if(!i){t=t+"1"}if(BX.message[t]){i=BX.message(t)}return i},showDefaultPopup:function(){this.showPopup("Ad")},showMailingPopup:function(){this.showPopup("Mailing")},showMailLimitPopup:function(){this.showPopup("Mail_limit")},showPopup:function(e){if(!B24||!B24.licenseInfoPopup){return}B24.licenseInfoPopup.show(e,this.getTitle(e),"<span>"+(this.getText(e)?this.getText(e):this.getText("Ad"))+"</span>",true)}}})(window);b24_license/script.map.js000064400000001623147722313310011260 0ustar00{"version":3,"sources":["script.js"],"names":["BX","namespace","Sender","B24License","getTitle","code","message","toUpperCase","getText","messageCode","replace","mess","showDefaultPopup","this","showPopup","showMailingPopup","showMailLimitPopup","B24","licenseInfoPopup","show","window"],"mappings":"CAAC,WAEAA,GAAGC,UAAU,aAEbD,GAAGE,OAAOC,YACTC,SAAU,SAAUC,GAEnB,OAAOL,GAAGM,QAAQ,sBAAwBD,EAAKE,cAAgB,WAEhEC,QAAS,SAAUH,GAElB,IAAII,EAAc,iCAAiCC,QAAQ,SAAUL,EAAKE,eAC1E,IAAII,EAAO,GACX,GAAIX,GAAGM,QAAQG,GACf,CACCE,EAAOX,GAAGM,QAAQG,GAEnB,IAAKE,EACL,CACCF,EAAcA,EAAc,IAE7B,GAAIT,GAAGM,QAAQG,GACf,CACCE,EAAOX,GAAGM,QAAQG,GAGnB,OAAOE,GAERC,iBAAkB,WAEjBC,KAAKC,UAAU,OAEhBC,iBAAkB,WAEjBF,KAAKC,UAAU,YAEhBE,mBAAoB,WAEnBH,KAAKC,UAAU,eAEhBA,UAAW,SAAUT,GAEpB,IAAKY,MAAQA,IAAIC,iBACjB,CACC,OAGDD,IAAIC,iBAAiBC,KACpBd,EACAQ,KAAKT,SAASC,GACd,UAAYQ,KAAKL,QAAQH,GAAQQ,KAAKL,QAAQH,GAAQQ,KAAKL,QAAQ,OAAS,UAC5E,SAnDH,CAwDEY","file":""}b24_license/script.js000064400000002051147722313310010500 0ustar00;(function () {

	BX.namespace('BX.Sender');

	BX.Sender.B24License = {
		getTitle: function (code)
		{
			return BX.message('SENDER_B24_LICENSE_' + code.toUpperCase() + '_TITLE');
		},
		getText: function (code)
		{
			var messageCode = 'SENDER_B24_LICENSE_%code%_TEXT'.replace('%code%', code.toUpperCase());
			var mess = '';
			if (BX.message[messageCode])
			{
				mess = BX.message(messageCode);
			}
			if (!mess)
			{
				messageCode = messageCode + '1';
			}
			if (BX.message[messageCode])
			{
				mess = BX.message(messageCode);
			}

			return mess;
		},
		showDefaultPopup: function ()
		{
			this.showPopup('Ad');
		},
		showMailingPopup: function ()
		{
			this.showPopup('Mailing');
		},
		showMailLimitPopup: function ()
		{
			this.showPopup('Mail_limit');
		},
		showPopup: function (code)
		{
			if (!B24 || !B24.licenseInfoPopup)
			{
				return;
			}

			B24.licenseInfoPopup.show(
				code,
				this.getTitle(code),
				'<span>' + (this.getText(code) ? this.getText(code) : this.getText('Ad')) + '</span>',
				true
			);
		}
	};

})(window);b24_license/style.css000064400000001445147722313310010516 0ustar00.b24-tariff-lock .menu-popup-item-icon {
	min-height: 12px;
	width: 9px;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%208%2010%22%3E%3Cpath%20fill%3D%22%23828B95%22%20fill-rule%3D%22evenodd%22%20d%3D%22M4.344%207.346v1.472c0%20.184-.152.335-.337.335h-.074c-.185%200-.337-.15-.337-.335V7.346c-.334-.145-.57-.473-.57-.858%200-.52.423-.937.944-.937.52%200%20.944.42.944.938%200%20.385-.236.713-.57.858zM2.02%202.984C2.025%202.78%202.093.982%203.97.982s1.946%201.797%201.948%202v.982H2.02v-.98zm4.888.98v-.982C6.908%201.95%206.294%200%203.97%200%201.646%200%201.032%201.95%201.032%202.982v.982H0v6.01h8v-6.01H6.908z%22%20opacity%3D%22.636%22/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
}b24_license/style.min.css000064400000001423147722313310011274 0ustar00.b24-tariff-lock .menu-popup-item-icon{min-height:12px;width:9px;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%208%2010%22%3E%3Cpath%20fill%3D%22%23828B95%22%20fill-rule%3D%22evenodd%22%20d%3D%22M4.344%207.346v1.472c0%20.184-.152.335-.337.335h-.074c-.185%200-.337-.15-.337-.335V7.346c-.334-.145-.57-.473-.57-.858%200-.52.423-.937.944-.937.52%200%20.944.42.944.938%200%20.385-.236.713-.57.858zM2.02%202.984C2.025%202.78%202.093.982%203.97.982s1.946%201.797%201.948%202v.982H2.02v-.98zm4.888.98v-.982C6.908%201.95%206.294%200%203.97%200%201.646%200%201.032%201.95%201.032%202.982v.982H0v6.01h8v-6.01H6.908z%22%20opacity%3D%22.636%22/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:center}b24_feedback.min.js000064400000003214147722313310010062 0ustar00(function(){BX.namespace("BX.Sender");BX.Sender.B24Feedback={wasInit:false,config:null,init:function(t){this.config=t||{};var e=BX("SENDER_BUTTON_FEEDBACK");if(e){BX.bind(e,"click",this.show.bind(this))}this.wasInit=true},initForm:function(){var t=window.location.href.match(/\/marketing\/([\w]+)\/([\w]+)\//);if(t){t=t[1]+"-"+t[2]}(function(t,e,i,n){t["Bitrix24FormObject"]=n;t[n]=t[n]||function(){arguments[0].ref=i;(t[n].forms=t[n].forms||[]).push(arguments[0])};if(t[n]["forms"])return;var a=e.createElement("script");var o=1*new Date;a.async=1;a.src=i+"?"+o;var r=e.getElementsByTagName("script")[0];r.parentNode.insertBefore(a,r)})(window,document,"https://landing.bitrix24.ru/bitrix/js/crm/form_loader.js","b24form");var e,i,n;switch(this.config.b24_zone){case"ru":case"ua":case"kz":case"by":e="20";i="ru";n="whjggl";break;case"es":e="26";i="la";n="5i211d";break;case"de":e="24";i="de";n="ls8jym";break;case"com.br":e="28";i="br";n="lqo2cl";break;default:e="22";i="en";n="iv17oh";break}if(!e){return}window.b24form({id:e,lang:i,sec:n,type:"inline",node:this.dataContainer,presets:{b24_plan:this.config.b24_plan,sender_page:t}})},show:function(){if(!this.wasInit){this.init()}if(!this.dataContainer){this.initPopup();this.initForm()}if(this.popup.isShown()){return}this.popup.show()},initPopup:function(){this.dataContainer=document.createElement("DIV");this.dataContainer.style="width: 600px; height: 673px; overflow-y: auto;";this.popup=BX.PopupWindowManager.create("sender-b24-feedback-popup",this.button,{content:this.dataContainer,autoHide:true,lightShadow:false,overlay:{opacity:500,backgroundColor:"black"},closeByEsc:true,closeIcon:true,buttons:[]})}}})(window);error_handler/config.php000066400000000413147722313310011353 0ustar00<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
	die();
}

return array(
	"js" => "/bitrix/js/sender/error_handler/dist/error_handler.bundle.js",
	"css" => "/bitrix/js/sender/error_handler/dist/error_handler.bundle.css",
	'skip_core' => true,
);error_handler/bundle.config.js000066400000000172147722313310012452 0ustar00module.exports = {
	input: './src/error_handler.js',
	output: './dist/error_handler.bundle.js',
	namespace: 'BX.Sender'
};error_handler/src/error_handler.css000066400000000206147722313310013524 0ustar00.sender-user-error-handler-text {
	display: block;
	padding: 20px;
	border-bottom: 1px solid rgba(207,213,223, .5);
	color: #535c69;
}error_handler/src/error_handler.js000066400000005633147722313310013361 0ustar00import {Loc, Tag, Type, Runtime} from "main.core";
import {EventEmitter} from "main.core.events";
import "./error_handler.css";

export class ErrorHandler
{
	constructor()
	{
	}

	onError(errorCode, data, callbackSuccess, callbackFailure)
	{
		let handlers = this.getHandlers(callbackSuccess, callbackFailure);
		if (handlers.hasOwnProperty(errorCode) && Type.isFunction(handlers[errorCode]))
		{
			handlers[errorCode].apply(this, [data]);
		}
	}

	getHandlers(callbackSuccess, callbackFailure, extraData)
	{
		return {
			'WRONG_EMAIL_FROM': this.getWrongEmailFromHandler.bind(this, callbackSuccess, callbackFailure, extraData),
			'FEATURE_NOT_AVAILABLE': this.getFeatureUnavailableHandler.bind(this, callbackSuccess, callbackFailure, extraData),
			'NEED_ACCEPT_AGREEMENT': this.needAcceptAgreementHandler.bind(this, callbackSuccess, callbackFailure, extraData),
		};
	}

	getWrongEmailFromHandler(callbackSuccess, callbackFailure, extraData, data) {
		if (extraData) {
			Object.assign(data, extraData);
		}
		this.oncloseCalbackActive = true;
		if (!this.wrongEmailFromPopup)
		{
			this.wrongEmailFromPopup = BX.PopupWindowManager.create(
				{
					id: 'sender_user_error_wrongEmailFrom',
					autoHide: true,
					lightShadow: true,
					closeByEsc: true,
					overlay: {backgroundColor: 'black', opacity: 500},
					events: {
						onPopupClose: () => {
							if (this.oncloseCalbackActive && Type.isFunction(callbackFailure)) {
								callbackFailure(data);
							}
						}
					}
				}
			);
		}
		this.wrongEmailFromPopup.setContent(Tag.render`<div class="sender-user-error-handler-text">
			${Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE')}
			<br>
			${Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE')}
			</div>`);
		this.wrongEmailFromPopup.setButtons([
			new BX.UI.Button({
				text : Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL'),
				color: BX.UI.Button.Color.SUCCESS,
				onclick: () => {
					location.href = data.editUrl;
					this.oncloseCalbackActive = false;
					this.wrongEmailFromPopup.close();
				}
			}),
			new BX.UI.Button({
				text : Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL'),
				color: BX.UI.Button.Color.LINK,
				onclick: () => {
					this.wrongEmailFromPopup.close();
				}
			}),
		]);
		this.wrongEmailFromPopup.show();
	}

	getFeatureUnavailableHandler(callbackSuccess, callbackFailure, extraData, data) {
		if (extraData) {
			Object.assign(data, extraData);
		}
		if (BX.Sender.B24License)
		{
			BX.Sender.B24License.showPopup('Ad');
		}
		callbackFailure(data);
	}

	needAcceptAgreementHandler(callbackSuccess, callbackFailure, extraData, data) {
		if (extraData) {
			Object.assign(data, extraData);
		}
		Runtime.loadExtension('sender_agreement').then(() => {
			EventEmitter.subscribe('BX.Sender.Agreement:onAccept', () => {
				callbackSuccess();
			});
			BX.Sender.Agreement.isAccepted = false;
			BX.Sender.Agreement.showPopup();
		});
	}
}error_handler/dist/error_handler.bundle.min.css000066400000000166147722313310015737 0ustar00.sender-user-error-handler-text{display:block;padding:20px;border-bottom:1px solid rgba(207,213,223,.5);color:#535c69}error_handler/dist/error_handler.bundle.css000066400000000206147722313310015150 0ustar00.sender-user-error-handler-text {
	display: block;
	padding: 20px;
	border-bottom: 1px solid rgba(207,213,223, .5);
	color: #535c69;
}error_handler/dist/error_handler.bundle.min.js000066400000004545147722313310015570 0ustar00this.BX=this.BX||{};(function(e,t,n){"use strict";function r(){var e=babelHelpers.taggedTemplateLiteral(['<div class="sender-user-error-handler-text">\n\t\t\t',"\n\t\t\t<br>\n\t\t\t","\n\t\t\t</div>"]);r=function t(){return e};return e}var o=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,[{key:"onError",value:function e(n,r,o,i){var a=this.getHandlers(o,i);if(a.hasOwnProperty(n)&&t.Type.isFunction(a[n])){a[n].apply(this,[r])}}},{key:"getHandlers",value:function e(t,n,r){return{WRONG_EMAIL_FROM:this.getWrongEmailFromHandler.bind(this,t,n,r),FEATURE_NOT_AVAILABLE:this.getFeatureUnavailableHandler.bind(this,t,n,r),NEED_ACCEPT_AGREEMENT:this.needAcceptAgreementHandler.bind(this,t,n,r)}}},{key:"getWrongEmailFromHandler",value:function e(n,o,i,a){var s=this;if(i){Object.assign(a,i)}this.oncloseCalbackActive=true;if(!this.wrongEmailFromPopup){this.wrongEmailFromPopup=BX.PopupWindowManager.create({id:"sender_user_error_wrongEmailFrom",autoHide:true,lightShadow:true,closeByEsc:true,overlay:{backgroundColor:"black",opacity:500},events:{onPopupClose:function e(){if(s.oncloseCalbackActive&&t.Type.isFunction(o)){o(a)}}}})}this.wrongEmailFromPopup.setContent(t.Tag.render(r(),t.Loc.getMessage("SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE"),t.Loc.getMessage("SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE")));this.wrongEmailFromPopup.setButtons([new BX.UI.Button({text:t.Loc.getMessage("SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL"),color:BX.UI.Button.Color.SUCCESS,onclick:function e(){location.href=a.editUrl;s.oncloseCalbackActive=false;s.wrongEmailFromPopup.close()}}),new BX.UI.Button({text:t.Loc.getMessage("SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL"),color:BX.UI.Button.Color.LINK,onclick:function e(){s.wrongEmailFromPopup.close()}})]);this.wrongEmailFromPopup.show()}},{key:"getFeatureUnavailableHandler",value:function e(t,n,r,o){if(r){Object.assign(o,r)}if(BX.Sender.B24License){BX.Sender.B24License.showPopup("Ad")}n(o)}},{key:"needAcceptAgreementHandler",value:function e(r,o,i,a){if(i){Object.assign(a,i)}t.Runtime.loadExtension("sender_agreement").then(function(){n.EventEmitter.subscribe("BX.Sender.Agreement:onAccept",function(){r()});BX.Sender.Agreement.isAccepted=false;BX.Sender.Agreement.showPopup()})}}]);return e}();e.ErrorHandler=o})(this.BX.Sender=this.BX.Sender||{},BX,BX.Event);
//# sourceMappingURL=error_handler.bundle.map.jserror_handler/dist/error_handler.bundle.js.map000066400000016166147722313310015564 0ustar00{"version":3,"file":"error_handler.bundle.js","sources":["../src/error_handler.js"],"sourcesContent":["import {Loc, Tag, Type, Runtime} from \"main.core\";\nimport {EventEmitter} from \"main.core.events\";\nimport \"./error_handler.css\";\n\nexport class ErrorHandler\n{\n\tconstructor()\n\t{\n\t}\n\n\tonError(errorCode, data, callbackSuccess, callbackFailure)\n\t{\n\t\tlet handlers = this.getHandlers(callbackSuccess, callbackFailure);\n\t\tif (handlers.hasOwnProperty(errorCode) && Type.isFunction(handlers[errorCode]))\n\t\t{\n\t\t\thandlers[errorCode].apply(this, [data]);\n\t\t}\n\t}\n\n\tgetHandlers(callbackSuccess, callbackFailure, extraData)\n\t{\n\t\treturn {\n\t\t\t'WRONG_EMAIL_FROM': this.getWrongEmailFromHandler.bind(this, callbackSuccess, callbackFailure, extraData),\n\t\t\t'FEATURE_NOT_AVAILABLE': this.getFeatureUnavailableHandler.bind(this, callbackSuccess, callbackFailure, extraData),\n\t\t\t'NEED_ACCEPT_AGREEMENT': this.needAcceptAgreementHandler.bind(this, callbackSuccess, callbackFailure, extraData),\n\t\t};\n\t}\n\n\tgetWrongEmailFromHandler(callbackSuccess, callbackFailure, extraData, data) {\n\t\tif (extraData) {\n\t\t\tObject.assign(data, extraData);\n\t\t}\n\t\tthis.oncloseCalbackActive = true;\n\t\tif (!this.wrongEmailFromPopup)\n\t\t{\n\t\t\tthis.wrongEmailFromPopup = BX.PopupWindowManager.create(\n\t\t\t\t{\n\t\t\t\t\tid: 'sender_user_error_wrongEmailFrom',\n\t\t\t\t\tautoHide: true,\n\t\t\t\t\tlightShadow: true,\n\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\toverlay: {backgroundColor: 'black', opacity: 500},\n\t\t\t\t\tevents: {\n\t\t\t\t\t\tonPopupClose: () => {\n\t\t\t\t\t\t\tif (this.oncloseCalbackActive && Type.isFunction(callbackFailure)) {\n\t\t\t\t\t\t\t\tcallbackFailure(data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tthis.wrongEmailFromPopup.setContent(Tag.render`<div class=\"sender-user-error-handler-text\">\n\t\t\t${Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE')}\n\t\t\t<br>\n\t\t\t${Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE')}\n\t\t\t</div>`);\n\t\tthis.wrongEmailFromPopup.setButtons([\n\t\t\tnew BX.UI.Button({\n\t\t\t\ttext : Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL'),\n\t\t\t\tcolor: BX.UI.Button.Color.SUCCESS,\n\t\t\t\tonclick: () => {\n\t\t\t\t\tlocation.href = data.editUrl;\n\t\t\t\t\tthis.oncloseCalbackActive = false;\n\t\t\t\t\tthis.wrongEmailFromPopup.close();\n\t\t\t\t}\n\t\t\t}),\n\t\t\tnew BX.UI.Button({\n\t\t\t\ttext : Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL'),\n\t\t\t\tcolor: BX.UI.Button.Color.LINK,\n\t\t\t\tonclick: () => {\n\t\t\t\t\tthis.wrongEmailFromPopup.close();\n\t\t\t\t}\n\t\t\t}),\n\t\t]);\n\t\tthis.wrongEmailFromPopup.show();\n\t}\n\n\tgetFeatureUnavailableHandler(callbackSuccess, callbackFailure, extraData, data) {\n\t\tif (extraData) {\n\t\t\tObject.assign(data, extraData);\n\t\t}\n\t\tif (BX.Sender.B24License)\n\t\t{\n\t\t\tBX.Sender.B24License.showPopup('Ad');\n\t\t}\n\t\tcallbackFailure(data);\n\t}\n\n\tneedAcceptAgreementHandler(callbackSuccess, callbackFailure, extraData, data) {\n\t\tif (extraData) {\n\t\t\tObject.assign(data, extraData);\n\t\t}\n\t\tRuntime.loadExtension('sender_agreement').then(() => {\n\t\t\tEventEmitter.subscribe('BX.Sender.Agreement:onAccept', () => {\n\t\t\t\tcallbackSuccess();\n\t\t\t});\n\t\t\tBX.Sender.Agreement.isAccepted = false;\n\t\t\tBX.Sender.Agreement.showPopup();\n\t\t});\n\t}\n}"],"names":["ErrorHandler","errorCode","data","callbackSuccess","callbackFailure","handlers","getHandlers","hasOwnProperty","Type","isFunction","apply","extraData","getWrongEmailFromHandler","bind","getFeatureUnavailableHandler","needAcceptAgreementHandler","Object","assign","oncloseCalbackActive","wrongEmailFromPopup","BX","PopupWindowManager","create","id","autoHide","lightShadow","closeByEsc","overlay","backgroundColor","opacity","events","onPopupClose","setContent","Tag","render","Loc","getMessage","setButtons","UI","Button","text","color","Color","SUCCESS","onclick","location","href","editUrl","close","LINK","show","Sender","B24License","showPopup","Runtime","loadExtension","then","EventEmitter","subscribe","Agreement","isAccepted"],"mappings":"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"}error_handler/dist/error_handler.bundle.js000066400000010361147722313310014777 0ustar00this.BX = this.BX || {};
(function (exports,main_core,main_core_events) {
	'use strict';

	function _templateObject() {
	  var data = babelHelpers.taggedTemplateLiteral(["<div class=\"sender-user-error-handler-text\">\n\t\t\t", "\n\t\t\t<br>\n\t\t\t", "\n\t\t\t</div>"]);

	  _templateObject = function _templateObject() {
	    return data;
	  };

	  return data;
	}
	var ErrorHandler =
	/*#__PURE__*/
	function () {
	  function ErrorHandler() {
	    babelHelpers.classCallCheck(this, ErrorHandler);
	  }

	  babelHelpers.createClass(ErrorHandler, [{
	    key: "onError",
	    value: function onError(errorCode, data, callbackSuccess, callbackFailure) {
	      var handlers = this.getHandlers(callbackSuccess, callbackFailure);

	      if (handlers.hasOwnProperty(errorCode) && main_core.Type.isFunction(handlers[errorCode])) {
	        handlers[errorCode].apply(this, [data]);
	      }
	    }
	  }, {
	    key: "getHandlers",
	    value: function getHandlers(callbackSuccess, callbackFailure, extraData) {
	      return {
	        'WRONG_EMAIL_FROM': this.getWrongEmailFromHandler.bind(this, callbackSuccess, callbackFailure, extraData),
	        'FEATURE_NOT_AVAILABLE': this.getFeatureUnavailableHandler.bind(this, callbackSuccess, callbackFailure, extraData),
	        'NEED_ACCEPT_AGREEMENT': this.needAcceptAgreementHandler.bind(this, callbackSuccess, callbackFailure, extraData)
	      };
	    }
	  }, {
	    key: "getWrongEmailFromHandler",
	    value: function getWrongEmailFromHandler(callbackSuccess, callbackFailure, extraData, data) {
	      var _this = this;

	      if (extraData) {
	        Object.assign(data, extraData);
	      }

	      this.oncloseCalbackActive = true;

	      if (!this.wrongEmailFromPopup) {
	        this.wrongEmailFromPopup = BX.PopupWindowManager.create({
	          id: 'sender_user_error_wrongEmailFrom',
	          autoHide: true,
	          lightShadow: true,
	          closeByEsc: true,
	          overlay: {
	            backgroundColor: 'black',
	            opacity: 500
	          },
	          events: {
	            onPopupClose: function onPopupClose() {
	              if (_this.oncloseCalbackActive && main_core.Type.isFunction(callbackFailure)) {
	                callbackFailure(data);
	              }
	            }
	          }
	        });
	      }

	      this.wrongEmailFromPopup.setContent(main_core.Tag.render(_templateObject(), main_core.Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE'), main_core.Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE')));
	      this.wrongEmailFromPopup.setButtons([new BX.UI.Button({
	        text: main_core.Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL'),
	        color: BX.UI.Button.Color.SUCCESS,
	        onclick: function onclick() {
	          location.href = data.editUrl;
	          _this.oncloseCalbackActive = false;

	          _this.wrongEmailFromPopup.close();
	        }
	      }), new BX.UI.Button({
	        text: main_core.Loc.getMessage('SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL'),
	        color: BX.UI.Button.Color.LINK,
	        onclick: function onclick() {
	          _this.wrongEmailFromPopup.close();
	        }
	      })]);
	      this.wrongEmailFromPopup.show();
	    }
	  }, {
	    key: "getFeatureUnavailableHandler",
	    value: function getFeatureUnavailableHandler(callbackSuccess, callbackFailure, extraData, data) {
	      if (extraData) {
	        Object.assign(data, extraData);
	      }

	      if (BX.Sender.B24License) {
	        BX.Sender.B24License.showPopup('Ad');
	      }

	      callbackFailure(data);
	    }
	  }, {
	    key: "needAcceptAgreementHandler",
	    value: function needAcceptAgreementHandler(callbackSuccess, callbackFailure, extraData, data) {
	      if (extraData) {
	        Object.assign(data, extraData);
	      }

	      main_core.Runtime.loadExtension('sender_agreement').then(function () {
	        main_core_events.EventEmitter.subscribe('BX.Sender.Agreement:onAccept', function () {
	          callbackSuccess();
	        });
	        BX.Sender.Agreement.isAccepted = false;
	        BX.Sender.Agreement.showPopup();
	      });
	    }
	  }]);
	  return ErrorHandler;
	}();

	exports.ErrorHandler = ErrorHandler;

}((this.BX.Sender = this.BX.Sender || {}),BX,BX.Event));
//# sourceMappingURL=error_handler.bundle.js.map
error_handler/dist/error_handler.bundle.map.js000066400000006037147722313310015560 0ustar00{"version":3,"sources":["error_handler.bundle.js"],"names":["this","BX","exports","main_core","main_core_events","_templateObject","data","babelHelpers","taggedTemplateLiteral","ErrorHandler","classCallCheck","createClass","key","value","onError","errorCode","callbackSuccess","callbackFailure","handlers","getHandlers","hasOwnProperty","Type","isFunction","apply","extraData","WRONG_EMAIL_FROM","getWrongEmailFromHandler","bind","FEATURE_NOT_AVAILABLE","getFeatureUnavailableHandler","NEED_ACCEPT_AGREEMENT","needAcceptAgreementHandler","_this","Object","assign","oncloseCalbackActive","wrongEmailFromPopup","PopupWindowManager","create","id","autoHide","lightShadow","closeByEsc","overlay","backgroundColor","opacity","events","onPopupClose","setContent","Tag","render","Loc","getMessage","setButtons","UI","Button","text","color","Color","SUCCESS","onclick","location","href","editUrl","close","LINK","show","Sender","B24License","showPopup","Runtime","loadExtension","then","EventEmitter","subscribe","Agreement","isAccepted","Event"],"mappings":"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","file":"error_handler.bundle.map.js"}error_handler/lang/ua/config.php000066400000001002147722313310012674 0ustar00<?
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL"] = "Скасувати";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL"] = "Редагувати розсилку";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE"] = "Необхідно відредагувати розсилку та обрати одного з підтверджених відправників.";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE"] = "Email відправника не підтверджений.";
?>error_handler/lang/en/config.php000066400000000557147722313310012707 0ustar00<?
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL"] = "Cancel";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL"] = "Edit newsletter";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE"] = "Please edit the newsletter to select one of the confirmed senders.";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE"] = "Sender email was not confirmed.";
?>error_handler/lang/ru/config.php000066400000001006147722313310012721 0ustar00<?
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE"] = "Email отправителя не подтвержден.";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE"] = "Необходимо отредактировать рассылку и выбрать одного из подтвержденных отправителей.";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL"] = "Редактировать рассылку";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL"] = "Отмена";
error_handler/lang/de/config.php000066400000000627147722313310012673 0ustar00<?
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_CANCEL"] = "Abbrechen";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_EDIT_EMAIL"] = "Newsletter bearbeiten";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_MESSAGE"] = "Bitte bearbeiten Sie den Newsletter, um einen der bestätigten Absender auszuwählen.";
$MESS["SENDER_ERROR_HANDLER_WRONG_FROM_EMAIL_TITLE"] = "E-Mail des Abenders wurde nicht bestätigt.";
?>b24_feedback.js000064400000004727147722313310007312 0ustar00;(function () {

	BX.namespace('BX.Sender');

	BX.Sender.B24Feedback = {
		wasInit: false,
		config: null,
		init: function (params)
		{
			this.config = params || {};
			var button = BX('SENDER_BUTTON_FEEDBACK');
			if (button)
			{
				BX.bind(button, 'click', this.show.bind(this));
			}

			this.wasInit = true;
		},
		initForm: function ()
		{
			var senderPage = window.location.href.match(/\/marketing\/([\w]+)\/([\w]+)\//);
			if (senderPage)
			{
				senderPage = senderPage[1] + '-' + senderPage[2];
			}

			(function(w,d,u,b){
				w['Bitrix24FormObject']=b;w[b] = w[b] || function(){arguments[0].ref=u;
				(w[b].forms=w[b].forms||[]).push(arguments[0])}; if(w[b]['forms']) return;
				var s=d.createElement('script');
				var r=1*new Date(); s.async=1;s.src=u+'?'+r;
				var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);
			})(window,document,'https://landing.bitrix24.ru/bitrix/js/crm/form_loader.js','b24form');

			var id, lang, sec;
			switch (this.config.b24_zone)
			{
				case 'ru':
				case 'ua':
				case 'kz':
				case 'by':
					id = '20';
					lang = 'ru';
					sec = 'whjggl';
					break;

				case 'es':
					id = '26';
					lang = 'la';
					sec = '5i211d';
					break;

				case 'de':
					id = '24';
					lang = 'de';
					sec = 'ls8jym';
					break;

				case 'com.br':
					id = '28';
					lang = 'br';
					sec = 'lqo2cl';
					break;

				default:
					id = '22';
					lang = 'en';
					sec = 'iv17oh';
					break;
			}

			if (!id)
			{
				return;
			}

			window.b24form({
				"id":id,
				"lang":lang,
				"sec":sec,
				"type":"inline",
				"node": this.dataContainer,
				"presets": {
					"b24_plan": this.config.b24_plan,
					"sender_page": senderPage
				}
			});
		},
		show: function ()
		{
			if (!this.wasInit)
			{
				this.init();
			}

			if (!this.dataContainer)
			{
				this.initPopup();
				this.initForm();
			}

			if (this.popup.isShown())
			{
				return;
			}

			this.popup.show();

		},
		initPopup: function ()
		{
			this.dataContainer = document.createElement('DIV');
			this.dataContainer.style = 'width: 600px; height: 673px; overflow-y: auto;';

			this.popup = BX.PopupWindowManager.create(
				'sender-b24-feedback-popup',
				this.button,
				{
					content: this.dataContainer,
					autoHide: true,
					lightShadow: false,
					overlay: {
						opacity: 500,
						backgroundColor: 'black'
					},
					closeByEsc: true,
					closeIcon: true,
					//contentColor: 'white',
					buttons: []
				}
			);
		}
	};

})(window);admin.map.js000064400000055767147722313310006775 0ustar00{"version":3,"sources":["admin.js"],"names":["GroupManager","isAdd","$controlName","groupExists","BX","groupSelected","groupSelectedHidden","groupSelectedOptions","findChildren","tag","groupExistsOptions","length","arSelectedValues","elementFor","i","push","value","elementAdd","selected","util","in_array","cloneNode","appendChild","elementDelete","elementDeleteParent","groupSelectedSelectedOptions","pop","parentNode","removeChild","element","selectedGroupId","arSelectedGroupId","parseInt","ConnectorGetHtmlForm","data","templ","document","getElementById","connectorFormHtml","innerHTML","key","replace","RegExp","ConnectorSettingWatch","arConForms","getElementsByName","controls","elements","ctrl","name","type","isString","substring","unbindAll","bind","ConnectorSettingGetCount","this","ConnectorSettingShowToggle","elementParent","findParent","className","toggleClass","ConnectorSettingDelete","easing","duration","start","height","opacity","finish","transition","transitions","quart","step","state","style","complete","remove","ConnectorCounterSummary","animate","form","filteredControls","currentParent","disabled","found","filter","filteredCtrl","arAjaxQueryFieldsData","toLowerCase","checked","multipleValues","j","options","arAjaxQueryFields","k","_data","isArray","counter","findChild","addClass","ajax","url","method","dataType","timeout","async","processData","onsuccess","removeClass","COUNT","onfailure","dialog","CDialog","width","title","message","content","buttons","prototype","btnClose","ShowError","Show","addNewConnector","connectorListToAdd","htmlForm","Math","floor","random","html","%CONNECTOR_NAME%","%CONNECTOR_COUNT%","%CONNECTOR_FORM%","parsedHtml","processHTML","newParentElement","createElement","HTML","newConnectorNode","connector_form_container","newConnectorNodeDisplay","display","insertBefore","firstChild","SCRIPT","script","evalGlobal","JS","cnt","cntSummary","findContainer","counterList","isNaN","SetAddressToControl","controlName","address","bAdd","control","ProcessAddressToControl","deleteAddress","trim","addressList","addressListNew","split","bFind","addr","addressFromList","join","DeleteAddressFromControl","AddAddressToControl","SetSendType","sendType","typeContList","id","DeleteSelectedSendType","obj","SenderLetter","container","isBlockCurrentEditorVersion","editorBlockContainer","init","params","getAttribute","textareaId","_this","childList","child","changeTemplateList","onCustomEvent","bxsendertype","bxsenderversion","bxsendername","bxsendernum","bxsenderlang","setTemplate","lang","version","num","popup","setTemplateContainer","onSetTemplate","func","addCustomEvent","param","canSaveContent","isBlockEditorShow","isBlockEditorNeedShow","isExistsMessage","getTextAreaAttributeId","confirm","setContent","containerTemplateCaption","innerText","tmplTypeContList","typeContainer","buttonList","hasClass","getHtmlEditor","window","BXHtmlEditor","Get","putMessage","str","bChangeAllContent","bMessageHtmlEditorVisible","messageHtmlEditor","messageContainer","IsShown","SetContent","InsertHtml","fireEvent","blockContainer","typeInput","querySelector","idInput","blockEditor","BlockEditorManager","get","load","switchView","delegate","isShowBlock","block","visual","htmlEditor","Hide","SenderLetterManager","instance","list","placeHolderList","onPlaceHolderSelectorListCreate","placeHolderSelectorList","getPlaceHolderList","onGetControlsMap","controlsMap","compact","hidden","sort","checkWidth","offsetWidth","onEditorInitedBefore","editor","onEditorParse","mode","onEditorAfterParse","onEditorInitedAfter","components","SetComponentIcludeMethod","add","onShowTemplateList","onHideTemplateList","setPlaceHolderList","SenderLetterContainer","deleteItem","removeDraggableItem","sortItems","addItem","formContainer","letterTemplate","FIELDS","MESSAGE","BODY","newNode","target","findNextSibling","addListenerControlItem","setTimeText","addDraggableItem","toggleShow","body","button","item","isShow","buttonToggleShow","contToggleShow","buttonDeleteItem","subject","caption","textContent","showTimeDialogButton","showTimeDialog","initListenerControls","itemList","children","dragdrop","addSortableItem","bindDragItem","removeSortableItem","initDraggableItems","DragDrop","create","dragItemClassName","dragItemControlClassName","sortable","rootElem","gagClass","gagHtml","dragStart","eventObj","dragElement","event","dragEnd","initTimeText","repairEditor","attr","attributes","nodeName","nodeValue","setTimeout","CheckAndReInit","elementSort","elementSortText","querySelectorAll","popupWindow","PopupWindowManager","darkMode","closeIcon","close","setBindElement","btnTimeCancel","btnTimeSave","setTimeItem","setTimeToDialog","show","time","timeText","timeAfterEvent","timeAfterLetter","timeObj","convertTime","VALUE","TEXT","dlgTimeType","dlgTimeValue","TYPE","minutes","dictionarySenderTime","result"],"mappings":"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","file":""}admin.min.js000064400000046147147722313310006773 0ustar00function GroupManager(e,t){var n=BX(t+"_EXISTS");var i=BX(t);var r=BX(t+"_HIDDEN");var a=BX.findChildren(i,{tag:"option"},true);if(e){var o=BX.findChildren(n,{tag:"option"},true);if(o&&o.length>0){var s=[];var l;for(var d in a){l=a[d];if(!l)continue;s.push(l.value)}var c;for(var d in o){l=o[d];if(!l||!l.selected)continue;if(!BX.util.in_array(l.value,s)){c=l.cloneNode(true);i.appendChild(c)}}}}else{var u;var f;var h=[];if(a&&a.length>0){for(var d in a){if(a[d]&&a[d].selected){h.push(a[d])}}}while(h.length>0){u=h.pop();f=u.parentNode;if(f)f.removeChild(u)}}var m;var v="";var p=[];a=BX.findChildren(i,{tag:"option"},true);for(var d in a){m=a[d];if(m&&m!="undefined"){if(m.value!="undefined"&&parseInt(m.value)>0&&!BX.util.in_array(m.value,p)){v=v+m.value+",";p.push(m.value)}}}r.value=v}function ConnectorGetHtmlForm(e){var t=document.getElementById("connector-template");var n=t.innerHTML;for(var i in e){n=n.replace(new RegExp(i,"g"),e[i])}return n}function ConnectorSettingWatch(){var e=document.getElementsByName("post_form");var t=e[e.length-1].elements;var n;for(var i in t){n=t[i];if(n&&n.name&&BX.type.isString(n.name)&&n.name.substring(0,11)=="CONNECTOR_S"){BX.unbindAll(BX(n));BX.bind(BX(n),"change",function(){ConnectorSettingGetCount(this)})}}}function ConnectorSettingShowToggle(e,t){if(e)t=BX.findParent(e,{tag:"div",className:"connector_form"},true);BX.toggleClass(t,"sender-box-list-item-hidden")}function ConnectorSettingDelete(e){var t=BX.findParent(e,{tag:"div",className:"connector_form"},true);var n=new BX.easing({duration:500,start:{height:100,opacity:100},finish:{height:0,opacity:0},transition:BX.easing.transitions.quart,step:function(e){t.style.opacity=e.opacity/100},complete:function(){BX.remove(t);ConnectorCounterSummary()}});n.animate()}function ConnectorSettingGetCount(e,t){var n;if(t){n=t}else{n=BX.findParent(e,{tag:"div",className:"connector_form"},true)}var i=document.getElementsByName("post_form");var r=i[i.length-1].elements;var a;var o=[];var s;for(var l in r){a=r[l];if(!a||!a.name||!BX.type.isString(a.name)){continue}if(a.name.substring(0,11)!="CONNECTOR_S"){continue}s=BX.findParent(a,{tag:"div",className:"connector_form"},true);if(s!=n){continue}if(a.disabled){continue}var d=o.filter(function(e){return e==a});if(d.length==0){o.push(a)}}var c=[];for(var l=0;l<o.length;l++){a=o[l];switch(a.type.toLowerCase()){case"text":case"textarea":case"password":case"number":case"hidden":case"select-one":c.push({name:a.name,value:a.value});break;case"file":break;case"radio":case"checkbox":if(a.checked){c.push({name:a.name,value:a.value})}break;case"select-multiple":var u=[];for(var f=0;f<a.options.length;f++){if(a.options[f].selected){u.push(a.options[f].value)}}if(u.length>0){c.push({name:a.name,value:u})}break;default:break}}var h={};for(var m=0;m<c.length;m++){var v=c[m];if(BX.type.isString(h[v.name])){h[v.name]=[h[v.name]]}if(BX.type.isArray(h[v.name])){if(!BX.util.in_array(v.value,h[v.name])){h[v.name].push(v.value)}}else{h[v.name]=v.value}}var p=BX.findChild(n,{className:"connector_form_counter"},true);if(p){p.innerHTML="";BX.addClass(p.parentNode,"loading")}BX.ajax({url:"sender_group_count.php",method:"POST",data:h,dataType:"json",timeout:30,async:true,processData:true,onsuccess:function(e){if(p){BX.removeClass(p.parentNode,"loading");p.innerHTML=e.COUNT;ConnectorCounterSummary()}},onfailure:function(){var e=new BX.CDialog({height:100,width:500,title:BX.message("GROUP_ADDRESS_CALC_TITLE"),content:BX.message("GROUP_ADDRESS_CALC_TEXT"),buttons:[BX.CDialog.prototype.btnClose]});e.ShowError(BX.message("GROUP_ADDRESS_CALC_ERROR"));e.Show();if(p){BX.removeClass(p.parentNode,"loading");p.innerHTML=BX.message("GROUP_ADDRESS_CALC_ERROR").toLowerCase()}}})}function addNewConnector(){var e=connectorListToAdd[BX("connector_list_to_add").value]["NAME"];var t=connectorListToAdd[BX("connector_list_to_add").value]["FORM"];t=t.replace(new RegExp("%CONNECTOR_NUM%","g"),Math.floor(Math.random()*(1e4-100+1))+100);var n=ConnectorGetHtmlForm({"%CONNECTOR_NAME%":e,"%CONNECTOR_COUNT%":"0","%CONNECTOR_FORM%":t});var i=BX.processHTML(n);var r=document.createElement("div");r.innerHTML=i.HTML;var a=BX.findChild(r,{tag:"div"});var o=BX("connector_form_container");newConnectorNodeDisplay=a.style.display;a.style.display="none";o.insertBefore(a,o.firstChild);if(i.SCRIPT.length>0){var s;for(var l in i["SCRIPT"]){s=i["SCRIPT"][l];BX.evalGlobal(s.JS)}}ConnectorSettingShowToggle(false,a);var d=new BX.easing({duration:500,start:{height:0,opacity:0},finish:{height:100,opacity:100},transition:BX.easing.transitions.quart,step:function(e){a.style.opacity=e.opacity/100;a.style.display=newConnectorNodeDisplay},complete:function(){}});d.animate();ConnectorSettingGetCount(null,a);ConnectorSettingWatch()}function ConnectorCounterSummary(){var e=0;var t=0;var n=BX("connector_form_container");var i=BX.findChildren(n,{className:"connector_form_counter"},true);for(var r in i){e=parseInt(i[r].innerHTML);if(!isNaN(e))t+=e}BX("sender_group_address_counter").innerHTML=t}function SetAddressToControl(e,t,n){var i=BX(e);if(n)i.value+=t;else i.value=t}function ProcessAddressToControl(e,t,n){t=BX.util.trim(t);var i=BX(e);var r=[];var a=[];if(i.value)r=i.value.split(",");var o=false;for(var s in r){addressFromList=BX.util.trim(r[s]);if(addressFromList==t){o=true;if(!n)a.push(addressFromList)}else{a.push(addressFromList)}}if(!o&&!n)a.push(t);i.value=a.join(", ")}function DeleteAddressFromControl(e,t){ProcessAddressToControl(e,t,true)}function AddAddressToControl(e,t){ProcessAddressToControl(e,t,false)}function SetSendType(){var e=BX("chain_send_type").value;var t=BX.findChildren(BX("chain_send_type_list_container"),{className:"sender-box-list-item"},true);for(var n in t){if(t[n].id!="chain_send_type_"+e)t[n].style.display="none";else t[n].style.display="block"}BX("SEND_TYPE").value=e;BX("sender_wizard_chain_send_type_btn").disabled=true;BX("chain_send_type").disabled=true}function DeleteSelectedSendType(e){BX.findParent(e,{className:"sender-box-list-item"}).style.display="none";BX("SEND_TYPE").value="";BX("sender_wizard_chain_send_type_btn").disabled=false;BX("chain_send_type").disabled=false}function SenderLetter(){var e;var t;var n;var i;this.init=function(e){this.container=BX(e.container);var t=BX.findChild(this.container,{className:"typearea"},true);this.id=t.getAttribute("name");this.textareaId=t.getAttribute("name");this.editorBlockContainer=BX("bx-sender-block-editor-"+this.id);var n=this;var i,r,a;n.changeTemplateList("BASE");r=BX.findChild(this.container,{className:"sender-template-btn-close"},true);if(r){BX.bind(r,"click",function(){BX.onCustomEvent(n.container,"onSenderMailingTemplateListHide")})}i=BX.findChildren(this.container,{className:"sender-template-type-selector-button"},true);for(a in i){if(!i[a])continue;r=i[a];BX.bind(r,"click",function(){var e="BASE";if(this.getAttribute&&this.getAttribute("data-bx-sender-tmpl-type")){e=this.getAttribute("data-bx-sender-tmpl-type")}n.changeTemplateList(e)})}i=BX.findChildren(this.container,{className:"sender-template-list-block-selector"},true);for(a in i){if(!i[a])continue;r=i[a];BX.bind(r,"click",function(){var e="block",t="",i="BASE",r=0,a="";if(this.getAttribute&&this.getAttribute("data-bx-sender-tmpl-type")){e=this.getAttribute("data-bx-sender-tmpl-version");t=this.getAttribute("data-bx-sender-tmpl-name");i=this.getAttribute("data-bx-sender-tmpl-type");r=this.getAttribute("data-bx-sender-tmpl-code");a=this.getAttribute("data-bx-sender-tmpl-lang")}n.setTemplate({lang:a,version:e,name:t,type:i,num:r})})}i=BX.findChildren(this.container,{className:"sender-template-message-caption-container-btn"},true);for(a in i){if(!i[a])continue;r=i[a];BX.bind(r,"click",function(){BX.onCustomEvent(n.container,"onSenderMailingTemplateListShow")})}i=BX.findChildren(this.container,{className:"sender-template-message-preview-btn"},true);for(a in i){if(!i[a])continue;r=i[a];BX.bind(r,"click",function(){if(this.getAttribute&&this.getAttribute("data-bx-sender-tmpl-type")){var e=this.getAttribute("data-bx-sender-tmpl-type");var t=this.getAttribute("data-bx-sender-tmpl-code");var n=this.getAttribute("data-bx-sender-tmpl-lang");var i="/bitrix/admin/sender_template_admin.php?action=get_template";i=i+"&lang="+n+"&template_type="+e+"&template_id="+t;BX.util.popup(i,800,800)}})}return this};this.setTemplateContainer=function(e){this.container=BX(e);return this};this.onSetTemplate=function(e){BX.addCustomEvent(this.container,"onSenderMailingTemplateSet",e)};this.setTemplate=function(e){if(!this.container)return;BX.onCustomEvent(this.container,"onSenderMailingTemplateSet");var t=false;var n=this.editorBlockContainer.style.display!=="none";var i=e.version!=="visual";var r=!!BX(this.getTextAreaAttributeId()).value;if(i&&n){t=true}if(!r||t||confirm(BX.message("SENDER_SHOW_TEMPLATE_LIST"))){this.setContent(this.textareaId,e.version,e.type,e.num,e.lang);var a=BX.findChild(this.container,{className:"sender-template-message-caption-container"},true);if(a)a.innerText=e.name;return true}else{return false}};this.changeTemplateList=function(e){if(!this.container)return;t=BX.findChild(this.container,{className:"sender-template-cont"},true);if(!t)return;var n=BX.findChildren(t,{className:"sender-template-list-type-container"},true);for(var i in n)n[i].style.display="none";var r=BX.findChild(t,{className:"sender-template-list-type-container-"+e},true);r.style.display="block";var a=BX.findChildren(t,{className:"sender-template-type-selector-button"},true);for(var o in a){if(!BX.hasClass(a[o],"sender-template-type-selector-button-type-"+e))BX.removeClass(a[o],"sender-template-type-selector-button-selected");else BX.addClass(a[o],"sender-template-type-selector-button-selected")}};this.getHtmlEditor=function(){var e=BX.findChild(this.container,{className:"typearea"},true);var t=e.getAttribute("name");return window.BXHtmlEditor.Get(t)};this.getTextAreaAttributeId=function(){var e=BX.findChild(this.container,{className:"typearea"},true);return e.getAttribute("id")};this.putMessage=function(e,t){var n=false;if(!this.container)return;var i=this.getTextAreaAttributeId();var r;if(window.BXHtmlEditor)r=this.getHtmlEditor();var a=BX(i);if(r)n=r.IsShown();if(n){if(t){r.SetContent(e,true)}else{r.InsertHtml(e)}}else{if(t){a.value=e}else{a.value+=e}BX.fireEvent(a,"change")}};this.setContent=function(e,t,n,i,r){var a="/bitrix/admin/sender_template_admin.php?action=get_template";a=a+"&lang="+r+"&template_type="+n+"&template_id="+i;var o=BX("bx-sender-block-editor-"+e);var s=o.querySelector('input[name*="TEMPLATE_TYPE"]');var l=o.querySelector('input[name*="TEMPLATE_ID"]');if(t=="block"){if(s&&l){s.value=n;l.value=i}var d=BX.BlockEditorManager.get(e);d.load(a);this.switchView(e,true)}else{BX.ajax({url:a,method:"GET",dataType:"html",data:{},onsuccess:BX.delegate(function(t){if(s&&l){s.value="";l.value=""}this.putMessage(t,true);this.switchView(e,false)},this)})}};this.switchView=function(e,t){var n=BX("bx-sender-block-editor-"+e);var i=BX("bx-sender-visual-editor-"+e);var r=BXHtmlEditor.Get(e);if(t){n.style.display="block";i.style.display="none";if(r)r.Hide()}else{i.style.display="block";if(r)r.Show();n.style.display="none"}this.isBlockCurrentEditorVersion=t}}function SenderLetterManager(){if(SenderLetterManager.instance){return SenderLetterManager.instance}this.list={};this.placeHolderList={};this.onPlaceHolderSelectorListCreate=function(e){e.placeHolderList=this.getPlaceHolderList()};this.onGetControlsMap=function(e){e.push({id:"placeholder_selector",compact:true,hidden:false,sort:1,checkWidth:false,offsetWidth:32})};this.onEditorInitedBefore=function(e){BX.addCustomEvent(e,"PlaceHolderSelectorListCreate",this.onPlaceHolderSelectorListCreate.bind(this));BX.addCustomEvent(e,"GetControlsMap",this.onGetControlsMap.bind(this))};this.onEditorParse=function(e){};this.onEditorAfterParse=function(e,t){};this.onEditorInitedAfter=function(e){e.components.SetComponentIcludeMethod("EventMessageThemeCompiler::includeComponent")};this.add=function(e,t){var n=new SenderLetter;n.id=e;n.init(t);this.list[e]=n;return n};this.get=function(e){if(this.list[e])return this.list[e];else return null};this.onSetTemplate=function(e){BX.addCustomEvent("onSenderMailingTemplateSet",e)};this.onShowTemplateList=function(e){BX.addCustomEvent("onSenderMailingTemplateListShow",e)};this.onHideTemplateList=function(e){BX.addCustomEvent("onSenderMailingTemplateListHide",e)};this.setPlaceHolderList=function(e){this.placeHolderList=e};this.getPlaceHolderList=function(){return this.placeHolderList};BX.addCustomEvent("OnEditorInitedBefore",this.onEditorInitedBefore.bind(this));BX.addCustomEvent("OnEditorInitedAfter",this.onEditorInitedAfter.bind(this));SenderLetterManager.instance=this}function SenderLetterContainer(e){if(SenderLetterContainer.instance){return SenderLetterContainer.instance}this.deleteItem=function(e){var t=new BX.easing({duration:500,start:{height:100,opacity:100},finish:{height:0,opacity:0},transition:BX.easing.transitions.quart,step:function(t){e.style.opacity=t.opacity/100},complete:BX.delegate(function(){this.removeDraggableItem(e);BX.remove(e);this.sortItems()},this)});t.animate()};this.addItem=function(e){formContainer=this.container;var t=Math.floor(Math.random()*(1e4-100+1))+100;var n=letterTemplate.FIELDS.MESSAGE;n=n.replace(new RegExp("SENDER_LETTER_TEMPLATE_MESSAGE","g"),"CHAIN_MESSAGE_"+t);n=n.replace(new RegExp("sender_letter_template_message","g"),"chain_message_"+t);n=n.replace(new RegExp("%SENDER_LETTER_TEMPLATE_BODY_NUM%","g"),t);var i=letterTemplate.BODY.replace(new RegExp("%SENDER_LETTER_TEMPLATE_BODY_NUM%","g"),t);i=i.replace(new RegExp("%SENDER_LETTER_TEMPLATE_MESSAGE%","g"),n);var r=BX.processHTML(i);var a=document.createElement("div");a.innerHTML=r.HTML;var o=BX.findChild(a,{tag:"div"});var s;if(e)s=BX.findNextSibling(e);o.style.display="none";if(s){formContainer.insertBefore(o,s)}else{formContainer.appendChild(o)}this.addListenerControlItem(o);this.setTimeText(o);this.addDraggableItem(o);this.sortItems();var l=new BX.easing({duration:500,start:{height:0,opacity:0},finish:{height:100,opacity:100},transition:BX.easing.transitions.quart,step:function(e){o.style.opacity=e.opacity/100;o.style.display="block"},complete:function(){}});l.animate();if(r.SCRIPT.length>0){var d;for(var c in r["SCRIPT"]){d=r["SCRIPT"][c];BX.evalGlobal(d.JS)}}};this.toggleShow=function(e,t,n,i){if(!e&&n){e=n.querySelector(".sender_letter_container_body")}if(!t&&n){t=n.querySelector(".sender_letter_container_button_show")}if(e&&t){if(i===null){if(e.style.display=="none")i=true;else i=false}BX.removeClass(t,"sender_letter_container_button_hide");if(i){e.style.display="";t.innerHTML=BX.message("SENDER_MAILING_TRIG_LETTER_MESSAGE_HIDE");BX.addClass(t,"sender_letter_container_button_hide")}else{e.style.display="none";t.innerHTML=BX.message("SENDER_MAILING_TRIG_LETTER_MESSAGE_SHOW")}}};this.addListenerControlItem=function(e){if(!e||!e.querySelector)return;var t=e.querySelector(".sender_letter_container_button_show");var n=e.querySelector(".sender_letter_container_body");if(t&&n){BX.bind(t,"click",BX.delegate(function(){this.toggleShow(n,t,null,null)},this))}var i=e.querySelector(".sender_letter_container_button_delete");if(i){BX.bind(i,"click",BX.delegate(function(){this.deleteItem(e)},this))}var r=e.querySelector(".sender_letter_container_subject");var a=e.querySelector(".sender_letter_container_caption");if(r&&a){BX.bind(r,"input",function(){a.textContent=r.value});BX.bind(r,"change",function(){a.textContent=r.value})}var o=e.querySelector(".sender_letter_container_time_button");if(o){BX.bind(o,"click",BX.delegate(function(){this.showTimeDialog(e,o)},this))}};this.initListenerControls=function(){var e=this.container.children;for(var t in e){this.addListenerControlItem(e[t])}};this.addDraggableItem=function(e){if(!this.dragdrop)return;this.dragdrop.addSortableItem(e);this.dragdrop.bindDragItem([e])};this.removeDraggableItem=function(e){if(!this.dragdrop)return;this.dragdrop.removeSortableItem(e)};this.initDraggableItems=function(){var e=this;this.dragdrop=BX.DragDrop.create({dragItemClassName:"sender-trigger-chain-container-letter",dragItemControlClassName:"sender_letter_container_head",sortable:{rootElem:BX("SENDER_TRIGGER_CHAIN_CONTAINER"),gagClass:"senderdrag",gagHtml:""},dragStart:function(t,n,i){e.toggleShow(null,null,n,false);BX.addClass(e.container,"sendercontdrag")},dragEnd:function(t,n,i){BX.removeClass(e.container,"sendercontdrag");e.sortItems();e.initTimeText();e.repairEditor(n)}})};this.repairEditor=function(e){var t=BX.findChild(e,{className:"typearea"},true);var n,i;var r;for(var a in t.attributes){if(!t.attributes[a])continue;r=t.attributes[a];if(r.nodeName=="id")n=r.nodeValue;else if(r.nodeName=="name")i=r.nodeValue}var o;if(window.BXHtmlEditor)o=window.BXHtmlEditor.Get(i);var s=BX(n);if(!o){return}setTimeout(function(){o.CheckAndReInit()},100)};this.initTimeText=function(){var e=this.container.children;for(var t in e){this.setTimeText(e[t])}};this.sortItems=function(){var e=this.container.children;var t;var n;var i=1;for(var r in e){if(!e[r]||!e[r].querySelectorAll)continue;t=e[r].querySelector("input.sender_letter_container_sorter[type=hidden]");n=e[r].querySelector(".sender_letter_container_sorter_text");if(t&&n){t.value=i;n.innerHTML=i;i++}}};this.showTimeDialog=function(e,t){var n=BX.PopupWindowManager.create("sender-letter-container-time-dialog",t,{darkMode:false,closeIcon:true,content:BX("SENDER_TIME_DIALOG"),className:"adm-workarea"});n.close();n.setBindElement(t);var i=BX("SENDER_TIME_DIALOG_BTN_CANCEL");var r=BX("SENDER_TIME_DIALOG_BTN_SAVE");n.close();BX.unbindAll(i);BX.bind(i,"click",function(){n.close()});BX.unbindAll(r);BX.bind(r,"click",BX.delegate(function(){this.setTimeItem(e);this.setTimeText(e);n.close()},this));this.setTimeToDialog(e);n.show()};this.setTimeText=function(e){if(!e||!e.querySelector)return;var t=e.querySelector(".sender_letter_container_time");var n=e.querySelector(".sender_letter_container_time_text");var i=e.querySelector(".sender_letter_container_time_text_first");var r=e.querySelector(".sender_letter_container_time_text_nonfirst");var a=this.convertTime(t.value);n.innerHTML=a.VALUE+" "+a.TEXT;if(this.container.children[0]==e){BX(i).style.display="";r.style.display="none"}else{BX(i).style.display="none";r.style.display=""}};this.setTimeToDialog=function(e){if(!e||!e.querySelector)return;var t=BX("SENDER_TIME_DIALOG_TYPE");var n=BX("SENDER_TIME_DIALOG_VALUE");var i=e.querySelector(".sender_letter_container_time");var r=this.convertTime(i.value);t.value=r.TYPE;n.value=r.VALUE};this.setTimeItem=function(e){if(!e||!e.querySelector)return;var t=BX("SENDER_TIME_DIALOG_TYPE");var n=BX("SENDER_TIME_DIALOG_VALUE");var i=e.querySelector(".sender_letter_container_time");i.value=this.convertTime(null,{TYPE:t.value,VALUE:n.value})};this.convertTime=function(e,t){var n;if(e!==null){e=parseInt(e);if(isNaN(e)||e==0)e=0;if(e!=0)for(n in dictionarySenderTime){if(e%dictionarySenderTime[n].VALUE===0){return{TYPE:dictionarySenderTime[n].TYPE,VALUE:e/dictionarySenderTime[n].VALUE,TEXT:dictionarySenderTime[n].TEXT}}}var i=dictionarySenderTime[dictionarySenderTime.length-1];return{TYPE:i.TYPE,VALUE:0,TEXT:i.TEXT}}else{var r=parseInt(t.VALUE);if(isNaN(r))r=0;for(n in dictionarySenderTime){if(dictionarySenderTime[n].VALUE&&dictionarySenderTime[n].TYPE==t.TYPE){return r*dictionarySenderTime[n].VALUE}}return 0}};this.container=e.container;this.initListenerControls();this.initTimeText();this.initDraggableItems();SenderLetterContainer.instance=this}editor_mailblock.js000064400000011175147722313310010415 0ustar00/**
 * Bitrix HTML Editor 3.0
 * Date: 24.04.13
 * Time: 4:23
 *
 * Snippets class
 */
(function()
{
function __runmailblocks()
{
	function BXEditorMailBlocks(editor)
	{
		this.editor = editor;
		this.listLoaded = false;
		this.mailblocks = this.editor.config.mailblocks;
		this.HandleList();
		this.Init();
	}

    BXEditorMailBlocks.prototype = {
		Init: function()
		{
			BX.addCustomEvent(this.editor, "OnApplySiteTemplate", BX.proxy(this.OnTemplateChanged, this));
		},

		GetList: function()
		{
			return this.mailblocks;
		},

		HandleList: function()
		{
			var
				i,
				items = this.GetList().items;
			if (items)
			{
				for (i in items)
				{
					if (items.hasOwnProperty(i))
					{
						items[i].key = items[i].path.replace('/', ',');
					}
				}
			}
		},

		ReloadList: function(clearCache)
		{
		},

		FetchPlainListOfCategories: function(list, level, result)
		{
			var i, l = list.length;
			for (i = 0; i < l; i++)
			{
				result.push({
					level: level,
					key: list[i].key,
					section: list[i].section
				});

				if (list[i].children && list[i].children.length > 0)
				{
					this.FetchPlainListOfCategories(list[i].children, level + 1, result);
				}
			}
		},

		OnTemplateChanged: function(templateId)
		{
			this.ReloadList(false);
		}
	};

	function MailBlocksControl(editor)
	{
		// Call parrent constructor
		MailBlocksControl.superclass.constructor.apply(this, arguments);

		this.id = 'mailblocks';
		this.mailblocks = this.editor.config.mailblocks;
		this.templateId = this.editor.templateId;
		this.title = BX.message('BXEdMailBlocksTitle');
		this.searchPlaceholder = BX.message('BXEdMailBlocksSearchPlaceHolder');
		this.uniqueId = 'taskbar_' + this.editor.id + '_' + this.id;

		this.Init();
	}

	BX.extend(MailBlocksControl, window.BXHtmlEditor.Taskbar);

	MailBlocksControl.prototype.Init = function()
	{
		this.BuildSceleton();

		// Build structure
		if (this.mailblocks)
		{
			this.BuildTree(this.mailblocks.groups, this.mailblocks.items);
		}

		var _this = this;
		_this.editor.phpParser.AddBxNode('mailblock_icon',
			{
				Parse: function(params)
				{
					return params.code || '';
				}
			}
		);
	};

    MailBlocksControl.prototype.GetMenuItems = function()
	{
		var _this = this;

		var arItems = [
            {
                text : BX.message('RefreshTaskbar'),
                title : BX.message('RefreshTaskbar'),
                className : "",
                onclick: function()
                {
                    _this.editor.snippets.ReloadList(true);
                    BX.PopupMenu.destroy(_this.uniqueId + "_menu");
                }
            }
        ];
		return arItems;
	};

    MailBlocksControl.prototype.HandleElementEx = function(wrap, dd, params)
	{
		this.editor.SetBxTag(dd, {tag: "mailblock_icon", params: params});
		wrap.title = params.description || params.title;
	};



    MailBlocksControl.prototype.BuildTree = function(sections, elements)
	{
		// Call parent method
		MailBlocksControl.superclass.BuildTree.apply(this, arguments);
		if ((!sections || sections.length == 0) && (!elements || elements.length == 0))
		{
			this.pTreeCont.appendChild(BX.create('DIV', {props: {className: 'bxhtmled-no-snip'}, text: BX.message('BXEdSnipNoSnippets')}));
		}
	};


	window.BXHtmlEditor.MailBlocksControl = MailBlocksControl;
	window.BXHtmlEditor.BXEditorMailBlocks = BXEditorMailBlocks;
}

	if (window.BXHtmlEditor && window.BXHtmlEditor.dialogs)
		__runmailblocks();
	else
		BX.addCustomEvent(window, "OnEditorBaseControlsDefined", __runmailblocks);

})();


BX.ready(function()
{
	function PlaceHolderSelectorList(editor, wrap)
	{
		// Call parent constructor
		PlaceHolderSelectorList.superclass.constructor.apply(this, arguments);
		this.id = 'placeholder_selector';
		this.title = BX.message('BXEdPlaceHolderSelectorTitle');
		this.action = 'insertHTML';
		this.zIndex = 3008;

		this.placeHolderList = [];
		editor.On('PlaceHolderSelectorListCreate', [this]);

		this.disabledForTextarea = false;
		this.arValues = [];

		for (var i in this.placeHolderList)
		{
			var value = this.placeHolderList[i];
			value.value = '#' + value.CODE + '#';
			this.arValues.push(
				{
					id: value.CODE,
					name: value.NAME,
					topName: BX.message('BXEdPlaceHolderSelectorTitle'),
					title: value.value + ' - ' + value.DESC,
					className: '',
					style: '',
					action: 'insertHTML',
					value: value.value
				}
			);
		}

		this.Create();
		this.pCont.innerHTML = BX.message('BXEdPlaceHolderSelectorTitle');

		if (wrap)
		{
			wrap.appendChild(this.GetCont());
		}
	}

	BX.extend(PlaceHolderSelectorList, window.BXHtmlEditor.DropDownList);
	window.BXHtmlEditor.Controls['placeholder_selector'] = PlaceHolderSelectorList;
});