1 line
7.8 KiB
JavaScript
1 line
7.8 KiB
JavaScript
|
|
(()=>{"use strict";var t,e={7290:(t,e,i)=>{var s=i(2833),n=i(6032);class r{constructor(t,e,i,s,n,r){const a=t.forEach?t:[t],o=`:is(input,select,textarea,button)[name="${e}"]`;for(let t=0;t<a.length;t+=1){const e=a[t];if(e.nodeType===Node.ELEMENT_NODE){if(e.matches(o)){this.input=e;break}{const t=e.querySelector(o);if(t){this.input=t;break}}}}this.idForLabel=i,this.setState(s),this.parentCapabilities=n||new Map,this.options=r}getValue(){return this.input.value}getState(){return this.input.value}setState(t){this.input.value=t}getTextLabel(t){const e=this.getValue();if("string"!=typeof e)return null;const i=t&&t.maxLength;return i&&e.length>i?e.substring(0,i-1)+"…":e}focus(){this.input.focus()}setCapabilityOptions(t,e){Object.assign(this.parentCapabilities.get(t),e)}}class a{constructor(t,e){this.html=t,this.idPattern=e}boundWidgetClass=r;render(t,e,i,s,r,a={}){const o=this.html.replace(/__NAME__/g,e).replace(/__ID__/g,i),l=this.idPattern.replace(/__ID__/g,i),c=document.createElement("div");c.innerHTML=o.trim();const u=Array.from(c.childNodes);t.replaceWith(...u);const h=u.filter((t=>t.nodeType===Node.ELEMENT_NODE));return h.forEach((t=>{(0,n.v)(t)})),"object"==typeof a?.attributes&&Object.entries(a.attributes).forEach((([t,e])=>{h[0].setAttribute(t,e)})),new this.boundWidgetClass(1===h.length?h[0]:u,e,l,s,r,a)}}window.telepath.register("wagtail.widgets.Widget",a);class o extends r{getValue(){return this.input.checked}getState(){return this.input.checked}setState(t){this.input.checked=t}}window.telepath.register("wagtail.widgets.CheckboxInput",class extends a{boundWidgetClass=o});class l{constructor(t,e,i,s){this.element=t,this.name=e,this.idForLabel=i,this.isMultiple=!!this.element.querySelector(`input[name="${e}"][type="checkbox"]`),this.selector=`input[name="${e}"]:checked`,this.setState(s)}getValue(){return this.isMultiple?Array.from(this.element.querySelectorAll(this.selector)).map((t=>t.value)):this.element.querySelector(this.selector)?.value}getState(){return Array.from(this.element.querySelectorAll(this.selector)).map((t=>t.value))}setState(t){const e=this.element.querySelectorAll(`input[name="${this.name}"]`);for(let i=0;i<e.length;i+=1)e[i].checked=t.includes(e[i].value)}focus(){this.element.querySelector(`input[name="${this.name}"]`)?.focus()}}window.telepath.register("wagtail.widgets.RadioSelect",class extends a{boundWidgetClass=l});class c extends r{getTextLabel(){return Array.from(this.input.selectedOptions).map((t=>t.text)).join(", ")}getValue(){return this.input.multiple?Array.from(this.input.selectedOptions).map((t=>t.value)):this.input.value}getState(){return Array.from(this.input.selectedOptions).map((t=>t.value))}setState(t){const e=this.input.options;for(let i=0;i<e.length;i+=1)e[i].selected=t.includes(e[i].value)}}window.telepath.register("wagtail.widgets.Select",class extends a{boundWidgetClass=c});class u{constructor(t,e,i,s){this.widget=t,this.blockDef=e,this.addSibling=i,this.split=s,this.blockMax=i.getBlockMax(e.name),this.icon=e.meta.icon,this.description=e.meta.label,this.type=e.name}render({option:t}){const e="number"==typeof blockMax?` (${this.addSibling.getBlockCount(this.blockDef.name)}/${this.blockMax})`:"";return`${t.description}${e}`}onSelect({editorState:t}){const e=window.draftail.splitState(window.draftail.DraftUtils.removeCommandPalettePrompt(t));e.stateAfter.getCurrentContent().hasText()?setTimeout((()=>{e&&this.split.fn(e.stateBefore,e.stateAfter,e.shouldMoveCommentFn),setTimeout((()=>{this.addSibling.fn({type:this.blockDef.name})}),20)}),50):(this.widget.setState(e.stateBefore),setTimeout((()=>{this.addSibling.fn({type:this.blockDef.name})}),20))}}class h{constructor(t,e){this.widget=t,this.split=e,this.description=(0,s.AP)("Split block")}icon="cut";type="split";onSelect({editorState:t}){const e=window.draftail.splitState(window.draftail.DraftUtils.removeCommandPalettePrompt(t));setTimeout((()=>{e&&this.split.fn(e.stateBefore,e.stateAfter,e.shouldMoveCommentFn)}),50)}}class p{constructor(t,e,i){this.input=t,this.capabilities=new Map(i),this.options=e;const[,s]=draftail.initEdito
|