amis 1.6.5-beta.4 → 1.8.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/components/Alert2.js +4 -2
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/DatePicker.d.ts +3 -0
- package/lib/components/DatePicker.js +41 -7
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/PopUp.js +2 -1
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/Progress.js +12 -9
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Tabs.d.ts +27 -23
- package/lib/components/Tabs.js +37 -22
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +21 -20
- package/lib/components/TooltipWrapper.js +2 -2
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/calendar/Calendar.js +16 -12
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -1
- package/lib/components/formula/Editor.js +20 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +5 -0
- package/lib/components/formula/Picker.js +19 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.js +2 -2
- package/lib/factory.js.map +2 -2
- package/lib/icons/trash.js +10 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/renderers/Action.d.ts +1 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/Dialog.d.ts +4 -0
- package/lib/renderers/Dialog.js +4 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +2 -0
- package/lib/renderers/DropDownButton.js +13 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +4 -3
- package/lib/renderers/Form/Combo.js +81 -32
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/InputCity.js +4 -1
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.js +3 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +3 -1
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +3 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +4 -0
- package/lib/renderers/Form/InputExcel.js +33 -6
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.d.ts +4 -1
- package/lib/renderers/Form/InputFile.js +9 -0
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -0
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +4 -1
- package/lib/renderers/Form/InputImage.js +12 -2
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +27 -9
- package/lib/renderers/Form/InputRange.js +88 -23
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.js +4 -2
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Select.js +3 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Switch.d.ts +7 -6
- package/lib/renderers/Form/Switch.js +4 -1
- package/lib/renderers/Form/Switch.js.map +2 -2
- package/lib/renderers/Log.js +2 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Page.js +2 -3
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/PopOver.js +1 -1
- package/lib/renderers/PopOver.js.map +2 -2
- package/lib/renderers/Progress.d.ts +1 -1
- package/lib/renderers/Progress.js +1 -1
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +1 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +10 -2
- package/lib/renderers/Tabs.js +3 -3
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +104 -0
- package/lib/renderers/TooltipWrapper.js +59 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Video.d.ts +6 -0
- package/lib/renderers/Video.js +13 -6
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +242 -46
- package/lib/themes/ang.css +250 -41
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +242 -46
- package/lib/themes/antd.css +250 -41
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +231 -35
- package/lib/themes/cxd.css +252 -42
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +242 -46
- package/lib/themes/dark.css +250 -41
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +231 -35
- package/lib/themes/default.css +252 -42
- package/lib/themes/default.css.map +1 -1
- package/package.json +1 -1
- package/schema.json +15871 -608
- package/scss/_properties.scss +23 -12
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_city-area.scss +2 -0
- package/scss/components/_formula.scss +18 -0
- package/scss/components/_popup.scss +13 -3
- package/scss/components/_progress.scss +3 -8
- package/scss/components/_tabs.scss +145 -13
- package/scss/components/_tooltip.scss +72 -0
- package/scss/components/form/_date.scss +13 -0
- package/scss/components/form/_number.scss +2 -0
- package/scss/components/form/_switch.scss +1 -3
- package/scss/themes/_cxd-variables.scss +2 -1
- package/sdk/ang-ie11.css +287 -48
- package/sdk/ang.css +295 -43
- package/sdk/antd-ie11.css +287 -48
- package/sdk/antd.css +295 -43
- 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 +276 -37
- package/sdk/cxd.css +297 -44
- package/sdk/dark-ie11.css +287 -48
- package/sdk/dark.css +295 -43
- 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 +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +276 -37
- package/sdk/sdk.css +297 -44
- package/sdk/sdk.js +1251 -1247
- 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/Schema.ts +5 -2
- package/src/components/Alert2.tsx +9 -3
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DatePicker.tsx +56 -18
- package/src/components/PopUp.tsx +6 -5
- package/src/components/Progress.tsx +8 -12
- package/src/components/Range.tsx +7 -1
- package/src/components/Tabs.tsx +51 -21
- package/src/components/TooltipWrapper.tsx +4 -1
- package/src/components/calendar/Calendar.tsx +17 -12
- package/src/components/formula/Editor.tsx +34 -3
- package/src/components/formula/Picker.tsx +28 -1
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +2 -2
- package/src/icons/trash.svg +8 -0
- package/src/index.tsx +1 -0
- package/src/renderers/Action.tsx +2 -1
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/Dialog.tsx +17 -3
- package/src/renderers/DropDownButton.tsx +14 -3
- package/src/renderers/Form/Combo.tsx +84 -26
- package/src/renderers/Form/InputCity.tsx +13 -1
- package/src/renderers/Form/InputColor.tsx +2 -0
- package/src/renderers/Form/InputDate.tsx +2 -0
- package/src/renderers/Form/InputDateRange.tsx +2 -0
- package/src/renderers/Form/InputExcel.tsx +27 -5
- package/src/renderers/Form/InputFile.tsx +13 -1
- package/src/renderers/Form/InputFormula.tsx +7 -0
- package/src/renderers/Form/InputImage.tsx +32 -12
- package/src/renderers/Form/InputRange.tsx +95 -40
- package/src/renderers/Form/InputTable.tsx +6 -2
- package/src/renderers/Form/Select.tsx +2 -0
- package/src/renderers/Form/Switch.tsx +16 -9
- package/src/renderers/Log.tsx +2 -1
- package/src/renderers/Page.tsx +1 -2
- package/src/renderers/PopOver.tsx +1 -1
- package/src/renderers/Progress.tsx +2 -2
- package/src/renderers/Table/TableRow.tsx +1 -1
- package/src/renderers/Tabs.tsx +16 -4
- package/src/renderers/TooltipWrapper.tsx +219 -0
- package/src/renderers/Video.tsx +21 -6
- package/src/store/table.ts +1 -1
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/CityArea.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA;;GAEG;AACH,0DAAuD;AAEvD,iEAA8B;AAC9B,uEAAoC;AACpC,kCAAsD;AACtD,oCAAkD;AAClD,kCAA+C;AAC/C,iDAA8C;AAC9C,+DAA4B;AAmE5B,IAAM,QAAQ,GAAG,IAAA,YAAI,EAAY,UAAA,KAAK;;IAElC,IAAA,KAaE,KAAK,WAbU,EAAjB,UAAU,mBAAG,IAAI,KAAA,EACjB,KAYE,KAAK,aAZY,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,KAWE,KAAK,UAXQ,EAAf,SAAS,mBAAG,GAAG,KAAA,EACf,KAUE,KAAK,UAVS,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,KASE,KAAK,cATa,EAApB,aAAa,mBAAG,IAAI,KAAA,EACpB,KAQE,KAAK,YARY,EAAnB,WAAW,mBAAG,KAAK,KAAA;IACnB,UAAU;IACV,KAME,KAAK,MANO;IADd,UAAU;IACV,KAAK,mBAAG,MAAM,KAAA,EACF,EAAE,GAKZ,KAAK,WALO,EACH,EAAE,GAIX,KAAK,UAJM,EACb,KAGE,KAAK,SAHS,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,gBAAgB,GAEd,KAAK,iBAFS,EAChB,WAAW,GACT,KAAK,YADI,CACH;IAEJ,IAAA,KAAsB,IAAA,gBAAQ,EAAgB,EAAE,CAAC,EAAhD,MAAM,QAAA,EAAE,SAAS,QAA+B,CAAC;IAClD,IAAA,KAAsB,IAAA,gBAAQ,EAAC,EAAE,CAAC,EAAjC,MAAM,QAAA,EAAE,SAAS,QAAgB,CAAC;IACnC,IAAA,KACJ,IAAA,gBAAQ,GAA6B,EADhC,aAAa,QAAA,EAAE,gBAAgB,QACC,CAAC;IAClC,IAAA,KAAiB,IAAA,mBAAW,GAAW,EAAtC,EAAE,QAAA,EAAE,QAAQ,QAA0B,CAAC;IACxC,IAAA,KAAuB,IAAA,mBAAW,EAAW;QACjD,OAAO,EAAE,EAAE;KACZ,CAAC,EAFK,KAAK,QAAA,EAAE,WAAW,QAEvB,CAAC;IACG,IAAA,KAA0B,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAxC,QAAQ,QAAA,EAAE,WAAW,QAAmB,CAAC;IAEhD,IAAM,QAAQ,GAAG,UAAC,YAA2B,EAAE,WAAmB;;QAChE,SAAS;QACT,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE;YAClC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC;QACI,IAAA,SAAS,GAAoB,YAAY,GAAhC,EAAE,IAAI,GAAc,YAAY,GAA1B,EAAE,QAAQ,GAAI,YAAY,GAAhB,CAAiB;QAC/C,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;YACf,IAAI,GAAG,MAAA,MAAA,EAAE,CAAC,IAAI,0CAAG,SAAS,CAAC,0CAAG,CAAC,CAAC,CAAC;SAClC;QACD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;YACnB,QAAQ,GAAG,MAAA,MAAA,MAAA,EAAE,CAAC,QAAQ,0CAAG,SAAS,CAAC,0CAAG,IAAI,CAAC,0CAAG,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,UAAU,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE;YAClB,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,SAAS,EAAE;YACd,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;QACD,SAAS,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG;QACX,IAAA,QAAQ,GAAI,KAAK,SAAT,CAAU;QAClB,IAAA,QAAQ,GAAoB,MAAM,GAA1B,EAAE,IAAI,GAAc,MAAM,GAApB,EAAE,QAAQ,GAAI,MAAM,GAAV,CAAW;QAC1C,IAAM,IAAI,GACR,aAAa,IAAI,QAAQ;YACvB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS,IAAI,IAAI;gBACnB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,QAAQ,CAAC;QACf,IAAI,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,EAAE;YACnE,IAAI;gBACF,CAAC,CAAC,QAAQ,CACN,WAAW,IAAI,MAAM;oBACnB,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBAChC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACjB;gBACH,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAClB;aAAM;YACL,QAAQ,CAAC;gBACP,IAAI,MAAA;gBACJ,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;gBACtB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;gBACtB,MAAM,QAAA;aACP,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,IAAM,SAAS,GAAG;QAChB,IAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAY,IAAK,OAAA,CAAC;YAClD,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,EAHiD,CAGjD,CAAC,CAAC;QACJ,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAChC,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,QAAQ,GAAG;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG;;QACpB,SAAS;QACT,IAAI,IAAI,GACN,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;YACrB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC;YACpC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,IAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACzC,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YACnC,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE;gBACpB,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;aAC1B;YACD,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE;gBAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;aACtB;iBAAM,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,0CAAE,OAAO,CAAC,IAAI,CAAC,CAAA,IAAI,SAAS,EAAE;gBAC7D,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aAClB;YAED,IAAI,IAAI,GAAG,GAAG,IAAI,aAAa,EAAE;gBAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aAClB;YACD,SAAS,CAAC,MAAM,CAAC,CAAC;SACnB;IACH,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG;QACpB,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QACI,IAAA,SAAS,GAAoB,MAAM,GAA1B,EAAE,IAAI,GAAc,MAAM,GAApB,EAAE,QAAQ,GAAI,MAAM,GAAV,CAAW;QACzC,IAAM,eAAe,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAY;YACnD,OAAO,EAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,UAAA,EAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAC,IAAY;gBAClC,OAAO,EAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,UAAA,EAAC,CAAC;YACjD,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,IAAM,cAAc,GAClB,IAAI,IAAI,QAAQ;YACd,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAC,IAAY;gBAC5C,OAAO,EAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,UAAA,EAAC,CAAC;YACjD,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACT,IAAM,OAAO,GAAG;YACd,EAAC,OAAO,EAAE,eAAe,EAAC;YAC1B,EAAC,OAAO,EAAE,UAAU,EAAC;YACrB,EAAC,OAAO,EAAE,cAAc,EAAC;SAC1B,CAAC;QACF,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE;YAChC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;QACD,WAAW,CAAC,EAAC,OAAO,SAAA,EAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,IAAM,MAAM,GAAG;QACb,8EAAO,0BAA0B,OAAE,IAAI,CAAC,UAAA,EAAE;YACxC,QAAQ,iDACH,EAAE,CAAC,OAAO,KACb,QAAQ,EAAE,EAAE,CAAC,QAAe,EAC5B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,QAAQ,EAAE,EAAE,CAAC,QAAoB,IACjC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,MAAM,EAAE,CAAC;IACX,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACR,QAAQ,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnB,IAAA,iBAAS,EAAC;QACR,MAAM,IAAI,WAAW,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAA,uBAAe,EAAC;QACd,MAAM,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IACnC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAM,MAAM,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CACxB,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAX,CAAW,CAAC,0CAC3B,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,EACtB,IAAI,CAAC,SAAS,CAAC,CAAC;IAEnB,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC;QAC5B,8BAAC,mBAAS,IACR,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5D,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAO,CAAC,EACxB,aAAa,EAAE,cAAM,OAAA,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAtB,CAAsB,EAC3C,WAAW,EAAE,EAAE,CAAC,4BAA4B,CAAC,EAC7C,WAAW,EAAE,WAAW,GACb;QACZ,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,yCACE,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,UAAC,CAAsC;gBAC/C,OAAA,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;YAAhC,CAAgC,EAElC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,EAC9B,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC,CAAC,CAAC,IAAI;QACR,8BAAC,eAAK,IACJ,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,QAAQ,EAChB,WAAW,QACX,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,QAAQ;YAEhB,8BAAC,gBAAM,IACL,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,QAAe,EACzB,WAAW,EAAE,KAAK,EAClB,UAAU,EAAC,MAAM,EACjB,UAAU,EAAE,EAAE,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,WAAW,EAAE,KAAK,CAAC,WAAW,GAC9B,CACI,CACJ,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAA,iBAAS,EACtB,IAAA,mBAAU,EACR,IAAA,+BAAc,EAAC,QAAQ,EAAE;IACvB,KAAK,EAAE,UAAU;CAClB,CAAC,CACH,CACF,CAAC",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file 移动端城市选择器\n */\nimport React, {useEffect, useState, memo} from 'react';\n\nimport Picker from './Picker';\nimport ResultBox from './ResultBox';\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {localeable, LocaleProps} from '../locale';\nimport {themeable, ThemeProps} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport PopUp from './PopUp';\nimport {PickerObjectOption} from './PickerColumn';\n\nexport type AreaColumnOption = {\n text: string;\n value: number;\n};\n\nexport interface AreaProps extends LocaleProps, ThemeProps {\n value: any;\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n useMobileUI?: boolean;\n onChange: (value: any) => void;\n /** 点击完成按钮时触发\t */\n onConfirm?: (result: AreaColumnOption[], index: number) => void;\n /** 点击取消按钮时触发\t */\n onCancel?: (...args: unknown[]) => void;\n\n popOverContainer?: any;\n}\n/**\n * 街道\n */\ntype district = {\n [propName: number]: {\n [propName: number]: Array<number>;\n };\n};\ninterface DbState {\n province: number[];\n district: district;\n [key: number]: string;\n city: {\n [key: number]: number[];\n };\n}\ninterface StateObj {\n columns: {options: Array<AreaColumnOption>}[];\n}\n\nconst CityArea = memo<AreaProps>(props => {\n const {\n joinValues = true,\n extractValue = true,\n delimiter = ',',\n allowCity = true,\n allowDistrict = true,\n allowStreet = false,\n // 默认北京东城区\n value = 110101,\n classnames: cx,\n translate: __,\n disabled = false,\n popOverContainer,\n useMobileUI\n } = props;\n\n const [values, setValues] = useState<Array<number>>([]);\n const [street, setStreet] = useState('');\n const [confirmValues, setConfirmValues] =\n useState<Array<PickerObjectOption>>();\n const [db, updateDb] = useSetState<DbState>();\n const [state, updateState] = useSetState<StateObj>({\n columns: []\n });\n const [isOpened, setIsOpened] = useState(false);\n\n const onChange = (columnValues: Array<number>, columnIndex: number) => {\n // 清空后面的值\n while (columnValues[columnIndex++]) {\n columnValues[columnIndex++] = -1;\n }\n let [provience, city, district] = columnValues;\n if (city === -1) {\n city = db.city?.[provience]?.[0];\n }\n if (district === -1) {\n district = db.district?.[provience]?.[city]?.[0];\n }\n let tempValues = [provience, city, district];\n if (!allowDistrict) {\n tempValues.splice(2, 1);\n }\n if (!allowCity) {\n tempValues.splice(1, 1);\n }\n setValues(tempValues);\n };\n\n const propsChange = () => {\n const {onChange} = props;\n const [province, city, district] = values;\n const code =\n allowDistrict && district\n ? district\n : allowCity && city\n ? city\n : province;\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n province: db[province],\n city: db[city],\n district: db[district],\n street\n });\n }\n };\n\n const onConfirm = () => {\n const confirmValues = values.map((item: number) => ({\n text: db[item],\n value: item\n }));\n setConfirmValues(confirmValues);\n propsChange();\n setIsOpened(false);\n };\n\n const onCancel = () => {\n setIsOpened(false);\n if (props.onCancel) props.onCancel();\n };\n\n const getPropsValue = () => {\n // 最后一项的值\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n const values: Array<number> = [];\n if (code && db[code]) {\n code = parseInt(code, 10);\n let provinceCode = code - (code % 10000);\n let cityCode = code - (code % 100);\n if (db[provinceCode]) {\n values[0] = provinceCode;\n }\n if (db[cityCode] && allowCity) {\n values[1] = cityCode;\n } else if (~db.city[provinceCode]?.indexOf(code) && allowCity) {\n values[1] = code;\n }\n\n if (code % 100 && allowDistrict) {\n values[2] = code;\n }\n setValues(values);\n }\n };\n\n const updateColumns = () => {\n if (!db) {\n return;\n }\n let [provience, city, district] = values;\n const provienceColumn = db.province.map((code: number) => {\n return {text: db[code], value: code, disabled};\n });\n const cityColumn = city\n ? db.city[provience].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const districtColumn =\n city && district\n ? db.district[provience][city].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const columns = [\n {options: provienceColumn},\n {options: cityColumn},\n {options: districtColumn}\n ];\n if (!allowDistrict || !allowCity) {\n columns.splice(2, 1);\n }\n if (!allowCity) {\n columns.splice(1, 1);\n }\n updateState({columns});\n };\n\n const loadDb = () => {\n import('../renderers/Form/CityDB').then(db => {\n updateDb({\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district as district\n });\n });\n };\n\n useEffect(() => {\n loadDb();\n }, []);\n\n useEffect(() => {\n isOpened && db && getPropsValue();\n }, [db, isOpened]);\n\n useEffect(() => {\n street && propsChange();\n }, [street]);\n\n useUpdateEffect(() => {\n values.length && updateColumns();\n }, [values]);\n\n const result = confirmValues\n ?.filter(item => item?.value)\n ?.map(item => item.text)\n .join(delimiter);\n\n return (\n <div className={cx(`CityArea`)}>\n <ResultBox\n className={cx('CityArea-Input', isOpened ? 'is-active' : '')}\n allowInput={false}\n result={result}\n onResultChange={() => {}}\n onResultClick={() => setIsOpened(!isOpened)}\n placeholder={__('Condition.cond_placeholder')}\n useMobileUI={useMobileUI}\n ></ResultBox>\n {allowStreet && values[0] ? (\n <input\n className={cx('CityArea-Input')}\n value={street}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n setStreet(e.currentTarget.value)\n }\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n <PopUp\n className={cx(`CityArea-popup`)}\n container={popOverContainer}\n isShow={isOpened}\n showConfirm\n onConfirm={onConfirm}\n onHide={onCancel}\n >\n <Picker\n className={'CityArea-picker'}\n columns={state.columns}\n onChange={onChange as any}\n showToolbar={false}\n labelField=\"text\"\n itemHeight={40}\n value={values}\n classnames={props.classnames}\n classPrefix={props.classPrefix}\n />\n </PopUp>\n </div>\n );\n});\n\nexport default themeable(\n localeable(\n uncontrollable(CityArea, {\n value: 'onChange'\n })\n )\n);\n"
|
11
|
+
"/**\n * @file 移动端城市选择器\n */\nimport React, {useEffect, useState, memo} from 'react';\n\nimport Picker from './Picker';\nimport ResultBox from './ResultBox';\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {localeable, LocaleProps} from '../locale';\nimport {themeable, ThemeProps} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport PopUp from './PopUp';\nimport {PickerObjectOption} from './PickerColumn';\n\nexport type AreaColumnOption = {\n text: string;\n value: number;\n};\n\nexport interface AreaProps extends LocaleProps, ThemeProps {\n value: any;\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n useMobileUI?: boolean;\n onChange: (value: any) => void;\n /** 点击完成按钮时触发\t */\n onConfirm?: (result: AreaColumnOption[], index: number) => void;\n /** 点击取消按钮时触发\t */\n onCancel?: (...args: unknown[]) => void;\n\n popOverContainer?: any;\n}\n/**\n * 街道\n */\ntype district = {\n [propName: number]: {\n [propName: number]: Array<number>;\n };\n};\ninterface DbState {\n province: number[];\n district: district;\n [key: number]: string;\n city: {\n [key: number]: number[];\n };\n}\ninterface StateObj {\n columns: {options: Array<AreaColumnOption>}[];\n}\n\nconst CityArea = memo<AreaProps>(props => {\n const {\n joinValues = true,\n extractValue = true,\n delimiter = ',',\n allowCity = true,\n allowDistrict = true,\n allowStreet = false,\n // 默认北京东城区\n value = 110101,\n classnames: cx,\n translate: __,\n disabled = false,\n popOverContainer,\n useMobileUI\n } = props;\n\n const [values, setValues] = useState<Array<number>>([]);\n const [street, setStreet] = useState('');\n const [confirmValues, setConfirmValues] =\n useState<Array<PickerObjectOption>>();\n const [db, updateDb] = useSetState<DbState>();\n const [state, updateState] = useSetState<StateObj>({\n columns: []\n });\n const [isOpened, setIsOpened] = useState(false);\n\n const onChange = (columnValues: Array<number>, columnIndex: number) => {\n // 清空后面的值\n while (columnValues[columnIndex++]) {\n columnValues[columnIndex++] = -1;\n }\n let [provience, city, district] = columnValues;\n if (city === -1) {\n city = db.city?.[provience]?.[0];\n }\n if (district === -1) {\n district = db.district?.[provience]?.[city]?.[0];\n }\n let tempValues = [provience, city, district];\n if (!allowDistrict) {\n tempValues.splice(2, 1);\n }\n if (!allowCity) {\n tempValues.splice(1, 1);\n }\n setValues(tempValues);\n };\n\n const propsChange = () => {\n const {onChange} = props;\n const [province, city, district] = values;\n const code =\n allowDistrict && district\n ? district\n : allowCity && city\n ? city\n : province;\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n provinceCode: province,\n province: db[province],\n cityCode: city,\n city: db[city],\n districtCode: district,\n district: db[district],\n street\n });\n }\n };\n\n const onConfirm = () => {\n const confirmValues = values.map((item: number) => ({\n text: db[item],\n value: item\n }));\n setConfirmValues(confirmValues);\n propsChange();\n setIsOpened(false);\n };\n\n const onCancel = () => {\n setIsOpened(false);\n if (props.onCancel) props.onCancel();\n };\n\n const getPropsValue = () => {\n // 最后一项的值\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n const values: Array<number> = [];\n if (code && db[code]) {\n code = parseInt(code, 10);\n let provinceCode = code - (code % 10000);\n let cityCode = code - (code % 100);\n if (db[provinceCode]) {\n values[0] = provinceCode;\n }\n if (db[cityCode] && allowCity) {\n values[1] = cityCode;\n } else if (~db.city[provinceCode]?.indexOf(code) && allowCity) {\n values[1] = code;\n }\n\n if (code % 100 && allowDistrict) {\n values[2] = code;\n }\n setValues(values);\n }\n };\n\n const updateColumns = () => {\n if (!db) {\n return;\n }\n let [provience, city, district] = values;\n const provienceColumn = db.province.map((code: number) => {\n return {text: db[code], value: code, disabled};\n });\n const cityColumn = city\n ? db.city[provience].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const districtColumn =\n city && district\n ? db.district[provience][city].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const columns = [\n {options: provienceColumn},\n {options: cityColumn},\n {options: districtColumn}\n ];\n if (!allowDistrict || !allowCity) {\n columns.splice(2, 1);\n }\n if (!allowCity) {\n columns.splice(1, 1);\n }\n updateState({columns});\n };\n\n const loadDb = () => {\n import('../renderers/Form/CityDB').then(db => {\n updateDb({\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district as district\n });\n });\n };\n\n useEffect(() => {\n loadDb();\n }, []);\n\n useEffect(() => {\n isOpened && db && getPropsValue();\n }, [db, isOpened]);\n\n useEffect(() => {\n street && propsChange();\n }, [street]);\n\n useUpdateEffect(() => {\n values.length && updateColumns();\n }, [values]);\n\n const result = confirmValues\n ?.filter(item => item?.value)\n ?.map(item => item.text)\n .join(delimiter);\n\n return (\n <div className={cx(`CityArea`)}>\n <ResultBox\n className={cx('CityArea-Input', isOpened ? 'is-active' : '')}\n allowInput={false}\n result={result}\n onResultChange={() => {}}\n onResultClick={() => setIsOpened(!isOpened)}\n placeholder={__('Condition.cond_placeholder')}\n useMobileUI={useMobileUI}\n ></ResultBox>\n {allowStreet && values[0] ? (\n <input\n className={cx('CityArea-Input')}\n value={street}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n setStreet(e.currentTarget.value)\n }\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n <PopUp\n className={cx(`CityArea-popup`)}\n container={popOverContainer}\n isShow={isOpened}\n showConfirm\n onConfirm={onConfirm}\n onHide={onCancel}\n >\n <Picker\n className={'CityArea-picker'}\n columns={state.columns}\n onChange={onChange as any}\n showToolbar={false}\n labelField=\"text\"\n itemHeight={40}\n value={values}\n classnames={props.classnames}\n classPrefix={props.classPrefix}\n />\n </PopUp>\n </div>\n );\n});\n\nexport default themeable(\n localeable(\n uncontrollable(CityArea, {\n value: 'onChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -80,6 +80,7 @@ export interface DatePickerState {
|
|
80
80
|
isOpened: boolean;
|
81
81
|
isFocused: boolean;
|
82
82
|
value: moment.Moment | undefined;
|
83
|
+
inputValue: string | undefined;
|
83
84
|
}
|
84
85
|
export declare class DatePicker extends React.Component<DateProps, DatePickerState> {
|
85
86
|
static defaultProps: {
|
@@ -92,6 +93,7 @@ export declare class DatePicker extends React.Component<DateProps, DatePickerSta
|
|
92
93
|
state: DatePickerState;
|
93
94
|
constructor(props: DateProps);
|
94
95
|
dom: HTMLDivElement;
|
96
|
+
inputRef: React.RefObject<HTMLInputElement>;
|
95
97
|
componentDidUpdate(prevProps: DateProps): void;
|
96
98
|
focus(): void;
|
97
99
|
handleFocus(e: React.SyntheticEvent<HTMLDivElement>): void;
|
@@ -103,6 +105,7 @@ export declare class DatePicker extends React.Component<DateProps, DatePickerSta
|
|
103
105
|
close(): void;
|
104
106
|
clearValue(e: React.MouseEvent<any>): void;
|
105
107
|
handleChange(value: moment.Moment): void;
|
108
|
+
inputChange(e: React.ChangeEvent<HTMLInputElement>): void;
|
106
109
|
selectRannge(item: any): void;
|
107
110
|
checkIsValidDate(currentDate: moment.Moment): boolean;
|
108
111
|
getTarget(): HTMLDivElement;
|
@@ -19,6 +19,7 @@ var Calendar_1 = (0, tslib_1.__importDefault)(require("./calendar/Calendar"));
|
|
19
19
|
var locale_1 = require("../locale");
|
20
20
|
var helper_1 = require("../utils/helper");
|
21
21
|
var CalendarMobile_1 = (0, tslib_1.__importDefault)(require("./CalendarMobile"));
|
22
|
+
var Input_1 = (0, tslib_1.__importDefault)(require("./Input"));
|
22
23
|
var availableShortcuts = {
|
23
24
|
now: {
|
24
25
|
label: 'Date.now',
|
@@ -215,15 +216,18 @@ function normalizeValue(value, format) {
|
|
215
216
|
var DatePicker = /** @class */ (function (_super) {
|
216
217
|
(0, tslib_1.__extends)(DatePicker, _super);
|
217
218
|
function DatePicker(props) {
|
219
|
+
var _a;
|
218
220
|
var _this = _super.call(this, props) || this;
|
219
221
|
_this.state = {
|
220
222
|
isOpened: false,
|
221
223
|
isFocused: false,
|
222
|
-
value: normalizeValue(_this.props.value, _this.props.format)
|
224
|
+
value: normalizeValue(_this.props.value, _this.props.format),
|
225
|
+
inputValue: ((_a = normalizeValue(_this.props.value, _this.props.format)) === null || _a === void 0 ? void 0 : _a.format(_this.props.inputFormat)) || ''
|
223
226
|
};
|
224
227
|
_this.domRef = function (ref) {
|
225
228
|
_this.dom = ref;
|
226
229
|
};
|
230
|
+
_this.inputRef = react_1.default.createRef();
|
227
231
|
_this.handleChange = _this.handleChange.bind(_this);
|
228
232
|
_this.selectRannge = _this.selectRannge.bind(_this);
|
229
233
|
_this.checkIsValidDate = _this.checkIsValidDate.bind(_this);
|
@@ -238,6 +242,7 @@ var DatePicker = /** @class */ (function (_super) {
|
|
238
242
|
_this.getTarget = _this.getTarget.bind(_this);
|
239
243
|
_this.handlePopOverClick = _this.handlePopOverClick.bind(_this);
|
240
244
|
_this.renderShortCuts = _this.renderShortCuts.bind(_this);
|
245
|
+
_this.inputChange = _this.inputChange.bind(_this);
|
241
246
|
return _this;
|
242
247
|
}
|
243
248
|
DatePicker.prototype.componentDidUpdate = function (prevProps) {
|
@@ -282,10 +287,14 @@ var DatePicker = /** @class */ (function (_super) {
|
|
282
287
|
e.preventDefault();
|
283
288
|
};
|
284
289
|
DatePicker.prototype.open = function (fn) {
|
285
|
-
this.props.disabled
|
286
|
-
|
287
|
-
|
288
|
-
|
290
|
+
if (this.props.disabled) {
|
291
|
+
return;
|
292
|
+
}
|
293
|
+
this.setState({
|
294
|
+
isOpened: true
|
295
|
+
}, fn);
|
296
|
+
var input = this.inputRef.current;
|
297
|
+
input && input.focus();
|
289
298
|
};
|
290
299
|
DatePicker.prototype.close = function () {
|
291
300
|
this.setState({
|
@@ -297,9 +306,10 @@ var DatePicker = /** @class */ (function (_super) {
|
|
297
306
|
e.stopPropagation();
|
298
307
|
var onChange = this.props.onChange;
|
299
308
|
onChange('');
|
309
|
+
this.setState({ inputValue: '' });
|
300
310
|
};
|
301
311
|
DatePicker.prototype.handleChange = function (value) {
|
302
|
-
var _a = this.props, onChange = _a.onChange, format = _a.format, minDate = _a.minDate, maxDate = _a.maxDate, dateFormat = _a.dateFormat, timeFormat = _a.timeFormat, closeOnSelect = _a.closeOnSelect, utc = _a.utc, viewMode = _a.viewMode;
|
312
|
+
var _a = this.props, onChange = _a.onChange, format = _a.format, minDate = _a.minDate, maxDate = _a.maxDate, dateFormat = _a.dateFormat, inputFormat = _a.inputFormat, timeFormat = _a.timeFormat, closeOnSelect = _a.closeOnSelect, utc = _a.utc, viewMode = _a.viewMode;
|
303
313
|
if (!moment_1.default.isMoment(value)) {
|
304
314
|
return;
|
305
315
|
}
|
@@ -313,6 +323,30 @@ var DatePicker = /** @class */ (function (_super) {
|
|
313
323
|
if (closeOnSelect && dateFormat && !timeFormat) {
|
314
324
|
this.close();
|
315
325
|
}
|
326
|
+
this.setState({
|
327
|
+
inputValue: utc
|
328
|
+
? moment_1.default.utc(value).format(inputFormat)
|
329
|
+
: value.format(inputFormat)
|
330
|
+
});
|
331
|
+
};
|
332
|
+
// 手动输入日期
|
333
|
+
DatePicker.prototype.inputChange = function (e) {
|
334
|
+
var _a = this.props, onChange = _a.onChange, inputFormat = _a.inputFormat, format = _a.format, utc = _a.utc;
|
335
|
+
var value = e.currentTarget.value;
|
336
|
+
this.setState({ inputValue: value });
|
337
|
+
if (value === '') {
|
338
|
+
onChange('');
|
339
|
+
}
|
340
|
+
else {
|
341
|
+
var newDate = (0, moment_1.default)(value, inputFormat);
|
342
|
+
var dateValue = utc
|
343
|
+
? moment_1.default.utc(newDate).format(format)
|
344
|
+
: newDate.format(format);
|
345
|
+
// 小于 0 的日期丢弃
|
346
|
+
if (!dateValue.startsWith('-')) {
|
347
|
+
onChange(dateValue);
|
348
|
+
}
|
349
|
+
}
|
316
350
|
};
|
317
351
|
DatePicker.prototype.selectRannge = function (item) {
|
318
352
|
var closeOnSelect = this.props.closeOnSelect;
|
@@ -424,7 +458,7 @@ var DatePicker = /** @class */ (function (_super) {
|
|
424
458
|
_a["DatePicker--border".concat((0, helper_1.ucFirst)(borderMode))] = borderMode,
|
425
459
|
_a['is-mobile'] = useMobileUI && (0, helper_1.isMobile)(),
|
426
460
|
_a), className), ref: this.domRef, onClick: this.handleClick },
|
427
|
-
|
461
|
+
react_1.default.createElement(Input_1.default, { onChange: this.inputChange, ref: this.inputRef, placeholder: __(placeholder), autoComplete: "off", value: this.state.inputValue }),
|
428
462
|
clearable && !disabled && normalizeValue(value, format) ? (react_1.default.createElement("a", { className: cx("DatePicker-clear"), onClick: this.clearValue },
|
429
463
|
react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
|
430
464
|
react_1.default.createElement("a", { className: cx("DatePicker-toggler") },
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/DatePicker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file DatePicker\n * @description 时间选择器组件\n * @author fex\n */\n\nimport React from 'react';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport {Icon} from './icons';\nimport PopOver from './PopOver';\nimport PopUp from './PopUp';\nimport Overlay from './Overlay';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {PlainObject} from '../types';\nimport Calendar from './calendar/Calendar';\nimport {localeable, LocaleProps, TranslateFn} from '../locale';\nimport {isMobile, ucFirst} from '../utils/helper';\nimport CalendarMobile from './CalendarMobile';\n\nconst availableShortcuts: {[propName: string]: any} = {\n now: {\n label: 'Date.now',\n date: (now: moment.Moment) => {\n return now;\n }\n },\n today: {\n label: 'Date.today',\n date: (now: moment.Moment) => {\n return now.startOf('day');\n }\n },\n\n yesterday: {\n label: 'Date.yesterday',\n date: (now: moment.Moment) => {\n return now.add(-1, 'days').startOf('day');\n }\n },\n\n thisweek: {\n label: 'Date.monday',\n date: (now: moment.Moment) => {\n return now.startOf('week').startOf('day');\n }\n },\n\n thismonth: {\n label: 'Date.startOfMonth',\n date: (now: moment.Moment) => {\n return now.startOf('month');\n }\n },\n\n prevmonth: {\n label: 'Date.startOfLastMonth',\n date: (now: moment.Moment) => {\n return now.startOf('month').add(-1, 'month');\n }\n },\n\n prevquarter: {\n label: 'Date.startOfLastQuarter',\n date: (now: moment.Moment) => {\n return now.startOf('quarter').add(-1, 'quarter');\n }\n },\n\n thisquarter: {\n label: 'Date.startOfQuarter',\n date: (now: moment.Moment) => {\n return now.startOf('quarter');\n }\n },\n\n tomorrow: {\n label: 'Date.tomorrow',\n date: (now: moment.Moment) => {\n return now.add(1, 'days').startOf('day');\n }\n },\n\n endofthisweek: {\n label: 'Date.endOfWeek',\n date: (now: moment.Moment) => {\n return now.endOf('week');\n }\n },\n\n endofthismonth: {\n label: 'Date.endOfMonth',\n date: (now: moment.Moment) => {\n return now.endOf('month');\n }\n },\n\n endoflastmonth: {\n label: 'Date.endOfLastMonth',\n date: (now: moment.Moment) => {\n return now.add(-1, 'month').endOf('month');\n }\n }\n};\n\nconst advancedShortcuts = [\n {\n regexp: /^(\\d+)hoursago$/,\n resolve: (__: TranslateFn, _: string, hours: string) => {\n return {\n label: __('Date.hoursago', {hours}),\n date: (now: moment.Moment) => {\n return now.subtract(hours, 'hours');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)hourslater$/,\n resolve: (__: TranslateFn, _: string, hours: string) => {\n return {\n label: __('Date.hourslater', {hours}),\n date: (now: moment.Moment) => {\n return now.add(hours, 'hours');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)daysago$/,\n resolve: (__: TranslateFn, _: string, days: string) => {\n return {\n label: __('Date.daysago', {days}),\n date: (now: moment.Moment) => {\n return now.subtract(days, 'days');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)dayslater$/,\n resolve: (__: TranslateFn, _: string, days: string) => {\n return {\n label: __('Date.dayslater', {days}),\n date: (now: moment.Moment) => {\n return now.add(days, 'days');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)weeksago$/,\n resolve: (__: TranslateFn, _: string, weeks: string) => {\n return {\n label: __('Date.weeksago', {weeks}),\n date: (now: moment.Moment) => {\n return now.subtract(weeks, 'weeks');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)weekslater$/,\n resolve: (__: TranslateFn, _: string, weeks: string) => {\n return {\n label: __('Date.weekslater', {weeks}),\n date: (now: moment.Moment) => {\n return now.add(weeks, 'weeks');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)monthsago$/,\n resolve: (__: TranslateFn, _: string, months: string) => {\n return {\n label: __('Date.monthsago', {months}),\n date: (now: moment.Moment) => {\n return now.subtract(months, 'months');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)monthslater$/,\n resolve: (__: TranslateFn, _: string, months: string) => {\n return {\n label: __('Date.monthslater', {months}),\n date: (now: moment.Moment) => {\n return now.add(months, 'months');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)quartersago$/,\n resolve: (__: TranslateFn, _: string, quarters: string) => {\n return {\n label: __('Date.quartersago', {quarters}),\n date: (now: moment.Moment) => {\n return now.subtract(quarters, 'quarters');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)quarterslater$/,\n resolve: (__: TranslateFn, _: string, quarters: string) => {\n return {\n label: __('Date.quarterslater', {quarters}),\n date: (now: moment.Moment) => {\n return now.add(quarters, 'quarters');\n }\n };\n }\n }\n];\n\nexport type ShortCutDate = {\n label: string;\n date: moment.Moment;\n};\n\nexport type ShortCutDateRange = {\n label: string;\n startDate?: moment.Moment;\n endDate?: moment.Moment;\n};\n\nexport type ShortCuts =\n | {\n label: string;\n value: string;\n }\n | ShortCutDate\n | ShortCutDateRange;\n\nexport interface DateProps extends LocaleProps, ThemeProps {\n viewMode: 'years' | 'months' | 'days' | 'time' | 'quarters';\n className?: string;\n popoverClassName?: string;\n placeholder?: string;\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n closeOnSelect: boolean;\n disabled?: boolean;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n clearable?: boolean;\n defaultValue?: any;\n utc?: boolean;\n onChange: (value: any) => void;\n value?: any;\n shortcuts: string | Array<ShortCuts>;\n overlayPlacement: string;\n // minTime?: moment.Moment;\n // maxTime?: moment.Moment;\n dateFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n popOverContainer?: any;\n\n borderMode?: 'full' | 'half' | 'none';\n // 是否为内嵌模式,如果开启就不是 picker 了,直接页面点选。\n embed?: boolean;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n scheduleClassNames?: Array<string>;\n largeMode?: boolean;\n onScheduleClick?: (scheduleData: any) => void;\n useMobileUI?: boolean;\n // 在移动端日期展示有多种形式,一种是picker 滑动选择,一种是日历展开选择,mobileCalendarMode为calendar表示日历展开选择\n mobileCalendarMode?: 'picker' | 'calendar';\n\n // 下面那个千万不要写,写了就会导致 keyof DateProps 得到的结果是 string | number;\n // [propName: string]: any;\n onFocus?: Function;\n onBlur?: Function;\n}\n\nexport interface DatePickerState {\n isOpened: boolean;\n isFocused: boolean;\n value: moment.Moment | undefined;\n}\n\nfunction normalizeValue(value: any, format?: string) {\n if (!value || value === '0') {\n return undefined;\n }\n const v = moment(value, format, true);\n return v.isValid() ? v : undefined;\n}\n\nexport class DatePicker extends React.Component<DateProps, DatePickerState> {\n static defaultProps = {\n viewMode: 'days' as 'years' | 'months' | 'days' | 'time',\n shortcuts: '',\n closeOnSelect: true,\n overlayPlacement: 'auto',\n scheduleClassNames: [\n 'bg-warning',\n 'bg-danger',\n 'bg-success',\n 'bg-info',\n 'bg-secondary'\n ]\n };\n state: DatePickerState = {\n isOpened: false,\n isFocused: false,\n value: normalizeValue(this.props.value, this.props.format)\n };\n constructor(props: DateProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.selectRannge = this.selectRannge.bind(this);\n this.checkIsValidDate = this.checkIsValidDate.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.getParent = this.getParent.bind(this);\n this.getTarget = this.getTarget.bind(this);\n this.handlePopOverClick = this.handlePopOverClick.bind(this);\n this.renderShortCuts = this.renderShortCuts.bind(this);\n }\n\n dom: HTMLDivElement;\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n value: normalizeValue(props.value, props.format)\n });\n }\n }\n\n focus() {\n if (!this.dom) {\n return;\n }\n\n this.dom.focus();\n }\n\n handleFocus(e: React.SyntheticEvent<HTMLDivElement>) {\n this.setState({\n isFocused: true\n });\n const {onFocus} = this.props;\n onFocus && onFocus(e);\n }\n\n handleBlur(e: React.SyntheticEvent<HTMLDivElement>) {\n this.setState({\n isFocused: false\n });\n const {onBlur} = this.props;\n onBlur && onBlur(e);\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleClick();\n e.preventDefault();\n }\n }\n\n handleClick() {\n this.state.isOpened ? this.close() : this.open();\n }\n\n handlePopOverClick(e: React.MouseEvent<any>) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n open(fn?: () => void) {\n this.props.disabled ||\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n }\n\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n e.stopPropagation();\n const onChange = this.props.onChange;\n onChange('');\n }\n\n handleChange(value: moment.Moment) {\n const {\n onChange,\n format,\n minDate,\n maxDate,\n dateFormat,\n timeFormat,\n closeOnSelect,\n utc,\n viewMode\n } = this.props;\n\n if (!moment.isMoment(value)) {\n return;\n }\n\n if (minDate && value && value.isBefore(minDate, 'second')) {\n value = minDate;\n } else if (maxDate && value && value.isAfter(maxDate, 'second')) {\n value = maxDate;\n }\n\n onChange(utc ? moment.utc(value).format(format) : value.format(format));\n\n if (closeOnSelect && dateFormat && !timeFormat) {\n this.close();\n }\n }\n\n selectRannge(item: any) {\n const {closeOnSelect} = this.props;\n const now = moment();\n this.handleChange(item.date(now));\n\n closeOnSelect && this.close();\n }\n\n checkIsValidDate(currentDate: moment.Moment) {\n const {minDate, maxDate} = this.props;\n\n if (minDate && currentDate.isBefore(minDate, 'day')) {\n return false;\n } else if (maxDate && currentDate.isAfter(maxDate, 'day')) {\n return false;\n }\n\n return true;\n }\n\n getTarget() {\n return this.dom;\n }\n\n getParent() {\n return this.dom;\n }\n\n domRef = (ref: HTMLDivElement) => {\n this.dom = ref;\n };\n\n getAvailableShortcuts(key: string) {\n if (availableShortcuts[key]) {\n return availableShortcuts[key];\n }\n\n const __ = this.props.translate;\n\n for (let i = 0, len = advancedShortcuts.length; i < len; i++) {\n let item = advancedShortcuts[i];\n const m = item.regexp.exec(key);\n\n if (m) {\n return item.resolve.apply(item, [__, ...m]);\n }\n }\n\n return null;\n }\n\n renderShortCuts(shortcuts: string | Array<ShortCuts>) {\n if (!shortcuts) {\n return null;\n }\n const {classPrefix: ns, classnames: cx} = this.props;\n let shortcutArr: Array<string | ShortCuts>;\n if (typeof shortcuts === 'string') {\n shortcutArr = shortcuts.split(',');\n } else {\n shortcutArr = shortcuts;\n }\n\n const __ = this.props.translate;\n return (\n <ul className={cx(`DatePicker-shortcuts`)}>\n {shortcutArr.map(item => {\n if (!item) {\n return null;\n }\n let shortcut: PlainObject = {};\n if (typeof item === 'string') {\n shortcut = this.getAvailableShortcuts(item);\n shortcut.key = item;\n } else if ((item as ShortCutDate).date) {\n shortcut = {\n ...item,\n date: () => (item as ShortCutDate).date\n };\n }\n return (\n <li\n className={cx(`DatePicker-shortcut`)}\n onClick={() => this.selectRannge(shortcut)}\n key={shortcut.key || shortcut.label}\n >\n <a>{__(shortcut.label)}</a>\n </li>\n );\n })}\n </ul>\n );\n }\n\n render() {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n popoverClassName,\n value,\n placeholder,\n disabled,\n inputFormat,\n dateFormat,\n timeFormat,\n viewMode,\n timeConstraints,\n popOverContainer,\n clearable,\n shortcuts,\n utc,\n overlayPlacement,\n locale,\n format,\n borderMode,\n embed,\n minDate,\n useMobileUI,\n maxDate,\n schedules,\n largeMode,\n scheduleClassNames,\n onScheduleClick,\n mobileCalendarMode\n } = this.props;\n\n const __ = this.props.translate;\n const isOpened = this.state.isOpened;\n let date: moment.Moment | undefined = this.state.value;\n\n const calendarMobile = (\n <CalendarMobile\n isDatePicker={true}\n timeFormat={timeFormat}\n inputFormat={inputFormat}\n startDate={date}\n defaultDate={date}\n minDate={minDate}\n maxDate={maxDate}\n dateFormat={dateFormat}\n embed={embed}\n viewMode={viewMode}\n close={this.close}\n confirm={this.handleChange}\n footerExtra={this.renderShortCuts(shortcuts)}\n showViewMode={\n viewMode === 'quarters' || viewMode === 'months' ? 'years' : 'months'\n }\n timeConstraints={timeConstraints}\n />\n );\n const CalendarMobileTitle = (\n <div className={`${ns}CalendarMobile-title`}>\n {__('Calendar.datepicker')}\n </div>\n );\n const useCalendarMobile =\n useMobileUI &&\n isMobile() &&\n ['days', 'months', 'quarters'].indexOf(viewMode) > -1;\n\n if (embed) {\n let schedulesData: DateProps['schedules'] = undefined;\n if (schedules && Array.isArray(schedules)) {\n // 设置日程颜色\n let index = 0;\n schedulesData = schedules.map((schedule: any) => {\n let className = schedule.className;\n if (!className && scheduleClassNames) {\n className = scheduleClassNames[index];\n index++;\n if (index >= scheduleClassNames.length) {\n index = 0;\n }\n }\n return {\n ...schedule,\n className\n };\n });\n }\n return (\n <div\n className={cx(\n `DateCalendar`,\n {\n 'is-disabled': disabled,\n 'ScheduleCalendar': schedulesData,\n 'ScheduleCalendar-large': largeMode\n },\n className\n )}\n >\n <Calendar\n value={date}\n onChange={this.handleChange}\n requiredConfirm={false}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkIsValidDate}\n viewMode={viewMode}\n timeConstraints={timeConstraints}\n input={false}\n onClose={this.close}\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n // utc={utc}\n schedules={schedulesData}\n largeMode={largeMode}\n onScheduleClick={onScheduleClick}\n embed={embed}\n useMobileUI={useMobileUI}\n />\n </div>\n );\n }\n\n return (\n <div\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n `DatePicker`,\n {\n 'is-disabled': disabled,\n 'is-focused': this.state.isFocused,\n [`DatePicker--border${ucFirst(borderMode)}`]: borderMode,\n 'is-mobile': useMobileUI && isMobile()\n },\n className\n )}\n ref={this.domRef}\n onClick={this.handleClick}\n >\n {date ? (\n <span className={cx(`DatePicker-value`)}>\n {date.format(inputFormat)}\n </span>\n ) : (\n <span className={cx(`DatePicker-placeholder`)}>\n {__(placeholder)}\n </span>\n )}\n\n {clearable && !disabled && normalizeValue(value, format) ? (\n <a className={cx(`DatePicker-clear`)} onClick={this.clearValue}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n <a className={cx(`DatePicker-toggler`)}>\n <Icon icon=\"clock\" className=\"icon\" />\n </a>\n\n {!(useMobileUI && isMobile()) && isOpened ? (\n <Overlay\n target={this.getTarget}\n container={popOverContainer || this.getParent}\n rootClose={false}\n placement={overlayPlacement}\n show\n >\n <PopOver\n classPrefix={ns}\n className={cx(`DatePicker-popover`, popoverClassName)}\n onHide={this.close}\n overlay\n onClick={this.handlePopOverClick}\n >\n {this.renderShortCuts(shortcuts)}\n\n <Calendar\n value={date}\n onChange={this.handleChange}\n requiredConfirm={!!(dateFormat && timeFormat)}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkIsValidDate}\n viewMode={viewMode}\n timeConstraints={timeConstraints}\n input={false}\n onClose={this.close}\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n useMobileUI={useMobileUI}\n // utc={utc}\n />\n </PopOver>\n </Overlay>\n ) : null}\n {useMobileUI && isMobile() ? (\n mobileCalendarMode === 'calendar' && useCalendarMobile ? (\n <PopUp\n isShow={isOpened}\n className={cx(`${ns}CalendarMobile-pop`)}\n onHide={this.close}\n header={CalendarMobileTitle}\n >\n {calendarMobile}\n </PopUp>\n ) : (\n <PopUp\n className={cx(`${ns}DatePicker-popup DatePicker-mobile`)}\n container={popOverContainer}\n isShow={isOpened}\n showClose={false}\n onHide={this.handleClick}\n >\n <Calendar\n value={date}\n onChange={this.handleChange}\n requiredConfirm={!!(dateFormat && timeFormat)}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkIsValidDate}\n viewMode={viewMode}\n timeConstraints={timeConstraints}\n input={false}\n onClose={this.close}\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n useMobileUI={useMobileUI}\n // utc={utc}\n />\n </PopUp>\n )\n ) : null}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(DatePicker));\n"
|
11
|
+
"/**\n * @file DatePicker\n * @description 时间选择器组件\n * @author fex\n */\n\nimport React from 'react';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport {Icon} from './icons';\nimport PopOver from './PopOver';\nimport PopUp from './PopUp';\nimport Overlay from './Overlay';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {PlainObject} from '../types';\nimport Calendar from './calendar/Calendar';\nimport {localeable, LocaleProps, TranslateFn} from '../locale';\nimport {isMobile, ucFirst} from '../utils/helper';\nimport CalendarMobile from './CalendarMobile';\nimport Input from './Input';\n\nconst availableShortcuts: {[propName: string]: any} = {\n now: {\n label: 'Date.now',\n date: (now: moment.Moment) => {\n return now;\n }\n },\n today: {\n label: 'Date.today',\n date: (now: moment.Moment) => {\n return now.startOf('day');\n }\n },\n\n yesterday: {\n label: 'Date.yesterday',\n date: (now: moment.Moment) => {\n return now.add(-1, 'days').startOf('day');\n }\n },\n\n thisweek: {\n label: 'Date.monday',\n date: (now: moment.Moment) => {\n return now.startOf('week').startOf('day');\n }\n },\n\n thismonth: {\n label: 'Date.startOfMonth',\n date: (now: moment.Moment) => {\n return now.startOf('month');\n }\n },\n\n prevmonth: {\n label: 'Date.startOfLastMonth',\n date: (now: moment.Moment) => {\n return now.startOf('month').add(-1, 'month');\n }\n },\n\n prevquarter: {\n label: 'Date.startOfLastQuarter',\n date: (now: moment.Moment) => {\n return now.startOf('quarter').add(-1, 'quarter');\n }\n },\n\n thisquarter: {\n label: 'Date.startOfQuarter',\n date: (now: moment.Moment) => {\n return now.startOf('quarter');\n }\n },\n\n tomorrow: {\n label: 'Date.tomorrow',\n date: (now: moment.Moment) => {\n return now.add(1, 'days').startOf('day');\n }\n },\n\n endofthisweek: {\n label: 'Date.endOfWeek',\n date: (now: moment.Moment) => {\n return now.endOf('week');\n }\n },\n\n endofthismonth: {\n label: 'Date.endOfMonth',\n date: (now: moment.Moment) => {\n return now.endOf('month');\n }\n },\n\n endoflastmonth: {\n label: 'Date.endOfLastMonth',\n date: (now: moment.Moment) => {\n return now.add(-1, 'month').endOf('month');\n }\n }\n};\n\nconst advancedShortcuts = [\n {\n regexp: /^(\\d+)hoursago$/,\n resolve: (__: TranslateFn, _: string, hours: string) => {\n return {\n label: __('Date.hoursago', {hours}),\n date: (now: moment.Moment) => {\n return now.subtract(hours, 'hours');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)hourslater$/,\n resolve: (__: TranslateFn, _: string, hours: string) => {\n return {\n label: __('Date.hourslater', {hours}),\n date: (now: moment.Moment) => {\n return now.add(hours, 'hours');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)daysago$/,\n resolve: (__: TranslateFn, _: string, days: string) => {\n return {\n label: __('Date.daysago', {days}),\n date: (now: moment.Moment) => {\n return now.subtract(days, 'days');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)dayslater$/,\n resolve: (__: TranslateFn, _: string, days: string) => {\n return {\n label: __('Date.dayslater', {days}),\n date: (now: moment.Moment) => {\n return now.add(days, 'days');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)weeksago$/,\n resolve: (__: TranslateFn, _: string, weeks: string) => {\n return {\n label: __('Date.weeksago', {weeks}),\n date: (now: moment.Moment) => {\n return now.subtract(weeks, 'weeks');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)weekslater$/,\n resolve: (__: TranslateFn, _: string, weeks: string) => {\n return {\n label: __('Date.weekslater', {weeks}),\n date: (now: moment.Moment) => {\n return now.add(weeks, 'weeks');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)monthsago$/,\n resolve: (__: TranslateFn, _: string, months: string) => {\n return {\n label: __('Date.monthsago', {months}),\n date: (now: moment.Moment) => {\n return now.subtract(months, 'months');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)monthslater$/,\n resolve: (__: TranslateFn, _: string, months: string) => {\n return {\n label: __('Date.monthslater', {months}),\n date: (now: moment.Moment) => {\n return now.add(months, 'months');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)quartersago$/,\n resolve: (__: TranslateFn, _: string, quarters: string) => {\n return {\n label: __('Date.quartersago', {quarters}),\n date: (now: moment.Moment) => {\n return now.subtract(quarters, 'quarters');\n }\n };\n }\n },\n {\n regexp: /^(\\d+)quarterslater$/,\n resolve: (__: TranslateFn, _: string, quarters: string) => {\n return {\n label: __('Date.quarterslater', {quarters}),\n date: (now: moment.Moment) => {\n return now.add(quarters, 'quarters');\n }\n };\n }\n }\n];\n\nexport type ShortCutDate = {\n label: string;\n date: moment.Moment;\n};\n\nexport type ShortCutDateRange = {\n label: string;\n startDate?: moment.Moment;\n endDate?: moment.Moment;\n};\n\nexport type ShortCuts =\n | {\n label: string;\n value: string;\n }\n | ShortCutDate\n | ShortCutDateRange;\n\nexport interface DateProps extends LocaleProps, ThemeProps {\n viewMode: 'years' | 'months' | 'days' | 'time' | 'quarters';\n className?: string;\n popoverClassName?: string;\n placeholder?: string;\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n closeOnSelect: boolean;\n disabled?: boolean;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n clearable?: boolean;\n defaultValue?: any;\n utc?: boolean;\n onChange: (value: any) => void;\n value?: any;\n shortcuts: string | Array<ShortCuts>;\n overlayPlacement: string;\n // minTime?: moment.Moment;\n // maxTime?: moment.Moment;\n dateFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n popOverContainer?: any;\n\n borderMode?: 'full' | 'half' | 'none';\n // 是否为内嵌模式,如果开启就不是 picker 了,直接页面点选。\n embed?: boolean;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n scheduleClassNames?: Array<string>;\n largeMode?: boolean;\n onScheduleClick?: (scheduleData: any) => void;\n useMobileUI?: boolean;\n // 在移动端日期展示有多种形式,一种是picker 滑动选择,一种是日历展开选择,mobileCalendarMode为calendar表示日历展开选择\n mobileCalendarMode?: 'picker' | 'calendar';\n\n // 下面那个千万不要写,写了就会导致 keyof DateProps 得到的结果是 string | number;\n // [propName: string]: any;\n onFocus?: Function;\n onBlur?: Function;\n}\n\nexport interface DatePickerState {\n isOpened: boolean;\n isFocused: boolean;\n value: moment.Moment | undefined;\n inputValue: string | undefined; // 手动输入的值\n}\n\nfunction normalizeValue(value: any, format?: string) {\n if (!value || value === '0') {\n return undefined;\n }\n const v = moment(value, format, true);\n return v.isValid() ? v : undefined;\n}\n\nexport class DatePicker extends React.Component<DateProps, DatePickerState> {\n static defaultProps = {\n viewMode: 'days' as 'years' | 'months' | 'days' | 'time',\n shortcuts: '',\n closeOnSelect: true,\n overlayPlacement: 'auto',\n scheduleClassNames: [\n 'bg-warning',\n 'bg-danger',\n 'bg-success',\n 'bg-info',\n 'bg-secondary'\n ]\n };\n state: DatePickerState = {\n isOpened: false,\n isFocused: false,\n value: normalizeValue(this.props.value, this.props.format),\n inputValue:\n normalizeValue(this.props.value, this.props.format)?.format(\n this.props.inputFormat\n ) || ''\n };\n constructor(props: DateProps) {\n super(props);\n this.inputRef = React.createRef();\n this.handleChange = this.handleChange.bind(this);\n this.selectRannge = this.selectRannge.bind(this);\n this.checkIsValidDate = this.checkIsValidDate.bind(this);\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.getParent = this.getParent.bind(this);\n this.getTarget = this.getTarget.bind(this);\n this.handlePopOverClick = this.handlePopOverClick.bind(this);\n this.renderShortCuts = this.renderShortCuts.bind(this);\n this.inputChange = this.inputChange.bind(this);\n }\n\n dom: HTMLDivElement;\n\n inputRef: React.RefObject<HTMLInputElement>;\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n value: normalizeValue(props.value, props.format)\n });\n }\n }\n\n focus() {\n if (!this.dom) {\n return;\n }\n\n this.dom.focus();\n }\n\n handleFocus(e: React.SyntheticEvent<HTMLDivElement>) {\n this.setState({\n isFocused: true\n });\n const {onFocus} = this.props;\n onFocus && onFocus(e);\n }\n\n handleBlur(e: React.SyntheticEvent<HTMLDivElement>) {\n this.setState({\n isFocused: false\n });\n const {onBlur} = this.props;\n onBlur && onBlur(e);\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleClick();\n e.preventDefault();\n }\n }\n\n handleClick() {\n this.state.isOpened ? this.close() : this.open();\n }\n\n handlePopOverClick(e: React.MouseEvent<any>) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n open(fn?: () => void) {\n if (this.props.disabled) {\n return;\n }\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n const input = this.inputRef.current;\n input && input.focus();\n }\n\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n e.stopPropagation();\n const onChange = this.props.onChange;\n onChange('');\n this.setState({inputValue: ''});\n }\n\n handleChange(value: moment.Moment) {\n const {\n onChange,\n format,\n minDate,\n maxDate,\n dateFormat,\n inputFormat,\n timeFormat,\n closeOnSelect,\n utc,\n viewMode\n } = this.props;\n\n if (!moment.isMoment(value)) {\n return;\n }\n\n if (minDate && value && value.isBefore(minDate, 'second')) {\n value = minDate;\n } else if (maxDate && value && value.isAfter(maxDate, 'second')) {\n value = maxDate;\n }\n\n onChange(utc ? moment.utc(value).format(format) : value.format(format));\n\n if (closeOnSelect && dateFormat && !timeFormat) {\n this.close();\n }\n\n this.setState({\n inputValue: utc\n ? moment.utc(value).format(inputFormat)\n : value.format(inputFormat)\n });\n }\n\n // 手动输入日期\n inputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange, inputFormat, format, utc} = this.props;\n const value = e.currentTarget.value;\n this.setState({inputValue: value});\n if (value === '') {\n onChange('');\n } else {\n const newDate = moment(value, inputFormat);\n const dateValue = utc\n ? moment.utc(newDate).format(format)\n : newDate.format(format);\n // 小于 0 的日期丢弃\n if (!dateValue.startsWith('-')) {\n onChange(dateValue);\n }\n }\n }\n\n selectRannge(item: any) {\n const {closeOnSelect} = this.props;\n const now = moment();\n this.handleChange(item.date(now));\n\n closeOnSelect && this.close();\n }\n\n checkIsValidDate(currentDate: moment.Moment) {\n const {minDate, maxDate} = this.props;\n\n if (minDate && currentDate.isBefore(minDate, 'day')) {\n return false;\n } else if (maxDate && currentDate.isAfter(maxDate, 'day')) {\n return false;\n }\n\n return true;\n }\n\n getTarget() {\n return this.dom;\n }\n\n getParent() {\n return this.dom;\n }\n\n domRef = (ref: HTMLDivElement) => {\n this.dom = ref;\n };\n\n getAvailableShortcuts(key: string) {\n if (availableShortcuts[key]) {\n return availableShortcuts[key];\n }\n\n const __ = this.props.translate;\n\n for (let i = 0, len = advancedShortcuts.length; i < len; i++) {\n let item = advancedShortcuts[i];\n const m = item.regexp.exec(key);\n\n if (m) {\n return item.resolve.apply(item, [__, ...m]);\n }\n }\n\n return null;\n }\n\n renderShortCuts(shortcuts: string | Array<ShortCuts>) {\n if (!shortcuts) {\n return null;\n }\n const {classPrefix: ns, classnames: cx} = this.props;\n let shortcutArr: Array<string | ShortCuts>;\n if (typeof shortcuts === 'string') {\n shortcutArr = shortcuts.split(',');\n } else {\n shortcutArr = shortcuts;\n }\n\n const __ = this.props.translate;\n return (\n <ul className={cx(`DatePicker-shortcuts`)}>\n {shortcutArr.map(item => {\n if (!item) {\n return null;\n }\n let shortcut: PlainObject = {};\n if (typeof item === 'string') {\n shortcut = this.getAvailableShortcuts(item);\n shortcut.key = item;\n } else if ((item as ShortCutDate).date) {\n shortcut = {\n ...item,\n date: () => (item as ShortCutDate).date\n };\n }\n return (\n <li\n className={cx(`DatePicker-shortcut`)}\n onClick={() => this.selectRannge(shortcut)}\n key={shortcut.key || shortcut.label}\n >\n <a>{__(shortcut.label)}</a>\n </li>\n );\n })}\n </ul>\n );\n }\n\n render() {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n popoverClassName,\n value,\n placeholder,\n disabled,\n inputFormat,\n dateFormat,\n timeFormat,\n viewMode,\n timeConstraints,\n popOverContainer,\n clearable,\n shortcuts,\n utc,\n overlayPlacement,\n locale,\n format,\n borderMode,\n embed,\n minDate,\n useMobileUI,\n maxDate,\n schedules,\n largeMode,\n scheduleClassNames,\n onScheduleClick,\n mobileCalendarMode\n } = this.props;\n\n const __ = this.props.translate;\n const isOpened = this.state.isOpened;\n let date: moment.Moment | undefined = this.state.value;\n\n const calendarMobile = (\n <CalendarMobile\n isDatePicker={true}\n timeFormat={timeFormat}\n inputFormat={inputFormat}\n startDate={date}\n defaultDate={date}\n minDate={minDate}\n maxDate={maxDate}\n dateFormat={dateFormat}\n embed={embed}\n viewMode={viewMode}\n close={this.close}\n confirm={this.handleChange}\n footerExtra={this.renderShortCuts(shortcuts)}\n showViewMode={\n viewMode === 'quarters' || viewMode === 'months' ? 'years' : 'months'\n }\n timeConstraints={timeConstraints}\n />\n );\n const CalendarMobileTitle = (\n <div className={`${ns}CalendarMobile-title`}>\n {__('Calendar.datepicker')}\n </div>\n );\n const useCalendarMobile =\n useMobileUI &&\n isMobile() &&\n ['days', 'months', 'quarters'].indexOf(viewMode) > -1;\n\n if (embed) {\n let schedulesData: DateProps['schedules'] = undefined;\n if (schedules && Array.isArray(schedules)) {\n // 设置日程颜色\n let index = 0;\n schedulesData = schedules.map((schedule: any) => {\n let className = schedule.className;\n if (!className && scheduleClassNames) {\n className = scheduleClassNames[index];\n index++;\n if (index >= scheduleClassNames.length) {\n index = 0;\n }\n }\n return {\n ...schedule,\n className\n };\n });\n }\n return (\n <div\n className={cx(\n `DateCalendar`,\n {\n 'is-disabled': disabled,\n 'ScheduleCalendar': schedulesData,\n 'ScheduleCalendar-large': largeMode\n },\n className\n )}\n >\n <Calendar\n value={date}\n onChange={this.handleChange}\n requiredConfirm={false}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkIsValidDate}\n viewMode={viewMode}\n timeConstraints={timeConstraints}\n input={false}\n onClose={this.close}\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n // utc={utc}\n schedules={schedulesData}\n largeMode={largeMode}\n onScheduleClick={onScheduleClick}\n embed={embed}\n useMobileUI={useMobileUI}\n />\n </div>\n );\n }\n\n return (\n <div\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n `DatePicker`,\n {\n 'is-disabled': disabled,\n 'is-focused': this.state.isFocused,\n [`DatePicker--border${ucFirst(borderMode)}`]: borderMode,\n 'is-mobile': useMobileUI && isMobile()\n },\n className\n )}\n ref={this.domRef}\n onClick={this.handleClick}\n >\n <Input\n onChange={this.inputChange}\n ref={this.inputRef}\n placeholder={__(placeholder)}\n autoComplete=\"off\"\n value={this.state.inputValue}\n />\n\n {clearable && !disabled && normalizeValue(value, format) ? (\n <a className={cx(`DatePicker-clear`)} onClick={this.clearValue}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n <a className={cx(`DatePicker-toggler`)}>\n <Icon icon=\"clock\" className=\"icon\" />\n </a>\n\n {!(useMobileUI && isMobile()) && isOpened ? (\n <Overlay\n target={this.getTarget}\n container={popOverContainer || this.getParent}\n rootClose={false}\n placement={overlayPlacement}\n show\n >\n <PopOver\n classPrefix={ns}\n className={cx(`DatePicker-popover`, popoverClassName)}\n onHide={this.close}\n overlay\n onClick={this.handlePopOverClick}\n >\n {this.renderShortCuts(shortcuts)}\n\n <Calendar\n value={date}\n onChange={this.handleChange}\n requiredConfirm={!!(dateFormat && timeFormat)}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkIsValidDate}\n viewMode={viewMode}\n timeConstraints={timeConstraints}\n input={false}\n onClose={this.close}\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n useMobileUI={useMobileUI}\n // utc={utc}\n />\n </PopOver>\n </Overlay>\n ) : null}\n {useMobileUI && isMobile() ? (\n mobileCalendarMode === 'calendar' && useCalendarMobile ? (\n <PopUp\n isShow={isOpened}\n className={cx(`${ns}CalendarMobile-pop`)}\n onHide={this.close}\n header={CalendarMobileTitle}\n >\n {calendarMobile}\n </PopUp>\n ) : (\n <PopUp\n className={cx(`${ns}DatePicker-popup DatePicker-mobile`)}\n container={popOverContainer}\n isShow={isOpened}\n showClose={false}\n onHide={this.handleClick}\n >\n <Calendar\n value={date}\n onChange={this.handleChange}\n requiredConfirm={!!(dateFormat && timeFormat)}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkIsValidDate}\n viewMode={viewMode}\n timeConstraints={timeConstraints}\n input={false}\n onClose={this.close}\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n useMobileUI={useMobileUI}\n // utc={utc}\n />\n </PopUp>\n )\n ) : null}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(DatePicker));\n"
|
12
12
|
]
|
13
13
|
}
|