map: more minor fixes

pull/396/head
Varun Patil 2023-02-09 08:25:37 -08:00
parent 4b462a1da6
commit 36f32da13f
6 changed files with 21 additions and 6 deletions

View File

@ -42,8 +42,9 @@ trait TimelineQueryMap
$lat = $query->createFunction('AVG(c.lat) AS lat');
$lon = $query->createFunction('AVG(c.lon) AS lon');
$count = $query->createFunction('COUNT(m.fileid) AS count');
$update = $query->createFunction('MAX(c.last_update) as u');
$query->select($lat, $lon, $count)
$query->select($lat, $lon, $update, $count)
->from('memories_mapclusters', 'c')
;
@ -80,6 +81,7 @@ trait TimelineQueryMap
(float) $cluster['lon'],
],
'count' => (float) $cluster['count'],
'u' => (int) $cluster['u'],
];
if (\array_key_exists('id', $cluster)) {
$c['id'] = (int) $cluster['id'];

View File

@ -72,6 +72,7 @@ trait TimelineWriteMap
->set('lon_sum', $query->createFunction("lon_sum + {$lon}"))
->set('lat', $query->createFunction('lat_sum / point_count'))
->set('lon', $query->createFunction('lon_sum / point_count'))
->set('last_update', $query->createNamedParameter(time(), IQueryBuilder::PARAM_INT))
->where($query->expr()->eq('id', $query->createNamedParameter($clusterId, IQueryBuilder::PARAM_INT)))
;
$query->executeStatement();
@ -87,6 +88,7 @@ trait TimelineWriteMap
'lon_sum' => $query->createNamedParameter($lon, IQueryBuilder::PARAM_STR),
'lat' => $query->createNamedParameter($lat, IQueryBuilder::PARAM_STR),
'lon' => $query->createNamedParameter($lon, IQueryBuilder::PARAM_STR),
'last_update' => $query->createNamedParameter(time(), IQueryBuilder::PARAM_INT),
])
;
$query->executeStatement();
@ -107,6 +109,7 @@ trait TimelineWriteMap
->set('lon_sum', $query->createFunction("lon_sum - {$lon}"))
->set('lat', $query->createFunction('lat_sum / point_count'))
->set('lon', $query->createFunction('lon_sum / point_count'))
->set('last_update', $query->createNamedParameter(time(), IQueryBuilder::PARAM_INT))
->where($query->expr()->eq('id', $query->createNamedParameter($clusterId, IQueryBuilder::PARAM_INT)))
;
$query->executeStatement();

View File

@ -98,6 +98,10 @@ class Version401100Date20230208181533 extends SimpleMigrationStep
'notnull' => false,
'default' => null,
]);
$table->addColumn('last_update', Types::INTEGER, [
'notnull' => false,
'default' => null,
]);
$table->setPrimaryKey(['id']);
$table->addIndex(['lat', 'lon'], 'memories_clst_ll_idx');

View File

@ -882,10 +882,10 @@ export default defineComponent({
.top-bar {
position: absolute;
top: 10px;
right: 60px;
right: min(60px, 10%);
padding: 8px;
width: 400px;
max-width: 100vw;
max-width: 80%;
background-color: var(--color-main-background);
box-shadow: 0 0 2px gray;
border-radius: 10px;
@ -907,6 +907,7 @@ export default defineComponent({
right: unset;
position: fixed;
width: 100vw;
max-width: 100vw;
border-radius: 0px;
opacity: 1;
padding-top: 3px;

View File

@ -339,7 +339,7 @@ export default defineComponent({
await this.$nextTick();
// Check if hash has changed
const viewerIsOpen = (this.$refs.viewer as any).isOpen;
const viewerIsOpen = (this.$refs.viewer as any)?.isOpen;
if (
from?.hash !== to.hash &&
to.hash?.startsWith("#v") &&

View File

@ -44,6 +44,7 @@ const ATTRIBUTION =
type IMarkerCluster = {
id?: number;
u?: any;
center: [number, number];
count: number;
};
@ -113,7 +114,11 @@ export default defineComponent({
},
clusterPreviewUrl(cluster: IMarkerCluster) {
return API.MAP_CLUSTER_PREVIEW(cluster.id);
let url = API.MAP_CLUSTER_PREVIEW(cluster.id);
if (cluster.u) {
url += `?u=${cluster.u}`;
}
return url;
},
zoomTo(center: [number, number]) {
@ -141,7 +146,7 @@ export default defineComponent({
.preview {
width: 48px;
height: 48px;
background-color: #fff;
background-color: rgba(0, 0, 0, 0.3);
border-radius: 5px;
position: relative;
transition: transform 0.2s;