Current Path : /var/www/axolotl/data/www/axolotl.ru/www/bitrix/js/timeman/timecontrol/ |
Current File : /var/www/axolotl/data/www/axolotl.ru/www/bitrix/js/timeman/timecontrol/core_timecontrol.min.js |
"use strict";BX.namespace("BX.TimeControl");(function(){var t=function(t){this.init(t);this.successCallback=function(){};this.failCallback=function(){};this.changeCalendarCheckboxCallback=function(){};this.sendReportCallback=null};t.prototype={init:function(t){t=t||{};var e=t.placeholder||null;var o=t.absenceTime||0;var i=t.absenceStart||null;var n=t.absenceEnd||null;var a=t.absenceType||"work";var s=t.absenceReason||"";var r=t.reportId||0;var l=t.userAvatarUrl||"";var m=t.userGender||"M";var c=true;var d=typeof t.calendarCheckboxEnable=="undefined"?true:t.calendarCheckboxEnable!==false;if(typeof t.calendarCheckboxDefault=="undefined"){c=BX.localStorage.get("timeman_timecontrol_calendar_checkbox");c=c!==false}else{c=t.calendarCheckboxDefault!==false}this.userGender=m;this.showConfirmModal=typeof t.showConfirmModal=="undefined"?false:t.showConfirmModal!==false;this.customParams=t.customParams||{};this.absenceStartText=i?this.getTimeFormat(new Date(i)):"";this.absenceEndText=n?this.getTimeFormat(new Date(n)):"";this.reportId=r;var p=this.render({popup:!e,absenceTime:this.getAbsenceTime(o),absenceType:a,absenceReason:s,userAvatar:this.getAvatarStyles(l),userGender:m=="F"?"F":"M",calendarCheckboxDefault:c});if(!this.absenceStartText||!this.absenceEndText){BX.remove(this.nodeSelectorTimeHelp)}if(!d){this.nodeSelectorTimeHelp=BX.findChildByClassName(p,"bx-timeman-timecontrol-message-user-commit-checkbox");BX.remove(this.nodeSelectorTimeHelp)}var u=t=>{var e=BX.findParent(t.target,{className:"bx-timeman-timecontrol-selector"});var o=BX.findChildByClassName(e,"bx-timeman-timecontrol-selector-radio-input");if(o){o.checked=true;o.focus();h({target:o})}};var h=t=>{Array.from(t.target.parentNode.parentNode.parentNode.children).forEach((t=>{t.classList.remove("bx-timeman-timecontrol-selector-selected")}));t.target.parentNode.parentNode.classList.add("bx-timeman-timecontrol-selector-selected");var e=this.nodeSelectorTypePrivate.checked?"private":"work";if(e=="private"||this.nodeTextarea.value.length>0){this.nodeSendButton.parentNode.classList.remove("bx-timeman-timecontrol-message-user-commit-button-disabled")}else{this.nodeSendButton.parentNode.classList.add("bx-timeman-timecontrol-message-user-commit-button-disabled")}};BX.bindDelegate(p,"click",{className:"bx-timeman-timecontrol-selector"},(t=>u(t)));this.nodeSelectorTypeWork=BX.findChildByClassName(p,"bx-timeman-timecontrol-type-work");BX.bind(this.nodeSelectorTypeWork,"change",(t=>h(t)));this.nodeSelectorTypePrivate=BX.findChildByClassName(p,"bx-timeman-timecontrol-type-private");BX.bind(this.nodeSelectorTypePrivate,"change",(t=>h(t)));this.nodeCloseButton=BX.findChildByClassName(p,"bx-timeman-timecontrol-title-close");if(this.nodeCloseButton){BX.bind(this.nodeCloseButton,"click",(t=>this.popupDialog.close()))}this.nodeSelectorTimeHelp=BX.findChildByClassName(p,"bx-timeman-timecontrol-time-help");if(this.absenceStartText&&this.absenceEndText){BX.bind(this.nodeSelectorTimeHelp,"click",(t=>{var e=BX.message("JS_CORE_TC_ABSENCE_START").replace("#DATE#","<b>"+this.absenceStartText+"</b>")+"<br>"+BX.message("JS_CORE_TC_ABSENCE_END").replace("#DATE#","<b>"+this.absenceEndText+"</b>");this.tooltip(this.nodeSelectorTimeHelp,e,{offsetLeft:8,offsetTop:6,bindOptions:{position:"bottom"}})}))}if(d){BX.bindDelegate(p,"click",{className:"bx-timeman-timecontrol-message-user-commit-checkbox"},(t=>{var e=BX.findParent(t.target,{className:"bx-timeman-timecontrol-message-user-commit-checkbox"});var o=BX.findChildByClassName(e,"bx-timeman-timecontrol-checkbox-input-calendar");if(t.target!=o){o.checked=!o.checked;o.focus()}if(o.checked){o.parentNode.classList.add("bx-timeman-timecontrol-checkbox-input-checked")}else{o.parentNode.classList.remove("bx-timeman-timecontrol-checkbox-input-checked")}BX.localStorage.set("timeman_timecontrol_calendar_checkbox",o.checked!==false);this.changeCalendarCheckboxCallback(o.checked)}));this.nodeSendToCalendar=BX.findChildByClassName(p,"bx-timeman-timecontrol-checkbox-input-calendar")}this.nodeTextarea=BX.findChildByClassName(p,"bx-timeman-timecontrol-message-user-comment-textarea");BX.bind(this.nodeTextarea,"keydown",(t=>{if((t.metaKey==true||t.ctrlKey==true)&&(t.keyCode==13||t.keyCode==32)){this.sendForm()}}));BX.bind(this.nodeTextarea,"keyup",(t=>{if(this.sendFormBlock){return true}var e=this.nodeSelectorTypePrivate.checked?"private":"work";if(e=="private"||this.nodeTextarea.value.length>0){this.nodeSendButton.parentNode.classList.remove("bx-timeman-timecontrol-message-user-commit-button-disabled")}else{this.nodeSendButton.parentNode.classList.add("bx-timeman-timecontrol-message-user-commit-button-disabled")}}));this.nodeSendButton=BX.findChildByClassName(p,"bx-timeman-timecontrol-message-user-commit-button-input");BX.bind(this.nodeSendButton,"click",(t=>this.sendForm()));if(e){e.innerHTML="";e.appendChild(p)}else{this.openDialog(p)}this.nodeTextarea.focus();if(!window.onfocus){window.onfocus=()=>{setTimeout((()=>this.nodeTextarea.focus()),100)}}},openDialog:function(t){if(this.popupDialog!=null){this.popupDialog.destroy()}this.popupDialog=new BX.PopupWindow("bx-timeman-timecontrol-dialog",null,{zIndex:1500,autoHide:false,closeByEsc:false,events:{onPopupClose:function(){this.destroy()},onPopupDestroy:BX.delegate((function(){this.popupDialog=null}),this)},content:t});this.popupDialog.show()},sendForm:function(t){var e=this.nodeSelectorTypePrivate.checked?"private":"work";var o=this.nodeSendToCalendar?this.nodeSendToCalendar.checked:null;var i=this.nodeTextarea.value;if(e=="work"&&i.length<=0||this.nodeSendButton.parentNode.classList.contains("bx-timeman-timecontrol-message-user-commit-button-disabled")||this.sendFormBlock){return false}if(i.length<=0){i=BX.message("JS_CORE_TC_ABSENCE_"+e.toUpperCase()+"_"+this.userGender)}if(i.length<=0){return false}this.sendFormBlock=true;this.nodeSendButton.parentNode.classList.add("bx-timeman-timecontrol-message-user-commit-button-disabled");var n=null;if(this.sendReportCallback){n=this.sendReportCallback({reportId:this.reportId,type:e,calendar:o===null?null:o?"Y":"N",text:i,customParams:this.customParams})}else{n=BX.rest.callMethod("timeman.timecontrol.report.add",{REPORT_ID:this.reportId,TYPE:e,CALENDAR:o===null?null:o?"Y":"N",TEXT:i})}n.then((()=>{if(this.popupConfirm){this.popupConfirm.close()}if(this.popupDialog){this.popupDialog.close()}this.successCallback()})).catch((()=>{this.showConfirm(BX.message("JS_CORE_TC_SEND_ERROR"),null,this.showConfirmModal);this.sendFormBlock=false;var t=this.nodeSelectorTypePrivate.checked?"private":"work";if(t=="private"||this.nodeTextarea.value.length>0){this.nodeSendButton.parentNode.classList.remove("bx-timeman-timecontrol-message-user-commit-button-disabled")}else{this.nodeSendButton.parentNode.classList.add("bx-timeman-timecontrol-message-user-commit-button-disabled")}this.failCallback()}))},setCustomRequest:function(t){this.sendReportCallback=t},success:function(t){this.successCallback=t},fail:function(t){this.failCallback=t},changeCalendarCheckbox:function(t){this.changeCalendarCheckboxCallback=t},getTimeFormat:function(t){var e=BX.isAmPmMode(true);var o=e===BX.AM_PM_LOWER?"g:i a":e===BX.AM_PM_UPPER?"g:i A":"H:i";var i=this.getTimeFormatNotToday?"today":"#TODAY#";var n=BX.date.format([["tomorrow","tomorrow"],["-",BX.date.convertBitrixFormat(BX.message("FORMAT_DATE"))],["today",i],["yesterday","yesterday"],["",BX.date.convertBitrixFormat(BX.message("FORMAT_DATE"))]],t.getTime()/1e3);var a=BX.date.format([["tomorrow",o],["today",o],["yesterday",o],["",o]],t.getTime()/1e3);if(n&&n.indexOf("#TODAY#")!=-1){return a}else{this.getTimeFormatNotToday=true;return BX.message("FD_DAY_AT_TIME").replace(/#DAY#/g,n).replace(/#TIME#/g,a)}},getAvatarStyles:function(t){if(!t)return"";return`background-image: url('${t}'); background-color: transparent;`},getAbsenceTime:function(t){var e=t/3600;var o=Math.floor(e);var i=Math.floor(3600*(e-o)/60);var n="";if(o>0){n=this.getMessagePlural("JS_CORE_TC_HOURS_#FORM#",o)}if(i>0){n=(n.length>0?n+" ":"")+this.getMessagePlural("JS_CORE_TC_MINUTES_#FORM#",i)}if(o<=0&&i<=0||t==0){n=BX.message("JS_CORE_TC_MINUTES_ZERO")}return n},getMessagePlural:function(t,e){e=parseInt(e);if(e<0){e=e*-1}var o=BX.Loc.getPluralForm(e);return BX.message(t.toString().replace("#FORM#",o.toString())).replace("#NUMBER#",e)},tooltip:function(t,e,o){if(this.popupTooltip!=null)this.popupTooltip.close();o=o||{};o.offsetLeft=o.offsetLeft||0;o.offsetTop=o.offsetTop||0;o.width=o.width||0;o.angle=typeof o.angle=="undefined"?true:o.angle;o.showOnce=typeof o.showOnce=="undefined"?false:o.showOnce;o.bindOptions=typeof o.bindOptions=="undefined"?{position:"top"}:o.bindOptions;var i="";if(typeof e=="object"){i=BX.create("div",{props:{className:"bx-timeman-timecontrol-tooltip",style:"padding-right: 5px;"+(o.width>0?"width: "+o.width+"px;":"")},children:[e]})}else{i=BX.create("div",{props:{className:"bx-timeman-timecontrol-tooltip",style:"padding-right: 5px;"+(o.width>0?"width: "+o.width+"px;":"")},html:e})}this.popupTooltip=new BX.PopupWindow("bx-timeman-timecontrol-tooltip",t,{lightShadow:true,autoHide:true,darkMode:true,offsetLeft:o.offsetLeft,offsetTop:o.offsetTop,closeIcon:{},bindOptions:o.bindOptions,events:{onPopupClose:function(){this.destroy()},onPopupDestroy:function(){this.popupTooltip=null}.bind(this)},zIndex:2e3,content:i});if(o.angle){this.popupTooltip.setAngle({offset:23,position:o.bindOptions.position=="top"?"bottom":"top"})}this.popupTooltip.show();return true},showConfirm:function(t,e,o){if(this.popupConfirm!=null){this.popupConfirm.destroy()}if(typeof t=="object"){t='<div class="bx-timeman-timecontrol-confirm-title">'+t.title+"</div>"+t.message}o=o!==false;if(!e||typeof e=="object"&&e.length<=0||e===false){e=[new BX.PopupWindowButton({text:BX.message("JS_CORE_TC_CONFIRM_CLOSE"),className:"popup-window-button-decline",events:{click:function(t){this.popupWindow.close();BX.PreventDefault(t)}}})]}this.popupConfirm=new BX.PopupWindow("bx-timeman-timecontrol-confirm",null,{zIndex:2e3,autoHide:e===false,buttons:e,closeByEsc:e===false,overlay:o,events:{onPopupClose:function(){this.destroy()},onPopupDestroy:BX.delegate((function(){this.popupConfirm=null}),this)},content:BX.create("div",{props:{className:e===false?" bx-timeman-timecontrol-confirm-without-buttons":"bx-timeman-timecontrol-confirm"},html:t})});this.popupConfirm.show();BX.bind(this.popupConfirm.popupContainer,"click",BX.PreventDefault);BX.bind(this.popupConfirm.contentContainer,"click",BX.PreventDefault);BX.bind(this.popupConfirm.overlay.element,"click",BX.PreventDefault);if(e===false){setTimeout((()=>this.close()),2e3)}},render:function(t){var e=`<div class="bx-timeman-timecontrol">\n\t\t\t\t<div class="bx-timeman-timecontrol-title">\n\t\t\t\t\t<div class="bx-timeman-timecontrol-title-text">\n\t\t\t\t\t\t${BX.message("JS_CORE_TC_TITLE")}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="${t.popup?"bx-timeman-timecontrol-title-close":"bx-timeman-timecontrol-title-domain"}">\n\t\t\t\t\t\t${t.popup?BX.message("JS_CORE_TC_DIALOG_CLOSE"):location.host}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="bx-timeman-timecontrol-box">\n\t\t\t\t\t<div class="bx-timeman-timecontrol-image"></div>\n\t\t\t\t\t<div class="bx-timeman-timecontrol-content">\n\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message bx-timeman-timecontrol-message-marta">\n\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-avatar"></div>\n\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-box">\n\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-marta-1">\n\t\t\t\t\t\t\t\t\t${BX.message("JS_CORE_TC_MESSAGE_LINE_1").replace("#TIME#","<b>"+t.absenceTime+'</b> <span class="bx-timeman-timecontrol-time-help">?</span>')}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-marta-2">\n\t\t\t\t\t\t\t\t\t${BX.message("JS_CORE_TC_MESSAGE_LINE_2")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message bx-timeman-timecontrol-message-user">\n\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-avatar" style="${t.userAvatar}"></div>\n\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-box">\n\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-user-type-selector">\n\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-selector ${t.absenceType=="work"?"bx-timeman-timecontrol-selector-selected":""}">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-selector-radio">\n\t\t\t\t\t\t\t\t\t\t\t<input class="bx-timeman-timecontrol-selector-radio-input bx-timeman-timecontrol-type-work" name="timeman-timecontrol-type" type="radio" value="work" tabidex="1000" ${t.absenceType=="work"?'checked="true"':""}>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-selector-radio-text">${BX.message("JS_CORE_TC_ABSENCE_WORK_"+t.userGender)}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-selector ${t.absenceType=="private"?"bx-timeman-timecontrol-selector-selected":""}">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-selector-radio">\n\t\t\t\t\t\t\t\t\t\t\t<input class="bx-timeman-timecontrol-selector-radio-input bx-timeman-timecontrol-type-private" name="timeman-timecontrol-type" type="radio" value="private" ${t.absenceType=="private"?'checked="true"':""}>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-selector-radio-text">${BX.message("JS_CORE_TC_ABSENCE_PRIVATE_"+t.userGender)}</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-user-comment">\n\t\t\t\t\t\t\t\t\t<textarea class="bx-timeman-timecontrol-message-user-comment-textarea" placeholder="${BX.message("JS_CORE_TC_TEXTAREA_HELP")}" tabidex="1002">${t.absenceReason}</textarea>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-user-commit">\n\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-user-commit-button ${t.absenceReason||t.absenceType=="private"?"":"bx-timeman-timecontrol-message-user-commit-button-disabled"}">\n\t\t\t\t\t\t\t\t\t\t<button class="bx-timeman-timecontrol-button-input bx-timeman-timecontrol-message-user-commit-button-input" tabidex="1003">${BX.message("JS_CORE_TC_SEND_FORM")} (${BX.browser.IsMac()?"⌘+Enter":"Ctrl+Enter"})</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-message-user-commit-checkbox">\n\t\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-checkbox">\n\t\t\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-checkbox-input ${t.calendarCheckboxDefault?"bx-timeman-timecontrol-checkbox-input-checked":""}" tabidex="1004">\n\t\t\t\t\t\t\t\t\t\t\t\t<input class="bx-timeman-timecontrol-checkbox-input-input bx-timeman-timecontrol-checkbox-input-calendar" name="timeman-timecontrol-calendar" type="checkbox" value="Y" ${t.calendarCheckboxDefault?'checked="Y"':""}>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class="bx-timeman-timecontrol-checkbox-text">${BX.message("JS_CORE_TC_SAVE_TO_CALENDAR")}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>`;return BX.create("div",{html:e})}};BX.TimeControl=t})(); //# sourceMappingURL=core_timecontrol.map.js