mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-11 09:41:40 -05:00
Add live map enabled setting
This commit is contained in:
parent
853d02cd80
commit
ebee214982
7 changed files with 43 additions and 5 deletions
|
|
@ -31,7 +31,7 @@ class Api::V1::SettingsController < ApiController
|
||||||
params.require(:settings).permit(
|
params.require(:settings).permit(
|
||||||
:meters_between_routes, :minutes_between_routes, :fog_of_war_meters,
|
:meters_between_routes, :minutes_between_routes, :fog_of_war_meters,
|
||||||
:time_threshold_minutes, :merge_threshold_minutes, :route_opacity,
|
:time_threshold_minutes, :merge_threshold_minutes, :route_opacity,
|
||||||
:preferred_map_layer, :points_rendering_mode
|
:preferred_map_layer, :points_rendering_mode, :live_map_enabled
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,11 @@ export default class extends Controller {
|
||||||
static targets = ["index"];
|
static targets = ["index"];
|
||||||
|
|
||||||
connect() {
|
connect() {
|
||||||
|
if (!this.hasIndexTarget) {
|
||||||
|
console.log("No index target found, skipping subscription")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
console.log("Imports controller connected", {
|
console.log("Imports controller connected", {
|
||||||
hasIndexTarget: this.hasIndexTarget,
|
hasIndexTarget: this.hasIndexTarget,
|
||||||
element: this.element,
|
element: this.element,
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ export default class extends Controller {
|
||||||
this.routeOpacity = parseFloat(this.userSettings.route_opacity) || 0.6;
|
this.routeOpacity = parseFloat(this.userSettings.route_opacity) || 0.6;
|
||||||
this.distanceUnit = this.element.dataset.distance_unit || "km";
|
this.distanceUnit = this.element.dataset.distance_unit || "km";
|
||||||
this.pointsRenderingMode = this.userSettings.points_rendering_mode || "raw";
|
this.pointsRenderingMode = this.userSettings.points_rendering_mode || "raw";
|
||||||
|
this.liveMapEnabled = this.userSettings.liveMapEnabled || false;
|
||||||
this.countryCodesMap = countryCodesMap();
|
this.countryCodesMap = countryCodesMap();
|
||||||
|
|
||||||
this.center = this.markers[this.markers.length - 1] || [52.514568, 13.350111];
|
this.center = this.markers[this.markers.length - 1] || [52.514568, 13.350111];
|
||||||
|
|
@ -551,6 +552,12 @@ export default class extends Controller {
|
||||||
Simplified
|
Simplified
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
<label for="live_map_enabled">
|
||||||
|
Live Map
|
||||||
|
<label for="live_map_enabled_info" class="btn-xs join-item inline">?</label>
|
||||||
|
<input type="checkbox" id="live_map_enabled" name="live_map_enabled" class='w-4' style="width: 20px;" value="false" ${this.liveMapEnabledChecked()} />
|
||||||
|
</label>
|
||||||
|
|
||||||
<button type="submit">Update</button>
|
<button type="submit">Update</button>
|
||||||
</form>
|
</form>
|
||||||
`;
|
`;
|
||||||
|
|
@ -583,6 +590,14 @@ export default class extends Controller {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
liveMapEnabledChecked(value) {
|
||||||
|
if (value === this.pointsRenderingMode) {
|
||||||
|
return 'checked';
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
updateSettings(event) {
|
updateSettings(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
|
@ -597,7 +612,8 @@ export default class extends Controller {
|
||||||
minutes_between_routes: event.target.minutes_between_routes.value,
|
minutes_between_routes: event.target.minutes_between_routes.value,
|
||||||
time_threshold_minutes: event.target.time_threshold_minutes.value,
|
time_threshold_minutes: event.target.time_threshold_minutes.value,
|
||||||
merge_threshold_minutes: event.target.merge_threshold_minutes.value,
|
merge_threshold_minutes: event.target.merge_threshold_minutes.value,
|
||||||
points_rendering_mode: event.target.points_rendering_mode.value
|
points_rendering_mode: event.target.points_rendering_mode.value,
|
||||||
|
live_map_enabled: event.target.live_map_enabled.checked
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class Immich::ImportParser
|
||||||
json.each.with_index(1) { |point, index| create_point(point, index) }
|
json.each.with_index(1) { |point, index| create_point(point, index) }
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_point(point)
|
def create_point(point, index)
|
||||||
return 0 if point['latitude'].blank? || point['longitude'].blank? || point['timestamp'].blank?
|
return 0 if point['latitude'].blank? || point['longitude'].blank? || point['timestamp'].blank?
|
||||||
return 0 if point_exists?(point, point['timestamp'])
|
return 0 if point_exists?(point, point['timestamp'])
|
||||||
|
|
||||||
|
|
|
||||||
14
db/data/20241107112451_add_live_map_enabled_to_settings.rb
Normal file
14
db/data/20241107112451_add_live_map_enabled_to_settings.rb
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class AddLiveMapEnabledToSettings < ActiveRecord::Migration[7.2]
|
||||||
|
def up
|
||||||
|
User.find_each do |user|
|
||||||
|
user.settings = user.settings.merge(live_map_enabled: false)
|
||||||
|
user.save!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
raise ActiveRecord::IrreversibleMigration
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -1 +1 @@
|
||||||
DataMigrate::Data.define(version: 20240730130922)
|
DataMigrate::Data.define(version: 20241107112451)
|
||||||
|
|
|
||||||
5
db/schema.rb
generated
5
db/schema.rb
generated
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.2].define(version: 2024_08_22_092405) do
|
ActiveRecord::Schema[7.2].define(version: 2024_10_30_152025) do
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
|
||||||
|
|
@ -53,6 +53,9 @@ ActiveRecord::Schema[7.2].define(version: 2024_08_22_092405) do
|
||||||
t.index ["user_id"], name: "index_areas_on_user_id"
|
t.index ["user_id"], name: "index_areas_on_user_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "data_migrations", primary_key: "version", id: :string, force: :cascade do |t|
|
||||||
|
end
|
||||||
|
|
||||||
create_table "exports", force: :cascade do |t|
|
create_table "exports", force: :cascade do |t|
|
||||||
t.string "name", null: false
|
t.string "name", null: false
|
||||||
t.string "url"
|
t.string "url"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue