1 line
80 KiB
JavaScript
1 line
80 KiB
JavaScript
|
|
(self["webpackChunk_jupyterlab_application_top"]=self["webpackChunk_jupyterlab_application_top"]||[]).push([[5829,5338,2957,100],{67097:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>gn});var n=r(74848);var s=r(44914);var i=r(12776);var a=r(58156);var o=r.n(a);var l=r(62193);var c=r.n(l);var d=r(44383);var u=r.n(d);var h=r(42072);var m=r.n(h);var p=r(88055);var f=r.n(p);var g=r(23805);var y=r.n(g);var S=r(63560);var x=r.n(S);let v=e=>crypto.getRandomValues(new Uint8Array(e));let b=(e,t,r)=>{let n=(2<<Math.log(e.length-1)/Math.LN2)-1;let s=-~(1.6*n*t/e.length);return(i=t)=>{let a="";while(true){let t=r(s);let o=s|0;while(o--){a+=e[t[o]&n]||"";if(a.length===i)return a}}}};let C=(e,t=21)=>b(e,t,v);let k=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>{t&=63;if(t<36){e+=t.toString(36)}else if(t<62){e+=(t-26).toString(36).toUpperCase()}else if(t>62){e+="-"}else{e+="_"}return e}),"");function F(){return k()}function j(e){return!Array.isArray(e)?[]:e.map((e=>({key:F(),item:e})))}function T(e){if(Array.isArray(e)){return e.map((e=>e.item))}return[]}class O extends s.Component{constructor(e){super(e);this._getNewFormDataRow=()=>{const{schema:e,registry:t}=this.props;const{schemaUtils:r}=t;let n=e.items;if((0,i.isFixedItems)(e)&&(0,i.allowAdditionalItems)(e)){n=e.additionalItems}return r.getDefaultFormState(n)};this.onAddClick=e=>{this._handleAddClick(e)};this.onAddIndexClick=e=>t=>{this._handleAddClick(t,e)};this.onCopyIndexClick=e=>t=>{if(t){t.preventDefault()}const{onChange:r,errorSchema:n}=this.props;const{keyedFormData:s}=this.state;let i;if(n){i={};for(const t in n){const r=parseInt(t);if(r<=e){x()(i,[r],n[t])}else if(r>e){x()(i,[r+1],n[t])}}}const a={key:F(),item:f()(s[e].item)};const o=[...s];if(e!==undefined){o.splice(e+1,0,a)}else{o.push(a)}this.setState({keyedFormData:o,updatedKeyedFormData:true},(()=>r(T(o),i)))};this.onDropIndexClick=e=>t=>{if(t){t.preventDefault()}const{onChange:r,errorSchema:n}=this.props;const{keyedFormData:s}=this.state;let i;if(n){i={};for(const t in n){const r=parseInt(t);if(r<e){x()(i,[r],n[t])}else if(r>e){x()(i,[r-1],n[t])}}}const a=s.filter(((t,r)=>r!==e));this.setState({keyedFormData:a,updatedKeyedFormData:true},(()=>r(T(a),i)))};this.onReorderClick=(e,t)=>r=>{if(r){r.preventDefault();r.currentTarget.blur()}const{onChange:n,errorSchema:s}=this.props;let i;if(s){i={};for(const r in s){const n=parseInt(r);if(n==e){x()(i,[t],s[e])}else if(n==t){x()(i,[e],s[t])}else{x()(i,[r],s[n])}}}const{keyedFormData:a}=this.state;function o(){const r=a.slice();r.splice(e,1);r.splice(t,0,a[e]);return r}const l=o();this.setState({keyedFormData:l},(()=>n(T(l),i)))};this.onChangeForIndex=e=>(t,r,n)=>{const{formData:s,onChange:i,errorSchema:a}=this.props;const o=Array.isArray(s)?s:[];const l=o.map(((r,n)=>{const s=typeof t==="undefined"?null:t;return e===n?s:r}));i(l,a&&a&&{...a,[e]:r},n)};this.onSelectChange=e=>{const{onChange:t,idSchema:r}=this.props;t(e,undefined,r&&r.$id)};const{formData:t=[]}=e;const r=j(t);this.state={keyedFormData:r,updatedKeyedFormData:false}}static getDerivedStateFromProps(e,t){if(t.updatedKeyedFormData){return{updatedKeyedFormData:false}}const r=Array.isArray(e.formData)?e.formData:[];const n=t.keyedFormData||[];const s=r.length===n.length?n.map(((e,t)=>({key:e.key,item:r[t]}))):j(r);return{keyedFormData:s}}get itemTitle(){const{schema:e,registry:t}=this.props;const{translateString:r}=t;return o()(e,[i.ITEMS_KEY,"title"],o()(e,[i.ITEMS_KEY,"description"],r(i.TranslatableString.ArrayItemTitle)))}isItemRequired(e){if(Array.isArray(e.type)){return!e.type.includes("null")}return e.type!=="null"}canAddItem(e){const{schema:t,uiSchema:r,registry:n}=this.props;let{addable:s}=(0,i.getUiOptions)(r,n.globalUiOptions);if(s!==false){if(t.maxItems!==undefined){s=e.length<t.maxItems}else{s=true}}return s}_handleAddClick(e,t){if(e){e.preventDefault()}const{onChange:r,errorSchema:n}=this.props;const{keyedFormData:s}=this.state;let i;if(n){i={};for(const e in n){const r=parseInt(e);if(t===undefined||r<t){x()(i,[r],n[e])}else if(r>=t){x()(i,[r+1],n[e])}}}const a={key:F(),item:this._getNewFormData
|