Mercurial > hgrepos > hgweb.cgi > skipweb
comparison konjyaku/test-multi.js @ 3927:ec35bc98989a
mkdir konjyaku
author | taka <c117164@e.koeki-u.ac.jp> |
---|---|
date | Thu, 29 Aug 2019 21:59:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
3926:e8c516baec37 | 3927:ec35bc98989a |
---|---|
1 <!DOCTYPE html> | |
2 <html prefix="og: http://ogp.me/ns#"> | |
3 <head> | |
4 <meta charset="UTF-8" /> | |
5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> | |
6 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> | |
7 <title>matsugaoka/web/map/test.yuuji/test-multi.js at master - KoekiBrandingPJ/matsugaoka</title> | |
8 <meta property="og:title" content="matsugaoka/web/map/test.yuuji/test-multi.js at master - KoekiBrandingPJ/matsugaoka" /> | |
9 <meta property="og:type" content="object" /> | |
10 <meta property="og:url" content="http://localhost:8880/KoekiBrandingPJ/matsugaoka/blob/master/web/map/test.yuuji/test-multi.js" /> | |
11 | |
12 | |
13 <meta property="og:image" content="https://www.yatex.org/gitbucket/KoekiBrandingPJ/_avatar" /> | |
14 | |
15 <meta property="og:description" content="Matsugaoka Mixed Media Mapping System" /> | |
16 | |
17 | |
18 <link rel="icon" href="https://www.yatex.org/gitbucket/assets/common/images/gitbucket.png?20190721113240" type="image/vnd.microsoft.icon" /> | |
19 <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
20 <link href="https://www.yatex.org/gitbucket/assets/vendors/google-fonts/css/source-sans-pro.css?20190721113240" rel="stylesheet"> | |
21 <link href="https://www.yatex.org/gitbucket/assets/vendors/bootstrap-3.3.7/css/bootstrap.min.css?20190721113240" rel="stylesheet"> | |
22 <link href="https://www.yatex.org/gitbucket/assets/vendors/octicons-4.4.0/octicons.min.css?20190721113240" rel="stylesheet"> | |
23 <link href="https://www.yatex.org/gitbucket/assets/vendors/bootstrap-datetimepicker-4.17.44/css/bootstrap-datetimepicker.min.css?20190721113240" rel="stylesheet"> | |
24 <link href="https://www.yatex.org/gitbucket/assets/vendors/colorpicker/css/bootstrap-colorpicker.min.css?20190721113240" rel="stylesheet"> | |
25 <link href="https://www.yatex.org/gitbucket/assets/vendors/google-code-prettify/prettify.css?20190721113240" type="text/css" rel="stylesheet"/> | |
26 <link href="https://www.yatex.org/gitbucket/assets/vendors/facebox/facebox.css?20190721113240" rel="stylesheet"/> | |
27 <link href="https://www.yatex.org/gitbucket/assets/vendors/AdminLTE-2.4.2/css/AdminLTE.min.css?20190721113240" rel="stylesheet"> | |
28 <link href="https://www.yatex.org/gitbucket/assets/vendors/AdminLTE-2.4.2/css/skins/skin-green-light.min.css?20190721113240" rel="stylesheet"> | |
29 <link href="https://www.yatex.org/gitbucket/assets/vendors/font-awesome-4.7.0/css/font-awesome.min.css?20190721113240" rel="stylesheet"> | |
30 <link href="https://www.yatex.org/gitbucket/assets/vendors/jquery-ui/jquery-ui.min.css?20190721113240" rel="stylesheet"> | |
31 <link href="https://www.yatex.org/gitbucket/assets/vendors/jquery-ui/jquery-ui.structure.min.css?20190721113240" rel="stylesheet"> | |
32 <link href="https://www.yatex.org/gitbucket/assets/vendors/jquery-ui/jquery-ui.theme.min.css?20190721113240" rel="stylesheet"> | |
33 <link href="https://www.yatex.org/gitbucket/assets/common/css/gitbucket.css?20190721113240" rel="stylesheet"> | |
34 <script src="https://www.yatex.org/gitbucket/assets/vendors/jquery/jquery-3.2.1.min.js?20190721113240"></script> | |
35 <script src="https://www.yatex.org/gitbucket/assets/vendors/jquery-ui/jquery-ui.min.js?20190721113240"></script> | |
36 <script src="https://www.yatex.org/gitbucket/assets/vendors/dropzone/dropzone.min.js?20190721113240"></script> | |
37 <script src="https://www.yatex.org/gitbucket/assets/common/js/validation.js?20190721113240"></script> | |
38 <script src="https://www.yatex.org/gitbucket/assets/common/js/gitbucket.js?20190721113240"></script> | |
39 <script src="https://www.yatex.org/gitbucket/assets/vendors/bootstrap-3.3.7/js/bootstrap.min.js?20190721113240"></script> | |
40 <script src="https://www.yatex.org/gitbucket/assets/vendors/bootstrap3-typeahead/bootstrap3-typeahead.min.js?20190721113240"></script> | |
41 <script src="https://www.yatex.org/gitbucket/assets/vendors/bootstrap-datetimepicker-4.17.44/js/moment.min.js?20190721113240"></script> | |
42 <script src="https://www.yatex.org/gitbucket/assets/vendors/bootstrap-datetimepicker-4.17.44/js/bootstrap-datetimepicker.min.js?20190721113240"></script> | |
43 <script src="https://www.yatex.org/gitbucket/assets/vendors/colorpicker/js/bootstrap-colorpicker.min.js?20190721113240"></script> | |
44 <script src="https://www.yatex.org/gitbucket/assets/vendors/google-code-prettify/prettify.js?20190721113240"></script> | |
45 <script src="https://www.yatex.org/gitbucket/assets/vendors/elastic/jquery.elastic.source.js?20190721113240"></script> | |
46 <script src="https://www.yatex.org/gitbucket/assets/vendors/facebox/facebox.js?20190721113240"></script> | |
47 <script src="https://www.yatex.org/gitbucket/assets/vendors/jquery-hotkeys/jquery.hotkeys.js?20190721113240"></script> | |
48 <script src="https://www.yatex.org/gitbucket/assets/vendors/jquery-textcomplete-1.8.4/jquery.textcomplete.min.js?20190721113240"></script> | |
49 | |
50 <meta name="go-import" content="www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka git https://www.yatex.org/gitbucket/git/KoekiBrandingPJ/matsugaoka.git" /> | |
51 | |
52 <script src="https://www.yatex.org/gitbucket/assets/vendors/AdminLTE-2.4.2/js/adminlte.min.js?20190721113240" type="text/javascript"></script> | |
53 </head> | |
54 <body class="skin-green-light page-load sidebar-mini "> | |
55 <div class="wrapper"> | |
56 <header class="main-header"> | |
57 <a href="https://www.yatex.org/gitbucket/" class="logo"> | |
58 <span class="logo-mini"><img src="https://www.yatex.org/gitbucket/assets/common/images/gitbucket.svg?20190721113240" alt="GitBucket" /></span> | |
59 <span class="logo-lg"> | |
60 <img src="https://www.yatex.org/gitbucket/assets/common/images/gitbucket.svg?20190721113240" alt="GitBucket" /> | |
61 <span class="header-title strong">GitBucket</span> | |
62 </span> | |
63 </a> | |
64 <nav class="navbar navbar-static-top" role="navigation"> | |
65 <!-- Sidebar toggle button--> | |
66 | |
67 <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"> | |
68 <span class="sr-only">Toggle navigation</span> | |
69 </a> | |
70 | |
71 <form id="search" action="https://www.yatex.org/gitbucket/search" method="GET" class="pc navbar-form navbar-left" role="search"> | |
72 <div class="form-group"> | |
73 <input type="text" name="query" id="navbar-search-input" class="form-control" placeholder="Search repository"/> | |
74 </div> | |
75 </form> | |
76 <ul class="pc nav navbar-nav"> | |
77 | |
78 <li><a href="https://www.yatex.org/gitbucket/dashboard/pulls">Pull requests</a></li> | |
79 <li><a href="https://www.yatex.org/gitbucket/dashboard/issues">Issues</a></li> | |
80 | |
81 | |
82 | |
83 <li><a href="https://www.yatex.org/gitbucket/gist">Snippets</a></li> | |
84 | |
85 | |
86 </ul> | |
87 <div class="navbar-custom-menu"> | |
88 <ul class="nav navbar-nav"> | |
89 | |
90 <li class="dropdown notifications-menu"> | |
91 <a class="dropdown-toggle menu" data-toggle="dropdown" href="#"> | |
92 <i class="octicon octicon-plus" style="color: black;"></i><span class="caret" style="color: black; vertical-align: middle;"></span> | |
93 </a> | |
94 <ul class="dropdown-menu pull-right" style="width: auto;"> | |
95 <li> | |
96 <ul class="menu"> | |
97 <li><a href="https://www.yatex.org/gitbucket/new">New repository</a></li> | |
98 <li><a href="https://www.yatex.org/gitbucket/groups/new">New group</a></li> | |
99 </ul> | |
100 </li> | |
101 </ul> | |
102 </li> | |
103 <li class="dropdown notifications-menu"> | |
104 <a class="dropdown-toggle menu" data-toggle="dropdown" href="#" data-toggle="tooltip" data-placement="bottom" title="Signed is as taka"> | |
105 <img src="https://www.yatex.org/gitbucket/taka/_avatar?20190810100456" class="avatar-mini" style="width: 16px; height: 16px;" /><span class="caret" style="color: black; vertical-align: middle;"></span> | |
106 </a> | |
107 <ul class="dropdown-menu pull-right" style="width: auto;"> | |
108 <li> | |
109 <ul class="menu"> | |
110 <li><a href="https://www.yatex.org/gitbucket/taka">Your profile</a></li> | |
111 <li><a href="https://www.yatex.org/gitbucket/taka/_edit">Account settings</a></li> | |
112 | |
113 <li><a href="https://www.yatex.org/gitbucket/signout">Sign out</a></li> | |
114 </ul> | |
115 </li> | |
116 </ul> | |
117 </li> | |
118 | |
119 </ul> | |
120 </div> | |
121 </nav> | |
122 </header> | |
123 | |
124 | |
125 | |
126 | |
127 <div class="main-sidebar"> | |
128 <div class="sidebar"> | |
129 <ul class="sidebar-menu"> | |
130 | |
131 <li class = "menu-item-hover active"> | |
132 | |
133 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka"> | |
134 <i class="menu-icon octicon octicon-code"></i> | |
135 <span>Files</span> | |
136 | |
137 </a> | |
138 | |
139 </li> | |
140 | |
141 | |
142 | |
143 <li class = "menu-item-hover "> | |
144 | |
145 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/branches"> | |
146 <i class="menu-icon octicon octicon-git-branch"></i> | |
147 <span>Branches</span> | |
148 | |
149 <span class="pull-right-container"><span class="label label-primary pull-right">1</span></span> | |
150 | |
151 </a> | |
152 | |
153 </li> | |
154 | |
155 | |
156 | |
157 <li class = "menu-item-hover "> | |
158 | |
159 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/releases"> | |
160 <i class="menu-icon octicon octicon-tag"></i> | |
161 <span>Releases</span> | |
162 | |
163 </a> | |
164 | |
165 </li> | |
166 | |
167 | |
168 | |
169 <li class = "menu-item-hover "> | |
170 | |
171 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/issues"> | |
172 <i class="menu-icon octicon octicon-issue-opened"></i> | |
173 <span>Issues</span> | |
174 | |
175 </a> | |
176 | |
177 </li> | |
178 | |
179 | |
180 <li class = "menu-item-hover "> | |
181 | |
182 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/pulls"> | |
183 <i class="menu-icon octicon octicon-git-pull-request"></i> | |
184 <span>Pull requests</span> | |
185 | |
186 </a> | |
187 | |
188 </li> | |
189 | |
190 | |
191 <li class = "menu-item-hover "> | |
192 | |
193 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/issues/labels"> | |
194 <i class="menu-icon octicon octicon-tag"></i> | |
195 <span>Labels</span> | |
196 | |
197 </a> | |
198 | |
199 </li> | |
200 | |
201 | |
202 <li class = "menu-item-hover "> | |
203 | |
204 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/issues/priorities"> | |
205 <i class="menu-icon octicon octicon-flame"></i> | |
206 <span>Priorities</span> | |
207 | |
208 </a> | |
209 | |
210 </li> | |
211 | |
212 | |
213 <li class = "menu-item-hover "> | |
214 | |
215 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/issues/milestones"> | |
216 <i class="menu-icon octicon octicon-milestone"></i> | |
217 <span>Milestones</span> | |
218 | |
219 </a> | |
220 | |
221 </li> | |
222 | |
223 | |
224 | |
225 | |
226 <li class = "menu-item-hover "> | |
227 | |
228 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/wiki"> | |
229 <i class="menu-icon octicon octicon-book"></i> | |
230 <span>Wiki</span> | |
231 | |
232 </a> | |
233 | |
234 </li> | |
235 | |
236 | |
237 | |
238 | |
239 </ul> | |
240 </div> | |
241 </div> | |
242 <div class="content-wrapper"> | |
243 <div class="content body clearfix"> | |
244 <div class="headbar"> | |
245 <div class="container"> | |
246 | |
247 | |
248 | |
249 <div class="head"> | |
250 <div class="pull-right"> | |
251 | |
252 | |
253 | |
254 <div class="btn-group" > | |
255 <button id = "test" | |
256 class="dropdown-toggle btn btn-default btn-sm" data-toggle="dropdown"> | |
257 | |
258 | |
259 <span class="strong" | |
260 > | |
261 Not watching | |
262 </span> | |
263 | |
264 <span class="caret"></span> | |
265 </button> | |
266 <ul class="dropdown-menu pull-right"> | |
267 | |
268 | |
269 | |
270 <li> | |
271 <a href="#" class="watch" data-id="watching"> | |
272 | |
273 <i class="octicon"></i> | |
274 | |
275 <span class="notification-label strong">Watching</span> | |
276 <div class="muted small">Notify all conversations.</div> | |
277 </a> | |
278 </li> | |
279 | |
280 <li> | |
281 <a href="#" class="watch" data-id="not_watching"> | |
282 | |
283 <i class="octicon octicon-check"></i> | |
284 | |
285 <span class="notification-label strong">Not watching</span> | |
286 <div class="muted small">Notify when participating.</div> | |
287 </a> | |
288 </li> | |
289 | |
290 <li> | |
291 <a href="#" class="watch" data-id="ignoring"> | |
292 | |
293 <i class="octicon"></i> | |
294 | |
295 <span class="notification-label strong">Ignoring</span> | |
296 <div class="muted small">Never notify.</div> | |
297 </a> | |
298 </li> | |
299 | |
300 | |
301 </ul> | |
302 </div> | |
303 | |
304 | |
305 | |
306 <script> | |
307 $(function(){ | |
308 $('a.watch').click(function(){ | |
309 var selected = $(this); | |
310 var notification = selected.data('id'); | |
311 $.post('https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/watch', | |
312 { notification : notification }, | |
313 function(){ | |
314 $('a.watch i.octicon-check').removeClass('octicon-check'); | |
315 $('a.watch[data-id=' + notification + '] i').addClass('octicon-check'); | |
316 | |
317 // Update button label | |
318 var label = selected.find('span.notification-label').text().trim(); | |
319 selected.parents('div.btn-group').find('button>span.strong').text(label); | |
320 } | |
321 ); | |
322 return false; | |
323 }); | |
324 }); | |
325 </script> | |
326 | |
327 | |
328 | |
329 | |
330 <a class="btn btn-default btn-sm" href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/fork" rel="facebox"> | |
331 <span class="strong"><i class="octicon octicon-repo-forked"></i>Fork</span><span class="muted">: 0</span> | |
332 </a> | |
333 | |
334 | |
335 <form id="fork-form" method="post" action="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/fork" style="display: none;"> | |
336 <input type="hidden" name="account" value="taka"/> | |
337 </form> | |
338 </div> | |
339 | |
340 | |
341 <i class="mega-octicon octicon-repo"></i> | |
342 | |
343 | |
344 | |
345 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ">KoekiBrandingPJ</a> / <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka" class="strong">matsugaoka</a> | |
346 | |
347 | |
348 | |
349 | |
350 </div> | |
351 </div> | |
352 </div> | |
353 | |
354 <style> | |
355 .prettyprint { | |
356 tab-size: 8 | |
357 } | |
358 </style> | |
359 <div class="head"> | |
360 <div class="pull-right hide-if-blame"><div class="btn-group"> | |
361 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/blob/4911f77d678e9633a99ce468507c223c32ff986c/web/map/test.yuuji/test-multi.js" data-hotkey="y" style="display: none;">Transfer to URL with SHA</a> | |
362 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/find/master" class="btn btn-sm btn-default" data-hotkey="t">Find file</a> | |
363 </div></div> | |
364 <div class="line-age-legend"> | |
365 <span>Newer</span> | |
366 <ol> | |
367 <li class="heat1"></li> | |
368 <li class="heat2"></li> | |
369 <li class="heat3"></li> | |
370 <li class="heat4"></li> | |
371 <li class="heat5"></li> | |
372 <li class="heat6"></li> | |
373 <li class="heat7"></li> | |
374 <li class="heat8"></li> | |
375 <li class="heat9"></li> | |
376 <li class="heat10"></li> | |
377 </ol> | |
378 <span>Older</span> | |
379 </div> | |
380 <div id="branchCtrlWrapper" style="display:inline;"> | |
381 | |
382 <div class="btn-group" > | |
383 <button id = "test" | |
384 class="dropdown-toggle btn btn-default btn-sm" data-toggle="dropdown"> | |
385 | |
386 | |
387 <span class="muted">branch:</span> | |
388 | |
389 <span class="strong" | |
390 style="display:inline-block; vertical-align:bottom; overflow-x:hidden; max-width:200px; text-overflow:ellipsis"> | |
391 master | |
392 </span> | |
393 | |
394 <span class="caret"></span> | |
395 </button> | |
396 <ul class="dropdown-menu"> | |
397 | |
398 | |
399 <li><div id="branch-control-title">Switch branches<button id="branch-control-close" class="pull-right">×</button></div></li> | |
400 <li><input id="branch-control-input" type="text" class="form-control input-sm dropdown-filter-input" placeholder="Find or create branch ..."/></li> | |
401 | |
402 | |
403 <li><a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/blob/master/web/map/test.yuuji/test-multi.js"> | |
404 <i class="octicon octicon-check"></i> | |
405 master</a></li> | |
406 | |
407 | |
408 | |
409 | |
410 </ul> | |
411 </div> | |
412 | |
413 | |
414 | |
415 <script> | |
416 $(function(){ | |
417 $('#branch-control-input').parent().click(function(e) { | |
418 e.stopPropagation(); | |
419 }); | |
420 $('#branch-control-close').click(function() { | |
421 $('[data-toggle="dropdown"]').parent().removeClass('open'); | |
422 }); | |
423 $('#branch-control-input').keyup(function() { | |
424 var inputVal = $('#branch-control-input').val(); | |
425 $.each($('#branch-control-input').parent().parent().find('a'), function(index, elem) { | |
426 if (!inputVal || !elem.text.trim() || elem.text.trim().toLowerCase().indexOf(inputVal.toLowerCase()) >= 0) { | |
427 $(elem).parent().show(); | |
428 } else { | |
429 $(elem).parent().hide(); | |
430 } | |
431 }); | |
432 | |
433 }); | |
434 | |
435 $('.btn-group').click(function() { | |
436 $('#branch-control-input').val(''); | |
437 $('.dropdown-menu li').show(); | |
438 $('#create-branch').hide(); | |
439 }); | |
440 }); | |
441 </script> | |
442 | |
443 </div> | |
444 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/tree/master">matsugaoka</a> / | |
445 | |
446 | |
447 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/tree/master/web">web</a> / | |
448 | |
449 | |
450 | |
451 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/tree/master/web/map">map</a> / | |
452 | |
453 | |
454 | |
455 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/tree/master/web/map/test.yuuji">test.yuuji</a> / | |
456 | |
457 | |
458 | |
459 test-multi.js | |
460 | |
461 | |
462 | |
463 </div> | |
464 <div class="box-header" style="line-height: 28px;"> | |
465 <img src="https://www.yatex.org/gitbucket/_unknown/_avatar" class="avatar-mini" style="width: 20px; height: 20px;" /> | |
466 HIROSE Yuuji | |
467 <span class="muted"><span data-toggle="tooltip" title="2019-08-20 07:51:32"> | |
468 | |
469 9 days ago | |
470 | |
471 </span> | |
472 </span> | |
473 <span class="label label-default">6 KB</span> | |
474 <a href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/commit/4911f77d678e9633a99ce468507c223c32ff986c" class="commit-message">dual-map fixed</a> | |
475 <div class="btn-group pull-right"> | |
476 <a class="btn btn-sm btn-default" href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/raw/4911f77d678e9633a99ce468507c223c32ff986c/web/map/test.yuuji/test-multi.js">Raw</a> | |
477 | |
478 <a class="btn btn-sm btn-default blame-action" href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/blame/4911f77d678e9633a99ce468507c223c32ff986c/web/map/test.yuuji/test-multi.js" | |
479 data-url="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/get-blame/4911f77d678e9633a99ce468507c223c32ff986c/web/map/test.yuuji/test-multi.js" data-repository="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka">Blame</a> | |
480 | |
481 <a class="btn btn-sm btn-default" href="https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/commits/master/web/map/test.yuuji/test-multi.js">History</a> | |
482 | |
483 | |
484 </div> | |
485 </div> | |
486 | |
487 | |
488 | |
489 <div class="box-content-bottom"> | |
490 <pre class="prettyprint linenums blob no-renderable ">(function myself() { | |
491 var maps = []; | |
492 var bases = []; | |
493 function syncOn() { | |
494 for (var m of maps) | |
495 m.on('moveend', samerange); | |
496 } | |
497 function syncOff() { | |
498 for (var m of maps) | |
499 m.off('moveend', samerange); | |
500 } | |
501 function samerange(me) { | |
502 var map = me.target, tmap; | |
503 tmap = (map == map1 ? map2 : map1); | |
504 try { | |
505 syncOff(); | |
506 for (var m of maps) { | |
507 if (map != m) { | |
508 m.setZoom(map.getZoom()); // setZoom() First!! | |
509 m.fitBounds(map.getBounds()); | |
510 } | |
511 } | |
512 } finally { | |
513 syncOn(); | |
514 } | |
515 } | |
516 // Function for uMap-Style markdown conversion | |
517 function wikiRepl(s) { // uMap風マークダウン変換 | |
518 return s.replace(/{{(.*)\|([0-9][0-9]*)}}/g, | |
519 '<img class="popup" src="$1" width="$2">'). | |
520 replace(/{{(.*)}}/g, '<img class="popup" src="$1">'). | |
521 replace(/\[\[(.*)\|(.*)\]\]/g, '<a href="$1">$2</a>'). | |
522 replace(/\[\[(.*)\]\]/g, '<a href="$1">$1</a>'). | |
523 replace(/^### (.*)/, '<h4>$1</h4>'). | |
524 replace(/^## (.*)/, '<h3>$1</h4>'). | |
525 replace(/^# (.*)/, '<h2>$1</h4>'); | |
526 } | |
527 var lastPopup; | |
528 function syncPopup(ev) { | |
529 var t = ev.target; | |
530 if (!t.getLatLng) { // When CLOSING | |
531 try { | |
532 for (var m of maps) | |
533 m.off('popupclose', syncPopup); | |
534 lastPopup.closePopup(); | |
535 } finally { | |
536 for (var m of maps) | |
537 m.on('popupclose', syncPopup); | |
538 } | |
539 return; | |
540 } | |
541 let latlng = t.getLatLng(), | |
542 ll = [latlng.lng, latlng.lat]; | |
543 var popups = markerConstruction[ll]; | |
544 if (!popups) return; | |
545 | |
546 try { | |
547 for (let p of popups) { | |
548 p.off('popupopen', syncPopup); | |
549 } | |
550 for (let p of popups) { | |
551 if (p != ev.target) | |
552 if (ev.type=="popupopen") | |
553 lastPopup=p.openPopup(); | |
554 else | |
555 p.closePopup(); | |
556 } | |
557 } finally { | |
558 for (let p of popups) { | |
559 p.on('popupopen', syncPopup); | |
560 } | |
561 } | |
562 } | |
563 var markerCollection = {}; | |
564 function markerConstruction(feature, layer) { | |
565 let p = feature.properties, // "properties" in GeoJSON format | |
566 g = feature.geometry; | |
567 if (p) { | |
568 let name = p.name, desc = p.description; | |
569 let popup = "<h3>" + name + "</h3>" + wikiRepl(desc||""); | |
570 layer.bindPopup(popup); | |
571 layer.on('popupopen', syncPopup); | |
572 } | |
573 if (g && g.type == "Point" && g.coordinates) { | |
574 let co = g.coordinates; | |
575 markerConstruction[co] || (markerConstruction[co]=[]) | |
576 markerConstruction[co].push(layer) | |
577 // console.log(co); | |
578 } | |
579 } | |
580 function newGejsonLayer() { | |
581 return L.geoJson(null, { // Layer for omnivore | |
582 onEachFeature: markerConstruction}); | |
583 } | |
584 | |
585 function init() { | |
586 var m, n; | |
587 for (let i=1; n = "map"+i, m=document.getElementById(n); i++) { | |
588 maps.push(L.map(n).setView([38.891, 139.824], 13)); | |
589 } | |
590 function genBaseLayers() { | |
591 let bk='AjtFpRWR9qZlBZvZtFapZdeSeMm-rFV5EbHyvfBOEOtkdCHXUzSL5J9LxZYtrrcH', | |
592 bprop = {bingMapsKey: bk, maxZoom: 20, maxNativeZoom: 18, | |
593 culture: 'ja'}; | |
594 var basemaps = { | |
595 'OpenStreetMap': | |
596 {url: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', | |
597 attribution: | |
598 '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors', | |
599 maxZoom: 20, maxNativeZoom: 18}, | |
600 '国土地理院(標準)': | |
601 {url: 'https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', | |
602 attribution: | |
603 '&copy; <a href="https://maps.gsi.go.jp/development/ichiran.html">国土地理院</a>', | |
604 maxZoom: 20, maxNativeZoom: 18}, | |
605 '空中写真(国土地理院2007年-)': | |
606 {url: 'https://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg', | |
607 attribution: | |
608 '&copy; <a href="https://maps.gsi.go.jp/development/ichiran.html">国土地理院</a>', | |
609 maxZoom: 20, maxNativeZoom: 18}, | |
610 '簡易空中写真(国土地理院1974-1978年)': | |
611 {url: 'https://cyberjapandata.gsi.go.jp/xyz/gazo1/{z}/{x}/{y}.jpg', | |
612 attribution: | |
613 '&copy; <a href="https://maps.gsi.go.jp/development/ichiran.html">国土地理院</a>', | |
614 maxZoom: 20, maxNativeZoom: 17}, | |
615 '空中写真(国土地理院1988-1990年)': | |
616 {url: 'https://cyberjapandata.gsi.go.jp/xyz/gazo4/{z}/{x}/{y}.jpg', | |
617 attribution: | |
618 '&copy; <a href="https://maps.gsi.go.jp/development/ichiran.html">国土地理院</a>', | |
619 maxZoom: 20, maxNativeZoom: 17}, | |
620 'OSM HikiBikeMap': | |
621 {url: 'https://toolserver.org/tiles/hikebike/{z}/{x}/{y}.png', | |
622 attribution: | |
623 '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors', | |
624 maxZoom: 20, maxNativeZoom: 18}, | |
625 '空中写真(国土地理院1961-1969年)': | |
626 {url: 'https://cyberjapandata.gsi.go.jp/xyz/ort_old10/{z}/{x}/{y}.png', | |
627 attribution: | |
628 '&copy; <a href="https://maps.gsi.go.jp/development/ichiran.html">国土地理院</a>', | |
629 maxZoom: 20, maxNativeZoom: 17}, | |
630 'OSM HikiBikeMap': | |
631 {url: 'https://toolserver.org/tiles/hikebike/{z}/{x}/{y}.png', | |
632 attribution: | |
633 '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors', | |
634 maxZoom: 20, maxNativeZoom: 18}, | |
635 'BingMaps Road': | |
636 {provider: 'bing', | |
637 attr: Object.assign({}, bprop, {imagerySet: 'Road'})}, | |
638 'BingMaps 航空写真': | |
639 {provider: 'bing', | |
640 attr: Object.assign({}, bprop, {imagerySet: 'Aerial'})}, | |
641 'BingMaps 写真+ラベル': | |
642 {provider: 'bing', | |
643 attr: Object.assign({}, bprop, | |
644 {imagerySet: 'AerialWithLabels'})}, | |
645 'BingMaps 明': | |
646 {provider: 'bing', | |
647 attr: Object.assign({}, | |
648 bprop, {imagerySet: 'RoadOnDemand'})}, | |
649 }; | |
650 var layers = {}; | |
651 for (let i in basemaps) { | |
652 if (basemaps[i].provider == 'bing') { | |
653 layers[i] = L.tileLayer.bing(basemaps[i].attr); | |
654 } else | |
655 layers[i] = L.tileLayer(basemaps[i].url, basemaps[i]); | |
656 } | |
657 return layers; | |
658 } | |
659 var gj1 = omnivore.geojson("test-s1.geojson", null, newGejsonLayer()); | |
660 var gj2 = omnivore.geojson("test-s2.geojson", null, newGejsonLayer()); | |
661 var ovls = [{"今昔": gj1}, {"今昔": gj2}]; | |
662 //alert(Object.keys(Object.create(baseLayer))); | |
663 for (let i=0; i<maps.length; i++) { | |
664 let p = {"selectedBaseLayerIndex": i}; | |
665 let bl = genBaseLayers(); | |
666 L.control.layers(bl, ovls[i], p).addTo(maps[i]); | |
667 bl[Object.keys(bl)[i]].addTo(maps[i]); | |
668 L.control.scale({ | |
669 maxWidth: 200, imperial: false | |
670 }).addTo(maps[i]); | |
671 } | |
672 gj1.addTo(maps[0]); | |
673 gj2.addTo(maps[1]); | |
674 syncOn(); | |
675 for (m of maps) | |
676 m.on('popupclose', syncPopup); | |
677 } | |
678 window.onload = init; | |
679 })(); | |
680 </pre> | |
681 </div> | |
682 | |
683 | |
684 | |
685 | |
686 | |
687 | |
688 </div> | |
689 </div> | |
690 <script> | |
691 $(function(){ | |
692 $('a[rel*=facebox]').facebox({ | |
693 'loadingImage': 'https://www.yatex.org/gitbucket/assets/vendors/facebox/loading.gif?20190721113240', | |
694 'closeImage': 'https://www.yatex.org/gitbucket/assets/vendors/facebox/closelabel.png?20190721113240' | |
695 }); | |
696 | |
697 $(document).on("click", ".js-fork-owner-select-target", function() { | |
698 var account = $(this).text().replace("@", ""); | |
699 $("#account").val(account); | |
700 $("#fork").submit(); | |
701 }); | |
702 }); | |
703 </script> | |
704 | |
705 | |
706 | |
707 | |
708 </div> | |
709 <script> | |
710 $(function(){ | |
711 | |
712 | |
713 $(".sidebar-toggle").on('click', function(e){ | |
714 $.post('https://www.yatex.org/gitbucket/sidebar-collapse', { collapse: !$('body').hasClass('sidebar-collapse') }); | |
715 }); | |
716 | |
717 }); | |
718 </script> | |
719 | |
720 </body> | |
721 </html> | |
722 | |
723 <script> | |
724 $(window).on('load', function(){ | |
725 updateHighlighting(); | |
726 | |
727 window.onhashchange = function(){ | |
728 updateHighlighting(); | |
729 } | |
730 | |
731 var pre = $('pre.prettyprint'); | |
732 function updateSourceLineNum(){ | |
733 $('.source-line-num').remove(); | |
734 var pos = pre.find('ol.linenums').position(); | |
735 if(pos){ | |
736 $('<div class="source-line-num">').css({ | |
737 height : pre.height(), | |
738 width : '48px', | |
739 cursor : 'pointer', | |
740 position: 'absolute', | |
741 top : pos.top + 'px', | |
742 left : pos.left + 'px' | |
743 }).click(function(e){ | |
744 var pos = $(this).data("pos"); | |
745 if(!pos){ | |
746 pos = $('ol.linenums li').map(function(){ return { id: $(this).attr("id"), top: $(this).position().top} }).toArray(); | |
747 $(this).data("pos",pos); | |
748 } | |
749 for(var i = 0; i < pos.length-1; i++){ | |
750 if(pos[i + 1].top > e.pageY){ | |
751 break; | |
752 } | |
753 } | |
754 var line = pos[i].id.replace(/^L/,''); | |
755 var hash = location.hash; | |
756 var commitUrl = 'https://www.yatex.org/gitbucket/KoekiBrandingPJ/matsugaoka/blob/4911f77d678e9633a99ce468507c223c32ff986c/web/map/test.yuuji/test-multi.js'; | |
757 if(e.shiftKey == true && hash.match(/#L\d+(-L\d+)?/)){ | |
758 var lines = hash.split('-'); | |
759 window.history.pushState('', '', commitUrl + lines[0] + '-L' + line); | |
760 } else { | |
761 var p = $("#L"+line).attr('id',""); | |
762 window.history.pushState('', '', commitUrl + '#L' + line); | |
763 p.attr('id','L'+line); | |
764 } | |
765 $("#branchCtrlWrapper .btn .muted").text("tree:"); | |
766 $("#branchCtrlWrapper .btn .strong").text("4911f77d67"); | |
767 updateHighlighting(); | |
768 }).appendTo(pre); | |
769 } | |
770 } | |
771 var repository = $('.blame-action').data('repository'); | |
772 $('.blame-action').click(function(e){ | |
773 if(history.pushState && $('pre.prettyprint.no-renderable').length){ | |
774 e.preventDefault(); | |
775 history.pushState(null, null, this.href); | |
776 updateBlame(); | |
777 } | |
778 }); | |
779 | |
780 function updateBlame(){ | |
781 var m = /\/(blame|blob)(\/.*)$/.exec(location.href); | |
782 var mode = m[1]; | |
783 $('.blame-action').toggleClass("active", mode=='blame').attr('href', repository + (m[1] == 'blame' ? '/blob' : '/blame') + m[2]); | |
784 if(pre.parents("div.box-content-bottom").find(".blame").length){ | |
785 pre.parent().toggleClass("blame-container", mode == 'blame'); | |
786 updateSourceLineNum(); | |
787 return; | |
788 } | |
789 if(mode=='blob'){ | |
790 updateSourceLineNum(); | |
791 return; | |
792 } | |
793 $(document.body).toggleClass('no-box-shadow', document.body.style.boxShadow === undefined); | |
794 $('.blame-action').addClass("active"); | |
795 var base = $('<div class="blame">').css({height: pre.height()}).prependTo(pre.parents("div.box-content-bottom")); | |
796 base.parent().addClass("blame-container"); | |
797 updateSourceLineNum(); | |
798 $.get($('.blame-action').data('url')).done(function(data){ | |
799 var blame = data.blame; | |
800 var index = []; | |
801 for(var i = 0; i < blame.length; i++){ | |
802 for(var j = 0; j < blame[i].lines.length; j++){ | |
803 index[blame[i].lines[j]] = blame[i]; | |
804 } | |
805 } | |
806 var blame, lastDiv, now = new Date().getTime(); | |
807 | |
808 $('pre.prettyprint ol.linenums li').each(function(i, e){ | |
809 var p = $(e).position(); | |
810 var h = $(e).height(); | |
811 if(blame == index[i]){ | |
812 lastDiv.css("min-height",(p.top + h + 1) - lastDiv.position().top); | |
813 } else { | |
814 $(e).addClass('blame-sep') | |
815 blame = index[i]; | |
816 var sha = $('<div class="blame-sha">') | |
817 .append($('<a>').attr("href", data.root + '/commit/' + blame.id).text(blame.id.substr(0,7))); | |
818 if(blame.prev){ | |
819 sha.append($('<br />')) | |
820 .append($('<a class="muted-link">').text('prev').attr("href", data.root + '/blame/' + blame.prev + '/' + (blame.prevPath || data.path))); | |
821 } | |
822 lastDiv = $('<div class="blame-info">') | |
823 .addClass('heat' + Math.min(10, Math.max(1, Math.ceil((now - blame.commited) / (24 * 3600 * 1000 * 70))))) | |
824 .toggleClass('blame-last', blame.id == data.last) | |
825 .data('line', (i + 1)) | |
826 .css({ | |
827 "top" : p.top + 'px', | |
828 "min-height" : h + 'px' | |
829 }) | |
830 .append(sha) | |
831 .append($(blame.avatar).addClass('avatar').css({"float": "left"})) | |
832 .append($('<div class="blame-commit-title">').text(blame.message)) | |
833 .append($('<div class="muted">').html(blame.author + " authed " + blame.authed)) | |
834 .appendTo(base); | |
835 } | |
836 }); | |
837 }); | |
838 return false; | |
839 }; | |
840 $(document).on('expanded.pushMenu collapsed.pushMenu', function(e){ | |
841 setTimeout(updateBlame, 300); | |
842 }); | |
843 updateBlame(); | |
844 }); | |
845 | |
846 var scrolling = false; | |
847 | |
848 /** | |
849 * Hightlight lines which are specified by URL hash. | |
850 */ | |
851 function updateHighlighting(){ | |
852 var hash = location.hash; | |
853 if(hash.match(/#L\d+(-L\d+)?/)){ | |
854 $('li.highlight').removeClass('highlight'); | |
855 var lines = hash.substr(1).split('-'); | |
856 if(lines.length == 1){ | |
857 $('#' + lines[0]).addClass('highlight'); | |
858 if(!scrolling){ | |
859 $(window).scrollTop($('#' + lines[0]).offset().top - 40); | |
860 } | |
861 } else if(lines.length > 1){ | |
862 var start = parseInt(lines[0].substr(1)); | |
863 var end = parseInt(lines[1].substr(1)); | |
864 for(var i = start; i <= end; i++){ | |
865 $('#L' + i).addClass('highlight'); | |
866 } | |
867 if(!scrolling){ | |
868 $(window).scrollTop($('#L' + start).offset().top - 40); | |
869 } | |
870 } | |
871 scrolling = true; | |
872 } | |
873 } | |
874 </script> |