@earthranger/react-native-jsonforms-formatter 2.0.0-beta.13 → 2.0.0-beta.15
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.
- package/README.md +6 -0
- package/dist/bundle.js +1 -1
- package/dist/v2/generateUISchema.d.ts +0 -12
- package/dist/v2/generateUISchema.d.ts.map +1 -1
- package/dist/v2/generateUISchema.js +17 -159
- package/dist/v2/generateUISchema.js.map +1 -1
- package/dist/v2/index.d.ts +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +1 -1
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/utils.d.ts +1 -1
- package/dist/v2/utils.d.ts.map +1 -1
- package/dist/v2/utils.js +13 -5
- package/dist/v2/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -435,6 +435,12 @@ const V2App = () => {
|
|
|
435
435
|
);
|
|
436
436
|
};
|
|
437
437
|
```
|
|
438
|
+
|
|
439
|
+
## Contributors
|
|
440
|
+
<a href="https://github.com/PADAS/react-native-jsonforms-formatter/graphs/contributors">
|
|
441
|
+
<img src="https://contributors-img.web.app/image?repo=PADAS/react-native-jsonforms-formatter" />
|
|
442
|
+
</a>
|
|
443
|
+
|
|
438
444
|
## Licensing
|
|
439
445
|
|
|
440
446
|
A copy of the license is available in the repository's [LICENSE](LICENSE) file.
|
package/dist/bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==m&&m.toStringTag&&Object.defineProperty(e,m.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{detectSchemaVersion:()=>vt,generateUISchema:()=>Ge,processSchema:()=>bt,v1:()=>r,v2:()=>n,validateJSONSchema:()=>lt});var r={};e.r(r),e.d(r,{generateUISchema:()=>Ge,validateJSONSchema:()=>lt});var n={};e.r(n),e.d(n,{addVersionToUISchemaIteratively:()=>ht,generateUISchema:()=>yt,generateUISchemaWithFlattenedJSON:()=>dt});var i=Object.prototype;const o=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)},a=(c=Object.keys,s=Object,function(e){return c(s(e))});var c,s,u=Object.prototype.hasOwnProperty;const l="object"==typeof global&&global&&global.Object===Object&&global;var p="object"==typeof self&&self&&self.Object===Object&&self;const f=l||p||Function("return this")();var m=f.Symbol;const d=m;var h=Object.prototype,y=h.hasOwnProperty,v=h.toString,b=d?d.toStringTag:void 0;var g=Object.prototype.toString;var O=d?d.toStringTag:void 0;const j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":O&&O in Object(e)?function(e){var t=y.call(e,b),r=e[b];try{e[b]=void 0;var n=!0}catch(e){}var i=v.call(e);return n&&(t?e[b]=r:delete e[b]),i}(e):function(e){return g.call(e)}(e)},S=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},E=function(e){if(!S(e))return!1;var t=j(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},T=f["__core-js_shared__"];var w,A=(w=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||""))?"Symbol(src)_1."+w:"";var C=Function.prototype.toString;const I=function(e){if(null!=e){try{return C.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var k=/^\[object .+?Constructor\]$/,N=Function.prototype,x=Object.prototype,_=N.toString,M=x.hasOwnProperty,F=RegExp("^"+_.call(M).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const L=function(e){return!(!S(e)||function(e){return!!A&&A in e}(e))&&(E(e)?F:k).test(I(e))},D=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return L(r)?r:void 0},P=D(f,"DataView"),H=D(f,"Map"),q=D(f,"Promise"),R=D(f,"Set"),U=D(f,"WeakMap");var J="[object Map]",$="[object Promise]",V="[object Set]",B="[object WeakMap]",W="[object DataView]",z=I(P),X=I(H),G=I(q),K=I(R),Q=I(U),Y=j;(P&&Y(new P(new ArrayBuffer(1)))!=W||H&&Y(new H)!=J||q&&Y(q.resolve())!=$||R&&Y(new R)!=V||U&&Y(new U)!=B)&&(Y=function(e){var t=j(e),r="[object Object]"==t?e.constructor:void 0,n=r?I(r):"";if(n)switch(n){case z:return W;case X:return J;case G:return $;case K:return V;case Q:return B}return t});const Z=Y,ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==j(e)};var re=Object.prototype,ne=re.hasOwnProperty,ie=re.propertyIsEnumerable;const oe=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!ie.call(e,"callee")},ae=Array.isArray,ce=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ue=se&&"object"==typeof module&&module&&!module.nodeType&&module,le=ue&&ue.exports===se?f.Buffer:void 0;const pe=(le?le.isBuffer:void 0)||function(){return!1};var fe={};fe["[object Float32Array]"]=fe["[object Float64Array]"]=fe["[object Int8Array]"]=fe["[object Int16Array]"]=fe["[object Int32Array]"]=fe["[object Uint8Array]"]=fe["[object Uint8ClampedArray]"]=fe["[object Uint16Array]"]=fe["[object Uint32Array]"]=!0,fe["[object Arguments]"]=fe["[object Array]"]=fe["[object ArrayBuffer]"]=fe["[object Boolean]"]=fe["[object DataView]"]=fe["[object Date]"]=fe["[object Error]"]=fe["[object Function]"]=fe["[object Map]"]=fe["[object Number]"]=fe["[object Object]"]=fe["[object RegExp]"]=fe["[object Set]"]=fe["[object String]"]=fe["[object WeakMap]"]=!1;var me="object"==typeof exports&&exports&&!exports.nodeType&&exports,de=me&&"object"==typeof module&&module&&!module.nodeType&&module,he=de&&de.exports===me&&l.process,ye=function(){try{return de&&de.require&&de.require("util").types||he&&he.binding&&he.binding("util")}catch(e){}}(),ve=ye&&ye.isTypedArray;const be=ve?function(e){return function(t){return e(t)}}(ve):function(e){return ee(e)&&ce(e.length)&&!!fe[j(e)]};var ge=Object.prototype.hasOwnProperty;const Oe=function(e){if(null==e)return!0;if(function(e){return null!=e&&ce(e.length)&&!E(e)}(e)&&(ae(e)||"string"==typeof e||"function"==typeof e.splice||pe(e)||be(e)||oe(e)))return!e.length;var t=Z(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(o(e))return!function(e){if(!o(e))return a(e);var t=[];for(var r in Object(e))u.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e).length;for(var r in e)if(ge.call(e,r))return!1;return!0};var je,Se,Ee,Te=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},we="fieldset",Ae="checkboxes",Ce="string";!function(e){e.DateTime="date-time",e.Date="date"}(je||(je={})),function(e){e.DateTime="date-time",e.MultiSelect="multiselect",e.RepeatableField="repeatable-field",e.FormLabel="form-label"}(Se||(Se={})),function(e){e.Header="header"}(Ee||(Ee={}));var Ie,ke=function(e){var t=e.toLowerCase().replace(/[\s\\/\\%]/gi,"_");return"fieldset__title_".concat(t)},Ne=function(e){return new Set(e).size!==e.length},xe=function(e){return De(e)&&e.type===Ae},_e=function(e){return null==e||0===e.trim().length},Me=function(e){return De(e)&&e.type===we&&!Oe(e.title)},Fe=function(e){return De(e)&&e.type===we&&e.items.length>0},Le=function(e){var t,r;return e.type===Ce&&(null===(t=e.enum)||void 0===t?void 0:t.length)>0&&(null===(r=e.inactive_enum)||void 0===r?void 0:r.length)>0},De=function(e){return e instanceof Object},Pe=function(e){return!Oe(e.key)},He=function(e){return 0!==e.length&&void 0!==e.find((function(e){return De(e)&&e&&(e.type||"")===we}))},qe=function(e){return typeof e===Ce},Re=function(e){if("number"==typeof e)return e;if("string"!=typeof e)return e;var t=e.trim();if(""===t)return e;if(/^-?\d+,\d+$/.test(t)){var r=t.replace(",","."),n=parseFloat(r);if(!isNaN(n))return r}return e},Ue=function(e,t,r){void 0===r&&(r=[]),"object"==typeof e&&null!==e&&(t(e,r),Array.isArray(e)?e.forEach((function(e,n){return Ue(e,t,Te(Te([],r,!0),[n.toString()],!1))})):Object.entries(e).forEach((function(e){var n=e[0],i=e[1];return Ue(i,t,Te(Te([],r,!0),[n],!1))})))},Je=function(e){return e.includes(Ae)},$e=function(e){return e.includes("inactive_enum")},Ve=function(e){return e.includes("inactive_titleMap")},Be=function(e){return e.includes("enum")},We=function(){return We=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},We.apply(this,arguments)};!function(e){e.Number="number",e.String="string",e.Array="array"}(Ie||(Ie={}));var ze=function(e,t,r){return void 0===r&&(r={}),We({type:"Control",scope:"#/properties/".concat(e),label:t},r&&{options:r})},Xe=function(e,t,r){void 0===r&&(r=void 0);try{var n=r||t.definition.find((function(t){return t.key===e}));if("date-time-picker json-schema"===n.fieldHtmlClass||n&&"datetime"===(n.type||""))return"date"===t.schema.properties[e].format?je.Date:je.DateTime;if("date-picker json-schema"===n.fieldHtmlClass||"date"===t.schema.properties[e].format)return je.Date}catch(e){return}},Ge=function(e){var t=[];return He(e.definition)?t.push.apply(t,Ke(e)):Object.keys(e.schema.properties).forEach((function(r){var n=Ye(r,e);Oe(n)||t.push(n)})),{type:"Category",elements:t}},Ke=function(e){var t=[];return e.definition.forEach((function(r){if("string"==typeof r)t.push(ze(r,e.schema.properties[r].title||""));else if(r instanceof Object)switch(!0){case function(e){return De(e)&&e.type===we&&0===e.items.length&&!Oe(e.title)}(r):t.push(ze(ke(r.title),r.title,Qe(Se.FormLabel)));break;case Fe(r):r.title&&t.push(ze(ke(r.title),r.title,Qe(Se.FormLabel))),r.items.forEach((function(r){if(r instanceof Object){var n=Ye(r.key||"",e,r);n&&t.push(n)}else if("string"==typeof r){var i=Ye(r,e);i&&t.push(i)}}));break;case Pe(r):var n=Ye(r.key,e);n&&t.push(n)}})),t},Qe=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t=""),Oe(e))return{};var r={format:e};return Oe(t)||(r.display=t),r},Ye=function(e,t,r){void 0===r&&(r=void 0);var n={};switch(t.schema.properties[e].type){case Ie.Number:return ze(e,t.schema.properties[e].title||"");case Ie.String:var i=Xe(e,t,r);return _e(i)?t.schema.properties[e].display&&t.schema.properties[e].display===Ee.Header&&(n=Qe(Se.FormLabel)):n=Qe(Se.DateTime,i),ze(e,t.schema.properties[e].title||"",n);case Ie.Array:return t.schema.properties[e].items.enum&&t.schema.properties[e].items.enumNames?n=Qe(Se.MultiSelect):t.schema.properties[e].items&&(n=Qe(Se.RepeatableField)),ze(e,t.schema.properties[e].title||"",n);case void 0:var o=function(e,t){try{var r=t.definition.find((function(t){return t.key===e}));return"json-schema-checkbox-wrapper"===r.fieldHtmlClass||"checkboxes"===r.type?r:void 0}catch(e){return}}(e,t);return o?(n=Qe(Se.MultiSelect),ze(e,o.title||"",n)):(i=Xe(e,t,r),_e(i)?void 0:(n=Qe(Se.DateTime,i),ze(e,t.schema.properties[e].title||"",n)))}},Ze=function(){return Ze=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ze.apply(this,arguments)},et=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},tt=/[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g,rt=/"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,nt=/"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,it=/"(?=[^"]*(?:"[^"]*)?$)/g,ot=function(e){return{type:"string",readOnly:!0,isHidden:!1,display:Ee.Header,title:e}},at=function(e){return(null==e?void 0:e.isHidden)||!1},ct=function(e){return e.enum.filter((function(t){return!e.inactive_enum.includes(t)}))},st=function(e){return e.titleMap.filter((function(t){return!e.inactive_titleMap.includes(t.value)}))},ut=function(e,t,r,n){var i,o,a,c,s=e.hasCheckboxes,u=e.hasDisabledChoices;if(qe(t)&&r.schema.properties[t])r.schema.properties[t].isHidden=at(r.schema.properties[t]);else{if((De(t)||Pe(t))&&t.key&&r.schema.properties[t.key]&&(r.schema.properties[t.key].isHidden=at(r.schema.properties[t.key])),u&&function(e){var t,r;return De(e)&&e.type===Ae&&(null===(t=e.inactive_titleMap)||void 0===t?void 0:t.length)>0&&(null===(r=e.titleMap)||void 0===r?void 0:r.length)>0}(t))if(n){var l=r.definition.indexOf(n),p=r.definition[l].items.indexOf(t);r.definition[l].items[p].titleMap=st(t)}else r.definition[r.definition.indexOf(t)].titleMap=st(t);s&&xe(t)&&(r.schema.properties[t.key]=(i=t,o=r.schema.properties[t.key].title||"",a=r.schema.properties[t.key].required||!1,c=r.schema.properties[t.key].default||!1,Ze(Ze(Ze({type:"array",uniqueItems:!0,isHidden:!1},a&&{required:a}),{title:o||i.title,items:{enum:i.titleMap.map((function(e){return e.value})),enumNames:i.titleMap.map((function(e){return e.name}))}}),c&&{default:c})))}},lt=function(e){var t;e=function(e){if(null!==e.match(tt))throw Error("Special characters not supported in JSON Schema");return(e=(e=(e=(e=(e=e.replace(/([“”])/g,'"')).replace(new RegExp('\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"enum": ["0"]')).replace(new RegExp('\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}',"g"),'"enumNames": {"0":"No Options"}')).replace(new RegExp('\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"titleMap": [{"value":"no_option", "name":"No Option"}]')).replace(rt,(function(e){return e.replace(it,"")}))).replace(nt,(function(e){return e.replace(it,"")}))}(e);var r=JSON.parse(e);delete r.schema.$schema,delete r.schema.id,function(e){if(e.schema.definition){var t=e.schema.definition;delete e.schema.definition,e.definition=t}}(r);var n=function(e){return{hasCheckboxes:Je(e),hasInactiveChoices:$e(e),hasDisabledChoices:Ve(e),hasEnums:Be(e)}}(e);if(function(e){Ue(e,(function(e){"object"===e.type&&e.properties&&Object.entries(e.properties).forEach((function(e){var t=e[1];"number"===t.type&&(void 0!==t.default&&(t.default=Re(t.default)),void 0!==t.minimum&&(t.minimum=Re(t.minimum)),void 0!==t.maximum&&(t.maximum=Re(t.maximum)))}))}))}(r.schema),function(e,t){var r=e.hasInactiveChoices,n=e.hasEnums;if(r)for(var i=0,o=Object.keys(t.schema.properties);i<o.length;i++){var a=o[i],c=t.schema.properties[a];Le(c)&&(t.schema.properties[a].enum=ct(c),Oe(t.schema.properties[a].enum)&&(t.schema.properties[a].enum=["0"],t.schema.properties[a].enumNames={0:"No Options"}))}if(n)for(var s=0,u=Object.keys(t.schema.properties);s<u.length;s++)if(a=u[s],!Oe(t.schema.properties[a].enum)&&Ne(t.schema.properties[a].enum))throw new Error("Duplicated enum items")}(n,r),function(e,t){var r;if(He(t.definition))!function(e,t){for(var r=0,n=t.definition;r<n.length;r++){var i=n[r];switch(!0){case qe(i):break;case Me(i):var o=ke(i.title);t.schema.properties[o]=ot(i.title);break;case Fe(i):for(var a=0,c=i.items;a<c.length;a++){var s=c[a];ut(e,s,t,i)}break;case xe(i):ut(e,i,t)}}}(e,t);else if((null===(r=t.definition)||void 0===r?void 0:r.length)>0)for(var n=0,i=t.definition;n<i.length;n++){var o=i[n];ut(e,o,t)}}(n,r),e.includes("helpvalue")&&function(e){for(var t={},r=0,n=0,i=e.definition;n<i.length;n++){var o=i[n];if(qe(o))t[o]=e.schema.properties[o],delete e.schema.properties[o];else if(De(o))if(o.helpvalue){var a="help_value_".concat(r);r+=1,t[a]=ot((o.helpvalue||"").replace(/(<.+?>)/g,""))}else o.key&&(t[o.key]=e.schema.properties[o.key],delete e.schema.properties[o.key])}e.schema.properties=Object.assign(t,e.schema.properties)}(r),e.includes("required")){if((null===(t=r.schema.required)||void 0===t?void 0:t.length)>0&&Ne(r.schema.required))throw new Error("Duplicated required properties");r.schema=function(e){var t=Array.isArray(e.required)?et([],e.required,!0):null;return Ue(e,(function(e,r){if("object"===e.type&&e.properties){var n=[];if(Object.entries(e.properties).forEach((function(e){var t=e[0],r=e[1];(function(e){return"true"===e.required||e.required>0})(r)&&(n.push(t),delete r.required)})),Oe(n))r.length>0&&e.required&&delete e.required;else if(0===r.length&&t){var i=et(et([],t,!0),n,!0);e.required=Array.from(new Set(i))}else e.required=n}})),e}(r.schema)}return r},pt=function(e,t){return{type:"Label",text:t.label,options:{size:t.size}}},ft=function(){return ft=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},ft.apply(this,arguments)},mt=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},dt=function(e){var t=function(e){var t=JSON.parse(JSON.stringify(e));return Object.entries(t.json.properties).forEach((function(e){var r,n=e[0],i=e[1],o=t.ui.fields[n];if("CHOICE_LIST"===(null==o?void 0:o.type)){var a=i;if("array"===a.type&&(null===(r=a.items)||void 0===r?void 0:r.anyOf)){var c=a.items.anyOf.map((function(e){return e.oneOf||[]})).flat();console.log("Flattening array choice list ".concat(n,": ").concat(c.length," total choices")),console.log("Original structure had ".concat(a.items.anyOf.length," anyOf items")),a.items={type:"string",enum:c.map((function(e){return e.const})),enumNames:c.map((function(e){return e.title||e.const}))},console.log("Flattened to enum with ".concat(a.items.enum.length," choices")),delete a.items.anyOf}a.anyOf&&(c=a.anyOf.map((function(e){return e.oneOf||[]})).flat(),console.log("Flattening string choice list ".concat(n,": ").concat(c.length," total choices")),console.log("Original structure had ".concat(a.anyOf.length," anyOf items")),a.enum=c.map((function(e){return e.const})),a.enumNames=c.map((function(e){return e.title||e.const})),console.log("Flattened to enum with ".concat(a.enum.length," choices")),delete a.anyOf)}})),console.log("=== Post-flattening verification ==="),Object.entries(t.json.properties).forEach((function(e){var r,n,i=e[0],o=e[1],a=t.ui.fields[i];if("CHOICE_LIST"===(null==a?void 0:a.type)){var c=o,s=!(!c.anyOf&&!(null===(r=c.items)||void 0===r?void 0:r.anyOf));console.log("".concat(i,": ").concat(s?"❌ STILL HAS anyOf":"✅ Clean"," - ").concat("array"===c.type?"array":"string"," type")),s&&(console.error("ERROR: ".concat(i," still has complex nested structure after flattening!")),console.error("anyOf:",c.anyOf),console.error("items.anyOf:",null===(n=c.items)||void 0===n?void 0:n.anyOf))}})),t}(e);!function(e){var t=[],r=["TEXT","NUMERIC","DATE_TIME","CHOICE_LIST","LOCATION","COLLECTION","ATTACHMENT"];if(Object.entries(e.json.properties).forEach((function(n){var i,o,a=n[0],c=n[1],s=e.ui.fields[a];if(s||!c.deprecated)if(s)if(r.includes(s.type)){if("CHOICE_LIST"===s.type){var u=!1,l=c;"array"===l.type&&(null===(i=l.items)||void 0===i?void 0:i.anyOf)?u=l.items.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)})):"array"===l.type&&(null===(o=l.items)||void 0===o?void 0:o.enum)?u=Array.isArray(l.items.enum):l.anyOf?u=l.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)})):l.enum&&(u=Array.isArray(l.enum)),u||t.push("".concat(a,": CHOICE_LIST field requires embedded oneOf arrays or enum structure - $ref not supported"))}}else t.push("".concat(a,": unsupported field type '").concat(s.type,"'"));else t.push("".concat(a,": missing UI field definition"))})),t.length>0)throw new Error("Invalid V2 schema structure: ".concat(t.join(", ")))}(t);var r,n,i,o=function(e){var t=[];return Object.entries(e.json.properties).forEach((function(r){var n=r[0],i=r[1],o=e.ui.fields[n];(function(e){return!e.deprecated})(i)&&o&&t.push({name:n,property:i,uiField:o})})),t}(t),a=(r=o,n=t.ui.sections,i={},r.forEach((function(e){var t=e.uiField.parent;n[t]&&(i[t]||(i[t]=[]),i[t].push(e))})),i),c=[];t.ui.order.forEach((function(e){var r=t.ui.sections[e],n=a[e]||[],i=n.length>0,o=mt(mt([],r.leftColumn,!0),r.rightColumn,!0).some((function(e){return"header"===e.type&&t.ui.headers[e.name]}));if((null==r?void 0:r.isActive)&&(i||o)){var s=function(e,t,r,n){var i={type:"VerticalLayout",label:t.label,elements:[]},o=[];return t.leftColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=pt(e.name,i);o.push(a)}}})),t.rightColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=pt(e.name,i);o.push(a)}}})),i.elements=o,i}(0,r,n.map((function(e){return function(e,t,r){var n,i={type:"Control",scope:"#/properties/".concat(e),label:t.title,options:{}};switch(r.type){case"TEXT":"LONG_TEXT"===r.inputType&&(i.options.multi=!0),r.placeholder&&(i.options.placeholder=r.placeholder);break;case"NUMERIC":i.options.format="number",r.placeholder&&(i.options.placeholder=r.placeholder);break;case"DATE_TIME":i.options.format=t.format||"date-time",i.options.display=t.format||"date-time";break;case"CHOICE_LIST":"array"===t.type?(i.options.multi=!0,"DROPDOWN"===r.inputType?i.options.format="dropdown":"LIST"===r.inputType&&(i.options.format="checkbox")):"DROPDOWN"===r.inputType?i.options.format="dropdown":"LIST"===r.inputType&&(i.options.format="radio"),r.placeholder&&(i.options.placeholder=r.placeholder);break;case"LOCATION":i.options.format="location",i.options.display="map";break;case"COLLECTION":i.options.format="array",i.options.addButtonText=r.buttonText||"Add Item",r.itemIdentifier&&(i.options.itemIdentifier=r.itemIdentifier),void 0!==t.maxItems&&(i.options.maxItems=t.maxItems),void 0!==t.minItems&&(i.options.minItems=t.minItems),"array"===t.type&&(null===(n=t.items)||void 0===n?void 0:n.properties)&&(i.options.detail=function(e,t){var r;if("array"!==e.type||!(null===(r=e.items)||void 0===r?void 0:r.properties))throw new Error("Collection property must be an array with item properties");var n=e.items.properties,i=[],o=function(e,t){var r={type:"Control",scope:"#/properties/".concat(e),label:t.title||e,options:{}};switch(t.type){case"string":"uri"===t.format&&(r.options.format="file",r.options.accept="image/*");break;case"number":r.options.format="number"}return t.description&&(r.options.description=t.description),r};return t&&(t.leftColumn||t.rightColumn)?(t.leftColumn&&t.leftColumn.forEach((function(e){n[e]&&i.push(o(e,n[e]))})),t.rightColumn&&t.rightColumn.forEach((function(e){n[e]&&i.push(o(e,n[e]))}))):Object.entries(n).forEach((function(e){var t=e[0],r=e[1];i.push(o(t,r))})),{type:"VerticalLayout",elements:i}}(t,r));break;case"ATTACHMENT":i.options.format="file",r.allowableFileTypes&&(i.options.accept=r.allowableFileTypes.join(","))}return t.description&&(i.options.description=t.description),i}(e.name,e.property,e.uiField)})),t.ui.headers);c.push(s)}}));var s={type:"VerticalLayout",elements:c};return{jsonSchema:t.json,uiSchema:s}},ht=function(e,t){if(!e)return e;for(var r=JSON.parse(JSON.stringify(e)),n=[r],i=new Set,o=0;n.length>0&&o<1e4;){var a=n.shift();if(a&&"object"==typeof a){var c=JSON.stringify(a);if(!i.has(c)&&(i.add(c),o++,"Control"===a.type&&(a.options=ft(ft({},a.options),{version:t})),a.elements&&Array.isArray(a.elements)))for(var s=0;s<Math.min(a.elements.length,50);s++){var u=a.elements[s];u&&"object"==typeof u&&n.push(u)}}}return console.log("Processed ".concat(o," UI schema elements for version injection")),r},yt=function(e){return dt(e).uiSchema},vt=function(e){try{var t=JSON.parse(e),r=t.data||t;return r.json&&r.ui?{version:"v2",data:r}:(r.schema&&r.definition||r.schema&&r.ui,{version:"v1",data:r})}catch(e){throw new Error("Invalid JSON schema: ".concat(e instanceof Error?e.message:"Unknown error"))}},bt=function(e){var t=vt(e),r=t.version,n=t.data;return{version:r,processedData:JSON.stringify(n)}};module.exports=t})();
|
|
1
|
+
(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==m&&m.toStringTag&&Object.defineProperty(e,m.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{detectSchemaVersion:()=>yt,generateUISchema:()=>Ge,processSchema:()=>vt,v1:()=>r,v2:()=>n,validateJSONSchema:()=>pt});var r={};e.r(r),e.d(r,{generateUISchema:()=>Ge,validateJSONSchema:()=>pt});var n={};e.r(n),e.d(n,{generateUISchema:()=>ht});var i=Object.prototype;const o=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)},a=(c=Object.keys,s=Object,function(e){return c(s(e))});var c,s,u=Object.prototype.hasOwnProperty;const p="object"==typeof global&&global&&global.Object===Object&&global;var l="object"==typeof self&&self&&self.Object===Object&&self;const f=p||l||Function("return this")();var m=f.Symbol;const d=m;var h=Object.prototype,y=h.hasOwnProperty,v=h.toString,b=d?d.toStringTag:void 0;var g=Object.prototype.toString;var j=d?d.toStringTag:void 0;const O=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":j&&j in Object(e)?function(e){var t=y.call(e,b),r=e[b];try{e[b]=void 0;var n=!0}catch(e){}var i=v.call(e);return n&&(t?e[b]=r:delete e[b]),i}(e):function(e){return g.call(e)}(e)},E=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},T=function(e){if(!E(e))return!1;var t=O(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},w=f["__core-js_shared__"];var k,A=(k=/[^.]+$/.exec(w&&w.keys&&w.keys.IE_PROTO||""))?"Symbol(src)_1."+k:"";var C=Function.prototype.toString;const S=function(e){if(null!=e){try{return C.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var I=/^\[object .+?Constructor\]$/,x=Function.prototype,N=Object.prototype,_=x.toString,M=N.hasOwnProperty,D=RegExp("^"+_.call(M).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const L=function(e){return!(!E(e)||function(e){return!!A&&A in e}(e))&&(T(e)?D:I).test(S(e))},F=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return L(r)?r:void 0},q=F(f,"DataView"),P=F(f,"Map"),H=F(f,"Promise"),R=F(f,"Set"),U=F(f,"WeakMap");var $="[object Map]",V="[object Promise]",J="[object Set]",B="[object WeakMap]",W="[object DataView]",z=S(q),X=S(P),G=S(H),K=S(R),Q=S(U),Y=O;(q&&Y(new q(new ArrayBuffer(1)))!=W||P&&Y(new P)!=$||H&&Y(H.resolve())!=V||R&&Y(new R)!=J||U&&Y(new U)!=B)&&(Y=function(e){var t=O(e),r="[object Object]"==t?e.constructor:void 0,n=r?S(r):"";if(n)switch(n){case z:return W;case X:return $;case G:return V;case K:return J;case Q:return B}return t});const Z=Y,ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==O(e)};var re=Object.prototype,ne=re.hasOwnProperty,ie=re.propertyIsEnumerable;const oe=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!ie.call(e,"callee")},ae=Array.isArray,ce=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ue=se&&"object"==typeof module&&module&&!module.nodeType&&module,pe=ue&&ue.exports===se?f.Buffer:void 0;const le=(pe?pe.isBuffer:void 0)||function(){return!1};var fe={};fe["[object Float32Array]"]=fe["[object Float64Array]"]=fe["[object Int8Array]"]=fe["[object Int16Array]"]=fe["[object Int32Array]"]=fe["[object Uint8Array]"]=fe["[object Uint8ClampedArray]"]=fe["[object Uint16Array]"]=fe["[object Uint32Array]"]=!0,fe["[object Arguments]"]=fe["[object Array]"]=fe["[object ArrayBuffer]"]=fe["[object Boolean]"]=fe["[object DataView]"]=fe["[object Date]"]=fe["[object Error]"]=fe["[object Function]"]=fe["[object Map]"]=fe["[object Number]"]=fe["[object Object]"]=fe["[object RegExp]"]=fe["[object Set]"]=fe["[object String]"]=fe["[object WeakMap]"]=!1;var me="object"==typeof exports&&exports&&!exports.nodeType&&exports,de=me&&"object"==typeof module&&module&&!module.nodeType&&module,he=de&&de.exports===me&&p.process,ye=function(){try{return de&&de.require&&de.require("util").types||he&&he.binding&&he.binding("util")}catch(e){}}(),ve=ye&&ye.isTypedArray;const be=ve?function(e){return function(t){return e(t)}}(ve):function(e){return ee(e)&&ce(e.length)&&!!fe[O(e)]};var ge=Object.prototype.hasOwnProperty;const je=function(e){if(null==e)return!0;if(function(e){return null!=e&&ce(e.length)&&!T(e)}(e)&&(ae(e)||"string"==typeof e||"function"==typeof e.splice||le(e)||be(e)||oe(e)))return!e.length;var t=Z(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(o(e))return!function(e){if(!o(e))return a(e);var t=[];for(var r in Object(e))u.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e).length;for(var r in e)if(ge.call(e,r))return!1;return!0};var Oe,Ee,Te,we=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},ke="fieldset",Ae="checkboxes",Ce="string";!function(e){e.DateTime="date-time",e.Date="date"}(Oe||(Oe={})),function(e){e.DateTime="date-time",e.MultiSelect="multiselect",e.RepeatableField="repeatable-field",e.FormLabel="form-label"}(Ee||(Ee={})),function(e){e.Header="header"}(Te||(Te={}));var Se,Ie=function(e){var t=e.toLowerCase().replace(/[\s\\/\\%]/gi,"_");return"fieldset__title_".concat(t)},xe=function(e){return new Set(e).size!==e.length},Ne=function(e){return Fe(e)&&e.type===Ae},_e=function(e){return null==e||0===e.trim().length},Me=function(e){return Fe(e)&&e.type===ke&&!je(e.title)},De=function(e){return Fe(e)&&e.type===ke&&e.items.length>0},Le=function(e){var t,r;return e.type===Ce&&(null===(t=e.enum)||void 0===t?void 0:t.length)>0&&(null===(r=e.inactive_enum)||void 0===r?void 0:r.length)>0},Fe=function(e){return e instanceof Object},qe=function(e){return!je(e.key)},Pe=function(e){return 0!==e.length&&void 0!==e.find((function(e){return Fe(e)&&e&&(e.type||"")===ke}))},He=function(e){return typeof e===Ce},Re=function(e){if("number"==typeof e)return e;if("string"!=typeof e)return e;var t=e.trim();if(""===t)return e;if(/^-?\d+,\d+$/.test(t)){var r=t.replace(",","."),n=parseFloat(r);if(!isNaN(n))return r}return e},Ue=function(e,t,r){void 0===r&&(r=[]),"object"==typeof e&&null!==e&&(t(e,r),Array.isArray(e)?e.forEach((function(e,n){return Ue(e,t,we(we([],r,!0),[n.toString()],!1))})):Object.entries(e).forEach((function(e){var n=e[0],i=e[1];return Ue(i,t,we(we([],r,!0),[n],!1))})))},$e=function(e){return e.includes(Ae)},Ve=function(e){return e.includes("inactive_enum")},Je=function(e){return e.includes("inactive_titleMap")},Be=function(e){return e.includes("enum")},We=function(){return We=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},We.apply(this,arguments)};!function(e){e.Number="number",e.String="string",e.Array="array"}(Se||(Se={}));var ze=function(e,t,r){return void 0===r&&(r={}),We({type:"Control",scope:"#/properties/".concat(e),label:t},r&&{options:r})},Xe=function(e,t,r){void 0===r&&(r=void 0);try{var n=r||t.definition.find((function(t){return t.key===e}));if("date-time-picker json-schema"===n.fieldHtmlClass||n&&"datetime"===(n.type||""))return"date"===t.schema.properties[e].format?Oe.Date:Oe.DateTime;if("date-picker json-schema"===n.fieldHtmlClass||"date"===t.schema.properties[e].format)return Oe.Date}catch(e){return}},Ge=function(e){var t=[];return Pe(e.definition)?t.push.apply(t,Ke(e)):Object.keys(e.schema.properties).forEach((function(r){var n=Ye(r,e);je(n)||t.push(n)})),{type:"Category",elements:t}},Ke=function(e){var t=[];return e.definition.forEach((function(r){if("string"==typeof r)t.push(ze(r,e.schema.properties[r].title||""));else if(r instanceof Object)switch(!0){case function(e){return Fe(e)&&e.type===ke&&0===e.items.length&&!je(e.title)}(r):t.push(ze(Ie(r.title),r.title,Qe(Ee.FormLabel)));break;case De(r):r.title&&t.push(ze(Ie(r.title),r.title,Qe(Ee.FormLabel))),r.items.forEach((function(r){if(r instanceof Object){var n=Ye(r.key||"",e,r);n&&t.push(n)}else if("string"==typeof r){var i=Ye(r,e);i&&t.push(i)}}));break;case qe(r):var n=Ye(r.key,e);n&&t.push(n)}})),t},Qe=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t=""),je(e))return{};var r={format:e};return je(t)||(r.display=t),r},Ye=function(e,t,r){void 0===r&&(r=void 0);var n={};switch(t.schema.properties[e].type){case Se.Number:return ze(e,t.schema.properties[e].title||"");case Se.String:var i=Xe(e,t,r);return _e(i)?t.schema.properties[e].display&&t.schema.properties[e].display===Te.Header&&(n=Qe(Ee.FormLabel)):n=Qe(Ee.DateTime,i),ze(e,t.schema.properties[e].title||"",n);case Se.Array:return t.schema.properties[e].items.enum&&t.schema.properties[e].items.enumNames?n=Qe(Ee.MultiSelect):t.schema.properties[e].items&&(n=Qe(Ee.RepeatableField)),ze(e,t.schema.properties[e].title||"",n);case void 0:var o=function(e,t){try{var r=t.definition.find((function(t){return t.key===e}));return"json-schema-checkbox-wrapper"===r.fieldHtmlClass||"checkboxes"===r.type?r:void 0}catch(e){return}}(e,t);return o?(n=Qe(Ee.MultiSelect),ze(e,o.title||"",n)):(i=Xe(e,t,r),_e(i)?void 0:(n=Qe(Ee.DateTime,i),ze(e,t.schema.properties[e].title||"",n)))}},Ze=function(){return Ze=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ze.apply(this,arguments)},et=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},tt=/[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g,rt=/"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,nt=/"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,it=/"(?=[^"]*(?:"[^"]*)?$)/g,ot=function(e){return{type:"string",readOnly:!0,isHidden:!1,display:Te.Header,title:e}},at=function(e){return(null==e?void 0:e.isHidden)||!1},ct=function(e){return e.enum.filter((function(t){return!e.inactive_enum.includes(t)}))},st=function(e){return e.titleMap.filter((function(t){return!e.inactive_titleMap.includes(t.value)}))},ut=function(e,t,r,n){var i,o,a,c,s=e.hasCheckboxes,u=e.hasDisabledChoices;if(He(t)&&r.schema.properties[t])r.schema.properties[t].isHidden=at(r.schema.properties[t]);else{if((Fe(t)||qe(t))&&t.key&&r.schema.properties[t.key]&&(r.schema.properties[t.key].isHidden=at(r.schema.properties[t.key])),u&&function(e){var t,r;return Fe(e)&&e.type===Ae&&(null===(t=e.inactive_titleMap)||void 0===t?void 0:t.length)>0&&(null===(r=e.titleMap)||void 0===r?void 0:r.length)>0}(t))if(n){var p=r.definition.indexOf(n),l=r.definition[p].items.indexOf(t);r.definition[p].items[l].titleMap=st(t)}else r.definition[r.definition.indexOf(t)].titleMap=st(t);s&&Ne(t)&&(r.schema.properties[t.key]=(i=t,o=r.schema.properties[t.key].title||"",a=r.schema.properties[t.key].required||!1,c=r.schema.properties[t.key].default||!1,Ze(Ze(Ze({type:"array",uniqueItems:!0,isHidden:!1},a&&{required:a}),{title:o||i.title,items:{enum:i.titleMap.map((function(e){return e.value})),enumNames:i.titleMap.map((function(e){return e.name}))}}),c&&{default:c})))}},pt=function(e){var t;e=function(e){if(null!==e.match(tt))throw Error("Special characters not supported in JSON Schema");return(e=(e=(e=(e=(e=e.replace(/([“”])/g,'"')).replace(new RegExp('\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"enum": ["0"]')).replace(new RegExp('\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}',"g"),'"enumNames": {"0":"No Options"}')).replace(new RegExp('\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"titleMap": [{"value":"no_option", "name":"No Option"}]')).replace(rt,(function(e){return e.replace(it,"")}))).replace(nt,(function(e){return e.replace(it,"")}))}(e);var r=JSON.parse(e);delete r.schema.$schema,delete r.schema.id,function(e){if(e.schema.definition){var t=e.schema.definition;delete e.schema.definition,e.definition=t}}(r);var n=function(e){return{hasCheckboxes:$e(e),hasInactiveChoices:Ve(e),hasDisabledChoices:Je(e),hasEnums:Be(e)}}(e);if(function(e){Ue(e,(function(e){"object"===e.type&&e.properties&&Object.entries(e.properties).forEach((function(e){var t=e[1];"number"===t.type&&(void 0!==t.default&&(t.default=Re(t.default)),void 0!==t.minimum&&(t.minimum=Re(t.minimum)),void 0!==t.maximum&&(t.maximum=Re(t.maximum)))}))}))}(r.schema),function(e,t){var r=e.hasInactiveChoices,n=e.hasEnums;if(r)for(var i=0,o=Object.keys(t.schema.properties);i<o.length;i++){var a=o[i],c=t.schema.properties[a];Le(c)&&(t.schema.properties[a].enum=ct(c),je(t.schema.properties[a].enum)&&(t.schema.properties[a].enum=["0"],t.schema.properties[a].enumNames={0:"No Options"}))}if(n)for(var s=0,u=Object.keys(t.schema.properties);s<u.length;s++)if(a=u[s],!je(t.schema.properties[a].enum)&&xe(t.schema.properties[a].enum))throw new Error("Duplicated enum items")}(n,r),function(e,t){var r;if(Pe(t.definition))!function(e,t){for(var r=0,n=t.definition;r<n.length;r++){var i=n[r];switch(!0){case He(i):break;case Me(i):var o=Ie(i.title);t.schema.properties[o]=ot(i.title);break;case De(i):for(var a=0,c=i.items;a<c.length;a++){var s=c[a];ut(e,s,t,i)}break;case Ne(i):ut(e,i,t)}}}(e,t);else if((null===(r=t.definition)||void 0===r?void 0:r.length)>0)for(var n=0,i=t.definition;n<i.length;n++){var o=i[n];ut(e,o,t)}}(n,r),e.includes("helpvalue")&&function(e){for(var t={},r=0,n=0,i=e.definition;n<i.length;n++){var o=i[n];if(He(o))t[o]=e.schema.properties[o],delete e.schema.properties[o];else if(Fe(o))if(o.helpvalue){var a="help_value_".concat(r);r+=1,t[a]=ot((o.helpvalue||"").replace(/(<.+?>)/g,""))}else o.key&&(t[o.key]=e.schema.properties[o.key],delete e.schema.properties[o.key])}e.schema.properties=Object.assign(t,e.schema.properties)}(r),e.includes("required")){if((null===(t=r.schema.required)||void 0===t?void 0:t.length)>0&&xe(r.schema.required))throw new Error("Duplicated required properties");r.schema=function(e){var t=Array.isArray(e.required)?et([],e.required,!0):null;return Ue(e,(function(e,r){if("object"===e.type&&e.properties){var n=[];if(Object.entries(e.properties).forEach((function(e){var t=e[0],r=e[1];(function(e){return"true"===e.required||e.required>0})(r)&&(n.push(t),delete r.required)})),je(n))r.length>0&&e.required&&delete e.required;else if(0===r.length&&t){var i=et(et([],t,!0),n,!0);e.required=Array.from(new Set(i))}else e.required=n}})),e}(r.schema)}return r},lt=function(e,t,r,n){var i,o={type:"Control",scope:"#/properties/".concat(e),label:t.title,options:{}};switch(r.type){case"TEXT":"LONG_TEXT"===r.inputType&&(o.options.multi=!0),r.placeholder&&(o.options.placeholder=r.placeholder);break;case"NUMERIC":o.options.format="number",r.placeholder&&(o.options.placeholder=r.placeholder);break;case"DATE_TIME":o.options.format=t.format||"date-time",o.options.display=t.format||"date-time";break;case"CHOICE_LIST":"array"===t.type?(o.options.multi=!0,"DROPDOWN"===r.inputType?o.options.format="dropdown":"LIST"===r.inputType&&(o.options.format="checkbox")):"DROPDOWN"===r.inputType?o.options.format="dropdown":"LIST"===r.inputType&&(o.options.format="radio"),r.placeholder&&(o.options.placeholder=r.placeholder);break;case"LOCATION":o.options.format="location",o.options.display="map";break;case"COLLECTION":o.options.format="array",o.options.addButtonText=r.buttonText||"Add Item",r.itemIdentifier&&(o.options.itemIdentifier=r.itemIdentifier),void 0!==t.maxItems&&(o.options.maxItems=t.maxItems),void 0!==t.minItems&&(o.options.minItems=t.minItems),"array"===t.type&&(null===(i=t.items)||void 0===i?void 0:i.properties)&&n&&(o.options.detail=mt(t,r,n));break;case"ATTACHMENT":o.options.format="file",r.allowableFileTypes&&(o.options.accept=r.allowableFileTypes.join(","))}return t.description&&(o.options.description=t.description),o},ft=function(e,t){return{type:"Label",text:t.label,options:{size:t.size}}},mt=function(e,t,r){var n;if("array"!==e.type||!(null===(n=e.items)||void 0===n?void 0:n.properties))throw new Error("Collection property must be an array with item properties");var i=e.items.properties,o=[],a=function(e,t){var n=r.ui.fields[e];if(n)return lt(e,t,n,r);var i={type:"Control",scope:"#/properties/".concat(e),label:t.title||e,options:{}};switch(t.type){case"string":"uri"===t.format&&(i.options.format="file",i.options.accept="image/*");break;case"number":i.options.format="number"}return t.description&&(i.options.description=t.description),i};return t&&(t.leftColumn||t.rightColumn)?(t.leftColumn&&t.leftColumn.forEach((function(e){i[e]&&o.push(a(e,i[e]))})),t.rightColumn&&t.rightColumn.forEach((function(e){i[e]&&o.push(a(e,i[e]))}))):Object.entries(i).forEach((function(e){var t=e[0],r=e[1];o.push(a(t,r))})),{type:"VerticalLayout",elements:o}},dt=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},ht=function(e){!function(e){var t=[],r=["TEXT","NUMERIC","DATE_TIME","CHOICE_LIST","LOCATION","COLLECTION","ATTACHMENT"];if(Object.entries(e.json.properties).forEach((function(n){var i,o=n[0],a=n[1],c=e.ui.fields[o];if(c||!a.deprecated)if(c)if(r.includes(c.type)){if("CHOICE_LIST"===c.type){var s=!1;"array"===a.type&&(null===(i=a.items)||void 0===i?void 0:i.anyOf)?s=a.items.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)})):a.anyOf&&(s=a.anyOf.some((function(e){return e.oneOf&&Array.isArray(e.oneOf)}))),s||t.push("".concat(o,": CHOICE_LIST field requires embedded oneOf arrays - $ref not supported"))}}else t.push("".concat(o,": unsupported field type '").concat(c.type,"'"));else t.push("".concat(o,": missing UI field definition"))})),t.length>0)throw new Error("Invalid V2 schema structure: ".concat(t.join(", ")))}(e);var t,r,n,i=function(e){var t=[];return Object.entries(e.json.properties).forEach((function(r){var n=r[0],i=r[1],o=e.ui.fields[n];(function(e){return!e.deprecated})(i)&&o&&t.push({name:n,property:i,uiField:o})})),t}(e),o=(t=i,r=e.ui.sections,n={},t.forEach((function(e){var t=e.uiField.parent;r[t]&&(n[t]||(n[t]=[]),n[t].push(e))})),n),a=[];return e.ui.order.forEach((function(t){var r=e.ui.sections[t],n=o[t]||[],i=n.length>0,c=dt(dt([],r.leftColumn,!0),r.rightColumn,!0).some((function(t){return"header"===t.type&&e.ui.headers[t.name]}));if((null==r?void 0:r.isActive)&&(i||c)){var s=function(e,t,r,n){var i={type:"VerticalLayout",label:t.label,elements:[]},o=[];return t.leftColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=ft(e.name,i);o.push(a)}}})),t.rightColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=ft(e.name,i);o.push(a)}}})),i.elements=o,i}(0,r,n.map((function(t){var r=t.name,n=t.property,i=t.uiField;return lt(r,n,i,e)})),e.ui.headers);a.push(s)}})),{type:"VerticalLayout",elements:a}},yt=function(e){try{var t=JSON.parse(e),r=t.data||t;return r.json&&r.ui?{version:"v2",data:r}:(r.schema&&r.definition||r.schema&&r.ui,{version:"v1",data:r})}catch(e){throw new Error("Invalid JSON schema: ".concat(e instanceof Error?e.message:"Unknown error"))}},vt=function(e){var t=yt(e),r=t.version,n=t.data;return{version:r,processedData:JSON.stringify(n)}};module.exports=t})();
|
|
@@ -11,17 +11,5 @@ import { V2Schema, JSONFormsUISchema } from '../common/types';
|
|
|
11
11
|
* @returns JSONForms UI schema with single-column VerticalLayout for React Native
|
|
12
12
|
* @throws Error if schema has invalid structure or unsupported field configurations
|
|
13
13
|
*/
|
|
14
|
-
/**
|
|
15
|
-
* Generates both flattened JSON schema and UI schema to prevent JSONForms stack overflow
|
|
16
|
-
*/
|
|
17
|
-
export declare const generateUISchemaWithFlattenedJSON: (schema: V2Schema) => {
|
|
18
|
-
jsonSchema: any;
|
|
19
|
-
uiSchema: JSONFormsUISchema;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Safe version injection utility that prevents stack overflow with large UI schemas
|
|
23
|
-
* Alternative to client's recursive addVersionToUISchema function
|
|
24
|
-
*/
|
|
25
|
-
export declare const addVersionToUISchemaIteratively: (uiSchema: any, version: number) => any;
|
|
26
14
|
export declare const generateUISchema: (schema: V2Schema) => JSONFormsUISchema;
|
|
27
15
|
//# sourceMappingURL=generateUISchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateUISchema.d.ts","sourceRoot":"","sources":["../../src/v2/generateUISchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"generateUISchema.d.ts","sourceRoot":"","sources":["../../src/v2/generateUISchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AA+DzB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,WAAY,QAAQ,KAAG,iBAuCnD,CAAC"}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
2
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
3
|
if (ar || !(i in from)) {
|
|
@@ -19,72 +8,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
19
8
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
9
|
};
|
|
21
10
|
import { createControl, createSectionLayout, getVisibleFields, groupFieldsBySection } from './utils';
|
|
22
|
-
/**
|
|
23
|
-
* Flattens choice list structure to prevent JSONForms stack overflow
|
|
24
|
-
* Similar to web version's flattenChoiceListOptionsFromSchema approach
|
|
25
|
-
*/
|
|
26
|
-
var flattenChoiceListStructure = function (schema) {
|
|
27
|
-
var flattenedSchema = JSON.parse(JSON.stringify(schema)); // Deep clone
|
|
28
|
-
Object.entries(flattenedSchema.json.properties).forEach(function (_a) {
|
|
29
|
-
var _b;
|
|
30
|
-
var fieldName = _a[0], property = _a[1];
|
|
31
|
-
var uiField = flattenedSchema.ui.fields[fieldName];
|
|
32
|
-
if ((uiField === null || uiField === void 0 ? void 0 : uiField.type) === 'CHOICE_LIST') {
|
|
33
|
-
// Cast property to any for dynamic property manipulation
|
|
34
|
-
var propAny = property;
|
|
35
|
-
// Flatten nested anyOf/oneOf structures that cause JSONForms stack overflow
|
|
36
|
-
// Handle array type choice lists (V2 multi-select)
|
|
37
|
-
if (propAny.type === 'array' && ((_b = propAny.items) === null || _b === void 0 ? void 0 : _b.anyOf)) {
|
|
38
|
-
var flatChoices = propAny.items.anyOf
|
|
39
|
-
.map(function (anyOfItem) { return anyOfItem.oneOf || []; })
|
|
40
|
-
.flat();
|
|
41
|
-
console.log("Flattening array choice list ".concat(fieldName, ": ").concat(flatChoices.length, " total choices"));
|
|
42
|
-
console.log("Original structure had ".concat(propAny.items.anyOf.length, " anyOf items"));
|
|
43
|
-
// Replace complex nested structure with simple enum for JSONForms
|
|
44
|
-
propAny.items = {
|
|
45
|
-
type: 'string',
|
|
46
|
-
enum: flatChoices.map(function (choice) { return choice.const; }),
|
|
47
|
-
enumNames: flatChoices.map(function (choice) { return choice.title || choice.const; })
|
|
48
|
-
};
|
|
49
|
-
console.log("Flattened to enum with ".concat(propAny.items.enum.length, " choices"));
|
|
50
|
-
// Remove the problematic anyOf structure
|
|
51
|
-
delete propAny.items.anyOf;
|
|
52
|
-
}
|
|
53
|
-
// Handle string type choice lists (V2 single-select)
|
|
54
|
-
if (propAny.anyOf) {
|
|
55
|
-
var flatChoices = propAny.anyOf
|
|
56
|
-
.map(function (anyOfItem) { return anyOfItem.oneOf || []; })
|
|
57
|
-
.flat();
|
|
58
|
-
console.log("Flattening string choice list ".concat(fieldName, ": ").concat(flatChoices.length, " total choices"));
|
|
59
|
-
console.log("Original structure had ".concat(propAny.anyOf.length, " anyOf items"));
|
|
60
|
-
// Replace complex nested structure with simple enum for JSONForms
|
|
61
|
-
propAny.enum = flatChoices.map(function (choice) { return choice.const; });
|
|
62
|
-
propAny.enumNames = flatChoices.map(function (choice) { return choice.title || choice.const; });
|
|
63
|
-
console.log("Flattened to enum with ".concat(propAny.enum.length, " choices"));
|
|
64
|
-
// Remove the problematic anyOf structure
|
|
65
|
-
delete propAny.anyOf;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
// Final verification - make sure no complex structures remain
|
|
70
|
-
console.log('=== Post-flattening verification ===');
|
|
71
|
-
Object.entries(flattenedSchema.json.properties).forEach(function (_a) {
|
|
72
|
-
var _b, _c;
|
|
73
|
-
var fieldName = _a[0], property = _a[1];
|
|
74
|
-
var uiField = flattenedSchema.ui.fields[fieldName];
|
|
75
|
-
if ((uiField === null || uiField === void 0 ? void 0 : uiField.type) === 'CHOICE_LIST') {
|
|
76
|
-
var propAny = property;
|
|
77
|
-
var hasProblematicStructures = !!(propAny.anyOf || ((_b = propAny.items) === null || _b === void 0 ? void 0 : _b.anyOf));
|
|
78
|
-
console.log("".concat(fieldName, ": ").concat(hasProblematicStructures ? '❌ STILL HAS anyOf' : '✅ Clean', " - ").concat(propAny.type === 'array' ? 'array' : 'string', " type"));
|
|
79
|
-
if (hasProblematicStructures) {
|
|
80
|
-
console.error("ERROR: ".concat(fieldName, " still has complex nested structure after flattening!"));
|
|
81
|
-
console.error('anyOf:', propAny.anyOf);
|
|
82
|
-
console.error('items.anyOf:', (_c = propAny.items) === null || _c === void 0 ? void 0 : _c.anyOf);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
return flattenedSchema;
|
|
87
|
-
};
|
|
88
11
|
/**
|
|
89
12
|
* Validates V2 schema structure for known issues
|
|
90
13
|
*/
|
|
@@ -93,7 +16,7 @@ var validateV2Schema = function (schema) {
|
|
|
93
16
|
var supportedFieldTypes = ['TEXT', 'NUMERIC', 'DATE_TIME', 'CHOICE_LIST', 'LOCATION', 'COLLECTION', 'ATTACHMENT'];
|
|
94
17
|
// Check each field for validity
|
|
95
18
|
Object.entries(schema.json.properties).forEach(function (_a) {
|
|
96
|
-
var _b
|
|
19
|
+
var _b;
|
|
97
20
|
var fieldName = _a[0], property = _a[1];
|
|
98
21
|
var uiField = schema.ui.fields[fieldName];
|
|
99
22
|
// Skip deprecated fields without UI definitions (they won't be rendered anyway)
|
|
@@ -112,32 +35,22 @@ var validateV2Schema = function (schema) {
|
|
|
112
35
|
// Check CHOICE_LIST fields for valid structure (not content)
|
|
113
36
|
if (uiField.type === 'CHOICE_LIST') {
|
|
114
37
|
var hasValidStructure = false;
|
|
115
|
-
|
|
116
|
-
var propAny = property;
|
|
117
|
-
if (propAny.type === 'array' && ((_b = propAny.items) === null || _b === void 0 ? void 0 : _b.anyOf)) {
|
|
38
|
+
if (property.type === 'array' && ((_b = property.items) === null || _b === void 0 ? void 0 : _b.anyOf)) {
|
|
118
39
|
// Check for oneOf arrays in anyOf items for array types (no $ref support)
|
|
119
|
-
hasValidStructure =
|
|
40
|
+
hasValidStructure = property.items.anyOf.some(function (anyOfItem) {
|
|
120
41
|
return anyOfItem.oneOf && Array.isArray(anyOfItem.oneOf);
|
|
121
42
|
} // Empty arrays are valid
|
|
122
43
|
);
|
|
123
44
|
}
|
|
124
|
-
else if (
|
|
125
|
-
// Check for flattened enum structure for array types
|
|
126
|
-
hasValidStructure = Array.isArray(propAny.items.enum);
|
|
127
|
-
}
|
|
128
|
-
else if (propAny.anyOf) {
|
|
45
|
+
else if (property.anyOf) {
|
|
129
46
|
// Check direct anyOf structure for string types (no $ref support)
|
|
130
|
-
hasValidStructure =
|
|
47
|
+
hasValidStructure = property.anyOf.some(function (anyOfItem) {
|
|
131
48
|
return anyOfItem.oneOf && Array.isArray(anyOfItem.oneOf);
|
|
132
49
|
} // Empty arrays are valid
|
|
133
50
|
);
|
|
134
51
|
}
|
|
135
|
-
else if (propAny.enum) {
|
|
136
|
-
// Check for flattened enum structure for string types
|
|
137
|
-
hasValidStructure = Array.isArray(propAny.enum);
|
|
138
|
-
}
|
|
139
52
|
if (!hasValidStructure) {
|
|
140
|
-
invalidFields.push("".concat(fieldName, ": CHOICE_LIST field requires embedded oneOf arrays
|
|
53
|
+
invalidFields.push("".concat(fieldName, ": CHOICE_LIST field requires embedded oneOf arrays - $ref not supported"));
|
|
141
54
|
}
|
|
142
55
|
}
|
|
143
56
|
});
|
|
@@ -157,34 +70,28 @@ var validateV2Schema = function (schema) {
|
|
|
157
70
|
* @returns JSONForms UI schema with single-column VerticalLayout for React Native
|
|
158
71
|
* @throws Error if schema has invalid structure or unsupported field configurations
|
|
159
72
|
*/
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
export var generateUISchemaWithFlattenedJSON = function (schema) {
|
|
164
|
-
// Flatten choice list structures to prevent JSONForms stack overflow
|
|
165
|
-
// This mirrors the web version's approach of flattening nested anyOf/oneOf structures
|
|
166
|
-
var flattenedSchema = flattenChoiceListStructure(schema);
|
|
167
|
-
// Validate schema structure after flattening (when structure is simplified)
|
|
168
|
-
validateV2Schema(flattenedSchema);
|
|
73
|
+
export var generateUISchema = function (schema) {
|
|
74
|
+
// Validate schema structure first
|
|
75
|
+
validateV2Schema(schema);
|
|
169
76
|
// Get all visible (non-deprecated) fields
|
|
170
|
-
var visibleFields = getVisibleFields(
|
|
77
|
+
var visibleFields = getVisibleFields(schema);
|
|
171
78
|
// Group fields by their parent sections
|
|
172
|
-
var fieldsBySection = groupFieldsBySection(visibleFields,
|
|
79
|
+
var fieldsBySection = groupFieldsBySection(visibleFields, schema.ui.sections);
|
|
173
80
|
// Create section layouts in the specified order
|
|
174
81
|
var sectionLayouts = [];
|
|
175
|
-
|
|
176
|
-
var section =
|
|
82
|
+
schema.ui.order.forEach(function (sectionId) {
|
|
83
|
+
var section = schema.ui.sections[sectionId];
|
|
177
84
|
var sectionFields = fieldsBySection[sectionId] || [];
|
|
178
85
|
// Check if section has any content (fields or headers)
|
|
179
86
|
var hasFields = sectionFields.length > 0;
|
|
180
|
-
var hasHeaders = __spreadArray(__spreadArray([], section.leftColumn, true), section.rightColumn, true).some(function (item) { return item.type === 'header' &&
|
|
87
|
+
var hasHeaders = __spreadArray(__spreadArray([], section.leftColumn, true), section.rightColumn, true).some(function (item) { return item.type === 'header' && schema.ui.headers[item.name]; });
|
|
181
88
|
// Only create layout if section is active and has content
|
|
182
89
|
if ((section === null || section === void 0 ? void 0 : section.isActive) && (hasFields || hasHeaders)) {
|
|
183
90
|
var sectionControls = sectionFields.map(function (_a) {
|
|
184
91
|
var name = _a.name, property = _a.property, uiField = _a.uiField;
|
|
185
|
-
return createControl(name, property, uiField);
|
|
92
|
+
return createControl(name, property, uiField, schema);
|
|
186
93
|
});
|
|
187
|
-
var sectionLayout = createSectionLayout(sectionId, section, sectionControls,
|
|
94
|
+
var sectionLayout = createSectionLayout(sectionId, section, sectionControls, schema.ui.headers);
|
|
188
95
|
sectionLayouts.push(sectionLayout);
|
|
189
96
|
}
|
|
190
97
|
});
|
|
@@ -192,55 +99,6 @@ export var generateUISchemaWithFlattenedJSON = function (schema) {
|
|
|
192
99
|
type: 'VerticalLayout',
|
|
193
100
|
elements: sectionLayouts
|
|
194
101
|
};
|
|
195
|
-
return
|
|
196
|
-
jsonSchema: flattenedSchema.json, // Return flattened JSON schema for AJV
|
|
197
|
-
uiSchema: uiSchema
|
|
198
|
-
};
|
|
199
|
-
};
|
|
200
|
-
/**
|
|
201
|
-
* Safe version injection utility that prevents stack overflow with large UI schemas
|
|
202
|
-
* Alternative to client's recursive addVersionToUISchema function
|
|
203
|
-
*/
|
|
204
|
-
export var addVersionToUISchemaIteratively = function (uiSchema, version) {
|
|
205
|
-
if (!uiSchema)
|
|
206
|
-
return uiSchema;
|
|
207
|
-
// Use JSON parse/stringify for deep cloning to avoid mutation
|
|
208
|
-
var result = JSON.parse(JSON.stringify(uiSchema));
|
|
209
|
-
// Use iterative approach with queue to prevent stack overflow
|
|
210
|
-
var queue = [result];
|
|
211
|
-
var processed = new Set();
|
|
212
|
-
var processCount = 0;
|
|
213
|
-
var maxProcess = 10000; // Safety limit
|
|
214
|
-
while (queue.length > 0 && processCount < maxProcess) {
|
|
215
|
-
var current = queue.shift();
|
|
216
|
-
if (!current || typeof current !== 'object')
|
|
217
|
-
continue;
|
|
218
|
-
// Prevent infinite loops
|
|
219
|
-
var currentStr = JSON.stringify(current);
|
|
220
|
-
if (processed.has(currentStr))
|
|
221
|
-
continue;
|
|
222
|
-
processed.add(currentStr);
|
|
223
|
-
processCount++;
|
|
224
|
-
// Add version to Control elements only
|
|
225
|
-
if (current.type === 'Control') {
|
|
226
|
-
current.options = __assign(__assign({}, current.options), { version: version });
|
|
227
|
-
}
|
|
228
|
-
// Queue nested elements for processing (non-recursive)
|
|
229
|
-
if (current.elements && Array.isArray(current.elements)) {
|
|
230
|
-
// Process in batches to prevent memory issues
|
|
231
|
-
var batchSize = 50;
|
|
232
|
-
for (var i = 0; i < Math.min(current.elements.length, batchSize); i++) {
|
|
233
|
-
var element = current.elements[i];
|
|
234
|
-
if (element && typeof element === 'object') {
|
|
235
|
-
queue.push(element);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
console.log("Processed ".concat(processCount, " UI schema elements for version injection"));
|
|
241
|
-
return result;
|
|
242
|
-
};
|
|
243
|
-
export var generateUISchema = function (schema) {
|
|
244
|
-
return generateUISchemaWithFlattenedJSON(schema).uiSchema;
|
|
102
|
+
return uiSchema;
|
|
245
103
|
};
|
|
246
104
|
//# sourceMappingURL=generateUISchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateUISchema.js","sourceRoot":"","sources":["../../src/v2/generateUISchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generateUISchema.js","sourceRoot":"","sources":["../../src/v2/generateUISchema.ts"],"names":[],"mappings":"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"}
|
package/dist/v2/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { generateUISchema
|
|
1
|
+
export { generateUISchema } from './generateUISchema';
|
|
2
2
|
export type { V2Schema, V2Property, V2UIField, V2Section, V2Header, JSONFormsUISchema } from '../common/types';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/v2/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EAClB,MAAM,iBAAiB,CAAC"}
|
package/dist/v2/index.js
CHANGED
package/dist/v2/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/v2/utils.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const isFieldVisible: (property: V2Property) => boolean;
|
|
|
6
6
|
/**
|
|
7
7
|
* Creates a JSONForms control element for a field
|
|
8
8
|
*/
|
|
9
|
-
export declare const createControl: (fieldName: string, property: V2Property, uiField: V2UIField) => JSONFormsControl;
|
|
9
|
+
export declare const createControl: (fieldName: string, property: V2Property, uiField: V2UIField, schema?: V2Schema) => JSONFormsControl;
|
|
10
10
|
/**
|
|
11
11
|
* Creates a JSONForms label element for a header
|
|
12
12
|
*/
|
package/dist/v2/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/v2/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EAGf,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,cAAc,aAAc,UAAU,KAAG,OAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,cACb,MAAM,YACP,UAAU,WACX,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/v2/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EAGf,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,cAAc,aAAc,UAAU,KAAG,OAErD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,cACb,MAAM,YACP,UAAU,WACX,SAAS,WACT,QAAQ,KAChB,gBA+FF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAClB,MAAM,UACR,QAAQ,KACf,cAQF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,cACnB,MAAM,WACR,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,iBAC5B,gBAAgB,EAAE,WACxB,OAAO,MAAM,EAAE,QAAQ,CAAC,KAChC,eA4CF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,WAAY,QAAQ,KAAG,MAAM;IAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,SAAS,CAAA;CAAE,CAYnH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,WACvB,MAAM;IAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC,YAC/D,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KACnC,OAAO,MAAM,EAAE,MAAM;IAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC,CAgBlF,CAAC"}
|
package/dist/v2/utils.js
CHANGED
|
@@ -7,7 +7,7 @@ export var isFieldVisible = function (property) {
|
|
|
7
7
|
/**
|
|
8
8
|
* Creates a JSONForms control element for a field
|
|
9
9
|
*/
|
|
10
|
-
export var createControl = function (fieldName, property, uiField) {
|
|
10
|
+
export var createControl = function (fieldName, property, uiField, schema) {
|
|
11
11
|
var _a;
|
|
12
12
|
var control = {
|
|
13
13
|
type: 'Control',
|
|
@@ -78,8 +78,8 @@ export var createControl = function (fieldName, property, uiField) {
|
|
|
78
78
|
if (property.minItems !== undefined) {
|
|
79
79
|
control.options.minItems = property.minItems;
|
|
80
80
|
}
|
|
81
|
-
if (property.type === 'array' && ((_a = property.items) === null || _a === void 0 ? void 0 : _a.properties)) {
|
|
82
|
-
control.options.detail = generateCollectionUISchemaInternal(property, uiField);
|
|
81
|
+
if (property.type === 'array' && ((_a = property.items) === null || _a === void 0 ? void 0 : _a.properties) && schema) {
|
|
82
|
+
control.options.detail = generateCollectionUISchemaInternal(property, uiField, schema);
|
|
83
83
|
}
|
|
84
84
|
break;
|
|
85
85
|
case 'ATTACHMENT':
|
|
@@ -187,15 +187,23 @@ export var groupFieldsBySection = function (fields, sections) {
|
|
|
187
187
|
/**
|
|
188
188
|
* Generate UI schema for collection items
|
|
189
189
|
*/
|
|
190
|
-
var generateCollectionUISchemaInternal = function (collectionProperty, uiField) {
|
|
190
|
+
var generateCollectionUISchemaInternal = function (collectionProperty, uiField, schema) {
|
|
191
191
|
var _a;
|
|
192
192
|
if (collectionProperty.type !== 'array' || !((_a = collectionProperty.items) === null || _a === void 0 ? void 0 : _a.properties)) {
|
|
193
193
|
throw new Error('Collection property must be an array with item properties');
|
|
194
194
|
}
|
|
195
195
|
var itemProperties = collectionProperty.items.properties;
|
|
196
196
|
var itemControls = [];
|
|
197
|
-
// Helper function to create control for a field
|
|
197
|
+
// Helper function to create control for a collection item field
|
|
198
198
|
var createItemControl = function (fieldName, property) {
|
|
199
|
+
// Look up the UI field definition for this item field
|
|
200
|
+
var itemUiField = schema.ui.fields[fieldName];
|
|
201
|
+
if (itemUiField) {
|
|
202
|
+
// Use the main createControl function to get full feature support
|
|
203
|
+
// Cast property to V2Property since collection items should have the same structure
|
|
204
|
+
return createControl(fieldName, property, itemUiField, schema);
|
|
205
|
+
}
|
|
206
|
+
// Fallback: create a basic control if no UI field definition exists
|
|
199
207
|
var control = {
|
|
200
208
|
type: 'Control',
|
|
201
209
|
scope: "#/properties/".concat(fieldName),
|
package/dist/v2/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/v2/utils.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,QAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;AAC9B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,SAAiB,EACjB,QAAoB,EACpB,OAAkB;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/v2/utils.ts"],"names":[],"mappings":"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"}
|