!1 Merge back to master

Merge pull request !1 from dev branch
This commit is contained in:
hekk 2018-05-27 21:32:55 +08:00
parent 30c963a5f0
commit 61a1c93f0f
89 changed files with 15859 additions and 2 deletions

View file

@ -0,0 +1,177 @@
const IconFile = require("react-icons/lib/fa/file-o");
const IconImg = require("react-icons/lib/md/image");
const IconZip = require("react-icons/lib/md/archive");
const IconVideo = require("react-icons/lib/md/ondemand-video");
const IconAudio = require("react-icons/lib/md/music-video");
const IconText = require("react-icons/lib/md/description");
const IconExcel = require("react-icons/lib/fa/file-excel-o");
const IconPPT = require("react-icons/lib/fa/file-powerpoint-o");
const IconPdf = require("react-icons/lib/md/picture-as-pdf");
const IconWord = require("react-icons/lib/fa/file-word-o");
const IconCode = require("react-icons/lib/md/code");
const IconApk = require("react-icons/lib/md/android");
const IconExe = require("react-icons/lib/fa/cog");
const IconBars = require("react-icons/lib/fa/bars");
const IconSpinner = require("react-icons/lib/md/autorenew");
const IconCirUp = require("react-icons/lib/fa/arrow-circle-up");
const IconSignIn = require("react-icons/lib/fa/sign-in");
const IconSignOut = require("react-icons/lib/fa/sign-out");
const IconAngUp = require("react-icons/lib/fa/angle-up");
const IconAngRight = require("react-icons/lib/fa/angle-right");
const IconAngDown = require("react-icons/lib/fa/angle-down");
const IconAngLeft = require("react-icons/lib/fa/angle-left");
const IconTimesCir = require("react-icons/lib/md/cancel");
const IconPlusSqu = require("react-icons/lib/md/add-box");
const IconPlusCir = require("react-icons/lib/fa/plus-circle");
const IconPlus = require("react-icons/lib/md/add");
const IconSearch = require("react-icons/lib/fa/search");
const IconThList = require("react-icons/lib/fa/th-list");
const IconCalendar = require("react-icons/lib/fa/calendar-o");
const IconCheckCir = require("react-icons/lib/fa/check-circle");
const IconExTri = require("react-icons/lib/fa/exclamation-triangle");
const IconInfoCir = require("react-icons/lib/fa/info-circle");
const IconRefresh = require("react-icons/lib/fa/refresh");
const fileTypeIconMap = {
// text
txt: { icon: IconText, color: "#333" },
rtf: { icon: IconText, color: "#333" },
htm: { icon: IconText, color: "#333" },
html: { icon: IconText, color: "#333" },
xml: { icon: IconText, color: "#333" },
yml: { icon: IconText, color: "#333" },
json: { icon: IconText, color: "#333" },
toml: { icon: IconText, color: "#333" },
md: { icon: IconText, color: "#333" },
// office
ppt: { icon: IconPPT, color: "#e67e22" },
pptx: { icon: IconPPT, color: "#e67e22" },
xls: { icon: IconExcel, color: "#16a085" },
xlsx: { icon: IconExcel, color: "#16a085" },
xlsm: { icon: IconExcel, color: "#16a085" },
doc: { icon: IconWord, color: "#2980b9" },
docx: { icon: IconWord, color: "#2980b9" },
docx: { icon: IconWord, color: "#2980b9" },
pdf: { icon: IconPdf, color: "#c0392b" },
// code
c: { icon: IconCode, color: "#666" },
cpp: { icon: IconCode, color: "#666" },
java: { icon: IconCode, color: "#666" },
js: { icon: IconCode, color: "#666" },
py: { icon: IconCode, color: "#666" },
pyc: { icon: IconCode, color: "#666" },
rb: { icon: IconCode, color: "#666" },
php: { icon: IconCode, color: "#666" },
go: { icon: IconCode, color: "#666" },
sh: { icon: IconCode, color: "#666" },
vb: { icon: IconCode, color: "#666" },
sql: { icon: IconCode, color: "#666" },
r: { icon: IconCode, color: "#666" },
swift: { icon: IconCode, color: "#666" },
oc: { icon: IconCode, color: "#666" },
// misc
apk: { icon: IconApk, color: "#2ecc71" },
exe: { icon: IconExe, color: "#333" },
deb: { icon: IconExe, color: "#333" },
rpm: { icon: IconExe, color: "#333" },
// img
bmp: { icon: IconImg, color: "#1abc9c" },
gif: { icon: IconImg, color: "#1abc9c" },
jpg: { icon: IconImg, color: "#1abc9c" },
jpeg: { icon: IconImg, color: "#1abc9c" },
tiff: { icon: IconImg, color: "#1abc9c" },
psd: { icon: IconImg, color: "#1abc9c" },
png: { icon: IconImg, color: "#1abc9c" },
svg: { icon: IconImg, color: "#1abc9c" },
pcx: { icon: IconImg, color: "#1abc9c" },
dxf: { icon: IconImg, color: "#1abc9c" },
wmf: { icon: IconImg, color: "#1abc9c" },
emf: { icon: IconImg, color: "#1abc9c" },
eps: { icon: IconImg, color: "#1abc9c" },
tga: { icon: IconImg, color: "#1abc9c" },
// compress
gz: { icon: IconZip, color: "#34495e" },
zip: { icon: IconZip, color: "#34495e" },
"7z": { icon: IconZip, color: "#34495e" },
rar: { icon: IconZip, color: "#34495e" },
tar: { icon: IconZip, color: "#34495e" },
gzip: { icon: IconZip, color: "#34495e" },
cab: { icon: IconZip, color: "#34495e" },
uue: { icon: IconZip, color: "#34495e" },
arj: { icon: IconZip, color: "#34495e" },
bz2: { icon: IconZip, color: "#34495e" },
lzh: { icon: IconZip, color: "#34495e" },
jar: { icon: IconZip, color: "#34495e" },
ace: { icon: IconZip, color: "#34495e" },
iso: { icon: IconZip, color: "#34495e" },
z: { icon: IconZip, color: "#34495e" },
// video
asf: { icon: IconVideo, color: "#f39c12" },
avi: { icon: IconVideo, color: "#f39c12" },
flv: { icon: IconVideo, color: "#f39c12" },
mkv: { icon: IconVideo, color: "#f39c12" },
mov: { icon: IconVideo, color: "#f39c12" },
mp4: { icon: IconVideo, color: "#f39c12" },
mpeg: { icon: IconVideo, color: "#f39c12" },
mpg: { icon: IconVideo, color: "#f39c12" },
ram: { icon: IconVideo, color: "#f39c12" },
rmvb: { icon: IconVideo, color: "#f39c12" },
qt: { icon: IconVideo, color: "#f39c12" },
wmv: { icon: IconVideo, color: "#f39c12" },
// audio
cda: { icon: IconAudio, color: "#d35400" },
cmf: { icon: IconAudio, color: "#d35400" },
mid: { icon: IconAudio, color: "#d35400" },
mp1: { icon: IconAudio, color: "#d35400" },
mp2: { icon: IconAudio, color: "#d35400" },
mp3: { icon: IconAudio, color: "#d35400" },
rm: { icon: IconAudio, color: "#d35400" },
rmi: { icon: IconAudio, color: "#d35400" },
vqf: { icon: IconAudio, color: "#d35400" },
wav: { icon: IconAudio, color: "#d35400" }
};
const fileIconMap = {
...fileTypeIconMap,
// other
spinner: { icon: IconSpinner, color: "#1abc9c" },
cirup: { icon: IconCirUp, color: "#fff" },
signin: { icon: IconSignIn, color: "#fff" },
signout: { icon: IconSignOut, color: "#fff" },
angup: { icon: IconAngUp, color: "#2c3e50" },
angright: { icon: IconAngRight, color: "#2c3e50" },
angdown: { icon: IconAngDown, color: "#2c3e50" },
angleft: { icon: IconAngLeft, color: "#2c3e50" },
timescir: { icon: IconTimesCir, color: "#c0392b" },
plussqu: { icon: IconPlusSqu, color: "#2ecc71" },
pluscir: { icon: IconPlusCir, color: "#2ecc71" },
plus: { icon: IconPlus, color: "#2ecc71" },
search: { icon: IconSearch, color: "#ccc" },
checkcir: { icon: IconCheckCir, color: "#27ae60" },
extri: { icon: IconExTri, color: "#f39c12" },
infocir: { icon: IconInfoCir, color: "#2c3e50" },
refresh: { icon: IconRefresh, color: "#8e44ad" },
thlist: { icon: IconThList, color: "#fff" },
bars: { icon: IconBars, color: "#666" },
calendar: { icon: IconCalendar, color: "#333" }
};
export const getIcon = extend => {
if (fileIconMap[extend.toUpperCase()]) {
return fileIconMap[extend.toUpperCase()].icon;
} else if (fileIconMap[extend.toLowerCase()]) {
return fileIconMap[extend.toLowerCase()].icon;
}
return IconFile;
};
export const getIconColor = extend => {
if (fileIconMap[extend.toUpperCase()]) {
return fileIconMap[extend.toUpperCase()].color;
} else if (fileIconMap[extend.toLowerCase()]) {
return fileIconMap[extend.toLowerCase()].color;
}
return "#333";
};