amis 1.5.6 → 1.5.7
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/lib/index.js +1 -1
- package/lib/renderers/CRUD.js +1 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Form/index.js +2 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +4 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/store/formItem.js +6 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/cxd-ie11.css +1 -1
- package/lib/themes/cxd.css +1 -1
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/default.css +1 -1
- package/lib/themes/default.css.map +1 -1
- package/package.json +2 -2
- package/scss/themes/_cxd-variables.scss +1 -1
- package/sdk/charts.js +13 -13
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1 -1
- package/sdk/cxd.css +1 -1
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1 -1
- package/sdk/sdk.css +1 -1
- package/sdk/sdk.js +1212 -1212
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/renderers/CRUD.tsx +1 -3
- package/src/renderers/Form/index.tsx +2 -1
- package/src/renderers/Nav.tsx +4 -1
- package/src/renderers/Table/TableRow.tsx +3 -1
- package/src/store/formItem.ts +2 -2
- package/src/store/table.ts +2 -1
package/lib/renderers/Nav.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Nav.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uCAAsC;AACtC,sCAAgE;AAChE,sFAAuD;AACvD,oCAAoD;AACpD,0CAUyB;AACzB,oCAAwD;AACxD,kCAA+C;AAC/C,6CAAyC;AAQzC,sCAA2C;AAC3C,mEAGwC;AAExC,+EAA4C;AAC5C,oCAA4C;AAC5C,6CAAuD;AA6IvD;IAAgC,2CAG/B;IAHD;QAAA,qEA4SC;QA/RC,gBAAU,GAGN;YACF,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC;QACF,WAAK,GAAoB,EAAE,CAAC;;IAwR9B,CAAC;IArRC,gCAAW,GAAX,UAAY,IAAU;QACd,IAAA,KAAkB,IAAI,CAAC,KAAK,EAA3B,GAAG,SAAA,EAAE,QAAQ,cAAc,CAAC;QACnC,qBAAqB;QACrB,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;YACnB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC;gBACX,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE;oBACT,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,EAAE;iBACd;aACF,CAAC,CAAC;SACJ;QAED,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,CAAC;IACnB,CAAC;IAGD,+BAAU,GAAV,UAAW,MAAY,EAAE,SAAmB;;QAC1C,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAGD,gCAAW,GAAX,UAAY,CAAY,EAAE,EAAU,EAAE,KAAa;;QAC3C,IAAA,KAAgC,IAAI,CAAC,KAAK,EAAzC,eAAe,qBAAA,EAAE,UAAU,gBAAc,CAAC;QACjD,IAAI,IAAI,GAAI,CAAC,CAAC,MAAsB,CAAC,qBAAqB,EAAE,CAAC;QAC7D,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAY,CAAC;QACtC,IAAA,GAAG,GAAmB,IAAI,IAAvB,EAAE,MAAM,GAAW,IAAI,OAAf,EAAE,KAAK,GAAI,IAAI,MAAR,CAAS;QAC7B,IAAA,OAAO,GAAa,CAAC,QAAd,EAAE,OAAO,GAAI,CAAC,QAAL,CAAM;QAC3B,IAAM,IAAI,GAAG,KAAK,GAAG,CAAC,MAAA,QAAQ,CAAC,UAAiB,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC,CAAC;QAC7D,IAAM,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;QAClC,IAAI,QAAQ,CAAC;QACb,IAAI,OAAO,IAAI,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE;YAC/B,QAAQ,GAAG,QAAQ,CAAC;SACrB;aAAM;YACL,QAAQ,GAAG,KAAK,CAAC;SAClB;QACD,IACE,CAAC,eAAe;YAChB,QAAQ,KAAK,QAAQ;YACrB,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,EACrC;YACA,QAAQ,GAAG,MAAM,CAAC;SACnB;QACD,OAAO;YACL,MAAM,EAAE,EAAE;YACV,QAAQ,UAAA;YACR,QAAQ,UAAA;YACR,IAAI,MAAA;YACJ,MAAM,QAAA;YACN,IAAI,MAAA;SACL,CAAC;IACJ,CAAC;IAED,wCAAmB,GAAnB,UAAoB,CAAY;;QACvB,IAAA,eAAe,GAAI,IAAI,CAAC,KAAK,gBAAd,CAAe;QACrC,IAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC,CAAC,MAAM;QAC9C,IAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAW,CAAC;QAC1D,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9D,IACE,eAAe;YACf,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,aAAa,OAAK,MAAA,MAAM,CAAC,aAAa,0CAAE,aAAa,CAAA,EACzE;YACA,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,SAAS,EAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACvD,IAAA,KAA2C,IAAI,CAAC,QAAQ,EAAvD,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAiB,CAAC;QAC7D,IAAI,QAAQ,MAAK,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,SAAS,EAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO;SACR;QACD,IAAM,EAAE,GAAI,IAAA,uBAAW,EAAC,IAAI,CAAiB,CAAC,UAAyB,CAAC;QACxE,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC;gBACZ,aAAa,EAAE;oBACb,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG;oBAC9C,IAAI,MAAA;oBACJ,KAAK,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI;oBAC9C,MAAM,QAAA;oBACN,OAAO,EAAE,GAAG;iBACb;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC;gBACZ,aAAa,EAAE;oBACb,GAAG,EACD,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC3D,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG;oBAChC,IAAI,MAAA;oBACJ,KAAK,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI;iBAC/C;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,oCAAe,GAAf,UAAgB,IAAU;QAD1B,iBAmBC;QAjBC,OAAO,UAAC,CAAkB;YACxB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAM,aAAa,GAAG,CAAC,CAAC,aAA4B,CAAC;YACrD,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,UAAU,CAAC;YAC1C,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,KAAI,CAAC,QAAQ,GAAG;gBACd,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,IAAI;aACX,CAAC;YACF,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,UAAU,GAAG;gBAChB,CAAC,EAAE,CAAC,CAAC,OAAO;gBACZ,CAAC,EAAE,CAAC,CAAC,OAAO;aACb,CAAC;YACF,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC;IAGD,mCAAc,GAAd,UAAe,CAAY;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QACD,IAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,IAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QACD,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAGD,kCAAa,GAAb,UAAc,CAAY;;QACxB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC;YACZ,aAAa,EAAE,SAAS;SACzB,CAAC,CAAC;QACH,IAAM,aAAa,GAAG,CAAC,CAAC,aAA4B,CAAC;QACrD,IAAM,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE;YAC9C,OAAO;SACR;QACD,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAEnE,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,YAAY,mDAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,+BAAU,GAAV,UAAW,IAAU,EAAE,KAAa,EAAE,KAAS;QAA/C,iBAiGC;;QAjGqC,sBAAA,EAAA,SAAS;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAClD,OAAO,IAAI,CAAC;SACb;QACD,IAAM,QAAQ,GAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,IAAA,KAWF,IAAI,CAAC,KAAK,EAVZ,QAAQ,cAAA,EACR,gBAAgB,sBAAA,EACJ,EAAE,gBAAA,EACd,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,KAAK,WAAA,EACL,SAAS,eAAA,EACH,WAAW,UACL,CAAC;QACf,IAAM,MAAM,GACV,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,CACL,sCACE,GAAG,EAAE,IAAI,CAAC,IAAI,aACL,IAAI,CAAC,IAAI,EAClB,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;gBACxC,aAAa,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;gBACxD,WAAW,EAAE,QAAQ;gBACrB,aAAa,EAAE,IAAI,CAAC,QAAQ;gBAC5B,SAAS,EAAE,MAAM;aAClB,CAAC,EACF,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAEvC,8BAAC,aAAK,IACJ,UAAU,EAAE,EAAE,EACd,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,IAAA,qBAAY,EAAC,WAAW,EAAE,IAAI,CAAC;gBAErC,gDACW,IAAI,CAAC,IAAI,gBACN,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAC1C,KAAK,EAAE;wBACL,WAAW,EAAE,KAAK,GAAG,CAAC,MAAA,QAAQ,CAAC,UAAiB,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;qBAC7D;oBAEA,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CACxB,uCACE,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAC/B,SAAS,QACT,WAAW,EAAE,UAAA,CAAC;4BACZ,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC5B,CAAC,CAAC,eAAe,EAAE,CAAC;wBACtB,CAAC;wBAED,8BAAC,YAAI,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,CACrC,CACP,CAAC,CAAC,CAAC,IAAI;oBACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACd,8BAAC,iBAAO,IACN,IAAI,EAAC,IAAI,EACT,IAAI,QACJ,IAAI,EAAC,QAAQ,EACb,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,GACnC,CACH,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACX,wCACE,OAAO,EAAE,cAAM,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAArB,CAAqB,EACpC,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;wBAElD,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACjC,CACR,CAAC,CAAC,CAAC,IAAI;oBACP,IAAA,mBAAY,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;oBAC3C,IAAI,CAAC,KAAK;wBACT,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;4BAC7B,CAAC,CAAC,IAAI,CAAC,KAAK;4BACZ,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAyB,CAAC,CAAC,CACrD;gBAEF,OAAO;gBACP,WAAW,CAAC,CAAC,CAAC,CACZ,uCAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,IACnC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;oBAC7B,IAAI,EAAE,IAAA,qBAAY,EAAC,WAAW,EAAE,IAAI,CAAC;iBACtC,CAAC,CACE,CACP,CAAC,CAAC,CAAC,IAAI;gBAET,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CACtD,sCAAI,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;oBAC7B,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC;gBAAvC,CAAuC,CACxC,CACE,CACN,CAAC,CAAC,CAAC,IAAI,CACF,CACL,CACN,CAAC;IACJ,CAAC;IAED,2BAAM,GAAN;QAAA,iBAuBC;QAtBO,IAAA,KAAuD,IAAI,CAAC,KAAK,EAAhE,SAAS,eAAA,EAAE,OAAO,aAAA,EAAc,EAAE,gBAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAAc,CAAC;QACjE,IAAA,aAAa,GAAI,IAAI,CAAC,KAAK,cAAd,CAAe;QACnC,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC;YACvB,sCACE,SAAS,EAAE,EAAE,CACX,UAAU,EACV,SAAS,EACT,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CACjD;gBAEA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACnB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAA5B,CAA4B,CAAC;oBAC1D,CAAC,CAAC,IAAI;gBAER,8BAAC,iBAAO,IAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,QAAC,IAAI,EAAC,QAAQ,GAAG,CAC/C;YACJ,aAAa,CAAC,CAAC,CAAC,CACf,uCAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,aAAa,GAAI,CAClE,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;;IAvSM,uBAAY,GAAG;QACpB,UAAU,EAAE,EAAE;KACf,CAAC;IAiBF;QADC,iBAAQ;;;;iDAeR;IAGD;QADC,iBAAQ;;;;gDAGR;IAGD;QADC,iBAAQ;;0EACM,SAAS,oBAAT,SAAS;;iDA6BvB;IAED;QADC,iBAAQ;;0EACc,SAAS,oBAAT,SAAS;;yDA0C/B;IAGD;QADC,iBAAQ;;;;qDAmBR;IAGD;QADC,iBAAQ;;0EACS,SAAS,oBAAT,SAAS;;oDAY1B;IAGD;QADC,iBAAQ;;0EACQ,SAAS,oBAAT,SAAS;;mDAkBzB;IA6HH,iBAAC;CAAA,AA5SD,CAAgC,eAAK,CAAC,SAAS,GA4S9C;AA5SY,gCAAU;AA8SvB,IAAM,gBAAgB,GAAG,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAC;AAE/C,IAAM,iCAAiC,GAAG,IAAA,mCAAgB,EAAC;IACzD,OAAO,EAAE,UAAC,MAAW,EAAE,KAAU;QAC/B,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IACD,SAAS,EAAE,UAAC,QAAa,EAAE,MAAW,EAAE,KAAU;QAChD,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAA,iBAAQ,EAAC,MAAM,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,CAAC,EAAE;YACrD,IAAA,GAAG,GAAI,KAAK,IAAT,CAAU;YAEpB,GAAG,CAAC,MAAM,CAAC,IAAA,YAAM,EAAC,QAAQ,CAAC,KAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC;IACD,eAAe,EAAf,UACE,KAAkB,EAClB,MAA+B,EAC/B,KAAU,EACV,UAAmB;QAEnB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,QAAQ,EAAE;YAC5C,IAAA,MAAI,GAAqC,KAAK,KAA1C,EAAE,KAAG,GAAgC,KAAK,IAArC,EAAE,eAAa,GAAiB,KAAK,cAAtB,EAAE,aAAW,GAAI,KAAK,YAAT,CAAU;YAEtD,KAAK,GAAG,IAAA,gBAAO,EACb,KAAK,EACL,UAAC,IAAU;gBACT,IAAM,IAAI,yEACL,IAAI,GACJ,IAAA,uBAAiB,EAAC,IAAI,EAAE,MAAc,CAAC,KAC1C,MAAM,EACJ,CAAC,UAAU,KAAK,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC;wBACjD,CAAC,IAAI,CAAC,QAAQ;4BACZ,CAAC,CAAC,IAAA,oBAAc,EAAC,IAAI,CAAC,QAAkB,EAAE,MAAI,CAAC;4BAC/C,CAAC,CAAC,CAAC,CAAC,CACA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gCACzB,KAAG;gCACH,KAAG,CAAC,YAAY,CAAC,IAAA,YAAM,EAAC,IAAI,CAAC,EAAY,EAAE,MAAI,CAAC,CAAC,CAClD,CAAC,EACR,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAA,aAAI,GAAE,GAC1B,CAAC;gBAEF,IAAI,CAAC,QAAQ;oBACX,IAAA,mBAAU,EAAC,IAAI,EAAE,EAAC,aAAa,iBAAA,EAAE,WAAW,eAAA,EAAC,CAAC;wBAC9C,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,IAAI,CAAC,MAAM,EAAb,CAAa,CAAC,CAAC,CAAC;gBAE/D,OAAO,IAAI,CAAC;YACd,CAAC,EACD,CAAC,EACD,IAAI,CACL,CAAC;SACH;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe,EAAf,UAAgB,IAAU,EAAE,OAAsB,EAAE,KAAkB;QACpE,OAAO,IAAA,mBAAU,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,kDAC9B,IAAI,KACP,OAAO,EAAE,IAAI,IACb,CAAC;IACL,CAAC;IAED,cAAc,EAAd,UACE,IAAU,EACV,OAAsB,EACtB,GAAY,EACZ,KAAkB;QAElB,IAAM,OAAO,mDACR,IAAI,KACP,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GACpC,CAAC;QAEF,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,GAAG,CAAC,IAAI;YACV,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAE1E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;SACzB;QAED,OAAO,IAAA,mBAAU,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;IACc,wCAUb;IACC,iBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAIb;QAHC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IAC/C,CAAC;IAED,mCAAiB,GAAjB;QACE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACpD;IACH,CAAC;IAED,oCAAkB,GAAlB,UAAmB,SAAc;QAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;SAC/D;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACrD;IACH,CAAC;IAED,4BAAU,GAAV,UAAW,MAAY,EAAE,SAAmB;QACpC,IAAA,KAAoC,IAAI,CAAC,KAAK,EAA7C,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAE,SAAS,eAAc,CAAC;QAErD,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClC,SAAS,CAAC,MAAM,CAAC,CAAC;SACnB;aAAM;YACL,YAAY,CACV,IAAA,gBAAO,EAAC,MAAM,EAAE,UAAC,IAAU;gBACzB,OAAA,MAAM,KAAK,IAAI;oBACb,CAAC,iDACM,IAAI,KACP,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAEhD,CAAC,CAAC,IAAI;YALR,CAKQ,CACT,EACD,QAAQ,CACT,CAAC;SACH;IACH,CAAC;IAEK,4BAAU,GAAhB,UAAiB,QAAmB;;;;;;wBAC9B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;wBACvB,MAAM,GAAwB,QAAQ,OAAhC,EAAE,QAAQ,GAAc,QAAQ,SAAtB,EAAE,QAAQ,GAAI,QAAQ,SAAZ,CAAa;wBAC9C,IAAI,QAAQ,EAAE;4BAEN,SAAS,GAAG,IAAA,sBAAa,EAC7B,KAAK,EACL,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAA3B,CAA2B,CACxB,CAAC;4BACd,KAAK,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;4BAExC,IAAI,QAAQ,KAAK,MAAM,EAAE;gCACvB,oBAAoB;gCACpB,IAAA,gBAAO,EAAC,KAAK,EAAE,UAAA,IAAI;oCACjB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;wCACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;4CAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;yCACpB;wCACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qCAC9B;oCACD,OAAO,IAAI,CAAC;gCACd,CAAC,CAAC,CAAC;6BACJ;iCAAM;gCAEC,GAAG,GAAG,IAAA,sBAAa,EACvB,KAAK,EACL,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,MAAM,EAApB,CAAoB,CACjB,CAAC;gCACd,SAAS;gCACT,IAAI,QAAQ,KAAK,QAAQ,EAAE;oCACzB,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,GAAG,EAAa,GAAG,CAAC,CAAC,CAAC;iCACrC;gCACD,KAAK,GAAG,IAAA,mBAAU,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;6BAC7C;yBACF;wBACD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBACzC,qBAAM,IAAI,CAAC,SAAS,CAClB,IAAA,gBAAO,EAAC,KAAK,EAAE,UAAC,IAAU;gCACxB,WAAW;gCACX,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oCACpB,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wCACtB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;qCAClB;iCACF;gCACD,OAAO,IAAI,CAAC;4BACd,CAAC,CAAC,CACH,EAAA;;wBAVD,SAUC,CAAC;;;;;KACH;IAEK,2BAAS,GAAf,UAAgB,KAAY;;;;;;wBACpB,KAAoC,IAAI,CAAC,KAAK,EAA7C,YAAY,kBAAA,EAAE,GAAG,SAAA,EAAE,IAAI,UAAA,EAAE,MAAM,YAAA,CAAe;6BACjD,CAAA,YAAY,IAAI,IAAA,oBAAc,EAAC,YAAY,CAAC,CAAA,EAA5C,wBAA4C;wBAC9C,qBAAM,GAAG,CAAC,OAAO,CACf,YAAyB,EACzB,IAAA,qBAAY,EAAC,IAAI,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,EACjC,EAAC,MAAM,EAAE,MAAM,EAAC,CACjB,EAAA;;wBAJD,SAIC,CAAC;wBACF,MAAM,EAAE,CAAC;;;wBAET,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;;;;;;KAE9C;IAED,8BAAY,GAAZ,UAAa,IAAU;QACf,IAAA,KAAwB,IAAI,CAAC,KAAK,EAAjC,QAAQ,cAAA,EAAE,GAAG,SAAA,EAAE,IAAI,UAAc,CAAC;QACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;YACxC,OAAO;SACR;QAED,IACE,CAAC,IAAI,CAAC,EAAE;YACR,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACtC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC/B;YACA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;SACR;QAED,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAC,IAAA,YAAM,EAAC,IAAI,CAAC,EAAY,EAAE,IAAI,CAAC,EAAE,IAAW,CAAC,CAAC;IAC5D,CAAC;IAED,wBAAM,GAAN;QACE,IAAM,KAAsD,IAAI,CAAC,KAAK,EAA/D,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAK,IAAI,2BAAlD,kDAAmD,CAAa,CAAC;QACvE,OAAO,CACL,8BAAC,gBAAgB,4BACX,IAAI,IACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,IAAI,EAAE,EACnB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU,EACzB,YAAY,EAAE,IAAI,CAAC,UAAU,IAC7B,CACH,CAAC;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AAnJD,CAAc,eAAK,CAAC,SAAS,GAoJ9B,CAAC;AAEF,kBAAe,gBAAgB,CAAC;AAKhC;IAAwC,mDAA8B;IAepE,4BAAY,KAAoB,EAAE,OAAuB;QAAzD,YACE,kBAAM,KAAK,CAAC,SAIb;QAjBD,eAAS,GAKO,SAAS,CAAC;QAUxB,IAAM,MAAM,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC,KAAI,CAAC,CAAC;;IACjC,CAAC;IATD,4CAAe,GAAf,UAAgB,GAAQ;QACtB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IASD,iDAAoB,GAApB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAGD,mCAAM,GAAN,UAAO,MAAe,EAAE,KAAW,EAAE,MAAe;;QAClD,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC5B;QAEK,IAAA,KAAqC,IAAI,CAAC,KAAK,EAA9C,IAAI,UAAA,EAAE,GAAG,SAAA,EAAE,MAAM,YAAA,EAAa,EAAE,eAAc,CAAC;QACtD,IAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7D,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAGD,oCAAO,GAAP,UAAQ,MAAc;QACpB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,mCAAM,GAAN;QACE,IAAU,IAAI,uBAAI,IAAI,CAAC,KAAK,EAAtB,EAAS,CAAa,CAAC;QAC7B,OAAO,CACL,8BAAC,iCAAiC,4BAC5B,IAAI,IACR,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,eAAe,EAAE,IAAI,CAAC,eAAe,IACrC,CACH,CAAC;IACJ,CAAC;;IApDM,8BAAW,GAAG,sBAAa,CAAC;IAUnC;QADC,iBAAQ;;;;6DAGR;IAeD;QADC,iBAAQ;;;;oDAUR;IAGD;QADC,iBAAQ;;;;qDAGR;IA1CU,kBAAkB;QAJ9B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,KAAK;SACZ,CAAC;0EAgBmB,uBAAa,oBAAb,uBAAa,oDAAW,uBAAc,oBAAd,uBAAc;OAf9C,kBAAkB,CAsD9B;IAAD,yBAAC;CAAA,AAtDD,CAAwC,eAAK,CAAC,SAAS,GAsDtD;AAtDY,gDAAkB",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererEnv, RendererProps} from '../factory';\nimport getExprProperties from '../utils/filter-schema';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n guid,\n autobind,\n createObject,\n findTree,\n isUnfolded,\n mapTree,\n someTree,\n spliceTree,\n findTreeIndex\n} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaIcon,\n SchemaUrlPath,\n SchemaCollection\n} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {Payload} from '../types';\nimport Spinner from '../components/Spinner';\nimport {isEffectiveApi} from '../utils/api';\nimport {Badge, BadgeSchema} from '../components/Badge';\n\nexport type NavItemSchema = {\n /**\n * 文字说明\n */\n label?: string | SchemaCollection;\n\n /**\n * 图标类名,参考 fontawesome 4。\n */\n icon?: SchemaIcon;\n\n to?: SchemaUrlPath;\n\n target?: string;\n\n unfolded?: boolean;\n active?: boolean;\n\n defer?: boolean;\n deferApi?: SchemaApi;\n\n children?: Array<NavItemSchema>;\n} & Omit<BaseSchema, 'type'>;\n\n/**\n * Nav 导航渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/nav\n */\nexport interface NavSchema extends BaseSchema {\n /**\n * 指定为 Nav 导航渲染器\n */\n type: 'nav';\n\n /**\n * 链接地址集合\n */\n links?: Array<NavItemSchema>;\n\n /**\n * @default 24\n */\n indentSize: number;\n\n /**\n * 可以通过 API 拉取。\n */\n source?: SchemaApi;\n\n /**\n * 懒加载 api,如果不配置复用 source 接口。\n */\n deferApi?: SchemaApi;\n\n /**\n * true 为垂直排列,false 为水平排列类似如 tabs。\n */\n stacked?: boolean;\n\n /**\n * 更多操作菜单列表\n */\n itemActions?: SchemaCollection;\n\n /**\n * 可拖拽\n */\n draggable?: boolean;\n\n /**\n * 保存排序的 api\n */\n saveOrderApi?: SchemaApi;\n\n /**\n * 角标\n */\n itemBadge?: BadgeSchema;\n\n /**\n * 仅允许同层级拖拽\n */\n dragOnSameLevel?: boolean;\n}\n\nexport interface Link {\n className?: string;\n label?: string | SchemaCollection;\n to?: string;\n target?: string;\n icon?: string;\n active?: boolean;\n activeOn?: string;\n unfolded?: boolean;\n children?: Links;\n defer?: boolean;\n loading?: boolean;\n loaded?: boolean;\n [propName: string]: any;\n itemBadge?: BadgeSchema;\n}\nexport interface Links extends Array<Link> {}\n\nexport interface NavigationState {\n links?: Links;\n error?: string;\n dropIndicator?: {\n top: number;\n left: number;\n width: number;\n height?: number;\n opacity?: number;\n };\n}\n\nexport interface NavigationProps\n extends ThemeProps,\n Omit<NavSchema, 'type' | 'className'> {\n onSelect?: (item: Link) => void | false;\n onToggle?: (item: Link, forceFold?: boolean) => void;\n onDragUpdate?: (dropInfo: IDropInfo) => void;\n togglerClassName?: string;\n links?: Array<Link>;\n loading?: boolean;\n render: RendererProps['render'];\n env: RendererEnv;\n data: Object;\n reload?: any;\n}\n\nexport interface IDropInfo {\n dragLink: Link | null;\n nodeId: string;\n position: string;\n rect: DOMRect;\n height: number;\n left: number;\n}\n\nexport class Navigation extends React.Component<\n NavigationProps,\n NavigationState\n> {\n static defaultProps = {\n indentSize: 24\n };\n\n dragNode: {\n node: HTMLElement;\n link: Link | null;\n } | null;\n dropInfo: IDropInfo | null;\n startPoint: {\n y: number;\n x: number;\n } = {\n y: 0,\n x: 0\n };\n state: NavigationState = {};\n\n @autobind\n handleClick(link: Link) {\n const {env, onSelect} = this.props;\n // 和 action 里命名一致方便分析\n if (link && link.to) {\n env?.tracker({\n eventType: 'link',\n eventData: {\n label: link.label,\n link: link.to\n }\n });\n }\n\n onSelect?.(link);\n }\n\n @autobind\n toggleLink(target: Link, forceFold?: boolean) {\n this.props.onToggle?.(target, forceFold);\n }\n\n @autobind\n getDropInfo(e: DragEvent, id: string, depth: number): IDropInfo {\n const {dragOnSameLevel, indentSize} = this.props;\n let rect = (e.target as HTMLElement).getBoundingClientRect();\n const dragLink = this.dragNode?.link as Link;\n const {top, height, width} = rect;\n let {clientY, clientX} = e;\n const left = depth * (parseInt(indentSize as any, 10) ?? 24);\n const deltaX = left + width * 0.2;\n let position;\n if (clientY >= top + height / 2) {\n position = 'bottom';\n } else {\n position = 'top';\n }\n if (\n !dragOnSameLevel &&\n position === 'bottom' &&\n clientX >= this.startPoint.x + deltaX\n ) {\n position = 'self';\n }\n return {\n nodeId: id,\n dragLink,\n position,\n rect,\n height,\n left\n };\n }\n @autobind\n updateDropIndicator(e: DragEvent) {\n const {dragOnSameLevel} = this.props;\n const target = e.target as HTMLElement; // a标签\n const targetId = target.getAttribute('data-id') as string;\n const targetDepth = Number(target.getAttribute('data-depth'));\n if (\n dragOnSameLevel &&\n this.dragNode?.node.parentElement !== target.parentElement?.parentElement\n ) {\n this.setState({dropIndicator: undefined});\n this.dropInfo = null;\n return;\n }\n this.dropInfo = this.getDropInfo(e, targetId, targetDepth);\n let {position, rect, dragLink, height, left} = this.dropInfo;\n if (targetId === dragLink?.__id) {\n this.setState({dropIndicator: undefined});\n this.dropInfo = null;\n return;\n }\n const ul = (findDOMNode(this) as HTMLElement).firstChild as HTMLElement;\n if (position === 'self') {\n this.setState({\n dropIndicator: {\n top: rect.top - ul.getBoundingClientRect().top,\n left,\n width: ul.getBoundingClientRect().width - left,\n height,\n opacity: 0.2\n }\n });\n } else {\n this.setState({\n dropIndicator: {\n top:\n (position === 'bottom' ? rect.top + rect.height : rect.top) -\n ul.getBoundingClientRect().top,\n left,\n width: ul.getBoundingClientRect().width - left\n }\n });\n }\n }\n\n @autobind\n handleDragStart(link: Link) {\n return (e: React.DragEvent) => {\n e.stopPropagation();\n const currentTarget = e.currentTarget as HTMLElement;\n e.dataTransfer.effectAllowed = 'copyMove';\n e.dataTransfer.setDragImage(currentTarget, 0, 0);\n this.dragNode = {\n node: currentTarget,\n link: link\n };\n this.dropInfo = null;\n this.startPoint = {\n x: e.clientX,\n y: e.clientY\n };\n currentTarget.addEventListener('dragend', this.handleDragEnd);\n document.body.addEventListener('dragover', this.handleDragOver);\n };\n }\n\n @autobind\n handleDragOver(e: DragEvent) {\n e.preventDefault();\n e.stopPropagation();\n if (!this.dragNode) {\n return;\n }\n const target = e.target as HTMLElement;\n const id = target.getAttribute('data-id');\n if (!id) {\n return;\n }\n this.updateDropIndicator(e);\n }\n\n @autobind\n handleDragEnd(e: DragEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dropIndicator: undefined\n });\n const currentTarget = e.currentTarget as HTMLElement;\n const id = currentTarget.getAttribute('data-id');\n let nodeId = this.dropInfo?.nodeId;\n if (!this.dropInfo || !nodeId || id === nodeId) {\n return;\n }\n currentTarget.removeEventListener('dragend', this.handleDragEnd);\n document.body.removeEventListener('dragover', this.handleDragOver);\n\n this.props.onDragUpdate?.(this.dropInfo);\n this.dragNode = null;\n this.dropInfo = null;\n }\n\n renderItem(link: Link, index: number, depth = 1) {\n if (link.hidden === true || link.visible === false) {\n return null;\n }\n const isActive: boolean = !!link.active;\n const {\n disabled,\n togglerClassName,\n classnames: cx,\n indentSize,\n render,\n itemActions,\n draggable,\n links,\n itemBadge,\n data: defaultData\n } = this.props;\n const hasSub =\n (link.defer && !link.loaded) || (link.children && link.children.length);\n return (\n <li\n key={link.__id}\n data-id={link.__id}\n className={cx('Nav-item', link.className, {\n 'is-disabled': disabled || link.disabled || link.loading,\n 'is-active': isActive,\n 'is-unfolded': link.unfolded,\n 'has-sub': hasSub\n })}\n onDragStart={this.handleDragStart(link)}\n >\n <Badge\n classnames={cx}\n badge={itemBadge}\n data={createObject(defaultData, link)}\n >\n <a\n data-id={link.__id}\n data-depth={depth}\n onClick={this.handleClick.bind(this, link)}\n style={{\n paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)\n }}\n >\n {!disabled && draggable ? (\n <div\n className={cx('Nav-itemDrager')}\n draggable\n onMouseDown={e => {\n this.toggleLink(link, true);\n e.stopPropagation();\n }}\n >\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n ) : null}\n {link.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Nav-spinner')}\n />\n ) : hasSub ? (\n <span\n onClick={() => this.toggleLink(link)}\n className={cx('Nav-itemToggler', togglerClassName)}\n >\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n {generateIcon(cx, link.icon, 'Nav-itemIcon')}\n {link.label &&\n (typeof link.label === 'string'\n ? link.label\n : render('inline', link.label as SchemaCollection))}\n </a>\n {\n // 更多操作\n itemActions ? (\n <div className={cx('Nav-item-atcions')}>\n {render('inline', itemActions, {\n data: createObject(defaultData, link)\n })}\n </div>\n ) : null\n }\n {Array.isArray(link.children) && link.children.length ? (\n <ul className={cx('Nav-subItems')}>\n {link.children.map((link, index) =>\n this.renderItem(link, index, depth + 1)\n )}\n </ul>\n ) : null}\n </Badge>\n </li>\n );\n }\n\n render(): JSX.Element {\n const {className, stacked, classnames: cx, links, loading} = this.props;\n const {dropIndicator} = this.state;\n return (\n <div className={cx('Nav')}>\n <ul\n className={cx(\n 'Nav-list',\n className,\n stacked ? 'Nav-list--stacked' : 'Nav-list--tabs'\n )}\n >\n {Array.isArray(links)\n ? links.map((item, index) => this.renderItem(item, index))\n : null}\n\n <Spinner show={!!loading} overlay icon=\"reload\" />\n </ul>\n {dropIndicator ? (\n <div className={cx('Nav-dropIndicator')} style={dropIndicator} />\n ) : null}\n </div>\n );\n }\n}\n\nconst ThemedNavigation = themeable(Navigation);\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: (config: any, props: any) => {\n const links = Array.isArray(config)\n ? config\n : config.links || config.options || config.items || config.rows;\n\n if (!Array.isArray(links)) {\n throw new Error('payload.data.options is not array.');\n }\n\n return links;\n },\n afterLoad: (response: any, config: any, props: any) => {\n if (response.value && !someTree(config, item => item.active)) {\n const {env} = props;\n\n env.jumpTo(filter(response.value as string, props.data));\n }\n },\n normalizeConfig(\n links: Array<Link>,\n origin: Array<Link> | undefined,\n props: any,\n motivation?: string\n ) {\n if (Array.isArray(links) && motivation !== 'toggle') {\n const {data, env, unfoldedField, foldedField} = props;\n\n links = mapTree(\n links,\n (link: Link) => {\n const item: any = {\n ...link,\n ...getExprProperties(link, data as object),\n active:\n (motivation !== 'location-change' && link.active) ||\n (link.activeOn\n ? evalExpression(link.activeOn as string, data)\n : !!(\n link.hasOwnProperty('to') &&\n env &&\n env.isCurrentUrl(filter(link.to as string, data))\n )),\n __id: link.__id || guid()\n };\n\n item.unfolded =\n isUnfolded(item, {unfoldedField, foldedField}) ||\n (link.children && link.children.some(link => !!link.active));\n\n return item;\n },\n 1,\n true\n );\n }\n\n return links;\n },\n\n beforeDeferLoad(item: Link, indexes: Array<number>, links: Array<Link>) {\n return spliceTree(links, indexes, 1, {\n ...item,\n loading: true\n });\n },\n\n afterDeferLoad(\n item: Link,\n indexes: Array<number>,\n ret: Payload,\n links: Array<Link>\n ) {\n const newItem = {\n ...item,\n loading: false,\n loaded: true,\n error: ret.ok ? undefined : ret.msg\n };\n\n const children = Array.isArray(ret.data)\n ? ret.data\n : ret.data.links || ret.data.options || ret.data.items || ret.data.rows;\n\n if (Array.isArray(children)) {\n newItem.children = children.concat();\n newItem.unfolded = true;\n }\n\n return spliceTree(links, indexes, 1, newItem);\n }\n})(\n class extends React.Component<\n RemoteOptionsProps &\n React.ComponentProps<typeof ThemedNavigation> & {\n location?: any;\n env?: RendererEnv;\n data?: any;\n unfoldedField?: string;\n foldedField?: string;\n reload?: any;\n }\n > {\n constructor(props: any) {\n super(props);\n this.toggleLink = this.toggleLink.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.dragUpdate = this.dragUpdate.bind(this);\n }\n\n componentDidMount() {\n if (Array.isArray(this.props.links)) {\n this.props.updateConfig(this.props.links, 'mount');\n }\n }\n\n componentDidUpdate(prevProps: any) {\n if (this.props.location !== prevProps.location) {\n this.props.updateConfig(this.props.config, 'location-change');\n } else if (this.props.links !== prevProps.links) {\n this.props.updateConfig(this.props.links, 'update');\n }\n }\n\n toggleLink(target: Link, forceFold?: boolean) {\n const {config, updateConfig, deferLoad} = this.props;\n\n if (target.defer && !target.loaded) {\n deferLoad(target);\n } else {\n updateConfig(\n mapTree(config, (link: Link) =>\n target === link\n ? {\n ...link,\n unfolded: forceFold ? false : !link.unfolded\n }\n : link\n ),\n 'toggle'\n );\n }\n }\n\n async dragUpdate(dropInfo: IDropInfo) {\n let links = this.props.config;\n const {nodeId, dragLink, position} = dropInfo;\n if (dragLink) {\n // 删除原节点\n const sourceIdx = findTreeIndex(\n links,\n link => link.__id === dragLink.__id\n ) as number[];\n links = spliceTree(links, sourceIdx, 1);\n\n if (position === 'self') {\n // 插入到对应节点的children中\n mapTree(links, link => {\n if (link.__id === nodeId) {\n if (!link.children) {\n link.children = [];\n }\n link.children.push(dragLink);\n }\n return link;\n });\n } else {\n // 找到需要插入的节点\n const idx = findTreeIndex(\n links,\n link => link.__id === nodeId\n ) as number[];\n // 插入节点之后\n if (position === 'bottom') {\n idx.push((idx.pop() as number) + 1);\n }\n links = spliceTree(links, idx, 0, dragLink);\n }\n }\n this.props.updateConfig(links, 'update');\n await this.saveOrder(\n mapTree(links, (link: Link) => {\n // 清除内部加的字段\n for (let key in link) {\n if (/^__.*$/.test(key)) {\n delete link[key];\n }\n }\n return link;\n })\n );\n }\n\n async saveOrder(links: Links) {\n const {saveOrderApi, env, data, reload} = this.props;\n if (saveOrderApi && isEffectiveApi(saveOrderApi)) {\n await env.fetcher(\n saveOrderApi as SchemaApi,\n createObject(data, {data: links}),\n {method: 'post'}\n );\n reload();\n } else {\n env.alert('NAV saveOrderApi is required!');\n }\n }\n\n handleSelect(link: Link) {\n const {onSelect, env, data} = this.props;\n if (onSelect && onSelect(link) === false) {\n return;\n }\n\n if (\n !link.to &&\n ((link.children && link.children.length) ||\n (link.defer && !link.loaded))\n ) {\n this.toggleLink(link);\n return;\n }\n\n env?.jumpTo(filter(link.to as string, data), link as any);\n }\n\n render() {\n const {loading, config, deferLoad, updateConfig, ...rest} = this.props;\n return (\n <ThemedNavigation\n {...rest}\n loading={loading}\n links={config || []}\n disabled={loading}\n onSelect={this.handleSelect}\n onToggle={this.toggleLink}\n onDragUpdate={this.dragUpdate}\n />\n );\n }\n }\n);\n\nexport default ThemedNavigation;\n@Renderer({\n test: /(^|\\/)(?:nav|navigation)$/,\n name: 'nav'\n})\nexport class NavigationRenderer extends React.Component<RendererProps> {\n static contextType = ScopedContext;\n\n remoteRef:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined = undefined;\n\n @autobind\n remoteConfigRef(ref: any) {\n this.remoteRef = ref;\n }\n\n constructor(props: RendererProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n @autobind\n reload(target?: string, query?: any, values?: object) {\n if (query) {\n return this.receive(query);\n }\n\n const {data, env, source, translate: __} = this.props;\n const finalData = values ? createObject(data, values) : data;\n\n this.remoteRef?.loadConfig(finalData);\n }\n\n @autobind\n receive(values: object) {\n this.reload(undefined, undefined, values);\n }\n\n render() {\n const {...rest} = this.props;\n return (\n <ConditionBuilderWithRemoteOptions\n {...rest}\n reload={this.reload}\n remoteConfigRef={this.remoteConfigRef}\n />\n );\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererEnv, RendererProps} from '../factory';\nimport getExprProperties from '../utils/filter-schema';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n guid,\n autobind,\n createObject,\n findTree,\n isUnfolded,\n mapTree,\n someTree,\n spliceTree,\n findTreeIndex\n} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaIcon,\n SchemaUrlPath,\n SchemaCollection\n} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {Payload} from '../types';\nimport Spinner from '../components/Spinner';\nimport {isEffectiveApi} from '../utils/api';\nimport {Badge, BadgeSchema} from '../components/Badge';\n\nexport type NavItemSchema = {\n /**\n * 文字说明\n */\n label?: string | SchemaCollection;\n\n /**\n * 图标类名,参考 fontawesome 4。\n */\n icon?: SchemaIcon;\n\n to?: SchemaUrlPath;\n\n target?: string;\n\n unfolded?: boolean;\n active?: boolean;\n\n defer?: boolean;\n deferApi?: SchemaApi;\n\n children?: Array<NavItemSchema>;\n} & Omit<BaseSchema, 'type'>;\n\n/**\n * Nav 导航渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/nav\n */\nexport interface NavSchema extends BaseSchema {\n /**\n * 指定为 Nav 导航渲染器\n */\n type: 'nav';\n\n /**\n * 链接地址集合\n */\n links?: Array<NavItemSchema>;\n\n /**\n * @default 24\n */\n indentSize: number;\n\n /**\n * 可以通过 API 拉取。\n */\n source?: SchemaApi;\n\n /**\n * 懒加载 api,如果不配置复用 source 接口。\n */\n deferApi?: SchemaApi;\n\n /**\n * true 为垂直排列,false 为水平排列类似如 tabs。\n */\n stacked?: boolean;\n\n /**\n * 更多操作菜单列表\n */\n itemActions?: SchemaCollection;\n\n /**\n * 可拖拽\n */\n draggable?: boolean;\n\n /**\n * 保存排序的 api\n */\n saveOrderApi?: SchemaApi;\n\n /**\n * 角标\n */\n itemBadge?: BadgeSchema;\n\n /**\n * 仅允许同层级拖拽\n */\n dragOnSameLevel?: boolean;\n}\n\nexport interface Link {\n className?: string;\n label?: string | SchemaCollection;\n to?: string;\n target?: string;\n icon?: string;\n active?: boolean;\n activeOn?: string;\n unfolded?: boolean;\n children?: Links;\n defer?: boolean;\n loading?: boolean;\n loaded?: boolean;\n [propName: string]: any;\n itemBadge?: BadgeSchema;\n}\nexport interface Links extends Array<Link> {}\n\nexport interface NavigationState {\n links?: Links;\n error?: string;\n dropIndicator?: {\n top: number;\n left: number;\n width: number;\n height?: number;\n opacity?: number;\n };\n}\n\nexport interface NavigationProps\n extends ThemeProps,\n Omit<NavSchema, 'type' | 'className'> {\n onSelect?: (item: Link) => void | false;\n onToggle?: (item: Link, forceFold?: boolean) => void;\n onDragUpdate?: (dropInfo: IDropInfo) => void;\n togglerClassName?: string;\n links?: Array<Link>;\n loading?: boolean;\n render: RendererProps['render'];\n env: RendererEnv;\n data: Object;\n reload?: any;\n}\n\nexport interface IDropInfo {\n dragLink: Link | null;\n nodeId: string;\n position: string;\n rect: DOMRect;\n height: number;\n left: number;\n}\n\nexport class Navigation extends React.Component<\n NavigationProps,\n NavigationState\n> {\n static defaultProps = {\n indentSize: 24\n };\n\n dragNode: {\n node: HTMLElement;\n link: Link | null;\n } | null;\n dropInfo: IDropInfo | null;\n startPoint: {\n y: number;\n x: number;\n } = {\n y: 0,\n x: 0\n };\n state: NavigationState = {};\n\n @autobind\n handleClick(link: Link) {\n const {env, onSelect} = this.props;\n // 和 action 里命名一致方便分析\n if (link && link.to) {\n env?.tracker({\n eventType: 'link',\n eventData: {\n label: link.label,\n link: link.to\n }\n });\n }\n\n onSelect?.(link);\n }\n\n @autobind\n toggleLink(target: Link, forceFold?: boolean) {\n this.props.onToggle?.(target, forceFold);\n }\n\n @autobind\n getDropInfo(e: DragEvent, id: string, depth: number): IDropInfo {\n const {dragOnSameLevel, indentSize} = this.props;\n let rect = (e.target as HTMLElement).getBoundingClientRect();\n const dragLink = this.dragNode?.link as Link;\n const {top, height, width} = rect;\n let {clientY, clientX} = e;\n const left = depth * (parseInt(indentSize as any, 10) ?? 24);\n const deltaX = left + width * 0.2;\n let position;\n if (clientY >= top + height / 2) {\n position = 'bottom';\n } else {\n position = 'top';\n }\n if (\n !dragOnSameLevel &&\n position === 'bottom' &&\n clientX >= this.startPoint.x + deltaX\n ) {\n position = 'self';\n }\n return {\n nodeId: id,\n dragLink,\n position,\n rect,\n height,\n left\n };\n }\n @autobind\n updateDropIndicator(e: DragEvent) {\n const {dragOnSameLevel} = this.props;\n const target = e.target as HTMLElement; // a标签\n const targetId = target.getAttribute('data-id') as string;\n const targetDepth = Number(target.getAttribute('data-depth'));\n if (\n dragOnSameLevel &&\n this.dragNode?.node.parentElement !== target.parentElement?.parentElement\n ) {\n this.setState({dropIndicator: undefined});\n this.dropInfo = null;\n return;\n }\n this.dropInfo = this.getDropInfo(e, targetId, targetDepth);\n let {position, rect, dragLink, height, left} = this.dropInfo;\n if (targetId === dragLink?.__id) {\n this.setState({dropIndicator: undefined});\n this.dropInfo = null;\n return;\n }\n const ul = (findDOMNode(this) as HTMLElement).firstChild as HTMLElement;\n if (position === 'self') {\n this.setState({\n dropIndicator: {\n top: rect.top - ul.getBoundingClientRect().top,\n left,\n width: ul.getBoundingClientRect().width - left,\n height,\n opacity: 0.2\n }\n });\n } else {\n this.setState({\n dropIndicator: {\n top:\n (position === 'bottom' ? rect.top + rect.height : rect.top) -\n ul.getBoundingClientRect().top,\n left,\n width: ul.getBoundingClientRect().width - left\n }\n });\n }\n }\n\n @autobind\n handleDragStart(link: Link) {\n return (e: React.DragEvent) => {\n e.stopPropagation();\n const currentTarget = e.currentTarget as HTMLElement;\n e.dataTransfer.effectAllowed = 'copyMove';\n e.dataTransfer.setDragImage(currentTarget, 0, 0);\n this.dragNode = {\n node: currentTarget,\n link: link\n };\n this.dropInfo = null;\n this.startPoint = {\n x: e.clientX,\n y: e.clientY\n };\n currentTarget.addEventListener('dragend', this.handleDragEnd);\n document.body.addEventListener('dragover', this.handleDragOver);\n };\n }\n\n @autobind\n handleDragOver(e: DragEvent) {\n e.preventDefault();\n e.stopPropagation();\n if (!this.dragNode) {\n return;\n }\n const target = e.target as HTMLElement;\n const id = target.getAttribute('data-id');\n if (!id) {\n return;\n }\n this.updateDropIndicator(e);\n }\n\n @autobind\n handleDragEnd(e: DragEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dropIndicator: undefined\n });\n const currentTarget = e.currentTarget as HTMLElement;\n const id = currentTarget.getAttribute('data-id');\n let nodeId = this.dropInfo?.nodeId;\n if (!this.dropInfo || !nodeId || id === nodeId) {\n return;\n }\n currentTarget.removeEventListener('dragend', this.handleDragEnd);\n document.body.removeEventListener('dragover', this.handleDragOver);\n\n this.props.onDragUpdate?.(this.dropInfo);\n this.dragNode = null;\n this.dropInfo = null;\n }\n\n renderItem(link: Link, index: number, depth = 1) {\n if (link.hidden === true || link.visible === false) {\n return null;\n }\n const isActive: boolean = !!link.active;\n const {\n disabled,\n togglerClassName,\n classnames: cx,\n indentSize,\n render,\n itemActions,\n draggable,\n links,\n itemBadge,\n data: defaultData\n } = this.props;\n const hasSub =\n (link.defer && !link.loaded) || (link.children && link.children.length);\n return (\n <li\n key={link.__id}\n data-id={link.__id}\n className={cx('Nav-item', link.className, {\n 'is-disabled': disabled || link.disabled || link.loading,\n 'is-active': isActive,\n 'is-unfolded': link.unfolded,\n 'has-sub': hasSub\n })}\n onDragStart={this.handleDragStart(link)}\n >\n <Badge\n classnames={cx}\n badge={itemBadge}\n data={createObject(defaultData, link)}\n >\n <a\n data-id={link.__id}\n data-depth={depth}\n onClick={this.handleClick.bind(this, link)}\n style={{\n paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)\n }}\n >\n {!disabled && draggable ? (\n <div\n className={cx('Nav-itemDrager')}\n draggable\n onMouseDown={e => {\n this.toggleLink(link, true);\n e.stopPropagation();\n }}\n >\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n ) : null}\n {link.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Nav-spinner')}\n />\n ) : hasSub ? (\n <span\n onClick={e => {\n this.toggleLink(link);\n e.stopPropagation();\n }}\n className={cx('Nav-itemToggler', togglerClassName)}\n >\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n {generateIcon(cx, link.icon, 'Nav-itemIcon')}\n {link.label &&\n (typeof link.label === 'string'\n ? link.label\n : render('inline', link.label as SchemaCollection))}\n </a>\n {\n // 更多操作\n itemActions ? (\n <div className={cx('Nav-item-atcions')}>\n {render('inline', itemActions, {\n data: createObject(defaultData, link)\n })}\n </div>\n ) : null\n }\n {Array.isArray(link.children) && link.children.length ? (\n <ul className={cx('Nav-subItems')}>\n {link.children.map((link, index) =>\n this.renderItem(link, index, depth + 1)\n )}\n </ul>\n ) : null}\n </Badge>\n </li>\n );\n }\n\n render(): JSX.Element {\n const {className, stacked, classnames: cx, links, loading} = this.props;\n const {dropIndicator} = this.state;\n return (\n <div className={cx('Nav')}>\n <ul\n className={cx(\n 'Nav-list',\n className,\n stacked ? 'Nav-list--stacked' : 'Nav-list--tabs'\n )}\n >\n {Array.isArray(links)\n ? links.map((item, index) => this.renderItem(item, index))\n : null}\n\n <Spinner show={!!loading} overlay icon=\"reload\" />\n </ul>\n {dropIndicator ? (\n <div className={cx('Nav-dropIndicator')} style={dropIndicator} />\n ) : null}\n </div>\n );\n }\n}\n\nconst ThemedNavigation = themeable(Navigation);\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: (config: any, props: any) => {\n const links = Array.isArray(config)\n ? config\n : config.links || config.options || config.items || config.rows;\n\n if (!Array.isArray(links)) {\n throw new Error('payload.data.options is not array.');\n }\n\n return links;\n },\n afterLoad: (response: any, config: any, props: any) => {\n if (response.value && !someTree(config, item => item.active)) {\n const {env} = props;\n\n env.jumpTo(filter(response.value as string, props.data));\n }\n },\n normalizeConfig(\n links: Array<Link>,\n origin: Array<Link> | undefined,\n props: any,\n motivation?: string\n ) {\n if (Array.isArray(links) && motivation !== 'toggle') {\n const {data, env, unfoldedField, foldedField} = props;\n\n links = mapTree(\n links,\n (link: Link) => {\n const item: any = {\n ...link,\n ...getExprProperties(link, data as object),\n active:\n (motivation !== 'location-change' && link.active) ||\n (link.activeOn\n ? evalExpression(link.activeOn as string, data)\n : !!(\n link.hasOwnProperty('to') &&\n env &&\n env.isCurrentUrl(filter(link.to as string, data))\n )),\n __id: link.__id || guid()\n };\n\n item.unfolded =\n isUnfolded(item, {unfoldedField, foldedField}) ||\n (link.children && link.children.some(link => !!link.active));\n\n return item;\n },\n 1,\n true\n );\n }\n\n return links;\n },\n\n beforeDeferLoad(item: Link, indexes: Array<number>, links: Array<Link>) {\n return spliceTree(links, indexes, 1, {\n ...item,\n loading: true\n });\n },\n\n afterDeferLoad(\n item: Link,\n indexes: Array<number>,\n ret: Payload,\n links: Array<Link>\n ) {\n const newItem = {\n ...item,\n loading: false,\n loaded: true,\n error: ret.ok ? undefined : ret.msg\n };\n\n const children = Array.isArray(ret.data)\n ? ret.data\n : ret.data.links || ret.data.options || ret.data.items || ret.data.rows;\n\n if (Array.isArray(children)) {\n newItem.children = children.concat();\n newItem.unfolded = true;\n }\n\n return spliceTree(links, indexes, 1, newItem);\n }\n})(\n class extends React.Component<\n RemoteOptionsProps &\n React.ComponentProps<typeof ThemedNavigation> & {\n location?: any;\n env?: RendererEnv;\n data?: any;\n unfoldedField?: string;\n foldedField?: string;\n reload?: any;\n }\n > {\n constructor(props: any) {\n super(props);\n this.toggleLink = this.toggleLink.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.dragUpdate = this.dragUpdate.bind(this);\n }\n\n componentDidMount() {\n if (Array.isArray(this.props.links)) {\n this.props.updateConfig(this.props.links, 'mount');\n }\n }\n\n componentDidUpdate(prevProps: any) {\n if (this.props.location !== prevProps.location) {\n this.props.updateConfig(this.props.config, 'location-change');\n } else if (this.props.links !== prevProps.links) {\n this.props.updateConfig(this.props.links, 'update');\n }\n }\n\n toggleLink(target: Link, forceFold?: boolean) {\n const {config, updateConfig, deferLoad} = this.props;\n\n if (target.defer && !target.loaded) {\n deferLoad(target);\n } else {\n updateConfig(\n mapTree(config, (link: Link) =>\n target === link\n ? {\n ...link,\n unfolded: forceFold ? false : !link.unfolded\n }\n : link\n ),\n 'toggle'\n );\n }\n }\n\n async dragUpdate(dropInfo: IDropInfo) {\n let links = this.props.config;\n const {nodeId, dragLink, position} = dropInfo;\n if (dragLink) {\n // 删除原节点\n const sourceIdx = findTreeIndex(\n links,\n link => link.__id === dragLink.__id\n ) as number[];\n links = spliceTree(links, sourceIdx, 1);\n\n if (position === 'self') {\n // 插入到对应节点的children中\n mapTree(links, link => {\n if (link.__id === nodeId) {\n if (!link.children) {\n link.children = [];\n }\n link.children.push(dragLink);\n }\n return link;\n });\n } else {\n // 找到需要插入的节点\n const idx = findTreeIndex(\n links,\n link => link.__id === nodeId\n ) as number[];\n // 插入节点之后\n if (position === 'bottom') {\n idx.push((idx.pop() as number) + 1);\n }\n links = spliceTree(links, idx, 0, dragLink);\n }\n }\n this.props.updateConfig(links, 'update');\n await this.saveOrder(\n mapTree(links, (link: Link) => {\n // 清除内部加的字段\n for (let key in link) {\n if (/^__.*$/.test(key)) {\n delete link[key];\n }\n }\n return link;\n })\n );\n }\n\n async saveOrder(links: Links) {\n const {saveOrderApi, env, data, reload} = this.props;\n if (saveOrderApi && isEffectiveApi(saveOrderApi)) {\n await env.fetcher(\n saveOrderApi as SchemaApi,\n createObject(data, {data: links}),\n {method: 'post'}\n );\n reload();\n } else {\n env.alert('NAV saveOrderApi is required!');\n }\n }\n\n handleSelect(link: Link) {\n const {onSelect, env, data} = this.props;\n if (onSelect && onSelect(link) === false) {\n return;\n }\n\n if (\n !link.to &&\n ((link.children && link.children.length) ||\n (link.defer && !link.loaded))\n ) {\n this.toggleLink(link);\n return;\n }\n\n env?.jumpTo(filter(link.to as string, data), link as any);\n }\n\n render() {\n const {loading, config, deferLoad, updateConfig, ...rest} = this.props;\n return (\n <ThemedNavigation\n {...rest}\n loading={loading}\n links={config || []}\n disabled={loading}\n onSelect={this.handleSelect}\n onToggle={this.toggleLink}\n onDragUpdate={this.dragUpdate}\n />\n );\n }\n }\n);\n\nexport default ThemedNavigation;\n@Renderer({\n test: /(^|\\/)(?:nav|navigation)$/,\n name: 'nav'\n})\nexport class NavigationRenderer extends React.Component<RendererProps> {\n static contextType = ScopedContext;\n\n remoteRef:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined = undefined;\n\n @autobind\n remoteConfigRef(ref: any) {\n this.remoteRef = ref;\n }\n\n constructor(props: RendererProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n @autobind\n reload(target?: string, query?: any, values?: object) {\n if (query) {\n return this.receive(query);\n }\n\n const {data, env, source, translate: __} = this.props;\n const finalData = values ? createObject(data, values) : data;\n\n this.remoteRef?.loadConfig(finalData);\n }\n\n @autobind\n receive(values: object) {\n this.reload(undefined, undefined, values);\n }\n\n render() {\n const {...rest} = this.props;\n return (\n <ConditionBuilderWithRemoteOptions\n {...rest}\n reload={this.reload}\n remoteConfigRef={this.remoteConfigRef}\n />\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -24,8 +24,11 @@ var TableRow = /** @class */ (function (_super) {
|
|
24
24
|
var _a = this.props, itemAction = _a.itemAction, onAction = _a.onAction, item = _a.item;
|
25
25
|
if (itemAction) {
|
26
26
|
onAction && onAction(e, itemAction, item === null || item === void 0 ? void 0 : item.data);
|
27
|
+
item.toggle();
|
28
|
+
}
|
29
|
+
else {
|
30
|
+
this.props.onCheck(this.props.item);
|
27
31
|
}
|
28
|
-
this.props.onCheck(this.props.item);
|
29
32
|
};
|
30
33
|
TableRow.prototype.handleAction = function (e, action, ctx) {
|
31
34
|
var _a = this.props, onAction = _a.onAction, item = _a.item;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/TableRow.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,yCAAoC;AACpC,6DAA0B;AAK1B,6CAAkD;AAuBlD;IAA8B,yCAA8B;IAC1D,yBAAyB;IACzB,kBAAY,KAAoB;QAAhC,YACE,kBAAM,KAAK,CAAC,SAKb;QAJC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACzD,CAAC;IAED,4BAA4B;IAC5B,kCAAe,GAAf,UAAgB,CAAwC;QACtD,IAAI,IAAA,uBAAc,EAAC,CAAC,CAAC,EAAE;YACrB,OAAO;SACR;QACK,IAAA,KAA+B,IAAI,CAAC,KAAK,EAAxC,UAAU,gBAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAc,CAAC;QAChD,IAAI,UAAU,EAAE;YACd,QAAQ,IAAI,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAC;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {observer} from 'mobx-react';\nimport React from 'react';\nimport {IRow, IColumn} from '../../store/table';\nimport {RendererProps} from '../../factory';\nimport {Action} from '../Action';\nimport {reaction} from 'mobx';\nimport {isClickOnInput} from '../../utils/helper';\n\ninterface TableRowProps extends Pick<RendererProps, 'render'> {\n onCheck: (item: IRow) => void;\n classPrefix: string;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n columns: Array<IColumn>;\n item: IRow;\n parent?: IRow;\n itemClassName?: string;\n itemIndex: number;\n regionPrefix?: string;\n checkOnItemClick?: boolean;\n ignoreFootableContent?: boolean;\n [propName: string]: any;\n}\n\n@observer\nexport class TableRow extends React.Component<TableRowProps> {\n // reaction?: () => void;\n constructor(props: TableRowProps) {\n super(props);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleItemClick = this.handleItemClick.bind(this);\n }\n\n // 定义点击一行的行为,通过 itemAction配置\n handleItemClick(e: React.MouseEvent<HTMLTableRowElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n const {itemAction, onAction, item} = this.props;\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data);\n }\n
|
11
|
+
"import {observer} from 'mobx-react';\nimport React from 'react';\nimport {IRow, IColumn} from '../../store/table';\nimport {RendererProps} from '../../factory';\nimport {Action} from '../Action';\nimport {reaction} from 'mobx';\nimport {isClickOnInput} from '../../utils/helper';\n\ninterface TableRowProps extends Pick<RendererProps, 'render'> {\n onCheck: (item: IRow) => void;\n classPrefix: string;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n columns: Array<IColumn>;\n item: IRow;\n parent?: IRow;\n itemClassName?: string;\n itemIndex: number;\n regionPrefix?: string;\n checkOnItemClick?: boolean;\n ignoreFootableContent?: boolean;\n [propName: string]: any;\n}\n\n@observer\nexport class TableRow extends React.Component<TableRowProps> {\n // reaction?: () => void;\n constructor(props: TableRowProps) {\n super(props);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleItemClick = this.handleItemClick.bind(this);\n }\n\n // 定义点击一行的行为,通过 itemAction配置\n handleItemClick(e: React.MouseEvent<HTMLTableRowElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n const {itemAction, onAction, item} = this.props;\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data);\n item.toggle();\n } else {\n this.props.onCheck(this.props.item);\n }\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: any) {\n const {onAction, item} = this.props;\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleQuickChange(\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n const {onQuickChange, item} = this.props;\n onQuickChange &&\n onQuickChange(item, values, saveImmediately, savePristine, resetOnFailed);\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n if (!name || typeof name !== 'string') {\n return;\n }\n\n const {item, onQuickChange} = this.props;\n\n onQuickChange?.(\n item,\n {\n [name]: value\n },\n submit,\n changePristine\n );\n }\n\n render() {\n const {\n itemClassName,\n itemIndex,\n item,\n columns,\n renderCell,\n children,\n footableMode,\n ignoreFootableContent,\n footableColSpan,\n regionPrefix,\n checkOnItemClick,\n classPrefix: ns,\n render,\n classnames: cx,\n parent,\n itemAction,\n ...rest\n } = this.props;\n\n if (footableMode) {\n if (!item.expanded) {\n return null;\n }\n\n return (\n <tr\n data-id={item.id}\n data-index={item.newIndex}\n onClick={\n checkOnItemClick || itemAction ? this.handleItemClick : undefined\n }\n className={cx(itemClassName, {\n 'is-hovered': item.isHover,\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved,\n [`Table-tr--hasItemAction`]: itemAction, // 就是为了加鼠标效果\n [`Table-tr--odd`]: itemIndex % 2 === 0,\n [`Table-tr--even`]: itemIndex % 2 === 1\n })}\n >\n <td className={cx(`Table-foot`)} colSpan={footableColSpan}>\n <table className={cx(`Table-footTable`)}>\n <tbody>\n {ignoreFootableContent\n ? columns.map(column => (\n <tr key={column.index}>\n {column.label !== false ? <th></th> : null}\n <td></td>\n </tr>\n ))\n : columns.map(column => (\n <tr key={column.index}>\n {column.label !== false ? (\n <th>\n {render(\n `${regionPrefix}${itemIndex}/${column.index}/tpl`,\n column.label\n )}\n </th>\n ) : null}\n\n {renderCell(\n `${regionPrefix}${itemIndex}/${column.index}`,\n column,\n item,\n {\n ...rest,\n width: null,\n rowIndex: itemIndex,\n colIndex: column.index,\n key: column.index,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange,\n onChange: this.handleChange\n }\n )}\n </tr>\n ))}\n </tbody>\n </table>\n </td>\n </tr>\n );\n }\n\n if (parent && !parent.expanded) {\n return null;\n }\n\n return (\n <tr\n onClick={\n checkOnItemClick || itemAction ? this.handleItemClick : undefined\n }\n data-index={item.depth === 1 ? item.newIndex : undefined}\n data-id={item.id}\n className={cx(\n itemClassName,\n {\n 'is-hovered': item.isHover,\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved,\n 'is-expanded': item.expanded,\n 'is-expandable': item.expandable,\n [`Table-tr--hasItemAction`]: itemAction,\n [`Table-tr--odd`]: itemIndex % 2 === 0,\n [`Table-tr--even`]: itemIndex % 2 === 1\n },\n `Table-tr--${item.depth}th`\n )}\n >\n {columns.map(column =>\n renderCell(`${itemIndex}/${column.index}`, column, item, {\n ...rest,\n rowIndex: itemIndex,\n colIndex: column.index,\n key: column.index,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange,\n onChange: this.handleChange\n })\n )}\n </tr>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/formItem.js
CHANGED
@@ -394,20 +394,20 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
|
|
394
394
|
});
|
395
395
|
var loadOptions = (0, mobx_state_tree_1.flow)(function getInitData(api, data, config, clearValue, onChange, setErrorFlag) {
|
396
396
|
var json, options;
|
397
|
-
var _a;
|
398
|
-
return (0, tslib_1.__generator)(this, function (
|
399
|
-
switch (
|
397
|
+
var _a, _b, _c;
|
398
|
+
return (0, tslib_1.__generator)(this, function (_d) {
|
399
|
+
switch (_d.label) {
|
400
400
|
case 0: return [4 /*yield*/, fetchOptions(api, data, config, setErrorFlag)];
|
401
401
|
case 1:
|
402
|
-
json =
|
402
|
+
json = _d.sent();
|
403
403
|
if (!json) {
|
404
404
|
return [2 /*return*/];
|
405
405
|
}
|
406
406
|
clearError();
|
407
407
|
self.validated = false; // 拉完数据应该需要再校验一下
|
408
408
|
options = ((_a = json.data) === null || _a === void 0 ? void 0 : _a.options) ||
|
409
|
-
json.data.items ||
|
410
|
-
json.data.rows ||
|
409
|
+
((_b = json.data) === null || _b === void 0 ? void 0 : _b.items) ||
|
410
|
+
((_c = json.data) === null || _c === void 0 ? void 0 : _c.rows) ||
|
411
411
|
json.data ||
|
412
412
|
[];
|
413
413
|
options = (0, Select_1.normalizeOptions)(options);
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/store/formItem.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,mDAUyB;AACzB,+BAA6C;AAC7C,oDAAuE;AAEvE,iCAA8D;AAC9D,oCAA4C;AAC5C,oCAA4C;AAC5C,4EAAyC;AACzC,0CAWyB;AACzB,0CAA4C;AAE5C,+CAA0E;AAC1E,kEAA+B;AAC/B,gDAA6C;AAG7C,+BAAiC;AAEjC,qCAAuC;AAWvC,IAAM,WAAW,GAAG,uBAAK,CAAC,KAAK,CAAC,aAAa,EAAE;IAC7C,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;CACT,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,gBAAS,CAAC,KAAK,CAAC,eAAe,CAAC;KAC1D,KAAK,CAAC;IACL,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,uBAAK,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,uBAAK,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IACzC,QAAQ,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IAC5C,SAAS,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,EAAE,uBAAK,CAAC,MAAM;IAClB,MAAM,EAAE,EAAE;IACV,qBAAqB,EAAE,KAAK;IAC5B,QAAQ,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,KAAK,CAAC,uBAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IACvD,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAc,EAAE,EAAE,CAAC;IACvD,oBAAoB,EAAE,KAAK;IAC3B,WAAW,EAAE,KAAK;IAClB,QAAQ,EAAE,uBAAK,CAAC,MAAM,EAAE;IACxB,kBAAkB,EAAE,KAAK;IACzB,WAAW,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IAC/C,eAAe,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IACnD,eAAe,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IACnD,YAAY,EAAE,uBAAK,CAAC,MAAM,EAAE;IAC5B,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,uBAAK,CAAC,MAAM,EAAE;IAC1B,UAAU,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IAC9C,gBAAgB,EAAE,KAAK;CACxB,CAAC;KACD,KAAK,CAAC,UAAA,IAAI;IACT,SAAS,OAAO;QACd,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,MAAK,gBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED,SAAS,QAAQ;;QACf,OAAO,MAAA,OAAO,EAAE,0CAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,kBAAkB;QACzB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;SACpE;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,SAAS;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,GAAG,EAAR,CAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,IAAI,YAAY;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,IAAI;YACN,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,KAAK;YACP,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,SAAS;;YACX,OAAO,MAAC,OAAO,EAAiB,0CAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,MAAM;YACR,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,KAAK;YACP,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,aAAa;YACf,OAAO,IAAI,CAAC,SAAS;iBAClB,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC;iBACtB,MAAM,CAAC,UAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAK,OAAA,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,EAAnC,CAAmC,CAAC;iBACjE,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,gBAAc,IAAM,EAApB,CAAoB,CAAC;iBACjC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QAED,IAAI,eAAe;YACjB,OAAO,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAED,kBAAkB,EAAE,UAClB,KAA0B,EAC1B,cAAkC;YADlC,sBAAA,EAAA,QAAa,IAAI,CAAC,QAAQ;YAG1B,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;gBAChC,OAAO,EAAE,CAAC;aACX;YAED,IAAM,UAAU,GAAG,cAAc;gBAC/B,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACtB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;wBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;wBACpC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACZ,IAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,UAAA,IAAI;gBAClC,OAAA,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;oBACrD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;oBAClC,CAAC,CAAC,IAAI;YAFR,CAEQ,CACT,CAAC;YAEF,IAAM,eAAe,GAAe,EAAE,CAAC;YAEvC,QAAQ,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;;gBAC3B,IAAM,OAAO,GAAG,IAAA,iBAAQ,EACtB,IAAI,CAAC,eAAe,EACpB,IAAA,2BAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CACrD,CAAC;gBAEF,IAAI,OAAO,EAAE;oBACX,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC/B;qBAAM;oBACL,IAAI,SAAS,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;oBAE1D,IACE,SAAS;wBACT,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,EAChE;wBACA,SAAS;4BACP,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,IAAI;4BAClC,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,IAAI;4BAClC,cAAW,GAAE,IAAI;+BAClB,CAAC;qBACH;yBAAM,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;wBACzC,SAAS;4BACP,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,IAAI;4BAClC,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,SAAS;4BACvC,cAAW,GAAE,IAAI;+BAClB,CAAC;qBACH;oBAED,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC9C;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,eAAe,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;KAED,OAAO,CAAC,UAAA,IAAI;IACX,IAAM,IAAI,GAAG,IAAI,CAAC,IAAkB,CAAC;IACrC,IAAM,eAAe,GAAG,IAAI,qBAAS,EAA0B,CAAC;IAEhE,SAAS,MAAM,CAAC,EA0Cf;YAzCC,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA,EACL,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,IAAI,UAAA,EACJ,EAAE,QAAA,EACF,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,kBAAkB,wBAAA,EAClB,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,SAAS,eAAA,EACT,gBAAgB,sBAAA;QAuBhB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;SAC1B;QAED,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAChD,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAC9D,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO,WAAW,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QACzE,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAC9D,OAAO,UAAU,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QACtE,OAAO,YAAY,KAAK,WAAW;YACjC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QACvC,OAAO,SAAS,KAAK,WAAW;YAC9B,CAAC,IAAI,CAAC,SAAS,GAAI,SAAoB,IAAI,GAAG,CAAC,CAAC;QAClD,OAAO,UAAU,KAAK,WAAW;YAC/B,CAAC,IAAI,CAAC,UAAU,GAAI,UAAqB,IAAI,OAAO,CAAC,CAAC;QACxD,OAAO,UAAU,KAAK,WAAW;YAC/B,CAAC,IAAI,CAAC,UAAU,GAAI,UAAqB,IAAI,OAAO,CAAC,CAAC;QACxD,OAAO,kBAAkB,KAAK,WAAW;YACvC,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnD,OAAO,WAAW,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;QACvE,OAAO,gBAAgB,KAAK,WAAW;YACrC,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAE/C,KAAK,mDACA,KAAK,KACR,UAAU,EAAE,IAAI,CAAC,QAAQ,GAC1B,CAAC;QAEF,uBAAuB;QACvB,QAAQ;QACR,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gBACjC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;aAC7B;YAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gBACjC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;aAC7B;SACF;QAED,IAAI,IAAA,gCAAuB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,UAAU,CAAC,SAAS,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;IAED,SAAS,KAAK;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,SAAS,IAAI;QACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,cAAc,GAAoB,IAAI,CAAC;IAC3C,IAAM,QAAQ,GAAmD,IAAA,sBAAI,EACnE,SAAU,QAAQ,CAAC,IAAY,EAAE,IAAU;;;;;;oBACzC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAA,oBAAc,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;wBAC9D,sBAAO,IAAI,CAAC,KAAK,EAAC;qBACnB;oBAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,UAAU,EAAE,CAAC;yBACT,IAAI,EAAJ,wBAAI;oBACN,qBAAM,IAAI,EAAE,EAAA;;oBAAZ,SAAY,CAAC;;;oBAGf,QAAQ,CACN,IAAA,sBAAU,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CACpE,CAAC;yBAEE,CAAA,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAA,oBAAc,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA,EAA7D,wBAA6D;oBAC/D,IAAI,cAAc,EAAE;wBAClB,cAAc,EAAE,CAAC;wBACjB,cAAc,GAAG,IAAI,CAAC;qBACvB;oBAEqB,qBAAM,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAC9C,IAAI,CAAC,WAAW,EAChB,IAAI,EACJ;4BACE,cAAc,EAAE,UAAC,QAAkB;gCACjC,OAAA,CAAC,cAAc,GAAG,QAAQ,CAAC;4BAA3B,CAA2B;yBAC9B,CACF,EAAA;;oBAPK,IAAI,GAAY,SAOrB;oBACD,cAAc,GAAG,IAAI,CAAC;oBAEtB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;wBAClD,QAAQ,CACN,MAAM,CACJ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,6BAAO,IAAI,CAAC,IAAI,mCAAO,CACnD,CACF,CAAC;qBACH;;;oBAGH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBAEtB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,0CAAE,SAAS,MAAK,YAAY,EAAE;wBAC/D,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAA0B,CAAC;wBAC7C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC;wBAE3D,IACE,KAAK,CAAC,KAAK,CAAC,IAAI,CACd,UAAA,IAAI;4BACF,OAAA,IAAI,KAAK,IAAI;gCACb,IAAI,CAAC,QAAQ,KAAK,SAAS;gCAC3B,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ;wBAF5B,CAE4B,CAC/B,EACD;4BACA,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;yBAClC;qBACF;oBAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,sBAAO,IAAI,CAAC,KAAK,EAAC;;;KACnB,CACF,CAAC;IAEF,SAAS,QAAQ,CAAC,GAA2B,EAAE,GAAuB;QAAvB,oBAAA,EAAA,eAAuB;QACpE,UAAU,EAAE,CAAC;QACb,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,SAAS,QAAQ,CACf,GAQK,EACL,GAAuB;QAAvB,oBAAA,EAAA,eAAuB;QAEvB,IAAM,IAAI,GAMN,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,UAAA,IAAI;YACf,OAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,GAAG,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;gBAC/C,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACtD,GAAG,EAAE,GAAG;aACT,CAAC;QAJF,CAIE,CACH,CAAC;IACJ,CAAC;IAED,SAAS,UAAU,CAAC,GAAY;QAC9B,IAAI,GAAG,EAAE;YACP,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,GAAG,KAAK,GAAG,EAAhB,CAAgB,CAAC,CAAC;YACjE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;IACH,CAAC;IAED,SAAS,qBAAqB,CAAC,OAAmB;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO;SACR;QAED,KAAmB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;YAAvB,IAAI,MAAM,gBAAA;YACb,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1D,IAAI,UAAU,KAAK,SAAS,EAAE;oBAC5B,OAAO,UAAU,CAAC;iBACnB;aACF;iBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACjE,OAAO,MAAM,CAAC;aACf;SACF;IACH,CAAC;IAED,SAAS,UAAU,CACjB,OAAsB,EACtB,QAA+B,EAC/B,IAAa;QAEb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO;SACR;QACD,OAAO,GAAG,IAAA,mBAAU,EAAC,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,EAAJ,CAAI,CAAC,CAAC;QAC5C,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,eAAe,CAAC;QAEpB,IACE,QAAQ;YACR,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,eAAe,CAAC,MAAM;YAC3B,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC,eAAe,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,WAAW,EAAjB,CAAiB,CAAC,CAAC,MAAM,EACzD;YACA,IAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,IAAM,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAC,IAAS;gBACtC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE;oBACxC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC;iBACzC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAM,KAAK,GACT,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ;gBAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEd,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;IACH,CAAC;IAED,IAAI,UAAU,GAAoB,IAAI,CAAC;IACvC,IAAM,YAAY,GAKa,IAAA,sBAAI,EAAC,SAAU,WAAW,CACvD,GAAW,EACX,IAAY,EACZ,MAAqB,EACrB,YAAsB;;;;;;;oBAGpB,IAAI,UAAU,EAAE;wBACd,UAAU,EAAE,CAAC;wBACb,UAAU,GAAG,IAAI,CAAC;wBAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBAED,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;qBACrB;oBAEqB,qBAAM,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,0BACxD,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,UAAC,QAAkB,IAAK,OAAA,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAvB,CAAuB,IAC5D,MAAM,EACT,EAAA;;oBAJI,IAAI,GAAY,SAIpB;oBACF,UAAU,GAAG,IAAI,CAAC;oBACd,MAAM,GAAQ,IAAI,CAAC;oBAEvB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;wBACZ,YAAY,KAAK,KAAK;4BACpB,QAAQ,CACN,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE;gCAChC,MAAM,EAAE,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC;6BACpD,CAAC,CACH,CAAC;wBACJ,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CACjB,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAO,GAAG,cAAI,IAAI,CAAC,GAAK,EAC5C,IAAI,CAAC,UAAU,KAAK,SAAS;4BAC3B,CAAC,CAAC;gCACE,WAAW,EAAE,IAAI;gCACjB,OAAO,EAAE,IAAI,CAAC,UAAU;6BACzB;4BACH,CAAC,CAAC,SAAS,CACd,CAAC;qBACH;yBAAM;wBACL,MAAM,GAAG,IAAI,CAAC;qBACf;oBAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,sBAAO,MAAM,EAAC;;;oBAER,GAAG,GAAG,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC;oBAEzB,IAAI,CAAC,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,sBAAO;qBACR;oBAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAC,CAAC,EAAE;wBACnB,sBAAO;qBACR;oBAED,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,CAAC;oBACvB,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAC,CAAC,OAAO,CAAC,CAAC;oBAC/B,sBAAO;;;;KAEH,CAAC,CAAC;IAEV,IAAM,WAAW,GASc,IAAA,sBAAI,EAAC,SAAU,WAAW,CACvD,GAAW,EACX,IAAY,EACZ,MAAqB,EACrB,UAAgB,EAChB,QAIS,EACT,YAAsB;;;;;wBAEX,qBAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAA;;oBAA1D,IAAI,GAAG,SAAmD;oBAC9D,IAAI,CAAC,IAAI,EAAE;wBACT,sBAAO;qBACR;oBAED,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,gBAAgB;oBAEpC,OAAO,GACT,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO;wBAClB,IAAI,CAAC,IAAI,CAAC,KAAK;wBACf,IAAI,CAAC,IAAI,CAAC,IAAI;wBACd,IAAI,CAAC,IAAI;wBACT,EAAE,CAAC;oBAEL,OAAO,GAAG,IAAA,yBAAgB,EAAC,OAAc,CAAC,CAAC;oBAE3C,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,KAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,IAAS;4BACrC,IAAM,MAAM,GAAG,IAAA,iBAAQ,EACrB,OAAc,EACd,IAAA,2BAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CACrD,CAAC;4BAEF,IAAI,CAAC,MAAM,EAAE;gCACX,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;6BACpB;wBACH,CAAC,CAAC,CAAC;qBACJ;oBAED,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAEpC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAQ,IAAI,CAAC,IAAY,CAAC,KAAK,KAAK,WAAW,EAAE;wBAChE,QAAQ,IAAI,QAAQ,CAAE,IAAI,CAAC,IAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC7D;yBAAM,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,WAAW,EAAhB,CAAgB,CAAC;4BACxD,QAAQ;4BACR,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC7B;oBAED,sBAAO,IAAI,EAAC;;;KACb,CAAC,CAAC;IAEH,IAAM,uBAAuB,GAKE,IAAA,sBAAI,EAAC,UAClC,MAAW,EACX,GAAW,EACX,IAAY,EACZ,MAAqB;;;;;;oBAErB,IACE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;wBACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAC3C;wBACA,sBAAO;qBACR;oBAEG,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAkB,CAAC;oBAE/C,OAAO,GAAG,IAAA,sBAAa,EAAC,WAAW,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,MAAM,EAAf,CAAe,CAAC,CAAC;oBACpE,IAAI,CAAC,OAAO,EAAE;wBACZ,sBAAO;qBACR;oBAED,UAAU,CACR;wEAEO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAClB,WAAW,EAAE,IAAA,mBAAU,EAAC,WAAW,EAAE,OAAO,EAAE,CAAC,kDAC1C,MAAM,KACT,OAAO,EAAE,IAAI,IACb;qBAEL,EACD,SAAS,EACT,IAAI,CACL,CAAC;oBAES,qBAAM,YAAY,CAC3B,GAAG,EACH,IAAI,kDAEC,MAAM,KACT,MAAM,EAAE,IAAI,KAEd,KAAK,CACN,EAAA;;oBARG,IAAI,GAAG,SAQV;oBACD,IAAI,CAAC,IAAI,EAAE;wBACT,UAAU,CACR;4EAEO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAClB,WAAW,EAAE,IAAA,mBAAU,EAAC,WAAW,EAAE,OAAO,EAAE,CAAC,kDAC1C,MAAM,KACT,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,IAAI,IACX;yBAEL,EACD,SAAS,EACT,IAAI,CACL,CAAC;wBACF,sBAAO;qBACR;oBAEG,OAAO,GACT,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO;wBAClB,IAAI,CAAC,IAAI,CAAC,KAAK;wBACf,IAAI,CAAC,IAAI,CAAC,IAAI;wBACd,IAAI,CAAC,IAAI;wBACT,EAAE,CAAC;oBAEL,UAAU,CACR;wEAEO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAClB,WAAW,EAAE,IAAA,mBAAU,EAAC,WAAW,EAAE,OAAO,EAAE,CAAC,kDAC1C,MAAM,KACT,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,OAAO,IACjB;qBAEL,EACD,SAAS,EACT,IAAI,CACL,CAAC;oBAEF,8CAA8C;oBAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;wBACrC,aAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAEnD,IAAA,oBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;4BACnD,IACE,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,EAAvB,CAAuB,CAAC,EACpE;gCACA,UAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;6BAC/C;wBACH,CAAC,CAAC,CAAC;wBAEH,UAAU,CAAC,iDAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAE,QAAQ,YAAA,IAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;qBAC/D;oBAED,sBAAO,IAAI,EAAC;;;KACb,CAAC,CAAC;IAEH,IAAM,gBAAgB,GAKS,IAAA,sBAAI,EAAC,UAClC,MAAW,EACX,GAAW,EACX,IAAY,EACZ,MAAqB;;;;;;oBAEf,OAAO,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,MAAM,EAAf,CAAe,CAAC,CAAC;yBACjE,CAAC,OAAO,EAAR,wBAAQ;oBACH,qBAAM,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAA;wBAA/D,sBAAO,SAAwD,EAAC;;oBAGlE,UAAU,CACR,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,kDAC9B,MAAM,KACT,OAAO,EAAE,IAAI,IACb,EACF,SAAS,EACT,IAAI,CACL,CAAC;oBAES,qBAAM,YAAY,CAC3B,GAAG,EACH,IAAI,kDAEC,MAAM,KACT,MAAM,EAAE,IAAI,KAEd,KAAK,CACN,EAAA;;oBARG,IAAI,GAAG,SAQV;oBACD,IAAI,CAAC,IAAI,EAAE;wBACT,UAAU,CACR,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,kDAC9B,MAAM,KACT,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,IAAI,IACX,EACF,SAAS,EACT,IAAI,CACL,CAAC;wBACF,sBAAO;qBACR;oBAEG,OAAO,GACT,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO;wBAClB,IAAI,CAAC,IAAI,CAAC,KAAK;wBACf,IAAI,CAAC,IAAI,CAAC,IAAI;wBACd,IAAI,CAAC,IAAI;wBACT,EAAE,CAAC;oBAEL,UAAU,CACR,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,kDAC9B,MAAM,KACT,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,OAAO,IACjB,EACF,SAAS,EACT,IAAI,CACL,CAAC;oBAEF,sBAAO,IAAI,EAAC;;;KACb,CAAC,CAAC;IAEH;;OAEG;IACH,IAAM,iBAAiB,GAKe,IAAA,sBAAI,EAAC,SAAU,WAAW,CAC9D,WAAkB,EAClB,GAAW,EACX,IAAY,EACZ,MAAqB;;;;;;oBAGf,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;0BAEA,EAAX,2BAAW;;;yBAAX,CAAA,yBAAW,CAAA;oBAAvB,QAAQ;oBACf,iBAAiB;oBACjB,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;wBACxB,wBAAS;qBACV;wCAGQ,KAAK;;;;;oCACR,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oCAC7B,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;oCAEhC,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;;qCAEjC;oCAEG,IAAI,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,UAAC,IAAI,EAAE,GAAG,EAAE,SAAiB;wCACrD,OAAO,CACL,SAAS,KAAK,KAAK,GAAG,CAAC;4CACvB,IAAA,2BAAkB,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAChE,CAAC;oCACJ,CAAC,CAAC,CAAC;oCAEH,WAAW;oCACX,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;;qCAEzB;oCACK,OAAO,GAAG,IAAA,sBAAa,EAC3B,IAAI,EACJ,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,IAAI,EAAb,CAAa,CACV,CAAC;oCAEd,UAAU,CACR,IAAA,mBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,CAAC,kDACtB,IAAI,KACP,OAAO,EAAE,IAAI,IACb,EACF,SAAS,EACT,IAAI,CACL,CAAC;oCAES,qBAAM,YAAY,CAC3B,GAAG,EACH,IAAI,kDACA,MAAM,KAAE,MAAM,EAAE,IAAI,KACxB,KAAK,CACN,EAAA;;oCALG,IAAI,GAAG,SAKV;oCAED,IAAI,CAAC,IAAI,EAAE;wCACT,UAAU,CACR,IAAA,mBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,CAAC,kDACtB,IAAI,KACP,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,IAAI,IACX,EACF,SAAS,EACT,IAAI,CACL,CAAC;qCACH;oCAED,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oCAE/B,eAAe,GACjB,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO;wCAClB,IAAI,CAAC,IAAI,CAAC,KAAK;wCACf,IAAI,CAAC,IAAI,CAAC,IAAI;wCACd,IAAI,CAAC,IAAI;wCACT,EAAE,CAAC;oCAEL,UAAU,CACR,IAAA,mBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,CAAC,kDACtB,IAAI,KACP,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,eAAe,IACzB,EACF,SAAS,EACT,IAAI,CACL,CAAC;;;;;oBAtEK,KAAK,GAAG,CAAC;;;yBAAE,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;kDAAtC,KAAK;;;;;oBAAmC,KAAK,EAAE,CAAA;;;oBAPrC,IAAW,CAAA;;;;;KAgFjC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,SAAS,WAAW,CAAC,aAA0B,EAAE,IAAa;;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAC7D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,OAAO;SACR;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE5B,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI;gBACZ,OAAA,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;oBACrD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;oBAClC,CAAC,CAAC,IAAI;YAFR,CAEQ,CACT;YACH,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;gBACpC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;oBAClB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;4BACvD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;4BACnC,CAAC,CAAC,KAAK;qBACV,CAAC;QAEN,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE;YAC7D,QAAQ,CAAC,CAAC,CAAC;gBACT,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;gBAC/D,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;mBAChE,CAAC;SACH;QAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO;aAC/B,MAAM,CAAC,UAAC,IAAS;YAChB,IACE,CAAC,oBAAoB;gBACrB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,EACpD;gBACA,oBAAoB,GAAG,IAAI,CAAC;aAC7B;YAED,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAA,oBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,KAAK;gBAChD,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,IAAA,oBAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,IAAI;oBAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QACrD,CAAC,CAAC;aACD,GAAG,CAAC,UAAC,IAAS,EAAE,KAAK;YACpB,IAAM,QAAQ,GAAG,IAAA,oBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACvD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU;gBAC7B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,KAAK;oBACnC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,QAAQ;oBACjD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;oBAC7B,CAAC,iDACM,IAAI,KACP,QAAQ,EAAE,QAAQ,GACnB;gBACL,CAAC,CAAC,IAAI,CAAC;YAET,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAM,SAAS,GAAe,IAAA,oBAAW,EAAC,eAAe,CAAC,CAAC;QAC3D,IAAM,eAAe,GAAe,EAAE,CAAC;QAEvC,QAAQ,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;;YAC3B,IAAI,GAAG,GAAG,IAAA,mBAAS,EACjB,SAAS,EACT,IAAA,2BAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CACrD,CAAC;YAEF,IAAI,CAAC,GAAG,EAAE;gBACR,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;aACtC;iBAAM;gBACL,IAAI,SAAS,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;gBAEhD,IACE,SAAS;oBACT,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,EAChE;oBACA,SAAS;wBACP,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,IAAI;wBAClC,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,IAAI;wBAClC,cAAW,GAAE,IAAI;2BAClB,CAAC;oBAEF,IAAM,KAAK,GACT,aAAa;wBACb,IAAA,cAAI,EACF,aAAa,EACb,IAAA,2BAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CACrD,CAAC;oBAEJ,IAAI,KAAK,EAAE;wBACT,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;4BACnC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC;qBACrC;iBACF;qBAAM,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;oBACzC,SAAS;wBACP,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,IAAI;wBAClC,GAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAG,SAAS;wBACvC,cAAW,GAAE,IAAI;2BAClB,CAAC;iBACH;gBAED,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC;QACpC,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,MAAK,kBAAU,CAAC,IAAI,EAAE;YAC9C,IAAI,KAAK,GAAG,WAA0B,CAAC;YACvC,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC;YACzD,IAAI,SAAO,GAAe,EAAE,CAAC;YAC7B,KAAK;gBACH,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;oBACtB,IAAI,IAAI,KAAK,IAAI,EAAE;wBACjB,SAAO,CAAC,IAAI,OAAZ,SAAO,EACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,IAAI,IAAI,CAAC,KAAK,EAAlB,CAAkB,CAAC,EAC9D;qBACH;gBACH,CAAC,CAAC,CAAC;YAEL,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC1B,eAAe,GAAG,eAAe,CAAC,MAAM,CACtC,UAAA,MAAM,IAAI,OAAA,CAAC,CAAC,SAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAA/B,CAA+B,CAC1C,CAAC;aACH;SACF;QACD,IAAA,gCAAuB,EAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC;YAC5D,CAAC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC;QAC3C,IAAA,gCAAuB,EAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC;YAC5D,CAAC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,UAAU,CAAC,KAAc;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,QAAa,CAAC;IAClB,SAAS,WAAW;QAClB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,WAAW,CAAC,KAAU;QAC7B,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,SAAS,KAAK,CAAC,UAA2B;QAA3B,2BAAA,EAAA,kBAA2B;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,YAAY,EAAE;YACnD,IAAM,KAAK,GAAG,QAAuB,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,EAAE,EAAZ,CAAY,CAAC,CAAC;SAC3C;QAED,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS,UAAU,CACjB,MAAW,EACX,IAAS,EACT,QAA8B;QAE9B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,WAAW,CAAC,MAAY;QAC/B,IAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,QAAQ,EAAE;YACZ,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,UAAU,CAAC,cAAM,OAAA,QAAQ,CAAC,MAAM,CAAC,EAAhB,CAAgB,EAAE,GAAG,CAAC,CAAC;SACzC;IACH,CAAC;IAED,SAAS,cAAc,CAAC,KAAU;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAU;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,SAAS,cAAc,CAAC,IAAoB;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,iBAAiB,CAAC,IAAoB;QAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,IAAI,CAAC,EAAE,EAAb,CAAa,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,OAAO;QACL,KAAK,OAAA;QACL,IAAI,MAAA;QACJ,MAAM,QAAA;QACN,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,UAAU,YAAA;QACV,WAAW,aAAA;QACX,gBAAgB,kBAAA;QAChB,iBAAiB,mBAAA;QACjB,WAAW,aAAA;QACX,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;QACX,KAAK,OAAA;QACL,UAAU,YAAA;QACV,WAAW,aAAA;QACX,cAAc,gBAAA;QACd,iBAAiB,mBAAA;QACjB,cAAc,gBAAA;QACd,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC,CAAC,CAAC",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {\n types,\n getParent,\n SnapshotIn,\n flow,\n getRoot,\n hasParent,\n isAlive,\n getEnv,\n Instance\n} from 'mobx-state-tree';\nimport {FormStore, IFormStore} from './form';\nimport {str2rules, validate as doValidate} from '../utils/validations';\nimport {Api, Payload, fetchOptions} from '../types';\nimport {ComboStore, IComboStore, IUniqueGroup} from './combo';\nimport {evalExpression} from '../utils/tpl';\nimport {isEffectiveApi} from '../utils/api';\nimport findIndex from 'lodash/findIndex';\nimport {\n isArrayChildrenModified,\n isObject,\n createObject,\n isObjectShallowModified,\n findTree,\n findTreeIndex,\n spliceTree,\n isEmpty,\n getTreeAncestors,\n filterTree\n} from '../utils/helper';\nimport {flattenTree} from '../utils/helper';\nimport {IRendererStore} from '.';\nimport {normalizeOptions, optionValueCompare} from '../components/Select';\nimport find from 'lodash/find';\nimport {SimpleMap} from '../utils/SimpleMap';\nimport memoize from 'lodash/memoize';\nimport {TranslateFn} from '../locale';\nimport {StoreNode} from './node';\nimport {dataMapping} from '../utils/tpl-builtin';\nimport {getStoreById} from './manager';\n\ninterface IOption {\n value?: string | number | null;\n label?: string | null;\n children?: IOption[] | null;\n disabled?: boolean | null;\n visible?: boolean | null;\n hidden?: boolean | null;\n}\n\nconst ErrorDetail = types.model('ErrorDetail', {\n msg: '',\n tag: '',\n rule: ''\n});\n\nexport const FormItemStore = StoreNode.named('FormItemStore')\n .props({\n isFocused: false,\n type: '',\n unique: false,\n loading: false,\n required: false,\n tmpValue: types.frozen(),\n emitedValue: types.frozen(),\n rules: types.optional(types.frozen(), {}),\n messages: types.optional(types.frozen(), {}),\n errorData: types.optional(types.array(ErrorDetail), []),\n name: types.string,\n itemId: '', // 因为 name 可能会重名,所以加个 id 进来,如果有需要用来定位具体某一个\n unsetValueOnInvisible: false,\n itemsRef: types.optional(types.array(types.string), []),\n validated: false,\n validating: false,\n multiple: false,\n delimiter: ',',\n valueField: 'value',\n labelField: 'label',\n joinValues: true,\n extractValue: false,\n options: types.optional(types.frozen<Array<any>>(), []),\n expressionsInOptions: false,\n selectFirst: false,\n autoFill: types.frozen(),\n clearValueOnHidden: false,\n validateApi: types.optional(types.frozen(), ''),\n selectedOptions: types.optional(types.frozen(), []),\n filteredOptions: types.optional(types.frozen(), []),\n dialogSchema: types.frozen(),\n dialogOpen: false,\n dialogData: types.frozen(),\n resetValue: types.optional(types.frozen(), ''),\n validateOnChange: false\n })\n .views(self => {\n function getForm(): any {\n const form = self.parentStore;\n return form?.storeType === FormStore.name ? form : undefined;\n }\n\n function getValue(): any {\n return getForm()?.getValueByName(self.name);\n }\n\n function getLastOptionValue(): any {\n if (self.selectedOptions.length) {\n return self.selectedOptions[self.selectedOptions.length - 1].value;\n }\n\n return '';\n }\n\n function getErrors(): Array<string> {\n return self.errorData.map(item => item.msg);\n }\n\n return {\n get subFormItems(): any {\n return self.itemsRef.map(item => getStoreById(item));\n },\n\n get form(): any {\n return getForm();\n },\n\n get value(): any {\n return getValue();\n },\n\n get prinstine(): any {\n return (getForm() as IFormStore)?.getPristineValueByName(self.name);\n },\n\n get errors() {\n return getErrors();\n },\n\n get valid() {\n const errors = getErrors();\n return !!(!errors || !errors.length);\n },\n\n get errClassNames() {\n return self.errorData\n .map(item => item.rule)\n .filter((item, index, arr) => item && arr.indexOf(item) === index)\n .map(item => `has-error--${item}`)\n .join(' ');\n },\n\n get lastSelectValue(): string {\n return getLastOptionValue();\n },\n\n getSelectedOptions: (\n value: any = self.tmpValue,\n nodeValueArray?: any[] | undefined\n ) => {\n if (typeof value === 'undefined') {\n return [];\n }\n\n const valueArray = nodeValueArray\n ? nodeValueArray\n : Array.isArray(value)\n ? value\n : typeof value === 'string'\n ? value.split(self.delimiter || ',')\n : [value];\n const selected = valueArray.map(item =>\n item && item.hasOwnProperty(self.valueField || 'value')\n ? item[self.valueField || 'value']\n : item\n );\n\n const selectedOptions: Array<any> = [];\n\n selected.forEach((item, index) => {\n const matched = findTree(\n self.filteredOptions,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (matched) {\n selectedOptions.push(matched);\n } else {\n let unMatched = (valueArray && valueArray[index]) || item;\n\n if (\n unMatched &&\n (typeof unMatched === 'string' || typeof unMatched === 'number')\n ) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: item,\n __unmatched: true\n };\n } else if (unMatched && self.extractValue) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: 'UnKnown',\n __unmatched: true\n };\n }\n\n unMatched && selectedOptions.push(unMatched);\n }\n });\n\n return selectedOptions;\n }\n };\n })\n\n .actions(self => {\n const form = self.form as IFormStore;\n const dialogCallbacks = new SimpleMap<(result?: any) => void>();\n\n function config({\n required,\n unique,\n value,\n rules,\n messages,\n delimiter,\n multiple,\n valueField,\n labelField,\n joinValues,\n extractValue,\n type,\n id,\n selectFirst,\n autoFill,\n clearValueOnHidden,\n validateApi,\n maxLength,\n minLength,\n validateOnChange\n }: {\n required?: boolean;\n unique?: boolean;\n value?: any;\n rules?: string | {[propName: string]: any};\n messages?: {[propName: string]: string};\n multiple?: boolean;\n delimiter?: string;\n valueField?: string;\n labelField?: string;\n joinValues?: boolean;\n extractValue?: boolean;\n type?: string;\n id?: string;\n selectFirst?: boolean;\n autoFill?: any;\n clearValueOnHidden?: boolean;\n validateApi?: boolean;\n minLength?: number;\n maxLength?: number;\n validateOnChange?: boolean;\n }) {\n if (typeof rules === 'string') {\n rules = str2rules(rules);\n }\n\n typeof type !== 'undefined' && (self.type = type);\n typeof id !== 'undefined' && (self.itemId = id);\n typeof messages !== 'undefined' && (self.messages = messages);\n typeof required !== 'undefined' && (self.required = !!required);\n typeof unique !== 'undefined' && (self.unique = !!unique);\n typeof multiple !== 'undefined' && (self.multiple = !!multiple);\n typeof selectFirst !== 'undefined' && (self.selectFirst = !!selectFirst);\n typeof autoFill !== 'undefined' && (self.autoFill = autoFill);\n typeof joinValues !== 'undefined' && (self.joinValues = !!joinValues);\n typeof extractValue !== 'undefined' &&\n (self.extractValue = !!extractValue);\n typeof delimiter !== 'undefined' &&\n (self.delimiter = (delimiter as string) || ',');\n typeof valueField !== 'undefined' &&\n (self.valueField = (valueField as string) || 'value');\n typeof labelField !== 'undefined' &&\n (self.labelField = (labelField as string) || 'label');\n typeof clearValueOnHidden !== 'undefined' &&\n (self.clearValueOnHidden = !!clearValueOnHidden);\n typeof validateApi !== 'undefined' && (self.validateApi = validateApi);\n typeof validateOnChange !== 'undefined' &&\n (self.validateOnChange = !!validateOnChange);\n\n rules = {\n ...rules,\n isRequired: self.required\n };\n\n // todo 这个弄个配置由渲染器自己来决定\n // 暂时先这样\n if (~['input-text', 'textarea'].indexOf(self.type)) {\n if (typeof minLength === 'number') {\n rules.minLength = minLength;\n }\n\n if (typeof maxLength === 'number') {\n rules.maxLength = maxLength;\n }\n }\n\n if (isObjectShallowModified(rules, self.rules)) {\n self.rules = rules;\n clearError('builtin');\n self.validated = false;\n }\n }\n\n function focus() {\n self.isFocused = true;\n }\n\n function blur() {\n self.isFocused = false;\n }\n\n let validateCancel: Function | null = null;\n const validate: (data: Object, hook?: any) => Promise<boolean> = flow(\n function* validate(data: Object, hook?: any) {\n if (self.validating && !isEffectiveApi(self.validateApi, data)) {\n return self.valid;\n }\n\n self.validating = true;\n clearError();\n if (hook) {\n yield hook();\n }\n\n addError(\n doValidate(self.tmpValue, data, self.rules, self.messages, self.__)\n );\n\n if (!self.errors.length && isEffectiveApi(self.validateApi, data)) {\n if (validateCancel) {\n validateCancel();\n validateCancel = null;\n }\n\n const json: Payload = yield getEnv(self).fetcher(\n self.validateApi,\n data,\n {\n cancelExecutor: (executor: Function) =>\n (validateCancel = executor)\n }\n );\n validateCancel = null;\n\n if (!json.ok && json.status === 422 && json.errors) {\n addError(\n String(\n json.errors || json.msg || `表单项「${self.name}」校验失败`\n )\n );\n }\n }\n\n self.validated = true;\n\n if (self.unique && self.form?.parentStore?.storeType === 'ComboStore') {\n const combo = self.form.parentStore as IComboStore;\n const group = combo.uniques.get(self.name) as IUniqueGroup;\n\n if (\n group.items.some(\n item =>\n item !== self &&\n self.tmpValue !== undefined &&\n item.value === self.tmpValue\n )\n ) {\n addError(self.__('Form.unique'));\n }\n }\n\n self.validating = false;\n return self.valid;\n }\n );\n\n function setError(msg: string | Array<string>, tag: string = 'builtin') {\n clearError();\n addError(msg, tag);\n }\n\n function addError(\n msg:\n | string\n | Array<\n | string\n | {\n msg: string;\n rule: string;\n }\n >,\n tag: string = 'builtin'\n ) {\n const msgs: Array<\n | string\n | {\n msg: string;\n rule: string;\n }\n > = Array.isArray(msg) ? msg : [msg];\n msgs.forEach(item =>\n self.errorData.push({\n msg: typeof item === 'string' ? item : item.msg,\n rule: typeof item !== 'string' ? item.rule : undefined,\n tag: tag\n })\n );\n }\n\n function clearError(tag?: string) {\n if (tag) {\n const filtered = self.errorData.filter(item => item.tag !== tag);\n self.errorData.replace(filtered);\n } else {\n self.errorData.clear();\n }\n }\n\n function getFirstAvaibleOption(options: Array<any>): any {\n if (!Array.isArray(options)) {\n return;\n }\n\n for (let option of options) {\n if (Array.isArray(option.children)) {\n const childFirst = getFirstAvaibleOption(option.children);\n if (childFirst !== undefined) {\n return childFirst;\n }\n } else if (option[self.valueField || 'value'] && !option.disabled) {\n return option;\n }\n }\n }\n\n function setOptions(\n options: Array<object>,\n onChange?: (value: any) => void,\n data?: Object\n ) {\n if (!Array.isArray(options)) {\n return;\n }\n options = filterTree(options, item => item);\n const originOptions = self.options.concat();\n self.options = options;\n syncOptions(originOptions, data);\n let selectedOptions;\n\n if (\n onChange &&\n self.selectFirst &&\n self.filteredOptions.length &&\n (selectedOptions = self.getSelectedOptions(self.value)) &&\n !selectedOptions.filter(item => !item.__unmatched).length\n ) {\n const fistOption = getFirstAvaibleOption(self.filteredOptions);\n if (!fistOption) {\n return;\n }\n\n const list = [fistOption].map((item: any) => {\n if (self.extractValue || self.joinValues) {\n return item[self.valueField || 'value'];\n }\n\n return item;\n });\n\n const value =\n self.joinValues && self.multiple\n ? list.join(self.delimiter)\n : self.multiple\n ? list\n : list[0];\n\n onChange(value);\n }\n }\n\n let loadCancel: Function | null = null;\n const fetchOptions: (\n api: Api,\n data?: object,\n config?: fetchOptions,\n setErrorFlag?: boolean\n ) => Promise<Payload | null> = flow(function* getInitData(\n api: string,\n data: object,\n config?: fetchOptions,\n setErrorFlag?: boolean\n ) {\n try {\n if (loadCancel) {\n loadCancel();\n loadCancel = null;\n self.loading = false;\n }\n\n if (!config?.silent) {\n self.loading = true;\n }\n\n const json: Payload = yield getEnv(self).fetcher(api, data, {\n autoAppend: false,\n cancelExecutor: (executor: Function) => (loadCancel = executor),\n ...config\n });\n loadCancel = null;\n let result: any = null;\n\n if (!json.ok) {\n setErrorFlag !== false &&\n setError(\n self.__('Form.loadOptionsFailed', {\n reason: json.msg ?? (config && config.errorMessage)\n })\n );\n getEnv(self).notify(\n 'error',\n self.errors.join('') || `${api}:${json.msg}`,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n } else {\n result = json;\n }\n\n self.loading = false;\n return result;\n } catch (e) {\n const env = getEnv(self);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n self.loading = false;\n if (env.isCancel(e)) {\n return;\n }\n\n console.error(e.stack);\n env.notify('error', e.message);\n return;\n }\n } as any);\n\n const loadOptions: (\n api: Api,\n data?: object,\n config?: fetchOptions & {\n extendsOptions?: boolean;\n },\n clearValue?: boolean,\n onChange?: (value: any) => void,\n setErrorFlag?: boolean\n ) => Promise<Payload | null> = flow(function* getInitData(\n api: string,\n data: object,\n config?: fetchOptions,\n clearValue?: any,\n onChange?: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void,\n setErrorFlag?: boolean\n ) {\n let json = yield fetchOptions(api, data, config, setErrorFlag);\n if (!json) {\n return;\n }\n\n clearError();\n self.validated = false; // 拉完数据应该需要再校验一下\n\n let options: Array<IOption> =\n json.data?.options ||\n json.data.items ||\n json.data.rows ||\n json.data ||\n [];\n\n options = normalizeOptions(options as any);\n\n if (config?.extendsOptions && self.selectedOptions.length > 0) {\n self.selectedOptions.forEach((item: any) => {\n const exited = findTree(\n options as any,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (!exited) {\n options.push(item);\n }\n });\n }\n\n setOptions(options, onChange, data);\n\n if (json.data && typeof (json.data as any).value !== 'undefined') {\n onChange && onChange((json.data as any).value, false, true);\n } else if (clearValue && !self.selectFirst) {\n self.selectedOptions.some((item: any) => item.__unmatched) &&\n onChange &&\n onChange('', false, true);\n }\n\n return json;\n });\n\n const tryDeferLoadLeftOptions: (\n option: any,\n api: Api,\n data?: object,\n config?: fetchOptions\n ) => Promise<Payload | null> = flow(function* (\n option: any,\n api: string,\n data: object,\n config?: fetchOptions\n ) {\n if (\n self.options.length != 1 ||\n !Array.isArray(self.options[0].leftOptions)\n ) {\n return;\n }\n\n let leftOptions = self.options[0].leftOptions as any;\n\n const indexes = findTreeIndex(leftOptions, item => item === option);\n if (!indexes) {\n return;\n }\n\n setOptions(\n [\n {\n ...self.options[0],\n leftOptions: spliceTree(leftOptions, indexes, 1, {\n ...option,\n loading: true\n })\n }\n ],\n undefined,\n data\n );\n\n let json = yield fetchOptions(\n api,\n data,\n {\n ...config,\n silent: true\n },\n false\n );\n if (!json) {\n setOptions(\n [\n {\n ...self.options[0],\n leftOptions: spliceTree(leftOptions, indexes, 1, {\n ...option,\n loading: false,\n error: true\n })\n }\n ],\n undefined,\n data\n );\n return;\n }\n\n let options: Array<IOption> =\n json.data?.options ||\n json.data.items ||\n json.data.rows ||\n json.data ||\n [];\n\n setOptions(\n [\n {\n ...self.options[0],\n leftOptions: spliceTree(leftOptions, indexes, 1, {\n ...option,\n loading: false,\n loaded: true,\n children: options\n })\n }\n ],\n undefined,\n data\n );\n\n // 插入新的子节点,用于之后BaseSelection.resolveSelected查找\n if (Array.isArray(self.options[0].children)) {\n const children = self.options[0].children.concat();\n\n flattenTree(self.options[0].leftOptions).forEach(item => {\n if (\n !findTree(self.options[0].children, node => node.ref === item.value)\n ) {\n children.push({ref: item.value, defer: true});\n }\n });\n\n setOptions([{...self.options[0], children}], undefined, data);\n }\n\n return json;\n });\n\n const deferLoadOptions: (\n option: any,\n api: Api,\n data?: object,\n config?: fetchOptions\n ) => Promise<Payload | null> = flow(function* (\n option: any,\n api: string,\n data: object,\n config?: fetchOptions\n ) {\n const indexes = findTreeIndex(self.options, item => item === option);\n if (!indexes) {\n return yield tryDeferLoadLeftOptions(option, api, data, config);\n }\n\n setOptions(\n spliceTree(self.options, indexes, 1, {\n ...option,\n loading: true\n }),\n undefined,\n data\n );\n\n let json = yield fetchOptions(\n api,\n data,\n {\n ...config,\n silent: true\n },\n false\n );\n if (!json) {\n setOptions(\n spliceTree(self.options, indexes, 1, {\n ...option,\n loading: false,\n error: true\n }),\n undefined,\n data\n );\n return;\n }\n\n let options: Array<IOption> =\n json.data?.options ||\n json.data.items ||\n json.data.rows ||\n json.data ||\n [];\n\n setOptions(\n spliceTree(self.options, indexes, 1, {\n ...option,\n loading: false,\n loaded: true,\n children: options\n }),\n undefined,\n data\n );\n\n return json;\n });\n\n /**\n * 根据当前节点路径展开树形组件父节点\n */\n const expandTreeOptions: (\n nodePathArr: any[],\n api: Api,\n data?: object,\n config?: fetchOptions\n ) => Promise<Payload | null | void> = flow(function* getInitData(\n nodePathArr: any[],\n api: string,\n data: object,\n config?: fetchOptions\n ) {\n // 多选模式下需要记录遍历过的Node,避免发送相同的请求\n const traversedNode = new Map();\n\n for (let nodePath of nodePathArr) {\n // 根节点已经展开了,不需要加载\n if (nodePath.length <= 1) {\n continue;\n }\n\n // 叶节点不需要展开\n for (let level = 0; level < nodePath.length - 1; level++) {\n let tree = self.options.concat();\n let nodeValue = nodePath[level];\n\n if (traversedNode.has(nodeValue)) {\n continue;\n }\n // 节点value认为是唯一的\n let node = findTree(tree, (item, key, treeLevel: number) => {\n return (\n treeLevel === level + 1 &&\n optionValueCompare(nodeValue, self.valueField || 'value')(item)\n );\n });\n\n // 只处理懒加载节点\n if (!node || !node.defer) {\n continue;\n }\n const indexes = findTreeIndex(\n tree,\n item => item === node\n ) as number[];\n\n setOptions(\n spliceTree(tree, indexes, 1, {\n ...node,\n loading: true\n }),\n undefined,\n node\n );\n\n let json = yield fetchOptions(\n api,\n node,\n {...config, silent: true},\n false\n );\n\n if (!json) {\n setOptions(\n spliceTree(tree, indexes, 1, {\n ...node,\n loading: false,\n error: true\n }),\n undefined,\n node\n );\n }\n\n traversedNode.set(nodeValue, true);\n\n let childrenOptions: Array<IOption> =\n json.data?.options ||\n json.data.items ||\n json.data.rows ||\n json.data ||\n [];\n\n setOptions(\n spliceTree(tree, indexes, 1, {\n ...node,\n loading: false,\n loaded: true,\n children: childrenOptions\n }),\n undefined,\n node\n );\n }\n }\n });\n\n // @issue 强依赖form,需要改造暂且放过。\n function syncOptions(originOptions?: Array<any>, data?: Object) {\n if (!self.options.length && typeof self.value === 'undefined') {\n self.selectedOptions = [];\n self.filteredOptions = [];\n return;\n }\n\n const value = self.tmpValue;\n\n const selected = Array.isArray(value)\n ? value.map(item =>\n item && item.hasOwnProperty(self.valueField || 'value')\n ? item[self.valueField || 'value']\n : item\n )\n : typeof value === 'string'\n ? value.split(self.delimiter || ',')\n : value === void 0\n ? []\n : [\n value && value.hasOwnProperty(self.valueField || 'value')\n ? value[self.valueField || 'value']\n : value\n ];\n\n if (value && value.hasOwnProperty(self.labelField || 'label')) {\n selected[0] = {\n [self.labelField || 'label']: value[self.labelField || 'label'],\n [self.valueField || 'value']: value[self.valueField || 'value']\n };\n }\n\n let expressionsInOptions = false;\n let filteredOptions = self.options\n .filter((item: any) => {\n if (\n !expressionsInOptions &&\n (item.visibleOn || item.hiddenOn || item.disabledOn)\n ) {\n expressionsInOptions = true;\n }\n\n return item.visibleOn\n ? evalExpression(item.visibleOn, data) !== false\n : item.hiddenOn\n ? evalExpression(item.hiddenOn, data) !== true\n : item.visible !== false || item.hidden !== true;\n })\n .map((item: any, index) => {\n const disabled = evalExpression(item.disabledOn, data);\n const newItem = item.disabledOn\n ? self.filteredOptions.length > index &&\n self.filteredOptions[index].disabled === disabled\n ? self.filteredOptions[index]\n : {\n ...item,\n disabled: disabled\n }\n : item;\n\n return newItem;\n });\n\n self.expressionsInOptions = expressionsInOptions;\n const flattened: Array<any> = flattenTree(filteredOptions);\n const selectedOptions: Array<any> = [];\n\n selected.forEach((item, index) => {\n let idx = findIndex(\n flattened,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (~idx) {\n selectedOptions.push(flattened[idx]);\n } else {\n let unMatched = (value && value[index]) || item;\n\n if (\n unMatched &&\n (typeof unMatched === 'string' || typeof unMatched === 'number')\n ) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: item,\n __unmatched: true\n };\n\n const orgin: any =\n originOptions &&\n find(\n originOptions,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (orgin) {\n unMatched[self.labelField || 'label'] =\n orgin[self.labelField || 'label'];\n }\n } else if (unMatched && self.extractValue) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: 'UnKnown',\n __unmatched: true\n };\n }\n\n unMatched && selectedOptions.push(unMatched);\n }\n });\n\n const form = self.form;\n\n let parentStore = form?.parentStore;\n if (parentStore?.storeType === ComboStore.name) {\n let combo = parentStore as IComboStore;\n let group = combo.uniques.get(self.name) as IUniqueGroup;\n let options: Array<any> = [];\n group &&\n group.items.forEach(item => {\n if (self !== item) {\n options.push(\n ...item.selectedOptions.map((item: any) => item && item.value)\n );\n }\n });\n\n if (filteredOptions.length) {\n filteredOptions = filteredOptions.filter(\n option => !~options.indexOf(option.value)\n );\n }\n }\n isArrayChildrenModified(self.selectedOptions, selectedOptions) &&\n (self.selectedOptions = selectedOptions);\n isArrayChildrenModified(self.filteredOptions, filteredOptions) &&\n (self.filteredOptions = filteredOptions);\n }\n\n function setLoading(value: boolean) {\n self.loading = value;\n }\n\n let subStore: any;\n function getSubStore() {\n return subStore;\n }\n\n function setSubStore(store: any) {\n subStore = store;\n }\n\n function reset(keepErrors: boolean = false) {\n self.validated = false;\n\n if (subStore && subStore.storeType === 'ComboStore') {\n const combo = subStore as IComboStore;\n combo.forms.forEach(form => form.reset());\n }\n\n !keepErrors && clearError();\n }\n\n function openDialog(\n schema: any,\n data: any,\n callback?: (ret?: any) => void\n ) {\n self.dialogSchema = schema;\n self.dialogData = data;\n self.dialogOpen = true;\n callback && dialogCallbacks.set(self.dialogData, callback);\n }\n\n function closeDialog(result?: any) {\n const callback = dialogCallbacks.get(self.dialogData);\n self.dialogOpen = false;\n\n if (callback) {\n dialogCallbacks.delete(self.dialogData);\n setTimeout(() => callback(result), 200);\n }\n }\n\n function changeTmpValue(value: any) {\n self.tmpValue = value;\n }\n\n function changeEmitedValue(value: any) {\n self.emitedValue = value;\n }\n\n function addSubFormItem(item: IFormItemStore) {\n self.itemsRef.push(item.id);\n }\n\n function removeSubFormItem(item: IFormItemStore) {\n const idx = self.itemsRef.findIndex(a => a === item.id);\n if (~idx) {\n self.itemsRef.splice(idx, 1);\n }\n }\n\n return {\n focus,\n blur,\n config,\n validate,\n setError,\n addError,\n clearError,\n setOptions,\n loadOptions,\n deferLoadOptions,\n expandTreeOptions,\n syncOptions,\n setLoading,\n setSubStore,\n getSubStore,\n reset,\n openDialog,\n closeDialog,\n changeTmpValue,\n changeEmitedValue,\n addSubFormItem,\n removeSubFormItem\n };\n });\n\nexport type IFormItemStore = Instance<typeof FormItemStore>;\nexport type SFormItemStore = SnapshotIn<typeof FormItemStore>;\n"
|
11
|
+
"import {\n types,\n getParent,\n SnapshotIn,\n flow,\n getRoot,\n hasParent,\n isAlive,\n getEnv,\n Instance\n} from 'mobx-state-tree';\nimport {FormStore, IFormStore} from './form';\nimport {str2rules, validate as doValidate} from '../utils/validations';\nimport {Api, Payload, fetchOptions} from '../types';\nimport {ComboStore, IComboStore, IUniqueGroup} from './combo';\nimport {evalExpression} from '../utils/tpl';\nimport {isEffectiveApi} from '../utils/api';\nimport findIndex from 'lodash/findIndex';\nimport {\n isArrayChildrenModified,\n isObject,\n createObject,\n isObjectShallowModified,\n findTree,\n findTreeIndex,\n spliceTree,\n isEmpty,\n getTreeAncestors,\n filterTree\n} from '../utils/helper';\nimport {flattenTree} from '../utils/helper';\nimport {IRendererStore} from '.';\nimport {normalizeOptions, optionValueCompare} from '../components/Select';\nimport find from 'lodash/find';\nimport {SimpleMap} from '../utils/SimpleMap';\nimport memoize from 'lodash/memoize';\nimport {TranslateFn} from '../locale';\nimport {StoreNode} from './node';\nimport {dataMapping} from '../utils/tpl-builtin';\nimport {getStoreById} from './manager';\n\ninterface IOption {\n value?: string | number | null;\n label?: string | null;\n children?: IOption[] | null;\n disabled?: boolean | null;\n visible?: boolean | null;\n hidden?: boolean | null;\n}\n\nconst ErrorDetail = types.model('ErrorDetail', {\n msg: '',\n tag: '',\n rule: ''\n});\n\nexport const FormItemStore = StoreNode.named('FormItemStore')\n .props({\n isFocused: false,\n type: '',\n unique: false,\n loading: false,\n required: false,\n tmpValue: types.frozen(),\n emitedValue: types.frozen(),\n rules: types.optional(types.frozen(), {}),\n messages: types.optional(types.frozen(), {}),\n errorData: types.optional(types.array(ErrorDetail), []),\n name: types.string,\n itemId: '', // 因为 name 可能会重名,所以加个 id 进来,如果有需要用来定位具体某一个\n unsetValueOnInvisible: false,\n itemsRef: types.optional(types.array(types.string), []),\n validated: false,\n validating: false,\n multiple: false,\n delimiter: ',',\n valueField: 'value',\n labelField: 'label',\n joinValues: true,\n extractValue: false,\n options: types.optional(types.frozen<Array<any>>(), []),\n expressionsInOptions: false,\n selectFirst: false,\n autoFill: types.frozen(),\n clearValueOnHidden: false,\n validateApi: types.optional(types.frozen(), ''),\n selectedOptions: types.optional(types.frozen(), []),\n filteredOptions: types.optional(types.frozen(), []),\n dialogSchema: types.frozen(),\n dialogOpen: false,\n dialogData: types.frozen(),\n resetValue: types.optional(types.frozen(), ''),\n validateOnChange: false\n })\n .views(self => {\n function getForm(): any {\n const form = self.parentStore;\n return form?.storeType === FormStore.name ? form : undefined;\n }\n\n function getValue(): any {\n return getForm()?.getValueByName(self.name);\n }\n\n function getLastOptionValue(): any {\n if (self.selectedOptions.length) {\n return self.selectedOptions[self.selectedOptions.length - 1].value;\n }\n\n return '';\n }\n\n function getErrors(): Array<string> {\n return self.errorData.map(item => item.msg);\n }\n\n return {\n get subFormItems(): any {\n return self.itemsRef.map(item => getStoreById(item));\n },\n\n get form(): any {\n return getForm();\n },\n\n get value(): any {\n return getValue();\n },\n\n get prinstine(): any {\n return (getForm() as IFormStore)?.getPristineValueByName(self.name);\n },\n\n get errors() {\n return getErrors();\n },\n\n get valid() {\n const errors = getErrors();\n return !!(!errors || !errors.length);\n },\n\n get errClassNames() {\n return self.errorData\n .map(item => item.rule)\n .filter((item, index, arr) => item && arr.indexOf(item) === index)\n .map(item => `has-error--${item}`)\n .join(' ');\n },\n\n get lastSelectValue(): string {\n return getLastOptionValue();\n },\n\n getSelectedOptions: (\n value: any = self.tmpValue,\n nodeValueArray?: any[] | undefined\n ) => {\n if (typeof value === 'undefined') {\n return [];\n }\n\n const valueArray = nodeValueArray\n ? nodeValueArray\n : Array.isArray(value)\n ? value\n : typeof value === 'string'\n ? value.split(self.delimiter || ',')\n : [value];\n const selected = valueArray.map(item =>\n item && item.hasOwnProperty(self.valueField || 'value')\n ? item[self.valueField || 'value']\n : item\n );\n\n const selectedOptions: Array<any> = [];\n\n selected.forEach((item, index) => {\n const matched = findTree(\n self.filteredOptions,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (matched) {\n selectedOptions.push(matched);\n } else {\n let unMatched = (valueArray && valueArray[index]) || item;\n\n if (\n unMatched &&\n (typeof unMatched === 'string' || typeof unMatched === 'number')\n ) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: item,\n __unmatched: true\n };\n } else if (unMatched && self.extractValue) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: 'UnKnown',\n __unmatched: true\n };\n }\n\n unMatched && selectedOptions.push(unMatched);\n }\n });\n\n return selectedOptions;\n }\n };\n })\n\n .actions(self => {\n const form = self.form as IFormStore;\n const dialogCallbacks = new SimpleMap<(result?: any) => void>();\n\n function config({\n required,\n unique,\n value,\n rules,\n messages,\n delimiter,\n multiple,\n valueField,\n labelField,\n joinValues,\n extractValue,\n type,\n id,\n selectFirst,\n autoFill,\n clearValueOnHidden,\n validateApi,\n maxLength,\n minLength,\n validateOnChange\n }: {\n required?: boolean;\n unique?: boolean;\n value?: any;\n rules?: string | {[propName: string]: any};\n messages?: {[propName: string]: string};\n multiple?: boolean;\n delimiter?: string;\n valueField?: string;\n labelField?: string;\n joinValues?: boolean;\n extractValue?: boolean;\n type?: string;\n id?: string;\n selectFirst?: boolean;\n autoFill?: any;\n clearValueOnHidden?: boolean;\n validateApi?: boolean;\n minLength?: number;\n maxLength?: number;\n validateOnChange?: boolean;\n }) {\n if (typeof rules === 'string') {\n rules = str2rules(rules);\n }\n\n typeof type !== 'undefined' && (self.type = type);\n typeof id !== 'undefined' && (self.itemId = id);\n typeof messages !== 'undefined' && (self.messages = messages);\n typeof required !== 'undefined' && (self.required = !!required);\n typeof unique !== 'undefined' && (self.unique = !!unique);\n typeof multiple !== 'undefined' && (self.multiple = !!multiple);\n typeof selectFirst !== 'undefined' && (self.selectFirst = !!selectFirst);\n typeof autoFill !== 'undefined' && (self.autoFill = autoFill);\n typeof joinValues !== 'undefined' && (self.joinValues = !!joinValues);\n typeof extractValue !== 'undefined' &&\n (self.extractValue = !!extractValue);\n typeof delimiter !== 'undefined' &&\n (self.delimiter = (delimiter as string) || ',');\n typeof valueField !== 'undefined' &&\n (self.valueField = (valueField as string) || 'value');\n typeof labelField !== 'undefined' &&\n (self.labelField = (labelField as string) || 'label');\n typeof clearValueOnHidden !== 'undefined' &&\n (self.clearValueOnHidden = !!clearValueOnHidden);\n typeof validateApi !== 'undefined' && (self.validateApi = validateApi);\n typeof validateOnChange !== 'undefined' &&\n (self.validateOnChange = !!validateOnChange);\n\n rules = {\n ...rules,\n isRequired: self.required\n };\n\n // todo 这个弄个配置由渲染器自己来决定\n // 暂时先这样\n if (~['input-text', 'textarea'].indexOf(self.type)) {\n if (typeof minLength === 'number') {\n rules.minLength = minLength;\n }\n\n if (typeof maxLength === 'number') {\n rules.maxLength = maxLength;\n }\n }\n\n if (isObjectShallowModified(rules, self.rules)) {\n self.rules = rules;\n clearError('builtin');\n self.validated = false;\n }\n }\n\n function focus() {\n self.isFocused = true;\n }\n\n function blur() {\n self.isFocused = false;\n }\n\n let validateCancel: Function | null = null;\n const validate: (data: Object, hook?: any) => Promise<boolean> = flow(\n function* validate(data: Object, hook?: any) {\n if (self.validating && !isEffectiveApi(self.validateApi, data)) {\n return self.valid;\n }\n\n self.validating = true;\n clearError();\n if (hook) {\n yield hook();\n }\n\n addError(\n doValidate(self.tmpValue, data, self.rules, self.messages, self.__)\n );\n\n if (!self.errors.length && isEffectiveApi(self.validateApi, data)) {\n if (validateCancel) {\n validateCancel();\n validateCancel = null;\n }\n\n const json: Payload = yield getEnv(self).fetcher(\n self.validateApi,\n data,\n {\n cancelExecutor: (executor: Function) =>\n (validateCancel = executor)\n }\n );\n validateCancel = null;\n\n if (!json.ok && json.status === 422 && json.errors) {\n addError(\n String(\n json.errors || json.msg || `表单项「${self.name}」校验失败`\n )\n );\n }\n }\n\n self.validated = true;\n\n if (self.unique && self.form?.parentStore?.storeType === 'ComboStore') {\n const combo = self.form.parentStore as IComboStore;\n const group = combo.uniques.get(self.name) as IUniqueGroup;\n\n if (\n group.items.some(\n item =>\n item !== self &&\n self.tmpValue !== undefined &&\n item.value === self.tmpValue\n )\n ) {\n addError(self.__('Form.unique'));\n }\n }\n\n self.validating = false;\n return self.valid;\n }\n );\n\n function setError(msg: string | Array<string>, tag: string = 'builtin') {\n clearError();\n addError(msg, tag);\n }\n\n function addError(\n msg:\n | string\n | Array<\n | string\n | {\n msg: string;\n rule: string;\n }\n >,\n tag: string = 'builtin'\n ) {\n const msgs: Array<\n | string\n | {\n msg: string;\n rule: string;\n }\n > = Array.isArray(msg) ? msg : [msg];\n msgs.forEach(item =>\n self.errorData.push({\n msg: typeof item === 'string' ? item : item.msg,\n rule: typeof item !== 'string' ? item.rule : undefined,\n tag: tag\n })\n );\n }\n\n function clearError(tag?: string) {\n if (tag) {\n const filtered = self.errorData.filter(item => item.tag !== tag);\n self.errorData.replace(filtered);\n } else {\n self.errorData.clear();\n }\n }\n\n function getFirstAvaibleOption(options: Array<any>): any {\n if (!Array.isArray(options)) {\n return;\n }\n\n for (let option of options) {\n if (Array.isArray(option.children)) {\n const childFirst = getFirstAvaibleOption(option.children);\n if (childFirst !== undefined) {\n return childFirst;\n }\n } else if (option[self.valueField || 'value'] && !option.disabled) {\n return option;\n }\n }\n }\n\n function setOptions(\n options: Array<object>,\n onChange?: (value: any) => void,\n data?: Object\n ) {\n if (!Array.isArray(options)) {\n return;\n }\n options = filterTree(options, item => item);\n const originOptions = self.options.concat();\n self.options = options;\n syncOptions(originOptions, data);\n let selectedOptions;\n\n if (\n onChange &&\n self.selectFirst &&\n self.filteredOptions.length &&\n (selectedOptions = self.getSelectedOptions(self.value)) &&\n !selectedOptions.filter(item => !item.__unmatched).length\n ) {\n const fistOption = getFirstAvaibleOption(self.filteredOptions);\n if (!fistOption) {\n return;\n }\n\n const list = [fistOption].map((item: any) => {\n if (self.extractValue || self.joinValues) {\n return item[self.valueField || 'value'];\n }\n\n return item;\n });\n\n const value =\n self.joinValues && self.multiple\n ? list.join(self.delimiter)\n : self.multiple\n ? list\n : list[0];\n\n onChange(value);\n }\n }\n\n let loadCancel: Function | null = null;\n const fetchOptions: (\n api: Api,\n data?: object,\n config?: fetchOptions,\n setErrorFlag?: boolean\n ) => Promise<Payload | null> = flow(function* getInitData(\n api: string,\n data: object,\n config?: fetchOptions,\n setErrorFlag?: boolean\n ) {\n try {\n if (loadCancel) {\n loadCancel();\n loadCancel = null;\n self.loading = false;\n }\n\n if (!config?.silent) {\n self.loading = true;\n }\n\n const json: Payload = yield getEnv(self).fetcher(api, data, {\n autoAppend: false,\n cancelExecutor: (executor: Function) => (loadCancel = executor),\n ...config\n });\n loadCancel = null;\n let result: any = null;\n\n if (!json.ok) {\n setErrorFlag !== false &&\n setError(\n self.__('Form.loadOptionsFailed', {\n reason: json.msg ?? (config && config.errorMessage)\n })\n );\n getEnv(self).notify(\n 'error',\n self.errors.join('') || `${api}:${json.msg}`,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n } else {\n result = json;\n }\n\n self.loading = false;\n return result;\n } catch (e) {\n const env = getEnv(self);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n self.loading = false;\n if (env.isCancel(e)) {\n return;\n }\n\n console.error(e.stack);\n env.notify('error', e.message);\n return;\n }\n } as any);\n\n const loadOptions: (\n api: Api,\n data?: object,\n config?: fetchOptions & {\n extendsOptions?: boolean;\n },\n clearValue?: boolean,\n onChange?: (value: any) => void,\n setErrorFlag?: boolean\n ) => Promise<Payload | null> = flow(function* getInitData(\n api: string,\n data: object,\n config?: fetchOptions,\n clearValue?: any,\n onChange?: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void,\n setErrorFlag?: boolean\n ) {\n let json = yield fetchOptions(api, data, config, setErrorFlag);\n if (!json) {\n return;\n }\n\n clearError();\n self.validated = false; // 拉完数据应该需要再校验一下\n\n let options: Array<IOption> =\n json.data?.options ||\n json.data?.items ||\n json.data?.rows ||\n json.data ||\n [];\n\n options = normalizeOptions(options as any);\n\n if (config?.extendsOptions && self.selectedOptions.length > 0) {\n self.selectedOptions.forEach((item: any) => {\n const exited = findTree(\n options as any,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (!exited) {\n options.push(item);\n }\n });\n }\n\n setOptions(options, onChange, data);\n\n if (json.data && typeof (json.data as any).value !== 'undefined') {\n onChange && onChange((json.data as any).value, false, true);\n } else if (clearValue && !self.selectFirst) {\n self.selectedOptions.some((item: any) => item.__unmatched) &&\n onChange &&\n onChange('', false, true);\n }\n\n return json;\n });\n\n const tryDeferLoadLeftOptions: (\n option: any,\n api: Api,\n data?: object,\n config?: fetchOptions\n ) => Promise<Payload | null> = flow(function* (\n option: any,\n api: string,\n data: object,\n config?: fetchOptions\n ) {\n if (\n self.options.length != 1 ||\n !Array.isArray(self.options[0].leftOptions)\n ) {\n return;\n }\n\n let leftOptions = self.options[0].leftOptions as any;\n\n const indexes = findTreeIndex(leftOptions, item => item === option);\n if (!indexes) {\n return;\n }\n\n setOptions(\n [\n {\n ...self.options[0],\n leftOptions: spliceTree(leftOptions, indexes, 1, {\n ...option,\n loading: true\n })\n }\n ],\n undefined,\n data\n );\n\n let json = yield fetchOptions(\n api,\n data,\n {\n ...config,\n silent: true\n },\n false\n );\n if (!json) {\n setOptions(\n [\n {\n ...self.options[0],\n leftOptions: spliceTree(leftOptions, indexes, 1, {\n ...option,\n loading: false,\n error: true\n })\n }\n ],\n undefined,\n data\n );\n return;\n }\n\n let options: Array<IOption> =\n json.data?.options ||\n json.data.items ||\n json.data.rows ||\n json.data ||\n [];\n\n setOptions(\n [\n {\n ...self.options[0],\n leftOptions: spliceTree(leftOptions, indexes, 1, {\n ...option,\n loading: false,\n loaded: true,\n children: options\n })\n }\n ],\n undefined,\n data\n );\n\n // 插入新的子节点,用于之后BaseSelection.resolveSelected查找\n if (Array.isArray(self.options[0].children)) {\n const children = self.options[0].children.concat();\n\n flattenTree(self.options[0].leftOptions).forEach(item => {\n if (\n !findTree(self.options[0].children, node => node.ref === item.value)\n ) {\n children.push({ref: item.value, defer: true});\n }\n });\n\n setOptions([{...self.options[0], children}], undefined, data);\n }\n\n return json;\n });\n\n const deferLoadOptions: (\n option: any,\n api: Api,\n data?: object,\n config?: fetchOptions\n ) => Promise<Payload | null> = flow(function* (\n option: any,\n api: string,\n data: object,\n config?: fetchOptions\n ) {\n const indexes = findTreeIndex(self.options, item => item === option);\n if (!indexes) {\n return yield tryDeferLoadLeftOptions(option, api, data, config);\n }\n\n setOptions(\n spliceTree(self.options, indexes, 1, {\n ...option,\n loading: true\n }),\n undefined,\n data\n );\n\n let json = yield fetchOptions(\n api,\n data,\n {\n ...config,\n silent: true\n },\n false\n );\n if (!json) {\n setOptions(\n spliceTree(self.options, indexes, 1, {\n ...option,\n loading: false,\n error: true\n }),\n undefined,\n data\n );\n return;\n }\n\n let options: Array<IOption> =\n json.data?.options ||\n json.data.items ||\n json.data.rows ||\n json.data ||\n [];\n\n setOptions(\n spliceTree(self.options, indexes, 1, {\n ...option,\n loading: false,\n loaded: true,\n children: options\n }),\n undefined,\n data\n );\n\n return json;\n });\n\n /**\n * 根据当前节点路径展开树形组件父节点\n */\n const expandTreeOptions: (\n nodePathArr: any[],\n api: Api,\n data?: object,\n config?: fetchOptions\n ) => Promise<Payload | null | void> = flow(function* getInitData(\n nodePathArr: any[],\n api: string,\n data: object,\n config?: fetchOptions\n ) {\n // 多选模式下需要记录遍历过的Node,避免发送相同的请求\n const traversedNode = new Map();\n\n for (let nodePath of nodePathArr) {\n // 根节点已经展开了,不需要加载\n if (nodePath.length <= 1) {\n continue;\n }\n\n // 叶节点不需要展开\n for (let level = 0; level < nodePath.length - 1; level++) {\n let tree = self.options.concat();\n let nodeValue = nodePath[level];\n\n if (traversedNode.has(nodeValue)) {\n continue;\n }\n // 节点value认为是唯一的\n let node = findTree(tree, (item, key, treeLevel: number) => {\n return (\n treeLevel === level + 1 &&\n optionValueCompare(nodeValue, self.valueField || 'value')(item)\n );\n });\n\n // 只处理懒加载节点\n if (!node || !node.defer) {\n continue;\n }\n const indexes = findTreeIndex(\n tree,\n item => item === node\n ) as number[];\n\n setOptions(\n spliceTree(tree, indexes, 1, {\n ...node,\n loading: true\n }),\n undefined,\n node\n );\n\n let json = yield fetchOptions(\n api,\n node,\n {...config, silent: true},\n false\n );\n\n if (!json) {\n setOptions(\n spliceTree(tree, indexes, 1, {\n ...node,\n loading: false,\n error: true\n }),\n undefined,\n node\n );\n }\n\n traversedNode.set(nodeValue, true);\n\n let childrenOptions: Array<IOption> =\n json.data?.options ||\n json.data.items ||\n json.data.rows ||\n json.data ||\n [];\n\n setOptions(\n spliceTree(tree, indexes, 1, {\n ...node,\n loading: false,\n loaded: true,\n children: childrenOptions\n }),\n undefined,\n node\n );\n }\n }\n });\n\n // @issue 强依赖form,需要改造暂且放过。\n function syncOptions(originOptions?: Array<any>, data?: Object) {\n if (!self.options.length && typeof self.value === 'undefined') {\n self.selectedOptions = [];\n self.filteredOptions = [];\n return;\n }\n\n const value = self.tmpValue;\n\n const selected = Array.isArray(value)\n ? value.map(item =>\n item && item.hasOwnProperty(self.valueField || 'value')\n ? item[self.valueField || 'value']\n : item\n )\n : typeof value === 'string'\n ? value.split(self.delimiter || ',')\n : value === void 0\n ? []\n : [\n value && value.hasOwnProperty(self.valueField || 'value')\n ? value[self.valueField || 'value']\n : value\n ];\n\n if (value && value.hasOwnProperty(self.labelField || 'label')) {\n selected[0] = {\n [self.labelField || 'label']: value[self.labelField || 'label'],\n [self.valueField || 'value']: value[self.valueField || 'value']\n };\n }\n\n let expressionsInOptions = false;\n let filteredOptions = self.options\n .filter((item: any) => {\n if (\n !expressionsInOptions &&\n (item.visibleOn || item.hiddenOn || item.disabledOn)\n ) {\n expressionsInOptions = true;\n }\n\n return item.visibleOn\n ? evalExpression(item.visibleOn, data) !== false\n : item.hiddenOn\n ? evalExpression(item.hiddenOn, data) !== true\n : item.visible !== false || item.hidden !== true;\n })\n .map((item: any, index) => {\n const disabled = evalExpression(item.disabledOn, data);\n const newItem = item.disabledOn\n ? self.filteredOptions.length > index &&\n self.filteredOptions[index].disabled === disabled\n ? self.filteredOptions[index]\n : {\n ...item,\n disabled: disabled\n }\n : item;\n\n return newItem;\n });\n\n self.expressionsInOptions = expressionsInOptions;\n const flattened: Array<any> = flattenTree(filteredOptions);\n const selectedOptions: Array<any> = [];\n\n selected.forEach((item, index) => {\n let idx = findIndex(\n flattened,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (~idx) {\n selectedOptions.push(flattened[idx]);\n } else {\n let unMatched = (value && value[index]) || item;\n\n if (\n unMatched &&\n (typeof unMatched === 'string' || typeof unMatched === 'number')\n ) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: item,\n __unmatched: true\n };\n\n const orgin: any =\n originOptions &&\n find(\n originOptions,\n optionValueCompare(item, self.valueField || 'value')\n );\n\n if (orgin) {\n unMatched[self.labelField || 'label'] =\n orgin[self.labelField || 'label'];\n }\n } else if (unMatched && self.extractValue) {\n unMatched = {\n [self.valueField || 'value']: item,\n [self.labelField || 'label']: 'UnKnown',\n __unmatched: true\n };\n }\n\n unMatched && selectedOptions.push(unMatched);\n }\n });\n\n const form = self.form;\n\n let parentStore = form?.parentStore;\n if (parentStore?.storeType === ComboStore.name) {\n let combo = parentStore as IComboStore;\n let group = combo.uniques.get(self.name) as IUniqueGroup;\n let options: Array<any> = [];\n group &&\n group.items.forEach(item => {\n if (self !== item) {\n options.push(\n ...item.selectedOptions.map((item: any) => item && item.value)\n );\n }\n });\n\n if (filteredOptions.length) {\n filteredOptions = filteredOptions.filter(\n option => !~options.indexOf(option.value)\n );\n }\n }\n isArrayChildrenModified(self.selectedOptions, selectedOptions) &&\n (self.selectedOptions = selectedOptions);\n isArrayChildrenModified(self.filteredOptions, filteredOptions) &&\n (self.filteredOptions = filteredOptions);\n }\n\n function setLoading(value: boolean) {\n self.loading = value;\n }\n\n let subStore: any;\n function getSubStore() {\n return subStore;\n }\n\n function setSubStore(store: any) {\n subStore = store;\n }\n\n function reset(keepErrors: boolean = false) {\n self.validated = false;\n\n if (subStore && subStore.storeType === 'ComboStore') {\n const combo = subStore as IComboStore;\n combo.forms.forEach(form => form.reset());\n }\n\n !keepErrors && clearError();\n }\n\n function openDialog(\n schema: any,\n data: any,\n callback?: (ret?: any) => void\n ) {\n self.dialogSchema = schema;\n self.dialogData = data;\n self.dialogOpen = true;\n callback && dialogCallbacks.set(self.dialogData, callback);\n }\n\n function closeDialog(result?: any) {\n const callback = dialogCallbacks.get(self.dialogData);\n self.dialogOpen = false;\n\n if (callback) {\n dialogCallbacks.delete(self.dialogData);\n setTimeout(() => callback(result), 200);\n }\n }\n\n function changeTmpValue(value: any) {\n self.tmpValue = value;\n }\n\n function changeEmitedValue(value: any) {\n self.emitedValue = value;\n }\n\n function addSubFormItem(item: IFormItemStore) {\n self.itemsRef.push(item.id);\n }\n\n function removeSubFormItem(item: IFormItemStore) {\n const idx = self.itemsRef.findIndex(a => a === item.id);\n if (~idx) {\n self.itemsRef.splice(idx, 1);\n }\n }\n\n return {\n focus,\n blur,\n config,\n validate,\n setError,\n addError,\n clearError,\n setOptions,\n loadOptions,\n deferLoadOptions,\n expandTreeOptions,\n syncOptions,\n setLoading,\n setSubStore,\n getSubStore,\n reset,\n openDialog,\n closeDialog,\n changeTmpValue,\n changeEmitedValue,\n addSubFormItem,\n removeSubFormItem\n };\n });\n\nexport type IFormItemStore = Instance<typeof FormItemStore>;\nexport type SFormItemStore = SnapshotIn<typeof FormItemStore>;\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/table.js
CHANGED
@@ -550,7 +550,7 @@ exports.TableStore = iRenderer_1.iRendererStore
|
|
550
550
|
toggable: false,
|
551
551
|
className: 'Table-dragCell'
|
552
552
|
});
|
553
|
-
columns = columns.map(function (item, index) { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, item), { index: index, rawIndex: index - 3, type: item.type || 'plain', pristine: item, toggled: item.toggled !== false, breakpoint: item.breakpoint, isPrimary: index === 3 })); });
|
553
|
+
columns = columns.map(function (item, index) { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, item), { index: index, rawIndex: index - 3, type: item.type || 'plain', pristine: item, toggled: item.toggled !== false, breakpoint: item.breakpoint, isPrimary: index === 3, className: item.className || '' })); });
|
554
554
|
self.columns.replace(columns);
|
555
555
|
}
|
556
556
|
}
|