Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/landing/ui/field/image/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/landing/ui/field/image/dist/image.bundle.min.js

this.BX=this.BX||{};this.BX.Landing=this.BX.Landing||{};this.BX.Landing.UI=this.BX.Landing.UI||{};(function(e,t,i,n,a,o,r,l,s,d){"use strict";function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */u=function t(){return e};var e={},t=Object.prototype,i=t.hasOwnProperty,n=Object.defineProperty||function(e,t,i){e[t]=i.value},a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",r=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function s(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function e(t,i,n){return t[i]=n}}function d(e,t,i,a){var o=t&&t.prototype instanceof p?t:p,r=Object.create(o.prototype),l=new B(a||[]);return n(r,"_invoke",{value:w(e,i,l)}),r}function c(e,t,i){try{return{type:"normal",arg:e.call(t,i)}}catch(e){return{type:"throw",arg:e}}}e.wrap=d;var h={};function p(){}function g(){}function f(){}var m={};s(m,o,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(x([])));y&&y!==t&&i.call(y,o)&&(m=y);var b=f.prototype=p.prototype=Object.create(m);function I(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function L(e,t){function a(n,o,r,l){var s=c(e[n],e,o);if("throw"!==s.type){var d=s.arg,u=d.value;return u&&"object"==babelHelpers["typeof"](u)&&i.call(u,"__await")?t.resolve(u.__await).then((function(e){a("next",e,r,l)}),(function(e){a("throw",e,r,l)})):t.resolve(u).then((function(e){d.value=e,r(d)}),(function(e){return a("throw",e,r,l)}))}l(s.arg)}var o;n(this,"_invoke",{value:function e(i,n){function r(){return new t((function(e,t){a(i,n,e,t)}))}return o=o?o.then(r,r):r()}})}function w(e,t,i){var n="suspendedStart";return function(a,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw o;return T()}for(i.method=a,i.arg=o;;){var r=i.delegate;if(r){var l=C(r,i);if(l){if(l===h)continue;return l}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var s=c(e,t,i);if("normal"===s.type){if(n=i.done?"completed":"suspendedYield",s.arg===h)continue;return{value:s.arg,done:i.done}}"throw"===s.type&&(n="completed",i.method="throw",i.arg=s.arg)}}}function C(e,t){var i=t.method,n=e.iterator[i];if(undefined===n)return t.delegate=null,"throw"===i&&e.iterator["return"]&&(t.method="return",t.arg=undefined,C(e,t),"throw"===t.method)||"return"!==i&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+i+"' method")),h;var a=c(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,h;var o=a.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=undefined),t.delegate=null,h):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function B(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function x(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n<e.length;)if(i.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=undefined,t.done=!0,t};return a.next=a}}return{next:T}}function T(){return{value:undefined,done:!0}}return g.prototype=f,n(b,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:g,configurable:!0}),g.displayName=s(f,l,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,l,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},I(L.prototype),s(L.prototype,r,(function(){return this})),e.AsyncIterator=L,e.async=function(t,i,n,a,o){void 0===o&&(o=Promise);var r=new L(d(t,i,n,a),o);return e.isGeneratorFunction(i)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},I(b),s(b,l,"Generator"),s(b,o,(function(){return this})),s(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),i=[];for(var n in t)i.push(n);return i.reverse(),function e(){for(;i.length;){var n=i.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=x,B.prototype={constructor:B,reset:function e(t){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(E),!t)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=undefined)},stop:function e(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function e(t){if(this.done)throw t;var n=this;function a(e,i){return l.type="throw",l.arg=t,n.next=e,i&&(n.method="next",n.arg=undefined),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var r=this.tryEntries[o],l=r.completion;if("root"===r.tryLoc)return a("end");if(r.tryLoc<=this.prev){var s=i.call(r,"catchLoc"),d=i.call(r,"finallyLoc");if(s&&d){if(this.prev<r.catchLoc)return a(r.catchLoc,!0);if(this.prev<r.finallyLoc)return a(r.finallyLoc)}else if(s){if(this.prev<r.catchLoc)return a(r.catchLoc,!0)}else{if(!d)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return a(r.finallyLoc)}}}},abrupt:function e(t,n){for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var r=o;break}}r&&("break"===t||"continue"===t)&&r.tryLoc<=n&&n<=r.finallyLoc&&(r=null);var l=r?r.completion:{};return l.type=t,l.arg=n,r?(this.method="next",this.next=r.finallyLoc,h):this.complete(l)},complete:function e(t,i){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&i&&(this.next=i),h},finish:function e(t){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),h}},catch:function e(t){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc===t){var a=n.completion;if("throw"===a.type){var o=a.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function e(t,i,n){return this.delegate={iterator:x(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=undefined),h}},e}var c=function(e){babelHelpers.inherits(c,e);function c(e){var i;babelHelpers.classCallCheck(this,c);i=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(c).call(this,e));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"copilotBindElement",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"aiButton",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"copilotContext",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"copilotCategory",null);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"useCopilotInIframe",false);babelHelpers.defineProperty(babelHelpers.assertThisInitialized(i),"copilotFinishInitPromise",new Promise((function(){})));i.dimensions=babelHelpers["typeof"](e.dimensions)==="object"?e.dimensions:null;i.create2xByDefault=e.create2xByDefault!==false;i.uploadParams=babelHelpers["typeof"](e.uploadParams)==="object"?e.uploadParams:{};i.onValueChangeHandler=e.onValueChange?e.onValueChange:function(){};i.type=i.content.type||"image";i.contextType=e.contextType||c.CONTEXT_TYPE_CONTENT;i.allowClear=e.allowClear;i.isAiImageAvailable=t.Type.isBoolean(e.isAiImageAvailable)?e.isAiImageAvailable:false;i.isAiImageActive=t.Type.isBoolean(e.isAiImageActive)?e.isAiImageActive:false;i.aiUnactiveInfoCode=t.Type.isString(e.aiUnactiveInfoCode)?e.aiUnactiveInfoCode:null;i.input.innerText=i.content.src;i.input.hidden=true;i.input2x=i.createInput();i.input2x.innerText=i.content.src2x||"";i.input2x.hidden=true;i.layout.classList.add("landing-ui-field-image");i.compactMode=e.compactMode===true;if(i.compactMode){i.layout.classList.add("landing-ui-field-image--compact")}i.disableAltField=typeof e.disableAltField==="boolean"?e.disableAltField:false;i.fileInput=c.createFileInput(i.selector);i.fileInput.addEventListener("change",i.onFileInputChange.bind(babelHelpers.assertThisInitialized(i)));i.linkInput=c.createLinkInput();i.linkInput.onInputHandler=t.Runtime.debounce(i.onLinkInput.bind(babelHelpers.assertThisInitialized(i)),777);i.dropzone=c.createDropzone(i.selector);i.dropzone.hidden=true;i.onDragOver=i.onDragOver.bind(babelHelpers.assertThisInitialized(i));i.onDragLeave=i.onDragLeave.bind(babelHelpers.assertThisInitialized(i));i.onDrop=i.onDrop.bind(babelHelpers.assertThisInitialized(i));i.dropzone.addEventListener("dragover",i.onDragOver);i.dropzone.addEventListener("dragleave",i.onDragLeave);i.dropzone.addEventListener("drop",i.onDrop);i.clearButton=c.createClearButton();i.clearButton.on("click",i.onClearClick.bind(babelHelpers.assertThisInitialized(i)));i.preview=c.createImagePreview();i.preview.appendChild(i.clearButton.layout);i.preview.style.backgroundImage="url("+i.input.innerText.trim()+")";i.onImageDragEnter=i.onImageDragEnter.bind(babelHelpers.assertThisInitialized(i));i.preview.addEventListener("dragenter",i.onImageDragEnter);i.loader=new BX.Loader({target:i.preview});i.icon=c.createIcon();i.image=c.createImageLayout();i.image.appendChild(i.preview);i.image.appendChild(i.icon);i.image.dataset.fileid=i.content.id;i.image.dataset.fileid2x=i.content.id2x;i.hiddenImage=t.Dom.create("img",{props:{className:"landing-ui-field-image-hidden"}});if(t.Type.isPlainObject(i.content)&&"src"in i.content){i.hiddenImage.src=i.content.src}i.altField=c.createAltField();i.altField.setValue(i.content.alt);i.left=c.createLeftLayout();i.left.appendChild(i.dropzone);i.left.appendChild(i.image);i.left.appendChild(i.hiddenImage);if(i.description){i.left.appendChild(i.description)}i.left.appendChild(i.altField.layout);i.left.appendChild(i.linkInput.layout);i.uploadButton=c.createUploadButton(i.compactMode);i.uploadButton.on("click",i.onUploadClick.bind(babelHelpers.assertThisInitialized(i)));i.editButton=c.createEditButton();i.editButton.on("click",i.onEditClick.bind(babelHelpers.assertThisInitialized(i)));i.right=c.createRightLayout();if(i.isAiImageAvailable&&(i.type==="background"||i.type==="image")){i.useCopilotInIframe=i.uploadParams.action==="Landing::uploadFile";i.defineCopilotCategory();var o={moduleId:"landing",contextId:i.getAiContext(),category:i.copilotCategory,useText:false,useImage:true,autoHide:true};i.copilotContext=i.useCopilotInIframe?BX:top.BX;i.stylePanel=a.StylePanel.getInstance().layout;i.stylePanelContent=a.StylePanel.getInstance().content;i.copilotContext.Runtime.loadExtension("ai.copilot").then((function(e){var n=e.Copilot,a=e.CopilotEvents;i.imageCopilot=new n(o);i.imageCopilot.subscribe(a.FINISH_INIT,i.imageCopilotFinishInitHandler.bind(babelHelpers.assertThisInitialized(i)));i.imageCopilot.subscribe(a.IMAGE_COMPLETION_RESULT,i.imageCopilotImageResultHandler.bind(babelHelpers.assertThisInitialized(i)));i.imageCopilot.subscribe(a.IMAGE_SAVE,i.imageCopilotSaveImageHandler.bind(babelHelpers.assertThisInitialized(i)));i.imageCopilot.subscribe(a.IMAGE_CANCEL,i.imageCopilotCancelImageHandler.bind(babelHelpers.assertThisInitialized(i)));t.Event.bind(i.stylePanelContent,"scroll",i.onScrollContentPanel.bind(babelHelpers.assertThisInitialized(i)));t.Event.bind(i.stylePanel,"click",i.onClickStylePanel.bind(babelHelpers.assertThisInitialized(i)));t.Event.EventEmitter.subscribe("BX.Landing.UI.Panel.ContentEdit:onClick",i.onClickContentPanel.bind(babelHelpers.assertThisInitialized(i)));t.Event.EventEmitter.subscribe("BX.Landing.UI.Panel.BasePanel:onHide",i.closeCopilot.bind(babelHelpers.assertThisInitialized(i)));t.Event.EventEmitter.subscribe("BX.Landing.UI.Panel.BasePanel:onClick",i.onClickContentPanel.bind(babelHelpers.assertThisInitialized(i)));t.Event.EventEmitter.subscribe("BX.Landing.UI.Panel.BasePanel:onScroll",i.onScrollContentPanel.bind(babelHelpers.assertThisInitialized(i)));i.imageCopilot.init()}));i.aiButton=c.createAiButton(i.compactMode);BX.bind(i.aiButton.layout,"click",(function(){if(i.isAiImageActive){i.onAiClick()}else if(i.aiUnactiveInfoCode&&i.aiUnactiveInfoCode.length>0){BX.UI.InfoHelper.show(i.aiUnactiveInfoCode)}}));i.right.appendChild(i.aiButton.layout)}i.right.appendChild(i.uploadButton.layout);i.right.appendChild(i.editButton.layout);i.form=c.createForm();i.form.appendChild(i.left);i.form.appendChild(i.right);i.layout.appendChild(i.form);i.enableTextOnly();if(!i.input.innerText.trim()||i.input.innerText.trim()===window.location.toString()){i.showDropzone()}if(i.disableAltField){i.altField.layout.hidden=true;i.altField.layout.style.display="none";i.altField.layout.classList.add("landing-ui-hide")}if(i.content.type==="icon"){i.type="icon";i.classList=i.content.classList;i.showPreview();i.altField.layout.hidden=true;t.Dom.addClass(i.layout,"landing-ui-field-image-icon")}i.makeAsLinkWrapper=t.Dom.create("div",{props:{className:"landing-ui-field-image-make-as-link-wrapper"},children:[t.Dom.create("div",{props:{className:"landing-ui-field-image-make-as-link-button"},children:[]})]});i.url=new BX.Landing.UI.Field.Link({content:i.content.url||{text:"",href:""},options:{siteId:n.Main.getInstance().options.site_id,landingId:n.Main.getInstance().id},contentRoot:i.contentRoot});i.isDisabledUrl=i.content.url&&i.content.url.enabled===false;if(i.isDisabledUrl){i.content.url.href=""}i.url.left.hidden=true;i.makeAsLinkWrapper.appendChild(i.url.layout);if(!e.disableLink){i.layout.appendChild(i.makeAsLinkWrapper)}i.content=i.getValue();BX.DOM.write(function(){this.adjustPreviewBackgroundSize()}.bind(babelHelpers.assertThisInitialized(i)));if(i.getValue().type==="background"||i.allowClear){i.clearButton.layout.classList.add("landing-ui-show")}i.uploader=new r.ImageUploader({uploadParams:i.uploadParams,additionalParams:{context:"imageeditor"},dimensions:i.dimensions,sizes:["1x","2x"],allowSvg:n.Main.getInstance().options.allow_svg===true});i.adjustEditButtonState();return i}babelHelpers.createClass(c,[{key:"onInputInput",value:function e(){this.preview.src=this.input.innerText.trim()}},{key:"onImageDragEnter",value:function e(t){t.preventDefault();t.stopPropagation();if(!this.imageHidden){this.showDropzone();this.imageHidden=true}}},{key:"onDragOver",value:function e(t){t.preventDefault();t.stopPropagation();this.dropzone.classList.add("landing-ui-active")}},{key:"onDragLeave",value:function e(t){t.preventDefault();t.stopPropagation();this.dropzone.classList.remove("landing-ui-active");if(this.imageHidden){this.imageHidden=false;this.showPreview()}}},{key:"onDrop",value:function e(t){t.preventDefault();t.stopPropagation();this.dropzone.classList.remove("landing-ui-active");this.onFileChange(t.dataTransfer.files[0]);this.imageHidden=false}},{key:"onFileChange",value:function e(t){this.showLoader();this.upload(t).then(this.setValue.bind(this)).then(this.hideLoader.bind(this))["catch"](function(e){console.error(e);this.hideLoader()}.bind(this))}},{key:"onFileInputChange",value:function e(t){this.onFileChange(t.currentTarget.files[0])}},{key:"onAiClick",value:function(){var e=babelHelpers.asyncToGenerator(u().mark((function e(){return u().wrap((function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.copilotFinishInitPromise;case 2:this.showCopilot();case 3:case"end":return t.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAiButton",value:function e(){return this.aiButton}},{key:"showCopilot",value:function e(){this.copilotBindElement=this.aiButton.layout;var t=3;var i=this.copilotBindElement.getBoundingClientRect();this.imageCopilot.show({width:500,bindElement:{top:i.bottom+t,left:i.left}});this.imageCopilot.adjustPosition({})}},{key:"imageCopilotFinishInitHandler",value:function e(){this.copilotFinishInitPromise=Promise.resolve()}},{key:"imageCopilotImageResultHandler",value:function e(i){var n=i.getData();this.imageCopilotUrl=encodeURI(n.imageUrl);if(this.copilotBindElement===this.dropzone){this.showPreview()}t.Dom.addClass(this.preview,"--shown");t.Dom.style(this.preview,"background-image",'url("'.concat(this.imageCopilotUrl,'")'));t.Dom.style(this.preview,"background-size","contain")}},{key:"imageCopilotSaveImageHandler",value:function e(){var i=this;var n=this.imageCopilotUrl;var a=BX.util.add_url_param("/bitrix/tools/landing/proxy.php",{sessid:BX.bitrix_sessid(),url:n});BX.Landing.Utils.urlToBlob(a).then((function(e){e.lastModifiedDate=new Date;e.name=n.slice(n.lastIndexOf("/")+1);return e})).then(this.upload.bind(this)).then(this.setValue.bind(this)).then(this.hideLoader.bind(this)).then((function(){t.Dom.removeClass(i.preview,"--shown")}));this.closeCopilot()}},{key:"imageCopilotCancelImageHandler",value:function e(){if(this.copilotBindElement===this.dropzone){this.showDropzone()}else{t.Dom.removeClass(this.preview,"--shown");t.Dom.style(this.preview,"background-image",'url("'.concat(this.input.innerText.trim(),'")'))}}},{key:"closeCopilot",value:function e(){if(this.imageCopilot.isShown()){this.imageCopilot.hide();t.Event.EventEmitter.unsubscribe("BX.Landing.UI.Panel.BasePanel:onHide",this.closeCopilot.bind(this));t.Event.unbind(this.stylePanel,"click",this.onClickStylePanel.bind(this))}}},{key:"onClickStylePanel",value:function e(t){if(!this.aiButton.layout.contains(t.target)){this.closeCopilot()}}},{key:"onClickContentPanel",value:function e(t){var i=t.getData().event.target;if(!this.aiButton.layout.contains(i)){this.closeCopilot()}}},{key:"onScrollContentPanel",value:function e(){var t;if(Boolean((t=this.imageCopilot)===null||t===void 0?void 0:t.isShown())===false){return}if(this.imageCopilot.getPosition().inputField.top<133){this.imageCopilot.adjustPosition({hide:true})}else{this.imageCopilot.adjustPosition({hide:false})}}},{key:"defineCopilotCategory",value:function e(){this.copilotCategory=this.contextType==="style"?"landing_designer":this.useCopilotInIframe?"landing_setting":"landing_editor"}},{key:"getAiContext",value:function e(){return"image_site_"+d.Env.getInstance().getSiteId()}},{key:"onUploadClick",value:function e(t){this.bindElement=t.currentTarget;t.preventDefault();if(!this.uploadMenu){this.uploadMenu=BX.Main.MenuManager.create({id:"upload_"+this.selector+ +new Date,bindElement:this.bindElement,bindOptions:{forceBindPosition:true},items:[{text:i.Loc.getMessage("LANDING_IMAGE_UPLOAD_MENU_UNSPLASH"),onclick:this.onUnsplashShow.bind(this)},{text:i.Loc.getMessage("LANDING_IMAGE_UPLOAD_MENU_GOOGLE"),onclick:this.onGoogleShow.bind(this)},{text:i.Loc.getMessage("LANDING_IMAGE_UPLOAD_MENU_UPLOAD"),onclick:this.onUploadShow.bind(this)},{text:i.Loc.getMessage("LANDING_IMAGE_UPLOAD_MENU_LINK"),onclick:this.onLinkShow.bind(this)}],events:{onPopupClose:function(){this.bindElement.classList.remove("landing-ui-active");if(this.uploadMenu){this.uploadMenu.destroy();this.uploadMenu=null}}.bind(this)},targetContainer:this.contentRoot});if(!this.contentRoot){this.bindElement.parentNode.appendChild(this.uploadMenu.popupWindow.popupContainer)}}this.bindElement.classList.add("landing-ui-active");this.uploadMenu.toggle();if(!this.contentRoot&&this.uploadMenu){var n=BX.pos(this.bindElement,this.bindElement.parentNode);this.uploadMenu.popupWindow.popupContainer.style.top=n.bottom+"px";this.uploadMenu.popupWindow.popupContainer.style.left="auto";this.uploadMenu.popupWindow.popupContainer.style.right="5px"}}},{key:"onUnsplashShow",value:function e(){this.uploadMenu.close();BX.Landing.UI.Panel.Image.getInstance().show("unsplash",this.dimensions,this.loader,this.uploadParams).then(this.upload.bind(this)).then(this.setValue.bind(this)).then(this.hideLoader.bind(this))["catch"](function(e){console.error(e);this.hideLoader()}.bind(this))}},{key:"onGoogleShow",value:function e(){this.uploadMenu.close();BX.Landing.UI.Panel.Image.getInstance().show("google",this.dimensions,this.loader,this.uploadParams).then(this.upload.bind(this)).then(this.setValue.bind(this)).then(this.hideLoader.bind(this))["catch"](function(e){BX.Landing.ErrorManager.getInstance().add({type:"error",action:"BAD_IMAGE",hideSupportLink:true});console.error(e);this.hideLoader()}.bind(this))}},{key:"onUploadShow",value:function e(){this.uploadMenu.close();this.fileInput.click()}},{key:"onLinkShow",value:function e(){this.uploadMenu.close();this.showLinkField();this.linkInput.setValue("")}},{key:"onEditClick",value:function e(t){t.preventDefault();this.edit({src:this.hiddenImage.src})}},{key:"onClearClick",value:function e(t){t.preventDefault();this.setValue({src:""});this.fileInput.value="";this.showDropzone()}},{key:"showDropzone",value:function e(){this.dropzone.hidden=false;this.image.hidden=true;this.altField.layout.hidden=true;this.linkInput.layout.hidden=true}},{key:"showPreview",value:function e(){this.dropzone.hidden=true;this.image.hidden=false;this.altField.layout.hidden=false;this.linkInput.layout.hidden=true}},{key:"showLinkField",value:function e(){this.dropzone.hidden=true;this.image.hidden=true;this.altField.layout.hidden=true;this.linkInput.layout.hidden=false}},{key:"onLinkInput",value:function e(i){var n=this;var a=t.Dom.create("img");a.src=i;a.onload=function(){n.showPreview();n.setValue({src:i,src2x:i})}}},{key:"showLoader",value:function e(){if(this.dropzone&&!this.dropzone.hidden){this.loader.show(this.dropzone);return}this.loader.show(this.preview)}},{key:"hideLoader",value:function e(){this.loader.hide()}},{key:"onInputClick",value:function e(t){t.preventDefault()}},{key:"isChanged",value:function e(){var i=BX.Landing.Utils.clone(this.content);var n=BX.Landing.Utils.clone(this.getValue());if(i.url&&t.Type.isString(i.url)){i.url=BX.Landing.Utils.decodeDataValue(i.url)}if(n.url&&t.Type.isString(n.url)){n.url=BX.Landing.Utils.decodeDataValue(n.url)}return JSON.stringify(i)!==JSON.stringify(n)}},{key:"adjustPreviewBackgroundSize",value:function e(){var i=t.Dom.create("img",{attrs:{src:this.getValue().src}});i.onload=function(){var e=this.preview.getBoundingClientRect();var t="cover";if(i.width>e.width||i.height>e.height){t="contain"}if(i.width<e.width&&i.height<e.height){t="auto"}BX.DOM.write(function(){this.preview.style.backgroundSize=t}.bind(this))}.bind(this)}},{key:"setValue",value:function e(t,i){if(t.type!=="icon"){if(!t||!t.src){this.input.innerText="";this.input2x.innerText="";this.preview.removeAttribute("style");this.input.dataset.ext="";this.showDropzone()}else{this.input.innerText=t.src;this.input2x.innerText=t.src2x||"";this.preview.style.backgroundImage='url("'+(t.src2x||t.src)+'")';this.preview.id=BX.util.getRandomString();this.hiddenImage.src=t.src2x||t.src;this.showPreview()}this.image.dataset.fileid=t&&t.id?t.id:-1;this.image.dataset.fileid2x=t&&t.id2x?t.id2x:-1;if(t.type==="image"){this.altField.layout.hidden=false;this.altField.setValue(t.alt)}this.classList=[]}else{this.preview.style.backgroundImage=null;this.classList=t.classList;this.icon.innerHTML='<span class="'+t.classList.join(" ")+'"></span>';this.showPreview();this.type="icon";this.altField.layout.hidden=true;this.altField.setValue("");this.input.innerText=""}if(t.url){this.url.setValue(t.url)}this.adjustPreviewBackgroundSize();this.adjustEditButtonState();this.hideLoader();this.onValueChangeHandler(this);BX.fireEvent(this.layout,"input");var n=new BX.Event.BaseEvent({data:{value:this.getValue()},compatData:[this.getValue()]});if(!i){this.emit("change",n)}}},{key:"adjustEditButtonState",value:function e(){var t=this.getValue();if(BX.Type.isStringFilled(t.src)){this.editButton.enable()}else{this.editButton.disable()}}},{key:"reset",value:function e(){this.setValue({type:this.getValue().type,id:-1,src:"",alt:""})}},{key:"getValue",value:function e(){var i={type:"",src:"",alt:"",url:""};var n=parseInt(this.image.dataset.fileid);if(t.Type.isNumber(n)&&n>0){i.id=n}var a=parseInt(this.image.dataset.fileid2x);if(t.Type.isNumber(a)&&a>0){i.id2x=a}var o=this.input2x.innerText.trim();if(t.Type.isString(o)&&o){i.src2x=o}if(this.type==="background"||this.type==="image"){i.src=this.input.innerText.trim()}if(this.type==="background"){i.type="background"}if(this.type==="image"){i.type="image";i.alt=this.altField.getValue()}if(this.type==="icon"){i.type="icon";i.classList=this.classList}i.url=Object.assign({},this.url.getValue(),{enabled:true});return i}},{key:"edit",value:function e(t){parent.BX.Landing.ImageEditor.edit({image:t.src,dimensions:this.dimensions}).then(function(e){var t=e.name.split(".").pop();if(!e.name.includes(".")||t.length>4){t=".".concat(e.name.split("_").pop());e.name=e.name+t}return this.upload(e,{context:"imageEditor"})}.bind(this)).then(function(e){this.setValue(e)}.bind(this));var i=document.createElement("img");var n="/bitrix/images/landing/close.svg";n=BX.util.add_url_param(n,{action:"openImageEditor"});i.src=n+"?"+ +new Date}},{key:"upload",value:function e(i,n){if(i.type&&(i.type.includes("text")||i.type.includes("html"))){BX.Landing.ErrorManager.getInstance().add({type:"error",action:"BAD_IMAGE"});return Promise.reject({type:"error",action:"BAD_IMAGE"})}this.showLoader();var a=t.Type.isStringFilled(i.type)&&i.type.includes("png");var o=t.Type.isStringFilled(i.type)&&i.type.includes("svg");var r=new Promise(function(e){var t=a||o?["2x"]:["1x","2x"];if(this.create2xByDefault===false){var n=document.createElement("img");var r=URL.createObjectURL(i);var l=this.dimensions;n.onload=function(){URL.revokeObjectURL(r);if((this.width>=l.width||this.height>=l.height||this.width>=l.maxWidth||this.height>=l.maxHeight)===false){t=a||o?["2x"]:["1x"]}e(t)};n.src=r}else{e(t)}}.bind(this));return r.then(function(e){var t=function(){if(this.create2xByDefault===false&&BX.Type.isArrayFilled(e)){return e}return a||o?["2x"]:["1x","2x"]}.bind(this)();return this.uploader.setSizes(t).upload(i,n).then(function(e){this.hideLoader();if(t.length===1){return e[0]}return Object.assign({},e[0],{src2x:e[1].src,id2x:e[1].id})}.bind(this))}.bind(this))}}],[{key:"createFileInput",value:function e(i){return t.Dom.create("input",{props:{className:"landing-ui-field-image-dropzone-input"},attrs:{accept:"image/*",type:"file",id:"file_"+i,name:"picture"}})}},{key:"createLinkInput",value:function e(){var t=new o.TextField({id:"path_to_image",placeholder:i.Loc.getMessage("LANDING_IMAGE_UPLOAD_MENU_LINK_LABEL")});t.enableTextOnly();t.layout.hidden=true;return t}},{key:"createDropzone",value:function e(n){return t.Dom.create("label",{props:{className:"landing-ui-field-image-dropzone"},children:[t.Dom.create("div",{props:{className:"landing-ui-field-image-dropzone-text"},html:'<div class="landing-ui-field-image-dropzone-title">'+i.Loc.getMessage("LANDING_IMAGE_DROPZONE_TITLE")+"</div>"+'<div class="landing-ui-field-image-dropzone-subtitle">'+i.Loc.getMessage("LANDING_IMAGE_DROPZONE_SUBTITLE")+"</div>"})],attrs:{for:"file_"+n}})}},{key:"createClearButton",value:function e(){return new l.BaseButton("clear",{className:"landing-ui-field-image-action-button-clear"})}},{key:"createImagePreview",value:function e(){return t.Dom.create("div",{props:{className:"landing-ui-field-image-preview-inner"}})}},{key:"createIcon",value:function e(){return t.Dom.create("span",{props:{className:"landing-ui-field-image-preview-icon"}})}},{key:"createImageLayout",value:function e(){return t.Dom.create("div",{props:{className:"landing-ui-field-image-preview"}})}},{key:"createAltField",value:function e(){var t=new o.TextField({placeholder:i.Loc.getMessage("LANDING_FIELD_IMAGE_ALT_PLACEHOLDER"),className:"landing-ui-field-image-alt",textOnly:true});return t}},{key:"createLeftLayout",value:function e(){return t.Dom.create("div",{props:{className:"landing-ui-field-image-left"}})}},{key:"createAiButton",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return new s.AiImageButton("ai",{text:"CoPilot",className:"landing-ui-field-image-ai-button"+(t?" --compact":"")})}},{key:"createUploadButton",value:function e(){return new l.BaseButton("upload",{text:i.Loc.getMessage("LANDING_FIELD_IMAGE_UPLOAD_BUTTON"),className:"landing-ui-field-image-action-button"})}},{key:"createEditButton",value:function e(){var t=new l.BaseButton("edit",{text:i.Loc.getMessage("LANDING_FIELD_IMAGE_EDIT_BUTTON"),className:"landing-ui-field-image-action-button"});return t}},{key:"createRightLayout",value:function e(){return t.Dom.create("div",{props:{className:"landing-ui-field-image-right"}})}},{key:"createForm",value:function e(){return t.Dom.create("form",{props:{className:"landing-ui-field-image-container"},attrs:{method:"post",enctype:"multipart/form-data"},events:{submit:function e(t){t.preventDefault()}}})}}]);return c}(o.TextField);babelHelpers.defineProperty(c,"CONTEXT_TYPE_CONTENT","content");babelHelpers.defineProperty(c,"CONTEXT_TYPE_STYLE","style");e.Image=c})(this.BX.Landing.UI.Field=this.BX.Landing.UI.Field||{},BX,BX.Landing,BX.Landing,BX.Landing.UI.Panel,BX.Landing.UI.Field,BX.Landing,BX.Landing.UI.Button,BX.Landing.UI.Button,BX.Landing);
//# sourceMappingURL=image.bundle.map.js