amis 1.10.1-beta.0 → 1.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. package/lib/Schema.d.ts +1 -1
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/Avatar.d.ts +10 -10
  4. package/lib/components/ListGroup.d.ts +10 -10
  5. package/lib/components/Range.js +8 -2
  6. package/lib/components/Range.js.map +2 -2
  7. package/lib/components/ResultBox.d.ts +41 -40
  8. package/lib/components/ResultBox.js +23 -19
  9. package/lib/components/ResultBox.js.map +2 -2
  10. package/lib/components/Select.js +5 -3
  11. package/lib/components/Select.js.map +2 -2
  12. package/lib/components/Steps.d.ts +1 -0
  13. package/lib/components/Steps.js +8 -6
  14. package/lib/components/Steps.js.map +2 -2
  15. package/lib/components/condition-builder/index.d.ts +12 -2
  16. package/lib/components/condition-builder/index.js +40 -4
  17. package/lib/components/condition-builder/index.js.map +2 -2
  18. package/lib/components/formula/Editor.js +1 -1
  19. package/lib/components/formula/Editor.js.map +2 -2
  20. package/lib/components/formula/VariableList.js +2 -2
  21. package/lib/components/formula/VariableList.js.map +2 -2
  22. package/lib/components/table/index.d.ts +9 -7
  23. package/lib/components/table/index.js +102 -102
  24. package/lib/components/table/index.js.map +2 -2
  25. package/lib/helper.css.map +1 -1
  26. package/lib/index.d.ts +1 -0
  27. package/lib/index.js +2 -1
  28. package/lib/index.js.map +2 -2
  29. package/lib/renderers/Action.js +18 -11
  30. package/lib/renderers/Action.js.map +2 -2
  31. package/lib/renderers/ButtonGroup.d.ts +2 -2
  32. package/lib/renderers/ButtonGroup.js.map +1 -1
  33. package/lib/renderers/CRUD.js +2 -2
  34. package/lib/renderers/CRUD.js.map +2 -2
  35. package/lib/renderers/CRUD2.d.ts +213 -0
  36. package/lib/renderers/CRUD2.js +724 -0
  37. package/lib/renderers/CRUD2.js.map +13 -0
  38. package/lib/renderers/Card2.d.ts +1 -1
  39. package/lib/renderers/Card2.js +1 -2
  40. package/lib/renderers/Card2.js.map +2 -2
  41. package/lib/renderers/Cards.d.ts +3 -0
  42. package/lib/renderers/Cards.js +52 -5
  43. package/lib/renderers/Cards.js.map +2 -2
  44. package/lib/renderers/Form/ConditionBuilder.d.ts +10 -0
  45. package/lib/renderers/Form/ConditionBuilder.js +6 -2
  46. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  47. package/lib/renderers/Form/DiffEditor.d.ts +66 -20
  48. package/lib/renderers/Form/Editor.d.ts +66 -20
  49. package/lib/renderers/Form/Item.d.ts +4 -0
  50. package/lib/renderers/Form/Item.js +1 -1
  51. package/lib/renderers/Form/Item.js.map +2 -2
  52. package/lib/renderers/Form/TreeSelect.d.ts +0 -1
  53. package/lib/renderers/Form/TreeSelect.js +1 -9
  54. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  55. package/lib/renderers/Form/index.js +8 -4
  56. package/lib/renderers/Form/index.js.map +2 -2
  57. package/lib/renderers/Icon.d.ts +1 -1
  58. package/lib/renderers/Icon.js +13 -8
  59. package/lib/renderers/Icon.js.map +2 -2
  60. package/lib/renderers/Table/index.d.ts +1 -0
  61. package/lib/renderers/Table/index.js +19 -5
  62. package/lib/renderers/Table/index.js.map +2 -2
  63. package/lib/renderers/Table-v2/index.d.ts +8 -5
  64. package/lib/renderers/Table-v2/index.js +83 -54
  65. package/lib/renderers/Table-v2/index.js.map +2 -2
  66. package/lib/store/combo.d.ts +72 -22
  67. package/lib/store/crud.d.ts +2 -0
  68. package/lib/store/crud.js +21 -1
  69. package/lib/store/crud.js.map +2 -2
  70. package/lib/store/form.d.ts +30 -9
  71. package/lib/store/form.js +28 -10
  72. package/lib/store/form.js.map +2 -2
  73. package/lib/store/formItem.d.ts +3 -1
  74. package/lib/store/formItem.js +3 -5
  75. package/lib/store/formItem.js.map +2 -2
  76. package/lib/store/list.d.ts +2 -0
  77. package/lib/store/list.js +8 -0
  78. package/lib/store/list.js.map +2 -2
  79. package/lib/store/table.d.ts +60 -18
  80. package/lib/themes/ang-ie11.css +166 -19
  81. package/lib/themes/ang.css +166 -19
  82. package/lib/themes/ang.css.map +1 -1
  83. package/lib/themes/antd-ie11.css +166 -19
  84. package/lib/themes/antd.css +166 -19
  85. package/lib/themes/antd.css.map +1 -1
  86. package/lib/themes/cxd-ie11.css +166 -19
  87. package/lib/themes/cxd.css +166 -19
  88. package/lib/themes/cxd.css.map +1 -1
  89. package/lib/themes/dark-ie11.css +166 -19
  90. package/lib/themes/dark.css +166 -19
  91. package/lib/themes/dark.css.map +1 -1
  92. package/lib/themes/default-ie11.css +166 -19
  93. package/lib/themes/default.css +166 -19
  94. package/lib/themes/default.css.map +1 -1
  95. package/lib/types.d.ts +1 -1
  96. package/lib/types.js.map +1 -1
  97. package/lib/utils/icon.js +7 -0
  98. package/lib/utils/icon.js.map +2 -2
  99. package/package.json +1 -1
  100. package/schema.json +28 -25
  101. package/scss/_mixins.scss +1 -1
  102. package/scss/components/_condition-builder.scss +11 -0
  103. package/scss/components/_crud.scss +8 -3
  104. package/scss/components/_crud2.scss +148 -0
  105. package/scss/components/_result-box.scss +27 -8
  106. package/scss/components/_steps.scss +21 -26
  107. package/scss/components/_table-v2.scss +1 -3
  108. package/scss/components/form/_select.scss +4 -0
  109. package/scss/themes/_common.scss +1 -0
  110. package/sdk/ang-ie11.css +203 -20
  111. package/sdk/ang.css +203 -20
  112. package/sdk/antd-ie11.css +203 -20
  113. package/sdk/antd.css +203 -20
  114. package/sdk/barcode.js +51 -51
  115. package/sdk/charts.js +14 -14
  116. package/sdk/codemirror.js +7 -7
  117. package/sdk/color-picker.js +65 -65
  118. package/sdk/cropperjs.js +2 -2
  119. package/sdk/cxd-ie11.css +203 -20
  120. package/sdk/cxd.css +203 -20
  121. package/sdk/dark-ie11.css +203 -20
  122. package/sdk/dark.css +203 -20
  123. package/sdk/exceljs.js +1 -1
  124. package/sdk/helper.css.map +1 -1
  125. package/sdk/markdown.js +69 -69
  126. package/sdk/papaparse.js +1 -1
  127. package/sdk/renderers/Form/CityDB.js +1 -1
  128. package/sdk/rest.js +16 -16
  129. package/sdk/rich-text.js +62 -62
  130. package/sdk/sdk-ie11.css +203 -20
  131. package/sdk/sdk.css +203 -20
  132. package/sdk/sdk.js +1344 -1340
  133. package/sdk/thirds/hls.js/hls.js +1 -1
  134. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  135. package/sdk/tinymce.js +57 -57
  136. package/src/Schema.ts +1 -0
  137. package/src/components/Range.tsx +14 -7
  138. package/src/components/ResultBox.tsx +65 -54
  139. package/src/components/Select.tsx +6 -5
  140. package/src/components/Steps.tsx +60 -18
  141. package/src/components/condition-builder/index.tsx +107 -8
  142. package/src/components/formula/Editor.tsx +1 -1
  143. package/src/components/formula/VariableList.tsx +2 -2
  144. package/src/components/table/index.tsx +190 -193
  145. package/src/index.tsx +1 -0
  146. package/src/renderers/Action.tsx +22 -11
  147. package/src/renderers/ButtonGroup.tsx +2 -2
  148. package/src/renderers/CRUD.tsx +2 -1
  149. package/src/renderers/CRUD2.tsx +1213 -0
  150. package/src/renderers/Card2.tsx +2 -3
  151. package/src/renderers/Cards.tsx +55 -10
  152. package/src/renderers/Form/ConditionBuilder.tsx +19 -2
  153. package/src/renderers/Form/Item.tsx +11 -1
  154. package/src/renderers/Form/TreeSelect.tsx +14 -16
  155. package/src/renderers/Form/index.tsx +11 -2
  156. package/src/renderers/Icon.tsx +8 -1
  157. package/src/renderers/Table/index.tsx +21 -5
  158. package/src/renderers/Table-v2/index.tsx +92 -72
  159. package/src/store/crud.ts +23 -1
  160. package/src/store/form.ts +31 -24
  161. package/src/store/formItem.ts +65 -52
  162. package/src/store/list.ts +10 -0
  163. package/src/types.ts +2 -1
  164. package/src/utils/icon.tsx +9 -0
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Item.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,iGAA0D;AAE1D,6BAA2C;AAE3C,yCAKuB;AACvB,6CAQ4B;AAC5B,yCAAoC;AAEpC,qCAAwC;AACxC,uCAAuC;AAWvC,6CAAgD;AAChD,6CAA0C;AAE1C,0EAAuC;AACvC,uCAA+C;AAwX/C;IAAkC,6CAA8B;IAI9D,sBAAY,KAAoB;QAAhC,YACE,kBAAM,KAAK,CAAC,SAkBb;QAtBD,cAAQ,GAAsB,EAAE,CAAC;QA4CjC,kBAAY,GAAG,IAAA,kBAAQ,EACrB,UAAC,IAAS;YACR,CAAC,UAAO,IAAY;;;;;;;4BACZ,KAA8C,IAAI,CAAC,KAAK,EAAvD,WAAW,iBAAA,EAAE,YAAY,kBAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA,CAAe;4BAC/D,IAAI,CAAC,WAAW,EAAE;gCAChB,sBAAO;6BACR;4BAEK,QAAQ,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC;4BAC1B,GAAG,GAAG,IAAA,qBAAY,EAAC,IAAI;gCAC3B,GAAC,QAAQ,IAAI,EAAE,IAAG,IAAI;oCACtB,CAAC;iCAED,CAAA,YAAY;gCACZ,IAAA,oBAAc,EAAC,WAAW,EAAE,GAAG,CAAC;gCAChC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAA,EAF5B,wBAE4B;4BAEb,qBAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAC/C,WAAW,EACX,GAAG,EACH,CAAC,CAAC,CAAA,MAAC,WAA+B,0CAAE,MAAM,CAAA,CAC3C,CAAA,EAAA;;4BAJK,MAAM,GAAG,SAId;4BACD,IAAI,CAAC,MAAM;gCAAE,sBAAO;4BAEpB,IAAI,CAAC,cAAc,GAAG,MAAA,IAAA,oBAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,mCAAI,IAAI,CAAC;4BAC5D,YAAY,CAAC,MAAM,CAAC,CAAC;;;;;iBAExB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACxC,CAAC,EACD,GAAG,EACH;YACE,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CACF,CAAC;QAxEO,IAAU,KAAK,GAAI,KAAK,SAAT,CAAU;QAEhC,IAAI,KAAK,EAAE;YACT,KAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,IAAA,eAAQ,EACN,cAAM,OAAA,UAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAG,KAAK,CAAC,SAAS,SAAG,KAAK,CAAC,UAAU,CAAE,EAA/D,CAA+D,EACrE,cAAM,OAAA,KAAI,CAAC,WAAW,EAAE,EAAlB,CAAkB,CACzB,CACF,CAAC;YACF,KAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,IAAA,eAAQ,EACN,cAAM,OAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAA9B,CAA8B,EACpC,cAAM,OAAA,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAjC,CAAiC,CACxC,CACF,CAAC;SACH;;IACH,CAAC;IAED,2CAAoB,GAApB;QACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,EAAE,EAAJ,CAAI,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAGD,kCAAW,GAAX,UAAY,CAAM;QACT,IAAU,KAAK,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;QACrC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAGD,iCAAU,GAAV,UAAW,CAAM;QACR,IAAU,KAAK,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;QACrC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAuCK,uCAAgB,GAAtB,UAAuB,MAAc,EAAE,IAAS;;;;gBAC7B,KAAK,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;gBACrC,IAAI,CAAC,KAAK,EAAE;oBACV,sBAAO;iBACR;gBAED,sBAAO,IAAI,OAAO,CAAC,UAAA,OAAO;wBACxB,OAAA,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,UAAC,MAAY,IAAK,OAAA,OAAO,CAAC,MAAM,CAAC,EAAf,CAAe,CAAC;oBAAjE,CAAiE,CAClE,EAAC;;;KACH;IAGD,0CAAmB,GAAnB,UAAoB,EAAoB;YAAnB,MAAM,QAAA;QAClB,IAAU,KAAK,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;QACrC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAGD,wCAAiB,GAAjB,UAAkB,SAAiB;QAAjB,0BAAA,EAAA,iBAAiB;QAC1B,IAAU,KAAK,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;QACrC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,oCAAa,GAAb;;QACE,IAAM,KAaF,IAAI,CAAC,KAAK,EAZZ,cAAc,oBAAA,EACJ,KAAK,cAAA,EACH,EAAE,gBAAA,EACd,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,IAAI,UAAA,EACJ,WAAW,iBAAA,EACX,WAAW,iBAAA,EACR,IAAI,2BAZH,wJAaL,CAAa,CAAC;QAEf,IAAM,QAAQ,GAAG,WAAW,IAAI,IAAA,iBAAQ,GAAE,CAAC;QAC3C,IAAI,aAAa,EAAE;YACjB,IAAM,WAAW,GAAG,IAAI,IAAI,WAAW,CAAC;YACxC,OAAO,aAAa,iDACf,IAAI,KACP,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAEnC,IAAI,MAAA,EACJ,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,EAAE,CACX,cAAc;wBAEZ,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;wBACvC,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;;oBACjC,GAAC,mDAA4C,IAAA,gBAAO,EAClD,WAAW,CACZ,CAAE,IACD,WAAW,KAAK,KAAK;wBACrB,OAAO,WAAW,KAAK,QAAQ;wBAC/B,CAAC,CAAC,WAAW;wBACb,WAAW,KAAK,MAAM;yBAE1B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,EACpB,cAAc,CACf,IACD,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAugBD,6BAAM,GAAN;QACQ,IAAA,KAAuD,IAAI,CAAC,KAAK,EAAhE,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAAA,EAAE,MAAM,YAAA,EAAY,KAAK,cAAc,CAAC;QACxE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC;QAEzC,IAAI,IAAI,KAAK,KAAK,IAAI,SAAS,EAAE;YAC/B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;SAC7B;QAED,IAAM,YAAY,GAChB,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC;YAClC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEzC,OAAO,CACL;YACG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvD,KAAK;gBACJ,CAAC,CAAC,MAAM,CACJ,OAAO,0BAEL,IAAI,EAAE,QAAQ,IACX,KAAK,CAAC,YAAY,GAEvB;oBACE,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,OAAO,EAAE,IAAI,CAAC,iBAAiB;oBAC/B,SAAS,EAAE,IAAI,CAAC,mBAAmB;oBACnC,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,SAAS,EAAE,SAAS;iBACrB,CACF;gBACH,CAAC,CAAC,IAAI,CACP,CACJ,CAAC;IACJ,CAAC;;IAviBD;;OAEG;IACI,4BAAe,GAKlB;QACF,UAAU,EAAE,UAAC,KAAoB,EAAE,aAAgC;;YAE/D,IAAA,SAAS,GAqBP,KAAK,UArBE,EACG,EAAE,GAoBZ,KAAK,WApBO,EACd,WAAW,GAmBT,KAAK,YAnBI,EACX,oBAAoB,GAkBlB,KAAK,qBAlBa,EACpB,gBAAgB,GAiBd,KAAK,iBAjBS,EAChB,IAAI,GAgBF,KAAK,KAhBH,EACJ,KAAK,GAeH,KAAK,MAfF,EACL,cAAc,GAcZ,KAAK,eAdO,EACd,MAAM,GAaJ,KAAK,OAbD,EACN,QAAQ,GAYN,KAAK,SAZC,EACR,OAAO,GAWL,KAAK,QAXA,EACP,MAAM,GAUJ,KAAK,OAVD,EACN,WAAW,GAST,KAAK,YATI,EACX,GAAG,GAQD,KAAK,IARJ,EACO,KAAK,GAOb,KAAK,SAPQ,EACf,WAAW,GAMT,KAAK,YANI,EACX,iBAAiB,GAKf,KAAK,kBALU,EACjB,IAAI,GAIF,KAAK,KAJH,EACJ,IAAI,GAGF,KAAK,KAHH,EACJ,YAAY,GAEV,KAAK,aAFK,EACZ,WAAW,GACT,KAAK,YADI,CACH;YAEV,iBAAiB;YACjB,IAAI,WAAW,KAAK,KAAK,EAAE;gBACzB,KAAK,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC;YAED,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;YAClC,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;YAClE,IAAM,IAAI,GAAG,IAAA,qBAAY,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAM,KAAK,GAAG,IAAA,qBAAY,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC;YAE5D,OAAO,CACL,oDACY,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,iCAAiC,EACjC,SAAS;wBAEP,+BAA+B,EAAE,UAAU,CAAC,OAAO;;oBACnD,GAAC,UAAU,IAAG,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;oBACnC,GAAC,aAAa,IAAG,QAAQ;yBAE3B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CACrB;gBAEA,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CACjB,yCACE,SAAS,EAAE,EAAE,CACX,YAAY;wBAEV,GAAC,2BACC,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;4BACtC,CAAC,CAAC,UAAU,CAAC,SAAS;4BACtB,CAAC,CAAC,QAAQ,CACZ,IAAG,UAAU,CAAC,SAAS;wBACzB,GAAC,2BAAoB,IAAI,CAAE,IAAG,CAAC,UAAU,CAAC,SAAS;wBACnD,sBAAkB,GAAE,UAAU,KAAK,MAAM;6BAE3C,cAAc,CACf;oBAED;wBACG,KAAK;4BACJ,CAAC,CAAC,MAAM,CACJ,OAAO,EACP,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CACxD;4BACH,CAAC,CAAC,IAAI;wBACP,QAAQ,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CACpC,wCAAM,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,QAAU,CAC3C,CAAC,CAAC,CAAC,IAAI;wBACP,WAAW;4BACV,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;gCACrB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,cAAc;gCACxC,OAAO,EAAE,WAAW;gCACpB,WAAW,aAAA;gCACX,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC;gCACjC,SAAS,EAAE,KAAK,CAAC,gBAAgB;oCAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB;oCACxB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB;wCAC9B,CAAC,CAAC,GAAG,CAAC,iBAAiB;wCACvB,CAAC,CAAC,SAAS;6BACd,CAAC;4BACJ,CAAC,CAAC,IAAI,CACH,CACD,CACT,CAAC,CAAC,CAAC,IAAI;gBAER,uCACE,SAAS,EAAE,EAAE,CAAC,YAAY;wBACxB,4FAA4F;wBAC5F,GAAC,2BAAoB,KAAK,CAAE,IAC1B,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,GAAG,IAAI;4BACzD;oBAED,aAAa,EAAE;oBAEf,OAAO;wBACN,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE;4BACzB,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;yBAChD,CAAC;wBACJ,CAAC,CAAC,IAAI;oBAEP,MAAM;wBACL,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACf,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,cAAc;4BACnC,OAAO,EAAE,MAAM;4BACf,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;4BAC5B,WAAW,aAAA;4BACX,SAAS,EAAE,KAAK,CAAC,gBAAgB;gCAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB;gCACxB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB;oCAC9B,CAAC,CAAC,GAAG,CAAC,iBAAiB;oCACvB,CAAC,CAAC,SAAS;yBACd,CAAC;wBACJ,CAAC,CAAC,IAAI;oBAEP,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;4BACnB,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC;yBAC3B,CAAC;wBACJ,CAAC,CAAC,IAAI;oBAEP,KAAK;wBACN,CAAC,KAAK,CAAC,KAAK;wBACZ,YAAY,KAAK,KAAK;wBACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5B,sCAAI,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,GAAW,EAAE,GAAW,IAAK,OAAA,CAC9C,sCAAI,GAAG,EAAE,GAAG,IAAG,GAAG,CAAM,CACzB,EAF+C,CAE/C,CAAC,CACC,CACN,CAAC,CAAC,CAAC,IAAI;oBAEP,iBAAiB,KAAK,KAAK,IAAI,WAAW;wBACzC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE;4BACjC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;yBACxD,CAAC;wBACJ,CAAC,CAAC,IAAI,CACJ,CACF,CACP,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAC,KAAoB,EAAE,aAAgC;;YAE3D,IAAA,SAAS,GAqBP,KAAK,UArBE,EACG,EAAE,GAoBZ,KAAK,WApBO,EACd,IAAI,GAmBF,KAAK,KAnBH,EACJ,WAAW,GAkBT,KAAK,YAlBI,EACX,KAAK,GAiBH,KAAK,MAjBF,EACL,cAAc,GAgBZ,KAAK,eAhBO,EACd,MAAM,GAeJ,KAAK,OAfD,EACN,QAAQ,GAcN,KAAK,SAdC,EACR,OAAO,GAaL,KAAK,QAbA,EACP,MAAM,GAYJ,KAAK,OAZD,EACN,WAAW,GAWT,KAAK,YAXI,EACX,GAAG,GAUD,KAAK,IAVJ,EACH,oBAAoB,GASlB,KAAK,qBATa,EACpB,gBAAgB,GAQd,KAAK,iBARS,EACN,KAAK,GAOb,KAAK,SAPQ,EACf,WAAW,GAMT,KAAK,YANI,EACX,iBAAiB,GAKf,KAAK,kBALU,EACjB,IAAI,GAIF,KAAK,KAJH,EACJ,IAAI,GAGF,KAAK,KAHH,EACJ,YAAY,GAEV,KAAK,aAFK,EACZ,WAAW,GACT,KAAK,YADI,CACH;YAEV,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;YAElC,OAAO,CACL,oDACY,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,6BAA6B,EAC7B,SAAS;wBAEP,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;;oBACjC,GAAC,aAAa,IAAG,QAAQ;yBAE3B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CACrB;gBAEA,KAAK,IAAI,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAChC,yCAAO,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBAChD;wBACG,KAAK;4BACJ,CAAC,CAAC,MAAM,CACJ,OAAO,EACP,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CACxD;4BACH,CAAC,CAAC,IAAI;wBACP,QAAQ,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CACpC,wCAAM,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,QAAU,CAC3C,CAAC,CAAC,CAAC,IAAI;wBACP,WAAW;4BACV,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;gCACrB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,cAAc;gCACxC,OAAO,EAAE,WAAW;gCACpB,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC;gCACjC,WAAW,aAAA;gCACX,SAAS,EAAE,KAAK,CAAC,gBAAgB;oCAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB;oCACxB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB;wCAC9B,CAAC,CAAC,GAAG,CAAC,iBAAiB;wCACvB,CAAC,CAAC,SAAS;6BACd,CAAC;4BACJ,CAAC,CAAC,IAAI,CACH,CACD,CACT,CAAC,CAAC,CAAC,IAAI;gBAEP,aAAa,EAAE;gBAEf,OAAO;oBACN,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE;wBACzB,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;qBAChD,CAAC;oBACJ,CAAC,CAAC,IAAI;gBAEP,MAAM;oBACL,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,cAAc;wBACnC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;wBAC5B,OAAO,EAAE,MAAM;wBACf,WAAW,aAAA;wBACX,SAAS,EACP,GAAG,IAAI,GAAG,CAAC,iBAAiB;4BAC1B,CAAC,CAAC,GAAG,CAAC,iBAAiB;4BACvB,CAAC,CAAC,SAAS;qBAChB,CAAC;oBACJ,CAAC,CAAC,IAAI;gBAEP,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS;oBAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnB,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC;qBAC3B,CAAC;oBACJ,CAAC,CAAC,IAAI;gBAEP,KAAK;oBACN,CAAC,KAAK,CAAC,KAAK;oBACZ,YAAY,KAAK,KAAK;oBACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5B,sCAAI,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,GAAW,EAAE,GAAW,IAAK,OAAA,CAC9C,sCAAI,GAAG,EAAE,GAAG,IAAG,GAAG,CAAM,CACzB,EAF+C,CAE/C,CAAC,CACC,CACN,CAAC,CAAC,CAAC,IAAI;gBAEP,iBAAiB,KAAK,KAAK,IAAI,WAAW;oBACzC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE;wBACjC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;qBACxD,CAAC;oBACJ,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,UAAC,KAAoB,EAAE,aAAgC;;YAE3D,IAAA,SAAS,GAqBP,KAAK,UArBE,EACG,EAAE,GAoBZ,KAAK,WApBO,EACd,IAAI,GAmBF,KAAK,KAnBH,EACJ,WAAW,GAkBT,KAAK,YAlBI,EACX,KAAK,GAiBH,KAAK,MAjBF,EACL,cAAc,GAgBZ,KAAK,eAhBO,EACd,MAAM,GAeJ,KAAK,OAfD,EACN,QAAQ,GAcN,KAAK,SAdC,EACR,OAAO,GAaL,KAAK,QAbA,EACP,oBAAoB,GAYlB,KAAK,qBAZa,EACpB,gBAAgB,GAWd,KAAK,iBAXS,EACN,KAAK,GAUb,KAAK,SAVQ,EACf,MAAM,GASJ,KAAK,OATD,EACN,WAAW,GAQT,KAAK,YARI,EACX,GAAG,GAOD,KAAK,IAPJ,EACH,IAAI,GAMF,KAAK,KANH,EACJ,WAAW,GAKT,KAAK,YALI,EACX,iBAAiB,GAIf,KAAK,kBAJU,EACjB,IAAI,GAGF,KAAK,KAHH,EACJ,YAAY,GAEV,KAAK,aAFK,EACZ,WAAW,GACT,KAAK,YADI,CACH;YAEV,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;YAElC,OAAO,CACL,oDACY,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,6BAA6B,EAC7B,SAAS;wBAEP,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;;oBACjC,GAAC,aAAa,IAAG,QAAQ;yBAE3B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CACrB;gBAEA,KAAK,IAAI,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAChC,yCAAO,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBAChD;wBACG,KAAK;4BACJ,CAAC,CAAC,MAAM,CACJ,OAAO,EACP,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CACxD;4BACH,CAAC,CAAC,KAAK;wBACR,QAAQ,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CACpC,wCAAM,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,QAAU,CAC3C,CAAC,CAAC,CAAC,IAAI;wBACP,WAAW;4BACV,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;gCACrB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,cAAc;gCACxC,OAAO,EAAE,WAAW;gCACpB,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC;gCACjC,WAAW,aAAA;gCACX,SAAS,EAAE,KAAK,CAAC,gBAAgB;oCAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB;oCACxB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB;wCAC9B,CAAC,CAAC,GAAG,CAAC,iBAAiB;wCACvB,CAAC,CAAC,SAAS;6BACd,CAAC;4BACJ,CAAC,CAAC,IAAI,CACH,CACD,CACT,CAAC,CAAC,CAAC,IAAI;gBAER,uCAAK,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC;oBAC7B,aAAa,EAAE;oBAEf,OAAO;wBACN,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE;4BACzB,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;yBAChD,CAAC;wBACJ,CAAC,CAAC,IAAI;oBAEP,MAAM;wBACL,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACf,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,cAAc;4BACnC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;4BAC5B,OAAO,EAAE,MAAM;4BACf,WAAW,aAAA;4BACX,SAAS,EAAE,KAAK,CAAC,gBAAgB;gCAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB;gCACxB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB;oCAC9B,CAAC,CAAC,GAAG,CAAC,iBAAiB;oCACvB,CAAC,CAAC,SAAS;yBACd,CAAC;wBACJ,CAAC,CAAC,IAAI;oBAEP,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;4BACnB,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC;yBAC3B,CAAC;wBACJ,CAAC,CAAC,IAAI;oBAEP,KAAK;wBACN,CAAC,KAAK,CAAC,KAAK;wBACZ,YAAY,KAAK,KAAK;wBACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5B,sCAAI,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,GAAW,EAAE,GAAW,IAAK,OAAA,CAC9C,sCAAI,GAAG,EAAE,GAAG,IAAG,GAAG,CAAM,CACzB,EAF+C,CAE/C,CAAC,CACC,CACN,CAAC,CAAC,CAAC,IAAI;oBAEP,iBAAiB,KAAK,KAAK,IAAI,WAAW;wBACzC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE;4BACjC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;yBACxD,CAAC;wBACJ,CAAC,CAAC,IAAI,CACJ,CACF,CACP,CAAC;QACJ,CAAC;QAED,GAAG,EAAE,UAAC,KAAoB,EAAE,aAAgC;;YAExD,IAAA,SAAS,GAqBP,KAAK,UArBE,EACG,EAAE,GAoBZ,KAAK,WApBO,EACd,IAAI,GAmBF,KAAK,KAnBH,EACJ,WAAW,GAkBT,KAAK,YAlBI,EACX,KAAK,GAiBH,KAAK,MAjBF,EACL,cAAc,GAgBZ,KAAK,eAhBO,EACd,MAAM,GAeJ,KAAK,OAfD,EACN,QAAQ,GAcN,KAAK,SAdC,EACR,OAAO,GAaL,KAAK,QAbA,EACP,MAAM,GAYJ,KAAK,OAZD,EACN,WAAW,GAWT,KAAK,YAXI,EACX,GAAG,GAUD,KAAK,IAVJ,EACH,oBAAoB,GASlB,KAAK,qBATa,EACpB,gBAAgB,GAQd,KAAK,iBARS,EACN,KAAK,GAOb,KAAK,SAPQ,EACf,WAAW,GAMT,KAAK,YANI,EACX,iBAAiB,GAKf,KAAK,kBALU,EACjB,IAAI,GAIF,KAAK,KAJH,EACJ,IAAI,GAGF,KAAK,KAHH,EACJ,YAAY,GAEV,KAAK,aAFK,EACZ,WAAW,GACT,KAAK,YADI,CACH;YAEV,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;YAElC,OAAO,CACL,oDACY,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,0BAA0B,EAC1B,SAAS;wBAEP,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;;oBACjC,GAAC,aAAa,IAAG,QAAQ;yBAE3B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CACrB;gBAED,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC;oBAChC,KAAK,IAAI,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAChC,yCAAO,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;wBAChD;4BACG,MAAM,CACL,OAAO,EACP,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CACxD;4BACA,QAAQ,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CACpC,wCAAM,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,QAAU,CAC3C,CAAC,CAAC,CAAC,IAAI;4BACP,WAAW;gCACV,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;oCACrB,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,cAAc;oCACxC,OAAO,EAAE,WAAW;oCACpB,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC;oCACjC,WAAW,aAAA;oCACX,SAAS,EAAE,KAAK,CAAC,gBAAgB;wCAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB;wCACxB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB;4CAC9B,CAAC,CAAC,GAAG,CAAC,iBAAiB;4CACvB,CAAC,CAAC,SAAS;iCACd,CAAC;gCACJ,CAAC,CAAC,IAAI,CACH,CACD,CACT,CAAC,CAAC,CAAC,IAAI;oBAEP,aAAa,EAAE;oBAEf,OAAO;wBACN,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE;4BACzB,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;yBAChD,CAAC;wBACJ,CAAC,CAAC,IAAI;oBAEP,MAAM;wBACL,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACf,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,cAAc;4BACnC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;4BAC5B,OAAO,EAAE,MAAM;4BACf,SAAS,EACP,GAAG,IAAI,GAAG,CAAC,iBAAiB;gCAC1B,CAAC,CAAC,GAAG,CAAC,iBAAiB;gCACvB,CAAC,CAAC,SAAS;yBAChB,CAAC;wBACJ,CAAC,CAAC,IAAI,CACJ;gBAEL,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS;oBAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnB,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC;qBAC3B,CAAC;oBACJ,CAAC,CAAC,IAAI;gBAEP,KAAK;oBACN,CAAC,KAAK,CAAC,KAAK;oBACZ,YAAY,KAAK,KAAK;oBACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5B,sCAAI,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,GAAW,EAAE,GAAW,IAAK,OAAA,CAC9C,sCAAI,GAAG,EAAE,GAAG,IAAG,GAAG,CAAM,CACzB,EAF+C,CAE/C,CAAC,CACC,CACN,CAAC,CAAC,CAAC,IAAI;gBAEP,WAAW,IAAI,iBAAiB,KAAK,KAAK;oBACzC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE;wBACjC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;qBACxD,CAAC;oBACJ,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;QACJ,CAAC;KACF,CAAC;IAnoBF;QADC,iBAAQ;;;;mDAKR;IAGD;QADC,iBAAQ;;;;kDAKR;IAuCD;QADC,iBAAQ;;0EACsB,cAAM,oBAAN,cAAM;;wDASpC;IAGD;QADC,iBAAQ;;0EACqB,KAAK,oBAAL,KAAK;;2DAOlC;IAGD;QADC,iBAAQ;;;;yDAOR;IA0lBH,mBAAC;CAAA,AAxsBD,CAAkC,eAAK,CAAC,SAAS,GAwsBhD;AAxsBY,oCAAY;AA0sBzB,2BAA2B;AAC3B,mBAAmB;AACN,QAAA,WAAW,GAAG;IACzB,cAAc;IACd,YAAY;IACZ,SAAS;IACT,oBAAoB;IACpB,eAAe;IACf,OAAO;IACP,cAAc;IACd,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,SAAS;IACT,cAAc;IACd,UAAU;IACV,MAAM;IACN,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU;IACV,qBAAqB;IACrB,gBAAgB;IAChB,UAAU;IACV,UAAU;IACV,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,gBAAgB;IAChB,OAAO;IACP,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,OAAO;IACP,KAAK;IACL,SAAS;IACT,KAAK;IACL,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,aAAa;IACb,WAAW;IACX,UAAU;IACV,QAAQ;IACR,MAAM;IACN,MAAM;IACN,YAAY;IACZ,qBAAqB;IACrB,MAAM;IACN,MAAM;IACN,WAAW;IACX,MAAM;IACN,OAAO;IACP,WAAW;IACX,YAAY;IACZ,OAAO;IACP,aAAa;IACb,WAAW;IACX,WAAW;IACX,OAAO;IACP,aAAa;CACd,CAAC;AAEF,SAAgB,UAAU,CAAC,MAAyC;IAClE,OAAO,UAAC,OAA6B;;QACnC,IAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,YAAY,eAAK,CAAC,SAAS,CAAC,CAAC;QAE9D,oBAAoB;QACpB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YAClD,IAAM,IAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3B,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG;gBAC3B,IAAM,IAAI,GAAG;oBACX,KAAK,EAAE,IAAI;iBACZ,CAAC;gBAEF,OAAO,IAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC;SACH;aAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC1B,OAAO,CAAC,KAAK,CACX,qEAAqE,CACtE,CAAC;SACH;QAED,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,OAAO,GAAG,IAAA,2BAAe,EAAC;gBACxB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC,IAAA,qBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC,SAAS,CAAC;SACzB;QAED,OAAO,IAAA,yBAAW,EAChB,IAAA,iCAAmB;gBACH,wCAAY;gBA2BxB,iBAAY,KAAoB;oBAAhC,YACE,kBAAM,KAAK,CAAC,SAWb;oBAVC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;oBAE5B,IAAA,WAAW,GAAqB,KAAK,YAA1B,EAAY,KAAK,GAAI,KAAK,SAAT,CAAU;oBAE7C,qBAAqB;oBACrB,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE;wBAC/C,KAAK,CAAC,MAAM,CAAC;4BACX,KAAK,EAAE,MAAM,CAAC,WAAW;yBAC1B,CAAC,CAAC;qBACJ;;gBACH,CAAC;gBAED,uCAAqB,GAArB,UAAsB,SAA2B;;oBAC/C,IACE,CAAA,MAAA,MAAM,CAAC,qBAAqB,+CAA5B,MAAM,EAAyB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;wBACrD,SAAS,CAAC,UAAU,KAAK,KAAK;wBAC9B,MAAM,CAAC,UAAU,KAAK,KAAK,EAC3B;wBACA,OAAO,IAAI,CAAC;qBACb;oBAED,4BAA4B;oBAC5B,IACE,IAAA,mBAAU,EACR,mBAAW,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAC5C,IAAI,CAAC,KAAK,EACV,SAAS,CACV,EACD;wBACA,OAAO,IAAI,CAAC;qBACb;oBAED,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,oCAAkB,GAAlB;oBACE,OAAO,IAAI,CAAC,GAAG,CAAC;gBAClB,CAAC;gBAED,uBAAK,GAAL,UAAM,GAAQ;oBACZ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;gBACjB,CAAC;gBAED,+BAAa,GAAb;;oBACE,IAAM,KAUF,IAAI,CAAC,KAAK,EATZ,cAAc,oBAAA,EACJ,KAAK,cAAA,EACH,EAAE,gBAAA,EACd,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,WAAW,iBAAA,EACX,WAAW,iBAAA,EACR,IAAI,2BATH,sGAUL,CAAa,CAAC;oBAEf,IAAM,WAAW,GAAG,IAAI,IAAI,WAAW,CAAC;oBACxC,IAAM,QAAQ,GAAG,WAAW,IAAI,IAAA,iBAAQ,GAAE,CAAC;oBAC3C,OAAO,CACL,8BAAC,OAAO,4BACF,IAAI,IACR,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,IAAI,EAAE,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACrD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,EAAE,EACd,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EACnC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC5C,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,EAAE,CACX,cAAc;gCAEZ,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;gCACvC,UAAU,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;;4BACjC,GAAC,mDAA4C,IAAA,gBAAO,EAClD,WAAW,CACZ,CAAE,IACD,MAAM,CAAC,WAAW,KAAK,KAAK;gCAC5B,OAAO,WAAW,KAAK,QAAQ;gCAC/B,CAAC,CAAC,WAAW;gCACb,WAAW,KAAK,MAAM;iCAE1B,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,EACpB,cAAc,CACf,IACD,CACH,CAAC;gBACJ,CAAC;gBACH,cAAC;YAAD,CAAC,AAvHD,CAAc,YAAY;YACjB,eAAY,2BACjB,SAAS,EAAE,EAAE,EACb,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAC3C,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,YAAY,EAAE,MAAM,CAAC,YAAY,IAC9B,OAAO,CAAC,YAAY,CACvB;YACK,YAAS;gBACd,OAAO;gBACP,cAAc;gBACd,UAAU;gBACV,mBAAmB;gBACnB,UAAU;gBACV,YAAY;eACT,CAAE,OAAe,CAAC,SAAS,IAAI,EAAE,CAAC,OACrC;YAEK,cAAW,GAAG,kBACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAI,MAAM,CAAC,IAAI,MAAG,CAAC,CAAC,CAAC,EAAE,CACpC;YACI,oBAAiB,GAAG,OAAQ;iBAiGrC,OAAO,CACD,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA1JD,gCA0JC;AAED,SAAgB,gBAAgB,CAAC,MAAsB;IACrD,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,OAAO,IAAA,0BAAgB,kDAClB,MAAM,KACT,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EACnE,SAAS,EAAE,OAAc,EACzB,UAAU,EAAE,IAAI,IAChB,CAAC;AACL,CAAC;AATD,4CASC;AAED,SAAgB,QAAQ,CAAC,MAA2B;IAClD,OAAO,UAAU,SAA+B;QAC9C,IAAM,QAAQ,GAAG,gBAAgB,iDAC5B,MAAM,KACT,SAAS,WAAA,IACT,CAAC;QAEH,OAAO,QAAQ,CAAC,SAAgB,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AATD,4BASC;AAED,kBAAe,QAAQ,CAAC",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {IFormItemStore, IFormStore} from '../../store/form';\nimport {IMapEntries, reaction} from 'mobx';\n\nimport {\n RendererProps,\n registerRenderer,\n TestFunc,\n RendererConfig\n} from '../../factory';\nimport {\n anyChanged,\n ucFirst,\n getWidthRate,\n autobind,\n isMobile,\n createObject,\n getVariable\n} from '../../utils/helper';\nimport {observer} from 'mobx-react';\nimport {FormHorizontal, FormSchema, FormSchemaHorizontal} from '.';\nimport {Api, Schema} from '../../types';\nimport {filter} from '../../utils/tpl';\nimport {SchemaRemark} from '../Remark';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaApiObject,\n SchemaClassName,\n SchemaExpression,\n SchemaObject,\n SchemaType\n} from '../../Schema';\nimport {HocStoreFactory} from '../../WithStore';\nimport {wrapControl} from './wrapControl';\nimport isEmpty from 'lodash/isEmpty';\nimport debounce from 'lodash/debounce';\nimport {isEffectiveApi} from '../../utils/api';\nimport {dataMapping} from '../../utils/tpl-builtin';\n\nexport type LabelAlign = 'right' | 'left';\n\nexport type FormControlSchemaAlias = SchemaObject;\n\nexport interface FormBaseControl extends Omit<BaseSchema, 'type'> {\n /**\n * 表单项类型\n */\n type: SchemaType;\n\n /**\n * 表单项大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 描述标题\n */\n label?: string | false;\n\n /**\n * 描述标题\n */\n labelAlign?: LabelAlign;\n\n /**\n * 配置 label className\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 字段名,表单提交时的 key,支持多层级,用.连接,如: a.b.c\n */\n name?: string;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容\n */\n remark?: SchemaRemark;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容, 这个小图标跟 label 在一起\n */\n labelRemark?: SchemaRemark;\n\n /**\n * 输入提示,聚焦的时候显示\n */\n hint?: string;\n\n /**\n * 当修改完的时候是否提交表单。\n */\n submitOnChange?: boolean;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 只读条件\n */\n readOnlyOn?: SchemaExpression;\n\n /**\n * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,\n * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。\n */\n validateOnChange?: boolean;\n\n /**\n * 描述内容,支持 Html 片段。\n */\n description?: string;\n\n /**\n * @deprecated 用 description 代替\n */\n desc?: string;\n\n /**\n * 配置描述上的 className\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * 配置当前表单项展示模式\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n\n /**\n * 当配置为水平布局的时候,用来配置具体的左右分配。\n */\n horizontal?: FormSchemaHorizontal;\n\n /**\n * 表单 control 是否为 inline 模式。\n */\n inline?: boolean;\n\n /**\n * 配置 input className\n */\n inputClassName?: SchemaClassName;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否为必填\n */\n required?: boolean;\n\n /**\n * 验证失败的提示信息\n */\n validationErrors?: {\n isAlpha?: string;\n isAlphanumeric?: string;\n isEmail?: string;\n isFloat?: string;\n isInt?: string;\n isJson?: string;\n isLength?: string;\n isNumeric?: string;\n isRequired?: string;\n isUrl?: string;\n matchRegexp?: string;\n matchRegexp2?: string;\n matchRegexp3?: string;\n matchRegexp4?: string;\n matchRegexp5?: string;\n maxLength?: string;\n maximum?: string;\n minLength?: string;\n minimum?: string;\n\n [propName: string]: any;\n };\n\n validations?:\n | string\n | {\n /**\n * 是否是字母\n */\n isAlpha?: boolean;\n\n /**\n * 是否为字母数字\n */\n isAlphanumeric?: boolean;\n\n /**\n * 是否为邮箱地址\n */\n isEmail?: boolean;\n\n /**\n * 是否为浮点型\n */\n isFloat?: boolean;\n\n /**\n * 是否为整型\n */\n isInt?: boolean;\n\n /**\n * 是否为 json\n */\n isJson?: boolean;\n\n /**\n * 长度等于指定值\n */\n isLength?: number;\n\n /**\n * 是否为数字\n */\n isNumeric?: boolean;\n\n /**\n * 是否为必填\n */\n isRequired?: boolean;\n\n /**\n * 是否为 URL 地址\n */\n isUrl?: boolean;\n\n /**\n * 内容命中指定正则\n */\n matchRegexp?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp1?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp2?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp3?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp4?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp5?: string;\n\n /**\n * 最大长度为指定值\n */\n maxLength?: number;\n\n /**\n * 最大值为指定值\n */\n maximum?: number;\n\n /**\n * 最小长度为指定值\n */\n minLength?: number;\n\n /**\n * 最小值为指定值\n */\n minimum?: number;\n\n [propName: string]: any;\n };\n\n /**\n * 默认值,切记只能是静态值,不支持取变量,跟数据关联是通过设置 name 属性来实现的。\n */\n value?: any;\n\n /**\n * 表单项隐藏时,是否在当前 Form 中删除掉该表单项值。注意同名的未隐藏的表单项值也会删掉\n */\n clearValueOnHidden?: boolean;\n\n /**\n * 远端校验表单项接口\n */\n validateApi?: SchemaApi;\n}\n\nexport interface FormItemBasicConfig extends Partial<RendererConfig> {\n type?: string;\n wrap?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n test?: RegExp | TestFunc;\n storeType?: string;\n validations?: string;\n strictMode?: boolean;\n shouldComponentUpdate?: (props: any, prevProps: any) => boolean;\n descriptionClassName?: string;\n storeExtendsData?: boolean;\n sizeMutable?: boolean;\n weight?: number;\n extendsData?: boolean;\n showErrorMsg?: boolean;\n\n // 兼容老用法,新用法直接在 Component 里面定义 validate 方法即可。\n validate?: (values: any, value: any) => string | boolean;\n}\n\n// 自己接收到属性。\nexport interface FormItemProps extends RendererProps {\n name?: string;\n formStore?: IFormStore;\n formItem?: IFormItemStore;\n formInited: boolean;\n formMode: 'normal' | 'horizontal' | 'inline' | 'row' | 'default';\n formHorizontal: FormHorizontal;\n formLabelAlign: LabelAlign;\n defaultSize?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n labelAlign?: LabelAlign;\n disabled?: boolean;\n btnDisabled: boolean;\n defaultValue: any;\n value?: any;\n prinstine: any;\n setPrinstineValue: (value: any) => void;\n onChange: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onBulkChange?: (\n values: {[propName: string]: any},\n submitOnChange?: boolean\n ) => void;\n addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => () => void;\n removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;\n renderFormItems: (\n schema: Partial<FormSchema>,\n region: string,\n props: any\n ) => JSX.Element;\n onFocus: (e: any) => void;\n onBlur: (e: any) => void;\n\n formItemValue: any; // 不建议使用 为了兼容 v1\n getValue: () => any; // 不建议使用 为了兼容 v1\n setValue: (value: any, key: string) => void; // 不建议使用 为了兼容 v1\n\n inputClassName?: string;\n renderControl?: (props: FormControlProps) => JSX.Element;\n\n inputOnly?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n sizeMutable?: boolean;\n wrap?: boolean;\n hint?: string;\n description?: string;\n descriptionClassName?: string;\n // error 详情\n errors?: {\n [propName: string]: string;\n };\n // error string\n error?: string;\n showErrorMsg?: boolean;\n}\n\n// 下发下去的属性\nexport type FormControlProps = RendererProps & {\n onOpenDialog: (schema: Schema, data: any) => Promise<any>;\n} & Exclude<\n FormItemProps,\n | 'inputClassName'\n | 'renderControl'\n | 'defaultSize'\n | 'size'\n | 'error'\n | 'errors'\n | 'hint'\n | 'descriptionClassName'\n | 'inputOnly'\n | 'renderLabel'\n | 'renderDescription'\n | 'sizeMutable'\n | 'wrap'\n >;\n\nexport type FormItemComponent = React.ComponentType<FormItemProps>;\nexport type FormControlComponent = React.ComponentType<FormControlProps>;\n\nexport interface FormItemConfig extends FormItemBasicConfig {\n component: FormControlComponent;\n}\n\nexport class FormItemWrap extends React.Component<FormItemProps> {\n reaction: Array<() => void> = [];\n lastSearchTerm: any;\n\n constructor(props: FormItemProps) {\n super(props);\n\n const {formItem: model} = props;\n\n if (model) {\n this.reaction.push(\n reaction(\n () => `${model.errors.join('')}${model.isFocused}${model.dialogOpen}`,\n () => this.forceUpdate()\n )\n );\n this.reaction.push(\n reaction(\n () => JSON.stringify(model.tmpValue),\n () => this.syncAutoFill(model.tmpValue)\n )\n );\n }\n }\n\n componentWillUnmount() {\n this.reaction.forEach(fn => fn());\n this.reaction = [];\n this.syncAutoFill.cancel();\n }\n\n @autobind\n handleFocus(e: any) {\n const {formItem: model} = this.props;\n model && model.focus();\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {formItem: model} = this.props;\n model && model.blur();\n this.props.onBlur && this.props.onBlur(e);\n }\n\n syncAutoFill = debounce(\n (term: any) => {\n (async (term: string) => {\n const {autoFillApi, onBulkChange, formItem, data} = this.props;\n if (!autoFillApi) {\n return;\n }\n\n const itemName = formItem?.name;\n const ctx = createObject(data, {\n [itemName || '']: term\n });\n if (\n onBulkChange &&\n isEffectiveApi(autoFillApi, ctx) &&\n this.lastSearchTerm !== term\n ) {\n const result = await formItem?.loadAutoUpdateData(\n autoFillApi,\n ctx,\n !!(autoFillApi as SchemaApiObject)?.silent\n );\n if (!result) return;\n\n this.lastSearchTerm = getVariable(result, itemName) ?? term;\n onBulkChange(result);\n }\n })(term).catch(e => console.error(e));\n },\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n\n @autobind\n async handleOpenDialog(schema: Schema, data: any) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n return new Promise(resolve =>\n model.openDialog(schema, data, (result?: any) => resolve(result))\n );\n }\n\n @autobind\n handleDialogConfirm([values]: Array<any>) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n model.closeDialog(values);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n model.closeDialog(confirmed);\n }\n\n renderControl(): JSX.Element | null {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n renderControl,\n formItemConfig,\n sizeMutable,\n size,\n defaultSize,\n useMobileUI,\n ...rest\n } = this.props;\n\n const mobileUI = useMobileUI && isMobile();\n if (renderControl) {\n const controlSize = size || defaultSize;\n return renderControl({\n ...rest,\n onOpenDialog: this.handleOpenDialog,\n\n type,\n classnames: cx,\n formItem: model,\n className: cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline && !mobileUI,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )\n });\n }\n\n return null;\n }\n\n /**\n * 布局扩充点,可以自己扩充表单项的布局方式\n */\n static layoutRenderers: {\n [propsName: string]: (\n props: FormItemProps,\n renderControl: () => JSX.Element | null\n ) => JSX.Element;\n } = {\n horizontal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n description,\n descriptionClassName,\n captionClassName,\n desc,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n // 强制不渲染 label 的话\n if (renderLabel === false) {\n label = label === false ? false : '';\n }\n\n description = description || desc;\n const horizontal = props.horizontal || props.formHorizontal || {};\n const left = getWidthRate(horizontal.left);\n const right = getWidthRate(horizontal.right);\n const labelAlign = props.labelAlign || props.formLabelAlign;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--horizontal`,\n className,\n {\n 'Form-item--horizontal-justify': horizontal.justify,\n [`is-error`]: model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label !== false ? (\n <label\n className={cx(\n `Form-label`,\n {\n [`Form-itemColumn--${\n typeof horizontal.leftFixed === 'string'\n ? horizontal.leftFixed\n : 'normal'\n }`]: horizontal.leftFixed,\n [`Form-itemColumn--${left}`]: !horizontal.leftFixed,\n 'Form-label--left': labelAlign === 'left'\n },\n labelClassName\n )}\n >\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n useMobileUI,\n className: cx(`Form-labelRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div\n className={cx(`Form-value`, {\n // [`Form-itemColumn--offset${getWidthRate(horizontal.offset)}`]: !label && label !== false,\n [`Form-itemColumn--${right}`]:\n !horizontal.leftFixed && !!right && right !== 12 - left\n })}\n >\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n tooltip: remark,\n className: cx(`Form-remark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n normal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--normal`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n useMobileUI,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n },\n\n inline: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n descriptionClassName,\n captionClassName,\n formItem: model,\n remark,\n labelRemark,\n env,\n hint,\n renderLabel,\n renderDescription,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--inline`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : label}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div className={cx(`Form-value`)}>\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n row: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--row`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n <div className={cx('Form-rowInner')}>\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </div>\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx('Form-feedback')}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {description && renderDescription !== false\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n }\n };\n\n render() {\n const {formMode, inputOnly, wrap, render, formItem: model} = this.props;\n const mode = this.props.mode || formMode;\n\n if (wrap === false || inputOnly) {\n return this.renderControl();\n }\n\n const renderLayout =\n FormItemWrap.layoutRenderers[mode] ||\n FormItemWrap.layoutRenderers['normal'];\n\n return (\n <>\n {renderLayout(this.props, this.renderControl.bind(this))}\n\n {model\n ? render(\n 'modal',\n {\n type: 'dialog',\n ...model.dialogSchema\n },\n {\n show: model.dialogOpen,\n onClose: this.handleDialogClose,\n onConfirm: this.handleDialogConfirm,\n data: model.dialogData,\n formStore: undefined\n }\n )\n : null}\n </>\n );\n }\n}\n\n// 白名单形式,只有这些属性发生变化,才会往下更新。\n// 除非配置 strictMode\nexport const detectProps = [\n 'formPristine', // 这个千万不能干掉。\n 'formInited',\n 'addable',\n 'addButtonClassName',\n 'addButtonText',\n 'addOn',\n 'btnClassName',\n 'btnLabel',\n 'btnDisabled',\n 'className',\n 'clearable',\n 'columns',\n 'columnsCount',\n 'controls',\n 'desc',\n 'description',\n 'disabled',\n 'draggable',\n 'editable',\n 'editButtonClassName',\n 'formHorizontal',\n 'formMode',\n 'hideRoot',\n 'horizontal',\n 'icon',\n 'inline',\n 'inputClassName',\n 'label',\n 'labelClassName',\n 'labelField',\n 'language',\n 'level',\n 'max',\n 'maxRows',\n 'min',\n 'minRows',\n 'multiLine',\n 'multiple',\n 'option',\n 'placeholder',\n 'removable',\n 'required',\n 'remark',\n 'hint',\n 'rows',\n 'searchable',\n 'showCompressOptions',\n 'size',\n 'step',\n 'showInput',\n 'unit',\n 'value',\n 'diffValue',\n 'borderMode',\n 'items',\n 'showCounter',\n 'minLength',\n 'maxLength',\n 'embed',\n 'displayMode'\n];\n\nexport function asFormItem(config: Omit<FormItemConfig, 'component'>) {\n return (Control: FormControlComponent) => {\n const isSFC = !(Control.prototype instanceof React.Component);\n\n // 兼容老的 FormItem 用法。\n if (config.validate && !Control.prototype.validate) {\n const fn = config.validate;\n Control.prototype.validate = function () {\n const host = {\n input: this\n };\n\n return fn.apply(host, arguments);\n };\n } else if (config.validate) {\n console.error(\n 'FormItem配置中的 validate 将不起作用,因为类的成员函数中已经定义了 validate 方法,将优先使用类里面的实现。'\n );\n }\n\n if (config.storeType) {\n Control = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.extendsData\n })(observer(Control));\n delete config.storeType;\n }\n\n return wrapControl(\n hoistNonReactStatic(\n class extends FormItemWrap {\n static defaultProps = {\n className: '',\n renderLabel: config.renderLabel,\n renderDescription: config.renderDescription,\n sizeMutable: config.sizeMutable,\n wrap: config.wrap,\n showErrorMsg: config.showErrorMsg,\n ...Control.defaultProps\n };\n static propsList: any = [\n 'value',\n 'defaultValue',\n 'onChange',\n 'setPrinstineValue',\n 'readOnly',\n 'strictMode',\n ...((Control as any).propsList || [])\n ];\n\n static displayName = `FormItem${\n config.type ? `(${config.type})` : ''\n }`;\n static ComposedComponent = Control;\n\n ref: any;\n\n constructor(props: FormItemProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n\n const {validations, formItem: model} = props;\n\n // 组件注册的时候可能默认指定验证器类型\n if (model && !validations && config.validations) {\n model.config({\n rules: config.validations\n });\n }\n }\n\n shouldComponentUpdate(nextProps: FormControlProps) {\n if (\n config.shouldComponentUpdate?.(this.props, nextProps) ||\n nextProps.strictMode === false ||\n config.strictMode === false\n ) {\n return true;\n }\n\n // 把可能会影响视图的白名单弄出来,减少重新渲染次数。\n if (anyChanged(detectProps, this.props, nextProps)) {\n return true;\n }\n\n return false;\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderControl() {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n size,\n defaultSize,\n useMobileUI,\n ...rest\n } = this.props;\n\n const controlSize = size || defaultSize;\n const mobileUI = useMobileUI && isMobile();\n return (\n <Control\n {...rest}\n useMobileUI={useMobileUI}\n onOpenDialog={this.handleOpenDialog}\n size={config.sizeMutable !== false ? undefined : size}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n type={type}\n classnames={cx}\n ref={isSFC ? undefined : this.refFn}\n forwardedRef={isSFC ? this.refFn : undefined}\n formItem={model}\n className={cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline && !mobileUI,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n config.sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )}\n />\n );\n }\n },\n Control\n ) as any\n );\n };\n}\n\nexport function registerFormItem(config: FormItemConfig): RendererConfig {\n let Control = asFormItem(config)(config.component);\n\n return registerRenderer({\n ...config,\n weight: typeof config.weight !== 'undefined' ? config.weight : -100, // 优先级高点\n component: Control as any,\n isFormItem: true\n });\n}\n\nexport function FormItem(config: FormItemBasicConfig) {\n return function (component: FormControlComponent): any {\n const renderer = registerFormItem({\n ...config,\n component\n });\n\n return renderer.component as any;\n };\n}\n\nexport default FormItem;\n"
11
+ "import React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {IFormItemStore, IFormStore} from '../../store/form';\nimport {IMapEntries, reaction} from 'mobx';\n\nimport {\n RendererProps,\n registerRenderer,\n TestFunc,\n RendererConfig\n} from '../../factory';\nimport {\n anyChanged,\n ucFirst,\n getWidthRate,\n autobind,\n isMobile,\n createObject,\n getVariable\n} from '../../utils/helper';\nimport {observer} from 'mobx-react';\nimport {FormHorizontal, FormSchema, FormSchemaHorizontal} from '.';\nimport {Api, Schema} from '../../types';\nimport {filter} from '../../utils/tpl';\nimport {SchemaRemark} from '../Remark';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaApiObject,\n SchemaClassName,\n SchemaExpression,\n SchemaObject,\n SchemaType\n} from '../../Schema';\nimport {HocStoreFactory} from '../../WithStore';\nimport {wrapControl} from './wrapControl';\nimport isEmpty from 'lodash/isEmpty';\nimport debounce from 'lodash/debounce';\nimport {isEffectiveApi} from '../../utils/api';\nimport {dataMapping} from '../../utils/tpl-builtin';\n\nexport type LabelAlign = 'right' | 'left';\n\nexport type FormControlSchemaAlias = SchemaObject;\n\nexport interface FormBaseControl extends Omit<BaseSchema, 'type'> {\n /**\n * 表单项类型\n */\n type: SchemaType;\n\n /**\n * 表单项大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 描述标题\n */\n label?: string | false;\n\n /**\n * 描述标题\n */\n labelAlign?: LabelAlign;\n\n /**\n * 配置 label className\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 字段名,表单提交时的 key,支持多层级,用.连接,如: a.b.c\n */\n name?: string;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容\n */\n remark?: SchemaRemark;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容, 这个小图标跟 label 在一起\n */\n labelRemark?: SchemaRemark;\n\n /**\n * 输入提示,聚焦的时候显示\n */\n hint?: string;\n\n /**\n * 当修改完的时候是否提交表单。\n */\n submitOnChange?: boolean;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 只读条件\n */\n readOnlyOn?: SchemaExpression;\n\n /**\n * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,\n * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。\n */\n validateOnChange?: boolean;\n\n /**\n * 描述内容,支持 Html 片段。\n */\n description?: string;\n\n /**\n * @deprecated 用 description 代替\n */\n desc?: string;\n\n /**\n * 配置描述上的 className\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * 配置当前表单项展示模式\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n\n /**\n * 当配置为水平布局的时候,用来配置具体的左右分配。\n */\n horizontal?: FormSchemaHorizontal;\n\n /**\n * 表单 control 是否为 inline 模式。\n */\n inline?: boolean;\n\n /**\n * 配置 input className\n */\n inputClassName?: SchemaClassName;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否为必填\n */\n required?: boolean;\n\n /**\n * 验证失败的提示信息\n */\n validationErrors?: {\n isAlpha?: string;\n isAlphanumeric?: string;\n isEmail?: string;\n isFloat?: string;\n isInt?: string;\n isJson?: string;\n isLength?: string;\n isNumeric?: string;\n isRequired?: string;\n isUrl?: string;\n matchRegexp?: string;\n matchRegexp2?: string;\n matchRegexp3?: string;\n matchRegexp4?: string;\n matchRegexp5?: string;\n maxLength?: string;\n maximum?: string;\n minLength?: string;\n minimum?: string;\n\n [propName: string]: any;\n };\n\n validations?:\n | string\n | {\n /**\n * 是否是字母\n */\n isAlpha?: boolean;\n\n /**\n * 是否为字母数字\n */\n isAlphanumeric?: boolean;\n\n /**\n * 是否为邮箱地址\n */\n isEmail?: boolean;\n\n /**\n * 是否为浮点型\n */\n isFloat?: boolean;\n\n /**\n * 是否为整型\n */\n isInt?: boolean;\n\n /**\n * 是否为 json\n */\n isJson?: boolean;\n\n /**\n * 长度等于指定值\n */\n isLength?: number;\n\n /**\n * 是否为数字\n */\n isNumeric?: boolean;\n\n /**\n * 是否为必填\n */\n isRequired?: boolean;\n\n /**\n * 是否为 URL 地址\n */\n isUrl?: boolean;\n\n /**\n * 内容命中指定正则\n */\n matchRegexp?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp1?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp2?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp3?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp4?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp5?: string;\n\n /**\n * 最大长度为指定值\n */\n maxLength?: number;\n\n /**\n * 最大值为指定值\n */\n maximum?: number;\n\n /**\n * 最小长度为指定值\n */\n minLength?: number;\n\n /**\n * 最小值为指定值\n */\n minimum?: number;\n\n [propName: string]: any;\n };\n\n /**\n * 默认值,切记只能是静态值,不支持取变量,跟数据关联是通过设置 name 属性来实现的。\n */\n value?: any;\n\n /**\n * 表单项隐藏时,是否在当前 Form 中删除掉该表单项值。注意同名的未隐藏的表单项值也会删掉\n */\n clearValueOnHidden?: boolean;\n\n /**\n * 远端校验表单项接口\n */\n validateApi?: SchemaApi;\n}\n\nexport interface FormItemBasicConfig extends Partial<RendererConfig> {\n type?: string;\n wrap?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n test?: RegExp | TestFunc;\n storeType?: string;\n validations?: string;\n strictMode?: boolean;\n /**\n * schema变化使视图更新的属性白名单\n */\n detectProps?: Array<string>;\n shouldComponentUpdate?: (props: any, prevProps: any) => boolean;\n descriptionClassName?: string;\n storeExtendsData?: boolean;\n sizeMutable?: boolean;\n weight?: number;\n extendsData?: boolean;\n showErrorMsg?: boolean;\n\n // 兼容老用法,新用法直接在 Component 里面定义 validate 方法即可。\n validate?: (values: any, value: any) => string | boolean;\n}\n\n// 自己接收到属性。\nexport interface FormItemProps extends RendererProps {\n name?: string;\n formStore?: IFormStore;\n formItem?: IFormItemStore;\n formInited: boolean;\n formMode: 'normal' | 'horizontal' | 'inline' | 'row' | 'default';\n formHorizontal: FormHorizontal;\n formLabelAlign: LabelAlign;\n defaultSize?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n labelAlign?: LabelAlign;\n disabled?: boolean;\n btnDisabled: boolean;\n defaultValue: any;\n value?: any;\n prinstine: any;\n setPrinstineValue: (value: any) => void;\n onChange: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onBulkChange?: (\n values: {[propName: string]: any},\n submitOnChange?: boolean\n ) => void;\n addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => () => void;\n removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;\n renderFormItems: (\n schema: Partial<FormSchema>,\n region: string,\n props: any\n ) => JSX.Element;\n onFocus: (e: any) => void;\n onBlur: (e: any) => void;\n\n formItemValue: any; // 不建议使用 为了兼容 v1\n getValue: () => any; // 不建议使用 为了兼容 v1\n setValue: (value: any, key: string) => void; // 不建议使用 为了兼容 v1\n\n inputClassName?: string;\n renderControl?: (props: FormControlProps) => JSX.Element;\n\n inputOnly?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n sizeMutable?: boolean;\n wrap?: boolean;\n hint?: string;\n description?: string;\n descriptionClassName?: string;\n // error 详情\n errors?: {\n [propName: string]: string;\n };\n // error string\n error?: string;\n showErrorMsg?: boolean;\n}\n\n// 下发下去的属性\nexport type FormControlProps = RendererProps & {\n onOpenDialog: (schema: Schema, data: any) => Promise<any>;\n} & Exclude<\n FormItemProps,\n | 'inputClassName'\n | 'renderControl'\n | 'defaultSize'\n | 'size'\n | 'error'\n | 'errors'\n | 'hint'\n | 'descriptionClassName'\n | 'inputOnly'\n | 'renderLabel'\n | 'renderDescription'\n | 'sizeMutable'\n | 'wrap'\n >;\n\nexport type FormItemComponent = React.ComponentType<FormItemProps>;\nexport type FormControlComponent = React.ComponentType<FormControlProps>;\n\nexport interface FormItemConfig extends FormItemBasicConfig {\n component: FormControlComponent;\n}\n\nexport class FormItemWrap extends React.Component<FormItemProps> {\n reaction: Array<() => void> = [];\n lastSearchTerm: any;\n\n constructor(props: FormItemProps) {\n super(props);\n\n const {formItem: model} = props;\n\n if (model) {\n this.reaction.push(\n reaction(\n () => `${model.errors.join('')}${model.isFocused}${model.dialogOpen}`,\n () => this.forceUpdate()\n )\n );\n this.reaction.push(\n reaction(\n () => JSON.stringify(model.tmpValue),\n () => this.syncAutoFill(model.tmpValue)\n )\n );\n }\n }\n\n componentWillUnmount() {\n this.reaction.forEach(fn => fn());\n this.reaction = [];\n this.syncAutoFill.cancel();\n }\n\n @autobind\n handleFocus(e: any) {\n const {formItem: model} = this.props;\n model && model.focus();\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {formItem: model} = this.props;\n model && model.blur();\n this.props.onBlur && this.props.onBlur(e);\n }\n\n syncAutoFill = debounce(\n (term: any) => {\n (async (term: string) => {\n const {autoFillApi, onBulkChange, formItem, data} = this.props;\n if (!autoFillApi) {\n return;\n }\n\n const itemName = formItem?.name;\n const ctx = createObject(data, {\n [itemName || '']: term\n });\n if (\n onBulkChange &&\n isEffectiveApi(autoFillApi, ctx) &&\n this.lastSearchTerm !== term\n ) {\n const result = await formItem?.loadAutoUpdateData(\n autoFillApi,\n ctx,\n !!(autoFillApi as SchemaApiObject)?.silent\n );\n if (!result) return;\n\n this.lastSearchTerm = getVariable(result, itemName) ?? term;\n onBulkChange(result);\n }\n })(term).catch(e => console.error(e));\n },\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n\n @autobind\n async handleOpenDialog(schema: Schema, data: any) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n return new Promise(resolve =>\n model.openDialog(schema, data, (result?: any) => resolve(result))\n );\n }\n\n @autobind\n handleDialogConfirm([values]: Array<any>) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n model.closeDialog(values);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n model.closeDialog(confirmed);\n }\n\n renderControl(): JSX.Element | null {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n renderControl,\n formItemConfig,\n sizeMutable,\n size,\n defaultSize,\n useMobileUI,\n ...rest\n } = this.props;\n\n const mobileUI = useMobileUI && isMobile();\n if (renderControl) {\n const controlSize = size || defaultSize;\n return renderControl({\n ...rest,\n onOpenDialog: this.handleOpenDialog,\n\n type,\n classnames: cx,\n formItem: model,\n className: cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline && !mobileUI,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )\n });\n }\n\n return null;\n }\n\n /**\n * 布局扩充点,可以自己扩充表单项的布局方式\n */\n static layoutRenderers: {\n [propsName: string]: (\n props: FormItemProps,\n renderControl: () => JSX.Element | null\n ) => JSX.Element;\n } = {\n horizontal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n description,\n descriptionClassName,\n captionClassName,\n desc,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n // 强制不渲染 label 的话\n if (renderLabel === false) {\n label = label === false ? false : '';\n }\n\n description = description || desc;\n const horizontal = props.horizontal || props.formHorizontal || {};\n const left = getWidthRate(horizontal.left);\n const right = getWidthRate(horizontal.right);\n const labelAlign = props.labelAlign || props.formLabelAlign;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--horizontal`,\n className,\n {\n 'Form-item--horizontal-justify': horizontal.justify,\n [`is-error`]: model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label !== false ? (\n <label\n className={cx(\n `Form-label`,\n {\n [`Form-itemColumn--${\n typeof horizontal.leftFixed === 'string'\n ? horizontal.leftFixed\n : 'normal'\n }`]: horizontal.leftFixed,\n [`Form-itemColumn--${left}`]: !horizontal.leftFixed,\n 'Form-label--left': labelAlign === 'left'\n },\n labelClassName\n )}\n >\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n useMobileUI,\n className: cx(`Form-labelRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div\n className={cx(`Form-value`, {\n // [`Form-itemColumn--offset${getWidthRate(horizontal.offset)}`]: !label && label !== false,\n [`Form-itemColumn--${right}`]:\n !horizontal.leftFixed && !!right && right !== 12 - left\n })}\n >\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n tooltip: remark,\n className: cx(`Form-remark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n normal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--normal`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n useMobileUI,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n },\n\n inline: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n descriptionClassName,\n captionClassName,\n formItem: model,\n remark,\n labelRemark,\n env,\n hint,\n renderLabel,\n renderDescription,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--inline`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : label}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div className={cx(`Form-value`)}>\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n row: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--row`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n <div className={cx('Form-rowInner')}>\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </div>\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx('Form-feedback')}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {description && renderDescription !== false\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n }\n };\n\n render() {\n const {formMode, inputOnly, wrap, render, formItem: model} = this.props;\n const mode = this.props.mode || formMode;\n\n if (wrap === false || inputOnly) {\n return this.renderControl();\n }\n\n const renderLayout =\n FormItemWrap.layoutRenderers[mode] ||\n FormItemWrap.layoutRenderers['normal'];\n\n return (\n <>\n {renderLayout(this.props, this.renderControl.bind(this))}\n\n {model\n ? render(\n 'modal',\n {\n type: 'dialog',\n ...model.dialogSchema\n },\n {\n show: model.dialogOpen,\n onClose: this.handleDialogClose,\n onConfirm: this.handleDialogConfirm,\n data: model.dialogData,\n formStore: undefined\n }\n )\n : null}\n </>\n );\n }\n}\n\n// 白名单形式,只有这些属性发生变化,才会往下更新。\n// 除非配置 strictMode\nexport const detectProps = [\n 'formPristine', // 这个千万不能干掉。\n 'formInited',\n 'addable',\n 'addButtonClassName',\n 'addButtonText',\n 'addOn',\n 'btnClassName',\n 'btnLabel',\n 'btnDisabled',\n 'className',\n 'clearable',\n 'columns',\n 'columnsCount',\n 'controls',\n 'desc',\n 'description',\n 'disabled',\n 'draggable',\n 'editable',\n 'editButtonClassName',\n 'formHorizontal',\n 'formMode',\n 'hideRoot',\n 'horizontal',\n 'icon',\n 'inline',\n 'inputClassName',\n 'label',\n 'labelClassName',\n 'labelField',\n 'language',\n 'level',\n 'max',\n 'maxRows',\n 'min',\n 'minRows',\n 'multiLine',\n 'multiple',\n 'option',\n 'placeholder',\n 'removable',\n 'required',\n 'remark',\n 'hint',\n 'rows',\n 'searchable',\n 'showCompressOptions',\n 'size',\n 'step',\n 'showInput',\n 'unit',\n 'value',\n 'diffValue',\n 'borderMode',\n 'items',\n 'showCounter',\n 'minLength',\n 'maxLength',\n 'embed',\n 'displayMode'\n];\n\nexport function asFormItem(config: Omit<FormItemConfig, 'component'>) {\n return (Control: FormControlComponent) => {\n const isSFC = !(Control.prototype instanceof React.Component);\n\n // 兼容老的 FormItem 用法。\n if (config.validate && !Control.prototype.validate) {\n const fn = config.validate;\n Control.prototype.validate = function () {\n const host = {\n input: this\n };\n\n return fn.apply(host, arguments);\n };\n } else if (config.validate) {\n console.error(\n 'FormItem配置中的 validate 将不起作用,因为类的成员函数中已经定义了 validate 方法,将优先使用类里面的实现。'\n );\n }\n\n if (config.storeType) {\n Control = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.extendsData\n })(observer(Control));\n delete config.storeType;\n }\n\n return wrapControl(\n hoistNonReactStatic(\n class extends FormItemWrap {\n static defaultProps = {\n className: '',\n renderLabel: config.renderLabel,\n renderDescription: config.renderDescription,\n sizeMutable: config.sizeMutable,\n wrap: config.wrap,\n showErrorMsg: config.showErrorMsg,\n ...Control.defaultProps\n };\n static propsList: any = [\n 'value',\n 'defaultValue',\n 'onChange',\n 'setPrinstineValue',\n 'readOnly',\n 'strictMode',\n ...((Control as any).propsList || [])\n ];\n\n static displayName = `FormItem${\n config.type ? `(${config.type})` : ''\n }`;\n static ComposedComponent = Control;\n\n ref: any;\n\n constructor(props: FormItemProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n\n const {validations, formItem: model} = props;\n\n // 组件注册的时候可能默认指定验证器类型\n if (model && !validations && config.validations) {\n model.config({\n rules: config.validations\n });\n }\n }\n\n shouldComponentUpdate(nextProps: FormControlProps) {\n if (\n config.shouldComponentUpdate?.(this.props, nextProps) ||\n nextProps.strictMode === false ||\n config.strictMode === false\n ) {\n return true;\n }\n\n // 把可能会影响视图的白名单弄出来,减少重新渲染次数。\n if (\n anyChanged(\n detectProps.concat(config.detectProps || []),\n this.props,\n nextProps\n )\n ) {\n return true;\n }\n\n return false;\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderControl() {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n size,\n defaultSize,\n useMobileUI,\n ...rest\n } = this.props;\n\n const controlSize = size || defaultSize;\n const mobileUI = useMobileUI && isMobile();\n return (\n <Control\n {...rest}\n useMobileUI={useMobileUI}\n onOpenDialog={this.handleOpenDialog}\n size={config.sizeMutable !== false ? undefined : size}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n type={type}\n classnames={cx}\n ref={isSFC ? undefined : this.refFn}\n forwardedRef={isSFC ? this.refFn : undefined}\n formItem={model}\n className={cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline && !mobileUI,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n config.sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )}\n />\n );\n }\n },\n Control\n ) as any\n );\n };\n}\n\nexport function registerFormItem(config: FormItemConfig): RendererConfig {\n let Control = asFormItem(config)(config.component);\n\n return registerRenderer({\n ...config,\n weight: typeof config.weight !== 'undefined' ? config.weight : -100, // 优先级高点\n component: Control as any,\n isFormItem: true\n });\n}\n\nexport function FormItem(config: FormItemBasicConfig) {\n return function (component: FormControlComponent): any {\n const renderer = registerFormItem({\n ...config,\n component\n });\n\n return renderer.component as any;\n };\n}\n\nexport default FormItem;\n"
12
12
  ]
13
13
  }
@@ -71,7 +71,6 @@ export interface TreeSelectProps extends OptionsControlProps {
71
71
  }
72
72
  export interface TreeSelectState {
73
73
  isOpened: boolean;
74
- isFocused: boolean;
75
74
  inputValue: string;
76
75
  }
77
76
  export default class TreeSelectControl extends React.Component<TreeSelectProps, TreeSelectState> {
@@ -29,8 +29,7 @@ var TreeSelectControl = /** @class */ (function (_super) {
29
29
  };
30
30
  _this.state = {
31
31
  inputValue: '',
32
- isOpened: false,
33
- isFocused: false
32
+ isOpened: false
34
33
  };
35
34
  _this.open = _this.open.bind(_this);
36
35
  _this.close = _this.close.bind(_this);
@@ -67,18 +66,12 @@ var TreeSelectControl = /** @class */ (function (_super) {
67
66
  };
68
67
  TreeSelectControl.prototype.handleFocus = function (e) {
69
68
  var _a = this.props, dispatchEvent = _a.dispatchEvent, value = _a.value, data = _a.data;
70
- this.setState({
71
- isFocused: true
72
- });
73
69
  dispatchEvent('focus', (0, helper_1.createObject)(data, {
74
70
  value: value
75
71
  }));
76
72
  };
77
73
  TreeSelectControl.prototype.handleBlur = function (e) {
78
74
  var _a = this.props, dispatchEvent = _a.dispatchEvent, value = _a.value, data = _a.data;
79
- this.setState({
80
- isFocused: false
81
- });
82
75
  dispatchEvent('blur', (0, helper_1.createObject)(data, {
83
76
  value: value
84
77
  }));
@@ -311,7 +304,6 @@ var TreeSelectControl = /** @class */ (function (_super) {
311
304
  'TreeSelect--multi': multiple,
312
305
  'TreeSelect--searchable': searchable || (0, api_1.isEffectiveApi)(autoComplete),
313
306
  'is-opened': this.state.isOpened,
314
- 'is-focused': this.state.isFocused,
315
307
  'is-disabled': disabled
316
308
  }), result: multiple
317
309
  ? selectedOptions
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/TreeSelect.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport PopUp from '../../components/PopUp';\n\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport {Icon} from '../../components/icons';\nimport TreeSelector from '../../components/Tree';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport find from 'lodash/find';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport ResultBox from '../../components/ResultBox';\nimport {\n autobind,\n getTreeAncestors,\n isMobile,\n createObject\n} from '../../utils/helper';\nimport {findDOMNode} from 'react-dom';\nimport {normalizeOptions} from '../../components/Select';\nimport {Action} from '../../types';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeSelectControlSchema extends FormOptionsControl {\n type: 'tree-select';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 单选时,只运行选择叶子节点\n */\n onlyLeaf?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n\n /**\n * 是否显示展开线\n */\n showOutline?: boolean;\n}\n\nexport interface TreeSelectProps extends OptionsControlProps {\n placeholder?: any;\n autoComplete?: Api;\n hideNodePathLabel?: boolean;\n enableNodePath?: boolean;\n pathSeparator?: string;\n useMobileUI?: boolean;\n}\n\nexport interface TreeSelectState {\n isOpened: boolean;\n isFocused: boolean;\n inputValue: string;\n}\n\nexport default class TreeSelectControl extends React.Component<\n TreeSelectProps,\n TreeSelectState\n> {\n static defaultProps = {\n placeholder: 'Select.placeholder',\n optionsPlaceholder: 'placeholder.noData',\n multiple: false,\n clearable: true,\n rootLabel: 'Tree.root',\n rootValue: '',\n showIcon: true,\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n resetValue: '',\n hideNodePathLabel: false,\n enableNodePath: false,\n pathSeparator: '/',\n selfDisabledAffectChildren: true\n };\n\n treeRef: any;\n\n container: React.RefObject<HTMLDivElement> = React.createRef();\n\n input: React.RefObject<any> = React.createRef();\n\n cache: {\n [propName: string]: any;\n } = {};\n\n target: HTMLElement | null;\n targetRef = (ref: any) =>\n (this.target = ref ? (findDOMNode(ref) as HTMLElement) : null);\n\n constructor(props: TreeSelectProps) {\n super(props);\n\n this.state = {\n inputValue: '',\n isOpened: false,\n isFocused: false\n };\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n\n this.loadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n componentDidMount() {\n this.loadRemote('');\n }\n\n open(fn?: () => void) {\n if (this.props.disabled) {\n return;\n }\n\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n }\n\n close() {\n this.setState(\n {\n isOpened: false,\n inputValue: this.props.multiple ? this.state.inputValue : ''\n },\n () => this.loadRemote(this.state.inputValue)\n );\n }\n\n handleFocus(e: any) {\n const {dispatchEvent, value, data} = this.props;\n this.setState({\n isFocused: true\n });\n dispatchEvent('focus', createObject(data, {\n value\n }));\n }\n\n handleBlur(e: any) {\n const {dispatchEvent, value, data} = this.props;\n this.setState({\n isFocused: false\n });\n dispatchEvent('blur', createObject(data, {\n value\n }));\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n validate(): any {\n const {value, minLength, maxLength, delimiter, translate: __} = this.props;\n\n let curValue = Array.isArray(value)\n ? value\n : (value ? String(value) : '').split(delimiter || ',');\n if (minLength && curValue.length < minLength) {\n return __(\n '已选择数量低于设定的最小个数${minLength},请选择更多的选项。',\n {minLength}\n );\n } else if (maxLength && curValue.length > maxLength) {\n return __(\n '已选择数量超出设定的最大个数{{maxLength}},请取消选择超出的选项。',\n {maxLength}\n );\n }\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n disabled\n } = this.props;\n\n e && e.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = items.map((item: any) => item[valueField || 'value']);\n }\n\n onChange(value);\n }\n\n handleChange(value: any) {\n const {multiple} = this.props;\n\n if (!multiple) {\n this.close();\n }\n\n multiple || !this.state.inputValue\n ? this.resultChangeEvent(value)\n : this.setState(\n {\n inputValue: ''\n },\n () => this.resultChangeEvent(value)\n );\n }\n\n handleInputChange(value: string) {\n const {autoComplete, data} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n isEffectiveApi(autoComplete, data)\n ? () => this.loadRemote(this.state.inputValue)\n : undefined\n );\n }\n\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(typeof resetValue === 'undefined' ? '' : resetValue);\n }\n\n filterOptions(options: Array<Option>, keywords: string): Array<Option> {\n const {labelField, valueField} = this.props;\n\n return options.map(option => {\n option = {\n ...option\n };\n option.visible = !!matchSorter([option], keywords, {\n keys: [labelField || 'label', valueField || 'value']\n }).length;\n\n if (!option.visible && option.children) {\n option.children = this.filterOptions(option.children, keywords);\n const visibleCount = option.children.filter(\n item => item.visible\n ).length;\n option.visible = !!visibleCount;\n }\n\n option.visible && (option.collapsed = false);\n return option;\n });\n }\n\n async loadRemote(input: string) {\n const {autoComplete, env, data, setOptions, setLoading} = this.props;\n\n if (!isEffectiveApi(autoComplete, data)) {\n return;\n } else if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (this.cache[input] || ~input.indexOf(\"'\") /*中文没输完 233*/) {\n let options = this.cache[input] || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return Promise.resolve({\n options: combinedOptions\n });\n }\n\n setLoading(true);\n\n try {\n const ret: any = await env.fetcher(autoComplete, {\n ...data,\n term: input,\n value: input\n });\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n this.cache[input] = options;\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n visible: false\n });\n }\n });\n }\n return combinedOptions;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {joinValues, extractValue, delimiter, valueField, multiple} =\n this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n this.resultChangeEvent('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n this.resultChangeEvent(newValue);\n }\n\n doAction(action: Action, data: any, throwErrors: boolean) {\n if (action.actionType && ['clear', 'reset'].includes(action.actionType)) {\n this.clearValue();\n }\n }\n\n @autobind\n async resultChangeEvent(value: any) {\n const {onChange, dispatchEvent, data} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n onChange && onChange(value);\n }\n\n @autobind\n renderItem(item: Option) {\n const {labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n\n // 将所有祖先节点也展现出来\n const ancestors = getTreeAncestors(options, item, true);\n return `${\n ancestors\n ? ancestors.map(item => `${item[labelField || 'label']}`).join(' / ')\n : item[labelField || 'label']\n }`;\n }\n\n @autobind\n domRef(ref: any) {\n this.treeRef = ref;\n }\n\n renderOuter() {\n const {\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n popOverContainer,\n onlyChildren,\n onlyLeaf,\n classPrefix: ns,\n optionsPlaceholder,\n searchable,\n autoComplete,\n maxLength,\n minLength,\n labelField,\n nodePath,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n translate: __,\n deferLoad,\n expandTreeOptions,\n selfDisabledAffectChildren,\n showOutline,\n autoCheckChildren\n } = this.props;\n\n let filtedOptions =\n !isEffectiveApi(autoComplete) && searchable && this.state.inputValue\n ? this.filterOptions(options, this.state.inputValue)\n : options;\n\n return (\n <TreeSelector\n classPrefix={ns}\n onRef={this.domRef}\n onlyChildren={onlyChildren}\n onlyLeaf={onlyLeaf}\n labelField={labelField}\n valueField={valueField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(optionsPlaceholder)}\n options={filtedOptions}\n highlightTxt={this.state.inputValue}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n autoCheckChildren={autoCheckChildren}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n showOutline={showOutline}\n cascade={cascade}\n foldedField=\"collapsed\"\n hideRoot\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n maxLength={maxLength}\n minLength={minLength}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n selfDisabledAffectChildren={selfDisabledAffectChildren}\n />\n );\n }\n\n render() {\n const {\n className,\n disabled,\n inline,\n loading,\n multiple,\n value,\n clearable,\n classPrefix: ns,\n classnames: cx,\n searchable,\n autoComplete,\n selectedOptions,\n placeholder,\n popOverContainer,\n useMobileUI,\n translate: __,\n env\n } = this.props;\n\n const {isOpened} = this.state;\n const mobileUI = useMobileUI && isMobile();\n return (\n <div ref={this.container} className={cx(`TreeSelectControl`, className)}>\n <ResultBox\n disabled={disabled}\n ref={this.targetRef}\n placeholder={__(placeholder || 'placeholder.empty')}\n className={cx(`TreeSelect`, {\n 'TreeSelect--inline': inline,\n 'TreeSelect--single': !multiple,\n 'TreeSelect--multi': multiple,\n 'TreeSelect--searchable':\n searchable || isEffectiveApi(autoComplete),\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderItem(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderItem}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable || isEffectiveApi(autoComplete)}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {!mobileUI && isOpened ? (\n <Overlay\n container={popOverContainer || (() => this.container.current)}\n target={() => this.target}\n show\n >\n <PopOver\n classPrefix={ns}\n className={`${ns}TreeSelect-popover`}\n style={{\n minWidth: this.target ? this.target.offsetWidth : undefined\n }}\n onHide={this.close}\n overlay\n >\n {this.renderOuter()}\n </PopOver>\n </Overlay>\n ) : null}\n {mobileUI ? (\n <PopUp\n container={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n className={cx(`${ns}TreeSelect-popup`)}\n isShow={isOpened}\n onHide={this.close}\n >\n {this.renderOuter()}\n </PopUp>\n ) : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'tree-select'\n})\nexport class TreeSelectControlRenderer extends TreeSelectControl {}\n"
11
+ "import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport PopUp from '../../components/PopUp';\n\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport {Icon} from '../../components/icons';\nimport TreeSelector from '../../components/Tree';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport find from 'lodash/find';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport ResultBox from '../../components/ResultBox';\nimport {\n autobind,\n getTreeAncestors,\n isMobile,\n createObject\n} from '../../utils/helper';\nimport {findDOMNode} from 'react-dom';\nimport {normalizeOptions} from '../../components/Select';\nimport {Action} from '../../types';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeSelectControlSchema extends FormOptionsControl {\n type: 'tree-select';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 单选时,只运行选择叶子节点\n */\n onlyLeaf?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n\n /**\n * 是否显示展开线\n */\n showOutline?: boolean;\n}\n\nexport interface TreeSelectProps extends OptionsControlProps {\n placeholder?: any;\n autoComplete?: Api;\n hideNodePathLabel?: boolean;\n enableNodePath?: boolean;\n pathSeparator?: string;\n useMobileUI?: boolean;\n}\n\nexport interface TreeSelectState {\n isOpened: boolean;\n inputValue: string;\n}\n\nexport default class TreeSelectControl extends React.Component<\n TreeSelectProps,\n TreeSelectState\n> {\n static defaultProps = {\n placeholder: 'Select.placeholder',\n optionsPlaceholder: 'placeholder.noData',\n multiple: false,\n clearable: true,\n rootLabel: 'Tree.root',\n rootValue: '',\n showIcon: true,\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n resetValue: '',\n hideNodePathLabel: false,\n enableNodePath: false,\n pathSeparator: '/',\n selfDisabledAffectChildren: true\n };\n\n treeRef: any;\n\n container: React.RefObject<HTMLDivElement> = React.createRef();\n\n input: React.RefObject<any> = React.createRef();\n\n cache: {\n [propName: string]: any;\n } = {};\n\n target: HTMLElement | null;\n targetRef = (ref: any) =>\n (this.target = ref ? (findDOMNode(ref) as HTMLElement) : null);\n\n constructor(props: TreeSelectProps) {\n super(props);\n\n this.state = {\n inputValue: '',\n isOpened: false\n };\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n\n this.loadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n componentDidMount() {\n this.loadRemote('');\n }\n\n open(fn?: () => void) {\n if (this.props.disabled) {\n return;\n }\n\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n }\n\n close() {\n this.setState(\n {\n isOpened: false,\n inputValue: this.props.multiple ? this.state.inputValue : ''\n },\n () => this.loadRemote(this.state.inputValue)\n );\n }\n\n handleFocus(e: any) {\n const {dispatchEvent, value, data} = this.props;\n\n dispatchEvent(\n 'focus',\n createObject(data, {\n value\n })\n );\n }\n\n handleBlur(e: any) {\n const {dispatchEvent, value, data} = this.props;\n dispatchEvent(\n 'blur',\n createObject(data, {\n value\n })\n );\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n validate(): any {\n const {value, minLength, maxLength, delimiter, translate: __} = this.props;\n\n let curValue = Array.isArray(value)\n ? value\n : (value ? String(value) : '').split(delimiter || ',');\n if (minLength && curValue.length < minLength) {\n return __(\n '已选择数量低于设定的最小个数${minLength},请选择更多的选项。',\n {minLength}\n );\n } else if (maxLength && curValue.length > maxLength) {\n return __(\n '已选择数量超出设定的最大个数{{maxLength}},请取消选择超出的选项。',\n {maxLength}\n );\n }\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n disabled\n } = this.props;\n\n e && e.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = items.map((item: any) => item[valueField || 'value']);\n }\n\n onChange(value);\n }\n\n handleChange(value: any) {\n const {multiple} = this.props;\n\n if (!multiple) {\n this.close();\n }\n\n multiple || !this.state.inputValue\n ? this.resultChangeEvent(value)\n : this.setState(\n {\n inputValue: ''\n },\n () => this.resultChangeEvent(value)\n );\n }\n\n handleInputChange(value: string) {\n const {autoComplete, data} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n isEffectiveApi(autoComplete, data)\n ? () => this.loadRemote(this.state.inputValue)\n : undefined\n );\n }\n\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(typeof resetValue === 'undefined' ? '' : resetValue);\n }\n\n filterOptions(options: Array<Option>, keywords: string): Array<Option> {\n const {labelField, valueField} = this.props;\n\n return options.map(option => {\n option = {\n ...option\n };\n option.visible = !!matchSorter([option], keywords, {\n keys: [labelField || 'label', valueField || 'value']\n }).length;\n\n if (!option.visible && option.children) {\n option.children = this.filterOptions(option.children, keywords);\n const visibleCount = option.children.filter(\n item => item.visible\n ).length;\n option.visible = !!visibleCount;\n }\n\n option.visible && (option.collapsed = false);\n return option;\n });\n }\n\n async loadRemote(input: string) {\n const {autoComplete, env, data, setOptions, setLoading} = this.props;\n\n if (!isEffectiveApi(autoComplete, data)) {\n return;\n } else if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (this.cache[input] || ~input.indexOf(\"'\") /*中文没输完 233*/) {\n let options = this.cache[input] || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return Promise.resolve({\n options: combinedOptions\n });\n }\n\n setLoading(true);\n\n try {\n const ret: any = await env.fetcher(autoComplete, {\n ...data,\n term: input,\n value: input\n });\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n this.cache[input] = options;\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n visible: false\n });\n }\n });\n }\n return combinedOptions;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {joinValues, extractValue, delimiter, valueField, multiple} =\n this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n this.resultChangeEvent('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n this.resultChangeEvent(newValue);\n }\n\n doAction(action: Action, data: any, throwErrors: boolean) {\n if (action.actionType && ['clear', 'reset'].includes(action.actionType)) {\n this.clearValue();\n }\n }\n\n @autobind\n async resultChangeEvent(value: any) {\n const {onChange, dispatchEvent, data} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n onChange && onChange(value);\n }\n\n @autobind\n renderItem(item: Option) {\n const {labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n\n // 将所有祖先节点也展现出来\n const ancestors = getTreeAncestors(options, item, true);\n return `${\n ancestors\n ? ancestors.map(item => `${item[labelField || 'label']}`).join(' / ')\n : item[labelField || 'label']\n }`;\n }\n\n @autobind\n domRef(ref: any) {\n this.treeRef = ref;\n }\n\n renderOuter() {\n const {\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n popOverContainer,\n onlyChildren,\n onlyLeaf,\n classPrefix: ns,\n optionsPlaceholder,\n searchable,\n autoComplete,\n maxLength,\n minLength,\n labelField,\n nodePath,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n translate: __,\n deferLoad,\n expandTreeOptions,\n selfDisabledAffectChildren,\n showOutline,\n autoCheckChildren\n } = this.props;\n\n let filtedOptions =\n !isEffectiveApi(autoComplete) && searchable && this.state.inputValue\n ? this.filterOptions(options, this.state.inputValue)\n : options;\n\n return (\n <TreeSelector\n classPrefix={ns}\n onRef={this.domRef}\n onlyChildren={onlyChildren}\n onlyLeaf={onlyLeaf}\n labelField={labelField}\n valueField={valueField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(optionsPlaceholder)}\n options={filtedOptions}\n highlightTxt={this.state.inputValue}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n autoCheckChildren={autoCheckChildren}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n showOutline={showOutline}\n cascade={cascade}\n foldedField=\"collapsed\"\n hideRoot\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n maxLength={maxLength}\n minLength={minLength}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n selfDisabledAffectChildren={selfDisabledAffectChildren}\n />\n );\n }\n\n render() {\n const {\n className,\n disabled,\n inline,\n loading,\n multiple,\n value,\n clearable,\n classPrefix: ns,\n classnames: cx,\n searchable,\n autoComplete,\n selectedOptions,\n placeholder,\n popOverContainer,\n useMobileUI,\n translate: __,\n env\n } = this.props;\n\n const {isOpened} = this.state;\n const mobileUI = useMobileUI && isMobile();\n return (\n <div ref={this.container} className={cx(`TreeSelectControl`, className)}>\n <ResultBox\n disabled={disabled}\n ref={this.targetRef}\n placeholder={__(placeholder || 'placeholder.empty')}\n className={cx(`TreeSelect`, {\n 'TreeSelect--inline': inline,\n 'TreeSelect--single': !multiple,\n 'TreeSelect--multi': multiple,\n 'TreeSelect--searchable':\n searchable || isEffectiveApi(autoComplete),\n 'is-opened': this.state.isOpened,\n 'is-disabled': disabled\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderItem(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderItem}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable || isEffectiveApi(autoComplete)}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {!mobileUI && isOpened ? (\n <Overlay\n container={popOverContainer || (() => this.container.current)}\n target={() => this.target}\n show\n >\n <PopOver\n classPrefix={ns}\n className={`${ns}TreeSelect-popover`}\n style={{\n minWidth: this.target ? this.target.offsetWidth : undefined\n }}\n onHide={this.close}\n overlay\n >\n {this.renderOuter()}\n </PopOver>\n </Overlay>\n ) : null}\n {mobileUI ? (\n <PopUp\n container={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n className={cx(`${ns}TreeSelect-popup`)}\n isShow={isOpened}\n onHide={this.close}\n >\n {this.renderOuter()}\n </PopUp>\n ) : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'tree-select'\n})\nexport class TreeSelectControlRenderer extends TreeSelectControl {}\n"
12
12
  ]
13
13
  }
@@ -431,7 +431,11 @@ var Form = /** @class */ (function (_super) {
431
431
  data = store.data;
432
432
  }
433
433
  if (Array.isArray(action.required) && action.required.length) {
434
- return store.validateFields(action.required).then(function (result) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
434
+ var fields = action.required.map(function (item) { return ({
435
+ name: item,
436
+ rules: { isRequired: true }
437
+ }); });
438
+ return store.validateFields(fields).then(function (result) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
435
439
  var dispatcher;
436
440
  return (0, tslib_1.__generator)(this, function (_a) {
437
441
  switch (_a.label) {
@@ -443,12 +447,12 @@ var Form = /** @class */ (function (_super) {
443
447
  if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
444
448
  env.notify('error', __('Form.validateFailed'));
445
449
  }
446
- return [3 /*break*/, 3];
450
+ /** 抛异常是为了在dialog中catch这个错误,避免弹窗直接关闭 */
451
+ return [2 /*return*/, Promise.reject(__('Form.validateFailed'))];
447
452
  case 2:
448
453
  dispatchEvent('validateSucc', this.props.data);
449
454
  this.handleAction(e, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, action), { required: undefined }), data, throwErrors, delegate);
450
- _a.label = 3;
451
- case 3: return [2 /*return*/];
455
+ return [2 /*return*/];
452
456
  }
453
457
  });
454
458
  }); });