amis 1.9.1-beta.25 → 1.9.1-beta.28
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/Select.d.ts +388 -193
- package/lib/components/Select.js +9 -6
- package/lib/components/Select.js.map +2 -2
- package/lib/factory.js +1 -1
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/renderers/Dialog.d.ts +147 -169
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Form/InputText.js +7 -1
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/Item.js +2 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +5 -0
- package/lib/renderers/Form/Select.js +4 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +4 -4
- package/lib/renderers/Form/index.js +256 -252
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Steps.js +2 -1
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +75 -30
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/themes/ang-ie11.css +8 -3
- package/lib/themes/ang.css +7 -0
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +26 -21
- package/lib/themes/antd.css +11 -0
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +5 -0
- package/lib/themes/cxd.css +7 -2
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +8 -3
- package/lib/themes/dark.css +7 -0
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +5 -0
- package/lib/themes/default.css +7 -2
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/helper.js +2 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +36 -26
- package/scss/_properties.scss +5 -0
- package/scss/components/_table.scss +9 -1
- package/scss/themes/_antd-variables.scss +6 -0
- package/scss/themes/_cxd-variables.scss +0 -2
- package/sdk/ang-ie11.css +10 -3
- package/sdk/ang.css +9 -0
- package/sdk/antd-ie11.css +28 -21
- package/sdk/antd.css +13 -0
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +7 -0
- package/sdk/cxd.css +9 -2
- package/sdk/dark-ie11.css +10 -3
- package/sdk/dark.css +9 -0
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +7 -0
- package/sdk/sdk.css +9 -2
- package/sdk/sdk.js +1648 -1643
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/components/Select.tsx +10 -5
- package/src/factory.tsx +1 -1
- package/src/renderers/Dialog.tsx +0 -1
- package/src/renderers/Form/InputText.tsx +9 -1
- package/src/renderers/Form/Item.tsx +2 -1
- package/src/renderers/Form/Select.tsx +10 -1
- package/src/renderers/Form/index.tsx +18 -25
- package/src/renderers/Steps.tsx +7 -2
- package/src/renderers/Table/index.tsx +82 -30
- package/src/utils/helper.ts +2 -1
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Dialog.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,oCAAwD;AACxD,sCAAmD;AAEnD,oCAAoC;AACpC,2EAAwC;AACxC,0CAMyB;AACzB,6BAA8B;AAC9B,6CAAyC;AACzC,wCAAuD;AACvD,uCAAsC;AACtC,4CAAsC;AAUtC,mDAAwC;AA4FxC;IAAoC,uCAA4B;IAmC9D,gBAAY,KAAkB;QAA9B,YACE,kBAAM,KAAK,CAAC,SAqBb;QAxBD,YAAM,GAAG,KAAK,CAAC;QACf,UAAI,GAAW,IAAA,aAAI,GAAE,CAAC;QAIpB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/D,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/D,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACrD,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvD,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzD,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAE/D,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAI,CAAC,QAAQ,GAAG,IAAA,eAAQ,EACtB,cAAM,OAAA,UAAG,KAAK,CAAC,OAAO,SAAG,KAAK,CAAC,KAAK,CAAE,EAAhC,CAAgC,EACtC,cAAM,OAAA,KAAI,CAAC,WAAW,EAAE,EAAlB,CAAkB,CACzB,CAAC;;IACJ,CAAC;IAED,wEAAwE;IACxE,gCAAgC;IAEhC,sDAAsD;IACtD,uBAAuB;IACvB,qEAAqE;IACrE,wBAAwB;IACxB,QAAQ;IAER,6DAA6D;IAC7D,IAAI;IAEJ,qCAAoB,GAApB;QACE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,6BAAY,GAAZ;QACQ,IAAA,KAAoC,IAAI,CAAC,KAAK,EAA7C,OAAO,aAAA,EAAE,OAAO,aAAA,EAAa,EAAE,eAAc,CAAC;QAErD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,OAAO,OAAO,CAAC;SAChB;QAED,IAAI,GAAG,GAAwB,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE;YACX,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gCAAe,GAAf,UAAgB,CAAO,EAAE,SAAmB;QACpC,IAAA,KAAmB,IAAI,CAAC,KAAK,EAA5B,OAAO,aAAA,EAAE,KAAK,WAAc,CAAC;QAEpC,cAAc;QACd,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAED,6BAAY,GAAZ,UAAa,CAAqB,EAAE,MAAc,EAAE,IAAY;QACxD,IAAA,KAAoB,IAAI,CAAC,KAAK,EAA7B,KAAK,WAAA,EAAE,QAAQ,cAAc,CAAC;QAErC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;YACzC,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM,IAAI,QAAQ,EAAE;YACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,oCAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QAChE,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACxD,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B;QAED,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAa,CAAC;QAE1C,IACE,MAAM;YACN,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,SAAS,OAAhB,MAAM,8BAAW,MAAM,EAAE,MAAM,GAAK,IAAI,cAAM,KAAK,EACnD;YACA,OAAO;SACR;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAiB,GAAjB;QAAkB,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,yBAAmB;;QAC5B,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;QACtC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAa,CAAC;QAEpC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,OAAd,MAAM,EAAY,IAAI,MAAM,KAAK,EAAE;YACvD,OAAO;SACR;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,oCAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QAChE,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACxD,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B;QAED,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAa,CAAC;QAE1C,IACE,MAAM;YACN,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,SAAS,OAAhB,MAAM,8BAAW,MAAM,EAAE,MAAM,GAAK,IAAI,cAAM,KAAK,EACnD;YACA,OAAO;SACR;QAED,KAAK,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC;IAED,kCAAiB,GAAjB;QAAkB,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,yBAAmB;;QAC5B,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,IAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;QACtC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAa,CAAC;QAEpC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,OAAd,MAAM,EAAY,IAAI,MAAM,KAAK,EAAE;YACvD,OAAO;SACR;QAED,KAAK,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC;IAED,8BAAa,GAAb;QACQ,IAAA,KAAsB,IAAI,CAAC,KAAK,EAA/B,UAAU,gBAAA,EAAE,KAAK,WAAc,CAAC;QAEvC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;YACpC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACzC;QAED,IAAM,UAAU,GAAG,QAAQ,CAAC,aAA4B,CAAC;QACzD,IAAI,UAAU,EAAE;YACd,IAAM,GAAG,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAgB,CAAC;YAC7C,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;SACvD;IACH,CAAC;IAED,6BAAY,GAAZ;QACQ,IAAA,KAAsB,IAAI,CAAC,KAAK,EAA/B,UAAU,gBAAA,EAAE,KAAK,WAAc,CAAC;QACvC,IAAI,IAAA,yBAAO,EAAC,KAAK,CAAC,EAAE;YAClB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;gBACpC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACrB;SACF;IACH,CAAC;IAED,+BAAc,GAAd,UAAe,IAAS;QACf,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,iCAAgB,GAAhB,UAAiB,IAAS,EAAE,IAAa;;QAChC,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,uCAAuC;QACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI;gBACF,GAAC,IAAI,IAAG,IAAI;mBACb,CAAC;SACH;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,gCAAe,GAAf,UAAgB,IAAS,EAAE,QAAa;QAC/B,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAE3B,KAAK,CAAC,WAAW,iDACZ,IAAI,GACJ,QAAQ,EACX,CAAC;IACL,CAAC;IAED,oCAAmB,GAAnB,UAAoB,KAAU,EAAE,MAAc;QAC5C,QAAQ;IACV,CAAC;IAED,6BAAY,GAAZ,UAAa,MAAW,EAAE,GAAQ;QAAlC,iBAYC;QAXC,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;YACjB,IAAA,KAAK,GAAI,KAAI,CAAC,KAAK,MAAd,CAAe;YAC3B,KAAK,CAAC,gBAAgB,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,UAAA,SAAS;gBACxC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,oCAAmB,GAAnB;QACE,OAAQ,IAAA,uBAAW,EAAC,IAAI,CAAiB,CAAC,aAAa,CACrD,WAAI,IAAI,CAAC,KAAK,CAAC,WAAW,kBAAe,CAC1C,CAAC;IACJ,CAAC;IAED,2BAAU,GAAV,UAAW,IAAgB,EAAE,GAAS;QAAtC,iBAoCC;QAnCK,IAAA,KAAkB,IAAI,CAAC,KAAK,EAA3B,MAAM,YAAA,EAAE,KAAK,WAAc,CAAC;QAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAA1B,CAA0B,CAAC,CAAC;SAC5D;QAED,IAAI,QAAQ,GAAQ;YAClB,GAAG,KAAA;YACH,QAAQ,EAAE,CAAC,IAAI,IAAK,IAAY,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO;YAC3D,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,UAAU,EAAE,IAAI,CAAC,mBAAmB;YACpC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB;YAC1C,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,IAAI,CAAC,gBAAgB;YAC/B,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,YAAY,EAAE,KAAK,CAAC,uBAAuB;SAC5C,CAAC;QAEF,IAAI,CAAE,IAAe,CAAC,IAAI,EAAE;YAC1B,OAAO,MAAM,CAAC,cAAO,GAAG,CAAC,CAAC,CAAC,WAAI,GAAG,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC9D;QAED,IAAI,MAAM,GAAW,IAAc,CAAC;QAEpC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;YAC1B,MAAM,2BACJ,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,KAAK,EACpB,UAAU,EAAE,IAAI,IACb,MAAM,CACV,CAAC;SACH;QAED,OAAO,MAAM,CAAC,cAAO,GAAG,CAAC,CAAC,CAAC,WAAI,GAAG,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,6BAAY,GAAZ;QAAA,iBAsCC;QArCC,IAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QAEK,IAAA,KAMF,IAAI,CAAC,KAAK,EALZ,KAAK,WAAA,EACL,MAAM,YAAA,EACM,EAAE,gBAAA,EACd,YAAY,kBAAA,EACZ,WAAW,iBACC,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC;YAC/B,CAAC,WAAW,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;gBACzC,CAAC,YAAY,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACxC,uCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAC,MAAM;gBAC1C,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CACvB,8BAAC,oBAAO,IAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,GAAI,CACtD,CAAC,CAAC,CAAC,IAAI;gBACP,KAAK,CAAC,KAAK,IAAI,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,CACvC,wCAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAAG,KAAK,CAAC,GAAG,CAAQ,CACxD,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC,CAAC,CAAC,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,GAAG;gBACvB,OAAA,MAAM,CAAC,iBAAU,GAAG,CAAE,EAAE,MAAM,EAAE;oBAC9B,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,QAAQ,EAAE,KAAI,CAAC,YAAY;oBAC3B,GAAG,KAAA;oBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO;iBAC3C,CAAC;YALF,CAKE,CACH,CACG,CACP,CAAC;IACJ,CAAC;IAED,uBAAM,GAAN;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACzB,IAAA,KAoBF,gDACC,IAAI,CAAC,KAAK,GACV,KAAK,CAAC,MAAM,CACT,EAtBN,SAAS,eAAA,EACT,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,MAAM,YAAA,EACN,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,eAAe,qBAAA,EACf,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,eAAe,qBAAA,EACf,GAAG,SAAA,EACS,EAAE,gBAAA,EACd,WAAW,iBAAA,EACA,EAAE,eAIP,CAAC;QAET,IAAM,OAAO,GAAG,gBAAgB,IAAI,eAAK,CAAC;QAC1C,OAAO,CACL,8BAAC,OAAO,IACN,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAE,IAAI,CAAC,eAAe,EAC5B,QAAQ,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,EACtC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,cAAc,EACnD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,SAAS,EACP,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAElE,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,KAAK,CAAC,OAAO;YAEtB,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CACpC,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;gBAChD,eAAe,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAC7C,qDACgB,EAAE,CAAC,cAAc,CAAC,mBAClB,MAAM,EACpB,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;oBAE5B,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACpC,CACL,CAAC,CAAC,CAAC,IAAI;gBACR,uCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAC9B,IAAA,YAAM,EAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC9B,CACF,CACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;gBAChD,eAAe,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAC7C,qDACgB,EAAE,CAAC,cAAc,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;oBAE5B,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACpC,CACL,CAAC,CAAC,CAAC,IAAI;gBACP,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;oBACtB,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,QAAQ,EAAE,IAAI,CAAC,YAAY;iBAC5B,CAAC,CACE,CACP,CAAC,CAAC,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAChD,qDACgB,EAAE,CAAC,cAAc,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;gBAE5B,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACpC,CACL,CAAC,CAAC,CAAC,IAAI;YAEP,MAAM;gBACL,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;oBACvB,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,QAAQ,EAAE,IAAI,CAAC,YAAY;iBAC5B,CAAC;gBACJ,CAAC,CAAC,IAAI;YAEP,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzD,uCAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;gBAC7C,8BAAC,oBAAO,IAAC,OAAO,QAAC,IAAI,QAAC,IAAI,EAAC,IAAI,GAAG,CAC9B,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACT,uCAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,IAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAC1B,CACP,CAAC,CAAC,CAAC,IAAI;YAEP,IAAI,CAAC,YAAY,EAAE;YAEnB,IAAI;gBACH,CAAC,CAAC,MAAM,CACJ,QAAQ,kDAGH,CAAE,KAAK,CAAC,MAAiB;oBACxB,KAAK,CAAC,MAAiB,CAAC,MAAiB,CAAC,KAC9C,IAAI,EAAE,QAAQ,KAEhB;oBACE,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,SAAS,EAAE,IAAI,CAAC,mBAAmB;oBACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB;oBAC/B,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,QAAQ,EAAE,IAAI,CAAC,YAAY;iBAC5B,CACF;gBACH,CAAC,CAAC,IAAI;YAEP,IAAI;gBACH,CAAC,CAAC,MAAM,CACJ,QAAQ,kDAGH,CAAE,KAAK,CAAC,MAAiB;oBACxB,KAAK,CAAC,MAAiB,CAAC,MAAiB,CAAC,KAC9C,IAAI,EAAE,QAAQ,KAEhB;oBACE,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,SAAS,EAAE,IAAI,CAAC,mBAAmB;oBACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB;oBAC/B,IAAI,EAAE,KAAK,CAAC,UAAU;oBACtB,QAAQ,EAAE,IAAI,CAAC,YAAY;iBAC5B,CACF;gBACH,CAAC,CAAC,IAAI,CACA,CACX,CAAC;IACJ,CAAC;IA7eM,gBAAS,GAAkB;QAChC,OAAO;QACP,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,UAAU;QACV,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,SAAS;QACT,WAAW;QACX,MAAM;QACN,MAAM;QACN,iBAAiB;QACjB,cAAc;QACd,SAAS;QACT,kBAAkB;KACnB,CAAC;IACK,mBAAY,GAAG;QACpB,KAAK,EAAE,cAAc;QACrB,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,eAAK;QACvB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC;IAuOF;QADC,iBAAQ;;;;qDAKR;IAsOH,aAAC;CAAA,AA/eD,CAAoC,eAAK,CAAC,SAAS,GA+elD;kBA/eoB,MAAM;AA6f3B;IAAoC,+CAAM;IAGxC,wBAAY,KAAkB,EAAE,OAAuB;QAAvD,YACE,kBAAM,KAAK,CAAC,SAIb;QAFC,IAAM,MAAM,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC,KAAI,CAAC,CAAC;;IACjC,CAAC;IAED,6CAAoB,GAApB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjC,iBAAM,oBAAoB,WAAE,CAAC;IAC/B,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAc,EAAE,GAAW,EAAE,SAAkB;QAAnE,iBA+EC;QA9EC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAE9C,IAAM,OAAO,GAAe,EAAE,CAAC;QACzB,IAAA,KAAqB,IAAI,CAAC,KAAK,EAA9B,SAAS,eAAA,EAAE,KAAK,WAAc,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,CAAC,IAAI,OAAZ,OAAO,EACF,MAAM,CAAC,MAAM;iBACb,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAA/B,CAA+B,CAAC;iBAC5C,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,IAAI,IAAI,CAAC,QAAQ,EAArB,CAAqB,CAAC,EACxC;SACH;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,IAAI,UAAU,GAAG,MAAM;iBACpB,aAAa,EAAE;iBACf,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAA/C,CAA+C,CAAC,CAAC;YAEnE,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YAEjC,OAAO,IAAI,CAAC,MAAM,EAAE;gBAClB,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;gBAEzB,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACxD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM;iBACP;qBAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACzD,SAAS;iBACV;qBAAM,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACxD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;iBACxD;aACF;SACF;QAED,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,CAAC,aAAa,EAAE,CAAC;YAEtB,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM;gBAChB,OAAA,MAAM,CAAC,QAAQ,iDAER,MAAM,KACT,IAAI,EAAE,KAAI,CAAC,IAAI,KAEjB,GAAG,EACH,IAAI,CACL;YAPD,CAOC,CACF,CACF;iBACE,IAAI,CAAC,UAAA,MAAM;gBACV,IACE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;oBACvB,MAAM,CAAC,UAAU,KAAK,QAAQ;oBAC9B,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC;oBAClC,MAAM,CAAC,KAAK,KAAK,KAAK,EACtB;oBACA,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;iBACnE;qBAAM,IAAI,MAAM,CAAC,KAAK,EAAE;oBACvB,MAAM,CAAC,KAAK,KAAK,IAAI;wBACnB,CAAC,CAAC,KAAI,CAAC,eAAe,EAAE;wBACxB,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACpC;gBACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC;iBACD,KAAK,CAAC,UAAA,MAAM;gBACX,IAAI,KAAI,CAAC,MAAM,EAAE;oBACf,OAAO;iBACR;gBACD,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEL,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iCAAQ,GAAR,UAAS,MAAc,EAAE,IAAY,EAAE,WAAoB;QACzD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEK,qCAAY,GAAlB,UACE,CAA4B,EAC5B,MAAc,EACd,IAAY,EACZ,WAA4B,EAC5B,QAAyB;QADzB,4BAAA,EAAA,mBAA4B;;;;;;;wBAGtB,KAAmD,IAAI,CAAC,KAAK,EAA5D,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,GAAG,SAAA,EAAE,aAAa,mBAAA,CAAe;wBACpE,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;4BAC7B,sBAAO,QAAQ;oCACb,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;oCAClE,CAAC,CAAC,KAAK,EAAC;yBACX;wBAEK,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;6BAE1C,CAAA,MAAM,CAAC,IAAI,KAAK,OAAO,CAAA,EAAvB,wBAAuB;wBACzB,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBAC/B,KAAK,CAAC,KAAK,EAAE,CAAC;;;6BAEd,CAAA,MAAM,CAAC,UAAU,KAAK,OAAO;4BAC7B,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAA,EAD9B,wBAC8B;wBAER,qBAAM,aAAa,CACvC,QAAQ,EACR,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CACpC,EAAA;;wBAHK,aAAa,GAAG,SAGrB;wBACD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE;4BAC5B,sBAAO;yBACR;wBACD,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;;6BACtC,CAAA,MAAM,CAAC,UAAU,KAAK,SAAS,CAAA,EAA/B,wBAA+B;wBAClB,qBAAM,aAAa,CACvC,SAAS,EACT,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CACpC,EAAA;;wBAHK,aAAa,GAAG,SAGrB;wBACD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE;4BAC5B,sBAAO;yBACR;wBACD,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBAC/B,IAAI,CAAC,mBAAmB,iDAEjB,MAAM,KACT,UAAU,EAAE,QAAQ,KAEtB,IAAI,EACJ,MAAM,CACP,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;;;wBACtC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,EAAE;4BACvE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;4BAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;gCAC5B,IAAI,CAAC,mBAAmB,iDAEjB,MAAM,KACT,UAAU,EAAE,QAAQ,EACpB,KAAK,EAAE,IAAI,KAEb,IAAI,EACJ,MAAM,CACP,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;6BAC5C;iCAAM;gCACL,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;6BACrC;yBACF;6BAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;4BACzC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;4BAC/B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;yBACxB;6BAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;4BACzC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;4BAC/B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;yBACxB;6BAAM,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;4BACzC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;4BAC/B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACpD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;gCAC5C,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gCAC1D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;6BAChC;yBACF;6BAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;4BACjD,aAAa;yBACd;6BAAM,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,EAAE;4BACvC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;4BAC/B,KAAK;iCACF,UAAU,CAAC,MAAM,CAAC,GAAa,EAAE,IAAI,EAAE;gCACtC,cAAc,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO;gCAC1D,YAAY,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;6BACxD,CAAC;iCACD,IAAI,CAAC;;;;;iDACA,CAAA,MAAM,CAAC,QAAQ,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA,EAAzD,wBAAyD;4CAC3D,qBAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAA;;4CAApD,SAAoD,CAAC;;;4CAGjD,QAAQ,GACZ,MAAM,CAAC,QAAQ,IAAI,IAAA,YAAM,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4CACzD,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;4CACzC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4CAC9D,IAAI,MAAM,CAAC,KAAK,EAAE;gDAChB,IAAI,CAAC,eAAe,EAAE,CAAC;gDACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;6CAChC;;;;iCACF,CAAC;iCACD,KAAK,CAAC,UAAA,CAAC;gCACN,IAAI,WAAW,IAAI,MAAM,CAAC,SAAS,EAAE;oCACnC,MAAM,CAAC,CAAC;iCACT;4BACH,CAAC,CAAC,CAAC;yBACN;6BAAM,IAAI,QAAQ,EAAE;4BACf,GAAG,GAAG,QAAQ,CAChB,CAAC,kDAEI,MAAM,KACT,KAAK,EAAE,KAAK,KAEd,IAAI,EACJ,WAAW,EACX,QAAQ,IAAI,IAAI,CAAC,OAAO,CACzB,CAAC;4BACF,MAAM,CAAC,KAAK;gCACV,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI;oCACd,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;oCAChC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;yBAC9C;;;;;;KACF;IAED,4CAAmB,GAAnB,UAAoB,KAAU,EAAE,MAAc;QAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;YACnE,OAAO;SACR;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,IAAM,UAAU,GAAG,MAAM;aACtB,aAAa,EAAE;aACf,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAA/C,CAA+C,CAAC,CAAC;QAC1E,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEnC,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBAClC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;YACxC,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;gBACpB,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,KAAK,KAAK,CAAC,EACpD;YACA,SAAS,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;SACzD;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE;YAChC,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QACvE,iBAAM,mBAAmB,yCAAC,MAAM,EAAE,MAAM,GAAK,IAAI,UAAE;QACnD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAM,YAAY,GAAG,KAAK,CAAC,MAAgB,CAAC;QAC5C,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,YAAY,CAAC,MAAM,CAAC;QAEpD,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SACnC;aAAM;YACL,wBAAwB;YACxB,MAAM;iBACH,aAAa,EAAE;iBACf,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAA1B,CAA0B,CAAC;iBACjD,OAAO,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAA5B,CAA4B,CAAC,CAAC;SACzD;IACH,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAgB,EAAE,MAAc;QAAE,cAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,6BAAmB;;QACvE,iBAAM,mBAAmB,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAM,YAAY,GAAG,KAAK,CAAC,MAAgB,CAAC;QAE5C,aAAa;QACb,UAAU,CAAC;YACT,IAAI,YAAY,CAAC,MAAM,EAAE;gBACvB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAChD;iBAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBACxB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC1C;iBAAM;gBACL,wBAAwB;gBACxB,MAAM;qBACH,aAAa,EAAE;qBACf,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAA1B,CAA0B,CAAC;qBACjD,OAAO,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAA5B,CAA4B,CAAC,CAAC;aACzD;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,qCAAY,GAAZ,UAAa,MAAc,EAAE,IAAU;QACrC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,oCAAW,GAAX,UAAY,MAAc;QACxB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,gCAAO,GAAP,UAAQ,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;;IA7SM,0BAAW,GAAG,sBAAa,CAAC;IADxB,cAAc;QAZ1B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,kBAAU,CAAC,IAAI;YAC1B,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,UAAC,KAAoB,EAAE,KAAU,EAAE,SAAc;gBACrE,OAAA,CAAC,CAAC,CACA,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;oBAChC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;wBAC5B,IAAA,gCAAuB,EAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CACvD;YAJD,CAIC;SACJ,CAAC;kFAIyC,uBAAc,oBAAd,uBAAc;OAH5C,cAAc,CA+S1B;IAAD,qBAAC;CAAA,AA/SD,CAAoC,MAAM,GA+SzC;AA/SY,wCAAc",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport {filter} from '../utils/tpl';\nimport Modal from '../components/Modal';\nimport findLast from 'lodash/findLast';\nimport {\n guid,\n isVisible,\n autobind,\n createObject,\n isObjectShallowModified\n} from '../utils/helper';\nimport {reaction} from 'mobx';\nimport {Icon} from '../components/icons';\nimport {ModalStore, IModalStore} from '../store/modal';\nimport {findDOMNode} from 'react-dom';\nimport {Spinner} from '../components';\nimport {IServiceStore} from '../store/service';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaName,\n SchemaTpl\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {isAlive} from 'mobx-state-tree';\n\n/**\n * Dialog 弹框渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\nexport interface DialogSchema extends BaseSchema {\n type: 'dialog';\n\n /**\n * 默认不用填写,自动会创建确认和取消按钮。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 配置 Body 容器 className\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 是否支持按 ESC 关闭 Dialog\n */\n closeOnEsc?: boolean;\n\n /**\n * 是否支持点其它区域关闭 Dialog\n */\n closeOnOutside?: boolean;\n\n name?: SchemaName;\n\n /**\n * Dialog 大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 请通过配置 title 设置标题\n */\n title?: SchemaCollection;\n\n header?: SchemaCollection;\n headerClassName?: SchemaClassName;\n\n footer?: SchemaCollection;\n\n /**\n * 影响自动生成的按钮,如果自己配置了按钮这个配置无效。\n */\n confirm?: boolean;\n\n /**\n * 是否显示关闭按钮\n */\n showCloseButton?: boolean;\n\n /**\n * 是否显示错误信息\n */\n showErrorMsg?: boolean;\n\n /**\n * 是否显示 spinner\n */\n showLoading?: boolean;\n}\n\nexport type DialogSchemaBase = Omit<DialogSchema, 'type'>;\n\nexport interface DialogProps\n extends RendererProps,\n Omit<DialogSchema, 'className'> {\n onClose: (confirmed?: boolean) => void;\n onConfirm: (\n values: Array<object>,\n action: Action,\n ctx: object,\n targets: Array<any>\n ) => void;\n children?: React.ReactNode | ((props?: any) => React.ReactNode);\n store: IModalStore;\n show?: boolean;\n lazyRender?: boolean;\n lazySchema?: (props: DialogProps) => SchemaCollection;\n wrapperComponent: React.ElementType;\n}\n\nexport default class Dialog extends React.Component<DialogProps> {\n static propsList: Array<string> = [\n 'title',\n 'size',\n 'closeOnEsc',\n 'closeOnOutside',\n 'children',\n 'bodyClassName',\n 'headerClassName',\n 'confirm',\n 'onClose',\n 'onConfirm',\n 'show',\n 'body',\n 'showCloseButton',\n 'showErrorMsg',\n 'actions',\n 'popOverContainer'\n ];\n static defaultProps = {\n title: 'Dialog.title',\n bodyClassName: '',\n confirm: true,\n show: true,\n lazyRender: false,\n showCloseButton: true,\n wrapperComponent: Modal,\n closeOnEsc: false,\n closeOnOutside: false,\n showErrorMsg: true\n };\n\n reaction: any;\n isDead = false;\n $$id: string = guid();\n constructor(props: DialogProps) {\n super(props);\n\n props.store.setEntered(!!props.show);\n this.handleSelfClose = this.handleSelfClose.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleDialogConfirm = this.handleDialogConfirm.bind(this);\n this.handleDialogClose = this.handleDialogClose.bind(this);\n this.handleDrawerConfirm = this.handleDrawerConfirm.bind(this);\n this.handleDrawerClose = this.handleDrawerClose.bind(this);\n this.handleEntered = this.handleEntered.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleFormSaved = this.handleFormSaved.bind(this);\n this.handleFormChange = this.handleFormChange.bind(this);\n this.handleChildFinished = this.handleChildFinished.bind(this);\n\n const store = props.store;\n this.reaction = reaction(\n () => `${store.loading}${store.error}`,\n () => this.forceUpdate()\n );\n }\n\n // shouldComponentUpdate(nextProps:DialogProps, nextState:DialogState) {\n // const props = this.props;\n\n // if (this.state.entered !== nextState.entered) {\n // return true;\n // } else if (props.show === nextProps.show && !nextProps.show) {\n // return false;\n // }\n\n // return isObjectShallowModified(this.props, nextProps);\n // }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n this.isDead = true;\n }\n\n buildActions(): Array<ActionSchema> {\n const {actions, confirm, translate: __} = this.props;\n\n if (typeof actions !== 'undefined') {\n return actions;\n }\n\n let ret: Array<ActionSchema> = [];\n ret.push({\n type: 'button',\n actionType: 'cancel',\n label: __('cancel')\n });\n\n if (confirm) {\n ret.push({\n type: 'button',\n actionType: 'confirm',\n label: __('confirm'),\n primary: true\n });\n }\n\n return ret;\n }\n\n handleSelfClose(e?: any, confirmed?: boolean) {\n const {onClose, store} = this.props;\n\n // clear error\n store.updateMessage();\n onClose(confirmed);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, data: object) {\n const {store, onAction} = this.props;\n\n if (action.type === 'reset') {\n store.reset();\n } else if (action.actionType === 'cancel') {\n this.handleSelfClose();\n } else if (onAction) {\n onAction(e, action, data);\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const dialog = action.dialog as any;\n\n if (dialog.onClose && dialog.onClose(...args) === false) {\n return;\n }\n\n store.closeDialog(args[1]);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const drawer = store.action.drawer as any;\n\n if (\n drawer &&\n drawer.onConfirm &&\n drawer.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const drawer = action.drawer as any;\n\n if (drawer.onClose && drawer.onClose(...args) === false) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleEntered() {\n const {lazySchema, store} = this.props;\n\n store.setEntered(true);\n if (typeof lazySchema === 'function') {\n store.setSchema(lazySchema(this.props));\n }\n\n const activeElem = document.activeElement as HTMLElement;\n if (activeElem) {\n const dom = findDOMNode(this) as HTMLElement;\n dom && !dom.contains(activeElem) && activeElem.blur();\n }\n }\n\n handleExited() {\n const {lazySchema, store} = this.props;\n if (isAlive(store)) {\n store.reset();\n store.setEntered(false);\n if (typeof lazySchema === 'function') {\n store.setSchema('');\n }\n }\n }\n\n handleFormInit(data: any) {\n const {store} = this.props;\n\n store.setFormData(data);\n }\n\n handleFormChange(data: any, name?: string) {\n const {store} = this.props;\n\n // 如果 dialog 里面不放 form,而是直接放表单项就会进到这里来。\n if (typeof name === 'string') {\n data = {\n [name]: data\n };\n }\n\n store.setFormData(data);\n }\n\n handleFormSaved(data: any, response: any) {\n const {store} = this.props;\n\n store.setFormData({\n ...data,\n ...response\n });\n }\n\n handleChildFinished(value: any, action: Action) {\n // 下面会覆盖\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n @autobind\n getPopOverContainer() {\n return (findDOMNode(this) as HTMLElement).querySelector(\n `.${this.props.classPrefix}Modal-content`\n );\n }\n\n renderBody(body: SchemaNode, key?: any): React.ReactNode {\n let {render, store} = this.props;\n\n if (Array.isArray(body)) {\n return body.map((body, key) => this.renderBody(body, key));\n }\n\n let subProps: any = {\n key,\n disabled: (body && (body as any).disabled) || store.loading,\n onAction: this.handleAction,\n onFinished: this.handleChildFinished,\n popOverContainer: this.getPopOverContainer,\n affixOffsetTop: 0,\n onChange: this.handleFormChange,\n onInit: this.handleFormInit,\n onSaved: this.handleFormSaved,\n syncLocation: false // 弹框中的 crud 一般不需要同步地址栏\n };\n\n if (!(body as Schema).type) {\n return render(`body${key ? `/${key}` : ''}`, body, subProps);\n }\n\n let schema: Schema = body as Schema;\n\n if (schema.type === 'form') {\n schema = {\n mode: 'horizontal',\n wrapWithPanel: false,\n submitText: null,\n ...schema\n };\n }\n\n return render(`body${key ? `/${key}` : ''}`, schema, subProps);\n }\n\n renderFooter() {\n const actions = this.buildActions();\n\n if (!actions || !actions.length) {\n return null;\n }\n\n const {\n store,\n render,\n classnames: cx,\n showErrorMsg,\n showLoading\n } = this.props;\n\n return (\n <div className={cx('Modal-footer')}>\n {(showLoading !== false && store.loading) ||\n (showErrorMsg !== false && store.error) ? (\n <div className={cx('Dialog-info')} key=\"info\">\n {showLoading !== false ? (\n <Spinner size=\"sm\" key=\"info\" show={store.loading} />\n ) : null}\n {store.error && showErrorMsg !== false ? (\n <span className={cx('Dialog-error')}>{store.msg}</span>\n ) : null}\n </div>\n ) : null}\n {actions.map((action, key) =>\n render(`action/${key}`, action, {\n data: store.formData,\n onAction: this.handleAction,\n key,\n disabled: action.disabled || store.loading\n })\n )}\n </div>\n );\n }\n\n render() {\n const store = this.props.store;\n const {\n className,\n size,\n closeOnEsc,\n closeOnOutside,\n title,\n render,\n header,\n body,\n bodyClassName,\n headerClassName,\n show,\n lazyRender,\n lazySchema,\n wrapperComponent,\n showCloseButton,\n env,\n classnames: cx,\n classPrefix,\n translate: __\n } = {\n ...this.props,\n ...store.schema\n } as any;\n\n const Wrapper = wrapperComponent || Modal;\n return (\n <Wrapper\n classPrefix={classPrefix}\n className={cx(className)}\n size={size}\n backdrop=\"static\"\n onHide={this.handleSelfClose}\n keyboard={closeOnEsc && !store.loading}\n closeOnEsc={closeOnEsc}\n closeOnOutside={!store.dialogOpen && closeOnOutside}\n show={show}\n onEntered={this.handleEntered}\n onExited={this.handleExited}\n container={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n enforceFocus={false}\n disabled={store.loading}\n >\n {title && typeof title === 'string' ? (\n <div className={cx('Modal-header', headerClassName)}>\n {showCloseButton !== false && !store.loading ? (\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n onClick={this.handleSelfClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n <div className={cx('Modal-title')}>\n {filter(__(title), store.formData)}\n </div>\n </div>\n ) : title ? (\n <div className={cx('Modal-header', headerClassName)}>\n {showCloseButton !== false && !store.loading ? (\n <a\n data-tooltip={__('Dialog.close')}\n onClick={this.handleSelfClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n {render('title', title, {\n data: store.formData,\n onAction: this.handleAction\n })}\n </div>\n ) : showCloseButton !== false && !store.loading ? (\n <a\n data-tooltip={__('Dialog.close')}\n onClick={this.handleSelfClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n\n {header\n ? render('header', header, {\n data: store.formData,\n onAction: this.handleAction\n })\n : null}\n\n {(!store.entered && lazyRender) || (lazySchema && !body) ? (\n <div className={cx('Modal-body', bodyClassName)}>\n <Spinner overlay show size=\"lg\" />\n </div>\n ) : body ? (\n <div className={cx('Modal-body', bodyClassName)}>\n {this.renderBody(body, 'body')}\n </div>\n ) : null}\n\n {this.renderFooter()}\n\n {body\n ? render(\n 'drawer',\n {\n // 支持嵌套\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )\n : null}\n\n {body\n ? render(\n 'dialog',\n {\n // 支持嵌套\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )\n : null}\n </Wrapper>\n );\n }\n}\n\n@Renderer({\n type: 'dialog',\n storeType: ModalStore.name,\n storeExtendsData: false,\n isolateScope: true,\n shouldSyncSuperStore: (store: IServiceStore, props: any, prevProps: any) =>\n !!(\n (store.dialogOpen || props.show) &&\n (props.show !== prevProps.show ||\n isObjectShallowModified(prevProps.data, props.data))\n )\n})\nexport class DialogRenderer extends Dialog {\n static contextType = ScopedContext;\n\n constructor(props: DialogProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n tryChildrenToHandle(action: Action, ctx: object, rawAction?: Action) {\n const scoped = this.context as IScopedContext;\n\n const targets: Array<any> = [];\n const {onConfirm, store} = this.props;\n\n if (action.target) {\n targets.push(\n ...action.target\n .split(',')\n .map(name => scoped.getComponentByName(name))\n .filter(item => item && item.doAction)\n );\n }\n\n if (!targets.length) {\n let components = scoped\n .getComponents()\n .filter(item => !~['drawer', 'dialog'].indexOf(item.props.type));\n\n const pool = components.concat();\n\n while (pool.length) {\n const item = pool.pop()!;\n\n if (~['crud', 'form', 'wizard'].indexOf(item.props.type)) {\n targets.push(item);\n break;\n } else if (~['drawer', 'dialog'].indexOf(item.props.type)) {\n continue;\n } else if (~['page', 'service'].indexOf(item.props.type)) {\n pool.unshift.apply(pool, item.context.getComponents());\n }\n }\n }\n\n if (targets.length) {\n store.markBusying(true);\n store.updateMessage();\n\n Promise.all(\n targets.map(target =>\n target.doAction(\n {\n ...action,\n from: this.$$id\n },\n ctx,\n true\n )\n )\n )\n .then(values => {\n if (\n (action.type === 'submit' ||\n action.actionType === 'submit' ||\n action.actionType === 'confirm') &&\n action.close !== false\n ) {\n onConfirm && onConfirm(values, rawAction || action, ctx, targets);\n } else if (action.close) {\n action.close === true\n ? this.handleSelfClose()\n : this.closeTarget(action.close);\n }\n store.markBusying(false);\n })\n .catch(reason => {\n if (this.isDead) {\n return;\n }\n store.updateMessage(reason.message, true);\n store.markBusying(false);\n });\n\n return true;\n }\n\n return false;\n }\n\n doAction(action: Action, data: object, throwErrors: boolean): any {\n this.handleAction(undefined, action, data);\n }\n\n async handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, onConfirm, env, dispatchEvent} = this.props;\n if (action.from === this.$$id) {\n return onAction\n ? onAction(e, action, data, throwErrors, delegate || this.context)\n : false;\n }\n\n const scoped = this.context as IScopedContext;\n\n if (action.type === 'reset') {\n store.setCurrentAction(action);\n store.reset();\n } else if (\n action.actionType === 'close' ||\n action.actionType === 'cancel'\n ) {\n const rendererEvent = await dispatchEvent(\n 'cancel',\n createObject(this.props.data, data)\n );\n if (rendererEvent?.prevented) {\n return;\n }\n store.setCurrentAction(action);\n this.handleSelfClose();\n action.close && this.closeTarget(action.close);\n } else if (action.actionType === 'confirm') {\n const rendererEvent = await dispatchEvent(\n 'confirm',\n createObject(this.props.data, data)\n );\n if (rendererEvent?.prevented) {\n return;\n }\n store.setCurrentAction(action);\n this.tryChildrenToHandle(\n {\n ...action,\n actionType: 'submit'\n },\n data,\n action\n ) || this.handleSelfClose(undefined, true);\n } else if (action.actionType === 'next' || action.actionType === 'prev') {\n store.setCurrentAction(action);\n if (action.type === 'submit') {\n this.tryChildrenToHandle(\n {\n ...action,\n actionType: 'submit',\n close: true\n },\n data,\n action\n ) || this.handleSelfClose(undefined, true);\n } else {\n onConfirm([data], action, data, []);\n }\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(data);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(data);\n } else if (action.actionType === 'reload') {\n store.setCurrentAction(action);\n action.target && scoped.reload(action.target, data);\n if (action.close || action.type === 'submit') {\n this.handleSelfClose(undefined, action.type === 'submit');\n this.closeTarget(action.close);\n }\n } else if (this.tryChildrenToHandle(action, data)) {\n // do nothing\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: action.messages && action.messages.success,\n errorMessage: action.messages && action.messages.failed\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const reidrect =\n action.redirect && filter(action.redirect, store.data);\n reidrect && env.jumpTo(reidrect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n if (action.close) {\n this.handleSelfClose();\n this.closeTarget(action.close);\n }\n })\n .catch(e => {\n if (throwErrors || action.countDown) {\n throw e;\n }\n });\n } else if (onAction) {\n let ret = onAction(\n e,\n {\n ...action,\n close: false\n },\n data,\n throwErrors,\n delegate || this.context\n );\n action.close &&\n (ret && ret.then\n ? ret.then(this.handleSelfClose)\n : setTimeout(this.handleSelfClose, 200));\n }\n }\n\n handleChildFinished(value: any, action: Action) {\n if ((action && action.from === this.$$id) || action.close === false) {\n return;\n }\n\n const scoped = this.context as IScopedContext;\n const components = scoped\n .getComponents()\n .filter((item: any) => !~['drawer', 'dialog'].indexOf(item.props.type));\n const onConfirm = this.props.onConfirm;\n const onClose = this.props.onClose;\n\n if (\n components.length === 1 &&\n (components[0].props.type === 'form' ||\n components[0].props.type === 'wizard') &&\n (action.close === true ||\n components[0].props.closeDialogOnSubmit !== false)\n ) {\n onConfirm && onConfirm([value], action, {}, components);\n } else if (action.close === true) {\n onClose();\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (drawerAction.reload) {\n scoped.reload(drawerAction.reload, store.data);\n } else if (action.reload) {\n scoped.reload(action.reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n closeTarget(target: string) {\n const scoped = this.context as IScopedContext;\n scoped.close(target);\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport {filter} from '../utils/tpl';\nimport Modal from '../components/Modal';\nimport {\n guid,\n isVisible,\n autobind,\n createObject,\n isObjectShallowModified\n} from '../utils/helper';\nimport {reaction} from 'mobx';\nimport {Icon} from '../components/icons';\nimport {ModalStore, IModalStore} from '../store/modal';\nimport {findDOMNode} from 'react-dom';\nimport {Spinner} from '../components';\nimport {IServiceStore} from '../store/service';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaName,\n SchemaTpl\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {isAlive} from 'mobx-state-tree';\n\n/**\n * Dialog 弹框渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\nexport interface DialogSchema extends BaseSchema {\n type: 'dialog';\n\n /**\n * 默认不用填写,自动会创建确认和取消按钮。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 配置 Body 容器 className\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 是否支持按 ESC 关闭 Dialog\n */\n closeOnEsc?: boolean;\n\n /**\n * 是否支持点其它区域关闭 Dialog\n */\n closeOnOutside?: boolean;\n\n name?: SchemaName;\n\n /**\n * Dialog 大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 请通过配置 title 设置标题\n */\n title?: SchemaCollection;\n\n header?: SchemaCollection;\n headerClassName?: SchemaClassName;\n\n footer?: SchemaCollection;\n\n /**\n * 影响自动生成的按钮,如果自己配置了按钮这个配置无效。\n */\n confirm?: boolean;\n\n /**\n * 是否显示关闭按钮\n */\n showCloseButton?: boolean;\n\n /**\n * 是否显示错误信息\n */\n showErrorMsg?: boolean;\n\n /**\n * 是否显示 spinner\n */\n showLoading?: boolean;\n}\n\nexport type DialogSchemaBase = Omit<DialogSchema, 'type'>;\n\nexport interface DialogProps\n extends RendererProps,\n Omit<DialogSchema, 'className'> {\n onClose: (confirmed?: boolean) => void;\n onConfirm: (\n values: Array<object>,\n action: Action,\n ctx: object,\n targets: Array<any>\n ) => void;\n children?: React.ReactNode | ((props?: any) => React.ReactNode);\n store: IModalStore;\n show?: boolean;\n lazyRender?: boolean;\n lazySchema?: (props: DialogProps) => SchemaCollection;\n wrapperComponent: React.ElementType;\n}\n\nexport default class Dialog extends React.Component<DialogProps> {\n static propsList: Array<string> = [\n 'title',\n 'size',\n 'closeOnEsc',\n 'closeOnOutside',\n 'children',\n 'bodyClassName',\n 'headerClassName',\n 'confirm',\n 'onClose',\n 'onConfirm',\n 'show',\n 'body',\n 'showCloseButton',\n 'showErrorMsg',\n 'actions',\n 'popOverContainer'\n ];\n static defaultProps = {\n title: 'Dialog.title',\n bodyClassName: '',\n confirm: true,\n show: true,\n lazyRender: false,\n showCloseButton: true,\n wrapperComponent: Modal,\n closeOnEsc: false,\n closeOnOutside: false,\n showErrorMsg: true\n };\n\n reaction: any;\n isDead = false;\n $$id: string = guid();\n constructor(props: DialogProps) {\n super(props);\n\n props.store.setEntered(!!props.show);\n this.handleSelfClose = this.handleSelfClose.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleDialogConfirm = this.handleDialogConfirm.bind(this);\n this.handleDialogClose = this.handleDialogClose.bind(this);\n this.handleDrawerConfirm = this.handleDrawerConfirm.bind(this);\n this.handleDrawerClose = this.handleDrawerClose.bind(this);\n this.handleEntered = this.handleEntered.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleFormSaved = this.handleFormSaved.bind(this);\n this.handleFormChange = this.handleFormChange.bind(this);\n this.handleChildFinished = this.handleChildFinished.bind(this);\n\n const store = props.store;\n this.reaction = reaction(\n () => `${store.loading}${store.error}`,\n () => this.forceUpdate()\n );\n }\n\n // shouldComponentUpdate(nextProps:DialogProps, nextState:DialogState) {\n // const props = this.props;\n\n // if (this.state.entered !== nextState.entered) {\n // return true;\n // } else if (props.show === nextProps.show && !nextProps.show) {\n // return false;\n // }\n\n // return isObjectShallowModified(this.props, nextProps);\n // }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n this.isDead = true;\n }\n\n buildActions(): Array<ActionSchema> {\n const {actions, confirm, translate: __} = this.props;\n\n if (typeof actions !== 'undefined') {\n return actions;\n }\n\n let ret: Array<ActionSchema> = [];\n ret.push({\n type: 'button',\n actionType: 'cancel',\n label: __('cancel')\n });\n\n if (confirm) {\n ret.push({\n type: 'button',\n actionType: 'confirm',\n label: __('confirm'),\n primary: true\n });\n }\n\n return ret;\n }\n\n handleSelfClose(e?: any, confirmed?: boolean) {\n const {onClose, store} = this.props;\n\n // clear error\n store.updateMessage();\n onClose(confirmed);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, data: object) {\n const {store, onAction} = this.props;\n\n if (action.type === 'reset') {\n store.reset();\n } else if (action.actionType === 'cancel') {\n this.handleSelfClose();\n } else if (onAction) {\n onAction(e, action, data);\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const dialog = action.dialog as any;\n\n if (dialog.onClose && dialog.onClose(...args) === false) {\n return;\n }\n\n store.closeDialog(args[1]);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const drawer = store.action.drawer as any;\n\n if (\n drawer &&\n drawer.onConfirm &&\n drawer.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose(...args: Array<any>) {\n const {store} = this.props;\n\n const action = store.action as Action;\n const drawer = action.drawer as any;\n\n if (drawer.onClose && drawer.onClose(...args) === false) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleEntered() {\n const {lazySchema, store} = this.props;\n\n store.setEntered(true);\n if (typeof lazySchema === 'function') {\n store.setSchema(lazySchema(this.props));\n }\n\n const activeElem = document.activeElement as HTMLElement;\n if (activeElem) {\n const dom = findDOMNode(this) as HTMLElement;\n dom && !dom.contains(activeElem) && activeElem.blur();\n }\n }\n\n handleExited() {\n const {lazySchema, store} = this.props;\n if (isAlive(store)) {\n store.reset();\n store.setEntered(false);\n if (typeof lazySchema === 'function') {\n store.setSchema('');\n }\n }\n }\n\n handleFormInit(data: any) {\n const {store} = this.props;\n\n store.setFormData(data);\n }\n\n handleFormChange(data: any, name?: string) {\n const {store} = this.props;\n\n // 如果 dialog 里面不放 form,而是直接放表单项就会进到这里来。\n if (typeof name === 'string') {\n data = {\n [name]: data\n };\n }\n\n store.setFormData(data);\n }\n\n handleFormSaved(data: any, response: any) {\n const {store} = this.props;\n\n store.setFormData({\n ...data,\n ...response\n });\n }\n\n handleChildFinished(value: any, action: Action) {\n // 下面会覆盖\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n @autobind\n getPopOverContainer() {\n return (findDOMNode(this) as HTMLElement).querySelector(\n `.${this.props.classPrefix}Modal-content`\n );\n }\n\n renderBody(body: SchemaNode, key?: any): React.ReactNode {\n let {render, store} = this.props;\n\n if (Array.isArray(body)) {\n return body.map((body, key) => this.renderBody(body, key));\n }\n\n let subProps: any = {\n key,\n disabled: (body && (body as any).disabled) || store.loading,\n onAction: this.handleAction,\n onFinished: this.handleChildFinished,\n popOverContainer: this.getPopOverContainer,\n affixOffsetTop: 0,\n onChange: this.handleFormChange,\n onInit: this.handleFormInit,\n onSaved: this.handleFormSaved,\n syncLocation: false // 弹框中的 crud 一般不需要同步地址栏\n };\n\n if (!(body as Schema).type) {\n return render(`body${key ? `/${key}` : ''}`, body, subProps);\n }\n\n let schema: Schema = body as Schema;\n\n if (schema.type === 'form') {\n schema = {\n mode: 'horizontal',\n wrapWithPanel: false,\n submitText: null,\n ...schema\n };\n }\n\n return render(`body${key ? `/${key}` : ''}`, schema, subProps);\n }\n\n renderFooter() {\n const actions = this.buildActions();\n\n if (!actions || !actions.length) {\n return null;\n }\n\n const {\n store,\n render,\n classnames: cx,\n showErrorMsg,\n showLoading\n } = this.props;\n\n return (\n <div className={cx('Modal-footer')}>\n {(showLoading !== false && store.loading) ||\n (showErrorMsg !== false && store.error) ? (\n <div className={cx('Dialog-info')} key=\"info\">\n {showLoading !== false ? (\n <Spinner size=\"sm\" key=\"info\" show={store.loading} />\n ) : null}\n {store.error && showErrorMsg !== false ? (\n <span className={cx('Dialog-error')}>{store.msg}</span>\n ) : null}\n </div>\n ) : null}\n {actions.map((action, key) =>\n render(`action/${key}`, action, {\n data: store.formData,\n onAction: this.handleAction,\n key,\n disabled: action.disabled || store.loading\n })\n )}\n </div>\n );\n }\n\n render() {\n const store = this.props.store;\n const {\n className,\n size,\n closeOnEsc,\n closeOnOutside,\n title,\n render,\n header,\n body,\n bodyClassName,\n headerClassName,\n show,\n lazyRender,\n lazySchema,\n wrapperComponent,\n showCloseButton,\n env,\n classnames: cx,\n classPrefix,\n translate: __\n } = {\n ...this.props,\n ...store.schema\n } as any;\n\n const Wrapper = wrapperComponent || Modal;\n return (\n <Wrapper\n classPrefix={classPrefix}\n className={cx(className)}\n size={size}\n backdrop=\"static\"\n onHide={this.handleSelfClose}\n keyboard={closeOnEsc && !store.loading}\n closeOnEsc={closeOnEsc}\n closeOnOutside={!store.dialogOpen && closeOnOutside}\n show={show}\n onEntered={this.handleEntered}\n onExited={this.handleExited}\n container={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n enforceFocus={false}\n disabled={store.loading}\n >\n {title && typeof title === 'string' ? (\n <div className={cx('Modal-header', headerClassName)}>\n {showCloseButton !== false && !store.loading ? (\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n onClick={this.handleSelfClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n <div className={cx('Modal-title')}>\n {filter(__(title), store.formData)}\n </div>\n </div>\n ) : title ? (\n <div className={cx('Modal-header', headerClassName)}>\n {showCloseButton !== false && !store.loading ? (\n <a\n data-tooltip={__('Dialog.close')}\n onClick={this.handleSelfClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n {render('title', title, {\n data: store.formData,\n onAction: this.handleAction\n })}\n </div>\n ) : showCloseButton !== false && !store.loading ? (\n <a\n data-tooltip={__('Dialog.close')}\n onClick={this.handleSelfClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n\n {header\n ? render('header', header, {\n data: store.formData,\n onAction: this.handleAction\n })\n : null}\n\n {(!store.entered && lazyRender) || (lazySchema && !body) ? (\n <div className={cx('Modal-body', bodyClassName)}>\n <Spinner overlay show size=\"lg\" />\n </div>\n ) : body ? (\n <div className={cx('Modal-body', bodyClassName)}>\n {this.renderBody(body, 'body')}\n </div>\n ) : null}\n\n {this.renderFooter()}\n\n {body\n ? render(\n 'drawer',\n {\n // 支持嵌套\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )\n : null}\n\n {body\n ? render(\n 'dialog',\n {\n // 支持嵌套\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )\n : null}\n </Wrapper>\n );\n }\n}\n\n@Renderer({\n type: 'dialog',\n storeType: ModalStore.name,\n storeExtendsData: false,\n isolateScope: true,\n shouldSyncSuperStore: (store: IServiceStore, props: any, prevProps: any) =>\n !!(\n (store.dialogOpen || props.show) &&\n (props.show !== prevProps.show ||\n isObjectShallowModified(prevProps.data, props.data))\n )\n})\nexport class DialogRenderer extends Dialog {\n static contextType = ScopedContext;\n\n constructor(props: DialogProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n tryChildrenToHandle(action: Action, ctx: object, rawAction?: Action) {\n const scoped = this.context as IScopedContext;\n\n const targets: Array<any> = [];\n const {onConfirm, store} = this.props;\n\n if (action.target) {\n targets.push(\n ...action.target\n .split(',')\n .map(name => scoped.getComponentByName(name))\n .filter(item => item && item.doAction)\n );\n }\n\n if (!targets.length) {\n let components = scoped\n .getComponents()\n .filter(item => !~['drawer', 'dialog'].indexOf(item.props.type));\n\n const pool = components.concat();\n\n while (pool.length) {\n const item = pool.pop()!;\n\n if (~['crud', 'form', 'wizard'].indexOf(item.props.type)) {\n targets.push(item);\n break;\n } else if (~['drawer', 'dialog'].indexOf(item.props.type)) {\n continue;\n } else if (~['page', 'service'].indexOf(item.props.type)) {\n pool.unshift.apply(pool, item.context.getComponents());\n }\n }\n }\n\n if (targets.length) {\n store.markBusying(true);\n store.updateMessage();\n\n Promise.all(\n targets.map(target =>\n target.doAction(\n {\n ...action,\n from: this.$$id\n },\n ctx,\n true\n )\n )\n )\n .then(values => {\n if (\n (action.type === 'submit' ||\n action.actionType === 'submit' ||\n action.actionType === 'confirm') &&\n action.close !== false\n ) {\n onConfirm && onConfirm(values, rawAction || action, ctx, targets);\n } else if (action.close) {\n action.close === true\n ? this.handleSelfClose()\n : this.closeTarget(action.close);\n }\n store.markBusying(false);\n })\n .catch(reason => {\n if (this.isDead) {\n return;\n }\n store.updateMessage(reason.message, true);\n store.markBusying(false);\n });\n\n return true;\n }\n\n return false;\n }\n\n doAction(action: Action, data: object, throwErrors: boolean): any {\n this.handleAction(undefined, action, data);\n }\n\n async handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, onConfirm, env, dispatchEvent} = this.props;\n if (action.from === this.$$id) {\n return onAction\n ? onAction(e, action, data, throwErrors, delegate || this.context)\n : false;\n }\n\n const scoped = this.context as IScopedContext;\n\n if (action.type === 'reset') {\n store.setCurrentAction(action);\n store.reset();\n } else if (\n action.actionType === 'close' ||\n action.actionType === 'cancel'\n ) {\n const rendererEvent = await dispatchEvent(\n 'cancel',\n createObject(this.props.data, data)\n );\n if (rendererEvent?.prevented) {\n return;\n }\n store.setCurrentAction(action);\n this.handleSelfClose();\n action.close && this.closeTarget(action.close);\n } else if (action.actionType === 'confirm') {\n const rendererEvent = await dispatchEvent(\n 'confirm',\n createObject(this.props.data, data)\n );\n if (rendererEvent?.prevented) {\n return;\n }\n store.setCurrentAction(action);\n this.tryChildrenToHandle(\n {\n ...action,\n actionType: 'submit'\n },\n data,\n action\n ) || this.handleSelfClose(undefined, true);\n } else if (action.actionType === 'next' || action.actionType === 'prev') {\n store.setCurrentAction(action);\n if (action.type === 'submit') {\n this.tryChildrenToHandle(\n {\n ...action,\n actionType: 'submit',\n close: true\n },\n data,\n action\n ) || this.handleSelfClose(undefined, true);\n } else {\n onConfirm([data], action, data, []);\n }\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(data);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(data);\n } else if (action.actionType === 'reload') {\n store.setCurrentAction(action);\n action.target && scoped.reload(action.target, data);\n if (action.close || action.type === 'submit') {\n this.handleSelfClose(undefined, action.type === 'submit');\n this.closeTarget(action.close);\n }\n } else if (this.tryChildrenToHandle(action, data)) {\n // do nothing\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: action.messages && action.messages.success,\n errorMessage: action.messages && action.messages.failed\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const reidrect =\n action.redirect && filter(action.redirect, store.data);\n reidrect && env.jumpTo(reidrect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n if (action.close) {\n this.handleSelfClose();\n this.closeTarget(action.close);\n }\n })\n .catch(e => {\n if (throwErrors || action.countDown) {\n throw e;\n }\n });\n } else if (onAction) {\n let ret = onAction(\n e,\n {\n ...action,\n close: false\n },\n data,\n throwErrors,\n delegate || this.context\n );\n action.close &&\n (ret && ret.then\n ? ret.then(this.handleSelfClose)\n : setTimeout(this.handleSelfClose, 200));\n }\n }\n\n handleChildFinished(value: any, action: Action) {\n if ((action && action.from === this.$$id) || action.close === false) {\n return;\n }\n\n const scoped = this.context as IScopedContext;\n const components = scoped\n .getComponents()\n .filter((item: any) => !~['drawer', 'dialog'].indexOf(item.props.type));\n const onConfirm = this.props.onConfirm;\n const onClose = this.props.onClose;\n\n if (\n components.length === 1 &&\n (components[0].props.type === 'form' ||\n components[0].props.type === 'wizard') &&\n (action.close === true ||\n components[0].props.closeDialogOnSubmit !== false)\n ) {\n onConfirm && onConfirm([value], action, {}, components);\n } else if (action.close === true) {\n onClose();\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (drawerAction.reload) {\n scoped.reload(drawerAction.reload, store.data);\n } else if (action.reload) {\n scoped.reload(action.reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n closeTarget(target: string) {\n const scoped = this.context as IScopedContext;\n scoped.close(target);\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -83,6 +83,10 @@ var TextControl = /** @class */ (function (_super) {
|
|
83
83
|
: this.valueToString(props.value)
|
84
84
|
});
|
85
85
|
}
|
86
|
+
if (prevProps.revealPassword !== props.revealPassword) {
|
87
|
+
/** 隐藏按钮的同时将密码设置为隐藏态 */
|
88
|
+
!props.revealPassword && this.setState({ revealPassword: false });
|
89
|
+
}
|
86
90
|
};
|
87
91
|
TextControl.prototype.componentWillUnmount = function () {
|
88
92
|
this.unHook && this.unHook();
|
@@ -463,7 +467,9 @@ var TextControl = /** @class */ (function (_super) {
|
|
463
467
|
_a["TextControl-input--border".concat((0, helper_1.ucFirst)(borderMode))] = borderMode,
|
464
468
|
_a), inputOnly ? className : '') },
|
465
469
|
prefix ? (react_1.default.createElement("span", { className: cx('TextControl-inputPrefix') }, (0, tpl_1.filter)(prefix, data))) : null,
|
466
|
-
react_1.default.createElement(Input_1.default, { name: name, placeholder: placeholder, ref: this.inputRef, disabled: disabled, readOnly: readOnly, type: this.state.revealPassword ? 'text' : type, onFocus: this.handleFocus, onBlur: this.handleBlur, max: max, min: min, autoComplete: "off", size: 10, step: step, onChange: this.handleNormalInputChange, value: this.valueToString(value), className: cx(type === 'password' &&
|
470
|
+
react_1.default.createElement(Input_1.default, { name: name, placeholder: placeholder, ref: this.inputRef, disabled: disabled, readOnly: readOnly, type: this.state.revealPassword ? 'text' : type, onFocus: this.handleFocus, onBlur: this.handleBlur, max: max, min: min, autoComplete: "off", size: 10, step: step, onChange: this.handleNormalInputChange, value: this.valueToString(value), className: cx(type === 'password' &&
|
471
|
+
revealPassword &&
|
472
|
+
'TextControl-input-password') }),
|
467
473
|
clearable && !disabled && !readOnly && value ? (react_1.default.createElement("a", { onClick: this.clearValue, className: "".concat(ns, "TextControl-clear") },
|
468
474
|
react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
|
469
475
|
type === 'password' && revealPassword && !disabled ? (react_1.default.createElement("a", { onClick: this.toggleRevealPassword, className: "".concat(ns, "TextControl-revealPassword") }, this.state.revealPassword ? (react_1.default.createElement(icons_1.Icon, { icon: "view", className: "icon" })) : (react_1.default.createElement(icons_1.Icon, { icon: "invisible", className: "icon" })))) : null,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputText.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 {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\nimport {\n rendererEventDispatcher,\n bindRendererEvent\n} from '../../actions/Decorators';\n\nimport type {Option} from '../../components/Select';\nimport type {ListenerAction} from '../../actions/Action';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 前缀\n */\n prefix?: string;\n\n /**\n * 后缀\n */\n suffix?: string;\n\n /**\n * 自动转换值\n */\n transform?: {\n /** 用户输入的字符自动转小写 */\n lowerCase?: boolean;\n /** 用户输入的字符自动转大写 */\n upperCase?: boolean;\n };\n}\n\nexport type InputTextRendererEvent =\n | 'blur'\n | 'focus'\n | 'click'\n | 'change'\n | 'enter';\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n revealPassword?: boolean;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n revealPassword?: boolean; // 主要用于 password 的时候切换一下显影\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false,\n revealPassword: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.toggleRevealPassword = this.toggleRevealPassword.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else if (addHook) {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n this.clearValue();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n if (len) {\n // type为email的input元素不支持setSelectionRange,先改为text\n if (this.input.type === 'email') {\n this.input.type = 'text';\n this.input.setSelectionRange(len, len);\n this.input.type = 'email';\n } else {\n this.input.setSelectionRange(len, len);\n }\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {selectedOptions, onChange} = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(this.normalizeValue(newValue));\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('click')\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('focus')\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('blur')\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n async handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = this.transformValue(evt.currentTarget.value);\n const {creatable, multiple, onChange} = this.props;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, multiple, creatable} = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(this.normalizeValue(newValue));\n\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number' &&\n creatable !== false\n ) {\n evt.preventDefault();\n let value: string | Array<string | any> = this.state.inputValue;\n\n if (\n multiple &&\n value &&\n !find(selectedOptions, item => item.value == value)\n ) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n value = this.normalizeValue(newValue).concat();\n }\n\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'enter', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(value);\n\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {\n onChange,\n multiple,\n options,\n selectedOptions,\n creatable,\n valueField\n } = this.props;\n // Downshift传入的selectedItem是valueField字段,需要取回选项\n const toggledOption = options.find(\n item => item[valueField || 'value'] === value\n );\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n toggledOption && newValue.push(toggledOption);\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(toggledOption ? this.normalizeValue(toggledOption) : value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n async handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n let value = e.currentTarget.value;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value: this.transformValue(value)});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(this.transformValue(value));\n }\n\n normalizeValue(value: Option[] | Option | undefined | null) {\n const {multiple, delimiter, joinValues, extractValue, valueField} =\n this.props;\n const selectedOptions = Array.isArray(value) ? value : value ? [value] : [];\n\n if (joinValues) {\n return selectedOptions\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n const mappedValue = selectedOptions.map(\n item => item[valueField || 'value']\n );\n return multiple ? mappedValue : mappedValue[0];\n } else {\n return multiple ? selectedOptions : selectedOptions[0];\n }\n }\n\n transformValue(value: string) {\n const {transform} = this.props;\n\n if (!transform) {\n return value;\n }\n\n Object.keys(transform).forEach((key: 'lowerCase' | 'upperCase') => {\n const propValue = transform[key];\n switch (key) {\n case 'lowerCase':\n propValue && (value = value.toLowerCase());\n break;\n case 'upperCase':\n propValue && (value = value.toUpperCase());\n break;\n }\n });\n\n return value;\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data} = this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n readOnly,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n showCounter,\n maxLength,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled && !readOnly}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n if (\n this.state.inputValue &&\n creatable !== false &&\n multiple &&\n !filtedOptions.some(\n (option: any) => option.value === this.state.inputValue\n )\n ) {\n filtedOptions.push({\n [labelField || 'label']: this.state.inputValue,\n [valueField || 'value']: this.state.inputValue,\n isNew: true\n });\n }\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n <Icon\n icon=\"close\"\n className={cx('TextControl-valueIcon', 'icon')}\n onClick={this.removeItem.bind(this, index)}\n />\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n readOnly,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && !readOnly && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength\n ? `/${maxLength}`\n : ''\n }`}\n </span>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n size=\"sm\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n {option.isNew ? (\n <span>\n {__('Text.add', {label: option.label})}\n <Icon icon=\"enter\" className=\"icon\" />\n </span>\n ) : (\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n )}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n toggleRevealPassword() {\n this.setState({revealPassword: !this.state.revealPassword});\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n revealPassword = true,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <Input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={this.state.revealPassword ? 'text' : type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n className={cx(type === 'password' && revealPassword && 'TextControl-input-password')}\n />\n {clearable && !disabled && !readOnly && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {type === 'password' && revealPassword && !disabled ? (\n <a\n onClick={this.toggleRevealPassword}\n className={`${ns}TextControl-revealPassword`}\n >\n {this.state.revealPassword ? (\n <Icon icon=\"view\" className=\"icon\" />\n ) : (\n <Icon icon=\"invisible\" className=\"icon\" />\n )}\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {iconElement}\n {addOn.label ? filter(addOn.label, data) : null}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
|
11
|
+
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\nimport {\n rendererEventDispatcher,\n bindRendererEvent\n} from '../../actions/Decorators';\n\nimport type {Option} from '../../components/Select';\nimport type {ListenerAction} from '../../actions/Action';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 前缀\n */\n prefix?: string;\n\n /**\n * 后缀\n */\n suffix?: string;\n\n /**\n * 自动转换值\n */\n transform?: {\n /** 用户输入的字符自动转小写 */\n lowerCase?: boolean;\n /** 用户输入的字符自动转大写 */\n upperCase?: boolean;\n };\n}\n\nexport type InputTextRendererEvent =\n | 'blur'\n | 'focus'\n | 'click'\n | 'change'\n | 'enter';\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n revealPassword?: boolean;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n revealPassword?: boolean; // 主要用于 password 的时候切换一下显影\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false,\n revealPassword: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.toggleRevealPassword = this.toggleRevealPassword.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else if (addHook) {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n if (prevProps.revealPassword !== props.revealPassword) {\n /** 隐藏按钮的同时将密码设置为隐藏态 */\n !props.revealPassword && this.setState({revealPassword: false});\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n this.clearValue();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n if (len) {\n // type为email的input元素不支持setSelectionRange,先改为text\n if (this.input.type === 'email') {\n this.input.type = 'text';\n this.input.setSelectionRange(len, len);\n this.input.type = 'email';\n } else {\n this.input.setSelectionRange(len, len);\n }\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {selectedOptions, onChange} = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(this.normalizeValue(newValue));\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('click')\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('focus')\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('blur')\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n async handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = this.transformValue(evt.currentTarget.value);\n const {creatable, multiple, onChange} = this.props;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, multiple, creatable} = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(this.normalizeValue(newValue));\n\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number' &&\n creatable !== false\n ) {\n evt.preventDefault();\n let value: string | Array<string | any> = this.state.inputValue;\n\n if (\n multiple &&\n value &&\n !find(selectedOptions, item => item.value == value)\n ) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n value = this.normalizeValue(newValue).concat();\n }\n\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'enter', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(value);\n\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {\n onChange,\n multiple,\n options,\n selectedOptions,\n creatable,\n valueField\n } = this.props;\n // Downshift传入的selectedItem是valueField字段,需要取回选项\n const toggledOption = options.find(\n item => item[valueField || 'value'] === value\n );\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n toggledOption && newValue.push(toggledOption);\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(toggledOption ? this.normalizeValue(toggledOption) : value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n async handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n let value = e.currentTarget.value;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value: this.transformValue(value)});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(this.transformValue(value));\n }\n\n normalizeValue(value: Option[] | Option | undefined | null) {\n const {multiple, delimiter, joinValues, extractValue, valueField} =\n this.props;\n const selectedOptions = Array.isArray(value) ? value : value ? [value] : [];\n\n if (joinValues) {\n return selectedOptions\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n const mappedValue = selectedOptions.map(\n item => item[valueField || 'value']\n );\n return multiple ? mappedValue : mappedValue[0];\n } else {\n return multiple ? selectedOptions : selectedOptions[0];\n }\n }\n\n transformValue(value: string) {\n const {transform} = this.props;\n\n if (!transform) {\n return value;\n }\n\n Object.keys(transform).forEach((key: 'lowerCase' | 'upperCase') => {\n const propValue = transform[key];\n switch (key) {\n case 'lowerCase':\n propValue && (value = value.toLowerCase());\n break;\n case 'upperCase':\n propValue && (value = value.toUpperCase());\n break;\n }\n });\n\n return value;\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data} = this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n readOnly,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n showCounter,\n maxLength,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled && !readOnly}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n if (\n this.state.inputValue &&\n creatable !== false &&\n multiple &&\n !filtedOptions.some(\n (option: any) => option.value === this.state.inputValue\n )\n ) {\n filtedOptions.push({\n [labelField || 'label']: this.state.inputValue,\n [valueField || 'value']: this.state.inputValue,\n isNew: true\n });\n }\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n <Icon\n icon=\"close\"\n className={cx('TextControl-valueIcon', 'icon')}\n onClick={this.removeItem.bind(this, index)}\n />\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n readOnly,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && !readOnly && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength\n ? `/${maxLength}`\n : ''\n }`}\n </span>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n size=\"sm\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n {option.isNew ? (\n <span>\n {__('Text.add', {label: option.label})}\n <Icon icon=\"enter\" className=\"icon\" />\n </span>\n ) : (\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n )}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n toggleRevealPassword() {\n this.setState({revealPassword: !this.state.revealPassword});\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n revealPassword = true,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <Input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={this.state.revealPassword ? 'text' : type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n className={cx(\n type === 'password' &&\n revealPassword &&\n 'TextControl-input-password'\n )}\n />\n {clearable && !disabled && !readOnly && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {type === 'password' && revealPassword && !disabled ? (\n <a\n onClick={this.toggleRevealPassword}\n className={`${ns}TextControl-revealPassword`}\n >\n {this.state.revealPassword ? (\n <Icon icon=\"view\" className=\"icon\" />\n ) : (\n <Icon icon=\"invisible\" className=\"icon\" />\n )}\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {iconElement}\n {addOn.label ? filter(addOn.label, data) : null}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
|
12
12
|
]
|
13
13
|
}
|