%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/home/bitrix/www/bitrix/js/landing/ui/field/
Upload File :
Create Path :
Current File : //proc/self/root/home/bitrix/www/bitrix/js/landing/ui/field/link_field.min.js

(function(){"use strict";BX.namespace("BX.Landing.UI.Field");var t=BX.Landing.Utils.trim;var e=BX.Landing.Utils.clone;var i=BX.Landing.Utils.isPlainObject;var n=BX.Landing.Utils.decodeDataValue;var a=BX.Landing.Utils.fireCustomEvent;var s=BX.Landing.Utils.htmlToElement;var d=BX.Landing.Utils.style;var l=BX.Landing.Utils.escapeText;BX.Landing.UI.Field.Link=function(n){BX.Landing.UI.Field.BaseField.apply(this,arguments);this.options=n.options||{};BX.remove(this.input);this.onValueChangeHandler=n.onValueChange?n.onValueChange:function(){};this.content=i(this.content)?this.content:{};this.content=e(this.content);this.content.text=t(this.content.text);this.content.href=t(l(this.content.href));this.content.target=t(l(this.content.target));this.skipContent=n.skipContent;if(!this.containsImage()&&!this.containsHtml()){this.content.text=l(this.content.text)}this.input=new BX.Landing.UI.Field.Text({placeholder:BX.message("FIELD_LINK_TEXT_LABEL"),selector:this.selector,content:this.content.text,textOnly:true,onValueChange:function(){this.onValueChangeHandler(this);a(this,"BX.Landing.UI.Field:change",[this.getValue()])}.bind(this)});if(this.skipContent){this.input.layout.hidden=true;this.header.hidden=true}this.hrefInput=new BX.Landing.UI.Field.LinkURL({title:BX.message("FIELD_LINK_HREF_LABEL"),placeholder:BX.message("FIELD_LINK_HREF_PLACEHOLDER"),selector:this.selector,content:this.content.href,onInput:this.onHrefInput.bind(this),textOnly:true,options:this.options,disallowType:n.disallowType,disableBlocks:n.disableBlocks,disableCustomURL:n.disableCustomURL,allowedTypes:n.allowedTypes,onValueChange:function(){this.onValueChangeHandler(this);this.noHrefValueChange();a(this,"BX.Landing.UI.Field:change",[this.getValue()])}.bind(this)});this.targetInput=new BX.Landing.UI.Field.DropdownInline({title:BX.message("FIELD_LINK_TARGET_LABEL"),selector:this.selector,className:"landing-ui-field-dropdown-inline",content:this.content.target,items:{_self:BX.message("FIELD_LINK_TARGET_SELF"),_blank:BX.message("FIELD_LINK_TARGET_BLANK"),_popup:BX.message("FIELD_LINK_TARGET_POPUP")},onValueChange:function(){this.onValueChangeHandler(this);a(this,"BX.Landing.UI.Field:change",[this.getValue()])}.bind(this)});this.mediaButton=new BX.Landing.UI.Button.BaseButton(this.selector+"_media",{html:'<span class="fa fa-bolt"></span>&nbsp;'+BX.message("LANDING_CONTENT_URL_MEDIA_BUTTON"),className:"landing-ui-field-link-media",onClick:this.onMediaClick.bind(this)});this.mediaLayout=BX.create("div",{props:{className:"landing-ui-field-link-media-layout"}});this.mediaHelpButton=new BX.Landing.UI.Button.BaseButton(this.selector+"_media_qa",{html:'<span class="fa fa-question-circle"></span>&nbsp;',className:"landing-ui-field-link-media-help"});this.mediaHelpButton.layout.addEventListener("mouseover",this.onMediaHelpButtonMouseover.bind(this));this.mediaHelpButton.layout.addEventListener("mouseout",this.onMediaHelpButtonMouseout.bind(this));if(this.containsImage()||this.containsHtml()){this.input.layout.hidden=true;this.header.hidden=true;this.hrefInput.header.innerHTML=this.header.innerHTML}this.wrapper=BX.Landing.UI.Field.Link.createWrapper();this.left=BX.Landing.UI.Field.Link.createLeft();this.center=BX.Landing.UI.Field.Link.createCenter();this.right=BX.Landing.UI.Field.Link.createRight();this.left.appendChild(this.input.layout);this.center.appendChild(this.hrefInput.layout);this.right.appendChild(this.targetInput.layout);this.right.appendChild(this.mediaButton.layout);this.right.appendChild(this.mediaHelpButton.layout);this.wrapper.appendChild(this.left);this.wrapper.appendChild(this.center);this.wrapper.appendChild(this.right);this.layout.appendChild(this.wrapper);this.layout.appendChild(this.mediaLayout);this.layout.classList.add("landing-ui-field-link");this.adjustVideo()};BX.Landing.UI.Field.Link.createWrapper=function(){return BX.create("div",{props:{className:"landing-ui-field-link-wrapper"}})};BX.Landing.UI.Field.Link.createCenter=function(){return BX.create("div",{props:{className:"landing-ui-field-link-center"}})};BX.Landing.UI.Field.Link.createLeft=function(){return BX.create("div",{props:{className:"landing-ui-field-link-left"}})};BX.Landing.UI.Field.Link.createRight=function(){return BX.create("div",{props:{className:"landing-ui-field-link-right"}})};BX.Landing.UI.Field.Link.prototype={constructor:BX.Landing.UI.Field.Link,__proto__:BX.Landing.UI.Field.BaseField.prototype,superClass:BX.Landing.UI.Field.BaseField,noHrefValueChange:function(){},isChanged:function(){return JSON.stringify(this.content)!==JSON.stringify(this.getValue())},containsImage:function(){return!!BX.create("div",{html:this.content.text}).querySelector("img")},containsHtml:function(){var t=s(this.content.text);return!!t&&!t.matches("br")},getValue:function(){var e={text:n(t(this.input.getValue())),href:t(this.hrefInput.getValue()),target:t(this.targetInput.getValue())};if(this.isAvailableMedia()&&this.isEnabledMedia()){e.attrs={"data-url":t(this.mediaService.getEmbedURL())}}if(this.hrefInput.getDynamic()){if(!i(e.attrs)){e.attrs={}}if(this.hrefInput.input.firstElementChild){e.attrs["data-url"]=this.hrefInput.input.firstElementChild.getAttribute("data-url")}e.attrs["data-dynamic"]=this.hrefInput.getDynamic()}if(this.skipContent){delete e["text"]}return e},setValue:function(t){if(i(t)){this.input.setValue(l(t.text));this.hrefInput.setValue(t.href);this.targetInput.setValue(l(t.target))}},reset:function(){this.setValue({text:"",href:"",target:"_self"})},enableMedia:function(){this.mediaButton.enable();this.targetInput.disable();this.targetInput.closePopup();this.targetInput.setValue("_popup");this.showMediaPreview()},disableMedia:function(){this.mediaButton.disable();this.targetInput.enable();this.targetInput.closePopup();this.targetInput.setValue(this.content.target);this.hideMediaPreview();this.hideMediaSettings()},isEnabledMedia:function(){return this.mediaButton.isEnabled()},showMediaSettings:function(){if(this.isAvailableMedia()){this.hideMediaSettings();this.mediaSettings=this.mediaService.getSettingsForm();if(this.mediaSettings){this.mediaLayout.appendChild(this.mediaSettings.layout)}}},hideMediaSettings:function(){if(this.mediaSettings){BX.remove(this.mediaSettings.layout)}},isAvailableMedia:function(){var t=new BX.Landing.MediaService.Factory;return!!t.create(this.hrefInput.getValue())},onMediaClick:function(){if(this.isAvailableMedia()){if(!this.isEnabledMedia()){this.enableMedia()}else{this.disableMedia()}}},onMediaHelpButtonMouseover:function(t){BX.Landing.UI.Tool.Suggest.getInstance().show(this.mediaHelpButton.layout,{description:BX.create("div",{props:{className:"landing-ui-field-link-media-help-popup-content"},children:[BX.create("div",{props:{className:"landing-ui-field-link-media-help-popup-content-title"},html:BX.message("LANDING_CONTENT_URL_MEDIA_HELP_TITLE")}),BX.create("div",{props:{className:"landing-ui-field-link-media-help-popup-content-content"},html:BX.message("LANDING_CONTENT_URL_MEDIA_HELP")})]}).outerHTML,angleOffset:53})},onMediaHelpButtonMouseout:function(){BX.Landing.UI.Tool.Suggest.getInstance().hide()},onVideoPreviewClick:function(){$.fancybox.open({src:this.mediaService.getEmbedURL(),type:"iframe",afterShow:function(t,e){var i=e.$slide.find("iframe")[0];void BX.Landing.MediaPlayer.Factory.create(i)}},{iframe:{scrolling:"auto"}})},showMediaPreview:function(){var t=new BX.Loader({target:this.mediaLayout,mode:"inline",offset:{top:"calc(50% - 55px)",left:"calc(50% - 55px)"}});this.video=t.layout;t.show();this.mediaService.getURLPreviewElement().then(function(t){BX.remove(this.video);this.video=t;this.video.title=BX.message("LANDING_CONTENT_URL_PREVIEW_TITLE");this.mediaLayout.appendChild(this.video);this.video.addEventListener("click",this.onVideoPreviewClick.bind(this));this.showMediaSettings()}.bind(this),function(){this.hideMediaSettings();BX.remove(this.video)}.bind(this))},hideMediaPreview:function(){if(this.video){BX.remove(this.video)}},adjustVideo:function(){var t="attrs"in this.content&&"data-url"in this.content.attrs?this.content.attrs["data-url"]:"";var e=new BX.Landing.MediaService.Factory;this.mediaService=e.create(this.hrefInput.getValue(),BX.Landing.Utils.getQueryParams(t));if(this.mediaService){this.mediaService.url=this.hrefInput.getValue();this.disableMedia();if(this.isAvailableMedia()){this.enableMedia()}}else{this.disableMedia()}},onHrefInput:function(){this.adjustVideo()}}})();

Zerion Mini Shell 1.0