Compare commits

..

1 Commits

Author SHA1 Message Date
Thomas Boch
7f1f69983f Create AUTHORS file 2025-04-22 15:23:56 +02:00
6 changed files with 63 additions and 27 deletions

25
AUTHORS Normal file
View File

@@ -0,0 +1,25 @@
AUTHORS
=======
This file lists the main developers and contributors to this project.
For a full list of commit authors, see: https://github.com/cds-astro/aladin-lite/graphs/contributors
Institutional Affiliation
--------------------------
Centre de Données astronomiques de Strasbourg (CDS)
https://cds.unistra.fr/
Main Developers
---------------
Thomas Boch (@tboch)
Matthieu Baumann (@bmatthieu3)
Acknowledgments
---------------
We also acknowledge all contributors who have submitted bug reports, feature requests,
documentation improvements, and patches through GitHub issues and pull requests.
This project is hosted on GitHub:
https://github.com/cds-astro/aladin-lite

View File

@@ -2,7 +2,7 @@
"homepage": "https://aladin.u-strasbg.fr/",
"name": "aladin-lite",
"type": "module",
"version": "3.6.2",
"version": "3.6.1",
"description": "An astronomical HiPS visualizer in the browser",
"author": "Thomas Boch and Matthieu Baumann",
"license": "GPL-3",

View File

@@ -3,7 +3,7 @@ name = "aladin-lite"
description = "Aladin Lite v3 introduces a new graphical engine written in Rust with the use of WebGL"
license = "BSD-3-Clause"
repository = "https://github.com/cds-astro/aladin-lite"
version = "3.6.2"
version = "3.6.1"
authors = [ "baumannmatthieu0@gmail.com", "matthieu.baumann@astro.unistra.fr",]
edition = "2018"

View File

@@ -505,15 +505,12 @@
.aladin-form .aladin-form-input {
display: flex;
justify-content: flex-end;
align-items: center;
justify-content: space-between;
}
.aladin-form-group > * {
margin-bottom: 0.4rem;
}
.aladin-form-group > *:last-of-type {
.aladin-form .aladin-form-input:last-of-type {
margin-bottom: 0;
}
@@ -530,6 +527,10 @@
width: 100%;
}
.aladin-form .aladin-form-input > label {
flex: 1;
}
.aladin-form .aladin-form-input .aladin-input {
flex: 2;
}
@@ -839,18 +840,13 @@
box-shadow: 0 0 1em 0 rgba(0, 0, 0, 0.2);
cursor: pointer;
font-family: monospace;
width: 100%;
box-sizing: content-box;
/* <option> colors */
/* Remove focus outline */
/* Remove IE arrow */
}
/* This is done so that the select shrink to the size of its parent (coupled with flex)
otherwise it fits its content options. If those are too big the select can go out of its parent */
.aladin-horizontal-list .aladin-input-select {
width: 100%;
}
.aladin-input-select option {
color: inherit;
background-color: #320a28;

View File

@@ -246,6 +246,8 @@ export let View = (function () {
// some variables for mouse handling
this.dragging = false;
this.dragCoo = null;
this.rightclickx = null;
this.rightclicky = null;
this.selectedLayer = 'base';
this.needRedraw = true;
@@ -616,7 +618,6 @@ export let View = (function () {
};
var longTouchTimer;
var longTouchDuration = 800;
var showContextMenu = true;
var xystart;
var handleSelect = function(xy, tolerance) {
@@ -687,7 +688,9 @@ export let View = (function () {
if (e.which === 3 || e.button === 2) {
view.rightClick = true;
showContextMenu = true;
view.rightClickTimeStart = Date.now();
view.rightclickx = xymouse.x;
view.rightclicky = xymouse.y;
if (view.selectedLayer) {
const imageLayer = view.imageLayers.get(view.selectedLayer);
@@ -773,11 +776,15 @@ export let View = (function () {
});
if (view.rightClick) {
if (showContextMenu) {
const rightClickDurationMs = Date.now() - view.rightClickTimeStart;
if (rightClickDurationMs < 100) {
view.aladin.contextMenu && view.aladin.contextMenu.show({e});
}
view.rightClick = false;
view.rightclickx = null;
view.rightclicky = null;
view.rightClickTimeStart = undefined;
return;
}
@@ -808,10 +815,11 @@ export let View = (function () {
view.aladin.statusBar.removeMessage('opening-ctxmenu')
}
clearTimeout(longTouchTimer)
longTouchTimer = undefined;
}
}
xystart = undefined;
if ((e.type === 'touchend' || e.type === 'touchcancel') && view.pinchZoomParameters.isPinching) {
view.pinchZoomParameters.isPinching = false;
view.pinchZoomParameters.initialFov = view.pinchZoomParameters.initialDistance = undefined;
@@ -913,6 +921,7 @@ export let View = (function () {
var lastMouseMovePos = null;
Utils.on(view.catalogCanvas, "mousemove touchmove", function (e) {
e.preventDefault();
//e.stopPropagation();
const xymouse = Utils.relMouseCoords(e);
@@ -926,17 +935,16 @@ export let View = (function () {
xy: xymouse,
});
let dist = (() => {
return (xymouse.x - xystart.x)*(xymouse.x - xystart.x) + (xymouse.y - xystart.y)*(xymouse.y - xystart.y)
})();
if (e.type === 'touchmove' && xystart) {
let dist = (() => {
return (xymouse.x - xystart.x)*(xymouse.x - xystart.x) + (xymouse.y - xystart.y)*(xymouse.y - xystart.y)
})();
if (longTouchTimer && dist > 100) {
if (view.aladin.statusBar) {
view.aladin.statusBar.removeMessage('opening-ctxmenu')
}
clearTimeout(longTouchTimer)
longTouchTimer = undefined;
xystart = undefined;
}
}
@@ -949,12 +957,11 @@ export let View = (function () {
return;
}
if (dist < 100) {
const rightClickDurationMs = Date.now() - view.rightClickTimeStart;
if (rightClickDurationMs < 100) {
return;
}
showContextMenu = false;
if(view.selectedLayer) {
let selectedLayer = view.imageLayers.get(view.selectedLayer);
@@ -1248,9 +1255,17 @@ export let View = (function () {
return;
switch (e.keyCode) {
// shift
case 16:
view.aladin.select('rect', (selection) => {
view.selectObjects(selection);
})
break;
// escape
case 27:
// if there is a selection occuring
view.selector && view.selector.cancel()
if (view.aladin.isInFullscreen) {
view.aladin.toggleFullscreen(view.aladin.options.realFullscreen);
}

View File

@@ -279,7 +279,7 @@ import { ActionButton } from "../Widgets/ActionButton.js";
header: Layout.horizontal([selectorBtn, 'Cone search']),
subInputs: [
{
label: "RA:",
label: "ra:",
name: "ra",
type: "text",
value: defaultRa,
@@ -291,7 +291,7 @@ import { ActionButton } from "../Widgets/ActionButton.js";
}
},
{
label: "Dec:",
label: "dec:",
name: "dec",
type: "text",
value: defaultDec,