@nocobase/plugin-block-iframe 1.0.0-alpha.9 → 1.0.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,8 +7,13 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- (function(n,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("@formily/react"),require("antd"),require("react"),require("react-i18next"),require("@formily/shared"),require("@ant-design/icons")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","@formily/react","antd","react","react-i18next","@formily/shared","@ant-design/icons"],t):(n=typeof globalThis!="undefined"?globalThis:n||self,t(n["@nocobase/plugin-block-iframe"]={},n["@nocobase/client"],n.jsxRuntime,n["@formily/react"],n.antd,n.react,n["react-i18next"],n["@formily/shared"],n["@ant-design/icons"]))})(this,function(n,t,a,y,q,M,C,B,w){"use strict";var de=Object.defineProperty,pe=Object.defineProperties;var fe=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var A=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable;var G=(n,t,a)=>t in n?de(n,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[t]=a,P=(n,t)=>{for(var a in t||(t={}))A.call(t,a)&&G(n,a,t[a]);if(T)for(var a of T(t))D.call(t,a)&&G(n,a,t[a]);return n},H=(n,t)=>pe(n,fe(t));var L=(n,t)=>{var a={};for(var y in n)A.call(n,y)&&t.indexOf(y)<0&&(a[y]=n[y]);if(n!=null&&T)for(var y of T(n))t.indexOf(y)<0&&D.call(n,y)&&(a[y]=n[y]);return a};var S=(n,t,a)=>new Promise((y,q)=>{var M=w=>{try{B(a.next(w))}catch(F){q(F)}},C=w=>{try{B(a.throw(w))}catch(F){q(F)}},B=w=>w.done?y(w.value):Promise.resolve(w.value).then(M,C);B((a=a.apply(n,t)).next())});function F(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}/*
10
+ (function(r,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("@formily/antd-v5"),require("@formily/react"),require("antd"),require("react"),require("react-i18next"),require("@formily/shared"),require("@ant-design/icons"),require("@emotion/css")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","@formily/antd-v5","@formily/react","antd","react","react-i18next","@formily/shared","@ant-design/icons","@emotion/css"],e):(r=typeof globalThis!="undefined"?globalThis:r||self,e(r["@nocobase/plugin-block-iframe"]={},r["@nocobase/client"],r.jsxRuntime,r["@formily/antd-v5"],r["@formily/react"],r.antd,r.react,r["react-i18next"],r["@formily/shared"],r["@ant-design/icons"],r["@emotion/css"]))})(this,function(r,e,a,b,O,M,q,F,j,T,J){"use strict";var ye=Object.defineProperty,ge=Object.defineProperties;var xe=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var G=(r,e,a)=>e in r?ye(r,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[e]=a,B=(r,e)=>{for(var a in e||(e={}))_.call(e,a)&&G(r,a,e[a]);if(N)for(var a of N(e))W.call(e,a)&&G(r,a,e[a]);return r},A=(r,e)=>ge(r,xe(e));var Q=(r,e)=>{var a={};for(var b in r)_.call(r,b)&&e.indexOf(b)<0&&(a[b]=r[b]);if(r!=null&&N)for(var b of N(r))e.indexOf(b)<0&&W.call(r,b)&&(a[b]=r[b]);return a};var P=(r,e,a)=>new Promise((b,O)=>{var M=j=>{try{F(a.next(j))}catch(T){O(T)}},q=j=>{try{F(a.throw(j))}catch(T){O(T)}},F=j=>j.done?b(j.value):Promise.resolve(j.value).then(M,q);F((a=a.apply(r,e)).next())});function K(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}/*
11
11
  object-assign
12
12
  (c) Sindre Sorhus
13
13
  @license MIT
14
- */var N=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;function V(r){if(r==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(r)}function J(){try{if(!Object.assign)return!1;var r=new String("abc");if(r[5]="de",Object.getOwnPropertyNames(r)[0]==="5")return!1;for(var l={},e=0;e<10;e++)l["_"+String.fromCharCode(e)]=e;var f=Object.getOwnPropertyNames(l).map(function(g){return l[g]});if(f.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(g){i[g]=g}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch(g){return!1}}var K=J()?Object.assign:function(r,l){for(var e,f=V(r),i,g=1;g<arguments.length;g++){e=Object(arguments[g]);for(var b in e)R.call(e,b)&&(f[b]=e[b]);if(N){i=N(e);for(var m=0;m<i.length;m++)_.call(e,i[m])&&(f[i[m]]=e[i[m]])}}return f};const Q=F(K),W=({url:r,allowFullScreen:l,position:e,display:f,height:i,width:g,overflow:b,styles:m,onLoad:j,onMouseOver:O,onMouseOut:k,scrolling:c,id:s,frameBorder:u,ariaHidden:d,sandbox:h,allow:o,className:x,title:p,ariaLabel:re,ariaLabelledby:ne,name:oe,target:ie,loading:ae,importance:le,referrerpolicy:se,allowpaymentrequest:me,src:ce,key:ue})=>{const E=Q({src:ce||r,target:ie||null,style:{position:e||null,display:f||"initial",overflow:b||null},scrolling:c||null,allowpaymentrequest:me||null,importance:le||null,sandbox:h&&[...h].join(" ")||null,loading:ae||null,styles:m||null,name:oe||null,className:x||null,allowFullScreen:"allowFullScreen",referrerpolicy:se||null,title:p||null,allow:o||null,id:s||null,"aria-labelledby":ne||null,"aria-hidden":d||null,"aria-label":re||null,width:g||null,height:i||null,onLoad:j||null,onMouseOver:O||null,onMouseOut:k||null,key:ue||"iframe"});let I=Object.create(null);for(let v of Object.keys(E))E[v]!=null&&(I[v]=E[v]);for(let v of Object.keys(I.style))I.style[v]==null&&delete I.style[v];if(I.styles)for(let v of Object.keys(I.styles))I.styles.hasOwnProperty(v)&&(I.style[v]=I.styles[v]),Object.keys(I.styles).pop()==v&&delete I.styles;if(l)if("allow"in I){const v=I.allow.replace("fullscreen","");I.allow=`fullscreen ${v.trim()}`.trim()}else I.allow="fullscreen";return u>=0&&(I.style.hasOwnProperty("border")||(I.style.border=u)),M.createElement("iframe",Object.assign({},I))},X=()=>{const r=y.useField(),l=y.useFieldSchema(),{t:e}=C.useTranslation(),{dn:f}=t.useDesignable(),i=t.useAPIClient(),{mode:g,url:b,htmlId:m,height:j="60vh"}=l["x-component-props"]||{},O=c=>S(this,null,function*(){var u,d,h,o,x;const s={values:{html:c}};if(m){const{data:p}=yield(d=(u=i.resource("iframeHtml")).update)==null?void 0:d.call(u,H(P({},s),{filterByTk:m}));return((h=p==null?void 0:p.data)==null?void 0:h[0])||{id:m}}else{const{data:p}=yield(x=(o=i.resource("iframeHtml")).create)==null?void 0:x.call(o,s);return p==null?void 0:p.data}}),k=h=>S(this,[h],function*({mode:c,url:s,html:u,height:d}){const o=l["x-component-props"]||{};if(o.mode=c,o.height=d,o.url=s,c==="html"){const x=yield O(u);o.htmlId=x.id}l["x-component-props"]=o,r.componentProps=P({},o),r.data={v:B.uid()},f.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":o}})});return a.jsxs(t.GeneralSchemaDesigner,{children:[a.jsx(t.SchemaSettingsModalItem,{title:e("Edit iframe"),asyncGetInitialValues:()=>S(this,null,function*(){var s,u,d;const c={mode:g,url:b,height:j};if(m){const{data:h}=yield(u=(s=i.resource("iframeHtml")).get)==null?void 0:u.call(s,{filterByTk:m});c.html=((d=h==null?void 0:h.data)==null?void 0:d.html)||""}return c}),schema:{type:"object",title:e("Edit iframe"),properties:{mode:{title:'{{t("Mode")}}',"x-component":"Radio.Group","x-decorator":"FormItem",required:!0,default:"url",enum:[{value:"url",label:e("URL")},{value:"html",label:e("html")}]},url:{title:e("URL"),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}},html:{title:e("html"),type:"string","x-decorator":"FormItem","x-component":"Input.TextArea",required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "url"}}'}}}},height:{title:e("Height"),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},onSubmit:k}),a.jsx(t.SchemaSettingsDivider,{}),a.jsx(t.SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};function $(r){return typeof r!="string"?!1:!isNaN(r)&&!isNaN(parseFloat(r))}const z=y.observer(r=>{const s=r,{url:l,htmlId:e,mode:f="url",height:i,html:g}=s,b=L(s,["url","htmlId","mode","height","html"]),m=y.useField(),{t:j}=C.useTranslation(),{loading:O,data:k}=t.useRequest({url:`iframeHtml:getHtml/${e}`},{refreshDeps:[e,m.data],ready:f==="html"&&!!e}),c=M.useMemo(()=>f==="html"?"data:text/html;charset=utf-8,"+encodeURIComponent(k):l,[k,f,l]);return f==="url"&&!l||f==="html"&&!e?a.jsx(q.Card,{style:{marginBottom:24},children:j("Please fill in the iframe URL")}):O?a.jsx("div",{style:{height:$(i)?`${i}px`:i,marginBottom:"24px",border:0},children:a.jsx(q.Spin,{})}):a.jsx(W,P({url:c,width:"100%",display:"block",position:"relative",styles:{height:$(i)?`${i}px`:i,marginBottom:"24px",border:0}},b))},{displayName:"Iframe"});z.Designer=X;const Y=()=>{const{insert:r}=t.useSchemaInitializer(),l=t.useSchemaInitializerItem();return a.jsx(t.SchemaInitializerItem,H(P({},l),{icon:a.jsx(w.FormOutlined,{}),onClick:()=>{r({type:"void","x-settings":"blockSettings:iframe","x-decorator":"BlockItem","x-decorator-props":{name:"iframe"},"x-component":"Iframe","x-component-props":{}})}}))},Z=r=>a.jsx(t.SchemaComponentOptions,{components:{Iframe:z,IframeBlockInitializer:Y},children:r.children}),ee=new t.SchemaSettings({name:"iframeBlockSchemaSettings",items:[{name:"EditIframe",type:"modal",useComponentProps(){const r=y.useField(),l=y.useFieldSchema(),{t:e}=C.useTranslation(),{dn:f}=t.useDesignable(),i=t.useAPIClient(),{mode:g,url:b,htmlId:m,height:j="60vh"}=l["x-component-props"]||{},O=c=>S(this,null,function*(){var u,d,h,o,x;const s={values:{html:c}};if(m){const{data:p}=yield(d=(u=i.resource("iframeHtml")).update)==null?void 0:d.call(u,H(P({},s),{filterByTk:m}));return((h=p==null?void 0:p.data)==null?void 0:h[0])||{id:m}}else{const{data:p}=yield(x=(o=i.resource("iframeHtml")).create)==null?void 0:x.call(o,s);return p==null?void 0:p.data}}),k=h=>S(this,[h],function*({mode:c,url:s,html:u,height:d}){const o=l["x-component-props"]||{};if(o.mode=c,o.height=d,o.url=s,c==="html"){const x=yield O(u);o.htmlId=x.id}l["x-component-props"]=o,r.componentProps=P({},o),r.data={v:B.uid()},f.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":o}})});return{title:e("Edit iframe"),asyncGetInitialValues:()=>S(this,null,function*(){var s,u,d;const c={mode:g,url:b,height:j};if(m){const{data:h}=yield(u=(s=i.resource("iframeHtml")).get)==null?void 0:u.call(s,{filterByTk:m});c.html=((d=h==null?void 0:h.data)==null?void 0:d.html)||""}return c}),schema:{type:"object",title:e("Edit iframe"),properties:{mode:{title:'{{t("Mode")}}',"x-component":"Radio.Group","x-decorator":"FormItem",required:!0,default:"url",enum:[{value:"url",label:e("URL")},{value:"html",label:e("html")}]},url:{title:e("URL"),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}},html:{title:e("html"),type:"string","x-decorator":"FormItem","x-component":"Input.TextArea",required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "url"}}'}}}},height:{title:e("Height"),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},onSubmit:k}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),te=new t.SchemaSettings({name:"blockSettings:iframe",items:[{name:"EditIframe",type:"modal",useComponentProps(){const r=y.useField(),l=y.useFieldSchema(),{t:e}=C.useTranslation(),{dn:f}=t.useDesignable(),i=t.useAPIClient(),{mode:g,url:b,htmlId:m,height:j="60vh"}=l["x-component-props"]||{},O=c=>S(this,null,function*(){var u,d,h,o,x;const s={values:{html:c}};if(m){const{data:p}=yield(d=(u=i.resource("iframeHtml")).update)==null?void 0:d.call(u,H(P({},s),{filterByTk:m}));return((h=p==null?void 0:p.data)==null?void 0:h[0])||{id:m}}else{const{data:p}=yield(x=(o=i.resource("iframeHtml")).create)==null?void 0:x.call(o,s);return p==null?void 0:p.data}}),k=h=>S(this,[h],function*({mode:c,url:s,html:u,height:d}){const o=l["x-component-props"]||{};if(o.mode=c,o.height=d,o.url=s,c==="html"){const x=yield O(u);o.htmlId=x.id}l["x-component-props"]=o,r.componentProps=P({},o),r.data={v:B.uid()},f.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":o}})});return{title:e("Edit iframe"),asyncGetInitialValues:()=>S(this,null,function*(){var s,u,d;const c={mode:g,url:b,height:j};if(m){const{data:h}=yield(u=(s=i.resource("iframeHtml")).get)==null?void 0:u.call(s,{filterByTk:m});c.html=((d=h==null?void 0:h.data)==null?void 0:d.html)||""}return c}),schema:{type:"object",title:e("Edit iframe"),properties:{mode:{title:'{{t("Mode")}}',"x-component":"Radio.Group","x-decorator":"FormItem",required:!0,default:"url",enum:[{value:"url",label:e("URL")},{value:"html",label:e("html")}]},url:{title:e("URL"),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}},html:{title:e("html"),type:"string","x-decorator":"FormItem","x-component":"Input.TextArea",required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "url"}}'}}}},height:{title:e("Height"),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},onSubmit:k}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]});class U extends t.Plugin{load(){return S(this,null,function*(){this.app.schemaSettingsManager.add(ee),this.app.schemaSettingsManager.add(te),this.app.use(Z);const l=this.app.schemaInitializerManager.get("page:addBlock");l==null||l.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"});const e=this.app.schemaInitializerManager.get("popup:addNew:addBlock");e==null||e.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"});const f=this.app.schemaInitializerManager.get("popup:common:addBlock");f==null||f.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"});const i=this.app.schemaInitializerManager.get("RecordFormBlockInitializers");i==null||i.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"}),this.app.schemaInitializerManager.addItem("mobilePage:addBlock","otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"})})}}n.PluginBlockIframeClient=U,n.default=U,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
14
+ */var z=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;function Z(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function ee(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var n={},t=0;t<10;t++)n["_"+String.fromCharCode(t)]=t;var l=Object.getOwnPropertyNames(n).map(function(f){return n[f]});if(l.join("")!=="0123456789")return!1;var s={};return"abcdefghijklmnopqrst".split("").forEach(function(f){s[f]=f}),Object.keys(Object.assign({},s)).join("")==="abcdefghijklmnopqrst"}catch(f){return!1}}var te=ee()?Object.assign:function(o,n){for(var t,l=Z(o),s,f=1;f<arguments.length;f++){t=Object(arguments[f]);for(var v in t)X.call(t,v)&&(l[v]=t[v]);if(z){s=z(t);for(var m=0;m<s.length;m++)Y.call(t,s[m])&&(l[s[m]]=t[s[m]])}}return l};const re=K(te),oe=({url:o,allowFullScreen:n,position:t,display:l,height:s,width:f,overflow:v,styles:m,onLoad:H,onMouseOver:V,onMouseOut:k,scrolling:w,id:y,frameBorder:g,ariaHidden:u,sandbox:p,allow:c,className:x,title:d,ariaLabel:i,ariaLabelledby:C,name:I,target:ce,loading:me,importance:pe,referrerpolicy:de,allowpaymentrequest:ue,src:fe,key:he})=>{const $=re({src:fe||o,target:ce||null,style:{position:t||null,display:l||"initial",overflow:v||null},scrolling:w||null,allowpaymentrequest:ue||null,importance:pe||null,sandbox:p&&[...p].join(" ")||null,loading:me||null,styles:m||null,name:I||null,className:x||null,allowFullScreen:"allowFullScreen",referrerpolicy:de||null,title:d||null,allow:c||null,id:y||null,"aria-labelledby":C||null,"aria-hidden":u||null,"aria-label":i||null,width:f||null,height:s||null,onLoad:H||null,onMouseOver:V||null,onMouseOut:k||null,key:he||"iframe"});let h=Object.create(null);for(let S of Object.keys($))$[S]!=null&&(h[S]=$[S]);for(let S of Object.keys(h.style))h.style[S]==null&&delete h.style[S];if(h.styles)for(let S of Object.keys(h.styles))h.styles.hasOwnProperty(S)&&(h.style[S]=h.styles[S]),Object.keys(h.styles).pop()==S&&delete h.styles;if(n)if("allow"in h){const S=h.allow.replace("fullscreen","");h.allow=`fullscreen ${S.trim()}`.trim()}else h.allow="fullscreen";return g>=0&&(h.style.hasOwnProperty("border")||(h.style.border=g)),q.createElement("iframe",Object.assign({},h))},ne=()=>{const o=O.useField(),n=O.useFieldSchema(),{t}=F.useTranslation(),{dn:l}=e.useDesignable(),s=e.useAPIClient(),{mode:f,url:v,htmlId:m,height:H="60vh"}=n["x-component-props"]||{},V=u=>P(this,null,function*(){var c,x,d,i,C;const p={values:{html:u}};if(m){const{data:I}=yield(x=(c=s.resource("iframeHtml")).update)==null?void 0:x.call(c,A(B({},p),{filterByTk:m}));return((d=I==null?void 0:I.data)==null?void 0:d[0])||{id:m}}else{const{data:I}=yield(C=(i=s.resource("iframeHtml")).create)==null?void 0:C.call(i,p);return I==null?void 0:I.data}}),k=d=>P(this,[d],function*({mode:u,url:p,html:c,height:x}){const i=n["x-component-props"]||{};if(i.mode=u,i.height=x,i.url=p,u==="html"){const C=yield V(c);i.htmlId=C.id}n["x-component-props"]=i,o.componentProps=B({},i),o.data={v:j.uid()},l.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":i}})}),{form:w}=e.useFormBlockContext(),y=e.useRecord(),g=e.useVariableOptions({collectionField:{uiSchema:n},form:w,record:y,uiSchema:n,noDisabled:!0});return a.jsxs(e.GeneralSchemaDesigner,{children:[a.jsx(e.SchemaSettingsModalItem,{title:t("Edit iframe"),asyncGetInitialValues:()=>P(this,null,function*(){var p,c,x;const u={mode:f,url:v,height:H};if(m){const{data:d}=yield(c=(p=s.resource("iframeHtml")).get)==null?void 0:c.call(p,{filterByTk:m});u.html=((x=d==null?void 0:d.data)==null?void 0:x.html)||""}return u}),schema:{type:"object",title:t("Edit iframe"),properties:{mode:{title:'{{t("Mode")}}',"x-component":"Radio.Group","x-decorator":"FormItem",required:!0,default:"url",enum:[{value:"url",label:t("URL")},{value:"html",label:t("HTML")}]},url:{title:t("URL"),type:"string","x-decorator":"FormItem","x-component":"Variable.TextArea","x-component-props":{scope:g},required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}},html:{title:t("html"),type:"string","x-decorator":"FormItem","x-component":"Variable.RawTextArea","x-component-props":{scope:g,style:{minHeight:"200px"}},required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "url"}}'}}}},height:{title:t("Height"),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},onSubmit:k}),a.jsx(e.SchemaSettingsDivider,{}),a.jsx(e.SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};function E(o){return typeof o!="string"?!1:!isNaN(o)&&!isNaN(parseFloat(o))}const D=O.observer(o=>{const x=o,{url:n,htmlId:t,mode:l="url",height:s,html:f,params:v}=x,m=Q(x,["url","htmlId","mode","height","html","params"]),H=O.useField(),{t:V}=F.useTranslation(),k=e.useBlockHeight()||s,w=e.useVariables(),y=e.useLocalVariables(),{loading:g,data:u}=e.useRequest({url:`iframeHtml:getHtml/${t}`},{refreshDeps:[t,H.data],ready:l==="html"&&!!t}),[p,c]=q.useState(null);return q.useEffect(()=>{P(this,null,function*(){if(l==="html"){const i=yield e.replaceVariableValue(u,w,y),I="data:text/html;charset=utf-8,"+encodeURIComponent(i);c(I)}else try{const i=yield e.replaceVariableValue(n,w,y),C=yield e.parseVariablesAndChangeParamsToQueryString({searchParams:v||[],variables:w,localVariables:y,replaceVariableValue:e.replaceVariableValue}),I=e.appendQueryStringToUrl(i,C);c(I)}catch(i){console.error("Error fetching target URL:",i),c("fallback-url")}})},[u,l,n,w,y,v]),l==="url"&&!n||l==="html"&&!t?a.jsx(M.Card,{style:{marginBottom:24,height:E(k)?`${k}px`:k},children:V("Please fill in the iframe URL")}):g&&!p?a.jsx("div",{style:{height:E(s)?`${s}px`:s,marginBottom:"24px",border:0},children:a.jsx(M.Spin,{})}):a.jsx(oe,B({url:p,width:"100%",display:"block",position:"relative",styles:{height:E(k)?`${k}px`:k,marginBottom:"24px",border:0}},m))},{displayName:"Iframe"});D.Designer=ne;const ae=()=>{const{insert:o}=e.useSchemaInitializer(),n=e.useSchemaInitializerItem();return a.jsx(e.SchemaInitializerItem,A(B({},n),{icon:a.jsx(T.FormOutlined,{}),onClick:()=>{o({type:"void","x-settings":"blockSettings:iframe","x-decorator":"BlockItem","x-decorator-props":{name:"iframe"},"x-component":"Iframe","x-component-props":{}})}}))},se=o=>a.jsx(e.SchemaComponentOptions,{components:{Iframe:D,IframeBlockInitializer:ae,ArrayItems:b.ArrayItems},children:o.children}),U=o=>n=>{const t=O.useFieldSchema(),{form:l}=e.useFormBlockContext(),s=e.useRecord(),f=e.useVariableOptions({collectionField:{uiSchema:t},form:l,record:s,uiSchema:t,noDisabled:!0});return a.jsx(o,A(B({},n),{scope:f}))},L={items:[{name:"EditIframe",type:"modal",useComponentProps(){var w;const o=O.useField(),n=O.useFieldSchema(),{t}=F.useTranslation(),{dn:l}=e.useDesignable(),s=e.useAPIClient(),{mode:f,url:v,htmlId:m,height:H="60vh"}=n["x-component-props"]||{},V=y=>P(this,null,function*(){var u,p,c,x,d;const g={values:{html:y}};if(m){const{data:i}=yield(p=(u=s.resource("iframeHtml")).update)==null?void 0:p.call(u,A(B({},g),{filterByTk:m}));return((c=i==null?void 0:i.data)==null?void 0:c[0])||{id:m}}else{const{data:i}=yield(d=(x=s.resource("iframeHtml")).create)==null?void 0:d.call(x,g);return i==null?void 0:i.data}}),k=x=>P(this,[x],function*({mode:y,url:g,html:u,height:p,params:c}){const d=n["x-component-props"]||{};if(d.mode=y,d.height=p,d.params=c,d.url=g,y==="html"){const i=yield V(u);d.htmlId=i.id}n["x-component-props"]=d,o.componentProps=B({},d),o.data={v:j.uid()},l.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":d}})});return{title:t("Edit iframe"),asyncGetInitialValues:()=>P(this,null,function*(){var g,u,p;const y={mode:f,url:v,height:H};if(m){const{data:c}=yield(u=(g=s.resource("iframeHtml")).get)==null?void 0:u.call(g,{filterByTk:m});y.html=((p=c==null?void 0:c.data)==null?void 0:p.html)||""}return y}),schema:{type:"object",title:t("Edit iframe"),properties:{mode:{title:'{{t("Mode")}}',"x-component":"Radio.Group","x-decorator":"FormItem",required:!0,default:"url",enum:[{value:"url",label:t("URL")},{value:"html",label:t("HTML")}]},url:{title:t("URL"),type:"string","x-decorator":"FormItem","x-component":U(e.Variable.TextArea),description:t("Do not concatenate search params in the URL"),required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}},params:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',default:((w=n==null?void 0:n["x-component-props"])==null?void 0:w.params)||[{}],items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%"},className:J.css`
15
+ & > .ant-space-item:first-child,
16
+ & > .ant-space-item:last-child {
17
+ flex-shrink: 0;
18
+ }
19
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":U(e.Variable.TextArea),"x-component-props":{placeholder:'{{t("Value")}}',useTypedConstant:!0,changeOnSelect:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}},html:{title:t("html"),type:"string","x-decorator":"FormItem","x-component":U(e.Variable.RawTextArea),"x-component-props":{rows:10},required:!0,"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "url"}}'}}}}}},onSubmit:k,noRecord:!0}}},{name:"setTheBlockHeight",Component:e.SchemaSettingsBlockHeightItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]},ie=new e.SchemaSettings(B({name:"iframeBlockSchemaSettings"},L)),le=new e.SchemaSettings(B({name:"blockSettings:iframe"},L));class R extends e.Plugin{load(){return P(this,null,function*(){this.app.schemaSettingsManager.add(ie),this.app.schemaSettingsManager.add(le),this.app.use(se);const n=this.app.schemaInitializerManager.get("page:addBlock");n==null||n.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"});const t=this.app.schemaInitializerManager.get("popup:addNew:addBlock");t==null||t.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"});const l=this.app.schemaInitializerManager.get("popup:common:addBlock");l==null||l.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"});const s=this.app.schemaInitializerManager.get("RecordFormBlockInitializers");s==null||s.add("otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"}),this.app.schemaInitializerManager.addItem("mobilePage:addBlock","otherBlocks.iframe",{title:'{{t("Iframe")}}',Component:"IframeBlockInitializer"})})}}r.PluginBlockIframeClient=R,r.default=R,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -10,12 +10,14 @@
10
10
  module.exports = {
11
11
  "@formily/react": "2.3.0",
12
12
  "@formily/shared": "2.3.0",
13
- "@nocobase/client": "1.0.0-alpha.9",
13
+ "@nocobase/client": "1.0.1-alpha.1",
14
14
  "react": "18.2.0",
15
15
  "react-i18next": "11.18.6",
16
16
  "antd": "5.12.8",
17
17
  "@ant-design/icons": "5.2.6",
18
- "@nocobase/server": "1.0.0-alpha.9",
19
- "@nocobase/actions": "1.0.0-alpha.9",
20
- "@nocobase/database": "1.0.0-alpha.9"
18
+ "@formily/antd-v5": "1.1.9",
19
+ "@emotion/css": "11.11.2",
20
+ "@nocobase/server": "1.0.1-alpha.1",
21
+ "@nocobase/actions": "1.0.1-alpha.1",
22
+ "@nocobase/database": "1.0.1-alpha.1"
21
23
  };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "区块:iframe",
5
5
  "description": "Create an iframe block on the page to embed and display external web pages or content.",
6
6
  "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。",
7
- "version": "1.0.0-alpha.9",
7
+ "version": "1.0.1-alpha.1",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/block-iframe",
@@ -25,7 +25,7 @@
25
25
  "@nocobase/server": "1.x",
26
26
  "@nocobase/test": "1.x"
27
27
  },
28
- "gitHead": "562d6ae965317098df05db756d160e03363dcec5",
28
+ "gitHead": "d24aa16987a4068f857ae073fcce18f3cb490660",
29
29
  "keywords": [
30
30
  "Blocks"
31
31
  ]