File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/calendar/install/js/calendar/resourcebooking/dist/resourcebooking.bundle.min.js
Back
this.BX=this.BX||{};(function(e,t,s,a,i){"use strict";var r;var l=function(){function e(t){babelHelpers.classCallCheck(this,e);if((this instanceof e?this.constructor:void 0)===e){throw new TypeError("Cannot construct Abstract instances directly")}this.name=null;this.classNames={wrap:t.wrapClassName||"calendar-resbook-webform-block",innerWrap:"calendar-resbook-webform-block-inner",title:"calendar-resbook-webform-block-title",field:"calendar-resbook-webform-block-field"};this.DOM={outerWrap:t.outerWrap,wrap:null,dataWrap:null,innerWrap:null,labelWrap:null};this.data=t.data;this.shown=false}babelHelpers.createClass(e,[{key:"isDisplayed",value:function e(){return this.data.show!=="N"}},{key:"isShown",value:function e(){return this.shown}},{key:"display",value:function e(){this.DOM.wrap=this.DOM.outerWrap.appendChild(t.Dom.create("div",{props:{className:this.classNames.wrap}}));this.DOM.dataWrap=this.DOM.wrap.appendChild(t.Tag.render(r||(r=babelHelpers.taggedTemplateLiteral(['<div data-bx-resource-data-wrap="Y"></div>']))));if(this.isDisplayed()){this.show({animation:false})}}},{key:"refresh",value:function e(t){this.refreshLabel(t);this.data=t;if(this.setDataConfig()){if(this.isDisplayed()){this.show({animation:true})}else{this.hide({animation:true})}}this.data=t}},{key:"setDataConfig",value:function e(){return true}},{key:"refreshLabel",value:function e(s){if(this.data.label!==s.label){t.Dom.adjust(this.DOM.labelWrap,{text:s.label})}}},{key:"show",value:function e(){if(this.DOM.innerWrap){this.hide()}this.DOM.innerWrap=this.DOM.wrap.appendChild(t.Dom.create("div",{props:{className:this.classNames.innerWrap}}));if(this.data.label||this.label){this.DOM.labelWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:this.classNames.title},text:this.data.label||this.label}))}this.DOM.controlWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:this.classNames.field}}));this.displayControl();this.shown=true}},{key:"hide",value:function e(){t.Dom.remove(this.DOM.innerWrap);this.DOM.innerWrap=null;this.shown=false}},{key:"displayControl",value:function e(){}},{key:"showWarning",value:function e(s){if(this.shown&&this.DOM.wrap&&this.DOM.innerWrap){t.Dom.addClass(this.DOM.wrap,"calendar-resbook-webform-block-error");this.displayErrorText(s||t.Loc.getMessage("WEBF_RES_BOOKING_REQUIRED_WARNING"))}}},{key:"hideWarning",value:function e(){if(this.DOM.wrap){t.Dom.removeClass(this.DOM.wrap,"calendar-resbook-webform-block-error");if(this.DOM.errorTextWrap){t.Dom.remove(this.DOM.errorTextWrap)}}}},{key:"displayErrorText",value:function e(s){if(this.DOM.errorTextWrap){t.Dom.remove(this.DOM.errorTextWrap)}this.DOM.errorTextWrap=this.DOM.innerWrap.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-error-text"},text:s}))}}]);return e}();var o=function(){function e(s){babelHelpers.classCallCheck(this,e);this.id="viewform-dropdown-select-"+Math.round(Math.random()*1e5);this.DOM={wrap:s.wrap};this.maxHeight=s.maxHeight;this.selectAllMessage=t.Loc.getMessage("WEBF_RES_SELECT_ALL");this.setSettings(s)}babelHelpers.createClass(e,[{key:"build",value:function e(){this.DOM.select=this.DOM.wrap.appendChild(t.Dom.create("div",{attrs:{className:"calendar-resbook-webform-block-input calendar-resbook-webform-block-input-dropdown"},events:{click:this.openPopup.bind(this)}}));this.setSelectedValues(this.selected)}},{key:"setSettings",value:function e(s){this.handleChangesCallback=t.Type.isFunction(s.handleChangesCallback)?s.handleChangesCallback:null;this.values=s.values;this.selected=!t.Type.isArray(s.selected)?[s.selected]:s.selected;this.multiple=s.multiple}},{key:"openPopup",value:function e(){if(this.isPopupShown()){return this.closePopup()}var s=[];this.values.forEach((function(e){var a="menu-popup-no-icon";if(t.Type.isArray(this.selected)&&this.selected.includes(parseInt(e.id))){a+=" menu-item-selected"}s.push({id:e.id,className:a,text:t.Text.encode(e.title),onclick:this.menuItemClick.bind(this)})}),this);if(this.multiple&&s.length<=1){this.multiple=false}if(this.multiple){s.push({id:"select-all",text:this.selectAllMessage,onclick:this.selectAllItemClick.bind(this)})}this.popup=a.MenuManager.create(this.id,this.DOM.select,s,{className:"calendar-resbook-form-popup"+(this.multiple?" popup-window-resource-select":""),closeByEsc:true,autoHide:!this.multiple,offsetTop:0,offsetLeft:0,cacheable:false});this.popup.show(true);this.popupContainer=this.popup.popupWindow.popupContainer;this.popupContainer.style.width=parseInt(this.DOM.select.offsetWidth)+"px";if(this.multiple){this.popup.menuItems.forEach((function(e){var t;if(e.id==="select-all"){this.selectAllChecked=!this.values.find((function(e){return!this.selected.find((function(t){return t===e.id}))}),this);e.layout.item.className="menu-popup-item menu-popup-item-resource-all";e.layout.item.innerHTML='<div class="menu-popup-item-inner">'+'<div class="menu-popup-item-resource">'+'<input class="menu-popup-item-resource-checkbox menu-popup-item-all-resources-checkbox" type="checkbox"'+(this.selectAllChecked?'checked="checked"':"")+' id="'+e.id+'">'+'<label class="menu-popup-item-text" for="'+e.id+'">'+e.text+"</label>"+"</div>"+"</div>"}else{t=this.selected.find((function(t){return t===e.id}));e.layout.item.className="menu-popup-item";e.layout.item.innerHTML='<div class="menu-popup-item-inner">'+'<div class="menu-popup-item-resource">'+'<input class="menu-popup-item-resource-checkbox" type="checkbox"'+(t?'checked="checked"':"")+' id="'+e.id+'">'+'<label class="menu-popup-item-text" for="'+e.id+'">'+e.text+"</label>"+"</div>"+"</div>"}}),this);t.Event.unbind(document,"click",this.handleClick.bind(this));setTimeout(function(){t.Event.bind(document,"click",this.handleClick.bind(this))}.bind(this),50)}}},{key:"closePopup",value:function e(){if(this.isPopupShown()){this.popup.close();if(this.multiple){t.Event.unbind(document,"click",this.handleClick.bind(this))}}}},{key:"isPopupShown",value:function e(){return this.popup&&this.popup.popupWindow&&this.popup.popupWindow.isShown&&this.popup.popupWindow.isShown()&&this.popup.popupWindow.popupContainer&&t.Dom.isShown(this.popup.popupWindow.popupContainer)}},{key:"menuItemClick",value:function e(s,a){var i,r=s.target||s.srcElement,l,o;if(this.multiple){l=this.values.find((function(e){return e.id==a.id}));o=a.layout.item.querySelector(".menu-popup-item-resource-checkbox");if(l&&r&&(t.Dom.hasClass(r,"menu-popup-item")||t.Dom.hasClass(r,"menu-popup-item-resource-checkbox")||t.Dom.hasClass(r,"menu-popup-item-inner"))){if(!t.Dom.hasClass(r,"menu-popup-item-resource-checkbox")){o.checked=!o.checked}if(o.checked){this.selectItem(l)}else{this.deselectItem(l);i=this.popupContainer.querySelector(".menu-popup-item-all-resources-checkbox");this.selectAllChecked=false;if(i){i.checked=false}}this.setSelectedValues(this.selected);this.handleControlChanges()}}else{this.setSelectedValues([a.id]);this.handleControlChanges();this.closePopup()}}},{key:"selectItem",value:function e(t){if(!this.selected.includes(t.id)){this.selected.push(t.id)}}},{key:"deselectItem",value:function e(t){var s=this.selected.indexOf(parseInt(t.id));if(s>=0){this.selected=this.selected.slice(0,s).concat(this.selected.slice(s+1))}}},{key:"selectAllItemClick",value:function e(s,a){var i=s.target||s.srcElement;if(i&&(t.Dom.hasClass(i,"menu-popup-item")||t.Dom.hasClass(i,"menu-popup-item-resource-checkbox"))){var r=a.layout.item.querySelector(".menu-popup-item-resource-checkbox");if(t.Dom.hasClass(i,"menu-popup-item")){r.checked=!r.checked}var l,o=this.popupContainer.querySelectorAll("input.menu-popup-item-resource-checkbox");this.selectAllChecked=r.checked;for(l=0;l<o.length;l++){o[l].checked=this.selectAllChecked}this.selected=[];if(this.selectAllChecked){this.values.forEach((function(e){this.selected.push(e.id)}),this)}this.setSelectedValues(this.selected);this.handleControlChanges()}}},{key:"handleClick",value:function e(t){if(this.isPopupShown()&&!this.popupContainer.contains(t.target||t.srcElement)){this.closePopup({animation:true})}this.handleControlChanges()}},{key:"getSelectedValues",value:function e(){return this.selected}},{key:"setSelectedValues",value:function e(s){var a,i,r=[],l=[];for(a=0;a<s.length;a++){i=this.values.find((function(e){return e.id===s[a]}));if(i){r.push(i.title);l.push(i.id)}}this.selected=l;t.Dom.adjust(this.DOM.select,{text:r.length?r.join(", "):t.Loc.getMessage("USER_TYPE_RESOURCE_LIST_PLACEHOLDER")})}},{key:"handleControlChanges",value:function e(){if(this.handleChangesCallback){this.handleChangesCallback(this.getSelectedValues())}}}]);return e}();var n=function(e){babelHelpers.inherits(s,e);function s(e){var t;babelHelpers.classCallCheck(this,s);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));t.name="UserSelector";t.data=e.data||{};t.userList=[];t.userIndex={};t.values=[];t.defaultMode="auto";t.previewMode=e.previewMode===undefined;t.autoSelectDefaultValue=e.autoSelectDefaultValue;t.changeValueCallback=e.changeValueCallback;t.handleSettingsData(t.data,e.userIndex);return t}babelHelpers.createClass(s,[{key:"displayControl",value:function e(){this.selectedValue=this.getSelectedUser();this.dropdownSelect=new o({wrap:this.DOM.controlWrap,values:this.userList,selected:this.selectedValue,handleChangesCallback:this.handleChanges.bind(this)});this.dropdownSelect.build()}},{key:"refresh",value:function e(t,s){this.refreshLabel(t);this.data=t;this.handleSettingsData(this.data,s);this.selectedValue=this.getSelectedUser();if(this.dropdownSelect){this.dropdownSelect.setSettings({values:this.userList,selected:this.selectedValue})}if(this.setDataConfig()){if(this.isDisplayed()){this.show({animation:true})}else{this.hide({animation:true})}}}},{key:"handleSettingsData",value:function e(s,a){if(t.Type.isPlainObject(a)){for(var i in a){if(a.hasOwnProperty(i)){this.userIndex[i]=a[i]}}}this.defaultMode=this.data.defaultMode==="none"?"none":"auto";var r=[];this.userList=[];if(this.data.value){var l=t.Type.isArray(this.data.value)?this.data.value:this.data.value.split("|");l.forEach((function(e){e=parseInt(e);if(e>0){r.push(e);if(this.userIndex[e]){this.userList.push({id:e,title:this.userIndex[e].displayName})}}}),this)}this.values=r}},{key:"getSelectedUser",value:function e(){var s=null;if(this.dropdownSelect){s=this.dropdownSelect.getSelectedValues();s=t.Type.isArray(s)&&s.length?s[0]:null}if(!s&&this.previewMode&&this.data.defaultMode==="auto"&&this.userList&&this.userList[0]){s=this.userList[0].id}if(!s&&this.autoSelectDefaultValue){s=this.autoSelectDefaultValue}return s}},{key:"setSelectedUser",value:function e(t){if(this.dropdownSelect){this.dropdownSelect.setSelectedValues([t])}else{this.autoSelectDefaultValue=parseInt(t)}}},{key:"handleChanges",value:function e(s){if(!this.previewMode&&t.Type.isFunction(this.changeValueCallback)){this.changeValueCallback(s[0]||null)}}}]);return s}(l);var u=function(e){babelHelpers.inherits(s,e);function s(e){var t;babelHelpers.classCallCheck(this,s);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));t.name="ResourceSelector";t.data=e.data;t.allResourceList=e.resourceList;t.autoSelectDefaultValue=e.autoSelectDefaultValue;t.changeValueCallback=e.changeValueCallback;t.handleSettingsData(e.data);return t}babelHelpers.createClass(s,[{key:"handleSettingsData",value:function e(s){if(!t.Type.isArray(s.value)){var a=[];if(s.value){s.value.split("|").forEach((function(e){if(parseInt(e)>0){a.push(parseInt(e))}}))}this.data.value=a}this.resourceList=[];if(t.Type.isArray(this.allResourceList)&&t.Type.isArray(this.data.value)){this.allResourceList.forEach((function(e){if(this.data.value.includes(parseInt(e.id))){this.resourceList.push(e)}}),this)}this.setSelectedValues(this.getSelectedValues())}},{key:"displayControl",value:function e(){this.dropdownSelect=new o({wrap:this.DOM.controlWrap,values:this.resourceList,selected:this.selectedValues,multiple:this.data.multiple==="Y",handleChangesCallback:this.changeValueCallback});this.dropdownSelect.build()}},{key:"refresh",value:function e(t){this.refreshLabel(t);this.data=t;this.handleSettingsData(this.data);this.setSelectedValues(this.getSelectedValues());if(this.dropdownSelect){this.dropdownSelect.setSettings({values:this.resourceList,selected:this.selectedValues,multiple:this.data.multiple==="Y"})}if(this.setDataConfig()){if(this.isDisplayed()){this.show({animation:true})}else{this.hide({animation:true})}}}},{key:"getSelectedValues",value:function e(){var t=null;if(this.dropdownSelect){t=this.dropdownSelect.getSelectedValues()}if(!t&&this.autoSelectDefaultValue){t=[this.autoSelectDefaultValue]}if(!t&&this.data.defaultMode==="auto"){if(this.resourceList&&this.resourceList[0]){t=[this.resourceList[0].id]}}return t}},{key:"setSelectedValues",value:function e(t){this.selectedValues=t}},{key:"setSelectedResource",value:function e(t){if(this.dropdownSelect){this.dropdownSelect.setSelectedValues([t])}else{this.autoSelectDefaultValue=parseInt(t);this.selectedValues=[t]}}}]);return s}(l);var h=function(e){babelHelpers.inherits(s,e);function s(e){var a;babelHelpers.classCallCheck(this,s);a=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));a.name="ServiceSelector";a.data=e.data;a.serviceList=[];a.allServiceList=[];if(t.Type.isArray(e.serviceList)){e.serviceList.forEach((function(e){if(t.Type.isString(name)){e.name=e.name.trim()}a.allServiceList.push(e)}))}a.values=[];a.changeValueCallback=t.Type.isFunction(e.changeValueCallback)?e.changeValueCallback:null;if(e.selectedValue){a.setSelectedService(e.selectedValue)}a.handleSettingsData(a.data);return a}babelHelpers.createClass(s,[{key:"displayControl",value:function e(){this.dropdownSelect=new o({wrap:this.DOM.controlWrap,values:this.serviceList,selected:this.getSelectedService(),handleChangesCallback:function(e){if(e&&e[0]){this.setSelectedService(e[0]);if(this.changeValueCallback){this.changeValueCallback()}}}.bind(this)});this.dropdownSelect.build()}},{key:"refresh",value:function e(t){this.refreshLabel(t);this.data=t;this.handleSettingsData(this.data);if(this.dropdownSelect){this.dropdownSelect.setSettings({values:this.serviceList,selected:this.getSelectedService()})}if(this.setDataConfig()){if(this.isDisplayed()){this.show({animation:true})}else{this.hide({animation:true})}}}},{key:"handleSettingsData",value:function e(){this.serviceIndex={};if(t.Type.isArray(this.allServiceList)){this.allServiceList.forEach((function(e){if(t.Type.isPlainObject(e)&&t.Type.isString(e.name)&&e.name.trim()!==""){this.serviceIndex[this.prepareServiceId(e.name)]=e}}),this)}this.serviceList=[];if(this.data.value){var s=t.Type.isArray(this.data.value)?this.data.value:this.data.value.split("|");s.forEach((function(e){var s=this.serviceIndex[this.prepareServiceId(e)];if(t.Type.isPlainObject(s)&&t.Type.isString(s.name)&&s.name.trim()!==""){this.serviceList.push({id:this.prepareServiceId(s.name),title:s.name+" - "+$.getDurationLabel(s.duration)})}}),this)}}},{key:"setSelectedService",value:function e(t){this.selectedService=t}},{key:"getSelectedService",value:function e(t){return t!==true?this.selectedService||null:this.serviceIndex[this.prepareServiceId(this.selectedService)]||null}},{key:"prepareServiceId",value:function e(t){return $.translit(t)}}]);return s}(l);var c=function(e){babelHelpers.inherits(s,e);function s(e){var t;babelHelpers.classCallCheck(this,s);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));t.name="DurationSelector";t.data=e.data;t.durationList=$.getDurationList(e.fullDay);t.changeValueCallback=e.changeValueCallback;t.defaultValue=e.defaultValue||t.data.defaultValue;t.handleSettingsData(e.data);return t}babelHelpers.createClass(s,[{key:"handleSettingsData",value:function e(){this.durationItems=[];if(t.Type.isArray(this.durationList)){this.durationList.forEach((function(e){this.durationItems.push({id:e.value,title:e.label})}),this)}}},{key:"displayControl",value:function e(){this.DOM.durationInput=this.DOM.controlWrap.appendChild(t.Dom.create("INPUT",{attrs:{value:this.data.defaultValue||null,type:"text"},props:{className:"calendar-resbook-webform-block-input calendar-resbook-webform-block-input-dropdown"}}));this.durationControl=new ae({input:this.DOM.durationInput,values:this.durationList,value:this.data.defaultValue||null,editable:this.data.manualInput==="Y",defaultValue:this.defaultValue,setFirstIfNotFound:true,onChangeCallback:this.changeValueCallback})}},{key:"refresh",value:function e(t){this.refreshLabel(t);this.data=t;this.handleSettingsData(this.data);if(this.setDataConfig()){if(this.isDisplayed()){this.show({animation:true});if(this.durationControl){this.durationControl.setValue(this.data.defaultValue||null)}}else{this.hide({animation:true})}}}},{key:"getSelectedValue",value:function e(){var t=null;if(this.durationControl){t=$.parseDuration(this.durationControl.getValue())}else{t=parseInt(this.defaultValue)}return t}}]);return s}(l);var d,p,f,m,b,v,D,g,y,k,C,T,M;var S=function(e){babelHelpers.inherits(s,e);function s(e){var t;babelHelpers.classCallCheck(this,s);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));t.DOM={outerWrap:e.outerWrap,wrap:null};t.data=e.data||{};t.changeValueCallback=e.changeValueCallback;t.requestDataCallback=e.requestDataCallback;t.previewMode=e.previewMode===undefined;t.allowOverbooking=e.allowOverbooking;t.setDataConfig();t.displayed=true;return t}babelHelpers.createClass(s,[{key:"display",value:function e(s){s=s||{};this.setDateIndex(s.availableDateIndex);this.setCurrentDate(s.selectedValue);this.DOM.wrap=this.DOM.outerWrap.appendChild(t.Tag.render(d||(d=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block"></div>']))));this.DOM.innerWrap=this.DOM.wrap.appendChild(t.Tag.render(p||(p=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-inner"></div>']))));if(this.data.label){this.DOM.labelWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-title"},text:this.data.label+"*"}))}this.displayControl();this.shown=true}},{key:"refresh",value:function e(s,a){a=a||{};this.setDateIndex(a.availableDateIndex);this.setCurrentDate(a.selectedValue);this.data=s;t.Dom.adjust(this.DOM.labelWrap,{text:this.data.label+"*"});if(this.setDataConfig()){t.Dom.remove(this.DOM.controlWrap);this.displayControl()}if(this.style==="line"){this.lineDateControl.refreshDateAvailability()}}},{key:"setDataConfig",value:function e(){var t=this.data.style==="line"?"line":"popup",s=this.data.start==="today"?"today":"free",a=this.style!==t||this.start!==s;this.style=t;this.start=s;return a}},{key:"hide",value:function e(){t.Dom.remove(this.DOM.innerWrap);this.DOM.innerWrap=null}},{key:"displayControl",value:function e(){this.DOM.controlWrap=this.DOM.innerWrap.appendChild(t.Tag.render(f||(f=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-date"></div>']))));if(this.style==="popup"){this.DOM.controlWrap.className="calendar-resbook-webform-block-calendar";this.popupSateControl=new O({wrap:this.DOM.controlWrap,isDateAvailable:this.isDateAvailable.bind(this),onChange:function(e){this.onChange(e)}.bind(this)});this.popupSateControl.build();this.popupSateControl.setValue(this.getValue())}else if(this.style==="line"){this.DOM.controlWrap.className="calendar-resbook-webform-block-date";this.lineDateControl=new w({wrap:this.DOM.controlWrap,isDateAvailable:this.isDateAvailable.bind(this),onChange:this.onChange.bind(this)});this.lineDateControl.build();this.lineDateControl.setValue(this.getValue())}}},{key:"setCurrentDate",value:function e(s){if(t.Type.isDate(s)){this.currentDate=s}}},{key:"setDateIndex",value:function e(s){if(t.Type.isPlainObject(s)){this.availableDateIndex=s}}},{key:"isDateLoaded",value:function e(s){if(t.Type.isDate(s)&&!this.isItPastDate(s)&&this.availableDateIndex){if(this.availableDateIndex[$.formatDate(null,s)]!==undefined){return true}if(t.Type.isFunction(this.requestDataCallback)){this.requestDataCallback({date:s})}}return false}},{key:"isDateAvailable",value:function e(s){if(this.previewMode||this.allowOverbooking){return true}if(t.Type.isDate(s)&&!this.isItPastDate(s)&&this.availableDateIndex){var a=$.formatDate(null,s);if(this.availableDateIndex[a]===undefined){if(t.Type.isFunction(this.requestDataCallback)){this.requestDataCallback({date:s})}return false}else{return this.availableDateIndex[a]}}return false}},{key:"isItPastDate",value:function e(s){if(t.Type.isDate(s)){var a=new Date,i=new Date(s.getTime());a.setHours(0,0,0,0);i.setHours(0,0,0,0);return i.getTime()<a.getTime()}return false}},{key:"refreshCurrentValue",value:function e(){this.onChange(this.getDisplayedValue())}},{key:"getDisplayedValue",value:function e(){return this.style==="popup"?this.popupSateControl.getValue():this.lineDateControl.getValue()}},{key:"onChange",value:function e(s){if(t.Type.isFunction(this.changeValueCallback)){var a=s;if(!t.Type.isDate(a)){a=this.getDisplayedValue()}this.setCurrentDate(s);this.changeValueCallback(s,a,this.isDateAvailable(a))}}},{key:"getValue",value:function e(){if(!this.currentDate){this.currentDate=new Date}return this.currentDate}}]);return s}(l);var O=function(){function e(s){babelHelpers.classCallCheck(this,e);this.DOM={outerWrap:s.wrap,wrap:null};this.value=null;this.datePicker=null;this.isDateAvailable=t.Type.isFunction(s.isDateAvailable)?s.isDateAvailable:function(){return true};this.onChange=t.Type.isFunction(s.onChange)?s.onChange:function(){}}babelHelpers.createClass(e,[{key:"build",value:function e(){this.DOM.wrap=this.DOM.outerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-strip"},events:{click:this.handleClick.bind(this)}}));this.DOM.valueInput=this.DOM.wrap.appendChild(t.Tag.render(m||(m=babelHelpers.taggedTemplateLiteral(['<input type="hidden" \nvalue=""/>']))));this.DOM.previousArrow=this.DOM.wrap.appendChild(t.Tag.render(b||(b=babelHelpers.taggedTemplateLiteral(['<span class="calendar-resbook-webform-block-strip-arrow calendar-resbook-webform-block-strip-arrow-prev" data-bx-resbook-date-meta="previous"/>']))));this.DOM.stateWrap=this.DOM.wrap.appendChild(t.Tag.render(v||(v=babelHelpers.taggedTemplateLiteral(['<span class="calendar-resbook-webform-block-strip-text" data-bx-resbook-date-meta="calendar"/>']))));this.DOM.stateWrapDate=this.DOM.stateWrap.appendChild(t.Tag.render(D||(D=babelHelpers.taggedTemplateLiteral(['<span class="calendar-resbook-webform-block-strip-date"/>']))));this.DOM.stateWrapDay=this.DOM.stateWrap.appendChild(t.Tag.render(g||(g=babelHelpers.taggedTemplateLiteral(['<span class="calendar-resbook-webform-block-strip-day"/>']))));this.DOM.nextArrow=this.DOM.wrap.appendChild(t.Tag.render(y||(y=babelHelpers.taggedTemplateLiteral(['<span class="calendar-resbook-webform-block-strip-arrow calendar-resbook-webform-block-strip-arrow-next" data-bx-resbook-date-meta="next"/>']))))}},{key:"getValue",value:function e(){return this.value}},{key:"setValue",value:function e(s){this.value=s;t.Dom.adjust(this.DOM.stateWrapDate,{text:$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_DATE_LINE"),s)});t.Dom.adjust(this.DOM.stateWrapDay,{text:$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_DAY_LINE"),s)});if(!this.isDateAvailable(s)||!t.Type.isDate(s)){this.onChange(false)}else{this.onChange(this.value)}}},{key:"handleClick",value:function e(t){var s,a=t.target||t.srcElement;if(a.hasAttribute("data-bx-resbook-date-meta")||(a=a.closest("[data-bx-resbook-date-meta]"))){var i=a.getAttribute("data-bx-resbook-date-meta");if(i==="previous"){s=this.getValue();s.setDate(s.getDate()-1);this.setValue(s)}else if(i==="next"){s=this.getValue();s.setDate(s.getDate()+1);this.setValue(s)}else if(i==="calendar"){this.openCalendarPopup()}}}},{key:"openCalendarPopup",value:function t(){this.DOM.valueInput.value=$.formatDate(null,this.getValue().getTime()/1e3);if(e.isExternalDatePickerEnabled()){this.openExternalDatePicker()}else{this.openBxCalendar()}}},{key:"openBxCalendar",value:function e(){BX.calendar({node:this.DOM.stateWrap,field:this.DOM.valueInput,bTime:false});if(BX.calendar.get().popup){$.unbindCustomEvent(BX.calendar.get().popup,"onPopupClose",this.handleCalendarClose.bind(this));$.bindCustomEvent(BX.calendar.get().popup,"onPopupClose",this.handleCalendarClose.bind(this))}}},{key:"handleCalendarClose",value:function e(){this.setValue($.parseDate(this.DOM.valueInput.value))}},{key:"openExternalDatePicker",value:function e(){if(t.Type.isNull(this.datePicker)){this.datePicker=new BX.UI.Vue.Components.DatePick({node:this.DOM.stateWrap,hasTime:false,events:{change:function(e){this.DOM.valueInput.value=e;this.handleCalendarClose()}.bind(this)}})}this.datePicker.value=this.DOM.valueInput.value;this.datePicker.toggle()}}],[{key:"isExternalDatePickerEnabled",value:function s(){if(t.Type.isNull(e.externalDatePickerIsEnabled)){e.externalDatePickerIsEnabled=!!(window.BX&&BX.UI&&BX.UI.Vue&&BX.UI.Vue.Components&&BX.UI.Vue.Components.DatePick)}return e.externalDatePickerIsEnabled}}]);return e}();babelHelpers.defineProperty(O,"externalDatePickerIsEnabled",null);var w=function(){function e(s){babelHelpers.classCallCheck(this,e);s=s||{};this.DOM={outerWrap:s.wrap,wrap:null};this.value=null;this.isDateAvailable=t.Type.isFunction(s.isDateAvailable)?s.isDateAvailable:function(){return true};this.onChange=t.Type.isFunction(s.onChange)?s.onChange:function(){};this.DAYS_DISPLAY_SIZE=30;this.DOM.dayNodes={};this.dayNodeIndex={}}babelHelpers.createClass(e,[{key:"build",value:function e(){this.DOM.monthTitle=this.DOM.outerWrap.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-date-month"}}));this.DOM.wrap=this.DOM.outerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-date-range"},events:{click:this.handleClick.bind(this)}}));this.DOM.controlStaticWrap=this.DOM.wrap.appendChild(t.Tag.render(k||(k=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-date-range-static-wrap" \n></div>']))));this.DOM.controlInnerWrap=this.DOM.controlStaticWrap.appendChild(t.Tag.render(C||(C=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-date-range-inner-wrap" \n></div>']))));this.DOM.valueInput=this.DOM.wrap.appendChild(t.Tag.render(T||(T=babelHelpers.taggedTemplateLiteral(['<input type="hidden" \nvalue=""/>']))));this.fillDays();this.initCustomScroll()}},{key:"fillDays",value:function e(){var t,s=this.getStartLoadDate(),a=new Date(s.getTime());for(t=0;t<this.DAYS_DISPLAY_SIZE;t++){this.addDateSlot(a);a.setDate(a.getDate()+1)}this.innerWidth=parseInt(this.DOM.controlInnerWrap.offsetWidth)}},{key:"addDateSlot",value:function e(s){var a=$.formatDate("Y-m-d",s.getTime()/1e3);this.dayNodeIndex[a]=new Date(s.getTime());this.DOM.dayNodes[a]=this.DOM.controlInnerWrap.appendChild(t.Dom.create("div",{attrs:{className:"calendar-resbook-webform-block-date-item"+(this.isDateAvailable(s)?"":" calendar-resbook-webform-block-date-item-off"),"data-bx-resbook-date-meta":a},html:'<div class="calendar-resbook-webform-block-date-item-inner">'+'<span class="calendar-resbook-webform-block-date-number">'+$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_DATE"),s)+"</span>"+'<span class="calendar-resbook-webform-block-date-day">'+$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_DAY_OF_THE_WEEK"),s)+"</span>"+"</div>"}))}},{key:"refreshDateAvailability",value:function e(){for(var s in this.DOM.dayNodes){if(this.DOM.dayNodes.hasOwnProperty(s)){if(this.isDateAvailable(this.dayNodeIndex[s])){t.Dom.removeClass(this.DOM.dayNodes[s],"calendar-resbook-webform-block-date-item-off")}else{t.Dom.addClass(this.DOM.dayNodes[s],"calendar-resbook-webform-block-date-item-off")}}}}},{key:"handleClick",value:function e(t){var s,a=t.target||t.srcElement;if(a.hasAttribute("data-bx-resbook-date-meta")||(a=a.closest("[data-bx-resbook-date-meta]"))){var i=a.getAttribute("data-bx-resbook-date-meta");if(i&&(s=$.parseDate(i,false,"YYYY-MM-DD"))){this.setValue(s)}}}},{key:"setValue",value:function e(s){if(t.Type.isDate(s)){this.value=s;var a=this.getDayNode(s);if(a){this.setSelected(a)}this.onChange(this.value)}}},{key:"getValue",value:function e(){return this.value}},{key:"getDayNode",value:function e(t){var s=$.formatDate("Y-m-d",t.getTime()/1e3);if(this.DOM.dayNodes[s]){return this.DOM.dayNodes[s]}else{this.fillDays(t);if(this.DOM.dayNodes[s]){return this.DOM.dayNodes[s]}}return null}},{key:"setSelected",value:function e(s){if(this.currentSelected){t.Dom.removeClass(this.currentSelected,"calendar-resbook-webform-block-date-item-select")}this.currentSelected=s;t.Dom.addClass(s,"calendar-resbook-webform-block-date-item-select")}},{key:"getStartLoadDate",value:function e(){if(!this.startLoadDate){this.startLoadDate=new Date}else{this.startLoadDate.setDate(this.startLoadDate.getDate()+this.DAYS_DISPLAY_SIZE)}return this.startLoadDate}},{key:"initCustomScroll",value:function e(){var s=this.DOM.wrap.appendChild(t.Tag.render(M||(M=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-arrow-container" \n></div>']))));this.DOM.leftArrow=s.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-arrow calendar-resbook-webform-block-arrow-prev"},events:{click:this.handlePreletrowClick.bind(this)}}));this.DOM.rightArrow=s.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-arrow calendar-resbook-webform-block-arrow-next"},events:{click:this.handleNextArrowClick.bind(this)}}));this.outerWidth=parseInt(this.DOM.controlStaticWrap.offsetWidth);this.innerWidth=parseInt(this.DOM.controlInnerWrap.offsetWidth);if("onwheel"in document){t.Event.bind(this.DOM.controlStaticWrap,"wheel",this.mousewheelScrollHandler.bind(this))}else{t.Event.bind(this.DOM.controlStaticWrap,"mousewheel",this.mousewheelScrollHandler.bind(this))}this.checkScrollPosition()}},{key:"handleNextArrowClick",value:function e(){this.DOM.controlStaticWrap.scrollLeft=this.DOM.controlStaticWrap.scrollLeft+100;this.checkScrollPosition()}},{key:"handlePreletrowClick",value:function e(){this.DOM.controlStaticWrap.scrollLeft=Math.max(this.DOM.controlStaticWrap.scrollLeft-100,0);this.checkScrollPosition()}},{key:"mousewheelScrollHandler",value:function e(s){s=s||window.event;var a=s.deltaY||s.detail||s.wheelDelta;if(Math.abs(a)>0){if(!t.Browser.isMac()){a=a*3}this.DOM.controlStaticWrap.scrollLeft=Math.max(this.DOM.controlStaticWrap.scrollLeft+a,0);this.checkScrollPosition();if(s.stopPropagation){s.preventDefault();s.stopPropagation()}return false}}},{key:"checkScrollPosition",value:function e(){if(this.outerWidth<=this.innerWidth){this.DOM.leftArrow.style.display=this.DOM.controlStaticWrap.scrollLeft===0?"none":"";if(this.innerWidth-this.outerWidth-4<=this.DOM.controlStaticWrap.scrollLeft){this.fillDays()}}this.updateMonthTitle()}},{key:"updateMonthTitle",value:function e(){if(!this.dayNodeOuterWidth){this.dayNodeOuterWidth=this.DOM.controlInnerWrap.childNodes[1].offsetLeft-this.DOM.controlInnerWrap.childNodes[0].offsetLeft;if(!this.dayNodeOuterWidth){return setTimeout(this.updateMonthTitle.bind(this),100)}}var s,a,i,r,l=Math.floor(this.DOM.controlStaticWrap.scrollLeft/this.dayNodeOuterWidth),o=Math.floor((this.DOM.controlStaticWrap.scrollLeft+this.outerWidth)/this.dayNodeOuterWidth);if(this.DOM.controlInnerWrap.childNodes[l]){i=this.DOM.controlInnerWrap.childNodes[l].getAttribute("data-bx-resbook-date-meta");if(i&&(r=$.parseDate(i,false,"YYYY-MM-DD"))){s=a=$.formatDate("f",r)}}if(this.DOM.controlInnerWrap.childNodes[o]){i=this.DOM.controlInnerWrap.childNodes[o].getAttribute("data-bx-resbook-date-meta");if(i&&(r=$.parseDate(i,false,"YYYY-MM-DD"))){a=$.formatDate("f",r)}}if(s&&a){t.Dom.adjust(this.DOM.monthTitle,{text:a===s?s:s+" - "+a})}}}]);return e}();var E,W,I,A,L,_,x,F,R,V,H;var N=function(e){babelHelpers.inherits(s,e);function s(e){var t;babelHelpers.classCallCheck(this,s);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));t.DOM={outerWrap:e.outerWrap,wrap:null};t.data=e.data||{};t.setDataConfig();t.timeFrom=t.data.timeFrom||e.timeFrom||7;if(e.timeFrom!==undefined){t.timeFrom=e.timeFrom}t.timeTo=t.data.timeTo||20;if(e.timeTo!==undefined){t.timeTo=e.timeTo}t.SLOTS_ROW_AMOUNT=6;t.id="time-selector-"+Math.round(Math.random()*1e3);t.popupSelectId=t.id+"-select-popup";t.previewMode=e.previewMode===undefined;t.changeValueCallback=e.changeValueCallback;t.timezone=e.timezone;t.timezoneOffset=e.timezoneOffset;t.timezoneOffsetLabel=e.timezoneOffsetLabel;t.timeMidday=12;t.timeEvening=17;t.displayed=true;return t}babelHelpers.createClass(s,[{key:"setDataConfig",value:function e(){var t=this.data.style==="select"?"select":"slots",s=this.data.showOnlyFree!=="N",a=this.data.showFinishTime==="Y",i=parseInt(this.data.scale||30),r=this.style!==t||this.showOnlyFree!==s||this.showFinishTime!==a||this.scale!==i;this.style=t;this.showOnlyFree=s;this.showFinishTime=a;this.scale=i;return r}},{key:"display",value:function e(){this.DOM.wrap=this.DOM.outerWrap.appendChild(t.Tag.render(E||(E=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block"></div>']))));this.DOM.innerWrap=this.DOM.wrap.appendChild(t.Tag.render(W||(W=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-inner"></div>']))));if(this.data.label){this.DOM.labelWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-title"},text:this.data.label+"*"}));if(this.timezone){this.DOM.timezoneLabelWrap=this.DOM.labelWrap.appendChild(t.Tag.render(I||(I=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-title-timezone"></div>']))));t.Dom.adjust(this.DOM.timezoneLabelWrap,{html:t.Loc.getMessage("USER_TYPE_RESOURCE_TIMEZONE").replace("#TIMEZONE#",this.timezone+" "+this.timezoneOffsetLabel)})}}this.displayControl();this.setValue(this.getValue());this.shown=true}},{key:"refresh",value:function e(s,a){a=a||{};this.setSlotIndex(a.slotIndex);this.currentDate=a.currentDate||new Date;this.data=s;if(!this.isShown()){this.setDataConfig();this.display()}else{if(this.DOM.labelWrap&&this.data.label){t.Dom.adjust(this.DOM.labelWrap,{text:this.data.label+"*"})}if(this.timezone){if(!this.DOM.timezoneLabelWrap||!this.DOM.labelWrap.contains(this.DOM.timezoneLabelWrap)){this.DOM.timezoneLabelWrap=this.DOM.labelWrap.appendChild(t.Tag.render(A||(A=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-title-timezone"></div>']))))}t.Dom.adjust(this.DOM.timezoneLabelWrap,{html:t.Loc.getMessage("USER_TYPE_RESOURCE_TIMEZONE").replace("#TIMEZONE#",this.timezone+" "+this.timezoneOffsetLabel)})}if(this.setDataConfig()||a.slotIndex||a.selectedValue){t.Dom.remove(this.DOM.controlWrap);this.displayControl()}}this.setCurrentValue(a.selectedValue||this.getValue())}},{key:"setSlotIndex",value:function e(s){if(t.Type.isPlainObject(s)){this.availableSlotIndex=s}}},{key:"setCurrentValue",value:function e(t){if(t&&(this.previewMode||this.availableSlotIndex[t])){this.setValue(t)}else{this.setValue(null)}}},{key:"showEmptyWarning",value:function e(){if(this.DOM.labelWrap){this.DOM.labelWrap.style.display="none"}if(!this.DOM.warningWrap){this.DOM.warningTextNode=t.Tag.render(L||(L=babelHelpers.taggedTemplateLiteral(['<span class="calendar-resbook-webform-block-notice-date"/>'])));this.DOM.warningWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-notice"},children:[t.Tag.render(_||(_=babelHelpers.taggedTemplateLiteral(['<span class="calendar-resbook-webform-block-notice-icon"/>']))),this.DOM.warningTextNode,t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-notice-detail"},text:t.Loc.getMessage("WEBF_RES_BOOKING_BUSY_DAY_WARNING")})]}))}if(this.DOM.warningWrap){t.Dom.adjust(this.DOM.warningTextNode,{text:$.formatDate(t.Loc.getMessage("WEBF_RES_BUSY_DAY_DATE_FORMAT"),this.currentDate)});this.DOM.warningWrap.style.display="";this.noSlotsAvailable=true}}},{key:"hideEmptyWarning",value:function e(){this.noSlotsAvailable=false;if(this.DOM.labelWrap){this.DOM.labelWrap.style.display=""}if(this.DOM.warningWrap){this.DOM.warningWrap.style.display="none"}}},{key:"displayControl",value:function e(){var t=this.getSlotsInfo();this.slots=t.slots;if(!t.freeSlotsCount){this.showEmptyWarning()}else{this.hideEmptyWarning();if(this.style==="select"){this.createSelectControl()}else if(this.style==="slots"){this.createSlotsControl()}}}},{key:"hide",value:function e(){if(this.DOM.innerWrap){this.DOM.innerWrap.style.display="none"}}},{key:"show",value:function e(){if(this.DOM.innerWrap){this.DOM.innerWrap.style.display=""}}},{key:"createSlotsControl",value:function e(){if(this.DOM.controlWrap){t.Dom.remove(this.DOM.controlWrap)}this.DOM.controlWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-time"},events:{click:this.handleClick.bind(this)}}));if(!this.showFinishTime&&!$.isAmPmMode()){t.Dom.addClass(this.DOM.controlWrap,"calendar-resbook-webform-block-time-sm")}else if(!this.showFinishTime&&$.isAmPmMode()){t.Dom.addClass(this.DOM.controlWrap,"calendar-resbook-webform-block-time-md")}else if($.isAmPmMode()){t.Dom.addClass(this.DOM.controlWrap,"calendar-resbook-webform-block-time-lg")}this.DOM.controlStaticWrap=this.DOM.controlWrap.appendChild(t.Tag.render(x||(x=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-time-static-wrap"></div>']))));this.DOM.controlInnerWrap=this.DOM.controlStaticWrap.appendChild(t.Tag.render(F||(F=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-time-inner-wrap"></div>']))));var s,a=3,i={},r=0,l;this.slots.forEach((function(e){if(!i[e.partOfTheDay]){i[e.partOfTheDay]={items:[]}}i[e.partOfTheDay].items.push(e)}));this.slots.forEach((function(e){if(!i[e.partOfTheDay].wrap){r=0;s=6;i[e.partOfTheDay].wrap=t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-col"},html:'<span class="calendar-resbook-webform-block-col-title">'+t.Loc.getMessage("WEBF_RES_PART_OF_THE_DAY_"+e.partOfTheDay.toUpperCase())+"</span>"});i[e.partOfTheDay].itemsWrap=i[e.partOfTheDay].wrap.appendChild(t.Tag.render(R||(R=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-col-list"></div>']))));if(i[e.partOfTheDay].items.length>a*s){s=Math.ceil(i[e.partOfTheDay].items.length/a)}}if(r%s===0){l=i[e.partOfTheDay].itemsWrap.appendChild(t.Tag.render(V||(V=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-col-list-inner"></div>']))))}if(l&&(!e.booked||!this.showOnlyFree)){l.appendChild(t.Dom.create("div",{attrs:{"data-bx-resbook-time-meta":"slot"+(e.booked?"-off":""),"data-bx-resbook-slot":e.time.toString(),className:"calendar-resbook-webform-block-col-item"+(e.selected?" calendar-resbook-webform-block-col-item-select":"")+(e.booked?" calendar-resbook-webform-block-col-item-off":"")},html:'<div class="calendar-resbook-webform-block-col-item-inner">'+'<span class="calendar-resbook-webform-block-col-time">'+e.fromTime+"</span>"+(this.showFinishTime?'- <span class="calendar-resbook-webform-block-col-time calendar-resbook-webform-block-col-time-end">'+e.toTime+"</span>":"")+"</div>"}));r++}i[e.partOfTheDay].itemsAmount=r}),this);var o;for(o in i){if(i.hasOwnProperty(o)&&i[o].itemsAmount>0){this.DOM.controlInnerWrap.appendChild(i[o].wrap)}}this.initCustomScrollForSlots()}},{key:"createSelectControl",value:function e(){if(this.DOM.controlWrap){t.Dom.remove(this.DOM.controlWrap)}this.DOM.controlWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-field"},events:{click:this.handleClick.bind(this)}}));this.DOM.timeSelectWrap=this.DOM.controlWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-block-strip"}}));this.DOM.valueInput=this.DOM.timeSelectWrap.appendChild(t.Dom.create("input",{attrs:{type:"hidden",value:""}}));this.DOM.previousArrow=this.DOM.timeSelectWrap.appendChild(t.Dom.create("span",{attrs:{className:"calendar-resbook-webform-block-strip-arrow calendar-resbook-webform-block-strip-arrow-prev","data-bx-resbook-time-meta":"previous"}}));this.DOM.stateWrap=this.DOM.timeSelectWrap.appendChild(t.Dom.create("span",{attrs:{className:"calendar-resbook-webform-block-strip-text","data-bx-resbook-time-meta":"select"}}));this.DOM.stateWrap=this.DOM.stateWrap.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-strip-date"}}));this.DOM.nextArrow=this.DOM.timeSelectWrap.appendChild(t.Dom.create("span",{attrs:{className:"calendar-resbook-webform-block-strip-arrow calendar-resbook-webform-block-strip-arrow-next","data-bx-resbook-time-meta":"next"}}));this.setValue(this.getValue())}},{key:"setValue",value:function e(s){var a=this.getSlotByTime(s);if(a){if(this.style==="select"&&t.Type.isDomNode(this.DOM.stateWrap)){t.Dom.adjust(this.DOM.stateWrap,{text:this.getTimeTextBySlot(a)})}else if(this.style==="slots"){this.setSelected(this.getSlotNode(a.time))}this.value=a.time}else{this.value=null}if(!this.previewMode&&t.Type.isFunction(this.changeValueCallback)){this.changeValueCallback(this.value)}}},{key:"getValue",value:function e(){if(!this.value&&(this.previewMode||this.style==="select")){this.value=this.slots[0].time}return this.value}},{key:"hasAvailableSlots",value:function e(){return!this.noSlotsAvailable}},{key:"getTimeTextBySlot",value:function e(t){return t.fromTime+(this.showFinishTime?" - "+t.toTime:"")}},{key:"getSlotByTime",value:function e(s){return t.Type.isArray(this.slots)?this.slots.find((function(e){return parseInt(e.time)===parseInt(s)})):null}},{key:"handleClick",value:function e(t){var s=t.target||t.srcElement;if(s.hasAttribute("data-bx-resbook-time-meta")||(s=s.closest("[data-bx-resbook-time-meta]"))){var a=s.getAttribute("data-bx-resbook-time-meta");if(this.style==="select"){if(a==="previous"){this.setValue(this.getValue()-this.scale)}else if(a==="next"){this.setValue(this.getValue()+this.scale)}else if(a==="select"){this.openSelectPopup()}}else if(a==="slot"){this.setValue(parseInt(s.getAttribute("data-bx-resbook-slot")))}}}},{key:"getSlotsInfo",value:function e(){var t=[],s,a=0,i,r,l,o,n,u="morning",h=0,c=this.timeFrom*60;while(c<this.timeTo*60){if(c>=this.timeEvening*60){u="evening"}else if(c>=this.timeMidday*60){u="afternoon"}r=Math.floor(c/60);l=c-r*60;i=c+this.scale;o=Math.floor(i/60);n=i-o*60;s={time:c,fromTime:$.formatTime(r,l),toTime:$.formatTime(o,n),partOfTheDay:u};if(this.previewMode){if(!h){s.selected=true}else if(Math.round(Math.random()*10)<=3){s.booked=true}}else if(this.availableSlotIndex){s.booked=!this.availableSlotIndex[c]}if(!s.booked){a++}t.push(s);c+=this.scale;h++}return{slots:t,freeSlotsCount:a}}},{key:"initCustomScrollForSlots",value:function e(){var s=this.DOM.controlWrap.appendChild(t.Tag.render(H||(H=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-arrow-container" />']))));this.DOM.leftArrow=s.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-arrow calendar-resbook-webform-block-arrow-prev"},events:{click:this.handlePreletrowClick.bind(this)}}));this.DOM.rightArrow=s.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-arrow calendar-resbook-webform-block-arrow-next"},events:{click:this.handleNextArrowClick.bind(this)}}));this.outerWidth=parseInt(this.DOM.controlStaticWrap.offsetWidth);this.innerWidth=parseInt(this.DOM.controlInnerWrap.offsetWidth);if("onwheel"in document)t.Event.bind(this.DOM.controlStaticWrap,"wheel",this.mousewheelScrollHandler.bind(this));else t.Event.bind(this.DOM.controlStaticWrap,"mousewheel",this.mousewheelScrollHandler.bind(this));this.checkSlotsScroll()}},{key:"handleNextArrowClick",value:function e(){this.DOM.controlStaticWrap.scrollLeft=this.DOM.controlStaticWrap.scrollLeft+100;this.checkSlotsScroll()}},{key:"handlePreletrowClick",value:function e(){this.DOM.controlStaticWrap.scrollLeft=Math.max(this.DOM.controlStaticWrap.scrollLeft-100,0);this.checkSlotsScroll()}},{key:"mousewheelScrollHandler",value:function e(s){s=s||window.event;var a=s.deltaY||s.detail||s.wheelDelta;if(Math.abs(a)>0){if(!t.Browser.isMac()){a=a*5}this.DOM.controlStaticWrap.scrollLeft=Math.max(this.DOM.controlStaticWrap.scrollLeft+a,0);this.checkSlotsScroll();if(s.stopPropagation){s.preventDefault();s.stopPropagation()}return false}}},{key:"checkSlotsScroll",value:function e(){if(this.outerWidth<=this.innerWidth){this.DOM.leftArrow.style.display=this.DOM.controlStaticWrap.scrollLeft?"":"none";if(this.innerWidth-this.outerWidth-4<=this.DOM.controlStaticWrap.scrollLeft){this.DOM.rightArrow.style.display="none"}else{this.DOM.rightArrow.style.display=""}}}},{key:"openSelectPopup",value:function e(){if(this.isSelectPopupShown()){return this.closeSelectPopup()}this.popup=a.MenuManager.create(this.popupSelectId,this.DOM.stateWrap,this.getTimeSelectItems(),{className:"calendar-resbook-time-select-popup",angle:true,closeByEsc:true,autoHide:true,offsetTop:5,offsetLeft:10,cacheable:false});this.popup.show(true)}},{key:"closeSelectPopup",value:function e(){if(this.isSelectPopupShown()){this.popup.close();t.Event.unbind(document,"click",this.handleClick.bind(this))}}},{key:"isSelectPopupShown",value:function e(){return this.popup&&this.popup.popupWindow&&this.popup.popupWindow.isShown&&this.popup.popupWindow.isShown()}},{key:"getTimeSelectItems",value:function e(){var t=[];this.slots.forEach((function(e){if(this.showOnlyFree&&e.booked){return}var s="menu-popup-no-icon";if(e.booked){s+=" menu-item-booked"}if(e.selected){s+=" menu-item-selected"}t.push({className:s,text:this.getTimeTextBySlot(e),dataset:{value:e.time,booked:!!e.booked},onclick:this.menuItemClick.bind(this)})}),this);return t}},{key:"menuItemClick",value:function e(t,s){if(s&&s.dataset&&s.dataset.value){if(!s.dataset.booked){this.setValue(s.dataset.value)}}this.closeSelectPopup()}},{key:"getSlotNode",value:function e(t){var s,a=this.DOM.controlInnerWrap.querySelectorAll(".calendar-resbook-webform-block-col-item");for(s=0;s<a.length;s++){if(parseInt(a[s].getAttribute("data-bx-resbook-slot"))===parseInt(t)){return a[s]}}return null}},{key:"setSelected",value:function e(s){if(t.Type.isDomNode(s)){if(this.currentSelected){t.Dom.removeClass(this.currentSelected,"calendar-resbook-webform-block-col-item-select")}this.currentSelected=s;t.Dom.addClass(s,"calendar-resbook-webform-block-col-item-select")}}}]);return s}(l);var P,B,U;var z=function(){function e(t){babelHelpers.classCallCheck(this,e);this.DOM={outerWrap:t.outerWrap};this.timezone=t.timezone;this.timezoneOffsetLabel=t.timezoneOffsetLabel;this.shown=false;this.built=false}babelHelpers.createClass(e,[{key:"isShown",value:function e(){return this.shown}},{key:"build",value:function e(){this.DOM.wrap=this.DOM.outerWrap.appendChild(t.Tag.render(P||(P=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-result" style="display: none" \n></div>']))));this.DOM.innerWrap=this.DOM.wrap.appendChild(t.Tag.render(B||(B=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-result-inner"></div>']))));this.DOM.labelWrap=this.DOM.innerWrap.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-result-text"},text:t.Loc.getMessage("WEBF_RES_BOOKING_STATUS_LABEL")}));this.DOM.statusWrap=this.DOM.innerWrap.appendChild(t.Tag.render(U||(U=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-block-result-value"></div>']))));this.DOM.statusTimezone=this.DOM.innerWrap.appendChild(t.Dom.create("span",{props:{className:"calendar-resbook-webform-block-result-timezone"},text:this.timezoneOffsetLabel||"",style:{display:"none"}}));this.built=true}},{key:"refresh",value:function e(s){if(!this.built){this.build()}if(!this.isShown()){this.show()}if(s.dateFrom){this.DOM.labelWrap.style.display="";t.Dom.removeClass(this.DOM.wrap,"calendar-resbook-webform-block-result-error");if(this.timezone){this.DOM.statusTimezone.style.display=""}t.Dom.adjust(this.DOM.statusWrap,{text:this.getStatusText(s)})}else if(!s.dateFrom&&s.fullDay){this.DOM.labelWrap.style.display="none";this.DOM.statusTimezone.style.display="none";t.Dom.addClass(this.DOM.wrap,"calendar-resbook-webform-block-result-error");t.Dom.adjust(this.DOM.statusWrap,{text:t.Loc.getMessage("WEBF_RES_BOOKING_STATUS_DATE_IS_NOT_AVAILABLE")})}else{this.DOM.labelWrap.style.display="none";this.DOM.statusTimezone.style.display="none";t.Dom.removeClass(this.DOM.wrap,"calendar-resbook-webform-block-result-error");t.Dom.adjust(this.DOM.statusWrap,{text:t.Loc.getMessage("WEBF_RES_BOOKING_STATUS_NO_TIME_SELECTED")})}}},{key:"getStatusText",value:function e(s){var a=s.dateFrom,i=new Date(a.getTime()+s.duration*60*1e3+(s.fullDay?-1:0)),r="";if(s.fullDay){if($.formatDate("Y-m-d",a.getTime()/1e3)===$.formatDate("Y-m-d",i.getTime()/1e3)){r=$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_STATUS"),a)}else{r=t.Loc.getMessage("WEBF_RES_DATE_FORMAT_FROM_TO").replace("#DATE_FROM#",$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_STATUS_SHORT"),a)).replace("#DATE_TO#",$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_STATUS_SHORT"),i))}}else{if($.formatDate("Y-m-d",a.getTime()/1e3)===$.formatDate("Y-m-d",i.getTime()/1e3)){r=$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_STATUS"),a)+" "+t.Loc.getMessage("WEBF_RES_TIME_FORMAT_FROM_TO").replace("#TIME_FROM#",$.formatTime(a.getHours(),a.getMinutes())).replace("#TIME_TO#",$.formatTime(i.getHours(),i.getMinutes()))}else{r=t.Loc.getMessage("WEBF_RES_DATE_FORMAT_FROM_TO").replace("#DATE_FROM#",$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_STATUS_SHORT"),a)+" "+$.formatTime(a.getHours(),a.getMinutes())).replace("#DATE_TO#",$.formatDate(t.Loc.getMessage("WEBF_RES_DATE_FORMAT_STATUS_SHORT"),i)+" "+$.formatTime(i.getHours(),i.getMinutes()))}}return r}},{key:"hide",value:function e(){if(this.built&&this.shown){this.DOM.wrap.style.display="none";this.shown=false}}},{key:"show",value:function e(){if(this.built&&!this.shown){this.DOM.wrap.style.display="";this.shown=true}}},{key:"setError",value:function e(s){if(this.DOM.labelWrap){this.DOM.labelWrap.style.display="none"}t.Dom.addClass(this.DOM.wrap,"calendar-resbook-webform-block-result-error");t.Dom.adjust(this.DOM.statusWrap,{text:s})}},{key:"isErrorSet",value:function e(){return this.shown&&t.Dom.hasClass(this.DOM.wrap,"calendar-resbook-webform-block-result-error")}}]);return e}();var Y,X,j,K,q,G;var Z=function(e){babelHelpers.inherits(s,e);function s(e){var a;babelHelpers.classCallCheck(this,s);a=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));a.setEventNamespace("BX.Calendar.LiveFieldController");a.params=e;a.actionAgent=e.actionAgent||BX.ajax.runAction;a.timeFrom=e.timeFrom||7;a.timeTo=e.timeTo||20;a.inputName=e.field.name+"[]";a.DATE_FORMAT=$.getDateFormat();a.DATETIME_FORMAT=$.getDateTimeFormat();a.userIndex=null;a.timezoneOffset=null;a.timezoneOffsetLabel=null;a.userFieldParams=null;a.loadedDates=[];a.externalSiteContext=t.Type.isFunction(e.actionAgent);a.accessibility={user:{},resource:{}};a.busySlotMatrix={user:{},resource:{}};a.DOM={wrap:a.params.wrap,valueInputs:[]};return a}babelHelpers.createClass(s,[{key:"init",value:function e(){var s=this;var a=this.getSettingsData();if(!a.users||!a.resources){throw new Error("Can't init resourcebooking field, because 'settings_data' parameter is not provided or has incorrect structure");return}this.scale=parseInt(a.time&&a.time.scale?a.time.scale:60,10);this.DOM.outerWrap=this.DOM.wrap.appendChild(t.Tag.render(Y||(Y=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-wrapper"></div>']))));this.showMainLoader();this.requireFormData().then((function(){s.hideMainLoader();s.buildFormControls();s.onChangeValues()}))}},{key:"check",value:function e(){var t=true;if(this.usersDisplayed()&&!this.getSelectedUser()){this.userControl.showWarning();t=false}if(t&&this.resourcesDisplayed()&&!this.getSelectedResources()){this.resourceControl.showWarning();t=false}if(t&&!this.getCurrentDuration()){if(this.durationControl){this.durationControl.showWarning()}else if(this.serviceControl){this.serviceControl.showWarning()}t=false}if(t&&(!this.dateControl.getValue()||this.statusControl.isErrorSet())){this.dateControl.showWarning();t=false}if(t&&this.timeSelectorDisplayed()&&!this.timeControl.getValue()){this.timeControl.showWarning();t=false}return t}},{key:"buildFormControls",value:function e(){this.DOM.innerWrap=this.DOM.outerWrap.appendChild(t.Tag.render(X||(X=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-inner"></div>']))));this.DOM.inputsWrap=this.DOM.innerWrap.appendChild(t.Tag.render(j||(j=babelHelpers.taggedTemplateLiteral(["<div></div>"]))));if(!this.getFieldParams()){this.statusControl=new z({outerWrap:this.DOM.innerWrap});this.statusControl.refresh({});this.statusControl.setError("[UF_NOT_FOUND] "+t.Loc.getMessage("WEBF_RES_BOOKING_UF_WARNING"))}else{if(this.externalSiteContext&&BX.ZIndexManager){var s=BX.ZIndexManager.getOrAddStack(document.body);s.baseIndex=1e5;s.sort()}this.preparaAutoSelectValues();this.displayUsersControl();this.displayResourcesControl();this.displayServicesControl();this.displayDurationControl();this.displayDateTimeControl();if(this.selectedUserId||this.selectedResourceId){this.refreshControlsState()}}}},{key:"refreshControlsState",value:function e(){if(this.selectorCanBeShown("resources")&&this.resourceControl&&!this.resourceControl.isShown()){this.resourceControl.display()}if(this.selectorCanBeShown("services")&&this.serviceControl&&!this.serviceControl.isShown()){this.serviceControl.display()}if(this.selectorCanBeShown("duration")&&this.durationControl&&!this.durationControl.isShown()){this.durationControl.display()}var t=this.getSettingsData();if(this.selectorCanBeShown("date")&&this.dateControl){if(this.dateControl.isShown()){this.dateControl.refresh(t.date,{availableDateIndex:this.getAvailableDateIndex({resources:this.getSelectedResources(),user:this.getSelectedUser(),duration:this.getCurrentDuration()})});if(this.timeControl){this.timeControl.refresh(t.time,{slotIndex:this.getSlotIndex({date:this.dateControl.getValue()}),currentDate:this.dateControl.getValue()})}}else{var s;if(t.date.start==="free"){s=this.getFreeDate({resources:this.getSelectedResources(),user:this.getSelectedUser(),duration:this.getCurrentDuration()})}else{s=new Date}this.dateControl.display({selectedValue:s,availableDateIndex:this.getAvailableDateIndex({resources:this.getSelectedResources(),user:this.getSelectedUser(),duration:this.getCurrentDuration()})})}}this.updateStatusControl();this.onChangeValues();$.fireCustomEvent(window,"crmWebFormFireResize")}},{key:"onChangeValues",value:function e(){var s=[],a="",i=this.getCurrentDate(),r=this.getCurrentDuration()*60,l=this.getCurrentServiceName(),o=[];t.Dom.clean(this.DOM.inputsWrap);this.DOM.valueInputs=[];if(t.Type.isDate(i)&&!this.statusControl.isErrorSet()){var n=this.getSelectedResources();if(t.Type.isArray(n)){n.forEach((function(e){o=o.concat({type:"resource",id:e})}))}var u=this.getSelectedUser();if(u){o=o.concat({type:"user",id:u})}a=$.formatDate(this.DATETIME_FORMAT,i.getTime()/1e3);o.forEach((function(e){var i=e.type+"|"+e.id+"|"+a+"|"+r+"|"+l;s.push(i);this.DOM.valueInputs.push(this.DOM.inputsWrap.appendChild(t.Tag.render(K||(K=babelHelpers.taggedTemplateLiteral(['\n\t\t\t\t\t<input \n\t\t\t\t\t\tname="','"\n\t\t\t\t\t\tvalue="','" \n\t\t\t\t\t\ttype="hidden"\n\t\t\t\t\t\t>\n\t\t\t\t\t'])),t.Text.encode(this.inputName),t.Text.encode(i))))}),this)}if(!o.length){s.push("empty");this.DOM.valueInputs.push(this.DOM.inputsWrap.appendChild(t.Tag.render(q||(q=babelHelpers.taggedTemplateLiteral(['\n\t\t\t\t\t<input \n\t\t\t\t\t\tname="','"\n\t\t\t\t\t\tvalue="empty" \n\t\t\t\t\t\ttype="hidden"\n\t\t\t\t\t\t>\n\t\t\t\t\t'])),t.Text.encode(this.inputName))))}this.emit("change",s)}},{key:"showMainLoader",value:function e(){if(this.DOM.wrap){this.hideMainLoader();var s=t.Tag.render(G||(G=babelHelpers.taggedTemplateLiteral(['<div class="calendar-resbook-webform-wrapper-loader-wrap"></div>'])));s.appendChild($.getLoader(160));this.DOM.mainLoader=this.DOM.outerWrap.appendChild(s)}}},{key:"hideMainLoader",value:function e(){t.Dom.remove(this.DOM.mainLoader)}},{key:"showStatusLoader",value:function e(){this.showMainLoader()}},{key:"hideStatusLoader",value:function e(){this.hideMainLoader()}},{key:"requestAccessibilityData",value:function e(t){var s=this;if(!this.requestedFormData){this.showStatusLoader();this.requestedFormData=true;var a={from:t.date};this.requireFormData(a).then((function(){s.hideStatusLoader();s.refreshControlsState();s.dateControl.refreshCurrentValue();s.onChangeValues();s.requestedFormData=false}))}}},{key:"requireFormData",value:function e(s){var a=this;s=t.Type.isPlainObject(s)?s:{};return new Promise((function(e,i){var r={settingsData:a.getSettingsData()||null};if(!a.userFieldParams){r.fieldName=a.params.field.entity_field_name}var l=t.Type.isDate(s.from)?s.from:new Date,o;if(t.Type.isDate(s.to)){o=s.to}else{o=new Date(l.getTime());o.setDate(l.getDate()+60)}r.from=$.formatDate(a.DATE_FORMAT,l);r.to=$.formatDate(a.DATE_FORMAT,o);a.setLoadedDataLimits(l,o);a.actionAgent("calendar.api.resourcebookingajax.getfillformdata",{data:r}).then((function(s){if(!t.Type.isPlainObject(s)||!s.data){e(s)}else{if(t.Type.isNumber(s.data.timezoneOffset)){a.timezoneOffset=s.data.timezoneOffset;a.timezoneOffsetLabel=s.data.timezoneOffsetLabel}if(s.data.workTimeStart!==undefined&&s.data.workTimeEnd!==undefined){a.timeFrom=parseInt(s.data.workTimeStart);a.timeTo=parseInt(s.data.workTimeEnd)}if(s.data.fieldSettings){a.userFieldParams=s.data.fieldSettings}if(s.data.userIndex){a.userIndex=s.data.userIndex}a.handleAccessibilityData(s.data.usersAccessibility,"user");a.handleAccessibilityData(s.data.resourcesAccessibility,"resource");e(s.data)}}),(function(t){e(t)}))}))}},{key:"setLoadedDataLimits",value:function e(s,a){this.loadedDataFrom=t.Type.isDate(s)?s:$.parseDate(s);this.loadedDataTo=t.Type.isDate(a)?a:$.parseDate(a);this.loadedDates=this.loadedDates||[];this.loadedDatesIndex=this.loadedDatesIndex||{};var i,r=new Date(this.loadedDataFrom.getTime());while(true){i=$.formatDate(this.DATE_FORMAT,r);this.loadedDatesIndex[i]=this.loadedDates.length;this.loadedDates.push({key:$.formatDate(this.DATE_FORMAT,r),slots:{},slotsCount:{}});r.setDate(r.getDate()+1);if(r.getTime()>this.loadedDataTo.getTime()){break}}}},{key:"fillDataIndex",value:function e(t,s,a,i){var r=this.loadedDatesIndex[t];if(this.loadedDates[r]){if(!this.loadedDates[r].slots[s]){this.loadedDates[r].slots[s]={}}if(this.loadedDates[r].slotsCount[a+i]===undefined){this.loadedDates[r].slotsCount[a+i]=0}this.loadedDates[r].slots[s][a+i]=true;this.loadedDates[r].slotsCount[a+i]++}}},{key:"handleAccessibilityData",value:function e(s,a){var i=this;if(t.Type.isPlainObject(s)&&(a==="user"||a==="resource")){var r=function e(t){if(s.hasOwnProperty(t)){s[t].forEach((function(e){if(!e.from){e.from=$.parseDate(e.dateFrom);if(e.from){e.from.setSeconds(0,0);e.fromTimestamp=e.from.getTime()}}if(!e.to){e.to=$.parseDate(e.dateTo);if(e.to){if(e.fullDay){e.to.setHours(23,59,0,0)}else{e.to.setSeconds(0,0)}e.toTimestamp=e.to.getTime()}}if(e.from&&e.to){this.fillBusySlotMatrix(e,a,t)}}),i)}};for(var l in s){r(l)}this.accessibility[a]=$.mergeEx(this.accessibility[a],s)}}},{key:"fillBusySlotMatrix",value:function e(t,s,a){if(!this.busySlotMatrix[s][a]){this.busySlotMatrix[s][a]={}}var i=new Date(t.from.getTime()),r=$.formatDate(this.DATE_FORMAT,i),l=$.formatDate(this.DATE_FORMAT,t.to),o=i.getHours()*60+i.getMinutes(),n=Math.round((t.toTimestamp-t.fromTimestamp)/6e4),u=o+n,h=this.getTimeSlots(),c=0,d;if(n>0){while(true){if(!this.busySlotMatrix[s][a][r]){this.busySlotMatrix[s][a][r]={}}for(d=0;d<h.length;d++){if(o<h[d].time+this.scale&&u>h[d].time){this.busySlotMatrix[s][a][r][h[d].time]=true;this.fillDataIndex(r,h[d].time,s,a)}}if(r===l){break}else{i.setDate(i.getDate()+1);r=$.formatDate(this.DATE_FORMAT,i);o=0;if(r===l){u=t.to.getHours()*60+t.to.getMinutes()}else{u=1440}}c++;if(c>1e4){break}}}}},{key:"getCaption",value:function e(){return this.params.field.caption}},{key:"getSettingsData",value:function e(){return this.params.field.settings_data||{}}},{key:"getUserIndex",value:function e(){return this.userIndex}},{key:"getFieldParams",value:function e(){return this.userFieldParams}},{key:"getSettings",value:function e(){return{caption:this.getCaption(),data:this.getSettingsData()}}},{key:"isUserSelectorInAutoMode",value:function e(){return this.usersDisplayed()&&this.getSettingsData().users.show==="N"}},{key:"isResourceSelectorInAutoMode",value:function e(){return this.resourcesDisplayed()&&this.getSettingsData().resources.show==="N"}},{key:"autoAdjustUserSelector",value:function e(){var s=this.dateControl.getValue(),a=this.timeControl.getValue();if(t.Type.isDate(s)&&a){var i,r=this.loadedDates[this.loadedDatesIndex[$.formatDate(this.DATE_FORMAT,s)]];if(r.slots[a]){for(i=0;i<this.userControl.values.length;i++){if(!r.slots[a]["user"+this.userControl.values[i]]){this.userControl.setSelectedUser(this.userControl.values[i]);break}}}}}},{key:"autoAdjustResourceSelector",value:function e(){var s=this.dateControl.getValue(),a=this.timeControl.getValue();if(t.Type.isDate(s)&&a){var i,r,l=this.loadedDates[this.loadedDatesIndex[$.formatDate(this.DATE_FORMAT,s)]];if(l.slots[a]){for(i=0;i<this.resourceControl.resourceList.length;i++){r=parseInt(this.resourceControl.resourceList[i].id);if(!l.slots[a]["resource"+r]){this.resourceControl.setSelectedResource(r);break}}}}}},{key:"preparaAutoSelectValues",value:function e(){var t=this.getSettingsData(),s=this.usersDisplayed()&&(t.users.defaultMode==="auto"||t.users.show==="N"),a=this.resourcesDisplayed()&&(t.resources.defaultMode==="auto"||t.resources.show==="N"),i=t.date.start==="free",r=60,l,o;this.selectedUserId=false;this.selectedResourceId=false;l=new Date;for(o=0;o<=r;o++){this.getFreeEntitiesForDate(l,{autoSelectUser:s,autoSelectResource:a,slotsAmount:this.getDefaultDurationSlotsAmount()});if((this.selectedUserId||!s)&&(this.selectedResourceId||!a)){break}if(!i){break}l.setDate(l.getDate()+1)}}},{key:"getFreeEntitiesForDate",value:function e(t,s){var a=this.getSettingsData(),i=s.slotsAmount||1,r,l,o;if(s.autoSelectUser){l=this.getUsersValue();for(r=0;r<l.length;r++){if(this.checkSlotsForDate(t,i,{user:parseInt(l[r])})){this.selectedUserId=parseInt(l[r]);break}}}if(s.autoSelectResource){o=this.getResourceValue();for(r=0;r<o.length;r++){if(this.checkSlotsForDate(t,i,{resources:[parseInt(o[r])],user:this.selectedUserId||null})){this.selectedResourceId=parseInt(o[r]);break}}}}},{key:"displayUsersControl",value:function e(){if(this.usersDisplayed()){this.userControl=new n({outerWrap:this.DOM.innerWrap,data:this.getSettingsData().users,userIndex:this.getUserIndex(),previewMode:false,autoSelectDefaultValue:this.selectedUserId,changeValueCallback:function(e){this.emit("BX.Calendar.Resourcebooking.LiveFieldController:userChanged",new i.BaseEvent({data:{userId:e}}));this.refreshControlsState()}.bind(this)});this.userControl.display()}}},{key:"displayResourcesControl",value:function e(){var t={},s=this.getFieldParams(),a=this.getSettingsData();if(this.resourcesDisplayed()){this.getResourceValue().forEach((function(e){e=parseInt(e);if(e>0){t[e]=true}}));var i=[];s.SELECTED_RESOURCES.forEach((function(e){e.id=parseInt(e.id);if(t[e.id]){i.push(e)}}),this);this.resourceControl=new u({outerWrap:this.DOM.innerWrap,data:{show:a.resources.show,defaultMode:a.resources.defaultMode,label:a.resources.label,multiple:a.resources.multiple,value:a.resources.value},resourceList:i,autoSelectDefaultValue:this.selectedResourceId,changeValueCallback:function(){this.emit("BX.Calendar.Resourcebooking.LiveFieldController:resourceChanged");this.refreshControlsState()}.bind(this)});if(this.selectorCanBeShown("resources")){this.resourceControl.display()}}}},{key:"displayServicesControl",value:function e(){var t=this.getFieldParams(),s=this.getSettingsData();if(t.USE_SERVICES==="Y"&&s.services.value){var a=this.getServicesValue();this.serviceControl=new h({outerWrap:this.DOM.innerWrap,data:s.services,serviceList:t.SERVICE_LIST,selectedValue:a.length>0?a[0]:null,changeValueCallback:function(){this.emit("BX.Calendar.Resourcebooking.LiveFieldController:serviceChanged");this.refreshControlsState()}.bind(this)});if(this.selectorCanBeShown("services")){this.serviceControl.display()}}}},{key:"displayDurationControl",value:function e(){var t=this.getFieldParams(),s=this.getSettingsData();if(!this.serviceControl){this.durationControl=new c({outerWrap:this.DOM.innerWrap,data:s.duration,fullDay:t.FULL_DAY==="Y",changeValueCallback:function(){this.emit("BX.Calendar.Resourcebooking.LiveFieldController:durationChanged");this.refreshControlsState()}.bind(this)});if(this.selectorCanBeShown("duration")){this.durationControl.display()}}}},{key:"displayDateTimeControl",value:function e(){var t=false,s=null,a=this.getSettingsData(),i=this.getFieldParams();this.dateControl=new S({outerWrap:this.DOM.innerWrap,data:a.date,previewMode:false,allowOverbooking:i.ALLOW_OVERBOOKING==="Y",changeValueCallback:this.handleDateChanging.bind(this),requestDataCallback:this.requestAccessibilityData.bind(this)});if(this.timeSelectorDisplayed()){if(i.USE_USER_TIMEZONE==="N"){var r=-(new Date).getTimezoneOffset()*60;if(r!==this.timezoneOffset){t=i.TIMEZONE}}this.timeControl=new N({outerWrap:this.DOM.innerWrap,data:a.time,previewMode:false,changeValueCallback:this.handleSelectedDateTimeChanging.bind(this),timeFrom:this.timeFrom,timeTo:this.timeTo,timezone:t,timezoneOffset:this.timezoneOffset,timezoneOffsetLabel:this.timezoneOffsetLabel})}this.statusControl=new z({outerWrap:this.DOM.innerWrap,timezone:t,timezoneOffsetLabel:this.timezoneOffsetLabel});if(this.selectorCanBeShown("date")){this.statusControl.show();if(a.date.start==="free"){s=this.getFreeDate({resources:this.getSelectedResources(),user:this.getSelectedUser(),duration:this.getCurrentDuration()})}this.dateControl.display({selectedValue:s});if(this.timeControl&&!this.timeControl.isShown()){this.timeControl.display()}}else{this.statusControl.hide()}}},{key:"handleDateChanging",value:function e(t,s){this.emit("BX.Calendar.Resourcebooking.LiveFieldController:dateChanged");if(this.timeSelectorDisplayed()){if(s){this.timeControl.show();var a,i=this.getCurrentDate();if(i){a=i.getHours()*60+i.getMinutes()}this.timeControl.refresh(this.getSettingsData().time,{slotIndex:this.getSlotIndex({date:s}),currentDate:s,selectedValue:a})}}else{this.handleSelectedDateTimeChanging(null,true)}this.onChangeValues()}},{key:"handleSelectedDateTimeChanging",value:function e(t,s){if(s!==false){if(this.updateTimeStatusTimeout){this.updateTimeStatusTimeout=clearTimeout(this.updateTimeStatusTimeout)}this.updateTimeStatusTimeout=setTimeout(function(){this.handleSelectedDateTimeChanging(t,false)}.bind(this),100)}else{if(this.isUserSelectorInAutoMode()){this.autoAdjustUserSelector()}if(this.isResourceSelectorInAutoMode()){this.autoAdjustResourceSelector()}this.updateStatusControl();$.fireCustomEvent(window,"crmWebFormFireResize")}this.onChangeValues()}},{key:"updateStatusControl",value:function e(){if(this.statusControl&&this.selectorCanBeShown("date")){var s=this.getCurrentDate();if(this.dateControl.isItPastDate(s)){this.statusControl.setError(t.Loc.getMessage("WEBF_RES_BOOKING_PAST_DATE_WARNING"))}else{if(this.timeSelectorDisplayed()){if(this.timeControl.hasAvailableSlots()){var a=this.timeControl.getValue();this.statusControl.refresh({dateFrom:a?s:null,duration:a?this.getCurrentDuration():null,fullDay:false})}else{this.statusControl.hide()}}else{this.statusControl.refresh({dateFrom:this.dateControl.isDateAvailable(s)?s:null,duration:this.getCurrentDuration(),fullDay:true})}}}}},{key:"getFreeDate",value:function e(t){var s=Math.ceil(t.duration/this.scale),a=null,i=this.loadedDataFrom;while(true){if(this.checkSlotsForDate(i,s,{resources:t.resources,user:t.user})){a=i;break}i.setDate(i.getDate()+1);if(i.getTime()>=this.loadedDataTo.getTime()){break}}return a}},{key:"getAvailableDateIndex",value:function e(t){var s,a,i={};if(this.timeSelectorDisplayed()){var r=Math.ceil(t.duration/this.scale);this.loadedDates.forEach((function(e){i[e.key]=this.checkSlotsForDate(e.key,r,{resources:t.resources,user:t.user})}),this)}else{var l,o,n,u,h=t.user?"user"+t.user:null,c=Math.ceil(t.duration/1440);o=1;for(l=this.loadedDates.length;l--;l>=0){s=true;a=true;n=this.loadedDates[l];if(h){s=!n.slotsCount[h]}if(s&&t.resources&&t.resources.length>0){for(u=0;u<t.resources.length;u++){a=a&&!n.slotsCount["resource"+t.resources[u]];if(!a){break}}}if(s&&a){o++}else{o=0}i[n.key]=s&&a&&c<=o}}return i}},{key:"getSlotIndex",value:function e(s){if(s.date){s.date=this.dateControl.getValue()}var a={};if(t.Type.isDate(s.date)){if(this.getFieldParams().ALLOW_OVERBOOKING!=="Y"&&(this.isUserSelectorInAutoMode()||this.isResourceSelectorInAutoMode())){var i=this.getFieldParams();var r,l,o,n,u=1,h=0,c=this.getTimeSlots(),d=$.formatDate(this.DATE_FORMAT,s.date),p=this.loadedDates[this.loadedDatesIndex[d]],f=Math.ceil(this.getCurrentDuration()/this.scale);if(this.checkIsTodayDate(d)){var m=new Date;var b=i.USE_USER_TIMEZONE==="N"?m.getTimezoneOffset()*60+this.timezoneOffset:0;h=m.getHours()*60+m.getMinutes()+b/60}c.forEach((function(e){a[e.time]=true}),this);if(this.isUserSelectorInAutoMode()){var v=this.getUsersValue();for(l=c.length;l--;l>=0){n=c[l].time;r=false;if(h&&n<h){a[n]=false;continue}for(o=0;o<v.length;o++){if(!p.slots[n]||!p.slots[n]["user"+v[o]]){r=true;break}}a[n]=a[n]&&r&&f<=u;u=r?u+1:1}}if(this.isResourceSelectorInAutoMode()){var D=this.getResourceValue();for(l=c.length;l--;l>=0){n=c[l].time;r=false;if(h&&n<h){a[n]=false;continue}for(o=0;o<D.length;o++){if(!p.slots[n]||!p.slots[n]["resource"+D[o]]){r=true;break}}a[n]=a[n]&&r&&f<=u;u=r?u+1:1}}}else{a=this.getAvailableSlotIndex({date:s.date||this.dateControl.getValue(),resources:this.getSelectedResources(),user:this.getSelectedUser(),duration:this.getCurrentDuration()})}}return a}},{key:"getAvailableSlotIndex",value:function e(s){var a=0;var i=this.getFieldParams();var r,l,o,n,u,h,c=s.user?"user"+s.user:null,d=Math.ceil(s.duration/this.scale),p,f,m=this.getTimeSlots(),b=i.ALLOW_OVERBOOKING==="Y",v={};m.forEach((function(e){v[e.time]=true}),this);if(t.Type.isDate(s.date)){r=$.formatDate(this.DATE_FORMAT,s.date);l=this.loadedDates[this.loadedDatesIndex[r]];h=1;if(this.checkIsTodayDate(r)){var D=new Date;var g=i.USE_USER_TIMEZONE==="N"?D.getTimezoneOffset()*60+this.timezoneOffset:0;a=D.getHours()*60+D.getMinutes()+g/60}for(o=m.length;o--;o>=0){u=m[o].time;if(a&&u<a){v[u]=false;continue}if(b){v[u]=d<=h;h++}else{p=true;f=true;if(c){p=!l.slots[u]||!l.slots[u][c]}if(s.resources&&s.resources.length>0){for(n=0;n<s.resources.length;n++){f=f&&(!l.slots[u]||!l.slots[u]["resource"+s.resources[n]]);if(!f){break}}}v[u]=p&&f&&d<=h;if(p&&f){h++}else{h=1}}}}return v}},{key:"checkSlotsForDate",value:function e(s,a,i){var r=true,l=true,o=t.Type.isDate(s)?$.formatDate(this.DATE_FORMAT,s):s;i=i||{};if(this.usersDisplayed()&&i.user){if(this.busySlotMatrix.user[i.user]&&!this.entityHasSlotsForDate({entityType:"user",entityId:i.user,dateKey:o,slotsAmount:a})){r=false}}if(this.resourcesDisplayed()&&r&&t.Type.isArray(i.resources)&&i.resources.length>0){i.resources.forEach((function(e){if(l&&this.busySlotMatrix.resource[e]&&!this.entityHasSlotsForDate({entityType:"resource",entityId:e,dateKey:o,slotsAmount:a})){l=false}}),this)}return r&&l}},{key:"entityHasSlotsForDate",value:function e(t){var s,a,i,r=0,l=false;if(this.busySlotMatrix[t.entityType][t.entityId]&&this.busySlotMatrix[t.entityType][t.entityId][t.dateKey]){s=this.busySlotMatrix[t.entityType][t.entityId][t.dateKey];a=this.getTimeSlots();for(i=0;i<a.length;i++){if(!s[a[i].time]){r++;if(r>=t.slotsAmount){l=true;break}}else{r=0}}}else{l=true}return l}},{key:"getSelectedResources",value:function e(){var s=null;if(this.resourceControl){s=this.resourceControl.getSelectedValues();if(t.Type.isArray(s)&&!s.length){s=null}}return s}},{key:"getSelectedUser",value:function e(){var t=null;if(this.userControl){t=this.userControl.getSelectedUser()}return t}},{key:"getCurrentDuration",value:function e(){var t=null;if(this.durationControl){t=this.durationControl.getSelectedValue()}else if(this.serviceControl){var s=this.serviceControl.getSelectedService(true);if(s&&s.duration){t=parseInt(s.duration)}}return t}},{key:"getDefaultDurationSlotsAmount",value:function e(){var s=this.getSettingsData(),a=this.getFieldParams(),i,r,l;if(a.USE_SERVICES==="Y"&&s.services.value){var o=this.getServicesValue();if(t.Type.isArray(a.SERVICE_LIST)&&o.length>0){for(r=0;r<a.SERVICE_LIST.length;r++){if($.translit(a.SERVICE_LIST[r].name)===o[0]){i=parseInt(a.SERVICE_LIST[r].duration);break}}}}else{i=parseInt(s.duration.defaultValue)}l=Math.ceil(i/this.scale);return l}},{key:"getCurrentServiceName",value:function e(){var t="";if(this.serviceControl){var s=this.serviceControl.getSelectedService(true);if(s&&s.name){t=s.name}}return t}},{key:"getCurrentDate",value:function e(){var t=null;if(this.dateControl&&this.dateControl.isShown()){t=this.dateControl.getValue();if(this.timeSelectorDisplayed()){var s,a,i=this.timeControl.getValue();if(i){s=Math.floor(i/60);a=i-s*60;t.setHours(s,a,0,0)}}else{t.setHours(0,0,0,0)}}return t}},{key:"getTimeSlots",value:function e(){if(!this.slots){this.slots=[];var t;var s;var a=this.timeFrom*60;while(a<this.timeTo*60){s=a+this.scale;t={time:a};this.slots.push(t);a+=this.scale}}return this.slots}},{key:"usersDisplayed",value:function e(){if(this.useUsers===undefined){this.useUsers=this.getFieldParams()["USE_USERS"]==="Y"}return this.useUsers}},{key:"resourcesDisplayed",value:function e(){if(this.useResources===undefined){var t=this.getFieldParams();this.useResources=!!(t.USE_RESOURCES==="Y"&&t.SELECTED_RESOURCES)}return this.useResources}},{key:"timeSelectorDisplayed",value:function e(){if(this.useTime===undefined){this.useTime=this.getFieldParams().FULL_DAY!=="Y"}return this.useTime}},{key:"selectorCanBeShown",value:function e(t){var s=false;if(t==="resources"){if(this.resourcesDisplayed()&&!this.usersDisplayed()){s=true}else if(this.usersDisplayed()){s=this.getSelectedUser()}}else if(t==="date"||t==="services"||t==="duration"){if(this.usersDisplayed()&&this.resourcesDisplayed()){s=this.getSelectedUser()&&this.getSelectedResources()}else if(this.usersDisplayed()){s=this.getSelectedUser()}else if(this.resourcesDisplayed()){s=this.getSelectedResources()}}return s}},{key:"checkIsTodayDate",value:function e(t){if(!this.todayDateKey){var s=new Date;this.todayDateKey=$.formatDate(this.DATE_FORMAT,s)}return this.todayDateKey===t}},{key:"getResourceValue",value:function e(){var s=this.getSettingsData();var a=[];if(t.Type.isArray(s.resources.value)){a=s.resources.value}else if(t.Type.isString(s.resources.value)){a=s.resources.value.split("|")}return a}},{key:"getUsersValue",value:function e(){var s=this.getSettingsData();var a=[];if(t.Type.isArray(s.users.value)){a=s.users.value}else if(t.Type.isString(s.users.value)){a=s.users.value.split("|")}return a}},{key:"getServicesValue",value:function e(){var s=this.getSettingsData();var a=[];if(t.Type.isArray(s.services.value)){a=s.services.value}else if(t.Type.isString(s.services.value)){a=s.services.value.split("|")}return a}}]);return s}(i.EventEmitter);var Q=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"run",value:function t(s){var a="_",i=/[A-Z0-9]/i,r=/\s/,l=100,o=s.length,n="",u="",h;for(h=0;h<o;h++){var c=void 0,d=s.charAt(h);if(i.test(d)){c=d}else if(r.test(d)){if(h>0&&u!==a){c=a}else{c=""}}else{c=e.getChar(d);if(c===null){if(h>0&&h!==o-1&&u!==a){c=a}else{c=""}}}if(null!=c&&c.length>0){c=c.toLowerCase();n+=c;u=c}if(n.length>=l){break}}return n}},{key:"generateReplacementCharTable",value:function s(){var a=",",i=(t.Loc.getMessage("TRANSLIT_FROM")||"").split(a),r=(t.Loc.getMessage("TRANSLIT_TO")||"").split(a),l,o;e.replacementCharTable=[];for(l=0,o=i.length;l<o;l++){e.replacementCharTable[l]=[i[l],r[l]]}}},{key:"getChar",value:function t(s){if(e.replacementCharTable===null){e.generateReplacementCharTable()}for(var a=0,i=e.replacementCharTable.length;a<i;a++){if(s===e.replacementCharTable[a][0]){return e.replacementCharTable[a][1]}}return null}}]);return e}();babelHelpers.defineProperty(Q,"replacementCharTable",null);var J;var $=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"getDateFormat",value:function s(){if(t.Type.isNull(e.DATE_FORMAT)){e.DATE_FORMAT=ie.convertBitrixFormat(t.Loc.getMessage("FORMAT_DATE"))}return e.DATE_FORMAT}},{key:"getDateTimeFormat",value:function s(){if(t.Type.isNull(e.DATETIME_FORMAT)){e.DATETIME_FORMAT=ie.convertBitrixFormat(t.Loc.getMessage("FORMAT_DATETIME"))}return e.DATETIME_FORMAT}},{key:"getTimeFormat",value:function s(){if(t.Type.isNull(e.TIME_FORMAT)){var a=e.getDateTimeFormat();var i=e.getDateFormat();if(a.substr(0,i.length)===i){e.TIME_FORMAT=a.substr(i.length).trim()}else{e.TIME_FORMAT=ie.convertBitrixFormat(ie.isAmPmMode()?"H:MI:SS T":"HH:MI:SS")}e.TIME_FORMAT_SHORT=e.TIME_FORMAT.replace(":s","")}return e.TIME_FORMAT}},{key:"getTimeFormatShort",value:function s(){if(t.Type.isNull(e.TIME_FORMAT_SHORT)){e.TIME_FORMAT_SHORT=e.getTimeFormat().replace(":s","")}return e.TIME_FORMAT_SHORT}},{key:"formatDate",value:function s(a,i,r,l){if(a===null){a=e.getDateFormat()}if(t.Type.isDate(i)){i=i.getTime()/1e3}return ie.format(a,i,r,l)}},{key:"parseDate",value:function e(t,s,a,i){return ie.parse(t,s,a,i)}},{key:"formatTime",value:function t(s,a){var i=new Date;i.setHours(s,a,0);return ie.format(e.getTimeFormatShort(),i.getTime()/1e3)}},{key:"translit",value:function e(s){return t.Type.isString(s)?Q.run(s).replace(/[^a-z0-9_]/gi,"_"):s}},{key:"getLoader",value:function e(s,a){return t.Tag.render(J||(J=babelHelpers.taggedTemplateLiteral(['\n\t\t<div class="','">\n\t\t\t<svg class="calendar-loader-circular"\n\t\t\t\tstyle="width:',"px; height:",'px;"\n\t\t\t\tviewBox="25 25 50 50">\n\t\t\t\t\t<circle class="calendar-loader-path" cx="50" cy="50" r="20" fill="none" stroke-miterlimit="10"/>\n\t\t\t\t\t<circle class="calendar-loader-inner-path" cx="50" cy="50" r="20" fill="none" stroke-miterlimit="10"/>\n\t\t\t</svg>\n\t\t</div>\n'])),a||"calendar-loader",parseInt(s),parseInt(s))}},{key:"fireCustomEvent",value:function e(s,a,i,r){if(window.BX&&t.Type.isFunction(BX.onCustomEvent)){return BX.onCustomEvent(s,a,i,r)}}},{key:"bindCustomEvent",value:function e(s,a,i){if(window.BX&&t.Type.isFunction(BX.addCustomEvent)){return BX.addCustomEvent(s,a,i)}}},{key:"unbindCustomEvent",value:function e(s,a,i){if(window.BX&&t.Type.isFunction(BX.removeCustomEvent)){return BX.removeCustomEvent(s,a,i)}}},{key:"isAmPmMode",value:function e(){return ie.isAmPmMode()}},{key:"mergeEx",value:function s(){var a=Array.prototype.slice.call(arguments);if(a.length<2){return{}}var i=a.shift();for(var r=0;r<a.length;r++){for(var l in a[r]){if(typeof a[r]==="undefined"||a[r]==null||!a[r].hasOwnProperty(l)){continue}if(t.Type.isPlainObject(a[r][l])&&t.Type.isPlainObject(i[l])){e.mergeEx(i[l],a[r][l])}else{i[l]=t.Type.isPlainObject(a[r][l])?t.Runtime.clone(a[r][l]):a[r][l]}}}return i}},{key:"getDurationList",value:function t(s){var a=[5,10,15,20,25,30,40,45,50,60,90,120,180,240,300,360,1440,1440*2,1440*3,1440*4,1440*5,1440*6,1440*7,1440*10],i,r,l=[];for(r=0;r<a.length;r++){i=a[r];if(s&&i%1440!==0){continue}l.push({value:i,label:e.getDurationLabel(i)})}return l}},{key:"getDurationLabel",value:function e(s){var a;if(s%1440===0){a=t.Loc.getMessage("USER_TYPE_DURATION_X_DAY").replace("#NUM#",s/1440)}else if(s%60===0&&s!==60){a=t.Loc.getMessage("USER_TYPE_DURATION_X_HOUR").replace("#NUM#",s/60)}else{a=t.Loc.getMessage("USER_TYPE_DURATION_X_MIN").replace("#NUM#",s)}return a}},{key:"parseDuration",value:function e(s){var a=s,i=parseInt(s),r=false,l=new RegExp("(\\d)\\s*("+t.Loc.getMessage("USER_TYPE_DURATION_REGEXP_DAY")+").*","ig"),o=new RegExp("(\\d)\\s*("+t.Loc.getMessage("USER_TYPE_DURATION_REGEXP_HOUR")+").*","ig");s=s.replace(l,(function(e,t){r=true;return t}));if(r){s=i*1440}else{s=a.replace(o,(function(e,t){r=true;return t}));if(r){s=i*60}else{s=i}}return parseInt(s)||0}},{key:"getSimpleTimeList",value:function s(){if(t.Type.isNull(e.simpleTimeList)){var a,i=[];for(a=0;a<24;a++){i.push({value:a*60,label:this.formatTime(a,0)});i.push({value:a*60+30,label:this.formatTime(a,30)})}e.simpleTimeList=i}return e.simpleTimeList}},{key:"adaptTimeValue",value:function t(s){s=parseInt(s.h*60)+parseInt(s.m);var a=e.getSimpleTimeList(),i=24*60,r=false,l;for(l=0;l<a.length;l++){if(Math.abs(a[l].value-s)<i){i=Math.abs(a[l].value-s);r=l;if(i<=15){break}}}return a[r||0]}},{key:"getDayLength",value:function t(){return e.DAY_LENGTH}},{key:"showLimitationPopup",value:function e(){if(top.BX.getClass("BX.UI.InfoHelper")){top.BX.UI.InfoHelper.show("limit_crm_booking")}}}]);return e}();babelHelpers.defineProperty($,"simpleTimeList",null);babelHelpers.defineProperty($,"DAY_LENGTH",864e5);babelHelpers.defineProperty($,"TIME_FORMAT",null);babelHelpers.defineProperty($,"TIME_FORMAT_SHORT",null);babelHelpers.defineProperty($,"DATE_FORMAT",null);babelHelpers.defineProperty($,"DATETIME_FORMAT",null);var ee=function(e){babelHelpers.inherits(s,e);function s(e){var t;babelHelpers.classCallCheck(this,s);t=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));t.settings=e.settings||{};t.showTitle=e.displayTitle!==false;t.title=e.title||"";t.DOM={wrap:e.wrap};return t}babelHelpers.createClass(s,[{key:"build",value:function e(){this.controls={};this.DOM.outerWrap=this.DOM.wrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-wrapper calendar-resbook-webform-wrapper-form"}}));this.DOM.innerWrap=this.DOM.outerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-inner"}}));if(this.settings.userfieldSettings.useUsers||this.settings.userfieldSettings.useResources){this.displayTitle();this.displayUsersControl();this.displayResourcesControl();this.displayServicesControl();this.displayDurationControl();this.displayDateControl();this.displayTimeControl()}else{this.displayWarning(t.Loc.getMessage("WEBF_RES_BOOKING_WARNING"))}}},{key:"destroy",value:function e(){t.Dom.remove(this.DOM.outerWrap)}},{key:"displayTitle",value:function e(){if(this.showTitle){this.DOM.titleWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-title"}})).appendChild(t.Dom.create("div",{props:{className:"calendar-resbook-webform-title-text"}}));this.updateTitle(this.title)}}},{key:"updateTitle",value:function e(s){if(this.showTitle){this.title=s;t.Dom.adjust(this.DOM.titleWrap,{text:this.title})}}},{key:"displayWarning",value:function e(s){this.DOM.warningWrap=this.DOM.innerWrap.appendChild(t.Dom.create("div",{props:{className:"ui-alert ui-alert-warning ui-alert-text-center ui-alert-icon-warning"},style:{marginBottom:0},html:'<span class="ui-alert-message">'+s+"</span>"}))}},{key:"displayUsersControl",value:function e(){if(this.settings.userfieldSettings.useUsers){if(this.settings.data.users.value===null&&t.Type.isArray(this.settings.userfieldSettings.users)){this.settings.data.users.value=this.settings.userfieldSettings.users}this.controls.users=new n({outerWrap:this.DOM.innerWrap,data:this.settings.data.users,userIndex:this.settings.userfieldSettings.userIndex});this.controls.users.display()}}},{key:"displayResourcesControl",value:function e(){if(this.settings.userfieldSettings.useResources){if(this.settings.data.resources.value===null&&t.Type.isArray(this.settings.userfieldSettings.resources)){this.settings.data.resources.value=[];this.settings.userfieldSettings.resources.forEach((function(e){this.settings.data.resources.value.push(parseInt(e.id))}),this)}this.controls.resources=new u({outerWrap:this.DOM.innerWrap,data:this.settings.data.resources,resourceList:this.settings.userfieldSettings.resources});this.controls.resources.display()}}},{key:"displayServicesControl",value:function e(){if(this.settings.userfieldSettings.useServices){if(this.settings.data.services.value===null&&t.Type.isArray(this.settings.userfieldSettings.services)){this.settings.data.services.value=[];this.settings.userfieldSettings.services.forEach((function(e){this.settings.data.services.value.push(e.name)}),this)}this.controls.services=new h({outerWrap:this.DOM.innerWrap,data:this.settings.data.services,serviceList:this.settings.userfieldSettings.services});this.controls.services.display()}}},{key:"displayDurationControl",value:function e(){if(!this.settings.userfieldSettings.useServices){this.controls.duration=new c({outerWrap:this.DOM.innerWrap,data:this.settings.data.duration,fullDay:this.settings.userfieldSettings.fullDay});this.controls.duration.display()}}},{key:"displayDateControl",value:function e(){this.controls.date=new S({outerWrap:this.DOM.innerWrap,data:this.settings.data.date});this.controls.date.display()}},{key:"displayTimeControl",value:function e(){if(!this.settings.userfieldSettings.fullDay){this.controls.time=new N({outerWrap:this.DOM.innerWrap,data:this.settings.data.time});this.controls.time.display()}}},{key:"refreshLayout",value:function e(s){for(var a in this.controls){if(this.controls.hasOwnProperty(a)&&t.Type.isFunction(this.controls[a].refresh)){this.controls[a].refresh(s[a]||this.settings.data[a])}}}},{key:"getInnerWrap",value:function e(){return this.DOM.innerWrap}},{key:"getOuterWrap",value:function e(){return this.DOM.outerWrap}}]);return s}(t.Event.EventEmitter);var te=function(e){babelHelpers.inherits(t,e);function t(e){babelHelpers.classCallCheck(this,t);return babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e))}return t}(ee);var se=function(e){babelHelpers.inherits(t,e);function t(e){babelHelpers.classCallCheck(this,t);return babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(t).call(this,e))}babelHelpers.createClass(t,[{key:"build",value:function e(){babelHelpers.get(babelHelpers.getPrototypeOf(t.prototype),"build",this).call(this);this.DOM.outerWrap.className="calendar-resbook-webform-wrapper calendar-resbook-webform-wrapper-preview calendar-resbook-webform-wrapper-dark"}}]);return t}(ee);var ae=function(e){babelHelpers.inherits(s,e);function s(e){var a;babelHelpers.classCallCheck(this,s);a=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(s).call(this,e));a.id=e.id||"bx-select-input-"+Math.round(Math.random()*1e6);if(t.Type.isFunction(e.getValues)){a.getValues=e.getValues;a.values=a.getValues()}else{a.values=e.values||false}a.input=e.input;a.defaultValue=e.defaultValue||"";a.openTitle=e.openTitle||"";a.className=e.className||"";a.currentValue=e.value;a.currentValueIndex=e.valueIndex;a.onChangeCallback=t.Type.isFunction(e.onChangeCallback)?e.onChangeCallback:null;a.onAfterMenuOpen=e.onAfterMenuOpen||null;a.zIndex=e.zIndex||1200;a.disabled=e.disabled;a.editable=e.editable!==false;a.setFirstIfNotFound=!!e.setFirstIfNotFound;if(a.onChangeCallback){t.Event.bind(a.input,"change",a.onChangeCallback);t.Event.bind(a.input,"keyup",a.onChangeCallback)}a.curInd=false;if(t.Type.isArray(a.values)){t.Event.bind(a.input,"click",a.onClick.bind(babelHelpers.assertThisInitialized(a)));if(a.editable){t.Event.bind(a.input,"focus",a.onFocus.bind(babelHelpers.assertThisInitialized(a)));t.Event.bind(a.input,"blur",a.onBlur.bind(babelHelpers.assertThisInitialized(a)));t.Event.bind(a.input,"keyup",a.onKeyup.bind(babelHelpers.assertThisInitialized(a)))}else{t.Event.bind(a.input,"focus",function(){this.input.blur()}.bind(babelHelpers.assertThisInitialized(a)))}if(a.currentValueIndex===undefined&&a.currentValue!==undefined){a.currentValueIndex=-1;for(var i=0;i<a.values.length;i++){if(parseInt(a.values[i].value)===parseInt(a.currentValue)){a.currentValueIndex=i;break}}if(a.currentValueIndex===-1){a.currentValueIndex=a.setFirstIfNotFound?0:undefined}}}if(a.currentValueIndex!==undefined&&a.values[a.currentValueIndex]){a.input.value=a.values[a.currentValueIndex].label}return a}babelHelpers.createClass(s,[{key:"showPopup",value:function e(){if(this.getValues){this.values=this.getValues()}if(this.shown||this.disabled||!this.values.length){return}var s=0,i=0,r=[],l,o=this;for(l=0;l<this.values.length;l++){if(this.values[l].delimiter){r.push(this.values[l])}else{if(this.currentValue&&this.values[l]&&this.values[l].value===this.currentValue.value||this.input.value===this.values[l].label){s=i}r.push({id:this.values[l].value+"_"+l,text:this.values[l].label,onclick:this.values[l].callback||function(e,t){return function(){o.input.value=t;o.popupMenu.close();o.onChange(e,t)}}(this.values[l].value,this.values[l].labelRaw||this.values[l].label)});i++}}this.popupMenu=a.MenuManager.create(this.id,this.input,r,{closeByEsc:true,autoHide:true,zIndex:this.zIndex,offsetTop:0,offsetLeft:0,cacheable:false});this.popupMenu.popupWindow.setWidth(this.input.offsetWidth-2);var n=this.popupMenu.layout.menuContainer;t.Dom.addClass(this.popupMenu.layout.menuContainer,"calendar-resourcebook-select-popup");this.popupMenu.show();var u=this.popupMenu.menuItems[s];if(u&&u.layout){n.scrollTop=u.layout.item.offsetTop-2}$.bindCustomEvent(this.popupMenu.popupWindow,"onPopupClose",function(){this.shown=false}.bind(this));this.input.select();if(t.Type.isFunction(this.onAfterMenuOpen)){this.onAfterMenuOpen(s,this.popupMenu)}this.shown=true}},{key:"closePopup",value:function e(){a.MenuManager.destroy(this.id);this.shown=false}},{key:"onFocus",value:function e(){setTimeout(function(){if(!this.shown){this.showPopup()}}.bind(this),200)}},{key:"onClick",value:function e(){if(this.shown){this.closePopup()}else{this.showPopup()}}},{key:"onBlur",value:function e(){setTimeout(this.closePopup.bind(this),200)}},{key:"onKeyup",value:function e(){setTimeout(this.closePopup.bind(this),50)}},{key:"onChange",value:function e(s){var a=this.input.value;this.emit("BX.Calendar.Resourcebooking.SelectInput:changed",new t.Event.BaseEvent({data:{selectinput:this,value:a,realValue:s}}));if(this.onChangeCallback){this.onChangeCallback({value:a,realValue:s})}}},{key:"destroy",value:function e(){if(this.onChangeCallback){t.Event.unbind(this.input,"change",this.onChangeCallback);t.Event.unbind(this.input,"keyup",this.onChangeCallback)}t.Event.unbind(this.input,"click",this.onClick.bind(this));t.Event.unbind(this.input,"focus",this.onFocus.bind(this));t.Event.unbind(this.input,"blur",this.onBlur.bind(this));t.Event.unbind(this.input,"keyup",this.onKeyup.bind(this));if(this.popupMenu){this.popupMenu.close()}a.MenuManager.destroy(this.id);this.shown=false}},{key:"setValue",value:function e(s){this.input.value=s;if(t.Type.isArray(this.values)){var a=-1;for(var i=0;i<this.values.length;i++){if(this.values[i].value===s){a=i;break}}if(a!==-1){this.input.value=this.values[a].label;this.currentValueIndex=a}}}},{key:"getValue",value:function e(){return this.input.value}}]);return s}(t.Event.EventEmitter);var ie=window.BX&&BX.Main&&BX.Main.Date?BX.Main.Date:null;var re=function(){function e(){babelHelpers.classCallCheck(this,e)}babelHelpers.createClass(e,null,[{key:"getLiveField",value:function e(s){if(!s.wrap||!t.Type.isDomNode(s.wrap)){throw new Error('The argument "params.wrap" must be a DOM node')}if(t.Type.isNull(ie)){throw new Error("The error occured during Date extention loading")}var a=new Z(s);a.init();return a}},{key:"getPreviewField",value:function e(t){}}]);return e}();e.Type=t.Type;e.Loc=t.Loc;e.Dom=t.Dom;e.Event=t.Event;e.Tag=t.Tag;e.Browser=t.Browser;e.Text=t.Text;e.Runtime=t.Runtime;e.PopupManager=a.PopupManager;e.MenuManager=a.MenuManager;e.BaseEvent=i.BaseEvent;e.EventEmitter=i.EventEmitter;e.CoreDate=ie;e.BookingUtil=$;e.FieldViewControllerEdit=te;e.FieldViewControllerPreview=se;e.SelectInput=ae;e.Resourcebooking=re})(this.BX.Calendar=this.BX.Calendar||{},BX,BX,BX.Main,BX.Event); //# sourceMappingURL=resourcebooking.bundle.map.js
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings