MCPcopy
hub / github.com/kekingcn/kkFileView / readTextFromFile

Function readTextFromFile

server/src/main/resources/static/js/codemirror.js:1395–1397  ·  view source on GitHub ↗
(file,i)

Source from the content-addressed store, hash-verified

1393e_preventDefault(e);if(ie){lastDrop=+new Date;}
1394var pos=posFromMouse(cm,e,true),files=e.dataTransfer.files;if(!pos||cm.isReadOnly()){return}
1395if(files&&files.length&&window.FileReader&&window.File){var n=files.length,text=Array(n),read=0;var markAsReadAndPasteIfAllFilesAreRead=function(){if(++read==n){operation(cm,function(){pos=clipPos(cm.doc,pos);var change={from:pos,to:pos,text:cm.doc.splitLines(text.filter(function(t){return t!=null;}).join(cm.doc.lineSeparator())),origin:"paste"};makeChange(cm.doc,change);setSelectionReplaceHistory(cm.doc,simpleSelection(clipPos(cm.doc,pos),clipPos(cm.doc,changeEnd(change))));})();}};var readTextFromFile=function(file,i){if(cm.options.allowDropFileTypes&&indexOf(cm.options.allowDropFileTypes,file.type)==-1){markAsReadAndPasteIfAllFilesAreRead();return}
1396var reader=new FileReader;reader.onerror=function(){return markAsReadAndPasteIfAllFilesAreRead();};reader.onload=function(){var content=reader.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(content)){markAsReadAndPasteIfAllFilesAreRead();return}
1397text[i]=content;markAsReadAndPasteIfAllFilesAreRead();};reader.readAsText(file);};for(var i=0;i<files.length;i++){readTextFromFile(files[i],i);}}else{if(cm.state.draggingText&&cm.doc.sel.contains(pos)>-1){cm.state.draggingText(e);setTimeout(function(){return cm.display.input.focus();},20);return}
1398try{var text$1=e.dataTransfer.getData("Text");if(text$1){var selected;if(cm.state.draggingText&&!cm.state.draggingText.copy)
1399{selected=cm.listSelections();}
1400setSelectionNoUndo(cm.doc,simpleSelection(pos,pos));if(selected){for(var i$1=0;i$1<selected.length;++i$1)

Callers 1

onDropFunction · 0.85

Calls 3

testMethod · 0.80
indexOfFunction · 0.70

Tested by

no test coverage detected