Skip to content

Commit fff932f

Browse files
linking
1 parent 837a6c9 commit fff932f

File tree

7 files changed

+160
-20
lines changed

7 files changed

+160
-20
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.DS_Store

code.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" />
2+
<link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" />

filesaver.js

100644100755
File mode changed.

index.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,15 +172,14 @@ <h2 class="center">Remove Hidden Files from Zip Folders</h2>
172172
(function(d, h, m){
173173
var js, fjs = d.getElementsByTagName(h)[0];
174174
if (d.getElementById(m)){return;}
175-
js = d.createElement(h); js.id = m;
175+
js = d.createElement(h); js.id = m; js.src = 'https://makerwidget.com/js/embed.js';
176176
js.onload = function(){
177177
window.makerWidgetComInit({
178-
position: "left",
179-
widget: "hiayuviklmksxba0-z54bbicafujhwlc3-s0h9k5yamvczlbbf"
178+
position: 'left',
179+
widget: 'hiayuviklmksxba0-z54bbicafujhwlc3-s0h9k5yamvczlbbf'
180180
})};
181-
js.src = "https://makerwidget.com/js/embed.js";
182181
if (navigator.onLine) {
183182
fjs.parentNode.insertBefore(js, fjs)
184183
}
185-
}(document, "script", "dhm"))
184+
}(document, 'script', 'dhm'))
186185
</script>

jszip.js

100644100755
Lines changed: 15 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

main.js

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
//this was the hard way:
2+
//I was trying to make it so you could drag in a bunch of files and it would keep the directory
3+
//structure but not zip any __MACOSX files, but it just turned out too complicated, so I ended
4+
//up making alt.js which takes an already created zip and just removes the __MACOSX files from
5+
//there.
6+
7+
document.querySelector('#fileElem').addEventListener('change', function() {
8+
handleFiles(this.files);
9+
}, false);
10+
11+
function handleFiles(items) {
12+
//var fileblob = param[0];
13+
//console.log(fileblob.name);
14+
15+
//var objectURL = window.URL.createObjectURL(fileblob);
16+
17+
//var ext = fileblob.name.split('.').pop();
18+
//if (ext == 'zip') { unzipit(objectURL); }
19+
//else if ( ext == 'swf' ) { swfit(objectURL); }
20+
//else { console.log(ext); }
21+
var zip = new JSZip();
22+
23+
var proms = [];
24+
proms.push(new Promise(function(resolve, reject) {setTimeout(resolve, 200, 'hello');}));
25+
26+
//for (var file of files) {
27+
/*for (var i = 0; i < items.length; i++) {
28+
var item = items[i];
29+
var file = files[i];
30+
31+
var filef = item.webkitGetAsEntry();
32+
console.log(filef);
33+
console.log(file);
34+
var nam = filef.fullPath.split('/')[1];
35+
36+
console.log(filef.name);
37+
if (filef.isDirectory) {
38+
console.log('dir');
39+
} else {
40+
//console.log(nam)[1];
41+
zip.file(nam, file)
42+
}
43+
}*/
44+
45+
gofile(items);
46+
47+
function gofile(itemlist) {
48+
for (var i = 0; i < itemlist; i ++) {
49+
//var file = filelist[i];
50+
var item = itemlist[i];
51+
52+
var filef = item.webkitGetAsEntry();
53+
console.log(filef);
54+
//console.log(file);
55+
56+
57+
if (filef.isDirectory) {
58+
var dirReader = entry.createReader();
59+
proms.push(
60+
new Promise(function(resolve,reject){
61+
dirReader.readEntries(function(results) {
62+
gofile(itemlist);
63+
});
64+
resolve();
65+
})
66+
);
67+
} else {
68+
proms.push(
69+
new Promise(function(resolve,reject){
70+
var nam = filef.fullPath.split('/')[1];
71+
console.log(nam);
72+
item.file(function(blob){
73+
zip.file(nam, blob);
74+
});
75+
})
76+
);
77+
}
78+
}
79+
}
80+
81+
82+
Promise.all(proms).then(function(values) {
83+
zip.generateAsync({type:"base64"}).then(function (base64) {
84+
location.href="data:application/zip;base64," + base64;
85+
});
86+
});
87+
88+
89+
90+
91+
//https://stackoverflow.com/questions/13555785/remove-all-child-from-node-with-the-same-class-pure-js/13555954#13555954
92+
var elements = document.getElementsByClassName('deleteme');
93+
while (elements[0]) {
94+
elements[0].parentNode.removeChild(elements[0]);
95+
}
96+
}
97+
98+
var dropbox;
99+
100+
dropbox = document.body;
101+
dropbox.addEventListener("dragenter", dragenter, false);
102+
dropbox.addEventListener("dragover", dragover, false);
103+
dropbox.addEventListener("drop", drop, false);
104+
dropbox.addEventListener("dragleave", dragleave, false);
105+
106+
function dragenter(e) {
107+
e.stopPropagation();
108+
e.preventDefault();
109+
}
110+
111+
function dragover(e) {
112+
e.stopPropagation();
113+
e.preventDefault();
114+
dropbox.classList.add('animated');
115+
}
116+
117+
function dragleave(e) {
118+
e.stopPropagation();
119+
e.preventDefault();
120+
dropbox.classList.remove('animated');
121+
}
122+
123+
function drop(e) {
124+
e.stopPropagation();
125+
e.preventDefault();
126+
127+
var dt = e.dataTransfer;
128+
var files = dt.files;
129+
var items = dt.items;
130+
131+
var l = [];
132+
for (var file of items) {
133+
var filef = file.webkitGetAsEntry();
134+
l.push(filef);
135+
}
136+
//handleFiles(l);
137+
handleFiles(items);
138+
}

zip.png

1.76 KB
Loading

0 commit comments

Comments
 (0)