mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-10 02:02:29 +08:00
feat(geomap): adjust cursor when adding new note
This commit is contained in:
parent
ef5b2d60f3
commit
fed0598b47
@ -22,6 +22,7 @@ export type InitCallback = ((L: Leaflet) => void);
|
||||
export default class GeoMapWidget extends NoteContextAwareWidget {
|
||||
|
||||
map?: Map;
|
||||
$container!: JQuery<HTMLElement>;
|
||||
private initCallback?: InitCallback;
|
||||
|
||||
constructor(widgetMode: "type", initCallback?: InitCallback) {
|
||||
@ -32,13 +33,13 @@ export default class GeoMapWidget extends NoteContextAwareWidget {
|
||||
doRender() {
|
||||
this.$widget = $(TPL);
|
||||
|
||||
const $container = this.$widget.find(".geo-map-container");
|
||||
this.$container = this.$widget.find(".geo-map-container");
|
||||
|
||||
library_loader.requireLibrary(library_loader.LEAFLET)
|
||||
.then(async () => {
|
||||
const L = (await import("leaflet")).default;
|
||||
|
||||
const map = L.map($container[0], {
|
||||
const map = L.map(this.$container[0], {
|
||||
|
||||
});
|
||||
|
||||
|
@ -15,6 +15,10 @@ const TPL = `\
|
||||
.leaflet-pane {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.geo-map-container.placing-note {
|
||||
cursor: crosshair;
|
||||
}
|
||||
</style>
|
||||
</div>`;
|
||||
|
||||
@ -118,6 +122,10 @@ export default class GeoMapTypeWidget extends TypeWidget {
|
||||
}
|
||||
}
|
||||
|
||||
#adjustCursor() {
|
||||
this.geoMapWidget.$container.toggleClass("placing-note", !!this.clipboard);
|
||||
}
|
||||
|
||||
async #onMapClicked(e: LeafletMouseEvent) {
|
||||
if (!this.clipboard) {
|
||||
return;
|
||||
@ -126,6 +134,7 @@ export default class GeoMapTypeWidget extends TypeWidget {
|
||||
const { noteId } = this.clipboard;
|
||||
await attributes.setLabel(noteId, LOCATION_ATTRIBUTE, [e.latlng.lat, e.latlng.lng].join(","));
|
||||
this.clipboard = undefined;
|
||||
this.#adjustCursor();
|
||||
}
|
||||
|
||||
getData(): any {
|
||||
@ -166,6 +175,7 @@ export default class GeoMapTypeWidget extends TypeWidget {
|
||||
toastService.showMessage(t("relation_map.click_on_canvas_to_place_new_note"));
|
||||
|
||||
this.clipboard = { noteId: note.noteId, title };
|
||||
this.#adjustCursor();
|
||||
}
|
||||
|
||||
async doRefresh(note: FNote) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user