Compare commits

...

405 Commits

Author SHA1 Message Date
Matthieu Baumann
60339e529a make rust test pass 2024-09-11 17:40:52 +02:00
Matthieu Baumann
9bccdefcc5 expose in the doc the api of coo class 2024-09-11 16:40:51 +02:00
Matthieu Baumann
16f978810f remove rust warning, fix rust compilation 2024-09-11 16:06:43 +02:00
Matthieu Baumann
424c3cebba fix css browser text input width so that user can redefine css 2024-09-11 11:35:19 +02:00
Matthieu Baumann
66326b59e4 fix default allwise hips stored 2024-09-11 10:18:35 +02:00
Matthieu Baumann
7b80efa324 add new tests. configure playwright to be less subject to timeouts by avoiding doing requests and using mocked data (gw local fits files, image fits files, local hips jpg tiles) 2024-09-11 10:11:04 +02:00
Matthieu Baumann
fd9a7b0de2 add gw to playwright tests 2024-09-10 23:50:43 +02:00
Matthieu Baumann
72d7e4e6bb fix playwright snapshots 2024-09-10 23:23:38 +02:00
Matthieu Baumann
186e634a86 rename ImageHiPS in HiPS, factorize Image/HiPS, zoom for trackpad refined 2024-09-10 18:32:47 +02:00
Matthieu Baumann
5fd6bedeb9 wip have a default hips url on allsky for the default hips list to begin to query while waiting for the mocserver response 2024-09-10 18:32:46 +02:00
Matthieu Baumann
6dd8ee2b85 fasten a little bit the starting by disabling the download of less precised tiles and thus it will only blend the good resolued tiles with less precised ones. 2024-09-10 18:31:05 +02:00
Matthieu Baumann
a8c07137a4 fix issue #179: onClick can be associated to user defined function 2024-09-10 18:31:05 +02:00
Matthieu Baumann
7dc4a737ac WIP: try to enhance starting 2024-09-10 18:31:05 +02:00
Matthieu Baumann
a1b7b255bd avoid computing the full unprojected texturefor the raytracing step. Hope it's gonna fasten the starting of aladin lite 2024-09-10 18:31:05 +02:00
Matthieu Baumann
1c3d6e90c9 add possibility to associate an Image or HTMLCanvasElement to a specific source in the shape function 2024-09-10 18:31:05 +02:00
Matthieu Baumann
ebb2172833 add error ellipse example for 2mass 2024-09-10 18:31:03 +02:00
Matthieu Baumann
256e440ac5 first commit hips cube impl 2024-09-10 18:30:09 +02:00
Matthieu Baumann
f0d9ccaf0f remove tsconfig, happy-dom dep 2024-09-10 18:28:30 +02:00
Matthieu Baumann
6021514ab7 fix test in ci 2024-09-10 18:28:30 +02:00
Matthieu Baumann
e6acb80f4d add to changelog 2024-09-10 18:28:30 +02:00
Matthieu Baumann
bd1b165971 remove firefox test, mock some assets (MOC, votable), remove CI for the moment, local use only 2024-09-10 18:28:30 +02:00
Xen0Xys
4eb2dece2c Remove vitest from project dependencies 2024-09-10 18:28:30 +02:00
Xen0Xys
c89156211b Add basic playwright tests for Aladin Lite UI 2024-09-10 18:28:30 +02:00
szpetny
fcefe89f17 restore A.footprint function 2024-08-21 18:53:34 +02:00
Xen0Xys
1d68d0e6e3 🎨 Improve variable names and documentation 2024-08-12 10:54:49 +02:00
Tom Czekaj
5a49ccb7b3 📝 Add overlay type definition
Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2024-08-12 10:54:49 +02:00
Xen0Xys
c16309f670 Add removeOverlayByName function 2024-08-12 10:54:49 +02:00
bmatthieu3
cedea781a1 allow the user to define and use its own colormaps.
Aladin.getListOfColormaps() and Aladin.addColormap new method. Solve #174
2024-07-29 12:13:00 +02:00
Matthieu Baumann
d8ff8aa41e remove tiff dep 2024-07-29 09:45:33 +02:00
bmatthieu3
3c4ec3a0c1 wip tiff support 2024-07-29 09:45:33 +02:00
Matthieu Baumann
dcf3bb360a wip parse the header inside xmp 2024-07-29 09:45:33 +02:00
bmatthieu3
c42002db8f wip: image format inference, avm parser based on https://www.strudel.org.uk/avm/js/, wcs creation from avm tags 2024-07-29 09:45:33 +02:00
Matthieu Baumann
4baab48716 return pos in icrs for the click 2024-07-24 20:57:53 +02:00
Matthieu Baumann
b9791be5e3 update codemeta [skip ci] 2024-07-22 18:23:02 +02:00
Matthieu Baumann
1714e8705e v3.4.5 latest 2024-07-22 18:13:22 +02:00
bmatthieu3
0cf53a6997 add local hips example, hips cache is not a static variable anymore, disable scroll bar style in the measurementdiv table 2024-07-22 17:42:41 +02:00
Matthieu Baumann
7c4fdb80a7 hips cache store the hips object directly 2024-07-22 09:24:32 +02:00
Matthieu Baumann
888aa6fc45 stack close btn 2024-07-21 12:14:33 +02:00
Matthieu Baumann
5a298f6ee1 fix some bugs, adapt ui for a new release 2024-07-17 18:43:29 +02:00
Xen0Xys
80f48331df 📝 Add documentation for layerChanged event 2024-07-17 09:58:28 +02:00
Xen0Xys
746e20f2f0 📝 Update changelog 2024-07-17 09:58:28 +02:00
Xen0Xys
1c15d6578c 🔇 Remove unused log 2024-07-17 09:58:28 +02:00
Xen0Xys
ba85bb496d Change layerChanged event trigger strategy 2024-07-17 09:58:28 +02:00
Xen0Xys
609b78dda3 📝 Add layerChanged event example to al-event-listeners.html 2024-07-17 09:58:28 +02:00
Xen0Xys
4c7449ce54 Add baseLayerChanged event when the base layer is changed 2024-07-17 09:58:28 +02:00
Matthieu Baumann
ad3e86b146 add format change ui, send a hips_removed event when a layer changes 2024-07-16 22:48:22 +02:00
Matthieu Baumann
b2b7985f7e v3.4.4 bugfix version 2024-07-15 18:45:12 +02:00
Matthieu Baumann
b632db96b1 fix some ui, line thickness, add resizeChanged and projectionChanged callbacks 2024-07-15 18:35:16 +02:00
Matthieu Baumann
e9fbafca18 add doc example 2024-07-12 19:03:43 +02:00
Matthieu Baumann
16b01504a6 fix hips icon name 2024-07-12 18:59:57 +02:00
Matthieu Baumann
c8a4fb25d3 add an API example for putting an image as overlay with a WCS given as JS objec 2024-07-12 17:57:36 +02:00
Matthieu Baumann
7da91d7293 points to wcs git path until a new official version is deployed 2024-07-06 14:29:55 +02:00
Matthieu Baumann
9fa4159ae0 ui: catalog query box 2024-07-06 12:20:04 +02:00
Matthieu Baumann
73f29a5e72 remove rust warnings 2024-07-04 10:40:35 +02:00
Matthieu Baumann
3937febb46 fix issue https://github.com/cds-astro/aladin-lite/issues/136, handle fits display with CDELT1 > 0.0 2024-07-04 10:19:16 +02:00
Matthieu Baumann
4b5dc7ecf1 beta 3.4.3 2024-07-03 16:09:45 +02:00
Matthieu Baumann
00f13403f5 [ci skip] remove some rust warnings 2024-07-03 16:05:23 +02:00
Matthieu Baumann
9ccc7ce602 fix some bugs: zoom buttons, fits image display 2024-07-03 16:03:52 +02:00
Matthieu Baumann
ca5cf261f3 [skip-ci] fix ci doc deploy 2024-07-02 19:11:55 +02:00
Matthieu Baumann
4cc7185090 update changelog 2024-07-02 19:11:55 +02:00
Matthieu Baumann
0d172707aa set rust lib version 2024-07-02 19:11:55 +02:00
Matthieu Baumann
1313aeab4b doc fixes 2024-07-02 19:11:55 +02:00
Matthieu Baumann
a2d85aa0a5 fix context sub menu deploy for small screen 2024-07-02 19:11:55 +02:00
Matthieu Baumann
dbd43e9809 Adapt Aladin lite display for small sized devices
In particular for iphones (320px wide). This use media queries (that will be documented) that hide some UI ele
ments if aladin lite is too small. Users still can override the css if they want.
2024-07-02 19:11:55 +02:00
Matthieu Baumann
141ea497f6 update changelog for v3.4.2-beta 2024-07-02 19:00:16 +02:00
Matthieu Baumann
291146779d remove some rust warnings 2024-07-02 19:00:16 +02:00
Matthieu Baumann
098ef8f69d handle rotation for ICRS frame when exporting the WCS. CRVAL on the equator and Galactic frame with cylindrical projection are not handled. This targets issue https://github.com/cds-astro/aladin-lite/issues/170 2024-07-02 19:00:16 +02:00
Matthieu Baumann
d27138e086 WIP: polyline catalog renderer 2024-07-02 19:00:16 +02:00
Matthieu Baumann
bb288bd5b0 propose a removeHiPSFromFavorites method on the aladin object. Targets issue: https://github.com/cds-astro/aladin-lite/issues/171 2024-07-02 19:00:16 +02:00
Matthieu Baumann
0cdc513cb8 move grid rendering from line rasterizer to grid module 2024-07-02 19:00:16 +02:00
Matthieu Baumann
5ae04a98ca rename coverage -> moc 2024-07-02 19:00:16 +02:00
Matthieu Baumann
7b4197a2cd cache the 12 base cell textures 2024-07-02 19:00:16 +02:00
Matthieu Baumann
37c3588348 move rendering part from line rasterizer to the moc renderable 2024-07-02 19:00:16 +02:00
Matthieu Baumann
3b7ef36212 store shaders in the wasm, add a build:dbg vite bundle mode, projections on the gpu 2024-07-02 19:00:16 +02:00
Matthieu Baumann
fe88b2774d use of instancing and impl inside the line rasterizer. Lyon is not needed anymore for plotting lines, but still used for plotting filled paths 2024-07-02 19:00:16 +02:00
Matthieu Baumann
44ce41d9db first commit 2024-07-02 19:00:16 +02:00
Xen0Xys
1065dbe714 Add new function to get view as differents data formats 2024-06-14 10:35:53 +02:00
Xen0Xys
dcbefb6daa 📝 Update changelog 2024-06-11 08:51:12 +02:00
Xen0Xys
4d1a3f08d7 🐛 Update Aladin#getViewWCS to have RADESYS instead of RADECSYS that is now deprecated for the fits standard 2024-06-11 08:51:12 +02:00
Matthieu Baumann
2b5f8a751a add some docs on UI customization, a jsdoc conf file, fix some class links in the doc 2024-06-11 08:32:05 +02:00
Matthieu Baumann
6df2ee9757 clean rust warnings 2024-06-11 08:32:05 +02:00
Matthieu Baumann
813589bfdc restore the use of last version of moclibrust and cdshealpix. Still need to wait for proper version release so that we can points towards them instead of the github repo. This should fix https://github.com/cds-astro/aladin-lite/issues/163 and https://github.com/cds-astro/aladin-lite/issues/150 2024-06-11 08:32:05 +02:00
Simon Torres
51a1c514ae Add selection color to 2024-06-10 23:42:53 +10:00
MARCHAND MANON
c881d1c01c maint: upgrade vite-top-level-await 2024-05-29 13:44:59 +02:00
Matthieu Baumann
93a7c7c642 points to moc/healpix released versions + multi selection 2024-05-29 19:26:35 +10:00
Matthieu Baumann
bada1dcecb fix: restore context after drawing overlay + rename Overlay -> GraphicOverlay 2024-05-21 17:40:22 +10:00
Philip Matsson
e080f9f7d0 Add documentation for the lineDash option 2024-05-21 17:40:22 +10:00
Philip Matsson
fea04ae118 Add line dash option to Overlay class 2024-05-21 17:40:22 +10:00
Matthieu Baumann
fade1f95d2 only authorize giving shape's positions in icrs frame 2024-05-21 11:47:41 +10:00
Matthieu Baumann
ccb7347e54 css links in table color change 2024-05-20 11:30:42 +10:00
Matthieu Baumann
6ab5abae09 fix pixel res filtering 2024-05-19 22:10:46 +10:00
Matthieu Baumann
00f7005bce set url when querying simbad cone search as well 2024-05-19 17:43:14 +10:00
Matthieu Baumann
219761c512 make the HiPS browser more robust and implement a very proto interface for querying the HiPS on the fly generation from cube service: https://alasky.cds.unistra.fr/onthefly-cube-hips/ 2024-05-16 11:51:35 +02:00
Matthieu Baumann
cd363ca4b9 multiple fixes for accessing SODA SKA services, HiPS browser, etc... 2024-05-16 11:51:35 +02:00
Matthieu Baumann
fda33df813 ui fixes and WIP browser 2024-05-16 11:51:35 +02:00
Matthieu Baumann
ee1c23e34f fix: select options remove multiple spaces 2024-05-16 11:51:35 +02:00
Matthieu Baumann
22db1baac7 first commit 2024-05-16 11:51:35 +02:00
Matthieu Baumann
2981e634d2 fix: call aladin methods that calls to wasm in the positionChanged callback 2024-05-06 15:12:44 +02:00
Matthieu Baumann
5e8d0aca42 rename ImageSurvey in ImageHiPS, add a global cache for HiPS and FITS 2024-04-30 09:59:08 +02:00
Matthieu Baumann
9e0caa54c2 Add selector in the UI for HiPS/FITS images 2024-04-29 15:52:04 +02:00
Matthieu Baumann
5c4f60d4fd 3.4.0-beta 2024-04-25 09:27:26 +02:00
Matthieu Baumann
669fb26114 fix gotoobject giving 0 ra or 0 dec 2024-04-25 09:21:13 +02:00
Matthieu Baumann
d655d8f8bd remove view.idx zoom 2024-04-25 08:52:53 +02:00
Matthieu Baumann
027a76f2ab add tooltip on hips layers 2024-04-24 22:04:41 +02:00
Matthieu Baumann
d765dc9ec2 Add basic HiPS filter in the stack box 2024-04-23 22:25:37 +02:00
Matthieu Baumann
63aebf738a new UI StackBox 2024-04-23 00:19:45 +02:00
Matthieu Baumann
116ba0d2e3 save the imageHiPS once it has been changed so that the HiPS stack is saved. One can go back from the UI afterwards 2024-04-23 00:19:45 +02:00
Matthieu Baumann
34460eb9e7 add zoom heuristic for mouse 2024-04-23 00:19:45 +02:00
Matthieu Baumann
1d68495f57 update changelog 2024-04-23 00:19:45 +02:00
Matthieu Baumann
fee97bed40 For Catalog only: plot the sources when the footprints are too small 2024-04-23 00:19:45 +02:00
Matthieu Baumann
c797aec7f7 add doc for the different shapes 2024-04-23 00:19:45 +02:00
Matthieu Baumann
b68358f6b2 add proper motion example 2024-04-23 00:19:45 +02:00
Matthieu Baumann
9109c69fc3 expose Line in the API and add an example with proper motions drawn from a Simbad CS around the LMC 2024-04-23 00:19:45 +02:00
Matthieu Baumann
d56dbd1659 first commit 2024-04-23 00:19:45 +02:00
Matthieu Baumann
8b8c1460eb prefer drawing the hover color over the selection color 2024-03-27 23:59:42 +01:00
Matthieu Baumann
f1a1247a43 make the hoverColor work for progressiveCatalogs and also for catalogs having footprints 2024-03-27 23:59:42 +01:00
Philip Matsson
54fcfe9f2b Fix unhover issue during transition between overlapping objects 2024-03-27 23:59:42 +01:00
Philip Matsson
dfd91d9632 Add JSDoc for new parameters in Catalog.js 2024-03-27 23:59:42 +01:00
Philip Matsson
dc027e89c4 Add hover effect to footprints and source objects 2024-03-27 23:59:42 +01:00
Matthieu Baumann
9617b233b0 add doc for Aladin.select 2024-03-27 17:34:39 +01:00
Matthieu Baumann
7b2458ac8a v3.3.2 2024-03-27 15:30:51 +01:00
Matthieu Baumann
02d97d7eba change codemeta version 2024-03-27 15:13:51 +01:00
Thomas Boch
28c4a6144a Add DOI in identifier field
Add zenodo DOI
2024-03-27 14:30:28 +01:00
Thomas Boch
e2e426493f Merge pull request #66 from ManonMarchand/add-codemeta
add codemeta and its validator action
2024-03-27 14:30:05 +01:00
Matthieu Baumann
f9f205f1d5 fix detecting raytracing mode 2024-03-27 11:56:54 +01:00
Matthieu Baumann
d070facc13 ability to search for a catalog by its ID 2024-03-27 10:32:04 +01:00
Matthieu Baumann
be0c84aa28 do not call setView several times on the same imageSurvey 2024-03-27 10:31:05 +01:00
Matthieu Baumann
091effc92c deploy doc with tags and simple commits 2024-03-26 18:44:46 +01:00
Matthieu Baumann
cf26bd840c fix multiple little things to make the examples on https://aladin.cds.unistra.fr/AladinLite/doc/API/examples/ pass 2024-03-26 18:36:37 +01:00
Matthieu Baumann
2062d6bfeb deploy doc and npm on tags 2024-03-26 11:36:29 +01:00
Matthieu Baumann
2a199aaf73 v3.0.1 2024-03-26 11:21:57 +01:00
Matthieu Baumann
08a9c290ee remove resize observer throttling 2024-03-26 11:21:18 +01:00
Matthieu Baumann
5efcb20b5c tag 3.3.0 2024-03-25 17:13:37 +01:00
Matthieu Baumann
0a6686835a fix some ui positioning 2024-03-25 17:10:07 +01:00
Matthieu Baumann
e133f36fef fix setImageSurvey + UI change default element position 2024-03-25 11:51:49 +01:00
Thomas Boch
a7773b4618 Fix: fix link on feature name for planetary pointer, when body is earth 2024-03-25 09:58:26 +01:00
Matthieu Baumann
a3cea97d61 fix recursive triggering of the resize observer 2024-03-22 18:58:46 +01:00
Matthieu Baumann
328923cbb2 remove some console log 2024-03-22 15:14:09 +01:00
Matthieu Baumann
856fc84025 add entry point for AladinUtils object 2024-03-22 15:12:02 +01:00
Matthieu Baumann
7ad1e56912 remove some console.log 2024-03-22 11:03:12 +01:00
Matthieu Baumann
c2bb0980af fix planetary pointer + enhance fast display when changing the hips 2024-03-22 11:02:05 +01:00
Thomas Boch
4ea8530528 Add link to nominatim OSM when displaying result for earth "pointer" 2024-03-21 11:31:13 +01:00
MARCHAND MANON
7c27227d60 docs: edit compilation instructions
avoid git clean -fd
2024-03-18 10:14:22 +01:00
Matthieu Baumann
54199ceadc add more instructions in the readme.md for users wanting to build aladin lite from scratch 2024-03-16 15:33:25 +01:00
Matthieu Baumann
12c71624e7 set the font size to 1rem in search text boxes 2024-03-16 15:16:03 +01:00
Matthieu Baumann
2c50214a4e enhance doc, ui (tooltip new delay time param) 2024-03-15 19:31:33 +01:00
Matthieu Baumann
a421453078 DOC: add more precision in the jsdoc for creating HiPS surveys and adding them to the view 2024-03-15 11:20:43 +01:00
Matthieu Baumann
f0c3bfc9f6 fix to make the tests pass 2024-03-15 00:05:56 +01:00
Matthieu Baumann
389654ba39 Refac and fix UI and cooFrame problems, add API doc too 2024-03-14 19:52:28 +01:00
Matthieu Baumann
2b618ff38d Merge remote-tracking branch 'origin/develop' into develop 2024-03-14 19:51:18 +01:00
MARCHAND MANON
19fa8f3a27 docs: add labelColumn to the catalog documentation 2024-03-14 09:23:29 +01:00
Matthieu Baumann
84a4d357c0 fix settings features enabled at init 2024-03-12 14:34:53 +01:00
Matthieu Baumann
63ab255003 update building instructions, rust nightly is needed 2024-03-12 09:50:40 +01:00
Matthieu Baumann
cc97efa707 fix box apparition and fix cooFrame update UI selector 2024-03-12 09:45:26 +01:00
Matthieu Baumann
7e581db86d restore setFovRange #138 2024-03-11 15:10:36 +01:00
Matthieu Baumann
ee43d0a786 version changed for npm 2024-03-11 13:47:40 +01:00
Matthieu Baumann
90d49dbad9 fix bug vscode jupyter on text input: suppr delete the widget 2024-03-11 13:44:55 +01:00
Matthieu Baumann
473d60608f fix and add doc concerning UI A.button and A.box methods 2024-03-11 13:44:55 +01:00
Matthieu Baumann
56dbb6656a add css classes for status bar, fullscreen, projection, share view button, location and FoV 2024-03-11 13:44:55 +01:00
Matthieu Baumann
d6e4e875a3 fix edit box and simplify the stack control 2024-03-11 13:44:55 +01:00
Matthieu Baumann
87ac26a30c CSS class (specified in the API doc) for the SimbadPointer, Stack, Grid and Settings control buttons 2024-03-09 09:27:58 +01:00
MARCHAND MANON
74d71fd666 refactor: move defautl gridOptions back in Aladin.DEFAULT_OPTIONS 2024-03-08 11:17:18 +01:00
MARCHAND MANON
f86c621a2e fix: fix grid options
the parameters gridColor, gridOpacity, and gridOptions.showLabels are no longer ignored

add gridOptions to the API description

edit default values for the grid to fit the aladin style a bit better
2024-03-08 11:17:18 +01:00
Matthieu Baumann
664dcf9647 fix for ipyaladin: initialize correctly aladin lite inside a div detached from the DOM 2024-03-07 17:11:08 +01:00
MARCHAND MANON
82d7276252 docs: add missing showCooGrid parameter in doc 2024-03-06 17:51:48 +01:00
Matthieu Baumann
0f300b908a 3.3.1-beta 2024-03-06 12:28:12 +01:00
Matthieu Baumann
acb4946d72 do not replace the text with the mouse position in Location when the input is focused 2024-03-06 12:13:57 +01:00
Matthieu Baumann
442806de6d remove of document.querySelector so that we only base the selectors on the aladinDiv given at the instanciation of aladin lite 2024-03-06 12:02:08 +01:00
Matthieu Baumann
e59dd316bb change version to 3.3.0-beta before pushing to npm 2024-03-05 17:41:22 +01:00
Matthieu Baumann
391c75d09d Update README.md 2024-03-05 16:46:25 +01:00
Matthieu Baumann
b7f1d83cbf fix npm publish deployment action 2024-03-05 16:44:18 +01:00
Matthieu Baumann
8330e916cb update from edge16 to edge18 to make the ci pass ? 2024-03-05 14:06:56 +01:00
Matthieu Baumann
fae476166b try to fix testing ci 2024-03-05 11:41:39 +01:00
Matthieu Baumann
f8ee02a604 bind fov and zoom controls to showFov and showZoomControl aladin lite init options 2024-03-05 11:19:30 +01:00
Matthieu Baumann
01c2a607ee add svg icon for context menu sub menu indications 2024-03-05 10:54:40 +01:00
Matthieu Baumann
54a37752f8 update changelog 2024-03-05 08:10:49 +01:00
Matthieu Baumann
3260b06bd6 update changelog 2024-03-05 08:08:55 +01:00
Matthieu Baumann
f291b750ed update changelog 2024-03-05 07:59:01 +01:00
Matthieu Baumann
aa7e98df8a changelog and Aladin.select api 2024-03-04 11:02:38 +01:00
Matthieu Baumann
3ae31a9c88 add readme to the doc 2024-03-04 10:21:10 +01:00
Matthieu Baumann
71e25d42f3 fix ui thanks to testing with ipyaladin + move some old data for the examples 2024-03-04 09:31:07 +01:00
Matthieu Baumann
2100be7f92 Update api_doc.yml 2024-03-04 09:11:59 +01:00
Matthieu Baumann
95b002f688 Update api_doc.yml 2024-03-03 21:49:57 +01:00
Matthieu Baumann
fbc5540735 Update api_doc.yml 2024-03-03 21:48:16 +01:00
Matthieu Baumann
7faf265d64 Create api_doc.yml 2024-03-03 21:07:17 +01:00
Matthieu Baumann
8d248e817a fix bugs found in ipyaladin 2024-03-01 19:37:22 +01:00
Matthieu Baumann
c416e85134 menu contextuel blocked in the div 2024-02-29 22:15:13 +01:00
Matthieu Baumann
405307fe0b Update README.md 2024-02-29 18:16:49 +01:00
Matthieu Baumann
f0b3db4769 use new simbad cone search 2024-02-29 18:13:22 +01:00
Matthieu Baumann
2fe554be22 simbad cone search requesting https://simbad.cds.unistra.fr/cone 2024-02-29 18:13:22 +01:00
Matthieu Baumann
360f80c789 long touch + UI refinements 2024-02-29 18:13:22 +01:00
Matthieu Baumann
cb7cd1636a add mode on the grid and simbad pointer button 2024-02-29 18:13:22 +01:00
Matthieu Baumann
12e2f1c340 fix UI from recommendation 2024-02-29 18:13:22 +01:00
Matthieu Baumann
90da2e3a05 fix ui 2024-02-29 18:13:22 +01:00
Matthieu Baumann
96425ec9b2 fix samp send sources 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5f3bb19bfa ui fixes, testing 2024-02-29 18:13:22 +01:00
Matthieu Baumann
c43ca6faf1 UI: adapt for mobile device 2024-02-29 18:13:22 +01:00
Matthieu Baumann
8863ebb0d1 fix what is this by sending to action the mouse event of the right click 2024-02-29 18:13:22 +01:00
Matthieu Baumann
a5da99c99f add status box ui element 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5fe5c377b8 add example 2024-02-29 18:13:22 +01:00
Matthieu Baumann
cc1126b2c0 limit number of projections, add basic healpix methods and wip of the api doc 2024-02-29 18:13:22 +01:00
Matthieu Baumann
6bbf406f3e working on a jsdoc formatted api documentation 2024-02-29 18:13:22 +01:00
Matthieu Baumann
14ccc6b5a0 fix from the tests 2024-02-29 18:13:22 +01:00
Matthieu Baumann
37bf5d94da add jsdoc routine 2024-02-29 18:13:22 +01:00
Matthieu Baumann
b3e9254321 fix import Toolbar 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5c5af162f4 remove jQuery, ui refac, A.toolbar and A.button new classes 2024-02-29 18:13:22 +01:00
Matthieu Baumann
057a1df431 major UI commit 2024-02-29 18:13:22 +01:00
Matthieu Baumann
b69016b049 refactorize UI code 2024-02-29 18:13:22 +01:00
Matthieu Baumann
2aaf917e04 enhance samp connexion 2024-02-29 18:13:22 +01:00
Matthieu Baumann
8831336ca2 UI: stack layer WIP 2024-02-29 18:13:22 +01:00
Matthieu Baumann
5bfe863712 fix: set cuts before FITS HiPS has not been loaded 2024-02-29 18:13:22 +01:00
Matthieu Baumann
1f58d490e7 add Horizontal layout 2024-02-29 18:13:22 +01:00
Matthieu Baumann
8484063f15 UI: fix delete overlay 2024-02-29 18:13:22 +01:00
Matthieu Baumann
e12481c6ac swap 2 dom elements code 2024-02-29 18:13:22 +01:00
Matthieu Baumann
4d611f18f9 allow to overwrite the display of specific fields in MeasurementTable.js 2024-02-29 18:13:22 +01:00
Matthieu Baumann
c7dbe04990 modify the datalink & measurement table show to display better links towards the SODA form 2024-02-29 18:13:22 +01:00
Matthieu Baumann
4630fb41ae add some ui widgets 2024-02-29 18:13:22 +01:00
Matthieu Baumann
d55f47fcf6 fix hover line thickness 2024-02-29 18:13:22 +01:00
Matthieu Baumann
479918c9b8 add circular selection 2024-02-29 18:13:22 +01:00
Matthieu Baumann
a1e5f924ee simple SODA resource parsing and window form 2024-02-29 18:13:22 +01:00
Matthieu Baumann
6a07a2560d Update README.md
Add release page info
2024-02-29 15:54:30 +01:00
Thomas Boch
cff74cbff1 Fix typo in feature radius calculation 2024-02-08 16:37:31 +01:00
szpetny
ede4822fa9 Allow to create coo and footprint object 2023-11-29 13:52:11 +01:00
Matthieu Baumann
c4756691b1 triggers positionchanged when calling move functions from the API 2023-11-29 09:58:57 +01:00
Matthieu Baumann
965373e770 fix: import A in samp.js 2023-11-21 15:13:23 +01:00
Matthieu Baumann
02a23ea955 add subscribers 2023-11-21 09:54:05 +01:00
Matthieu Baumann
6f6024fbdd first SAMP commit 2023-11-21 09:54:05 +01:00
MARCHAND MANON
60d15674e2 rename longName into label 2023-11-08 18:33:35 +01:00
MARCHAND MANON
c9b64410fd do the planetary case + stick to WCS standard 2023-11-08 18:33:35 +01:00
MARCHAND MANON
3b59abb36e add tooltip with the projection name in the projection selector menu 2023-11-08 18:33:35 +01:00
MARCHAND MANON
1ae4114360 treat the planetary body case 2023-11-08 18:33:35 +01:00
MARCHAND MANON
371f81e538 fix sign of CD1_1 2023-11-08 18:33:35 +01:00
MARCHAND MANON
9a03f8e452 add missing 'PAR' and 'SFL' projections to the setProjection method 2023-11-08 18:33:35 +01:00
MARCHAND MANON
c2dc476321 clean getFov 2023-11-08 18:33:35 +01:00
MARCHAND MANON
d2b444250e fix CRVALs for galactic coordinates 2023-11-08 18:33:35 +01:00
MARCHAND MANON
8141d50393 fix getFov that was capped at 180° [skip ci] 2023-11-08 18:33:35 +01:00
MARCHAND MANON
5f29eac996 fix getFov that had a limitation to 180° 2023-11-08 18:33:35 +01:00
MARCHAND MANON
43c9d7f124 rename getCooFrame into getFrame 2023-11-08 18:33:35 +01:00
MARCHAND MANON
f9954325dd fix padding 2023-11-08 18:33:35 +01:00
MARCHAND MANON
73da429ce0 update getViewWCS to adapt to projection 2023-11-08 18:33:35 +01:00
Matthieu Baumann
328129896f force MOC.fill = true if opacity is defined 2023-10-23 10:14:28 +02:00
Matthieu Baumann
733f81fc6b big circle draw fix for #126. Try to make the source inside the circle 2023-10-23 10:00:13 +02:00
Matthieu Baumann
bda3e50a8d do not call update 2x on the hipses, render the raytracer with depth=1 too 2023-09-27 16:23:24 +02:00
Matthieu Baumann
1981721b05 change default background color to 'rgb(60, 60, 60)', fix #106 2023-09-27 15:45:52 +02:00
Matthieu Baumann
09d35f5918 Important commit: modify bundling config to add support older browsers. Should correspond to 2017 2023-09-27 15:37:41 +02:00
Matthieu Baumann
9137effc3a factorize code by handling reversed_longitude directly when projecting. Should fix #115 2023-09-27 15:33:19 +02:00
Matthieu Baumann
0f619156e6 fix animation test by fetching tiles every 700ms when moving. The fetching remains still disabled when inertia is on 2023-09-26 16:52:22 +02:00
Matthieu Baumann
d62720d0bd change version to a bugfix one 2023-09-26 14:30:38 +02:00
Matthieu Baumann
94cad9b878 remove deploy script on git 2023-09-26 11:32:48 +02:00
Matthieu Baumann
dcafbd7b91 revert seeking properties with a txt extension 2023-09-26 11:25:14 +02:00
Matthieu Baumann
c42ac03836 fix polyfill in sin proj 2023-09-22 17:04:51 +02:00
Matthieu Baumann
13a6037882 Polyline: add hpx code to remove drawing lines in between 2 different collinion zone 2023-09-22 17:04:51 +02:00
szpetny
5a90d9705c all sky with polygons HPX MOL - examples added 2023-09-22 17:04:51 +02:00
szpetny
7dec2fd9be A proposal of a new feature - let the polygon to be filled in with a given color with given transparency 2023-09-22 17:04:51 +02:00
szpetny
43a8bf0e6e examples fixed 2023-09-20 19:28:42 +02:00
szpetny
01aff09511 expose mouse coords in callbacks for source/footprint click and hover 2023-09-20 19:28:42 +02:00
Matthieu Baumann
7a52a9f962 Fix #123, difficulty to get the radius in pixel of a circle at the edge of a projection. My solution: I project 4 vertices on the circle lying in the cardinal points N, S, E, W and I take as radius the minimal distance between the circle center and one these vertices lying on the circle 2023-09-14 06:20:07 +02:00
Matthieu Baumann
3bda0fcd75 Merge pull request #118 from szpetny/draw-function-fixes
Small changed regarding drawing a footprint
2023-08-31 16:55:53 +02:00
Matthieu Baumann
d6e753ee85 Merge pull request #117 from szpetny/read-only-catalog
read only catalog option
2023-08-28 15:42:18 +02:00
szpetny
98b0d0dff6 setOverlay added to Footprint bc draw function fails when it is lacking,
improvement - reading lineWidth from overlay if not specified in shape
2023-08-22 16:29:06 +02:00
szpetny
5364eaf124 read only catalog option 2023-08-22 16:08:14 +02:00
Matthieu Baumann
c35c20d241 update the deploy 2023-08-22 14:50:46 +02:00
Matthieu Baumann
be619b3e8c fix relMouseCoords when rightclicking to make the context menu appear again 2023-08-22 14:42:00 +02:00
Matthieu Baumann
62633d01bc fix of a weird resize problem occuring when accessing the gridCanvas. This has been reported by Robin MENEUST from obspm 2023-08-15 18:25:49 +02:00
Matthieu Baumann
bc1096fce3 Aladin lite: v3.2.0
Features:
- The use of vite as a project manager
- Enhance the MOC rendering perf and add possibility to draw the perimeter
- Many fixes such as the footprints rendering for all sky projections
- A line rasterizer enabling the thickness' grid line changes
2023-08-13 14:10:44 +02:00
Matthieu Baumann
7d5696228d remove engines in package json 2023-08-12 19:14:44 +02:00
Matthieu Baumann
08699a9bd5 Merge branch 'develop' into develop 2023-08-12 19:00:28 +02:00
Matthieu Baumann
fc6a09e373 Fix rebase 2023-08-12 15:26:54 +02:00
Matthieu Baumann
a8a86a2952 Merge branch 'develop' into develop 2023-08-12 15:18:38 +02:00
Matthieu Baumann
cc958bfa2d Corrected ESASky link in README
Redo PR #104 commit directly on develop

Co-authored-by: imbasimba <https://www.henriknorman.com>
2023-08-12 15:06:13 +02:00
Matthieu Baumann
6c4ddce6b0 Merge pull request #113 from cds-astro/features/lineRasterizer
Features/line rasterizer
2023-08-12 15:04:17 +02:00
Matthieu Baumann
a4e4ec85af fix tests 2023-08-12 14:57:41 +02:00
Matthieu Baumann
b31bb18027 points to votable repo 2023-08-12 14:51:56 +02:00
Matthieu Baumann
de66d28061 points to forked github repo 2023-08-12 14:20:54 +02:00
Matthieu Baumann
ffdeb0ac2a fix footprints example 2023-08-11 18:16:05 +02:00
Matthieu Baumann
56e6fa80d5 fix lat=0.0 parallel 2023-08-11 15:52:46 +02:00
Matthieu Baumann
31348c12c6 fix some cuts default init problems 2023-08-10 11:35:23 +02:00
onekiloparsec
c1b2bd24b9 Reverting the insertion of /.idea into the gitignore.
It can be anaged individually.
2023-08-03 13:31:34 +02:00
Manon
46573a23da fix draw 2023-08-01 10:08:15 +02:00
Matthieu Baumann
3bba90f3d1 adapt tests 2023-07-28 13:31:34 +02:00
Matthieu Baumann
c58876e21d remove some logs 2023-07-28 13:31:34 +02:00
Matthieu Baumann
9ef1f2ac09 cargo fix 2023-07-28 13:31:34 +02:00
Matthieu Baumann
a2a09c7506 fix fill MOC 2023-07-28 13:31:34 +02:00
Matthieu Baumann
bd9845fab1 Enhance moc render with new optional parameter: perimeter, edge (default) and fill, with a fillColor javascript param 2023-07-28 13:31:34 +02:00
Matthieu Baumann
bb7513a959 wip perimeter moc draw 2023-07-28 13:31:34 +02:00
Matthieu Baumann
526cf51c4c enhance grid wip 2023-07-28 13:31:34 +02:00
Matthieu Baumann
163dd7d762 first commit 2023-07-28 13:31:34 +02:00
Cédric Foellmi
121f4345bc Update src/js/gui/ContextMenu.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:47 +02:00
Cédric Foellmi
0665f2b65f Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:38 +02:00
Cédric Foellmi
a58fb1dd8a Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:29 +02:00
Cédric Foellmi
466472a1a7 Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:14 +02:00
Cédric Foellmi
540f4e33be Update src/js/View.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:01:04 +02:00
Cédric Foellmi
0b92b6d1db Update src/js/GenericPointer.js
Fixed the missing canvas parameter of the refactored `relMouseCoords` function.

Co-authored-by: Matthieu Baumann <baumannmatthieu0@gmail.com>
2023-07-19 04:00:38 +02:00
Cédric Foellmi
06dcc126f9 Fixed import
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
04e552b7c3 Making a first test passing!
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
1bee9c8b77 Ignoring .idea (PyCharm/WebStorm)
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
c77f2aeda8 Making a dedicated dependency-free Constants file to avoid Utils import Aladin.js!
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
57c1b8423d Linting
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
ebf2d06f31 Using the Utils methods also in the examples
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
5d0ec40612 Fixing imports
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
82b2eb0423 Using the new Utils method
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:16 +02:00
Cédric Foellmi
2dc6f17c7d Renaming Utils.js into Utils.ts and correcting related imports.
Note that the content of Utils.ts has also been changed. More pecisely:

- `relMouseCoords` has been set as a function of the Utils object, to avoid attaching it to canvas prototype. This was very custom way of doing, and makes testing very complicated to run, while providing no real value.

- Removed the jQuery dependency and made `urlParam` a function of the Utils object.

- Added some types when possible / easy. But TS already reveal the misuse of some function sur as `parseInt` and `parseFloat` (which act on strings, not numbers)

Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:11:15 +02:00
Cédric Foellmi
402e270015 Introducing typescript & vitest
In order to push upward the code quailty of the Javascript code, I propose to introduce Typescript and Vitest for writing unit tests.

This first commit simply introduce the right dependencies and configuration.

Note the presence of “happy-dom” dev dep for manipulating the window object (which is involved in the first test written on Utils).

Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
2023-07-18 12:07:21 +02:00
Matthieu Baumann
7cfbb83883 Add possibility to download the PNG export from javascript API 2023-07-11 10:53:07 +02:00
MARCHAND MANON
ba8acf4a99 fix color of context menu 2023-07-04 18:25:12 +02:00
MARCHAND MANON
d570301b1d add the target button in svg format 2023-07-04 18:25:12 +02:00
Matthieu Baumann
41f381ab2b add filter option for Catalog object #80 2023-06-06 10:26:37 +02:00
Matthieu Baumann
dbf8c8dbeb remove terser from dev dep 2023-05-26 18:51:07 +02:00
Matthieu Baumann
5ef2991310 Conditional export for CJS (require)
Requested in #93

Co-authored-by: diego-ge
2023-05-26 18:47:57 +02:00
Matthieu Baumann
aa9dfe632e change the deploy 2023-05-26 18:43:40 +02:00
Matthieu Baumann
78ff815e9b npm pack 2023-05-26 18:35:21 +02:00
Matthieu Baumann
ead34d5944 add formats info 2023-05-26 18:16:02 +02:00
Matthieu Baumann
d363882308 update workflow 2023-05-26 18:16:02 +02:00
Matthieu Baumann
a80bff6289 use the umd version for index.html 2023-05-26 18:16:02 +02:00
Matthieu Baumann
05ddeb8f7d include only js files into the npm package 2023-05-26 18:16:02 +02:00
bmatthieu3
6cce07cdfd update ci [ci skip] 2023-05-26 18:16:02 +02:00
bmatthieu3
eedb5b2bdf npm install and source rustup 2023-05-26 18:16:02 +02:00
bmatthieu3
4cf94eaf1a add some ci (TO TEST) 2023-05-26 18:16:02 +02:00
bmatthieu3
fbb4d760a4 remove webpack config file 2023-05-26 18:16:02 +02:00
bmatthieu3
30b87b2464 update readme 2023-05-26 18:16:02 +02:00
bmatthieu3
54bb0be16e update readme with new npm usage instructions 2023-05-26 18:16:02 +02:00
bmatthieu3
4808f84b37 fix: import A when it is necessary 2023-05-26 18:16:02 +02:00
bmatthieu3
fa52c39d7c update readme 2023-05-26 18:16:02 +02:00
bmatthieu3
bcfe829b03 use vite producing es and umd aladin lite module types. The umd is consistent with what is being used since a long time (including manually the aladin lite script) 2023-05-26 18:16:02 +02:00
bmatthieu3
6b0f4e4b60 Commit related to PR #90. We first check the clockwise order of the footprints in the celestial space first. 2023-05-23 11:46:01 +02:00
bmatthieu3
eaebc78cb7 update to fitsrs 0.2.9 2023-05-22 16:41:54 +02:00
bmatthieu3
9b3f4e8803 unrelated to this PR: the rust code handles the -pi -> pi to 0 -> 360deg ra remapping 2023-05-22 15:56:01 +02:00
Henrik Norman
44ac866ce6 Removed block of context menus. Also added handling of touchcancel
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-22 15:56:01 +02:00
Matthieu Baumann
34aa6faa89 Merge pull request #90 from cds-astro/removeCrossingPolygonEdges
check for ccw order for every 3 vertices
2023-05-20 00:10:39 +02:00
bmatthieu3
42243edf65 check for ccw order for every 3 vertices 2023-05-19 23:59:39 +02:00
Matthieu Baumann
7833ffd9da Merge pull request #48 from imbasimba/customizationOfShapes
Customize colors, sizes, and shape types
2023-05-17 18:01:26 +02:00
Henrik Norman
861c224c7a Customize colors, sizes, and shape types
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-17 17:56:54 +02:00
Matthieu Baumann
f2daa68054 Merge pull request #44 from imbasimba/moreEvents
Added events for mouse move & coordinate frame change
2023-05-17 15:14:27 +02:00
bmatthieu3
44343e36bb closest objects needs to be done at every mousemove to change the pointer. 2023-05-17 15:07:54 +02:00
bmatthieu3
fde0b5bc68 right click move new event listener that replaces the change of cuts 2023-05-17 14:37:30 +02:00
bmatthieu3
57774e8aed call positionChanged callback when inerting too 2023-05-17 14:12:52 +02:00
Matthieu BAUMANN
f96a3667bc Create an objectHoveredStop with the object that we do not hover event instead of calling objectHovered with null 2023-05-17 14:12:50 +02:00
Henrik Norman
4ae7edb6e9 Added events for mouse move & coordinate frame change
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-17 14:11:19 +02:00
bmatthieu3
923efe3133 wait for the properties to be fetched before determining if sesame or the planetary name solver must be called 2023-05-17 13:39:25 +02:00
bmatthieu3
e7a098c257 do not compute closest object when the objectHovered or footprintHovered is not defined 2023-05-17 13:34:12 +02:00
Matthieu Baumann
2678750643 Merge pull request #42 from imbasimba/noHoverOnHiddenFootprints
Hidden footprints can no longer be considered as closest
2023-05-16 22:41:04 +02:00
Henrik Norman
4ad1963ee1 Hidden footprints can no longer be considered as closest
Co-authored-by: bmatthieu3 <matthieu.baumann@astro.unistra.fr>
2023-05-16 22:37:53 +02:00
Matthieu Baumann
12aa7fe117 Merge pull request #87 from cds-astro/resolveHoverFootprints
Resolve hover footprints
2023-05-16 22:18:33 +02:00
bmatthieu3
910678aa84 select footprints 2023-05-16 21:58:26 +02:00
bmatthieu3
0441726f1f hover footprints 2023-05-16 16:46:23 +02:00
bmatthieu3
d192f0cedc fix hovering footprint 2023-05-16 15:54:29 +02:00
Matthieu Baumann
140ec0d409 Merge pull request #58 from szpetny/errCallbackForCatalogFromURL
handle error inside catalogFromURL
2023-05-16 10:24:55 +02:00
bmatthieu3
706ea7a672 Add error callback for catalogFromVizier, catalogFromSimbad/NED/SkyBot. Use the proxy for NED queries
Co-authored-by: szpetny <>
2023-05-16 10:22:37 +02:00
bmatthieu3
c18c586f5d fix: artefacts cell projection 2023-05-15 13:59:06 +02:00
Matthieu Baumann
1ba13cb3ca Merge pull request #85 from cds-astro/background-color
Set background color api
2023-05-14 21:37:55 +02:00
bmatthieu3
b517ad74c0 set background color from api and send special color changed event 2023-05-14 20:17:04 +02:00
bmatthieu3
849b1d45a1 request for s_region when querying a vizier table by a cone search 2023-05-14 11:15:00 +02:00
Matthieu BAUMANN
e96b11c5e2 uniformize css a little bit 2023-05-08 20:44:14 +02:00
Matthieu BAUMANN
41b31db949 cut too long layer label names with ... 2023-05-08 16:36:41 +02:00
Matthieu BAUMANN
c7ae41948e fix: possibility to pass a unique Source object to addSources 2023-05-08 10:00:54 +02:00
Matthieu BAUMANN
e7781b97ed fix: rewrite table header when changing the tab 2023-05-08 00:20:13 +02:00
Matthieu BAUMANN
89778fc0f3 vizier option to return all the columns of the table 2023-05-07 23:19:29 +02:00
Matthieu BAUMANN
af0ea6b578 make aladin lite indicator css self contained 2023-05-07 11:05:38 +02:00
Matthieu BAUMANN
99634bb23d download file by default when the access_format is not recognized 2023-05-06 20:40:49 +02:00
Matthieu BAUMANN
6178bfd201 readd rainbow colormap 2023-05-06 19:11:09 +02:00
Matthieu BAUMANN
98e055b78a change ui 2023-05-06 18:46:10 +02:00
Matthieu BAUMANN
45a53cd57e fix: do not draw 2 times order3sources if maxOrderAllsky=2 2023-05-06 17:01:31 +02:00
Matthieu BAUMANN
60c7909b25 create catalog fields in addSources if not computed before 2023-05-05 23:13:41 +02:00
Matthieu BAUMANN
2a617849d2 fix case where base layer is an ImageFITS. It was entering planet case because isPlanetaryBody is undefined which is !== false 2023-05-05 13:06:42 +02:00
Matthieu Baumann
c661e03e90 Merge pull request #74 from bmiszalski/progcat_shape_func
Allows HiPS cat to use shape function
2023-05-05 12:56:48 +02:00
Matthieu BAUMANN
4a3a8c0c4f remove need of jquery, move the restoring of the canvas after all drawSources have been called
Co-authored-by: Brent Miszalski <bmiszalski@gmail.com>
2023-05-05 12:46:13 +02:00
Brent Miszalski
fc4459dc58 Allows HiPS cat to use shape function 2023-05-05 12:34:19 +02:00
Matthieu BAUMANN
974118ad21 progressive cat: limit the number of tiles to fetch by contraining the norder to lower orders 2023-05-05 12:33:54 +02:00
Manon
b3e119a43b Add popup on no match (#79)
* add popup when no match is found with the pointers

* move degreesToString from coo.js to AladinUtils

* apply Matthieu's comments

---------

Co-authored-by: bmatthieu3 <baumannmatthieu0@gmail.com>
2023-05-05 11:33:29 +02:00
Matthieu BAUMANN
868ac7be79 fix addSourcesAsArray used by ipyaladin. Set the fields for the catalog 2023-05-04 19:44:54 +02:00
Matthieu BAUMANN
390f7ea20f add load fits image option in ctx right click menu 2023-05-03 12:24:39 +02:00
Matthieu BAUMANN
1488c078e4 fix: use HMS for parallel grid labels 2023-05-03 12:16:43 +02:00
Matthieu BAUMANN
6f789a0619 FITS query: disable using the proxy for the moment (until https://github.com/MattiasBuelens/wasm-streams/issues/20 is solved). Tell the user that fetching may fail because of CORS headers not set and that he can open its fits file by first manually download it and then open it in aladin lite 2023-05-03 11:49:20 +02:00
Matthieu BAUMANN
611b1c7777 restore utils 2023-05-02 17:42:16 +02:00
Matthieu BAUMANN
acf64f3fed use votable 0.2.3 to make the coronelli example pass 2023-05-02 17:38:29 +02:00
Matthieu BAUMANN
e8acc581bf update to votable 0.2.2 2023-05-02 11:07:28 +02:00
Matthieu BAUMANN
89948e6461 fix css for too long labels 2023-05-01 14:30:55 +02:00
Matthieu BAUMANN
e24cbb87d6 fix some bugs. Still there are some errors to fix with the new votable parser 2023-05-01 13:32:21 +02:00
Matthieu BAUMANN
6440697cb1 simplify setOverlayImageLayer and newImageSurvey 2023-04-27 18:28:03 +02:00
Matthieu BAUMANN
506a9669c0 add hips located 2023-04-27 18:16:44 +02:00
Matthieu BAUMANN
cfc7dbda4a fix some bugs: still votables error to fix 2023-04-27 18:15:35 +02:00
Matthieu BAUMANN
69ae41942d hms angle serialization format 2023-04-27 13:56:18 +02:00
Matthieu BAUMANN
b8847be007 fix: wcs galactic 2023-04-26 17:32:59 +02:00
Matthieu BAUMANN
c289ececf6 add previous from datalink to obscore 2023-04-26 14:19:02 +02:00
Matthieu BAUMANN
c35d8e4e8c shorten table name in measurement table 2023-04-26 11:35:20 +02:00
Matthieu BAUMANN
a58ade5801 add update objectslookup when not dragging in the touchmove event 2023-04-24 16:42:31 +02:00
Matthieu BAUMANN
3c1c01a43e wip 2023-04-24 16:42:31 +02:00
Matthieu BAUMANN
1bf97b66ff previous next states for obscore table 2023-04-24 16:42:31 +02:00
Matthieu BAUMANN
9c8ccbb920 Enhance measurement table to select sources coming from different catalog 2023-04-24 16:42:29 +02:00
Matthieu BAUMANN
7efb4e786e obscore fields reconize 2023-04-24 16:42:16 +02:00
Matthieu BAUMANN
d520de061f simplify shapes 2023-04-24 16:42:14 +02:00
Matthieu BAUMANN
bb245eb577 first commit 2023-04-24 16:40:30 +02:00
Matthieu BAUMANN
2e8ecb5fe6 remove backface/frontface culling as it is done by the iterator 2023-04-24 15:20:19 +02:00
Thomas Boch
b22f822f6a Add HiPS2FITS option to contextual menu 2023-04-13 17:21:21 +02:00
Thomas Boch
2993dc2f7c Contextual menu now enables addition of new catalogue layer 2023-04-13 08:59:25 +02:00
Thomas Boch
7d79597c0d Fix color bug for polyline. Color of the graphicOverlay was ignored 2023-04-13 08:35:55 +02:00
Thomas Boch
dd5c35d8ed Fix context menu 2023-04-04 16:14:47 +02:00
Thomas Boch
935e380684 New feature: add context menu, activable with showContextMenu option 2023-04-04 15:55:31 +02:00
Thomas Boch
9080644f18 New feature: Add context menu (on right click) 2023-03-30 17:22:51 +02:00
Thomas Boch
6028aa92f4 Add comment on west increasing bodies 2023-03-29 14:03:08 +02:00
Thomas Boch
c8fce0d6c1 Planetary features: take into account bodies with west increasing lon 2023-03-28 15:09:11 +02:00
Thomas Boch
c5fe7d672e Bug fix: add conditions in init phase 2023-03-27 15:44:30 +02:00
Thomas Boch
2a7d735f8a Add Pluto radius 2023-03-27 14:02:24 +02:00
Matthieu BAUMANN
6e71379f92 precompute cuts 2023-03-24 17:04:41 +01:00
Thomas Boch
1b16e0b5bf Working name resolver for planetary features 2023-03-24 15:41:06 +01:00
655 changed files with 84026 additions and 21178 deletions

49
.github/workflows/api_doc.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages
on:
# Runs on pushes targeting the default branch
push:
tags:
- '*'
branches:
- develop
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Build docs
run: |
npm install -g jsdoc
npm run doc
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: './docs'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

View File

@@ -0,0 +1,16 @@
name: test_codemeta
on:
release:
workflow_dispatch:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
container:
image: gitlab-registry.in2p3.fr/escape2020/wp3/eossr:v1.0
steps:
- uses: actions/checkout@v3
- name: validate codemeta
run: eossr-metadata-validator codemeta.json

42
.github/workflows/npm-publish.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
name: Publish to NPM
on:
release:
types: [created]
push:
tags:
- '*'
workflow_dispatch:
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
registry-url: https://registry.npmjs.org/
- name: "Install the rust compiler"
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup default nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
- name: "Install wasm-pack"
run: |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -y
- name: "Install dependencies"
run: |
npm install
- name: "Build Aladin Lite"
run: |
npm run build
- name: "Publish Aladin Lite to npm"
run: |
npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

38
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Run tests
on:
push:
branches:
- develop
pull_request:
branches:
- develop
# Allows to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: "Checkout branch ${{ github.head_ref }}"
uses: actions/checkout@v3
- name: "Setup node"
uses: actions/setup-node@v3
with:
node-version: 16
- name: "Install the rust compiler"
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup default nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
- name: "Install wasm-pack"
run: |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -y
- name: "Install dependencies"
run: |
npm install
- name: "Build Aladin Lite"
run: |
npm run build
- name: "Run the rust tests"
run: |
npm run test:build

11
.gitignore vendored
View File

@@ -1,11 +0,0 @@
node_modules
dist
examples/.DS_Store
examples/fits
.DS_Store
package-lock.json
src/core/target/
src/core/Cargo.lock
AladinLiteAssets.tar.gz

389
CHANGELOG.md Normal file
View File

@@ -0,0 +1,389 @@
# Changelogs
## [Unreleased]
* [feat] Add support for name removing in `removeOverlay` method
* [test] Add support of playwright. Instructions in the readme for running the test matching snapshots [PR #176]
* [fixed] Order of overlays in the stack now matches the addMOC/addCatalog/addOverlay calls ordering
* [doc] Expose the API of Coo class
## 3.5.0-beta
* [enhancement] add `options.colnames` to A.catalogFromVizieR to tell VizieR we want absolutely want to retrieve specific columns
* [feat] provide a new drawAxes option to A.ellipse. This is useful for plotting error ellipsis.
## 3.4.5-beta
* [feat] add `layerChanged` event when a layer is added or removed
* [deprecate] of `select` event, use `objectsSelected` event instead
* [ui] add the ability to switch the tile format to download
## 3.4.3-beta
* [bugfix] zoom control buttons
* [feat] save a MOC as a JSON file from the UI <https://github.com/cds-astro/aladin-lite/issues/154>
* [feat] save a source selection from the measurement table as a CSV file
* [feat] allow to display jpeg/jpg images with a wcs passed as a JS dictionary: <https://github.com/cds-astro/aladin-lite/issues/173>
## 3.4.2-beta
* [impr] Improve smartphone support by setting media queries + a better logic for deploying the contextual menu sub options.
* [impr] Improve `WCS` view export with 3rd euler rotation encoding: <https://github.com/cds-astro/aladin-lite/issues/170>. Still some cases are to be handled like: crval on the equator or cylindrical with a galactic frame rotation.
* [fixed] Change `RADECSYS` to `RADESYS` for `Aladin#getViewWCS` to follow fits standard deprecation
* [feat] Add new method `Aladin#getViewImageBuffer` to get the current view as a PNG buffer
* [feat] New line rasterizer using GL instancing. This enhances the rendering speed of MOCs.
## 3.3.3
* [feat] UI: add HiPS basic filter that filters the `hipsList` given
* [feat] New `hipsList` option parameter when instancing a new Aladin object.
* [feat] Zoom smoothing using hermite cubic interpolation functions
* [feat] shape option of Catalog and ProgressiveCat accepts a function returning a Footprint. This allow user to
associate a footprint to a specific source
* [feat] Hover color support by @pmatsson and @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/145>
## 3.3.2
* [fixed] do not allow to query the properties several times for an imageHiPS
* [fixed] Detecting raytracing rendering mode. Adapt the rendering mode in function of the fov value and the projection used. Some projections do have more distortions with wide FoVs so it is better to use the raytracing rendering mode when fov >= smaller FoV threshold.
## 3.3.0
* [fixed] multiple calls to setImageSurvey with the same survey object led to strange behaviour.
* [perf] Display the first tile received instantly with no blending. Should enhance the slow reported in issue #88.
* [fixed] A.on('select') (debugged from ipyaladin)
* [fixed] Simbad pointer in galactical frame, cone search of simbad/vizier cats/other cone search services in galactical frame and MOC creation from selection in galactical frame => there is now a new `frame` optional param to Aladin.pix2world. If not given, the coo returned are in the frame of the view.
* [doc] Add doc for image survey definition
* [deprecation] A.createImageSurvey/A.newImageSurvey are now deprecated (but still in the API). Please use `A.imageHiPS` instead by providing a valid url or CDS ID conformed to <https://aladin.cds.unistra.fr/hips/list>
* [refac] Simplify the instanciation of an imageHiPS/ imageFITS. Add a `A.imageHiPS` method for defining a HiPS object
* [fixed] At initialisation, giving a fov > 180 was clamped back to 180 even if we specify allsky projection (i.e. accepting fov > 180). This is now fixed.
* [fixed] MeasurementTable now display the full cell values (no ellipsis anymore)
* [fixed] aladin.on('select') has been implemented. Callback is triggered on a circle and rect selections for not on polygonal selection.
* [fixed] the cooFrame UI selector is updated if the user calls `aladin.setFrame`
* [fixed] `reticleColor` and `reticleSize` options in the public API
* Restore setFoVRange
* Add CSS class for positioning the UI elements as the user wants. See the API doc aladin options for the class names to use.
* [style] The default grid color is now `rgb(178, 50, 178)` to fit the classic Aladin color palette
* [feat] The object of grid options `gridOptions` is now available in the public API
* [fixed] The parameters `gridColor` and `gridOpacity`, `gridOptions.showLabels` now work as expected
* New documentation API (W.I.P) here: <https://cds-astro.github.io/aladin-lite/>
* New release page here: <https://aladin.cds.unistra.fr/AladinLite/doc/release/>
* A major UI update by @bmatthieu3
1. Some API new classes A.box, A.button
2. A status bar where the user can enque messages for a specific amount of time (Aladin.addStatusBarMessage)
* Remove of JQuery and autocompletejs dependencies by @bmatthieu3
* Fix some performances issues, i.e. a bug when resizing the aladin lite view and which launched several parallel requestAnimationFrame by @bmatthieu3
* Polygon and circular selection (see Aladin class API documentation for how to use it)
* ObsCore and Datalink votable parsing and interpretation. This work is still in progress and made in the frame of the SKA radio mission by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/116>
* SODA service query window formular by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/116>
* read only catalog option by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/117>
* Small changed regarding drawing a footprint by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/118>
* Object and footprint click/hover events expose mouse coordinates by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/121>
* A proposal of a new feature - fill the polygon with a color by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/122>
* update getViewWCS to adapt to projection by @ManonMarchand in <https://github.com/cds-astro/aladin-lite/pull/119>
* New SAMP support by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/128>
* A possibility to create Coo and Footprint objects by @szpetny in <https://github.com/cds-astro/aladin-lite/pull/130>
* new method aladin.getFrame() that returns the name of the current coordinate system
* `getViewWCS` now adapts to the `cooFrame` and the `projection`
* `getFov` is no longer capped at 180°
* bugfix `setProjection` now also updates for 'PAR' and 'SFL' projections
## 3.2.0
* MOC rendering perf enhanced. Possibility to draw only the perimeter of a MOC object (perimeter set to True)
* Many fixes e.g. footprint rendering for all sky projections
* A line/shape webgl rasterizer thanks to the use of the `lyon`crate. MOCs and grid lines are rendered that way. Therefore, it is possible to change the grid lines thickness
* Use of vite for the project management and deployment
## 3.1.0
* Add message for safari users to enable WebGL2 feature and reload the page by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/54>
* Starting fits support by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/70>
* display fits images with the drag and drop by @bmatthieu3
![Kapture 2023-03-23 at 14 34 28](https://user-images.githubusercontent.com/2772384/227264124-8e05a3d8-1565-497f-a118-39fab3c6ed83.gif)
* support `webp` tile format by @bmatthieu3 and @tboch
* planetary name resolver by @tboch
* small ui changes and bug fixes by @bmatthieu3
* add codemeta and its validatior action by @ManonMarchand in <https://github.com/cds-astro/aladin-lite/pull/66>
## 3.0.0
Official release of Aladin Lite v3, [as announced in CDS news](https://cds.unistra.fr/news.php?fn_mode=fullnews&fn_incl=0&fn_id=958).
* Fix missing tiles issue by @tboch in <https://github.com/cds-astro/aladin-lite/pull/18>
* Hips catalogue filtering by @tboch in <https://github.com/cds-astro/aladin-lite/pull/28>
* Make footprint selection easier by @tboch in <https://github.com/cds-astro/aladin-lite/pull/19>
* Bug fix: enable different colors for multiple polylines in same layer by @tboch in <https://github.com/cds-astro/aladin-lite/pull/30>
* Method remove to delete individual source from a catalogue layer by @tboch in <https://github.com/cds-astro/aladin-lite/pull/37>
* Stop animation by @tboch in <https://github.com/cds-astro/aladin-lite/pull/40>
* Add message for safari users to enable WebGL2 feature and reload the page by @bmatthieu3 in <https://github.com/cds-astro/aladin-lite/pull/54>
## 2.x.x
### 2020-08
* polyline improvements (by @imbasimba)
### 2020-07
* new method stopAnimation
### 2020-06
* new method in Catalog layer to *remove* individual *Source* objects
### 2019-10
* displayFITS can now take a base64 data URL as input
### 2019-05-03
* https URLs for Simbad pointer
### 2019-04-30
* empty Downloader queue when changing displayed HiPs
### 2019-02-06
* bug fix: MOC cells at order 0 were not displayed
### 2019-01
* add method getViewWCS
### 2018-10-30
* bug fix affichage MOC order>11
### 2018-09-24
* bug fix in VOTable parsing: CDATA text was always blank in <TD></TD>
### 2018-09-18
* drawing algorith improved: no more flickering when zooming in
### 2018-09-17
* improvement on mobile device: pinch zoom works, panning works better
### 2018-08-30
* URL generated for a VizieR cone search now take into account the option 'limit', as to limit the size of the retrieved VOTable
### 2018-06-11
* Bug fix for rectangular selection of sources (aladin.on('select', ... )
### 2018-05-16
* Add variable View.CALLBACKS_THROTTLE_TIME_MS to control minimal time between two callbacks
### 2018-05-14
* HTTPS support for Logger
### 2018-04-20
* partially fix the all-sky view (the cells borders were visible) --> delta in method HpxImageSurvey.drawOneTile2
* add option showAllskyRing
* all-sky is shown at orders 3 and 4
### 2018-04
* Add method zoomToFoV (zoom with animation)
* doc : ajout Tour navigator library dans Plugins
### 2018-01-09
* Add option simbadPointer
### 2018-01-08
* Add option realFullscreen
### 2017-12-20
* Catalog.onClick can now also be a function
### 2017-12-14
* add function udpateShape for Catalog and ProgressiveCatalog object
* ajout shape 'circle' pour les catalogues
* bug fix: les cats progressifs ne s'affichaient pas quand on était zoomé et qu'on ne bougeait pas
### 2017-12-13
* support Circle when generating footprints from STC-S descriptions
### 2017-11-30
* improve positionChanged listener: no more called when clicking on an object
* improve object shown when clicking ; it's really the closest one now
### 2017-11-24
* add dragging attribute to positionChanged listener callback param
### 2017-10-09
* add listener for 'mouseMove' event
### 2017-09-28
* MOC display is way faster when panning
* Sesame bug fix when used in a local file web page
### 2017-09-27
* bug fix : MOC display with norder>9 (thanks to Raffaele D'Abrusco)
* improve MOC display speed
### 2017-09-21
* add listener for 'click' event
* dimensions can be specified for getViewDataURL method
### 2017-09-08
* gotoObject: can now take a success callback function
* improve AITOFF display
### 2017-09-07
* improvement: MOCs, catalogs and overlays have now different logos in the "stack"
### 2017-09-06
* fix: export PNG was not working any longer in latest version of Chrome, as top frame navigation to data URL was no longer allowed
### 2017-08-28
* add J2000d option for frame selection
### 2017-08-25
* all graphical overlays (footprints, MOCs) in addition to catalogs are now visible and can be shown/hidden from the control panel
* add skyFraction method to MOC class
* fix: when going full screen, background is now all white (no more HTML elements visible in the background)
* style: layer labels in Overlay layers panel are rounded at both ends
### 2017-08-24
* add adaptativeDisplay option for MOCs
* try first to load MOC through given URL, and only if it fails, try through proxy (allows to load local/not publicly accessible MOCs)
### July 2017
* bug fix MOC
* add method adjustFovForObject
* add listeners on positionChanged zoomChanged
* fix pour Andre Moitinho pour que Sesame fonctionne en HTTPS
### February 2017
* shape parameter when creating a catalogue can now be a custom draw function
* bug fix, when superimposing a HiPS over a HiPS with a different coordinate frame
### January 2017
* added method to query SkyBot: A.catalogFromSkyBot
### September 2016
* support of HiPS catalog (new format)
### June 2016
* fix astrometry offset by subdividing HEALPix cells too distorted
* new method A.MOCFromJSON to create a MOC from the JSON serialization
### March 2016
* added raField and decField options when creating catalogue
### December 2015
* added cubehelix color map
* added option in A.catalogFromURL to bypass proxy
* access to Simbad and VizieR data (catalogFromVizieR and catalogFromSimbad) are now done directly, without the proxy
### Novembre 2015
* ajout méthodes getShareURL et getEmbedCode
### Octobre 2015
* ajout méthodes accès facile à Simbad, NED et VizieR
* ajout onClick comme option de Catalog: 'showTable' ou 'showPopup'
* nouvelle version de jquery mousewheel (ça déconnait un peu sous Mac avec la précedente)
### Décembre 2014
* ajout displayLabel pour afficher un label d'un overlay Catalog
* ajout option lineWidth pour objet A.graphicOverlay
* bug fix : la liste déroulante est mise à jour correctement quand on change de frame programmatiquement
### Novembre 2014
* ajout nouvelles formes pour les sources
### 23 octobre 2014
* bug fix méthode on('objectClicked') était appelée de manière intempestive
quand la souris quittait le canvas
### 21 octobre 2014
* ajout option shape (plus ou square) pour les catalogues
### 20 octobre 2014
* amélioration on objectClicked et objectHivered. On envoie une valeur nulle pour signifier qu'on quitte l'objet
* ajout méthode pour dessiner un cercle (A.circle)
### 16 septembre 2014
* bug fix pour nouvelle version de Firefox. Aladin lite freezait. On ne crée plus les textures individuelles pour le allsky
### 24 avril 2014
New in the API:
* getSize
* getFov
* world2pix
* pix2world
* getFovCorners
### Novembre 2013
* ajout catalogues progressifs
* ajout option pour fullScreen mode au démarrage
* ajout méthode setFOVRange
* polyfill pour Function.prototype.bind (pour Firefox < 4)
### Septembre 2013
* color maps
### Août 2013
* ajout page exemple full-screen.html
* ajout bouton maximize in fullscreen
* CSS dans fichier séparé
* image réticule "cachée"
* options pour personnaliser le réticule
* revamped UI for layers
* export PNG (nécessite support CORS)
### Juillet 2013
* ajout boutons zoom
* ajout sélection d'objets
### Fin 2013
* ajout catalogue progressif
* ajout on select, objectClicked, objectHovered

106
README.md
View File

@@ -6,15 +6,35 @@ Aladin Lite is a Web application which enables HiPS visualization from the brows
See [A&A 578, A114 (2015)](https://arxiv.org/abs/1505.02291) and [IVOA HiPS Recommendation](http://ivoa.net/documents/HiPS/index.html) for more details about the HiPS standard.
Aladin Lite is built to be easily embeddable in any web page. It powers astronomical portals like [ESASky](https://almascience.eso.org/asax/), [ESO Science Archive portal](http://archive.eso.org/scienceportal/) and [ALMA Portal](https://almascience.eso.org/asax/).
Aladin Lite is built to be easily embeddable in any web page. It powers astronomical portals like [ESASky](https://sky.esa.int/), [ESO Science Archive portal](http://archive.eso.org/scienceportal/) and [ALMA Portal](https://almascience.eso.org/asax/).
More details on [Aladin Lite documentation page](http://aladin.u-strasbg.fr/AladinLite/doc/).
A new [API technical documentation](https://cds-astro.github.io/aladin-lite/) is now available.
[![Run tests](https://github.com/cds-astro/aladin-lite/actions/workflows/test.yml/badge.svg)](https://github.com/cds-astro/aladin-lite/actions/workflows/test.yml)
[![API Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://cds-astro.github.io/aladin-lite)
# How to test it ?
Aladin Lite v3 is out! Please play with [Aladin Lite v3 at this link](https://aladin.u-strasbg.fr/AladinLite).
If you want to embed it into your webpage, please include [the javascript script of Aladin Lite v3](https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js) into your project. API differences from the v2 are minimal, here is a snippet of code you can use to embed it into your webpages:
## Releases
For integrating Aladin Lite into your personal website, please refer to this [release page](https://aladin.cds.unistra.fr/AladinLite/doc/release/).
Always prefer using the latest version. If you want the new features without minding about the bugs coming with it, then the beta is the good way to go.
## API documentation
There is a new in progress API documentation at [this link](https://cds-astro.github.io/aladin-lite).
Editable examples showing the API can also be found [here](https://aladin.cds.unistra.fr/AladinLite/doc/API/examples/).
## Embed it into your projects
You can embed Aladin Lite it into your webpages in two ways
### The vanilla way
Please include [the javascript script of Aladin Lite v3](https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js) into your project. API differences from the v2 are minimal, here is a snippet of code you can use to embed it into your webpages:
```js
<!doctype html>
@@ -39,6 +59,37 @@ If you want to embed it into your webpage, please include [the javascript script
</html>
```
### Using the aladin lite NPM package
First, install it with npm:
```npm i aladin-lite```
Second, you can use it that way:
```js
<!doctype html>
<html>
<head>
<!-- Mandatory when setting up Aladin Lite v3 for a smartphones/tablet usage -->
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from 'aladin-lite';
A.init.then(() => {
let aladin = A.aladin('#aladin-lite-div', {fov: 360, projection: "AIT", cooFrame: 'equatorial', showCooGridControl: true, showSimbadPointerControl: true, showCooGrid: true});
});
</script>
</body>
</html>
```
## Goals of v3
- Rust/WebGL new core integration
@@ -62,7 +113,6 @@ If you want to embed it into your webpage, please include [the javascript script
## Source code
Source code is available in the ``src`` directory.
Precisely, the core is implemented in Rust and can be found in ``src/core``.
## Licence
@@ -93,35 +143,67 @@ npm install
After that you are supposed to have the Rust toolchain installed
to compile the core project into WebAssembly.
Follow the steps from the Rust official website [here](https://www.rust-lang.org/learn/get-started)
You will also need [wasm-pack](https://rustwasm.github.io/wasm-pack/), a tool helping compiling rust into a proper .wasm file.
Once it's installed you will need to switch to the nightly rust version:
```bash
rustup default nightly
```
Then you can build the project:
Once it's installed you can only build the project:
```bash
npm run build
```
Or build it and launch a localhost server (usually starting on port 8080 but it can be another one if 8080 is occupied):
:warning: **If you are experimenting rust error compilations**:
- Make sure you have your **wasm-pack** version updated. To do so:
```bash
cargo install wasm-pack --version ~0.12
```
- Make sure you are using the rust **nightly** toolchain
- Remove your `src/core/Cargo.lock` file and `src/core/target` directory -- this ensures that you'd escape any bad compilation state:
```bash
git clean -di
```
- then recompile with `npm run build`.
It will generate the aladin lite compiled code into a `dist/` directory located at the root of the repository. This directory contains two javascript files. `aladin.umd.cjs` follows the UMD module export convention and it is the one you can use for your project.
To run the examples, you can start a localhost server with the following command:
```bash
npm run serve
```
For just compiling the rust core from the root location (it is faster to do so)
For just compiling the rust core, from the root location do:
```bash
cd src/core
cargo check --features webgl2
```
and run the tests
and run the tests:
```bash
cd src/core
cargo test
cargo test --features webgl2
```
To generate the Rust backend API documentation
For running the playwright test locally please first install playwright like so:
```bash
cd src/core
cargo doc --no-deps --open
```
npx playwright install
```
After that you will be able to run them. These are generated snapshots that will be compared to ground truth snapshots:
```bash
npm run test:playwright
```

5
assets/icons/add.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 8C11 7.44772 11.4477 7 12 7C12.5523 7 13 7.44771 13 8V11H16C16.5523 11 17 11.4477 17 12C17 12.5523 16.5523 13 16 13H13V16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16V13H8C7.44772 13 7 12.5523 7 12C7 11.4477 7.44771 11 8 11H11V8Z" fill="#0F0F0F"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M23 4C23 2.34315 21.6569 1 20 1H4C2.34315 1 1 2.34315 1 4V20C1 21.6569 2.34315 23 4 23H20C21.6569 23 23 21.6569 23 20V4ZM21 4C21 3.44772 20.5523 3 20 3H4C3.44772 3 3 3.44772 3 4V20C3 20.5523 3.44772 21 4 21H20C20.5523 21 21 20.5523 21 20V4Z" fill="#0F0F0F"/>
</svg>

After

Width:  |  Height:  |  Size: 811 B

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512" xml:space="preserve">
<g>
<g>
<path d="M256,145.455c-60.955,0-110.545,49.591-110.545,110.545S195.045,366.545,256,366.545S366.545,316.955,366.545,256
S316.955,145.455,256,145.455z"/>
</g>
</g>
<g>
<g>
<rect x="238.545" width="34.909" height="110.545"/>
</g>
</g>
<g>
<g>
<rect x="96.617" y="58.787" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -47.2416 114.068)" width="34.909" height="110.544"/>
</g>
</g>
<g>
<g>
<rect y="238.545" width="110.545" height="34.909"/>
</g>
</g>
<g>
<g>
<rect x="58.792" y="380.491" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -247.9811 197.2111)" width="110.544" height="34.909"/>
</g>
</g>
<g>
<g>
<rect x="238.545" y="401.455" width="34.909" height="110.545"/>
</g>
</g>
<g>
<g>
<rect x="380.474" y="342.659" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -164.829 397.9294)" width="34.909" height="110.544"/>
</g>
</g>
<g>
<g>
<rect x="401.455" y="238.545" width="110.545" height="34.909"/>
</g>
</g>
<g>
<g>
<rect x="342.664" y="96.61" transform="matrix(0.7071 -0.7071 0.7071 0.7071 35.8969 314.7917)" width="110.544" height="34.909"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

5
assets/icons/camera.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 16C13.6569 16 15 14.6569 15 13C15 11.3431 13.6569 10 12 10C10.3431 10 9 11.3431 9 13C9 14.6569 10.3431 16 12 16Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3 16.8V9.2C3 8.0799 3 7.51984 3.21799 7.09202C3.40973 6.71569 3.71569 6.40973 4.09202 6.21799C4.51984 6 5.0799 6 6.2 6H7.25464C7.37758 6 7.43905 6 7.49576 5.9935C7.79166 5.95961 8.05705 5.79559 8.21969 5.54609C8.25086 5.49827 8.27836 5.44328 8.33333 5.33333C8.44329 5.11342 8.49827 5.00346 8.56062 4.90782C8.8859 4.40882 9.41668 4.08078 10.0085 4.01299C10.1219 4 10.2448 4 10.4907 4H13.5093C13.7552 4 13.8781 4 13.9915 4.01299C14.5833 4.08078 15.1141 4.40882 15.4394 4.90782C15.5017 5.00345 15.5567 5.11345 15.6667 5.33333C15.7216 5.44329 15.7491 5.49827 15.7803 5.54609C15.943 5.79559 16.2083 5.95961 16.5042 5.9935C16.561 6 16.6224 6 16.7454 6H17.8C18.9201 6 19.4802 6 19.908 6.21799C20.2843 6.40973 20.5903 6.71569 20.782 7.09202C21 7.51984 21 8.0799 21 9.2V16.8C21 17.9201 21 18.4802 20.782 18.908C20.5903 19.2843 20.2843 19.5903 19.908 19.782C19.4802 20 18.9201 20 17.8 20H6.2C5.0799 20 4.51984 20 4.09202 19.782C3.71569 19.5903 3.40973 19.2843 3.21799 18.908C3 18.4802 3 17.9201 3 16.8Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

2
assets/icons/color.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.5 10.5c.002 2.762-2.237 5-5 5s-5.002-2.238-5-5c-.002-2.76 2.237-5 5-5s5.002 2.24 5 5z" color="#000000" fill="#ff15a1" stroke="#373737" stroke-width=".49999682600000006"/><path d="M8 1.401a4.998 4.998 0 0 0-2.488 9.334c-.004-.078-.012-.155-.012-.234a4.998 4.998 0 0 1 7.488-4.334A4.994 4.994 0 0 0 8 1.4z" fill="#1583ff"/><path d="M10.5 5.5a4.998 4.998 0 0 0-5 5c0 .08.008.157.012.235A4.998 4.998 0 0 0 13 6.401c0-.079-.008-.156-.012-.234A4.975 4.975 0 0 0 10.5 5.5z" fill="#00cf2d"/><path d="M12.988 6.167c.004.078.012.155.012.234a4.998 4.998 0 0 1-7.489 4.334 4.994 4.994 0 0 0 4.989 4.766 4.998 4.998 0 0 0 2.488-9.334z" fill="#f8ff15"/><path d="M5.512 10.735a4.996 4.996 0 0 0 2.486 4.093 4.987 4.987 0 0 0 2.49-4.091A4.978 4.978 0 0 1 8 11.4a4.975 4.975 0 0 1-2.488-.666z" fill="#ef0000"/><path d="M7.998 6.173A4.991 4.991 0 0 0 5.5 10.5c0 .079.008.156.012.234a4.978 4.978 0 0 0 4.977.002c.003-.079.011-.157.011-.236a4.99 4.99 0 0 0-2.502-4.328z" fill="#383027"/><path d="M5.5 5.5c-.91 0-1.76.247-2.494.67a4.99 4.99 0 0 0 2.506 4.564c-.004-.077-.012-.154-.012-.233a4.991 4.991 0 0 1 2.498-4.328A4.975 4.975 0 0 0 5.5 5.5z" fill="#5100cc"/><path d="M8 1.401a4.998 4.998 0 0 0-4.994 4.77 4.998 4.998 0 1 0 4.992 8.658 4.998 4.998 0 1 0 4.99-8.662A4.994 4.994 0 0 0 8 1.4z" fill="none" stroke="#373737" stroke-width=".9999936520000001"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

7
assets/icons/copy.svg Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Edit / Copy">
<path id="Vector" d="M9 9V6.2002C9 5.08009 9 4.51962 9.21799 4.0918C9.40973 3.71547 9.71547 3.40973 10.0918 3.21799C10.5196 3 11.0801 3 12.2002 3H17.8002C18.9203 3 19.4801 3 19.9079 3.21799C20.2842 3.40973 20.5905 3.71547 20.7822 4.0918C21.0002 4.51962 21.0002 5.07967 21.0002 6.19978V11.7998C21.0002 12.9199 21.0002 13.48 20.7822 13.9078C20.5905 14.2841 20.2839 14.5905 19.9076 14.7822C19.4802 15 18.921 15 17.8031 15H15M9 9H6.2002C5.08009 9 4.51962 9 4.0918 9.21799C3.71547 9.40973 3.40973 9.71547 3.21799 10.0918C3 10.5196 3 11.0801 3 12.2002V17.8002C3 18.9203 3 19.4801 3.21799 19.9079C3.40973 20.2842 3.71547 20.5905 4.0918 20.7822C4.5192 21 5.07899 21 6.19691 21H11.8036C12.9215 21 13.4805 21 13.9079 20.7822C14.2842 20.5905 14.5905 20.2839 14.7822 19.9076C15 19.4802 15 18.921 15 17.8031V15M9 9H11.8002C12.9203 9 13.4801 9 13.9079 9.21799C14.2842 9.40973 14.5905 9.71547 14.7822 10.0918C15 10.5192 15 11.079 15 12.1969L15 15" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17 17H17.01M17.4 14H18C18.9319 14 19.3978 14 19.7654 14.1522C20.2554 14.3552 20.6448 14.7446 20.8478 15.2346C21 15.6022 21 16.0681 21 17C21 17.9319 21 18.3978 20.8478 18.7654C20.6448 19.2554 20.2554 19.6448 19.7654 19.8478C19.3978 20 18.9319 20 18 20H6C5.06812 20 4.60218 20 4.23463 19.8478C3.74458 19.6448 3.35523 19.2554 3.15224 18.7654C3 18.3978 3 17.9319 3 17C3 16.0681 3 15.6022 3.15224 15.2346C3.35523 14.7446 3.74458 14.3552 4.23463 14.1522C4.60218 14 5.06812 14 6 14H6.6M12 15V4M12 15L9 12M12 15L15 12" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 834 B

24
assets/icons/edit.svg Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" ?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<title/>
<g id="Complete">
<g id="edit">
<g>
<path d="M20,16v4a2,2,0,0,1-2,2H4a2,2,0,0,1-2-2V6A2,2,0,0,1,4,4H8" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
<polygon fill="none" points="12.5 15.8 22 6.2 17.8 2 8.3 11.5 8 16 12.5 15.8" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 617 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15 15L21 21M21 15L15 21M10 21V14.6627C10 14.4182 10 14.2959 9.97237 14.1808C9.94787 14.0787 9.90747 13.9812 9.85264 13.8917C9.7908 13.7908 9.70432 13.7043 9.53137 13.5314L3.46863 7.46863C3.29568 7.29568 3.2092 7.2092 3.14736 7.10828C3.09253 7.01881 3.05213 6.92127 3.02763 6.81923C3 6.70414 3 6.58185 3 6.33726V4.6C3 4.03995 3 3.75992 3.10899 3.54601C3.20487 3.35785 3.35785 3.20487 3.54601 3.10899C3.75992 3 4.03995 3 4.6 3H19.4C19.9601 3 20.2401 3 20.454 3.10899C20.6422 3.20487 20.7951 3.35785 20.891 3.54601C21 3.75992 21 4.03995 21 4.6V6.33726C21 6.58185 21 6.70414 20.9724 6.81923C20.9479 6.92127 20.9075 7.01881 20.8526 7.10828C20.7908 7.2092 20.7043 7.29568 20.5314 7.46863L17 11" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1012 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3 4.6C3 4.03995 3 3.75992 3.10899 3.54601C3.20487 3.35785 3.35785 3.20487 3.54601 3.10899C3.75992 3 4.03995 3 4.6 3H19.4C19.9601 3 20.2401 3 20.454 3.10899C20.6422 3.20487 20.7951 3.35785 20.891 3.54601C21 3.75992 21 4.03995 21 4.6V6.33726C21 6.58185 21 6.70414 20.9724 6.81923C20.9479 6.92127 20.9075 7.01881 20.8526 7.10828C20.7908 7.2092 20.7043 7.29568 20.5314 7.46863L14.4686 13.5314C14.2957 13.7043 14.2092 13.7908 14.1474 13.8917C14.0925 13.9812 14.0521 14.0787 14.0276 14.1808C14 14.2959 14 14.4182 14 14.6627V17L10 21V14.6627C10 14.4182 10 14.2959 9.97237 14.1808C9.94787 14.0787 9.90747 13.9812 9.85264 13.8917C9.7908 13.7908 9.70432 13.7043 9.53137 13.5314L3.46863 7.46863C3.29568 7.29568 3.2092 7.2092 3.14736 7.10828C3.09253 7.01881 3.05213 6.92127 3.02763 6.81923C3 6.70414 3 6.58185 3 6.33726V4.6Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

19
assets/icons/finish.svg Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 32 32" xml:space="preserve">
<polyline style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;" points="6,28 6,5 26,5 26,19 6,19 "/>
<rect x="22" y="5" width="4" height="4"/>
<rect x="19" y="15" width="3" height="4"/>
<rect x="19" y="9" width="3" height="3"/>
<rect x="13" y="15" width="3" height="4"/>
<rect x="13" y="9" width="3" height="3"/>
<rect x="6" y="15" width="4" height="4"/>
<rect x="6" y="9" width="4" height="3"/>
<rect x="22" y="12" width="4" height="3"/>
<rect x="16" y="12" width="3" height="3"/>
<rect x="10" y="12" width="3" height="3"/>
<rect x="16" y="5" width="3" height="4"/>
<rect x="10" y="5" width="3" height="4"/>
</svg>

After

Width:  |  Height:  |  Size: 929 B

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m22 6-3-4-3 4h2v4h-2l3 4 3-4h-2V6zM9.307 4l-6 16h2.137l1.875-5h6.363l1.875 5h2.137l-6-16H9.307zm-1.239 9L10.5 6.515 12.932 13H8.068z"/></svg>

After

Width:  |  Height:  |  Size: 373 B

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.1873 4.14049C11.2229 3.41714 9.84236 4.0695 9.78883 5.27389L9.71211 7H12C12.5523 7 13 7.44772 13 8C13 8.55228 12.5523 9 12 9H9.62322L9.22988 17.8501C9.0996 20.7815 5.63681 22.261 3.42857 20.3287L3.34151 20.2526C2.92587 19.8889 2.88375 19.2571 3.24743 18.8415C3.61112 18.4259 4.24288 18.3837 4.65852 18.7474L4.74558 18.8236C5.69197 19.6517 7.17602 19.0176 7.23186 17.7613L7.62125 9H6C5.44772 9 5 8.55228 5 8C5 7.44772 5.44772 7 6 7H7.71014L7.7908 5.18509C7.9157 2.37483 11.1369 0.852675 13.3873 2.54049L13.6 2.69999C14.0418 3.03136 14.1314 3.65817 13.8 4.09999C13.4686 4.54182 12.8418 4.63136 12.4 4.29999L12.1873 4.14049Z" fill="#212121"/>
<path d="M13.082 13.0462C13.3348 12.9071 13.6525 13.0103 13.7754 13.2714L14.5879 14.9979L11.2928 18.2929C10.9023 18.6834 10.9023 19.3166 11.2928 19.7071C11.6834 20.0977 12.3165 20.0977 12.707 19.7071L15.493 16.9212L16.2729 18.5786C16.9676 20.0548 18.8673 20.4808 20.1259 19.4425L20.6363 19.0214C21.0623 18.6699 21.1228 18.0397 20.7713 17.6136C20.4198 17.1876 19.7896 17.1272 19.3636 17.4787L18.8531 17.8998C18.6014 18.1074 18.2215 18.0222 18.0825 17.727L16.996 15.4182L19.707 12.7071C20.0976 12.3166 20.0976 11.6834 19.707 11.2929C19.3165 10.9024 18.6834 10.9024 18.2928 11.2929L16.0909 13.4948L15.585 12.4198C14.9708 11.1144 13.3822 10.5985 12.1182 11.2937L11.518 11.6238C11.0341 11.89 10.8576 12.498 11.1237 12.982C11.3899 13.4659 11.998 13.6424 12.4819 13.3762L13.082 13.0462Z" fill="#212121"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

39
assets/icons/grid.svg Normal file
View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg height="800px" width="800px" version="1.1" id="_x32_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512" xml:space="preserve">
<style type="text/css">
.st0{fill:#000000;}
</style>
<g>
<path class="st0" d="M454.111,193.473c-3.617,3.21-7.4,6.252-11.391,9.095c-9.236,6.546-14.26,10.143-17.404,12.866
c9.216,20.58,14.875,43.094,15.996,66.857h-66.418h-17.61h-92.449V170.384h-17.671h-70.307c2.769-6.606,5.732-12.886,8.915-18.731
c9.522-17.564,20.753-31.484,32.724-40.786c0.901-0.7,1.802-1.321,2.703-1.975c5.479-1.028,11.064-1.749,16.696-2.296
c-0.327-3.737-0.554-7.487-0.554-11.257c0-8.348,0.814-16.503,2.322-24.417c-54.439,3.977-103.533,27.693-139.848,64.022
c-39.939,39.919-64.702,95.252-64.689,156.184c-0.014,60.932,24.75,116.265,64.689,156.184
c39.912,39.939,95.245,64.703,156.184,64.689c60.939,0.014,116.266-24.75,156.184-64.689
c39.938-39.918,64.695-95.251,64.689-156.184C476.879,256.1,468.658,222.935,454.111,193.473z M124.813,159.941
c17.27-17.264,37.903-31.09,60.812-40.492c-10.918,14.133-20.213,31.404-27.76,50.936h-42.661
C118.287,166.794,121.463,163.284,124.813,159.941z M101.731,188.054h49.955c-8.708,28.134-13.86,60.165-14.634,94.238H70.688
C72.322,247.478,83.52,215.248,101.731,188.054z M94.504,382.422c-13.92-24.55-22.408-52.538-23.816-82.46h66.424
c0.674,29.435,4.624,57.275,11.317,82.46H94.504z M124.813,422.314c-6.886-6.887-13.2-14.334-18.938-22.221h47.833
c4.691,14.053,10.17,27.193,16.529,38.931c4.711,8.675,9.876,16.616,15.422,23.803
C162.737,453.424,142.097,439.584,124.813,422.314z M247.164,476.433c-8.835-0.414-17.496-1.475-25.958-3.07
c-0.908-0.654-1.808-1.274-2.71-1.968c-17.971-13.948-34.206-38.357-45.664-69.701c-0.186-0.52-0.353-1.081-0.547-1.602h74.879
V476.433z M247.164,382.422H166.68c-7-24.758-11.251-52.725-11.965-82.46h92.449V382.422z M247.164,282.292h-92.509
c0.814-34.54,6.453-66.744,15.568-94.238h76.94V282.292z M264.835,299.963h92.509c-0.701,29.729-4.985,57.702-11.985,82.46h-80.524
V299.963z M293.503,471.395c-0.894,0.694-1.802,1.314-2.71,1.968c-8.462,1.595-17.123,2.656-25.958,3.07v-76.34h74.898
c-3.964,11.044-8.488,21.28-13.506,30.509C316.705,448.165,305.474,462.079,293.503,471.395z M387.193,422.314
c-17.283,17.264-37.91,31.097-60.825,40.506c11.691-15.135,21.574-33.792,29.388-55.04c0.921-2.496,1.749-5.112,2.603-7.688h47.766
C400.385,407.98,394.073,415.427,387.193,422.314z M417.495,382.422H363.69c6.673-25.165,10.584-53.051,11.257-82.46h66.365
C439.904,329.885,431.409,357.872,417.495,382.422z"/>
<path class="st0" d="M313.762,173.741c22.468,15.949,27.434,19.746,35.341,34.833c6.253,11.945,16.39,32.885,16.39,32.885
c0.48,0.954,1.448,1.562,2.522,1.562c1.061,0,2.049-0.608,2.522-1.562c0,0,10.143-20.94,16.396-32.885
c7.894-15.088,12.866-18.884,35.341-34.833c24.63-17.47,41.086-45.911,41.086-78.402C463.359,42.688,420.665,0,368.014,0
c-52.658,0-95.332,42.688-95.332,95.339C272.682,127.83,289.125,156.27,313.762,173.741z M368.014,55.013
c22.275,0,40.332,18.058,40.332,40.326c0,22.274-18.057,40.332-40.332,40.332c-22.275,0-40.326-18.058-40.326-40.332
C327.689,73.071,345.739,55.013,368.014,55.013z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

2
assets/icons/help.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM7.92 9.234v.102a.5.5 0 0 0 .5.5h.997a.499.499 0 0 0 .499-.499c0-1.29.998-1.979 2.34-1.979 1.308 0 2.168.689 2.168 1.67 0 .928-.482 1.359-1.686 1.91l-.344.154C11.379 11.54 11 12.21 11 13.381v.119a.5.5 0 0 0 .5.5h.997a.499.499 0 0 0 .499-.499c0-.516.138-.723.55-.912l.345-.155c1.445-.654 2.529-1.514 2.529-3.39v-.103c0-1.978-1.72-3.441-4.164-3.441-2.478 0-4.336 1.428-4.336 3.734zm2.58 7.757c0 .867.659 1.509 1.491 1.509.85 0 1.509-.642 1.509-1.509 0-.867-.659-1.491-1.509-1.491-.832 0-1.491.624-1.491 1.491z" fill="#000000"/></svg>

After

Width:  |  Height:  |  Size: 834 B

13
assets/icons/hide.svg Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" >
<path d="M0 0h48v48H0z" fill="none"/>
<g id="Shopicon">
<path d="M11.957,33.214L7.171,38L10,40.828l5.305-5.305C17.867,36.992,20.788,38,24,38c12,0,20-14,20-14s-2.953-5.159-7.957-9.214
L40.829,10L38,7.172l-5.305,5.305C30.133,11.008,27.212,10,24,10C12,10,4,24,4,24S6.953,29.159,11.957,33.214z M16,24
c0-4.418,3.582-8,8-8c1.483,0,2.867,0.411,4.058,1.114l-3.035,3.035C24.694,20.062,24.356,20,24,20c-2.206,0-4,1.794-4,4
c0,0.356,0.062,0.694,0.149,1.023l-3.035,3.035C16.411,26.867,16,25.483,16,24z M32,24c0,4.418-3.582,8-8,8
c-1.483,0-2.867-0.411-4.058-1.114l3.035-3.035C23.306,27.938,23.644,28,24,28c2.206,0,4-1.794,4-4
c0-0.356-0.062-0.694-0.149-1.023l3.035-3.035C31.589,21.133,32,22.517,32,24z"/>

After

Width:  |  Height:  |  Size: 937 B

2
assets/icons/hips.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.83 3.078a12.674 12.674 0 0 0-4.52-.878c-3.847 0-3.891 1.6-7.74 1.6a15.028 15.028 0 0 1-4.52-.722L1 20.783A13.093 13.093 0 0 0 6.424 21.8c5.242 0 6.792-1.634 12.034-1.634a13.093 13.093 0 0 1 5.423 1.017zM6.425 20.8a13.724 13.724 0 0 1-4.3-.65l1.063-6.173 7.9 6.296a20.11 20.11 0 0 1-4.663.527zm-1.909-6.973l3.272-2.607 3.258 2.597-3.271 2.607zm4.199 3.346l3.271-2.607 3.286 2.618L12 19.791zm4.211-3.356l3.273-2.608 3.285 2.618-3.272 2.608zm.737 5.859L21 13.828 16.197 10l-4.213 3.357-4.196-3.345-4.54 3.619 1.6-9.288A16.193 16.193 0 0 0 8.57 4.8a9.957 9.957 0 0 0 2.888-.38L7.5 7.5l4.484 3.5L16.5 7.5l-4.286-3.334c.21-.08.413-.161.607-.241a7.791 7.791 0 0 1 3.49-.725 11.86 11.86 0 0 1 3.63.615l2.674 15.872a16.248 16.248 0 0 0-4.157-.52 21.93 21.93 0 0 0-4.796.509zM12 5.156L15.01 7.5l-3.024 2.344-3-2.342z"/><path opacity=".5" d="M4.512 13.827l3.272-2.607 3.258 2.597-3.271 2.607-3.259-2.597z"/><path opacity=".25" d="M12.923 13.818l3.272-2.608 3.286 2.619-3.273 2.608-3.285-2.619z"/><path fill="none" d="M0 0h24v24H0z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

4
assets/icons/info.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 1920 1920" xmlns="http://www.w3.org/2000/svg">
<path d="M960 0c530.193 0 960 429.807 960 960s-429.807 960-960 960S0 1490.193 0 960 429.807 0 960 0Zm0 101.053c-474.384 0-858.947 384.563-858.947 858.947S485.616 1818.947 960 1818.947 1818.947 1434.384 1818.947 960 1434.384 101.053 960 101.053Zm-42.074 626.795c-85.075 39.632-157.432 107.975-229.844 207.898-10.327 14.249-10.744 22.907-.135 30.565 7.458 5.384 11.792 3.662 22.656-7.928 1.453-1.562 1.453-1.562 2.94-3.174 9.391-10.17 16.956-18.8 33.115-37.565 53.392-62.005 79.472-87.526 120.003-110.867 35.075-20.198 65.9 9.485 60.03 47.471-1.647 10.664-4.483 18.534-11.791 35.432-2.907 6.722-4.133 9.646-5.496 13.23-13.173 34.63-24.269 63.518-47.519 123.85l-1.112 2.886c-7.03 18.242-7.03 18.242-14.053 36.48-30.45 79.138-48.927 127.666-67.991 178.988l-1.118 3.008a10180.575 10180.575 0 0 0-10.189 27.469c-21.844 59.238-34.337 97.729-43.838 138.668-1.484 6.37-1.484 6.37-2.988 12.845-5.353 23.158-8.218 38.081-9.82 53.42-2.77 26.522-.543 48.24 7.792 66.493 9.432 20.655 29.697 35.43 52.819 38.786 38.518 5.592 75.683 5.194 107.515-2.048 17.914-4.073 35.638-9.405 53.03-15.942 50.352-18.932 98.861-48.472 145.846-87.52 41.11-34.26 80.008-76 120.788-127.872 3.555-4.492 3.555-4.492 7.098-8.976 12.318-15.707 18.352-25.908 20.605-36.683 2.45-11.698-7.439-23.554-15.343-19.587-3.907 1.96-7.993 6.018-14.22 13.872-4.454 5.715-6.875 8.77-9.298 11.514-9.671 10.95-19.883 22.157-30.947 33.998-18.241 19.513-36.775 38.608-63.656 65.789-13.69 13.844-30.908 25.947-49.42 35.046-29.63 14.559-56.358-3.792-53.148-36.635 2.118-21.681 7.37-44.096 15.224-65.767 17.156-47.367 31.183-85.659 62.216-170.048 13.459-36.6 19.27-52.41 26.528-72.201 21.518-58.652 38.696-105.868 55.04-151.425 20.19-56.275 31.596-98.224 36.877-141.543 3.987-32.673-5.103-63.922-25.834-85.405-22.986-23.816-55.68-34.787-96.399-34.305-45.053.535-97.607 15.256-145.963 37.783Zm308.381-388.422c-80.963-31.5-178.114 22.616-194.382 108.33-11.795 62.124 11.412 115.76 58.78 138.225 93.898 44.531 206.587-26.823 206.592-130.826.005-57.855-24.705-97.718-70.99-115.729Z" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

2
assets/icons/jupyter.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_jupyter</title><path d="M26.233,3.588A1.69,1.69,0,1,1,24.473,2a1.67,1.67,0,0,1,1.76,1.585Z" style="fill:#767677"/><path d="M16.375,23.111c-4.487,0-8.43-1.61-10.469-3.988a11.162,11.162,0,0,0,20.938,0C24.81,21.5,20.882,23.111,16.375,23.111Z" style="fill:#f37726"/><path d="M16.375,7.648c4.487,0,8.43,1.61,10.469,3.988a11.162,11.162,0,0,0-20.938,0C7.945,9.253,11.869,7.648,16.375,7.648Z" style="fill:#f37726"/><path d="M10.2,27.739a2.109,2.109,0,1,1-.2-.8,2.129,2.129,0,0,1,.2.8Z" style="fill:#9e9e9e"/><path d="M6.416,7.106A1.226,1.226,0,1,1,7.608,5.83,1.241,1.241,0,0,1,6.416,7.106Z" style="fill:#616262"/></svg>

After

Width:  |  Height:  |  Size: 836 B

5
assets/icons/link.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.197 3.35462C16.8703 1.67483 19.4476 1.53865 20.9536 3.05046C22.4596 4.56228 22.3239 7.14956 20.6506 8.82935L18.2268 11.2626M10.0464 14C8.54044 12.4882 8.67609 9.90087 10.3494 8.22108L12.5 6.06212" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
<path d="M13.9536 10C15.4596 11.5118 15.3239 14.0991 13.6506 15.7789L11.2268 18.2121L8.80299 20.6454C7.12969 22.3252 4.55237 22.4613 3.0464 20.9495C1.54043 19.4377 1.67609 16.8504 3.34939 15.1706L5.77323 12.7373" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 776 B

5
assets/icons/loading.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 1014 B

4
assets/icons/map.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 6H12.01M9 20L3 17V4L5 5M9 20L15 17M9 20V14M15 17L21 20V7L19 6M15 17V14M15 6.2C15 7.96731 13.5 9.4 12 11C10.5 9.4 9 7.96731 9 6.2C9 4.43269 10.3431 3 12 3C13.6569 3 15 4.43269 15 6.2Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 510 B

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<rect x="0" fill="none" width="20" height="20"/>
<g>

After

Width:  |  Height:  |  Size: 477 B

4
assets/icons/minus.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 12L18 12" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 335 B

50
assets/icons/move.svg Normal file
View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 330 330" xml:space="preserve">
<path id="XMLID_225_" d="M326.602,174.506c0.139-0.17,0.26-0.349,0.392-0.524c0.162-0.216,0.33-0.428,0.48-0.654
c0.144-0.213,0.267-0.435,0.397-0.654c0.12-0.2,0.246-0.396,0.356-0.603c0.12-0.225,0.223-0.457,0.331-0.687
c0.101-0.214,0.207-0.424,0.299-0.643c0.093-0.225,0.168-0.455,0.25-0.683c0.083-0.233,0.173-0.463,0.245-0.702
c0.069-0.231,0.121-0.465,0.18-0.699c0.061-0.241,0.128-0.479,0.177-0.725c0.054-0.272,0.086-0.547,0.125-0.822
c0.03-0.21,0.07-0.416,0.091-0.629c0.098-0.986,0.098-1.979,0-2.965c-0.021-0.213-0.061-0.419-0.091-0.629
c-0.039-0.274-0.071-0.55-0.125-0.822c-0.049-0.246-0.116-0.483-0.177-0.725c-0.059-0.233-0.11-0.468-0.18-0.699
c-0.072-0.238-0.162-0.468-0.245-0.702c-0.082-0.228-0.157-0.458-0.25-0.683c-0.092-0.219-0.198-0.429-0.299-0.643
c-0.108-0.23-0.211-0.461-0.331-0.687c-0.11-0.206-0.236-0.403-0.356-0.603c-0.131-0.219-0.254-0.441-0.397-0.654
c-0.15-0.226-0.318-0.438-0.48-0.654c-0.132-0.175-0.253-0.354-0.392-0.524c-0.315-0.384-0.646-0.753-0.998-1.103l-54.995-54.997
c-5.856-5.857-15.354-5.858-21.213-0.001c-5.858,5.858-5.858,15.355,0,21.213L278.788,150H180V51.213l29.394,29.393
c2.929,2.929,6.768,4.393,10.606,4.393s7.678-1.464,10.606-4.393c5.858-5.858,5.858-15.355,0-21.213L175.609,4.396
c-0.347-0.346-0.711-0.675-1.089-0.987c-0.1-0.082-0.207-0.151-0.308-0.23c-0.285-0.223-0.571-0.444-0.872-0.646
c-0.094-0.063-0.194-0.115-0.289-0.175c-0.318-0.203-0.639-0.403-0.973-0.582c-0.07-0.038-0.145-0.067-0.216-0.104
c-0.363-0.188-0.731-0.368-1.112-0.526c-0.05-0.02-0.103-0.036-0.153-0.056c-0.401-0.162-0.809-0.311-1.226-0.439
c-0.056-0.017-0.112-0.026-0.167-0.043c-0.411-0.12-0.827-0.23-1.252-0.315c-0.128-0.025-0.259-0.037-0.388-0.059
c-0.354-0.061-0.706-0.124-1.067-0.159C166.002,0.026,165.503,0,165,0c-0.502,0-1.002,0.026-1.497,0.076
c-0.368,0.037-0.727,0.1-1.087,0.162c-0.122,0.021-0.247,0.032-0.368,0.056c-0.433,0.086-0.854,0.197-1.272,0.32
c-0.049,0.014-0.098,0.023-0.146,0.038c-0.425,0.129-0.84,0.282-1.249,0.447c-0.042,0.018-0.087,0.03-0.129,0.047
c-0.388,0.161-0.764,0.344-1.135,0.536c-0.063,0.033-0.131,0.06-0.194,0.093c-0.341,0.184-0.669,0.387-0.994,0.595
c-0.088,0.056-0.18,0.105-0.268,0.163c-0.31,0.207-0.605,0.435-0.898,0.665c-0.093,0.072-0.19,0.136-0.282,0.211
c-0.379,0.312-0.743,0.641-1.09,0.987L99.396,59.393c-5.858,5.858-5.858,15.355,0,21.213c5.857,5.857,15.355,5.858,21.213,0
L150,51.214V150H51.213l29.394-29.394c5.858-5.858,5.858-15.355,0-21.213c-5.857-5.858-15.355-5.858-21.213,0L4.397,154.391
c-0.351,0.35-0.683,0.719-0.998,1.103c-0.139,0.17-0.261,0.349-0.392,0.524c-0.162,0.216-0.33,0.428-0.48,0.654
c-0.144,0.213-0.267,0.435-0.398,0.654c-0.12,0.2-0.246,0.396-0.356,0.603c-0.121,0.225-0.223,0.457-0.331,0.687
c-0.101,0.214-0.207,0.424-0.299,0.643c-0.093,0.225-0.168,0.455-0.25,0.683c-0.083,0.233-0.173,0.463-0.245,0.702
c-0.069,0.231-0.121,0.465-0.18,0.699c-0.061,0.241-0.128,0.479-0.177,0.725c-0.054,0.272-0.087,0.547-0.125,0.822
c-0.03,0.21-0.07,0.416-0.091,0.629c-0.098,0.986-0.098,1.979,0,2.965c0.021,0.213,0.061,0.419,0.091,0.629
c0.038,0.274,0.071,0.55,0.125,0.822c0.049,0.246,0.116,0.483,0.177,0.725c0.059,0.233,0.11,0.468,0.18,0.699
c0.072,0.238,0.162,0.468,0.245,0.702c0.082,0.228,0.157,0.458,0.25,0.683c0.092,0.219,0.198,0.429,0.299,0.643
c0.108,0.23,0.21,0.461,0.331,0.687c0.11,0.206,0.236,0.403,0.356,0.603c0.131,0.219,0.254,0.441,0.398,0.654
c0.15,0.226,0.318,0.438,0.48,0.654c0.131,0.175,0.253,0.354,0.392,0.524c0.316,0.384,0.647,0.753,0.998,1.103l54.997,54.997
C62.322,233.536,66.161,235,70,235s7.678-1.464,10.606-4.394c5.858-5.858,5.858-15.355,0-21.213L51.213,180H150v98.786
l-29.392-29.392c-5.857-5.858-15.355-5.857-21.213,0c-5.858,5.858-5.858,15.355,0,21.213l54.995,54.997
c0.347,0.347,0.711,0.676,1.09,0.987c0.092,0.075,0.189,0.138,0.282,0.21c0.293,0.23,0.588,0.458,0.898,0.665
c0.088,0.058,0.18,0.106,0.268,0.163c0.325,0.208,0.653,0.412,0.994,0.595c0.063,0.034,0.131,0.06,0.194,0.093
c0.371,0.192,0.747,0.375,1.135,0.536c0.042,0.018,0.087,0.03,0.129,0.047c0.409,0.165,0.824,0.318,1.249,0.447
c0.049,0.015,0.098,0.023,0.146,0.038c0.418,0.123,0.84,0.233,1.272,0.32c0.121,0.024,0.246,0.035,0.368,0.056
c0.359,0.063,0.719,0.125,1.087,0.162c0.495,0.05,0.995,0.076,1.497,0.076s1.002-0.026,1.497-0.076
c0.368-0.037,0.727-0.1,1.087-0.162c0.122-0.022,0.247-0.032,0.368-0.056c0.433-0.086,0.854-0.197,1.272-0.32
c0.049-0.014,0.098-0.023,0.146-0.038c0.425-0.129,0.84-0.282,1.249-0.447c0.042-0.018,0.087-0.03,0.129-0.047
c0.388-0.161,0.764-0.344,1.135-0.536c0.063-0.033,0.131-0.06,0.194-0.093c0.341-0.184,0.669-0.387,0.994-0.595
c0.088-0.056,0.18-0.104,0.268-0.163c0.31-0.207,0.605-0.435,0.898-0.665c0.093-0.072,0.19-0.136,0.282-0.21
c0.379-0.312,0.743-0.641,1.09-0.987l54.997-54.997c5.858-5.857,5.858-15.355,0-21.213c-5.856-5.857-15.354-5.858-21.213,0
L180,278.787V180h98.788l-29.393,29.394c-5.858,5.858-5.858,15.355,0,21.213c2.929,2.929,6.768,4.393,10.607,4.393
c3.839,0,7.678-1.465,10.606-4.394l54.995-54.997C325.955,175.259,326.286,174.89,326.602,174.506z"/>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

6
assets/icons/next.svg Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="-8.5 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<title>next</title>
<path d="M0 24.781v-17.594l15.281 8.813z"></path>
</svg>

After

Width:  |  Height:  |  Size: 323 B

19
assets/icons/opacity.svg Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 32 32" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6,6;}
.st3{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4,4;}
.st4{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;}
.st5{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-dasharray:3.1081,3.1081;}
.st6{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:4,3;}
</style>
<circle class="st0" cx="13" cy="13" r="10"/>
<path class="st0" d="M22.4,9.6c1.3,0.5,2.6,1.3,3.7,2.3c3.9,3.9,3.9,10.2,0,14.1s-10.2,3.9-14.1,0"/>
<path class="st6" d="M9.6,22.4c-1.3-3.5-0.5-7.6,2.3-10.5c2.8-2.8,6.9-3.6,10.5-2.3"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 6C12 5.44772 11.5523 5 11 5C10.4477 5 10 5.44772 10 6V16C10 16.5523 10.4477 17 11 17C11.5523 17 12 16.5523 12 16V6ZM9 9C9 8.44772 8.55228 8 8 8C7.44772 8 7 8.44772 7 9V16C7 16.5523 7.44772 17 8 17C8.55228 17 9 16.5523 9 16V9ZM15 9C15 8.44772 14.5523 8 14 8C13.4477 8 13 8.44772 13 9V16C13 16.5523 13.4477 17 14 17C14.5523 17 15 16.5523 15 16V9ZM18 13C18 12.4477 17.5523 12 17 12C16.4477 12 16 12.4477 16 13V16C16 16.5523 16.4477 17 17 17C17.5523 17 18 16.5523 18 16V13ZM6 15C6 14.4477 5.55228 14 5 14C4.44772 14 4 14.4477 4 15V16C4 16.5523 4.44772 17 5 17C5.55228 17 6 16.5523 6 16V15ZM21 15C21 14.4477 20.5523 14 20 14C19.4477 14 19 14.4477 19 15V16C19 16.5523 19.4477 17 20 17C20.5523 17 21 16.5523 21 16V15ZM4 18C3.44772 18 3 18.4477 3 19C3 19.5523 3.44772 20 4 20H21C21.5523 20 22 19.5523 22 19C22 18.4477 21.5523 18 21 18H4Z" fill="#000000"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

4
assets/icons/plus.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 12H18M12 6V18" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 340 B

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 32 32" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.st1{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.st2{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6,6;}
.st3{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4,4;}
.st4{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;}
.st5{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-dasharray:3.1081,3.1081;}
.st6{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:4,3;}
</style>
<rect x="4" y="4" class="st0" width="24" height="24"/>
<path class="st0" d="M4,25l4.9-4c3.1-2.5,7.3-3,11-1.4l0,0c2,0.9,4.2,1.1,6.4,0.7L28,20"/>
<path class="st0" d="M4,13l7-3.2c2.6-1.2,5.5-1.3,8.1-0.3l2.1,0.8c1.2,0.4,2.5,0.7,3.7,0.7H28"/>
<path class="st0" d="M24,4l-0.8,1.2C18.7,11.9,17.9,20.5,21,28l0,0"/>
<path class="st0" d="M14,4L14,4c-4.8,7.3-4.8,16.7,0,24l0,0"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

19
assets/icons/remove.svg Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 -0.5 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>delete [#1487]</title>
<desc>Created with Sketch.</desc>
<defs>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Dribbble-Light-Preview" transform="translate(-179.000000, -360.000000)" fill="#000000">
<g id="icons" transform="translate(56.000000, 160.000000)">
<path d="M130.35,216 L132.45,216 L132.45,208 L130.35,208 L130.35,216 Z M134.55,216 L136.65,216 L136.65,208 L134.55,208 L134.55,216 Z M128.25,218 L138.75,218 L138.75,206 L128.25,206 L128.25,218 Z M130.35,204 L136.65,204 L136.65,202 L130.35,202 L130.35,204 Z M138.75,204 L138.75,200 L128.25,200 L128.25,204 L123,204 L123,206 L126.15,206 L126.15,220 L140.85,220 L140.85,206 L144,206 L144,204 L138.75,204 Z" id="delete-[#1487]">
</path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

8
assets/icons/restore.svg Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<rect x="0" fill="none" width="20" height="20"/>
<g>

After

Width:  |  Height:  |  Size: 487 B

7
assets/icons/reticle.svg Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<svg id="reticle" viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M 0 7 L 5 7 L 5 9 L 0 9 L 0 7 Z" fill-rule="evenodd"/>
<path d="M 11 7 L 16 7 L 16 9 L 11 9 L 11 7 Z" fill-rule="evenodd"/>
<path d="M 7 11 L 9 11 L 9 16 L 7 16 L 7 11 Z" fill-rule="evenodd" />
<path d="M 7 0 L 9 0 L 9 5 L 7 5 L 7 0 Z" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 423 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 455 B

4
assets/icons/search.svg Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 469 B

1
assets/icons/select.svg Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 121.65 122.88" style="enable-background:new 0 0 121.65 122.88" xml:space="preserve"><g><path d="M1.96,0.28L1.91,0.3L1.88,0.32c-0.07,0.03-0.13,0.06-0.19,0.1L1.67,0.43L1.61,0.46L1.58,0.48C1.55,0.5,1.52,0.52,1.49,0.54 l0,0L1.45,0.57L1.44,0.57L1.41,0.59L1.38,0.61L1.34,0.64L1.29,0.68l-0.01,0C0.73,1.11,0.33,1.69,0.14,2.36 C0.03,2.7-0.01,3.07,0,3.43v2.05c0.02,2.55,2.78,4.12,4.98,2.8c0.67-0.41,1.15-1.02,1.4-1.73h3.46c2.55-0.02,4.12-2.78,2.8-4.98 C12.03,0.59,11,0.01,9.84,0H3.42C2.94-0.02,2.44,0.07,1.96,0.28L1.96,0.28z M101.11,122.86c0.09,0.02,0.19,0.02,0.29,0 c0.03-0.02,0.07-0.04,0.1-0.05l9.76-5.63c0.09-0.06,0.15-0.16,0.18-0.26c0.02-0.08,0.02-0.16-0.01-0.21l-10.7-18.65l0,0 c-0.09-0.16-0.15-0.33-0.19-0.51c-0.19-0.94,0.41-1.85,1.35-2.04l15.7-3.25c0.02-0.01,0.04-0.01,0.06-0.01 c1.35-0.28,2.5-0.76,3.26-1.36c0.37-0.29,0.62-0.59,0.72-0.87c0.06-0.18,0.03-0.39-0.09-0.63c-0.22-0.41-0.66-0.87-1.39-1.36 L66.79,51.49l4.95,64.46c0.07,0.88,0.24,1.49,0.48,1.88c0.14,0.23,0.31,0.35,0.5,0.39c0.29,0.06,0.67-0.01,1.11-0.18 c0.9-0.36,1.88-1.12,2.81-2.15l10.71-12.02l0,0c0.12-0.13,0.26-0.25,0.43-0.35c0.83-0.48,1.89-0.2,2.37,0.63l10.8,18.59 C100.97,122.8,101.03,122.84,101.11,122.86L101.11,122.86L101.11,122.86z M1.61,0.46C1.57,0.49,1.53,0.51,1.49,0.54L1.61,0.46 L1.61,0.46z M6.56,18.59c-0.02-2.55-2.78-4.12-4.98-2.8C0.59,16.4,0.01,17.43,0,18.59v6.55c0.02,2.55,2.78,4.12,4.98,2.8 c0.99-0.61,1.57-1.64,1.58-2.8V18.59L6.56,18.59z M6.56,38.26c-0.02-2.55-2.78-4.12-4.98-2.8C0.59,36.06,0.01,37.1,0,38.26v6.55 c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8V38.26L6.56,38.26z M6.56,57.92c-0.02-2.55-2.78-4.12-4.98-2.8 c-0.99,0.61-1.57,1.64-1.58,2.8v6.56c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8V57.92L6.56,57.92z M6.56,77.59 c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8v6.55c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8 V77.59L6.56,77.59z M6.56,97.25c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8v6.56c0.02,2.55,2.78,4.12,4.98,2.8 c0.99-0.61,1.57-1.64,1.58-2.8V97.25L6.56,97.25z M13.13,103.79c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58h6.55 c2.55-0.02,4.12-2.78,2.8-4.98c-0.61-0.99-1.64-1.57-2.8-1.58H13.13L13.13,103.79z M32.79,103.79c-2.55,0.02-4.12,2.78-2.8,4.98 c0.61,0.99,1.64,1.57,2.8,1.58h6.56c2.55-0.02,4.12-2.78,2.8-4.98c-0.61-0.99-1.64-1.57-2.8-1.58H32.79L32.79,103.79z M52.46,103.79c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58h6.56c2.55-0.02,4.12-2.78,2.8-4.98 c-0.61-0.99-1.64-1.57-2.8-1.58H52.46L52.46,103.79z M103.79,63.36c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8 v-6.56c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8V63.36L103.79,63.36z M103.79,43.7 c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8v-6.56c-0.02-2.55-2.78-4.12-4.98-2.8c-0.99,0.61-1.57,1.64-1.58,2.8 V43.7L103.79,43.7z M103.79,24.03c0.02,2.55,2.78,4.12,4.98,2.8c0.99-0.61,1.57-1.64,1.58-2.8v-6.55c-0.02-2.55-2.78-4.12-4.98-2.8 c-0.99,0.61-1.57,1.64-1.58,2.8V24.03L103.79,24.03z M104.63,6.56c0.99,1.1,2.69,1.49,4.14,0.61c0.99-0.61,1.57-1.64,1.58-2.8V3.42 c0.03-0.61-0.12-1.25-0.47-1.84c-0.61-0.99-1.64-1.57-2.8-1.58h-5.47c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58 H104.63L104.63,6.56z M88.5,6.56c2.55-0.02,4.12-2.78,2.8-4.98C90.69,0.59,89.66,0.01,88.5,0h-6.55c-2.55,0.02-4.12,2.78-2.8,4.98 c0.61,0.99,1.64,1.57,2.8,1.58H88.5L88.5,6.56z M68.83,6.56c2.55-0.02,4.12-2.78,2.8-4.98c-0.61-0.99-1.64-1.57-2.8-1.58h-6.56 c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58H68.83L68.83,6.56z M49.17,6.56c2.55-0.02,4.12-2.78,2.8-4.98 c-0.61-0.99-1.64-1.57-2.8-1.58h-6.56c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58H49.17L49.17,6.56z M29.5,6.56 c2.55-0.02,4.12-2.78,2.8-4.98C31.7,0.59,30.66,0.01,29.5,0h-6.55c-2.55,0.02-4.12,2.78-2.8,4.98c0.61,0.99,1.64,1.57,2.8,1.58 H29.5L29.5,6.56z"/></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 1920 1920" xmlns="http://www.w3.org/2000/svg">
<path d="M1703.534 960c0-41.788-3.84-84.48-11.633-127.172l210.184-182.174-199.454-340.856-265.186 88.433c-66.974-55.567-143.323-99.389-223.85-128.415L1158.932 0h-397.78L706.49 269.704c-81.43 29.138-156.423 72.282-223.962 128.414l-265.073-88.32L18 650.654l210.184 182.174C220.39 875.52 216.55 918.212 216.55 960s3.84 84.48 11.633 127.172L18 1269.346l199.454 340.856 265.186-88.433c66.974 55.567 143.322 99.389 223.85 128.415L761.152 1920h397.779l54.663-269.704c81.318-29.138 156.424-72.282 223.963-128.414l265.073 88.433 199.454-340.856-210.184-182.174c7.793-42.805 11.633-85.497 11.633-127.285m-743.492 395.294c-217.976 0-395.294-177.318-395.294-395.294 0-217.976 177.318-395.294 395.294-395.294 217.977 0 395.294 177.318 395.294 395.294 0 217.976-177.317 395.294-395.294 395.294" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

21
assets/icons/share.svg Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800px"
height="800px" viewBox="0 0 512 512" xml:space="preserve">
<g id="7935ec95c421cee6d86eb22ecd12b5bb">
<path style="display: inline;" d="M505.705,421.851c0,49.528-40.146,89.649-89.637,89.649c-49.527,0-89.662-40.121-89.662-89.649
c0-1.622,0.148-3.206,0.236-4.815l-177.464-90.474c-14.883,11.028-33.272,17.641-53.221,17.641
c-49.528,0-89.662-40.134-89.662-89.649s40.134-89.649,89.662-89.649c22.169,0,42.429,8.097,58.086,21.433l172.774-88.09
c-0.25-2.682-0.412-5.364-0.412-8.097c0-49.503,40.135-89.649,89.662-89.649c49.49,0,89.637,40.146,89.637,89.649
c0,49.516-40.146,89.65-89.637,89.65c-22.082,0-42.242-8.009-57.861-21.221l-172.999,88.215c0.224,2.558,0.387,5.14,0.387,7.76
c0,4.653-0.474,9.182-1.148,13.648l171.389,87.379c15.92-14.472,37.004-23.379,60.232-23.379
C465.559,332.201,505.705,372.348,505.705,421.851z">
</path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

10
assets/icons/show.svg Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" >
<path d="M0 0h48v48H0z" fill="none"/>
<g id="Shopicon">
<circle cx="24" cy="24" r="4"/>
<path d="M24,38c12,0,20-14,20-14s-8-14-20-14S4,24,4,24S12,38,24,38z M24,16c4.418,0,8,3.582,8,8s-3.582,8-8,8s-8-3.582-8-8
S19.582,16,24,16z"/>

After

Width:  |  Height:  |  Size: 464 B

6
assets/icons/stack.svg Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.1546 3.36026C12.4835 3.00999 11.5741 3.00459 10.8976 3.35396C8.30466 4.6931 5.95279 6.22853 3.89182 7.93154C3.57311 8.19489 3.34693 8.57758 3.35079 9.02802C3.35463 9.47662 3.58541 9.85419 3.90218 10.1132C5.94604 11.7844 8.29985 13.3212 10.8453 14.6497C11.5165 15 12.4258 15.0054 13.1023 14.656C15.6953 13.3169 18.0472 11.7815 20.1081 10.0785C20.4268 9.8151 20.653 9.43242 20.6492 8.98197C20.6453 8.53338 20.4145 8.1558 20.0978 7.89679C18.0539 6.22562 15.7001 4.6888 13.1546 3.36026ZM11.5859 4.68671C11.8256 4.56294 12.2193 4.56411 12.4606 4.69004C14.8899 5.95796 17.1283 7.41666 19.0675 8.99223C17.1167 10.5932 14.885 12.0471 12.414 13.3233C12.1744 13.4471 11.7807 13.4459 11.5394 13.32C9.11004 12.052 6.87163 10.5933 4.9324 9.01777C6.88321 7.41684 9.11496 5.96285 11.5859 4.68671Z" fill="#000000"/>
<path d="M21.197 12.698C21.4164 13.0494 21.3094 13.512 20.958 13.7314L14.8508 17.5443C14.022 18.0617 12.9938 18.3009 11.9999 18.301C11.006 18.301 9.9777 18.0619 9.14884 17.5446L3.10851 13.7749C2.75711 13.5556 2.65003 13.093 2.86934 12.7416C3.08864 12.3902 3.55128 12.2831 3.90268 12.5024L9.94301 16.2721C10.4872 16.6117 11.2264 16.801 11.9998 16.801C12.7732 16.8009 13.5124 16.6116 14.0564 16.2719L20.1636 12.459C20.515 12.2397 20.9776 12.3467 21.197 12.698Z" fill="#000000"/>
<path d="M21.197 16.4527C21.4164 16.804 21.3094 17.2667 20.9581 17.4861L15.6692 20.7889C14.6115 21.4494 13.2886 21.7602 11.9998 21.7602C10.7111 21.7603 9.38808 21.4497 8.3303 20.7894L3.10843 17.5296C2.75706 17.3102 2.65004 16.8476 2.86938 16.4962C3.08873 16.1448 3.55139 16.0378 3.90276 16.2572L9.12462 19.517C9.89764 19.9995 10.9316 20.2603 11.9998 20.2602C13.068 20.2602 14.1018 19.9993 14.8746 19.5167L20.1635 16.2138C20.5149 15.9944 20.9776 16.1013 21.197 16.4527Z" fill="#000000"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

1
assets/icons/target.svg Normal file
View File

@@ -0,0 +1 @@
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m27.95 15a12 12 0 0 0 -10.95-10.95v-4.05h-2v4.05a12 12 0 0 0 -10.95 10.95h-4.05v2h4.05a12 12 0 0 0 10.95 10.95v4.05h2v-4.05a12 12 0 0 0 10.95-10.95h4.05v-2zm-2 2a10 10 0 0 1 -8.95 8.95v-3.95h-2v3.95a10 10 0 0 1 -8.95-8.95h3.95v-2h-3.95a10 10 0 0 1 8.95-8.95v3.95h2v-3.95a10 10 0 0 1 8.95 8.95h-3.95v2z"/><circle cx="16" cy="16" r="2"/></svg>

After

Width:  |  Height:  |  Size: 410 B

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 122.88 122.88" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 122.88 122.88" xml:space="preserve">
<g>
<path d="M5.49,79.09l37.86,37.86C66.37,99.1,36.69,54.35,5.49,79.09L5.49,79.09z M42.39,62.21l18.29,18.29 c1.18,1.18,3.12,1.18,4.3,0l24.2-24.2c6.21-6.21,6.21-16.38,0-22.59v0c-6.21-6.21-16.38-6.21-22.59,0l-24.2,24.2 C41.2,59.09,41.2,61.02,42.39,62.21L42.39,62.21z M24.5,104.83L20.33,109c-1.48,1.48-3.89,1.48-5.38,0c-1.48-1.49-1.48-3.89,0-5.38 l4.17-4.17l-17-17l0.01-0.01c-0.13-0.13-0.25-0.26-0.36-0.4C0.15,80,0.49,77.01,2.54,75.38c13.15-10.43,26.24-10.1,36.28-4.46 c1.85,1.04,3.59,2.26,5.2,3.64l1.99-1.99l-6.99-6.99c-1.52-1.52-2.28-3.52-2.28-5.51c0-1.99,0.76-3.99,2.28-5.51l5.92-5.92 l-5.11-5.11l-3.76,3.76h0c-1.22,1.22-2.83,1.84-4.44,1.84c-1.59,0-3.19-0.61-4.42-1.84l-0.01-0.01l-0.01,0.01h0L3.53,23.62 c-1.22-1.22-1.84-2.83-1.84-4.44c0-1.59,0.62-3.19,1.85-4.43l-0.01-0.01L16.44,1.84l0,0c0.16-0.16,0.33-0.31,0.51-0.44 C18.09,0.47,19.48,0,20.87,0c1.59,0,3.19,0.61,4.42,1.84l0.01,0.01l0.01-0.01l0,0L48.97,25.5v0c1.22,1.22,1.84,2.83,1.84,4.44 c0,1.6-0.61,3.21-1.84,4.44v0l-3.77,3.77l5.11,5.11l12.91-12.91c4.03-4.03,9.35-6.05,14.66-6.05c5.31,0,10.62,2.02,14.66,6.05v0 c4.03,4.03,6.05,9.35,6.05,14.66c0,5.31-2.02,10.62-6.05,14.66L79.63,72.56l5.11,5.11l3.77-3.76c1.22-1.22,2.83-1.84,4.44-1.84 c1.6,0,3.21,0.61,4.44,1.84l23.66,23.66l0,0c1.22,1.22,1.84,2.83,1.84,4.44c0,1.6-0.61,3.21-1.84,4.44l0,0l-12.91,12.91 c-1.22,1.22-2.83,1.84-4.44,1.84c-1.6,0-3.21-0.61-4.44-1.84L75.6,95.69c-1.22-1.22-1.84-2.83-1.84-4.44 c0-1.59,0.61-3.19,1.84-4.42l0.01-0.01l-0.01-0.01l3.76-3.77l-5.11-5.11l-5.92,5.92c-1.52,1.52-3.52,2.28-5.51,2.28 c-1.99,0-3.99-0.76-5.51-2.28l-5.92-5.92l-2.15,2.15c2.47,3.26,4.37,6.93,5.57,10.75c3.27,10.41,1.4,21.91-8.23,29.61 c-1.86,1.73-4.78,1.68-6.59-0.13L24.5,104.83L24.5,104.83z M0.13,106.96c-0.53-1.89,0.57-3.86,2.47-4.39 c1.89-0.53,3.86,0.57,4.39,2.47c1,3.53,2.38,6.2,4.16,7.99c1.6,1.61,3.6,2.53,6.03,2.73c1.96,0.16,3.42,1.88,3.26,3.85 c-0.16,1.96-1.88,3.42-3.85,3.26c-4.17-0.36-7.65-1.98-10.48-4.83C3.45,115.38,1.47,111.67,0.13,106.96L0.13,106.96z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<title>line-thickness</title>
<g id="Layer_2" data-name="Layer 2">
<g id="invisible_box" data-name="invisible box">
<rect width="48" height="48" fill="none"/>
</g>
<g id="icons_Q2" data-name="icons Q2">
<rect x="4" y="40" width="40" height="2" rx="1" ry="1"/>
<rect x="4" y="31" width="40" height="4" rx="1" ry="1"/>
<rect x="4" y="20" width="40" height="6" rx="1" ry="1"/>
<rect x="4" y="7" width="40" height="8" rx="1" ry="1"/>
</g>
</g>

After

Width:  |  Height:  |  Size: 722 B

2
assets/icons/tooltip.svg Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" ?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 8H17M7 11H17M7 14H11M12.7071 20.2929L14.4142 18.5858C14.7893 18.2107 15.298 18 15.8284 18H19C20.1046 18 21 17.1046 21 16V6C21 4.89543 20.1046 4 19 4H5C3.89543 4 3 4.89543 3 6V16C3 17.1046 3.89543 18 5 18H8.17157C8.70201 18 9.21071 18.2107 9.58579 18.5858L11.2929 20.2929C11.6834 20.6834 12.3166 20.6834 12.7071 20.2929Z" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>

After

Width:  |  Height:  |  Size: 625 B

5
assets/icons/upload.svg Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5 3H12H8C6.34315 3 5 4.34315 5 6V18C5 19.6569 6.34315 21 8 21H12M13.5 3L19 8.625M13.5 3V7.625C13.5 8.17728 13.9477 8.625 14.5 8.625H19M19 8.625V11.8125" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17.5 21L17.5 15M17.5 15L20 17.5M17.5 15L15 17.5" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 622 B

12
assets/icons/wave-off.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>radio-waves-off</title>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="drop" fill="#000000" transform="translate(42.666667, 59.581722)">
<path d="M47.0849493,-1.42108547e-14 L409.751616,362.666662 L379.581717,392.836561 L224.385032,237.639687 C220.860185,238.582362 217.155464,239.084945 213.333333,239.084945 C189.768533,239.084945 170.666667,219.980945 170.666667,196.418278 C170.666667,192.596131 171.169289,188.891304 172.112051,185.366306 L139.826431,153.082007 C132.313635,165.779668 128,180.591824 128,196.418278 C128,225.705382 142.771649,251.517443 165.252619,266.884869 L165.936213,267.347345 L142.22272,302.835345 C107.92576,279.872145 85.3333333,240.793745 85.3333333,196.418278 C85.3333333,168.771392 94.1027249,143.181092 109.008491,122.262804 L78.5260125,91.7807903 C56.0534502,120.674052 42.6666667,156.978203 42.6666667,196.418278 C42.6666667,254.990374 72.1909377,306.645839 117.152291,337.383388 L118.519467,338.308411 L94.8164267,373.777211 C37.65632,335.507345 7.10542736e-15,270.376678 7.10542736e-15,196.418278 C7.10542736e-15,145.187604 18.0687461,98.1928701 48.1726947,61.4272737 L16.9150553,30.169894 L47.0849493,-1.42108547e-14 Z M331.850667,19.0593447 C389.0112,57.330278 426.666667,122.463078 426.666667,196.418278 C426.666667,232.022459 417.938869,265.581649 402.50917,295.083044 L370.487171,263.062096 C379.186559,242.589607 384,220.067743 384,196.418278 C384,137.846393 354.474684,86.1907213 309.514345,55.4556523 L308.1472,54.5307047 L331.850667,19.0593447 Z M284.443733,90.0020647 C318.741333,112.965478 341.333333,152.042811 341.333333,196.418278 C341.333333,207.884983 339.824831,218.997995 336.995658,229.570658 L298.502013,191.07712 C296.828044,164.007976 282.517524,140.376058 261.413207,125.948946 L260.7296,125.486438 L284.443733,90.0020647 Z" id="Combined-Shape">
</path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

12
assets/icons/wave-on.svg Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>radio-waves</title>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="drop" fill="#000000" transform="translate(42.666667, 78.641067)">
<path d="M256,177.358933 C256,200.9216 236.898133,220.0256 213.333333,220.0256 C189.768533,220.0256 170.666667,200.9216 170.666667,177.358933 C170.666667,153.796267 189.768533,134.692267 213.333333,134.692267 C236.898133,134.692267 256,153.796267 256,177.358933 Z M128,177.358933 C128,147.776 143.071573,121.73696 165.936213,106.427093 L142.22272,70.94272 C107.92576,93.9063467 85.3333333,132.983467 85.3333333,177.358933 C85.3333333,221.7344 107.92576,260.8128 142.22272,283.776 L165.936213,248.288 C143.071573,232.9792 128,206.941867 128,177.358933 Z M298.666667,177.358933 C298.666667,206.941867 283.594667,232.9792 260.7296,248.288 L284.443733,283.776 C318.741333,260.8128 341.333333,221.7344 341.333333,177.358933 C341.333333,132.983467 318.741333,93.9061333 284.443733,70.94272 L260.7296,106.427093 C283.594667,121.73696 298.666667,147.776 298.666667,177.358933 Z M331.850667,1.42108547e-14 L308.1472,35.47136 C353.8752,66.0885333 384,118.195413 384,177.358933 C384,236.522667 353.8752,288.629333 308.1472,319.246933 L331.850667,354.717867 C389.009067,316.448 426.666667,251.3152 426.666667,177.358933 C426.666667,103.403733 389.0112,38.2709333 331.850667,1.42108547e-14 Z M94.8164267,354.717867 L118.519467,319.249067 C72.7904,288.629333 42.6666667,236.522667 42.6666667,177.358933 C42.6666667,118.195413 72.7904,66.0885333 118.519467,35.4688 L94.8164267,1.42108547e-14 C37.65632,38.2709333 7.10542736e-15,103.40096 7.10542736e-15,177.358933 C7.10542736e-15,251.317333 37.65632,316.448 94.8164267,354.717867 Z" id="Shape">
</path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

83
codemeta.json Normal file
View File

@@ -0,0 +1,83 @@
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/GPL-3.0",
"codeRepository": "https://github.com/cds-astro/aladin-lite",
"dateCreated": "2013-05-01",
"datePublished": "2013-05-01",
"dateModified": "2023-01-31",
"issueTracker": "https://github.com/cds-astro/aladin-lite/issues",
"name": "Aladin Lite",
"version": "3.5.0-beta",
"softwareVersion": "3.5.0-beta",
"description": "An astronomical HiPS visualizer in the browser.",
"identifier": "10.5281/zenodo.7638833",
"applicationCategory": "Astronomy, Visualization",
"funding": "ESCAPE 824064",
"referencePublication": "http://aspbooks.org/publications/532/007.pdf",
"readme": "https://aladin.cds.unistra.fr/AladinLite/doc/",
"releaseNotes": "https://aladin.cds.unistra.fr/AladinLite/doc/#release-notes",
"funder": {
"@type": "Organization",
"name": "European Commission Framework Programme Horizon 2020 Research and Innovation action"
},
"keywords": [
"IVOA",
"Astronomy"
],
"programmingLanguage": [
"Rust",
"Javascript"
],
"relatedLink": [
"https://aladin.cds.unistra.fr/"
],
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-7123-773X",
"givenName": "Matthieu",
"familyName": "Baumann",
"email": "matthieu.baumann@unistra.fr",
"affiliation": {
"@type": "Organization",
"name": "Universit\u00e9 de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France"
}
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0001-5818-2781",
"givenName": "Thomas",
"familyName": "Boch",
"email": "thomas.boch@astro.unistra.fr",
"affiliation": {
"@type": "Organization",
"name": "Universit\u00e9 de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France"
}
}
],
"maintainer": [
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-7123-773X",
"givenName": "Matthieu",
"familyName": "Baumann",
"email": "matthieu.baumann@unistra.fr",
"affiliation": {
"@type": "Organization",
"name": "Universit\u00e9 de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France"
}
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0001-5818-2781",
"givenName": "Thomas",
"familyName": "Boch",
"email": "thomas.boch@astro.unistra.fr",
"affiliation": {
"@type": "Organization",
"name": "Universit\u00e9 de Strasbourg, CNRS, Observatoire astronomique de Strasbourg, UMR 7550, F-67000 Strasbourg, France"
}
}
]
}

View File

@@ -1,12 +0,0 @@
USER_ALADIN="matthieu.baumann"
DATEUPLOAD="$(date '+%Y-%m-%d')"
ssh $USER_ALADIN@aladin 'sg hips -c "mkdir -p $HOME/al-tmp && rm -rf $HOME/al-tmp/*"'
# Copy the dist files
scp dist/* $USER_ALADIN@aladin:~/al-tmp
ssh $USER_ALADIN@aladin 'sg hips -c "rm -rf /home/thomas.boch/AladinLite/www/api/v3/21-02-2023d &&
mkdir -p /home/thomas.boch/AladinLite/www/api/v3/21-02-2023d &&
cp $HOME/al-tmp/* /home/thomas.boch/AladinLite/www/api/v3/21-02-2023d &&
rm -rf /home/thomas.boch/AladinLite/www/api/v3/beta &&
ln -s /home/thomas.boch/AladinLite/www/api/v3/21-02-2023d /home/thomas.boch/AladinLite/www/api/v3/beta"'

View File

@@ -1,11 +0,0 @@
USER_ALADIN="matthieu.baumann"
DATEUPLOAD="$(date '+%Y-%m-%d')"
ssh $USER_ALADIN@aladin 'sg hips -c "mkdir -p $HOME/al-tmp && rm -rf $HOME/al-tmp/*"'
scp dist/* $USER_ALADIN@aladin:~/al-tmp
ssh $USER_ALADIN@aladin 'sg hips -c "rm -rf /home/thomas.boch/AladinLite/www/api/v3/22-12-2022 &&
mkdir -p /home/thomas.boch/AladinLite/www/api/v3/22-12-2022 &&
cp $HOME/al-tmp/* /home/thomas.boch/AladinLite/www/api/v3/22-12-2022 &&
rm -rf /home/thomas.boch/AladinLite/www/api/v3/latest &&
ln -s /home/thomas.boch/AladinLite/www/api/v3/22-12-2022 /home/thomas.boch/AladinLite/www/api/v3/latest"'

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -4,14 +4,12 @@
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', { fov:0.15, target: 'Arp 240', showReticle: false, fullScreen: true });
aladin.setBaseImageLayer(aladin.newImageSurvey('P/SDSS9/g', {colormap: "sinebow", stretch: "Linear"}));
aladin.setBaseImageLayer(aladin.newImageSurvey('P/SDSS9/g', {colormap: "eosb", stretch: "linear"}));
var simbad = A.catalog({name: 'Simbad', sourceSize: 16, color: '#4050F0'});
aladin.addCatalog(simbad);

View File

@@ -6,13 +6,11 @@
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: ["P/PanSTARRS/DR1/color-i-r-g"], showReticle: false, gridOptions: {opacity: 0.5}, projection: "AIT", cooFrame: 'galactic', target: "93.2721132 -20.9942421", fov: 1000, showGotoControl: false, showFrame: false, fullScreen: true, showLayersControl: true, showCooGrid: false, showCooGridControl: false});
aladin = A.aladin('#aladin-lite-div', {survey: "P/PanSTARRS/DR1/color-z-zg-g", showReticle: false, projection: "AIT", cooFrame: 'icrs', target: "stephan's quintet", fov: 1000, showGotoControl: false, showFrame: false, fullScreen: true, showLayersControl: true, showCooGrid: true, showCooGridControl: false});
const chft = aladin.createImageSurvey('CFHT', "CFHT deep view of NGC7331 and Stephan's quintet u+g+r", "https://cds.unistra.fr/~derriere/PR_HiPS/2022_Duc/", null, null, {imgFormat: 'png'});
const nircamJWST = aladin.createImageSurvey('Nircam', "Stephans Quintet NIRCam+MIRI", "http://alasky.cds.unistra.fr/JWST/CDS_P_JWST_Stephans-Quintet_NIRCam+MIRI/", null, null, {imgFormat: 'png', colormap: "viridis"});
@@ -23,7 +21,7 @@
aladin.getOverlayImageLayer("CFHT").toggle();
aladin.getOverlayImageLayer("Nircam").toggle();
let fov = 1000;
let fov = 360;
let rotation = 0;
setInterval(function zoom() {
@@ -31,8 +29,8 @@
fov *= 0.997;
rotation += 0.07;
aladin.setRotation(rotation)
aladin.setFov(fov);
aladin.setViewCenter2NorthPoleAngle(rotation)
aladin.setFoV(fov);
if (fov < 3 && fov > 0.5) {
let opacity = 1.0 - (fov - 0.5)/(3 - 0.5);

View File

@@ -4,24 +4,21 @@
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
let aladin = A.aladin('#aladin-lite-div', {projection: "TAN", survey: "P/HSC/DR2/deep/g", target: '02 21 36.529 -05 31 20.16', fov: 0.1});
let hscGreenSurvey = aladin.getBaseImageLayer();
hscGreenSurvey.setImageFormat("fits");
console.log(hscGreenSurvey)
hscGreenSurvey.setColormap("green", { stretch: "asinh" });
hscGreenSurvey.setCuts(-0.2186, 5.30322);
const HSCRedSurvey = aladin.createImageSurvey('HSC-r', "HSC red", "CDS/P/HSC/DR2/deep/r", null, null, {imgFormat: 'fits', colormap: "red", minCut: 0.34228, maxCut: 2.75785, additive: true, stretch: "asinh"});
const HSCBlueSurvey = aladin.createImageSurvey('HSC-b', "HSC blue", "CDS/P/HSC/DR2/deep/z", null, null, {imgFormat: 'fits', colormap: "blue", minCut: -0.01218, maxCut: 2.27397, additive: true, stretch: "asinh"});
const HSCRedSurvey = aladin.newImageSurvey('P/HSC/DR2/deep/r', {imgFormat: 'fits', colormap: "red", minCut: 0.34228, maxCut: 2.75785, additive: true, stretch: "asinh"});
const HSCBlueSurvey = aladin.newImageSurvey('P/HSC/DR2/deep/z', {imgFormat: 'fits', colormap: "blue", minCut: -0.01218, maxCut: 2.27397, additive: true, stretch: "asinh"});
aladin.setOverlayImageLayer('HSC-r', 'hsc red layer');
aladin.setOverlayImageLayer('HSC-b', 'hsc blue layer');
aladin.setOverlayImageLayer('P/HSC/DR2/deep/r', 'hsc red layer');
aladin.setOverlayImageLayer('P/HSC/DR2/deep/z', 'hsc blue layer');
});
</script>
</body>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -15,21 +15,16 @@
</div>
</div>
</div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<!-- <script type="text/javascript" src="https://aladin.u-strasbg.fr/AladinLite/api/v3/latest/aladin.js" charset="utf-8"></script> -->
<script type="text/javascript">
let aladin;
<script type="module">
import A from '../src/js/A.js';
var aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {cooFrame: 'galactic', fov: 400, fullScreen: true, showCooGrid: false, showReticle: false})
aladin = A.aladin('#aladin-lite-div', {projection: 'MOL', cooFrame: 'galactic', fov: 360, fullScreen: true, showCooGrid: false, showReticle: false})
aladin.gotoRaDec(79.9525321, -69.2742586)
const gaiaFlux = aladin.createImageSurvey('P/DM/flux-G/I/355/gaiadr3', "GaiaDR3GFlux", null, null, null, {imgFormat: 'fits', stretch: 'log'})
aladin.setBaseImageLayer(gaiaFlux)
gaiaFlux.setCuts(3e5, 1e8)
aladin.setProjection('MOL')
function notify(title, sub, delay) {
@@ -56,8 +51,7 @@
}
}
aladin.view.setGridConfig({opacity: 0, color: {r: 51/255, g: 209/255, b: 1}})
aladin.view.setGridConfig({enabled: true})
aladin.setCooGrid({enabled: true, opacity: 0, color: {r: 51, g: 209, b: 255}})
async function s_1() {
return new Promise((resolve, reject) => {
@@ -73,9 +67,9 @@
aladin.setFoV(400)
await delay(2000)
aladin.setProjection('HPX')
aladin.setFoV(400)
await delay(2000)
//aladin.setProjection('HPX')
//aladin.setFoV(400)
//await delay(2000)
aladin.setProjection('AIT')
aladin.setFoV(400)
@@ -102,7 +96,7 @@
async function showGrid() {
for await(const it of interval(50, 40)) {
aladin.view.setGridConfig({opacity: it / 40})
aladin.setCooGrid({opacity: it / 40})
}
}
@@ -159,7 +153,7 @@
async function hideGrid() {
for await(const it of interval(50, 40)) {
aladin.view.setGridConfig({opacity: 1 - it / 40})
aladin.setCooGrid({opacity: 1 - it / 40})
}
}
@@ -201,7 +195,7 @@
async function s10() {
for await(const it of interval(50, 80)) {
aladin.setRotation(0.5 * it)
aladin.setViewCenter2NorthPoleAngle(0.5 * it)
}
}
@@ -270,7 +264,7 @@
for await(const it of interval(intervalMs, nbIt+1)) {
fov = fovStart / Math.pow(fovEnd/fovStart, -it/nbIt)
aladin.setFoV(fov)
aladin.setRotation(40 - 40 * it/nbIt)
aladin.setViewCenter2NorthPoleAngle(40 - 40 * it/nbIt)
}
aladin.setFoV(fovEnd)
@@ -328,7 +322,7 @@
await delay(1000)
notify('Projection support:', 'Orthographic, Mercator, HEALPix, Aitoff', 6500)
notify('Projection support:', 'Orthographic, Mercator, Aitoff', 6500)
await delay(1000)

View File

@@ -7,10 +7,8 @@
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: "P/SPITZER/color", cooFrame: 'galactic', fov: 5});

28
examples/al-artifact.html Normal file
View File

@@ -0,0 +1,28 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 256px;"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
'#aladin-lite-div',
{
survey: 'https://alasky.cds.unistra.fr/Pan-STARRS/DR1/color-z-zg-g/', // set initial image survey
projection: 'SIN', // set a projection
fov: 114.19, // initial field of view in degrees
target: '19 24 51.556 +45 16 44.36', // initial target
cooFrame: 'equatorial', // set galactic frame
showCooGrid: true, // set the grid
}
);
});
</script>
</body>
</html>

View File

@@ -4,12 +4,11 @@
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
let aladin = A.aladin('#aladin-lite-div', {fov: 70,projection: "AIT"});
let hsc = aladin.newImageSurvey("P/HSC/DR2/deep/g", {colormap:"Purples", imgFormat: "fits"});
aladin.setBaseImageLayer(hsc);

View File

@@ -0,0 +1,37 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'M 1', fov: 180});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin.addOverlay(overlay);
overlay.add(A.circle(83.66067, 0, 30, {color: 'cyan'})); // radius in degrees
var cat = A.catalog({name: 'Some markers', sourceSize: 18});
aladin.addCatalog(cat);
cat.addSources([A.marker(83, 29, {popupTitle: 'Point1', popupDesc: 'Does not show up in circle'})]);
aladin.on("footprintClicked", (footprint) => {
console.log("footprint clicked catched", footprint)
})
aladin.on("objectClicked", (object) => {
console.log("object clicked catched", object)
})
aladin.on("footprintHovered", (footprint) => {
console.log("footprint hovered catched", footprint)
})
aladin.on("objectHoveredStop", (object) => {
console.log("Object hovered stopped", object)
})
});
</script>
</body>
</html>

View File

@@ -7,10 +7,8 @@
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite

View File

@@ -7,10 +7,8 @@
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'P/DSS2/red', target: 'M50', fov: 0.3});

View File

@@ -0,0 +1,45 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script>let aladin;</script>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {
target: "M31",
fov: 89.78,
showContextMenu: true,
fullScreen: true,
showSimbadPointerControl: true,
showShareControl: true,
showSettingsControl: true,
showStackLayerControl: true,
samp: true,
});
aladin.addCatalog(A.catalogFromVizieR("VII/237/pgc", "M31", 3, {
limit: 1000,
//orderBy: 'nb_ref',
onClick: 'showTable',
color: 'yellow',
hoverColor: 'blue',
shape: (s) => {
let coo = A.coo();
coo.parse(s.data['RAJ2000'] + ' ' + s.data['DEJ2000'])
let a = (0.1 * Math.pow(10, +s.data.logD25)) / 60;
let b = (1.0 / Math.pow(10, +s.data.logR25)) * a
return A.ellipse(coo.lon, coo.lat, a, b, +s.data.PA, {lineWidth: 3});
}
}));
});
</script>
</body>
</html>

View File

@@ -0,0 +1,110 @@
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, height=device-height, maximum-scale=1.0, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script>let aladin;</script>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {
target: "LMC",
fov: 10,
showContextMenu: true,
fullScreen: true,
showSimbadPointerControl: true,
showShareControl: true,
showSettingsControl: true,
showStackLayerControl: true,
samp: true,
});
let pmraMean = null, pmdecMean = null;
const pmCat = A.catalogFromURL('./data/votable/proper_motion.xml', {
onClick: 'showTable',
name: 'mean pm over HPX cells around LMC from GaiaDR2',
hoverColor: 'yellow',
selectionColor: 'white',
// Footprint associated to sources
shape: (s) => {
// discard drawing a vector for big pm
let totalPmSquared = s.data.pmra*s.data.pmra + s.data.pmdec*s.data.pmdec;
if (totalPmSquared > 6) {
return;
}
let color = rainbowColorMap((totalPmSquared - 2.5) / 2)
// Compute the mean of pm over the catalog sources
if (!pmraMean || !pmdecMean) {
pmraMean = 0, pmdecMean = 0;
for (var s of pmCat.getSources()) {
pmraMean += +s.data.pmra;
pmdecMean += +s.data.pmdec;
}
const numSources = pmCat.getSources().length;
pmraMean /= numSources
pmdecMean /= numSources
}
let dra = +s.data.pmra - pmraMean;
let ddec = +s.data.pmdec - pmdecMean;
return A.vector(
s.ra,
s.dec,
s.ra + dra,
s.dec + ddec,
{color}
)
}
});
aladin.addCatalog(pmCat);
});
function rainbowColorMap(value) {
// Ensure value is within range [0, 1]
value = Math.max(0, Math.min(1, value));
// Convert value to hue
var hue = (1 - value) * 240; // 240 is the maximum hue value for blue
// Convert HSV to RGB
var chroma = 1;
var x = chroma * (1 - Math.abs((hue / 60) % 2 - 1));
var r1, g1, b1;
if (hue >= 0 && hue < 60) {
[r1, g1, b1] = [chroma, x, 0];
} else if (hue >= 60 && hue < 120) {
[r1, g1, b1] = [x, chroma, 0];
} else if (hue >= 120 && hue < 180) {
[r1, g1, b1] = [0, chroma, x];
} else if (hue >= 180 && hue < 240) {
[r1, g1, b1] = [0, x, chroma];
}
var m = 1 - chroma;
var r = r1 + m;
var g = g1 + m;
var b = b1 + m;
// Convert RGB to HEX
r = Math.round(r * 255);
g = Math.round(g * 255);
b = Math.round(b * 255);
var colorHex = "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
return colorHex;
}
</script>
</body>
</html>

View File

@@ -0,0 +1,31 @@
<!doctype html>
<html>
<head>
<!--<link rel="stylesheet" href="./layers.css" />-->
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'P/DSS2/red', target: 'M50', fov: 0.7});
var cat1 = A.catalog({readOnly: true});
aladin.addCatalog(cat1);
cat1.addSources(A.source(105.69239256, -8.45235969));
cat1.addSources(A.source(105.70779763, -8.31350997));
cat1.addSources(A.source(105.74242906, -8.34776709));
var cat2 = A.catalog({readOnly: false});
aladin.addCatalog(cat2);
cat2.addSources(A.source(105.79239256, -8.45235969));
cat2.addSources(A.source(105.90779763, -8.31350997));
cat2.addSources(A.source(105.54242906, -8.34776709));
});
</script>
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!doctype html>
<html>
<head>
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
Show sources with proper motion greater than:
<input id='slider' style='vertical-align:middle;width:60vw;' step='1' min='0' max='10' type='range' value='0'>
<span id='pmVal' >0 mas/yr</span><br><br><div id='aladin-lite-div' style='width: 500px;height: 500px;'></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var pmThreshold = 0;
var slider = document.getElementById('slider');
slider.oninput = function() {
pmThreshold = this.value;
$('#pmVal').html(pmThreshold + ' mas/yr');
cat.reportChange();
}
var myFilterFunction = function(source) {
var hpmag = parseFloat(source.data['Hpmag']);
if (isNaN(hpmag)) {
return false;
}
return hpmag>pmThreshold;
}
aladin = A.aladin('#aladin-lite-div', {target: 'M 45', fov: 5});
var cat = A.catalogFromVizieR('I/311/hip2', 'M 45', 5, {onClick: 'showTable', filter: myFilterFunction});
aladin.addCatalog(cat);
});
</script>
</body>
</html>

View File

@@ -12,10 +12,8 @@ Show sources with proper motion greater than:
<input id='slider' style='vertical-align:middle;width:60vw;' step='1' min='0' max='500' type='range' value='0'>
<span id='pmVal' >0 mas/yr</span><br><br><div id='aladin-lite-div' style='width: 500px;height: 500px;'></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var pmThreshold = 0;
@@ -37,7 +35,7 @@ Show sources with proper motion greater than:
return totalPm>pmThreshold;
}
aladin = A.aladin('#aladin-lite-div', {target: 'gal center',fov: 150});
aladin = A.aladin('#aladin-lite-div', {target: 'gal center',fov: 150, showContextMenu: true});
var hips = A.catalogHiPS('http://axel.u-strasbg.fr/HiPSCatService/I/345/gaia2', {onClick: 'showTable', color: 'orange', name: 'Gaia', filter: myFilterFunction});
aladin.addCatalog(hips);

View File

@@ -0,0 +1,64 @@
<!DOCTYPE html>
<html>
<head> </head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from "../src/js/A.js";
let aladin;
A.init.then(() => {
aladin = A.aladin("#aladin-lite-div", {
target: "03 36 31.65 -35 17 43.1",
survey: "CDS/P/DES-DR2/ColorIRG",
fov: 3 / 60,
fullScreen: true,
showContextMenu: true,
showZoomControl: true,
showSettingsControl: true,
showSimbadPointerControl: true,
samp: true,
});
// define custom draw function
/*var hips = A.catalogHiPS(
"https://axel.u-strasbg.fr/HiPSCatService/Simbad",
{
onClick: "showTable",
name: "Simbad",
color: "cyan",
hoverColor: "red",
shape: (s) => {
let galaxy = ["Seyfert","Seyfert_1", "Seyfert_2","LSB_G","PartofG","RadioG","Gin","GinPair","HII_G","LensedG","BClG","BlueCompG","EmG","GinCl","GinGroup","StarburstG","LINER","AGN","Galaxy"].some((n) => s.data.main_type.indexOf(n) >= 0);
if (!galaxy) return;
let a = +s.data.size_maj;
let b = +s.data.size_min;
let theta = +s.data.size_angle || 0.0;
return A.ellipse(s.ra, s.dec, a / 60, b / 60, theta, { color: "cyan" });
},
}
);*/
var hips = A.catalogHiPS(
"https://axel.cds.unistra.fr/HiPSCatService/II/371/des_dr2",
{
onClick: "showTable",
name: "Simbad",
color: "cyan",
hoverColor: "red",
shape: (s) => {
let a = +s.data['Aimg']/3600;
let b = +s.data['Bimg']/3600;
let theta = +s.data['PA'];
return A.ellipse(s.ra, s.dec, a, b, theta, { color: "cyan" });
},
}
)
aladin.addCatalog(hips);
});
</script>
</body>
</html>

View File

@@ -6,14 +6,12 @@
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'LMC', fov: 55});
var hips = A.catalogHiPS('https://axel.u-strasbg.fr/HiPSCatService/Simbad', {onClick: 'showTable', name: 'Simbad'});
aladin = A.aladin('#aladin-lite-div', {target: 'LMC', fov: 55, showContextMenu: true});
var hips = A.catalogHiPS('https://axel.u-strasbg.fr/HiPSCatService/Simbad', {hoverColor: 'yellow', onClick: 'showPopup', name: 'Simbad'});
aladin.addCatalog(hips);
});
</script>

View File

@@ -4,19 +4,17 @@
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id="aladin-lite-div" style="width: 512px; height: 512px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: "P/PanSTARRS/DR1/color-z-zg-g", fov:1.5, target: "NGC 7318B"});
aladin = A.aladin('#aladin-lite-div', {survey: "data/hips/PanSTARRS_DR1_color-z-zg-g", fov:2.0, target: "22 35 58.39 +33 57 57.8", showSettingsControl: true, log: false});
aladin.setProjection('AIT');
let cfht = aladin.createImageSurvey("CFHT", "CFHT MegaCam u+g+r", "https://cds.unistra.fr/~derriere/PR_HiPS/2022_Duc/", "equatorial", 10, {imgFormat: 'png'});
let jwst1 = aladin.createImageSurvey("CDS/P/JWST/Stephans-Quintet/NIRCam+MIRI", "JWST NIRCam+MIRI", "http://alasky.cds.unistra.fr/JWST/CDS_P_JWST_Stephans-Quintet_NIRCam+MIRI", null, null, {imgFormat: 'png'});
let jwst2 = aladin.createImageSurvey("JWST2", "JWST MIRI", "http://alasky.cds.unistra.fr/JWST/CDS_P_JWST_Stephans-Quintet_MIRI", "equatorial", 12, {imgFormat: 'png'});
let cfht = aladin.createImageSurvey("CFHT", "CFHT MegaCam u+g+r", "./data/hips/CFHT", "equatorial", 10, {imgFormat: 'png'});
let jwst1 = aladin.createImageSurvey("CDS/P/JWST/Stephans-Quintet/NIRCam+MIRI", "JWST NIRCam+MIRI", "data/hips/JWST_NIRCam_MIRI", null, null, {imgFormat: 'png'});
let jwst2 = aladin.createImageSurvey("JWST2", "JWST MIRI", "data/hips/JWST_MIRI", "equatorial", 12, {imgFormat: 'png'});
aladin.setOverlayImageLayer('CFHT', 'overlay_CFHT');
aladin.setOverlayImageLayer('CDS/P/JWST/Stephans-Quintet/NIRCam+MIRI', 'overlay_JWST1');
aladin.setOverlayImageLayer('JWST2', 'overlay_JWST2');

View File

@@ -6,10 +6,8 @@
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite

View File

@@ -14,14 +14,16 @@
<!--link rel="stylesheet" href="css/grids-responsive-min.css"-->
<link rel="stylesheet" href="https://unpkg.com/purecss@2.0.3/build/buttons.css">
<link rel="stylesheet" href="https://unpkg.com/purecss@2.0.3/build/buttons-core.css">
<!--meta name="viewport" content="initial-scale=1.0, user-scalable=no"-->
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
let aladin;
</script>
<div id="aladin-lite-div" style="width:100vw;height:100vh;">
<div id="calibCircle" style="display: none;"></div>
<div id="explain" class="aladin-box"></div>
@@ -79,15 +81,15 @@
<div id="coo_epoca">
<a class="pure-button nav-button nav-goto" href="#">De Epoca</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
<div id="coo_legende">
<a class="pure-button nav-button nav-goto" href="#">Légende</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
<div id="coo_orion">
<a class="pure-button nav-button nav-goto" href="#">Orion</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
<div id="coo_magellan">
<a class="pure-button nav-button nav-goto" href="#">Magellan</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
@@ -95,7 +97,7 @@
<div id="coo_halley">
<a class="pure-button nav-button nav-goto" href="#">Halley</a><br>
&nbsp;&nbsp;<a class="pure-button nav-button nav-flyto" href="#">Move</a>
</div>
</div>
</div>
<style type="text/css"> .aladin-reticleColor { color: rgb(178, 50, 178); font-weight:bold;} </style>
@@ -104,27 +106,27 @@
html, body {
height: 100%;
}
body {
display: flex;
flex-direction: column;
}
.aladin-zoomControl {
top: 10% !important;
left: unset !important;
right: 4px !important;
}
.aladin-zoomControl a {
font-size: 24px !important;
padding: 22px !important;
}
#aladin{
flex: 1 1 0;
}
#explain {
padding: 4px;
top: 30%;
@@ -132,51 +134,51 @@
font-size: 11pt;
overflow: scroll;
}
#explain tbody tr:nth-child(even) {
background-color: #ffffff;
}
#explain tbody tr:nth-child(odd) {
background-color: #ccdaeb;
}
#layersControlLeft {
padding: 10px;
right: unset;
left: 4px;
top: 20vh;
}
#layersCL2 {
padding: 10px;
right: unset;
left: 4px;
top: 90vh;
}
#layersControlRight {
padding: 4px;
left: unset;
right: 4px;
top: 25vh;
}
#layersControlLeft, #layersControlRight, #layersCL2 input {
margin-right: 5px;
}
.img-hips {
padding: 5px;
margin: 5px;
}
#opacity-slider {
-webkit-appearance: none !important; /* Override default CSS styles */
width: 220px;
height: 25px;
}
#opacity-slider::-webkit-slider-thumb {
-webkit-appearance: none !important; /* Override default look */
appearance: none;
@@ -185,18 +187,18 @@
background: #4CAF50; /* Green background */
cursor: pointer; /* Cursor on hover */
}
#opacity-slider::-moz-range-thumb {
width: 25px; /* Set a specific slider handle width */
height: 25px; /* Slider handle height */
background: #4CAF50; /* Green background */
cursor: pointer; /* Cursor on hover */
}
.aladin-box {
font-size: 12px !important;
}
#calibCircle {
position: fixed;
border: 8px solid red;
@@ -208,30 +210,28 @@
z-index: 1000;
pointer-events: none;
}
.pure-table {
font-size: small;
}
.catcoro {
display: inline;
vertical-align: middle;
}
.coro-star {
vertical-align: middle;
}
</style>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="module">
import A from '../src/js/A.js';
import {Utils} from '../src/js/Utils';
<script type="text/javascript">
let aladin;
A.init.then(() => {
var hipsDir="http://alasky.u-strasbg.fr/CDS_P_Coronelli";
aladin = A.aladin("#aladin-lite-div", {showSimbadPointerControl: true, realFullscreen: true, fov: 100, allowFullZoomout: true, showReticle: false });
aladin = A.aladin("#aladin-lite-div", {showSimbadPointerControl: true, expandLayersControl: true, realFullscreen: true, fov: 100, allowFullZoomout: true, showReticle: false });
aladin.createImageSurvey('illenoroC', 'illenoroC', hipsDir, 'equatorial', 4, {imgFormat: 'jpg', longitudeReversed: false});
aladin.createImageSurvey('Coronelli', 'Coronelli', hipsDir, 'equatorial', 4, {imgFormat: 'jpg', longitudeReversed: true});
aladin.setImageSurvey('Coronelli');
@@ -252,13 +252,13 @@
aladin.addCatalog(hipsCats['constellations-boundaries']);
aladin.addCatalog(hipsCats['gaia']);
var coronelliStars = {
'coronelli-stars-white': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/white.xml", {name: 'Coronelli white', color: '#ffffff', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-yellow': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/yellow.xml", {name: 'Coronelli yellow', color: '#f6f874', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-red': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/red.xml", {name: 'Coronelli red', color: '#ff5555', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-blue': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/blue.xml", {name: 'Coronelli blue', color: '#1ca5ec', shape: 'rhomb', sourceSize: 10})
'coronelli-stars-white': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/white.xml", {name: 'Coronelli white', color: '#ffffff', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-yellow': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/yellow.xml", {name: 'Coronelli yellow', color: '#f6f874', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-red': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/red.xml", {name: 'Coronelli red', color: '#ff5555', shape: 'rhomb', sourceSize: 10}),
'coronelli-stars-blue': A.catalogFromURL("http://cdsweb.u-strasbg.fr/~derriere/coronelli/blue.xml", {name: 'Coronelli blue', color: '#1ca5ec', shape: 'rhomb', sourceSize: 20})
};
coronelliStars['coronelli-stars-white'].hide();
coronelliStars['coronelli-stars-yellow'].hide();
coronelliStars['coronelli-stars-red'].hide();
@@ -360,7 +360,7 @@
});
// listen to click on objects
aladin.on('objectClicked', function(source) {
aladin.on('objectClicked', function(source, xyMouseCoords) {
var html = '<table class="pure-table">';
if (curSelectedSource != null) {
@@ -497,7 +497,7 @@
deleteOverlayTimeout = undefined;
}
isDrawing = true;
points.push([drawOverlayCanvas.relMouseCoords(e)]);
points.push([Utils.relMouseCoords(e)]);
});
@@ -506,10 +506,10 @@
e.preventDefault();
drawOverlayCtx.clearRect(0, 0, drawOverlayCtx.canvas.width, drawOverlayCtx.canvas.height);
points[points.length-1].push(drawOverlayCanvas.relMouseCoords(e));
points[points.length-1].push(Utils.relMouseCoords(e));
drawOverlayCtx.beginPath();
for (var k=0; k<points.length; k++) {
drawOverlayCtx.moveTo(points[k][0].x, points[k][0].y);
for (var i = 1; i < points[k].length; i++) {

View File

@@ -0,0 +1,98 @@
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, height=device-height, maximum-scale=1.0, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
'#aladin-lite-div',
{
survey: 'P/allWISE/color', // set initial image survey
projection: 'AIT', // set a projection
fov: 1.5, // initial field of view in degrees
target: 'NGC 2175', // initial target
cooFrame: 'icrs', // set galactic frame
reticleColor: '#ff89ff', // change reticle color
reticleSize: 64, // change reticle size
showContextMenu: true,
fullScreen: true,
}
);
let btn = A.button({
content: 'My button',
classList: ['myButton'],
tooltip: {cssStyle: {color: 'red'}, content: 'Create a moc in pink!', position: {direction: 'top'}},
action(o) {
aladin.select('poly', p => {
try {
let ra = []
let dec = []
for (const v of p.vertices) {
let [lon, lat] = aladin.pix2world(v.x, v.y);
ra.push(lon)
dec.push(lat)
}
let moc = A.MOCFromPolygon(
{ra, dec},
{name: 'poly', lineWidth: 3.0, color: 'pink'},
);
aladin.addMOC(moc)
} catch(_) {
alert('Selection covers a region out of the projection definition domain.');
}
})
}
});
let btn2 = A.button({
content: 'I do nothing',
tooltip: {cssStyle: {color: 'red'}, content: 'Create a moc in pink!', position: {direction: 'top'}},
});
aladin.addUI(btn)
aladin.addUI(A.box({
header: {
title: "My window",
draggable: true,
},
classList: ['myBox'],
content: "This is the content of my window<br/> I can write proper html",
}))
aladin.addStatusBarMessage({
duration: 10000,
type: 'info',
message: 'Aladin Lite v3.3 is out. New features available:<ul><li>New Button, Box <b>objects</b></li><li>Polygonal, circular selection</li></ul>'
})
});
</script>
<style>
.myBox {
top: unset;
bottom: 0;
left: 0;
}
.myButton {
position: absolute;
bottom: 100px;
left: 0;
background-color: pink;
}
</style>
</body>
</html>

View File

@@ -0,0 +1,25 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
var aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {projection: 'AIT', cooFrame: 'galactic', fov: 200, target: 'galactic center'});
let dss = aladin.createImageSurvey("DSS blue band", "Color DSS blue HiPS", "http://alasky.cds.unistra.fr/DSS/DSS2-blue-XJ-S/", "equatorial", 9, {imgFormat: 'fits'})
aladin.setBaseImageLayer(dss);
aladin.getBaseImageLayer().setCuts(2, 10000);
});
</script>
</body>
</html>

View File

@@ -5,30 +5,26 @@
</head>
<body>
<div id="aladin-lite-div" style="width:440px;height:300px"></div>
<div id="aladin-lite-div" style="width: 512px; height: 512px"></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {cooFrame: "icrs", fullScreen: true});
aladin = A.aladin('#aladin-lite-div', {cooFrame: "icrs", log: false});
aladin.displayFITS(
'http://data.astropy.org/tutorials/FITS-images/HorseHead.fits', // url of the fits file
//'fits/HorseHead.fits',
//'fits/neowise.fits',
//'fits/irac.fits',
//'fits/FOCx38i0101t_c0f.fits',
//'https://fits.gsfc.nasa.gov/samples/FOCx38i0101t_c0f.fits', // url of the fits file
'data/fits/panstarrs-g-m61.fits',
{
minCut: 5000,
maxCut: 17000,
name: 'm61',
colormap: 'viridis'
}, // no optional params
(ra, dec, fov, image) => { // ra, dec and fov are centered around the fits image
image.setColormap("magma", {stretch: "asinh"});
(ra, dec, fov, _) => {
// ra, dec and fov are centered around the fits image
aladin.gotoRaDec(ra, dec);
aladin.setFoV(fov);
}
},
);
});
</script>

View File

@@ -16,17 +16,16 @@ Image Opacity: <br/> <input id="slider" type="range" value=1 min=0 max=1 step=0.
<input id="DSS" type="radio" name="survey" value="P/DSS2/Color" checked><label for="DSS">Optical (DSS2) <label>
<input id="2MASS" type="radio" name="survey" value="P/2MASS/Color"><label for="2MASS">Infrared (2MASS)<label>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: "0 0", cooFrame: "gal"});
var callback = function(ra, dec, fov) {
aladin.addCatalog(A.catalogFromSimbad( {ra: ra, dec: dec} , 1 , {shape: 'circle', color: '#5d5', onClick: 'showTable'}));
A.catalogFromSimbad( {ra: ra, dec: dec} , 1 , {shape: 'circle', color: '#5d5', onClick: 'showTable'}, (cat) => {
aladin.addCatalog(cat)
});
// we must return true, so that the default action (set view to center of image) is performed
return true;
}
@@ -42,7 +41,9 @@ Image Opacity: <br/> <input id="slider" type="range" value=1 min=0 max=1 step=0.
// the JPG to transform to HiPS
'https://noirlab.edu/public/media/archives/images/large/noirlab1912a.jpg',
// no options
{},
{
transparency: 1.0,
},
// A callback fn once the overlay is set
callback
);

View File

@@ -6,9 +6,8 @@
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
/*aladin = A.aladin('#aladin-lite-div', {fov: 360, fullScreen: true, cooFrame: 'galactic'});
@@ -26,8 +25,7 @@
aladin.setBaseImageLayer("P/PanSTARRS/DR1/g", {imgFormat: "fits"});
aladin.getBaseImageLayer().setColormap('redtemperature', {stretch: "Asinh"});*/
aladin = A.aladin('#aladin-lite-div', {survey: 'CDS/P/SDSS9/color', fov: 60, target: '0 90', fullScreen: true, cooFrame: 'equatorial', showCooGridControl: true, showSimbadPointerControl: true, showCooGrid: true});
aladin.setProjection('SIN');
aladin = A.aladin('#aladin-lite-div', {survey: 'CDS/P/SDSS9/color', fov: 150, target: '0 90', fullScreen: true, cooFrame: 'equatorial', showCooGridControl: true, showSimbadPointerControl: true, showCooGrid: true});
//let survey = aladin.createImageSurvey("P/PanSTARRS/DR1/g", null, null, null, null, );
/*aladin.setBaseImageLayer("P/PanSTARRS/DR1/g");

View File

@@ -0,0 +1,47 @@
<!doctype html>
<html>
<head>
</head>
<body>
<script type="module">
import A from '../src/js/A.js';
let el = document.createElement('div')
el.id = "aladin-lite-div"
el.style.width = '1024px';
el.style.height = '768px';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
el,
{
projection: 'AIT', // set a projection
fov: 1.5, // initial field of view in degrees
target: 'NGC 2175', // initial target
cooFrame: 'galactic', // set galactic frame
reticleColor: '#ff89ff', // change reticle color
reticleSize: 64, // change reticle size
showCooGrid: true, // set the grid
fullScreen: true,
showShareControl: true,
showSettingsControl: true,
showLayersControl: true,
showContextMenu: true,
showFullscreenControl: true,
}
);
document.body.appendChild(el);
});
</script>
<style>
.aladin-stack-control {
bottom: 0;
}
</style>
</body>
</html>

View File

@@ -5,15 +5,22 @@
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
let aladin;
<script>let aladin;</script>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
// Start up Aladin Lite
var aladin = A.aladin('#aladin-lite-div', {target: 'M 82', fov: 0.25});
aladin = A.aladin('#aladin-lite-div', {
target: '09 55 52.4 +69 40 47',
fov: 0.25,
showContextMenu: true,
fullScreen: true,
showSimbadPointerControl: true,
showShareControl: true,
showSettingsControl: true,
showStackLayerControl: true,
samp: true,
});
aladin.addCatalog(A.catalogFromSimbad('M 82', 0.1, {onClick: 'showTable'}));
aladin.addCatalog(A.catalogFromNED('09 55 52.4 +69 40 47', 0.1, {onClick: 'showPopup', shape: 'plus'}));

View File

@@ -5,15 +5,38 @@
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
<script type="text/javascript">
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {target: 'M 45', fov: 5});
aladin.addCatalog(A.catalogFromVizieR('I/311/hip2', 'M 45', 5, {onClick: 'showTable'}));
});
<script type="module">
import A from '../src/js/A.js';
var aladin;
var vmc_cepheids = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=401&FORMAT=votable&QUERY=SELECT%20*%20from%20vmc_er4_yjks_cepheidCatMetaData_fits_V3%20where%20%20CONTAINS(POINT(%27%27,RA2000,DEC2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
var pessto = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=3&FORMAT=votable&QUERY=SELECT%20*%20from%20safcat.PESSTO_TRAN_CAT_V3%20where%20CONTAINS(POINT(%27%27,TRANSIENT_RAJ2000,TRANSIENT_DECJ2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'https://alasky.cds.unistra.fr/DSS/DSSColor/', target: 'LMC', fov: 5, showContextMenu: true, showSettingsControl:true, samp:true});
aladin.addCatalog(A.catalogFromURL('https://vizier.u-strasbg.fr/viz-bin/votable?-source=HIP2&-c=LMC&-out.add=_RAJ,_DEJ&-oc.form=dm&-out.meta=DhuL&-out.max=9999&-c.rm=180', {sourceSize:12, color: '#f08080'}));
aladin.addCatalog(A.catalogFromURL(vmc_cepheids, {onClick: 'showTable', sourceSize:14, color: '#fff080'}));
aladin.addCatalog(A.catalogFromURL(pessto, {onClick: 'showPopup', sourceSize:14, color: '#00f080'}));
aladin.on('select', (objs) => {
console.log(objs, "are selected");
})
aladin.select('circle');
});
</script>
</body>
</html>

View File

@@ -6,24 +6,24 @@
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 31', fov: 0.2});
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 31', fov: 3});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin.addOverlay(overlay);
overlay.addFootprints([
A.polygon([[83.64287, 22.01713], [83.59872, 22.01692], [83.59852, 21.97629], [83.64295, 21.97629]]),
A.polygon([[83.62807, 22.06330], [83.58397, 22.02280], [83.62792, 22.02258]]),
A.ellipse(10.6833, 41.2669, 3.33333/2, 1.1798333/2, 35, {color: 'cyan'}),
A.ellipse(10.6833, 41.2669, 3.33333/2, 1.1798333/2, 10, {color: 'cyan'}),
// NGC 3048
A.ellipse(180.470842, -18.867589, 5.2/120, 3.1/120, 80, {color: 'cyan'}),
A.ellipse(180.470842, -18.867589, 5.2/120, 3.1/120, 10, {color: 'cyan'}),
// NGC 3049
A.ellipse(180.4742, -18.8850, 3.1/120, 1.6/120, 50, {color: 'cyan'}),
A.ellipse(180.4742, -18.8850, 3.1/120, 1.6/120, 10, {color: 'cyan'}),
]);
//overlay.add(); // radius in degrees
});

View File

@@ -0,0 +1,38 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
<script type="module">
import A from '../src/js/A.js';
var aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'https://alasky.cds.unistra.fr/DSS/DSSColor/', target: 'm1', fov: 5, showContextMenu: true, showSettingsControl:true, samp:true});
var customImg = new Image();
customImg.onload = function() {
const cat = A.catalogFromVizieR('II/246/out', 'm1', 0.1, {onClick: 'showTable', hoverColor: 'purple', limit: 1000, colnames: ["errMin", "errMaj", "errPA"], shape: (s) => {
if (+s.data['Jmag'] > 15) {
return;
} else {
let a = +s.data['errMaj']/36;
let b = +s.data['errMin']/36;
let theta = +s.data['errPA'];
return A.ellipse(s.ra, s.dec, a, b, theta, {fillColor: 'rgba(255, 0, 255, 0.2)', drawAxes: true})
}
}});
aladin.addCatalog(cat);
};
customImg.src = 'https://aladin.u-strasbg.fr/AladinLite/doc/API/examples/img/star.png';
});
</script>
</body>
</html>

View File

@@ -0,0 +1,23 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from '../src/js/A.js';
var vmc_cepheids = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=401&FORMAT=votable&QUERY=SELECT%20*%20from%20vmc_er4_yjks_cepheidCatMetaData_fits_V3%20where%20%20CONTAINS(POINT(%27%27,RA2000,DEC2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
var pessto = 'https://archive.eso.org/tap_cat/sync?REQUEST=doQuery&LANG=ADQL&MAXREC=3&FORMAT=votable&QUERY=SELECT%20*%20from%20safcat.PESSTO_TRAN_CAT_V3%20where%20CONTAINS(POINT(%27%27,TRANSIENT_RAJ2000,TRANSIENT_DECJ2000),%20CIRCLE(%27%27,80.894167,-69.756111,2.7))=1';
var aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'P/DSS2/red', target: 'LMC', fov: 5});
aladin.addCatalog(A.catalogFromURL('https://vizier.u-strasbg.fr/viz-bin/votable?-source=HIP2&-c=LMC&-out.add=_RAJ,_DEJ&-oc.form=dm&-out.meta=DhuL&-out.max=9999&-c.rm=180', {sourceSize:12, color: '#f08080'}));
aladin.addCatalog(A.catalogFromURL(vmc_cepheids, {onClick: 'showTable', sourceSize:14, color: '#fff080'}));
aladin.addCatalog(A.catalogFromURL(pessto, {onClick: 'showPopup', sourceSize:14, color: '#00f080'}), undefined, true);
});
</script>
</body>
</html>

View File

@@ -4,47 +4,72 @@
</head>
<body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<div id='infoDiv'>&nbsp; </div>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
var aladin = A.aladin('#aladin-lite-div', {target: '05 37 58 +08 17 35', fov: 12});
var cat = A.catalog({sourceSize: 20});
var aladin = A.aladin('#aladin-lite-div', {showContextMenu: true, target: '05 37 58 +08 17 35', fov: 12, backgroundColor: 'rgb(120, 0, 0)'});
var cat = A.catalog({sourceSize: 20, onClick: (s) => {console.log("kjk", s)}});
aladin.addCatalog(cat);
cat.addSources([A.source(83.784490, 09.934156, {name: 'Meissa'}), A.source(88.792939, 7.407064, {name: 'Betelgeuse'}), A.source(81.282764, 6.349703, {name: 'Bellatrix'})]);
cat.addSources([A.source(83.784490, 9.934156, {name: 'Meissa'}), A.source(88.792939, 7.407064, {name: 'Betelgeuse'}), A.source(81.282764, 6.349703, {name: 'Bellatrix'})]);
var msg;
// define function triggered when a source is hovered
aladin.on('objectHovered', function(object) {
var msg;
aladin.on('click', function(e) {
console.log(e)
});
let infoDiv = document.querySelector("#infoDiv");
aladin.on('objectHovered', function(object, xyMouseCoords) {
if (object) {
msg = 'You hovered object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec;
msg = 'You hovered object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec + '; mouse coords - x: '
+ xyMouseCoords.x + ', y: ' + xyMouseCoords.y;
}
else {
msg = 'No object hovered';
}
$('#infoDiv').html(msg);
infoDiv.innerText = msg;
});
aladin.on('objectHoveredStop', function(object, xyMouseCoords) {
if (object) {
msg = 'You stopped hove object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec + '; mouse coords - x: '
+ xyMouseCoords.x + ', y: ' + xyMouseCoords.y;
}
infoDiv.innerText = msg;
});
// define function triggered when an object is clicked
var objClicked;
aladin.on('objectClicked', function(object) {
var msg;
aladin.on('objectClicked', function(object, xyMouseCoords) {
if (object) {
objClicked = object;
object.select();
msg = 'You clicked object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec;
object.select();
msg = 'You clicked object ' + object.data.name + ' located at ' + object.ra + ', ' + object.dec + '; mouse coords - x: '
+ xyMouseCoords.x + ', y: ' + xyMouseCoords.y;
}
else {
objClicked.deselect();
msg = 'You clicked in void';
}
$('#infoDiv').html(msg);
infoDiv.innerText = msg;
});
aladin.on('resizeChanged', function() {
console.log("resize")
});
aladin.on('projectionChanged', function(proj) {
console.log(proj)
});
aladin.on('layerChanged', function(imageLayer, layer, state){
console.log(imageLayer, layer, state)
});
cat.sources[0].actionClicked();
});
</script>
</body>
</html>
</html>

View File

@@ -0,0 +1,26 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {fov: 122, showContextMenu: true, fullScreen: true});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin.addOverlay(overlay);
overlay.addFootprints([A.polygon(
[[264.375,-35.68533471265207], [258.75,-30.000000000000018], [264.375,-24.624318352164085], [270,-30.000000000000018]],
{color: '#808080', fillColor: '#808080', opacity: .4, lineWidth: 1, fill: true})]);
aladin.gotoRaDec(264.375,-24.624318352164085);
});
</script>
</body>
</html>

View File

@@ -6,22 +6,37 @@
<body>
<div id="aladin-lite-div" style="width: 500px; height: 400px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
// Start up Aladin Lite
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 1', fov: 0.2});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3});
aladin = A.aladin('#aladin-lite-div', {survey: "CDS/P/DSS2/color", target: 'M 1', fov: 0.2, showContextMenu: true, fullScreen: true});
var overlay = A.graphicOverlay({color: '#ee2345', lineWidth: 3, lineDash: [2, 2]});
aladin.addOverlay(overlay);
overlay.addFootprints([
A.polygon([[83.64287, 22.01713], [83.59872, 22.01692], [83.59852, 21.97629], [83.64295, 21.97629]]),
A.polygon([[83.64287, 22.01713], [83.59872, 22.01692], [83.59852, 21.97629], [83.64295, 21.97629]], {hoverColor: 'green'}),
A.polygon([[83.62807, 22.06330], [83.58397, 22.02280], [83.62792, 22.02258]]),
A.polygon([[8.62807, 220.06330], [83.58397, 10.02280], [150.62792, 87.02258]])
]);
overlay.add(A.circle(83.66067, 22.03081, 0.04, {color: 'cyan'})); // radius in degrees
overlay.add(A.vector(83.66067, 22.03081, 0.04, {color: 'cyan'})); // radius in degrees
aladin.on("footprintClicked", (footprint, xyMouseCoords) => {
console.log("footprint clicked catched: ", footprint, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
aladin.on("objectClicked", (object, xyMouseCoords) => {
console.log("object clicked catched: ", object, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
aladin.on("footprintHovered", (footprint, xyMouseCoords) => {
console.log("footprint hovered catched: ", footprint, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
aladin.on("objectHoveredStop", (object, xyMouseCoords) => {
console.log("Object hovered stopped: ", object, "mouse coords xy: ", xyMouseCoords.x, xyMouseCoords.y);
})
const cat = A.catalogFromVizieR('B/assocdata/obscore', 'M 1', 10, {onClick: 'showTable', hoverColor: 'purple', limit: 10000});
aladin.addCatalog(cat);
});
</script>
</body>

View File

@@ -0,0 +1,42 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
var aladin = A.aladin(
'#aladin-lite-div',
{
survey: 'P/allWISE/color', // set initial image survey
projection: 'AIT', // set a projection
fov: 0.1, // initial field of view in degrees
target: 'NGC 2175', // initial target
cooFrame: 'galactic', // set galactic frame
reticleColor: '#00ff00', // change reticle color
reticleSize: 40, // change reticle size
gridOptions: {color: 'pink'},
showCooGrid: true, // set the grid
fullScreen: true,
showShareControl: true,
showSettingsControl: true,
showLayersControl: true,
showZoomControl: true,
showContextMenu: true,
showCooGridControl: true,
showSimbadPointerControl: true,
showFullscreenControl: true,
}
);
aladin.setFoVRange(1, 60)
});
</script>
</body>
</html>

View File

@@ -0,0 +1,26 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div>
<div id="offset" style="display: inline-block; width: 200px; height: 100px"></div>
<div id="aladin-lite-div" style="display: inline-block; width: 50%"></div>
</div>
<!--<script type="text/javascript" src="https://aladin.cds.unistra.fr/AladinLite/api/v3/latest/aladin.js" charset="utf-8"></script>-->
<script>let aladin, hips</script>
<script type="module">
import A from '../src/js/A.js';
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {projection: 'TAN', cooFrame: 'galactic', showSettingsControl: true, showSimbadPointerControl: true, showContextMenu: true, target: 'galactic center', survey: 'P/Finkbeiner'});
// possible values are 'blues', 'cividis', 'cubehelix', 'eosb', 'grayscale', 'inferno', 'magma', 'native', 'parula', 'plasma', 'rainbow',
// 'rdbu', 'rdylbu', 'redtemperature', 'sinebow', 'spectral', 'summer', 'viridis', 'ylgnbu' and 'ylorbr'
//aladin.getBaseImageLayer().setColor([1.0, 0.0, 1.0, 1.0], { tf: 'Linear'} );
});
</script>
</body>
</html>

View File

@@ -14,11 +14,11 @@
<form class="pure-form pure-form-stacked">
<fieldset>
<label for="option-gdr3-flux-color-map" class="pure-radio">
<input id="option-gdr3-flux-color-map" type="radio" name="img-hips" value="CDS/P/DM/flux-color-Rp-G-Bp/I/350/gaiaedr3" checked>
<input id="option-gdr3-flux-color-map" type="radio" name="img-hips" value="CDS/P/DM/flux-color-Rp-G-Bp/I/350/gaiaedr3">
Gaia DR3 flux map
</label>
<label for="option-gdr3-density-map" class="pure-radio">
<input id="option-gdr3-density-map" type="radio" name="img-hips" value="CDS/P/DM/I/350/gaiaedr3">
<input id="option-gdr3-density-map" type="radio" name="img-hips" value="CDS/P/DM/I/350/gaiaedr3" checked>
Gaia DR3 density map
</label>
<label for="option-DSS-map" class="pure-radio">
@@ -36,10 +36,8 @@
</body>
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
$('#layersControl').show();
<script type="module">
import A from '../src/js/A.js';
var curSelectedSource = null;
let aladin;
A.init.then(() => {
@@ -50,7 +48,7 @@
const fluxMap = aladin.createImageSurvey('gdr3-color-flux-map', 'Gaia DR3 flux map', 'https://alasky.u-strasbg.fr/ancillary/GaiaEDR3/color-Rp-G-Bp-flux-map', 'equatorial', 7);
const densityMap = aladin.createImageSurvey('gdr3-density-map', 'Gaia DR3 density map', 'https://alasky.u-strasbg.fr/ancillary/GaiaEDR3/density-map', 'equatorial', 7, {imgFormat: 'fits'});
aladin.setImageSurvey(fluxMap);
aladin.setImageSurvey(densityMap);
var hipsCats = {
//'gdr3': A.catalogHiPS('https://axel.u-strasbg.fr/HiPSCatService/I/355/gaiadr3', { name: 'Gaia DR3 sources', shape: 'circle', sourceSize: 8, color: '#d66bae' }),
@@ -62,7 +60,7 @@
aladin.addCatalog(hipsCats['simbad']);
//aladin.addCatalog(hipsCats['gdr3']);
cmDensMapChanged = false;
//cmDensMapChanged = false;
// listen changes on HiPS image background selection
$('input[type=radio][name=img-hips]').change(function () {
if (this.value == 'CDS/P/DM/I/350/gaiaedr3') {
@@ -88,7 +86,7 @@
});
// listen to click on objects
aladin.on('objectClicked', function (source) {
aladin.on('objectClicked', function (source, xyMouseCoords) {
var html = '<table class="pure-table">';
if (curSelectedSource != null) {
@@ -142,4 +140,4 @@
});
});
</script>
</html>
</html>

View File

@@ -0,0 +1,16 @@
<!doctype html>
<html>
<head>
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: "P/DSS2/color", fov:1, showCooGridControl:true});
aladin.gotoObject('M 10');
});
</script>
</body>
</html>

View File

@@ -1,21 +1,23 @@
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
let aladin;
<script> var aladin;
</script>
<script type="module">
import A from '../src/js/A.js';
//let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {projection: "TAN", target: '15 16 57.636 -60 55 7.49', showCooGrid: true, fov: 90});
var moc_0_99 = A.MOCFromURL("./gw/gw_0.9.fits",{ name: "GW 90%", color: "#ff0000", opacity: 0.5, lineWidth: 1, adaptativeDisplay: true});
var moc_0_95 = A.MOCFromURL("./gw/gw_0.6.fits",{ name: "GW 60%", color: "#00ff00", opacity: 0.5, lineWidth: 1, adaptativeDisplay: true});
var moc_0_5 = A.MOCFromURL("./gw/gw_0.3.fits",{ name: "GW 30%", color: "#00ffff", opacity: 0.5, lineWidth: 1, adaptativeDisplay: false});
var moc_0_2 = A.MOCFromURL("./gw/gw_0.1.fits",{ name: "GW 10%", color: "#ff00ff", opacity: 0.5, lineWidth: 1, adaptativeDisplay: false});
aladin = A.aladin('#aladin-lite-div', {survey: "data/hips/CDS_P_DSS2_color", showReticle: true, showSurveyStackControl: true, showOverlayStackControl: false, projection: "TAN", target: '15 16 57.636 -60 55 7.49', showProjectionControl: true, realFullscreen: true, showZoomControl: true, showSimbadPointerControl: true, showShareControl: true, showContextMenu: true, showCooGridControl: true, fullScreen: true, showCooGrid: true, fov: 180, log: false});
var moc_0_99 = A.MOCFromURL("./data/gw/gw_0.9.fits",{ name: "GW 90%", color: "#ff0000", opacity: 0.0, lineWidth: 10, fill: false, perimeter: true});
var moc_0_95 = A.MOCFromURL("./data/gw/gw_0.6.fits",{ name: "GW 60%", color: "#00ff00", opacity: 0.5, lineWidth: 3, fill: true, perimeter: true});
var moc_0_5 = A.MOCFromURL("./data/gw/gw_0.3.fits",{ name: "GW 30%", color: "#00ffff", opacity: 0.5, lineWidth: 3, fill: true, perimeter: true});
var moc_0_2 = A.MOCFromURL("./data/gw/gw_0.1.fits",{ name: "GW 10%", color: "#ff00ff", opacity: 0.5, lineWidth: 3, fill: true, perimeter: true});
aladin.addMOC(moc_0_99);
aladin.addMOC(moc_0_95);

View File

@@ -6,10 +6,8 @@
<div id="aladin-lite-div" style="width: 1024px; height: 768px"></div>
<div id='aladin-statsDiv'></div>
<script type="text/javascript" src="./../aladin.js" charset="utf-8"></script>
<script type="text/javascript">
<script type="module">
import A from '../src/js/A.js';
let aladin;
A.init.then(() => {
aladin = A.aladin('#aladin-lite-div', {survey: 'http://alasky.cds.unistra.fr/ancillary/GaiaDR2/hips-density-map/', target: 'galactic center'});

Some files were not shown because too many files have changed in this diff Show More