UNPKG

20.9 kBSource Map (JSON)View Raw
1{"version":3,"sources":["upload/Upload.js"],"names":["React","Component","classNames","uniqBy","LocaleReceiver","defaultLocale","UploadList","fileToObject","genPercentAdd","getFileItem","removeFileItem","T","RcUpload","getPrefixCls","Upload","props","onStart","file","fileList","state","nextFileList","targetItem","status","push","onChange","window","FormData","autoUpdateProgress","onSuccess","response","clearProgressTimer","JSON","parse","e","onProgress","percent","event","onError","error","handleManualRemove","upload","abort","handleRemove","onDragEnd","uploadFiles","result","setState","info","onFileDrop","dragState","type","beforeUpload","concat","item","uid","then","saveUpload","node","renderUploadList","uploadLocale","showUploadList","listType","onPreview","locale","previewFile","dragUploadList","showRemoveIcon","showPreviewIcon","createElement","items","onRemove","defaultFileList","_","getPercent","curPercent","progressTimer","setInterval","Promise","resolve","ret","removedFileList","nextProps","clearInterval","customizePrefixCls","prefixCls","className","disabled","children","rcUploadProps","uploadList","componentName","dragCls","some","onDrop","onDragOver","onDragLeave","ref","uploadButtonCls","uploadButton","style","display","displayName","defaultProps","multiple","action","data","accept","supportServerRender"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,MAAP,MAAmB,eAAnB;AACA,OAAOC,cAAP,MAA2B,mCAA3B;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,SAASC,YAAT,EAAuBC,aAAvB,EAAsCC,WAAtC,EAAmDC,cAAnD,EAAmEC,CAAnE,QAA4E,SAA5E;AACA,OAAOC,QAAP,MAAqB,yBAArB;AACA,SAASC,YAAT,QAA6B,cAA7B;;IACqBC,M;;;;;;;AACjB,kBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACf,8BAAMA,KAAN;;AACA,UAAKC,OAAL,GAAe,UAACC,IAAD,EAAU;AAAA,UACbC,QADa,GACA,MAAKC,KADL,CACbD,QADa;;AAErB,UAAME,YAAY,sBAAOF,QAAP,CAAlB;;AACA,UAAMG,UAAU,GAAGd,YAAY,CAACU,IAAD,CAA/B;AACAI,MAAAA,UAAU,CAACC,MAAX,GAAoB,WAApB;AACAF,MAAAA,YAAY,CAACG,IAAb,CAAkBF,UAAlB;;AACA,YAAKG,QAAL,CAAc;AACVP,QAAAA,IAAI,EAAEI,UADI;AAEVH,QAAAA,QAAQ,EAAEE;AAFA,OAAd,EANqB,CAUrB;;;AACA,UAAI,CAACK,MAAM,CAACC,QAAZ,EAAsB;AAClB,cAAKC,kBAAL,CAAwB,CAAxB,EAA2BN,UAA3B;AACH;;AAboB,UAcbL,OAda,GAcD,MAAKD,KAdJ,CAcbC,OAda;;AAerB,UAAIA,OAAJ,EAAa;AACTA,QAAAA,OAAO,CAACC,IAAD,CAAP;AACH;AACJ,KAlBD;;AAmBA,UAAKW,SAAL,GAAiB,UAACC,QAAD,EAAWZ,IAAX,EAAoB;AACjC,YAAKa,kBAAL;;AACA,UAAI;AACA,YAAI,OAAOD,QAAP,KAAoB,QAAxB,EAAkC;AAC9BA,UAAAA,QAAQ,GAAGE,IAAI,CAACC,KAAL,CAAWH,QAAX,CAAX;AACH;AACJ,OAJD,CAKA,OAAOI,CAAP,EAAU;AACN;AACH;;AATgC,UAUzBf,QAVyB,GAUZ,MAAKC,KAVO,CAUzBD,QAVyB;AAWjC,UAAMG,UAAU,GAAGZ,WAAW,CAACQ,IAAD,EAAOC,QAAP,CAA9B,CAXiC,CAYjC;;AACA,UAAIG,UAAJ,EAAgB;AACZA,QAAAA,UAAU,CAACC,MAAX,GAAoB,MAApB;AACAD,QAAAA,UAAU,CAACQ,QAAX,GAAsBA,QAAtB;;AACA,cAAKL,QAAL,CAAc;AACVP,UAAAA,IAAI,oBAAOI,UAAP,CADM;AAEVH,UAAAA,QAAQ,EAARA;AAFU,SAAd;AAIH;;AApBgC,UAqBzBU,SArByB,GAqBX,MAAKb,KArBM,CAqBzBa,SArByB;;AAsBjC,UAAIA,SAAJ,EAAe;AACXA,QAAAA,SAAS,CAACC,QAAD,EAAWZ,IAAX,CAAT;AACH;AACJ,KAzBD;;AA0BA,UAAKiB,UAAL,GAAkB,UAACD,CAAD,EAAIhB,IAAJ,EAAa;AAAA,UACnBC,QADmB,GACN,MAAKC,KADC,CACnBD,QADmB;AAE3B,UAAMG,UAAU,GAAGZ,WAAW,CAACQ,IAAD,EAAOC,QAAP,CAA9B,CAF2B,CAG3B;;AACA,UAAIG,UAAJ,EAAgB;AACZA,QAAAA,UAAU,CAACc,OAAX,GAAqBF,CAAC,CAACE,OAAvB;;AACA,cAAKX,QAAL,CAAc;AACVY,UAAAA,KAAK,EAAEH,CADG;AAEVhB,UAAAA,IAAI,oBAAOI,UAAP,CAFM;AAGVH,UAAAA,QAAQ,EAARA;AAHU,SAAd;AAKH;;AAX0B,UAYnBgB,UAZmB,GAYJ,MAAKnB,KAZD,CAYnBmB,UAZmB;;AAa3B,UAAIA,UAAJ,EAAgB;AACZA,QAAAA,UAAU,CAACD,CAAD,EAAIhB,IAAJ,CAAV;AACH;AACJ,KAhBD;;AAiBA,UAAKoB,OAAL,GAAe,UAACC,KAAD,EAAQT,QAAR,EAAkBZ,IAAlB,EAA2B;AACtC,YAAKa,kBAAL;;AADsC,UAE9BZ,QAF8B,GAEjB,MAAKC,KAFY,CAE9BD,QAF8B;AAGtC,UAAMG,UAAU,GAAGZ,WAAW,CAACQ,IAAD,EAAOC,QAAP,CAA9B,CAHsC,CAItC;;AACA,UAAI,CAACG,UAAL,EAAiB;AACb;AACH;;AACDA,MAAAA,UAAU,CAACiB,KAAX,GAAmBA,KAAnB;AACAjB,MAAAA,UAAU,CAACQ,QAAX,GAAsBA,QAAtB;AACAR,MAAAA,UAAU,CAACC,MAAX,GAAoB,OAApB;;AACA,YAAKE,QAAL,CAAc;AACVP,QAAAA,IAAI,oBAAOI,UAAP,CADM;AAEVH,QAAAA,QAAQ,EAARA;AAFU,OAAd;;AAXsC,UAe9BmB,OAf8B,GAelB,MAAKtB,KAfa,CAe9BsB,OAf8B;;AAgBtC,UAAIA,OAAJ,EAAa;AACTA,QAAAA,OAAO,CAACC,KAAD,EAAQT,QAAR,EAAkBZ,IAAlB,CAAP;AACH;AACJ,KAnBD;;AAoBA,UAAKsB,kBAAL,GAA0B,UAACtB,IAAD,EAAU;AAChC,YAAKuB,MAAL,CAAYC,KAAZ,CAAkBxB,IAAlB;;AACAA,MAAAA,IAAI,CAACK,MAAL,GAAc,SAAd,CAFgC,CAEP;;AACzB,YAAKoB,YAAL,CAAkBzB,IAAlB;AACH,KAJD;AAKA;;;;;;AAIA,UAAK0B,SAAL,GAAiB,UAACC,WAAD,EAAiB;AAAA,UACtBD,SADsB,GACR,MAAK5B,KADG,CACtB4B,SADsB;;AAE9B,UAAIA,SAAJ,EAAe;AACX,YAAME,MAAM,GAAGF,SAAS,CAACC,WAAD,CAAxB;;AACA,YAAIC,MAAM,KAAK,KAAf,EAAsB;AAClB,gBAAKC,QAAL,CAAc;AACV5B,YAAAA,QAAQ,EAAE0B;AADA,WAAd;AAGH,SAJD,MAKK;AACD,iBAAO,KAAP;AACH;AACJ;;AACD,YAAKE,QAAL,CAAc;AACV5B,QAAAA,QAAQ,EAAE0B;AADA,OAAd;AAGH,KAhBD;;AAiBA,UAAKpB,QAAL,GAAgB,UAACuB,IAAD,EAAU;AACtB,UAAI,EAAE,cAAc,MAAKhC,KAArB,CAAJ,EAAiC;AAC7B,cAAK+B,QAAL,CAAc;AAAE5B,UAAAA,QAAQ,EAAE6B,IAAI,CAAC7B;AAAjB,SAAd;AACH;;AAHqB,UAIdM,QAJc,GAID,MAAKT,KAJJ,CAIdS,QAJc;;AAKtB,UAAIA,QAAJ,EAAc;AACVA,QAAAA,QAAQ,CAACuB,IAAD,CAAR;AACH;AACJ,KARD;;AASA,UAAKC,UAAL,GAAkB,UAACf,CAAD,EAAO;AACrB,YAAKa,QAAL,CAAc;AACVG,QAAAA,SAAS,EAAEhB,CAAC,CAACiB;AADH,OAAd;AAGH,KAJD;;AAKA,UAAKC,YAAL,GAAoB,UAAClC,IAAD,EAAO2B,WAAP,EAAuB;AAAA,UAC/BO,YAD+B,GACd,MAAKpC,KADS,CAC/BoC,YAD+B;;AAEvC,UAAIA,YAAJ,EAAkB;AACd,YAAMN,MAAM,GAAGM,YAAY,CAAClC,IAAD,EAAO2B,WAAP,CAA3B;;AACA,YAAIC,MAAM,KAAK,KAAf,EAAsB;AAAA,cACV3B,QADU,GACG,MAAKC,KADR,CACVD,QADU;;AAElB,gBAAKM,QAAL,CAAc;AACVP,YAAAA,IAAI,EAAJA,IADU;AAEVC,YAAAA,QAAQ,EAAEf,MAAM,CAACyC,WAAW,CAACQ,MAAZ,CAAmBlC,QAAnB,CAAD,EAA+B,UAACmC,IAAD;AAAA,qBAAUA,IAAI,CAACC,GAAf;AAAA,aAA/B;AAFN,WAAd;;AAIA,iBAAO,KAAP;AACH;;AACD,YAAIT,MAAM,IAAIA,MAAM,CAACU,IAArB,EAA2B;AACvB,iBAAOV,MAAP;AACH;AACJ;;AACD,aAAO,IAAP;AACH,KAjBD;;AAkBA,UAAKW,UAAL,GAAkB,UAACC,IAAD,EAAU;AACxB,YAAKjB,MAAL,GAAciB,IAAd;AACH,KAFD;;AAGA,UAAKC,gBAAL,GAAwB,UAACC,YAAD,EAAkB;AAAA,wBAC+C,MAAK5C,KADpD;AAAA,UAC9B6C,cAD8B,eAC9BA,cAD8B;AAAA,UACdC,QADc,eACdA,QADc;AAAA,UACJC,SADI,eACJA,SADI;AAAA,UACOC,MADP,eACOA,MADP;AAAA,UACeC,WADf,eACeA,WADf;AAAA,UAC4BC,cAD5B,eAC4BA,cAD5B;AAAA,UAE9B/C,QAF8B,GAEjB,MAAKC,KAFY,CAE9BD,QAF8B;AAAA,UAG9BgD,cAH8B,GAGMN,cAHN,CAG9BM,cAH8B;AAAA,UAGdC,eAHc,GAGMP,cAHN,CAGdO,eAHc;AAItC,aAAQnE,KAAK,CAACoE,aAAN,CAAoB9D,UAApB,EAAgC;AAAEuD,QAAAA,QAAQ,EAAEA,QAAZ;AAAsBQ,QAAAA,KAAK,EAAEnD,QAA7B;AAAuC4C,QAAAA,SAAS,EAAEA,SAAlD;AAA6DG,QAAAA,cAAc,EAAEA,cAA7E;AAA6FtB,QAAAA,SAAS,EAAE,MAAKA,SAA7G;AAAwHqB,QAAAA,WAAW,EAAEA,WAArI;AAAkJM,QAAAA,QAAQ,EAAE,MAAK/B,kBAAjK;AAAqL2B,QAAAA,cAAc,EAAEA,cAArM;AAAqNC,QAAAA,eAAe,EAAEA,eAAtO;AAAuPJ,QAAAA,MAAM,oBAAOJ,YAAP,MAAwBI,MAAxB;AAA7P,OAAhC,CAAR;AACH,KALD;;AAMA,UAAK5C,KAAL,GAAa;AACTD,MAAAA,QAAQ,EAAEH,KAAK,CAACG,QAAN,IAAkBH,KAAK,CAACwD,eAAxB,IAA2C,EAD5C;AAETtB,MAAAA,SAAS,EAAE;AAFF,KAAb;AAvJe;AA2JlB;;;;2CACsB;AACnB,WAAKnB,kBAAL;AACH;;;uCACkB0C,C,EAAGvD,I,EAAM;AAAA;;AACxB,UAAMwD,UAAU,GAAGjE,aAAa,EAAhC;AACA,UAAIkE,UAAU,GAAG,CAAjB;AACA,WAAK5C,kBAAL;AACA,WAAK6C,aAAL,GAAqBC,WAAW,CAAC,YAAM;AACnCF,QAAAA,UAAU,GAAGD,UAAU,CAACC,UAAD,CAAvB;;AACA,QAAA,MAAI,CAACxC,UAAL,CAAgB;AACZC,UAAAA,OAAO,EAAEuC;AADG,SAAhB,EAEGzD,IAFH;AAGH,OAL+B,EAK7B,GAL6B,CAAhC;AAMH;;;iCACYA,I,EAAM;AAAA;;AAAA,UACPqD,QADO,GACM,KAAKvD,KADX,CACPuD,QADO;AAEfO,MAAAA,OAAO,CAACC,OAAR,CAAgB,OAAOR,QAAP,KAAoB,UAApB,GAAiCA,QAAQ,CAACrD,IAAD,CAAzC,GAAkDqD,QAAlE,EAA4Ef,IAA5E,CAAiF,UAAAwB,GAAG,EAAI;AACpF;AACA,YAAIA,GAAG,KAAK,KAAZ,EAAmB;AACf;AACH;;AAJmF,YAK5E7D,QAL4E,GAK/D,MAAI,CAACC,KAL0D,CAK5ED,QAL4E;AAMpF,YAAM8D,eAAe,GAAGtE,cAAc,CAACO,IAAD,EAAOC,QAAP,CAAtC;;AACA,YAAI8D,eAAJ,EAAqB;AACjB,UAAA,MAAI,CAACxD,QAAL,CAAc;AACVP,YAAAA,IAAI,EAAJA,IADU;AAEVC,YAAAA,QAAQ,EAAE8D;AAFA,WAAd;AAIH;AACJ,OAbD;AAcH;;;8CACyBC,S,EAAW;AACjC,UAAI,cAAcA,SAAlB,EAA6B;AACzB,aAAKnC,QAAL,CAAc;AACV5B,UAAAA,QAAQ,EAAE+D,SAAS,CAAC/D,QAAV,IAAsB;AADtB,SAAd;AAGH;AACJ;;;yCACoB;AACjBgE,MAAAA,aAAa,CAAC,KAAKP,aAAN,CAAb;AACH;;;6BACQ;AAAA;;AAAA,yBACqH,KAAK5D,KAD1H;AAAA,UACcoE,kBADd,gBACGC,SADH;AAAA,UACkCC,SADlC,gBACkCA,SADlC;AAAA,UAC6CzB,cAD7C,gBAC6CA,cAD7C;AAAA,UAC6DC,QAD7D,gBAC6DA,QAD7D;AAAA,UACuEX,IADvE,gBACuEA,IADvE;AAAA,UAC6EoC,QAD7E,gBAC6EA,QAD7E;AAAA,UACuFC,QADvF,gBACuFA,QADvF;AAAA,UACiGtB,cADjG,gBACiGA,cADjG;AAAA,wBAE2B,KAAK9C,KAFhC;AAAA,UAEGD,QAFH,eAEGA,QAFH;AAAA,UAEa+B,SAFb,eAEaA,SAFb;AAGL,UAAMmC,SAAS,GAAGvE,YAAY,CAAC,QAAD,EAAWsE,kBAAX,CAA9B;;AACA,UAAMK,aAAa,qBACZ,KAAKzE,KADO;AAEfC,QAAAA,OAAO,EAAE,KAAKA,OAFC;AAGfqB,QAAAA,OAAO,EAAE,KAAKA,OAHC;AAIfH,QAAAA,UAAU,EAAE,KAAKA,UAJF;AAKfN,QAAAA,SAAS,EAAE,KAAKA,SALD;AAMfuB,QAAAA,YAAY,EAAE,KAAKA,YANJ;AAOfiC,QAAAA,SAAS,EAATA;AAPe,QAAnB;;AASA,aAAOI,aAAa,CAACH,SAArB;AACA,UAAMI,UAAU,GAAG7B,cAAc,GAAI5D,KAAK,CAACoE,aAAN,CAAoBhE,cAApB,EAAoC;AAAEsF,QAAAA,aAAa,EAAE,QAAjB;AAA2BrF,QAAAA,aAAa,EAAEA,aAAa,CAACS;AAAxD,OAApC,EAAsG,KAAK4C,gBAA3G,CAAJ,GAAoI,IAArK;;AACA,UAAIR,IAAI,KAAK,MAAb,EAAqB;AAAA;;AACjB,YAAMyC,OAAO,GAAGzF,UAAU,CAACkF,SAAD,4DAClBA,SADkB,YACC,IADD,0CAElBA,SAFkB,sBAEWlE,QAAQ,CAAC0E,IAAT,CAAc,UAAA3E,IAAI;AAAA,iBAAIA,IAAI,CAACK,MAAL,KAAgB,WAApB;AAAA,SAAlB,CAFX,0CAGlB8D,SAHkB,kBAGOnC,SAAS,KAAK,UAHrB,0CAIlBmC,SAJkB,gBAIKE,QAJL,gBAA1B;AAMA,eAAQtF,KAAK,CAACoE,aAAN,CAAoB,MAApB,EAA4B;AAAEiB,UAAAA,SAAS,EAAEA;AAAb,SAA5B,EACJrF,KAAK,CAACoE,aAAN,CAAoB,KAApB,EAA2B;AAAEiB,UAAAA,SAAS,EAAEM,OAAb;AAAsBE,UAAAA,MAAM,EAAE,KAAK7C,UAAnC;AAA+C8C,UAAAA,UAAU,EAAE,KAAK9C,UAAhE;AAA4E+C,UAAAA,WAAW,EAAE,KAAK/C;AAA9F,SAA3B,EACIhD,KAAK,CAACoE,aAAN,CAAoBxD,QAApB,EAA8B,SAAc,EAAd,EAAkB4E,aAAlB,EAAiC;AAAEQ,UAAAA,GAAG,EAAE,KAAKxC,UAAZ;AAAwB6B,UAAAA,SAAS,YAAKD,SAAL;AAAjC,SAAjC,CAA9B,EACIpF,KAAK,CAACoE,aAAN,CAAoB,KAApB,EAA2B;AAAEiB,UAAAA,SAAS,YAAKD,SAAL;AAAX,SAA3B,EAAyEG,QAAzE,CADJ,CADJ,CADI,EAIJE,UAJI,CAAR;AAKH;;AACD,UAAMQ,eAAe,GAAG/F,UAAU,CAACkF,SAAD,8DAC1BA,SAD0B,cACL,IADK,2CAE1BA,SAF0B,qBAENvB,QAFM,GAEO,IAFP,2CAG1BuB,SAH0B,gBAGHE,QAHG,2CAI1BF,SAJ0B,gBAIHnB,cAJG,iBAAlC;AAMA,UAAMiC,YAAY,GAAIlG,KAAK,CAACoE,aAAN,CAAoB,KAApB,EAA2B;AAAEiB,QAAAA,SAAS,EAAEY,eAAb;AAA8BE,QAAAA,KAAK,EAAE;AAAEC,UAAAA,OAAO,EAAEb,QAAQ,GAAG,EAAH,GAAQ;AAA3B;AAArC,OAA3B,EAClBvF,KAAK,CAACoE,aAAN,CAAoBxD,QAApB,EAA8B,SAAc,EAAd,EAAkB4E,aAAlB,EAAiC;AAAEQ,QAAAA,GAAG,EAAE,KAAKxC;AAAZ,OAAjC,CAA9B,CADkB,CAAtB;;AAEA,UAAIK,QAAQ,KAAK,cAAjB,EAAiC;AAC7B,eAAQ7D,KAAK,CAACoE,aAAN,CAAoB,MAApB,EAA4B;AAAEiB,UAAAA,SAAS,EAAEA;AAAb,SAA5B,EACJI,UADI,EAEJS,YAFI,CAAR;AAGH;;AACD,aAAQlG,KAAK,CAACoE,aAAN,CAAoB,MAApB,EAA4B;AAAEiB,QAAAA,SAAS,EAAEA;AAAb,OAA5B,EACJa,YADI,EAEJT,UAFI,CAAR;AAGH;;;;EAlP+BxF,S;;SAAfa,M;AAoPrBA,MAAM,CAACuF,WAAP,GAAqB,QAArB;AACAvF,MAAM,CAACwF,YAAP,GAAsB;AAClBpD,EAAAA,IAAI,EAAE,QADY;AAElBqD,EAAAA,QAAQ,EAAE,KAFQ;AAGlBC,EAAAA,MAAM,EAAE,EAHU;AAIlBC,EAAAA,IAAI,EAAE,EAJY;AAKlBC,EAAAA,MAAM,EAAE,EALU;AAMlBvD,EAAAA,YAAY,EAAExC,CANI;AAOlBiD,EAAAA,cAAc,EAAE,IAPE;AAQlBC,EAAAA,QAAQ,EAAE,MARQ;AASlBwB,EAAAA,SAAS,EAAE,EATO;AAUlBC,EAAAA,QAAQ,EAAE,KAVQ;AAWlBqB,EAAAA,mBAAmB,EAAE;AAXH,CAAtB","sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport uniqBy from 'lodash/uniqBy';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport UploadList from './UploadList';\nimport { fileToObject, genPercentAdd, getFileItem, removeFileItem, T } from './utils';\nimport RcUpload from '../rc-components/upload';\nimport { getPrefixCls } from '../configure';\nexport default class Upload extends Component {\n constructor(props) {\n super(props);\n this.onStart = (file) => {\n const { fileList } = this.state;\n const nextFileList = [...fileList];\n const targetItem = fileToObject(file);\n targetItem.status = 'uploading';\n nextFileList.push(targetItem);\n this.onChange({\n file: targetItem,\n fileList: nextFileList,\n });\n // fix ie progress\n if (!window.FormData) {\n this.autoUpdateProgress(0, targetItem);\n }\n const { onStart } = this.props;\n if (onStart) {\n onStart(file);\n }\n };\n this.onSuccess = (response, file) => {\n this.clearProgressTimer();\n try {\n if (typeof response === 'string') {\n response = JSON.parse(response);\n }\n }\n catch (e) {\n /* do nothing */\n }\n const { fileList } = this.state;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (targetItem) {\n targetItem.status = 'done';\n targetItem.response = response;\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n }\n const { onSuccess } = this.props;\n if (onSuccess) {\n onSuccess(response, file);\n }\n };\n this.onProgress = (e, file) => {\n const { fileList } = this.state;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (targetItem) {\n targetItem.percent = e.percent;\n this.onChange({\n event: e,\n file: { ...targetItem },\n fileList,\n });\n }\n const { onProgress } = this.props;\n if (onProgress) {\n onProgress(e, file);\n }\n };\n this.onError = (error, response, file) => {\n this.clearProgressTimer();\n const { fileList } = this.state;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.error = error;\n targetItem.response = response;\n targetItem.status = 'error';\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n const { onError } = this.props;\n if (onError) {\n onError(error, response, file);\n }\n };\n this.handleManualRemove = (file) => {\n this.upload.abort(file);\n file.status = 'removed'; // eslint-disable-line\n this.handleRemove(file);\n };\n /**\n * 拖拽触发回调\n * @param uploadFiles 拖拽后文件列表\n */\n this.onDragEnd = (uploadFiles) => {\n const { onDragEnd } = this.props;\n if (onDragEnd) {\n const result = onDragEnd(uploadFiles);\n if (result !== false) {\n this.setState({\n fileList: uploadFiles,\n });\n }\n else {\n return false;\n }\n }\n this.setState({\n fileList: uploadFiles,\n });\n };\n this.onChange = (info) => {\n if (!('fileList' in this.props)) {\n this.setState({ fileList: info.fileList });\n }\n const { onChange } = this.props;\n if (onChange) {\n onChange(info);\n }\n };\n this.onFileDrop = (e) => {\n this.setState({\n dragState: e.type,\n });\n };\n this.beforeUpload = (file, uploadFiles) => {\n const { beforeUpload } = this.props;\n if (beforeUpload) {\n const result = beforeUpload(file, uploadFiles);\n if (result === false) {\n const { fileList } = this.state;\n this.onChange({\n file,\n fileList: uniqBy(uploadFiles.concat(fileList), (item) => item.uid),\n });\n return false;\n }\n if (result && result.then) {\n return result;\n }\n }\n return true;\n };\n this.saveUpload = (node) => {\n this.upload = node;\n };\n this.renderUploadList = (uploadLocale) => {\n const { showUploadList, listType, onPreview, locale, previewFile, dragUploadList } = this.props;\n const { fileList } = this.state;\n const { showRemoveIcon, showPreviewIcon } = showUploadList;\n return (React.createElement(UploadList, { listType: listType, items: fileList, onPreview: onPreview, dragUploadList: dragUploadList, onDragEnd: this.onDragEnd, previewFile: previewFile, onRemove: this.handleManualRemove, showRemoveIcon: showRemoveIcon, showPreviewIcon: showPreviewIcon, locale: { ...uploadLocale, ...locale } }));\n };\n this.state = {\n fileList: props.fileList || props.defaultFileList || [],\n dragState: 'drop',\n };\n }\n componentWillUnmount() {\n this.clearProgressTimer();\n }\n autoUpdateProgress(_, file) {\n const getPercent = genPercentAdd();\n let curPercent = 0;\n this.clearProgressTimer();\n this.progressTimer = setInterval(() => {\n curPercent = getPercent(curPercent);\n this.onProgress({\n percent: curPercent,\n }, file);\n }, 200);\n }\n handleRemove(file) {\n const { onRemove } = this.props;\n Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(ret => {\n // Prevent removing file\n if (ret === false) {\n return;\n }\n const { fileList } = this.state;\n const removedFileList = removeFileItem(file, fileList);\n if (removedFileList) {\n this.onChange({\n file,\n fileList: removedFileList,\n });\n }\n });\n }\n componentWillReceiveProps(nextProps) {\n if ('fileList' in nextProps) {\n this.setState({\n fileList: nextProps.fileList || [],\n });\n }\n }\n clearProgressTimer() {\n clearInterval(this.progressTimer);\n }\n render() {\n const { prefixCls: customizePrefixCls, className, showUploadList, listType, type, disabled, children, dragUploadList, } = this.props;\n const { fileList, dragState } = this.state;\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\n const rcUploadProps = {\n ...this.props,\n onStart: this.onStart,\n onError: this.onError,\n onProgress: this.onProgress,\n onSuccess: this.onSuccess,\n beforeUpload: this.beforeUpload,\n prefixCls,\n };\n delete rcUploadProps.className;\n const uploadList = showUploadList ? (React.createElement(LocaleReceiver, { componentName: \"Upload\", defaultLocale: defaultLocale.Upload }, this.renderUploadList)) : null;\n if (type === 'drag') {\n const dragCls = classNames(prefixCls, {\n [`${prefixCls}-drag`]: true,\n [`${prefixCls}-drag-uploading`]: fileList.some(file => file.status === 'uploading'),\n [`${prefixCls}-drag-hover`]: dragState === 'dragover',\n [`${prefixCls}-disabled`]: disabled,\n });\n return (React.createElement(\"span\", { className: className },\n React.createElement(\"div\", { className: dragCls, onDrop: this.onFileDrop, onDragOver: this.onFileDrop, onDragLeave: this.onFileDrop },\n React.createElement(RcUpload, Object.assign({}, rcUploadProps, { ref: this.saveUpload, className: `${prefixCls}-btn` }),\n React.createElement(\"div\", { className: `${prefixCls}-drag-container` }, children))),\n uploadList));\n }\n const uploadButtonCls = classNames(prefixCls, {\n [`${prefixCls}-select`]: true,\n [`${prefixCls}-select-${listType}`]: true,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-drag-btn`]: dragUploadList,\n });\n const uploadButton = (React.createElement(\"div\", { className: uploadButtonCls, style: { display: children ? '' : 'none' } },\n React.createElement(RcUpload, Object.assign({}, rcUploadProps, { ref: this.saveUpload }))));\n if (listType === 'picture-card') {\n return (React.createElement(\"span\", { className: className },\n uploadList,\n uploadButton));\n }\n return (React.createElement(\"span\", { className: className },\n uploadButton,\n uploadList));\n }\n}\nUpload.displayName = 'Upload';\nUpload.defaultProps = {\n type: 'select',\n multiple: false,\n action: '',\n data: {},\n accept: '',\n beforeUpload: T,\n showUploadList: true,\n listType: 'text',\n className: '',\n disabled: false,\n supportServerRender: true,\n};\n"],"file":"Upload.js"}
\No newline at end of file