@rocketspark/domain-checker
Version:
Embeddable Domain Checker for Rocketspark
13 lines • 9.07 kB
JavaScript
/*!
*
* @rocketspark/domain-checker v1.0.12
* git+https://github.com/rocketspark/domain-checker.git
*
* Copyright (c) Lee Reichardt and project contributors.
*
* This source code is licensed under the no license license found in the
* LICENSE file in the root directory of this source tree.
*
*/
"use strict";(self.webpackChunkDomainChecker=self.webpackChunkDomainChecker||[]).push([[835],{7402:function(e,t,s){s.d(t,{d:function(){return l},i:function(){return n},s:function(){return d}});var i=s(6919);const l=(e,t=0)=>{let s;return(...i)=>{clearTimeout(s),s=setTimeout(e,t,...i)}},n=(e,t,s)=>{const l=(void 0!==e.target?e.target:s).tagName.toLowerCase().replace("rs-",""),n=e.detail,d={},a=t.get(l)||{};let h=!1;Object.keys(n).forEach((e=>{if(n[e]){const t=`item-${e}`;a[t]||(h=!0),d[t]=!0}})),h||Object.keys(d).length===Object.keys(a).length||(h=!0),h&&(t.set(l,d),(0,i.f)(s))},d=(e,t,s,i=!1)=>{!t&&!s||i||null!==e&&(e.style.display="block",setTimeout((function(){e.style.opacity="1"}),150))}},1835:function(e,t,s){s.r(t),s.d(t,{rs_link_select:function(){return n}});var i=s(6919),l=s(7402);const n=class{constructor(e){(0,i.r)(this,e),this.rsLinkSelected=(0,i.c)(this,"rsLinkSelected",7),this.data={},this.heading="Add a link",this.hideRemoveLink=!1,this.selectedItem=null,this.linkLabel="Link text",this.allowExternalLinks=!1,this.items={},this.hidden=!0,this.selectedSubtype=null,this._data={},this.subtypes={},this.subtypeHasChanged=!1,this.WEBSITE_TYPE="website",this.selectType=e=>{this.selectedType!==this.types[e.detail.value]&&(this.selectedType=this.types[e.detail.value],this.resetSelectedSubtype())},this.selectSubType=e=>{this.selectedSubtype=e.detail,this.subtypeHasChanged=!0},this.selectLink=e=>{this.selectedLink=this.items[this.selectedType].find((t=>{var s;return(null!==(s=t.subType)&&void 0!==s?s:null)===this.selectedSubtype&&t.value==e.detail}))},this.updateLinkLabel=e=>{this.linkText=e.target.value},this.editWebsiteLink=()=>{this.websiteLink=this.$websiteLinkInput.value},this.handleClose=()=>{this.close(),this.reset()},this.removeLink=()=>{this.rsLinkSelected.emit({type:"",subType:null,value:null,label:null,linkText:null}),this.selectedItem=null,this.close(),this.reset()},this.cancel=()=>{this.close(),this.reset()},this.saveLink=()=>{const e=this.selectedType===this.WEBSITE_TYPE?{type:this.WEBSITE_TYPE,subType:null,value:this.websiteLink,label:this.websiteLink}:this.selectedLink;this.rsLinkSelected.emit(Object.assign(Object.assign({},e),{linkText:this.linkText})),this.close()},this.fetchData=(0,l.d)((e=>{var t;const s=null!==(t=this._data[e])&&void 0!==t?t:null;s&&fetch(s,{headers:{"X-Website-UUID":this.websiteUuid}}).then((e=>e.json())).then((({options:t})=>{this.items=Object.assign({[e]:t},this.items);const s=t.map((e=>{var t;return null!==(t=e.subType)&&void 0!==t?t:null})).filter((e=>!!e)).filter(((e,t,s)=>s.indexOf(e)===t));this.subtypes=Object.assign({[e]:s},this.subtypes),this.resetSelectedSubtype()}))}),1e3)}async open(){this.hidden=!1}async close(){this.hidden=!0}render(){return(0,i.h)("div",{key:"35cccabe5d087d9860ed953020af1e2aee74b82d",class:"container "+(this.hidden?"is-hidden":"")},(0,i.h)("div",{key:"5f6d3033bd73ba6691a6c0768ba83072f19a027b",class:"overlay"}),(0,i.h)("div",{key:"1ad324f0074cdf40cbe2ba79d05daa127e98ac1d",class:"inner"},(0,i.h)("div",{key:"3de0cf73615a6c896113c379197b185441aa1744",class:"head"},(0,i.h)("rs-header",{key:"f85ffd8de232412b254a29d08bae5ab737b3a283",heading:"4"},this.heading),(0,i.h)("rs-icon",{key:"3d4d332fc1ef9ec8575847ebe4636a14e4eb9179",name:"fine-x",size:20,onClick:this.handleClose})),(0,i.h)("div",{key:"1781791da37d0cdd5a3ccbfbe3a988ff1af29b91",class:"body"},(0,i.h)("rs-toggle",{key:"d11665d2f431dbfa46774979ba0ce2f2d39ece82",onToggle:this.selectType,ref:e=>this.$toggle=e},this.types.map((e=>(0,i.h)("rs-toggle-item",null,e.toUpperCase())))),this.renderTypePage(),this.renderLinkText(),(0,i.h)("div",{key:"fb005c4585a32175debca111e5952fcc3d0114e9",class:"buttons"},this.renderRemoveButton(),(0,i.h)("div",{key:"6010598430f56de50a582e118243a8c4ad013cb1",class:"buttons__spacer"}),(0,i.h)("rs-button",{key:"587573897c9989562525a0c493e40312a3addbfd",onClick:this.cancel,color:"grey-light"},"Cancel"),(0,i.h)("rs-button",{key:"7103cd3ecae9e70dddfa8319481cf96ad622864e",onClick:this.saveLink},"Save link")))))}componentWillLoad(){this._data="string"==typeof this.data?JSON.parse(this.data):this.data,this.types=Object.keys(this._data),this.allowExternalLinks&&this.types.push(this.WEBSITE_TYPE),this.selectedItem&&Object.values(this.selectedItem).every((e=>!e))&&(this.selectedItem=null),this.reset()}componentWillRender(){var e;null===(e=this.$toggle)||void 0===e||e.setActivePosition(this.types.indexOf(this.selectedType)),this.hidden||this.selectedType!==this.WEBSITE_TYPE&&(this.items.hasOwnProperty(this.selectedType)||this.fetchData(this.selectedType))}componentDidLoad(){var e;null===(e=this.$toggle)||void 0===e||e.setActivePosition(this.types.indexOf(this.selectedType))}renderLinkText(){return void 0===this.linkText?null:(0,i.h)("div",{class:"link-text"},(0,i.h)("rs-label",{position:"fixed"},this.linkLabel),(0,i.h)("rs-input",{placeholder:this.linkLabel,value:this.linkText,onRsInput:this.updateLinkLabel}))}renderTypePage(){var e,t,s,l;if(this.selectedType===this.WEBSITE_TYPE)return this.renderWebsitePage();if(!this.items.hasOwnProperty(this.selectedType))return(0,i.h)("rs-spinner",{size:"small",color:"grey-300"});const n=null!==(e=this.subtypes[this.selectedType])&&void 0!==e?e:[],d=this.items[this.selectedType].filter((e=>null===this.selectedSubtype||e.subType===this.selectedSubtype));return this.selectLink(new CustomEvent("rsChange",{detail:null===(t=this.selectedItem)||void 0===t?void 0:t.value})),(0,i.h)("div",{class:"page"},(0,i.h)("div",{class:"link-selector"},n.length>0?this.renderSubtype():null,(0,i.h)("rs-dropdown",{key:`${this.selectedType}:${null!==(s=this.selectedSubtype)&&void 0!==s?s:""}`,class:"dropdown is-primary",size:"small",placeholder:"Select an option",searchable:!0,items:d.map((e=>({label:e.label,value:e.value}))),selectedIndex:this.subtypeHasChanged?null:d.map((e=>e.value)).indexOf(null===(l=this.selectedItem)||void 0===l?void 0:l.value),onRsChange:this.selectLink})))}renderWebsitePage(){var e,t;return this.websiteLink=(null===(e=this.selectedItem)||void 0===e?void 0:e.type)===this.WEBSITE_TYPE?this.selectedItem.value:null,(0,i.h)("div",{class:"page"},(0,i.h)("div",{class:"link-selector"},(0,i.h)("rs-input",{placeholder:"https://www.example.com",value:(null===(t=this.selectedItem)||void 0===t?void 0:t.type)===this.WEBSITE_TYPE?this.selectedItem.value:null,onRsInput:this.editWebsiteLink,ref:e=>this.$websiteLinkInput=e})))}renderSubtype(){var e;const t=null!==(e=this.subtypes[this.selectedType])&&void 0!==e?e:[];return(0,i.h)("rs-dropdown",{key:`${this.selectedType}:subtypes`,class:"dropdown is-subtype",size:"small",items:t.map((e=>({label:e[0].toUpperCase()+e.slice(1),value:e}))),selectedIndex:t.indexOf(this.selectedSubtype),onRsChange:this.selectSubType,ref:e=>this.$subtypeDropdown=e})}reset(){var e;this.subtypeHasChanged=!1,this.resetSelectedType(),this.resetSelectedSubtype(),null===(e=this.$subtypeDropdown)||void 0===e||e.clear()}resetSelectedType(){var e;this.selectedItem?this.selectedType=this.selectedItem.type:this.selectedType=this.types[0];const t=this.types.indexOf(this.selectedType);t>-1&&(null===(e=this.$toggle)||void 0===e||e.setActivePosition(t))}resetSelectedSubtype(){var e,t,s;!this.subtypeHasChanged&&this.selectedItem&&this.selectedItem.type===this.selectedType?this.selectedSubtype=null!==(e=this.selectedItem.subType)&&void 0!==e?e:null:this.selectedSubtype=null!==(s=(null!==(t=this.subtypes[this.selectedType])&&void 0!==t?t:[])[0])&&void 0!==s?s:null}renderRemoveButton(){if(!this.hideRemoveLink)return(0,i.h)("rs-button",{onClick:this.removeLink,color:"grey-light"},"Remove link")}};n.style=":host{position:fixed;z-index:100000}*{box-sizing:border-box}.container{display:block}.container.is-hidden{display:none}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--rs-color-grey-light);opacity:0.8}.inner{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:724px;background:var(--rs-color-white);border-radius:10px;box-shadow:var(--rs-shadow-popup)}.head{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--rs-color-light)}.head rs-icon{cursor:pointer}.body{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:24px;padding:24px}.body>*{width:100%}.page{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:24px}.page>*{width:100%}.link-selector{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.dropdown{z-index:1}.dropdown.is-primary{flex:1 1 100%}.dropdown.is-subtype{flex:1 1 15%}.buttons{display:flex;justify-content:space-between;align-items:center;gap:8px}.buttons__spacer{flex-grow:1}"}}]);
//# sourceMappingURL=835.index.js.map