Skip to content

Commit 5a1e409

Browse files
authored
Merge pull request #344 from chunqiuyiyu/master
Add function to open file with url parameter and update node modules.
2 parents 99318c6 + e88c409 commit 5a1e409

File tree

3 files changed

+149
-54
lines changed

3 files changed

+149
-54
lines changed

app/backendAPI/websocketClients.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { notify, NOTIFY_TYPE } from '../components/Notification/actions'
99
const log = console.log || (x => x)
1010
const warn = console.warn || (x => x)
1111

12-
const io = require(__RUN_MODE__ ? 'socket.io-client/dist/socket.io.min.js' : 'socket.io-client-legacy/dist/socket.io.min.js')
12+
const io = require(__RUN_MODE__ ? 'socket.io-client/dist/socket.io.min.js' : 'socket.io-client-legacy/dist/socket.io.slim.js')
1313

1414
class FsSocketClient {
1515
constructor () {

app/components/Tab/actions.js

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { extendObservable } from 'mobx'
2+
import qs from 'qs'
23
import mobxStore from 'mobxStore'
34
import { createAction, handleActions, registerAction } from 'utils/actions'
45
import state, { Tab, TabGroup } from './state'
@@ -8,6 +9,29 @@ import dispatchCommand from 'commands/dispatchCommand'
89
export const TAB_CREATE = 'TAB_CREATE'
910
export const TAB_STORE_HYDRATE = 'TAB_STORE_HYDRATE'
1011

12+
const openUrlFile = (files) => {
13+
// open file depends on url
14+
let fileArr = [];
15+
if (files) {
16+
fileArr = files.split(',');
17+
const baseOpen = (i) => {
18+
if (i < fileArr.length) {
19+
let path = fileArr[i]
20+
if (!path.startsWith('/')) {
21+
path = `/${path}`;
22+
}
23+
openFile({
24+
path
25+
}, () => {
26+
i++
27+
baseOpen(i)
28+
});
29+
}
30+
}
31+
baseOpen(0);
32+
}
33+
}
34+
1135
export const hydrate = registerAction(TAB_STORE_HYDRATE, (json) => {
1236
Object.values(json.tabGroups).forEach((tabGroupsValue) => {
1337
createGroup(tabGroupsValue.id)
@@ -21,15 +45,33 @@ export const hydrate = registerAction(TAB_STORE_HYDRATE, (json) => {
2145
const option = { path, editor, others }
2246
return openFile(option)
2347
})
24-
Promise.all(openTabs).then(() => {
25-
Object.values(json.tabGroups).forEach((tabGroupsValue) => {
26-
if (tabGroupsValue.activeTabId) {
27-
setTimeout(() => {
28-
activateTab(tabGroupsValue.activeTabId)
29-
}, 1)
30-
}
48+
49+
const files = qs.parse(window.location.search.slice(1)).open;
50+
if (tabs.map.length) {
51+
Promise.all(openTabs).then(() => {
52+
Object.values(json.tabGroups).forEach((tabGroupsValue) => {
53+
const activeTabId = tabGroupsValue.activeTabId;
54+
if (activeTabId) {
55+
const index = tabs.findIndex(tab => tab.id === activeTabId);
56+
if (index >= 0) {
57+
const { path, contentType } = tabs[index];
58+
openFile({
59+
path,
60+
contentType
61+
}, () => {
62+
if (files) {
63+
openUrlFile(files);
64+
}
65+
});
66+
}
67+
}
68+
})
3169
})
32-
})
70+
} else {
71+
if (files) {
72+
openUrlFile(files);
73+
}
74+
}
3375
})
3476

3577
export const createTab = registerAction(TAB_CREATE,

yarn.lock

Lines changed: 98 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,6 @@ acorn@^5.0.0, acorn@^5.0.1:
5151
version "5.0.3"
5252
resolved "http://registry.npm.taobao.org/acorn/download/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
5353

54-
55-
version "0.0.1"
56-
resolved "http://registry.npm.taobao.org/active-x-obfuscator/download/active-x-obfuscator-0.0.1.tgz#089b89b37145ff1d9ec74af6530be5526cae1f1a"
57-
dependencies:
58-
zeparser "0.0.5"
59-
6054
6155
version "0.8.2"
6256
resolved "http://registry.npm.taobao.org/after/download/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
@@ -221,6 +215,10 @@ [email protected]:
221215
version "0.0.6"
222216
resolved "http://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
223217

218+
arraybuffer.slice@~0.0.7:
219+
version "0.0.7"
220+
resolved "http://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
221+
224222
arrify@^1.0.0, arrify@^1.0.1:
225223
version "1.0.1"
226224
resolved "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -271,6 +269,10 @@ async-each@^1.0.0:
271269
version "1.0.1"
272270
resolved "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
273271

272+
async-limiter@~1.0.0:
273+
version "1.0.0"
274+
resolved "http://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
275+
274276
async@^1.4.0, async@^1.5.2:
275277
version "1.5.2"
276278
resolved "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
@@ -1556,10 +1558,6 @@ [email protected]:
15561558
dependencies:
15571559
graceful-readlink ">= 1.0.0"
15581560

1559-
commander@~2.1.0:
1560-
version "2.1.0"
1561-
resolved "http://registry.npm.taobao.org/commander/download/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781"
1562-
15631561
commondir@^1.0.1:
15641562
version "1.0.1"
15651563
resolved "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -1922,6 +1920,12 @@ [email protected]:
19221920
dependencies:
19231921
ms "0.7.2"
19241922

1923+
debug@~3.1.0:
1924+
version "3.1.0"
1925+
resolved "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
1926+
dependencies:
1927+
ms "2.0.0"
1928+
19251929
decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
19261930
version "1.2.0"
19271931
resolved "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -2169,6 +2173,22 @@ [email protected]:
21692173
xmlhttprequest-ssl "1.5.3"
21702174
yeast "0.1.2"
21712175

2176+
engine.io-client@~3.2.0:
2177+
version "3.2.1"
2178+
resolved "http://registry.npm.taobao.org/engine.io-client/download/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36"
2179+
dependencies:
2180+
component-emitter "1.2.1"
2181+
component-inherit "0.0.3"
2182+
debug "~3.1.0"
2183+
engine.io-parser "~2.1.1"
2184+
has-cors "1.1.0"
2185+
indexof "0.0.1"
2186+
parseqs "0.0.5"
2187+
parseuri "0.0.5"
2188+
ws "~3.3.1"
2189+
xmlhttprequest-ssl "~1.5.4"
2190+
yeast "0.1.2"
2191+
21722192
21732193
version "1.3.2"
21742194
resolved "http://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
@@ -2180,6 +2200,16 @@ [email protected]:
21802200
has-binary "0.1.7"
21812201
wtf-8 "1.0.0"
21822202

2203+
engine.io-parser@~2.1.1:
2204+
version "2.1.2"
2205+
resolved "http://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-2.1.2.tgz#4c0f4cff79aaeecbbdcfdea66a823c6085409196"
2206+
dependencies:
2207+
after "0.8.2"
2208+
arraybuffer.slice "~0.0.7"
2209+
base64-arraybuffer "0.1.5"
2210+
blob "0.0.4"
2211+
has-binary2 "~1.0.2"
2212+
21832213
enhanced-resolve@^3.0.0:
21842214
version "3.1.0"
21852215
resolved "http://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
@@ -3085,6 +3115,12 @@ has-ansi@^2.0.0:
30853115
dependencies:
30863116
ansi-regex "^2.0.0"
30873117

3118+
has-binary2@~1.0.2:
3119+
version "1.0.3"
3120+
resolved "http://registry.npm.taobao.org/has-binary2/download/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d"
3121+
dependencies:
3122+
isarray "2.0.1"
3123+
30883124
30893125
version "0.1.7"
30903126
resolved "http://registry.npm.taobao.org/has-binary/download/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
@@ -3619,6 +3655,10 @@ [email protected], isarray@^1.0.0, isarray@~1.0.0:
36193655
version "1.0.0"
36203656
resolved "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
36213657

3658+
3659+
version "2.0.1"
3660+
resolved "http://registry.npm.taobao.org/isarray/download/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
3661+
36223662
isexe@^2.0.0:
36233663
version "2.0.0"
36243664
resolved "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -4405,6 +4445,10 @@ [email protected]:
44054445
version "0.7.2"
44064446
resolved "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
44074447

4448+
4449+
version "2.0.0"
4450+
resolved "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
4451+
44084452
44094453
version "0.0.5"
44104454
resolved "http://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
@@ -4413,10 +4457,6 @@ nan@^2.3.0, nan@^2.3.3:
44134457
version "2.6.2"
44144458
resolved "http://registry.npm.taobao.org/nan/download/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
44154459

4416-
nan@~1.0.0:
4417-
version "1.0.0"
4418-
resolved "http://registry.npm.taobao.org/nan/download/nan-1.0.0.tgz#ae24f8850818d662fcab5acf7f3b95bfaa2ccf38"
4419-
44204460
natural-compare@^1.4.0:
44214461
version "1.4.0"
44224462
resolved "http://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -5710,6 +5750,10 @@ safe-buffer@^5.0.1:
57105750
version "5.0.1"
57115751
resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
57125752

5753+
safe-buffer@~5.1.0:
5754+
version "5.1.2"
5755+
resolved "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
5756+
57135757
sane@~1.5.0:
57145758
version "1.5.0"
57155759
resolved "http://registry.npm.taobao.org/sane/download/sane-1.5.0.tgz#a4adeae764d048621ecb27d5f9ecf513101939f3"
@@ -5863,14 +5907,24 @@ [email protected]:
58635907
dependencies:
58645908
hoek "2.x.x"
58655909

5866-
"socket.io-client-legacy@git+https://github.com/hackape/socket.io-client#0.9.18":
5867-
version "0.9.18"
5868-
resolved "git+https://github.com/hackape/socket.io-client#ad7183a052591baee0c8022fceaed9b371889224"
5910+
"socket.io-client-legacy@git+https://github.com/Coding/socket.io-client#0.9.18":
5911+
version "2.1.1"
5912+
resolved "git+https://github.com/Coding/socket.io-client#8372591652260f88987c467b94573a144ee4db63"
58695913
dependencies:
5870-
active-x-obfuscator "0.0.1"
5871-
uglify-js "1.2.5"
5872-
ws "0.4.x"
5873-
xmlhttprequest "1.4.2"
5914+
backo2 "1.0.2"
5915+
base64-arraybuffer "0.1.5"
5916+
component-bind "1.0.0"
5917+
component-emitter "1.2.1"
5918+
debug "~3.1.0"
5919+
engine.io-client "~3.2.0"
5920+
has-binary2 "~1.0.2"
5921+
has-cors "1.1.0"
5922+
indexof "0.0.1"
5923+
object-component "0.0.3"
5924+
parseqs "0.0.5"
5925+
parseuri "0.0.5"
5926+
socket.io-parser "~3.2.0"
5927+
to-array "0.1.4"
58745928

58755929
socket.io-client@^1.7.3:
58765930
version "1.7.3"
@@ -5897,6 +5951,14 @@ [email protected]:
58975951
isarray "0.0.1"
58985952
json3 "3.3.2"
58995953

5954+
socket.io-parser@~3.2.0:
5955+
version "3.2.0"
5956+
resolved "http://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077"
5957+
dependencies:
5958+
component-emitter "1.2.1"
5959+
debug "~3.1.0"
5960+
isarray "2.0.1"
5961+
59005962
[email protected], sockjs-client@^1.1.1:
59015963
version "1.1.2"
59025964
resolved "http://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.1.2.tgz#f0212a8550e4c9468c8cceaeefd2e3493c033ad5"
@@ -6317,10 +6379,6 @@ tiny-emitter@^1.0.0:
63176379
version "1.2.0"
63186380
resolved "http://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-1.2.0.tgz#6dc845052cb08ebefc1874723b58f24a648c3b6f"
63196381

6320-
6321-
version "0.0.1"
6322-
resolved "http://registry.npm.taobao.org/tinycolor/download/tinycolor-0.0.1.tgz#320b5a52d83abb5978d81a3e887d4aefb15a6164"
6323-
63246382
63256383
version "1.0.4"
63266384
resolved "http://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
@@ -6408,10 +6466,6 @@ ua-parser-js@^0.7.9:
64086466
version "0.7.12"
64096467
resolved "http://registry.npm.taobao.org/ua-parser-js/download/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
64106468

6411-
6412-
version "1.2.5"
6413-
resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-1.2.5.tgz#b542c2c76f78efb34b200b20177634330ff702b6"
6414-
64156469
uglify-js@^2.6, uglify-js@^2.8.5, uglify-js@~2.8.22:
64166470
version "2.8.22"
64176471
resolved "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
@@ -6440,6 +6494,10 @@ [email protected]:
64406494
version "1.0.2"
64416495
resolved "http://registry.npm.taobao.org/ultron/download/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
64426496

6497+
ultron@~1.1.0:
6498+
version "1.1.1"
6499+
resolved "http://registry.npm.taobao.org/ultron/download/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
6500+
64436501
unc-path-regex@^0.1.0:
64446502
version "0.1.2"
64456503
resolved "http://registry.npm.taobao.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
@@ -6791,22 +6849,21 @@ write@^0.2.1:
67916849
dependencies:
67926850
mkdirp "^0.5.1"
67936851

6794-
6795-
version "0.4.32"
6796-
resolved "http://registry.npm.taobao.org/ws/download/ws-0.4.32.tgz#787a6154414f3c99ed83c5772153b20feb0cec32"
6797-
dependencies:
6798-
commander "~2.1.0"
6799-
nan "~1.0.0"
6800-
options ">=0.0.5"
6801-
tinycolor "0.x"
6802-
68036852
68046853
version "1.1.2"
68056854
resolved "http://registry.npm.taobao.org/ws/download/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
68066855
dependencies:
68076856
options ">=0.0.5"
68086857
ultron "1.0.x"
68096858

6859+
ws@~3.3.1:
6860+
version "3.3.3"
6861+
resolved "http://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
6862+
dependencies:
6863+
async-limiter "~1.0.0"
6864+
safe-buffer "~5.1.0"
6865+
ultron "~1.1.0"
6866+
68106867
68116868
version "1.0.0"
68126869
resolved "http://registry.npm.taobao.org/wtf-8/download/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
@@ -6823,9 +6880,9 @@ [email protected]:
68236880
version "1.5.3"
68246881
resolved "http://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
68256882

6826-
xmlhttprequest@1.4.2:
6827-
version "1.4.2"
6828-
resolved "http://registry.npm.taobao.org/xmlhttprequest/download/xmlhttprequest-1.4.2.tgz#01453a1d9bed1e8f172f6495bbf4c8c426321500"
6883+
xmlhttprequest-ssl@~1.5.4:
6884+
version "1.5.5"
6885+
resolved "http://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
68296886

68306887
"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0:
68316888
version "4.0.1"
@@ -6890,7 +6947,3 @@ yargs@~3.10.0:
68906947
68916948
version "0.1.2"
68926949
resolved "http://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
6893-
6894-
6895-
version "0.0.5"
6896-
resolved "http://registry.npm.taobao.org/zeparser/download/zeparser-0.0.5.tgz#03726561bc268f2e5444f54c665b7fd4a8c029e2"

0 commit comments

Comments
 (0)