mirror of
https://github.com/FoggedLens/deflock-app.git
synced 2026-10-11 10:18:42 +02:00
Operator profiles as list. Add simon property group.
This commit is contained in:
1 parent
618d31d016
commit
f1f145a35f
3 files changed
+44
-42
No files matched your search
@@ -92,11 +92,9 @@ cp lib/keys.dart.example lib/keys.dart
|
|||||||
### Current Development
|
### Current Development
|
||||||
- Import/Export map providers
|
- Import/Export map providers
|
||||||
- Swap in alprwatch.org/directions avoidance routing API
|
- Swap in alprwatch.org/directions avoidance routing API
|
||||||
- Help button with links to email, discord, and website
|
|
||||||
- Clean cache when nodes have disappeared / been deleted by others / queue item was deleted
|
- Clean cache when nodes have disappeared / been deleted by others / queue item was deleted
|
||||||
- Improve offline area node refresh live display
|
- Improve offline area node refresh live display
|
||||||
- Add default operator profiles (Lowe’s etc)
|
- Add Rekor profile
|
||||||
- Add Rekor, generic PTZ profiles
|
|
||||||
|
|
||||||
### Future Features & Wishlist
|
### Future Features & Wishlist
|
||||||
- Update offline area nodes while browsing?
|
- Update offline area nodes while browsing?
|
||||||
@@ -104,21 +102,12 @@ cp lib/keys.dart.example lib/keys.dart
|
|||||||
- Suspected locations expansion to more regions
|
- Suspected locations expansion to more regions
|
||||||
|
|
||||||
### Maybes
|
### Maybes
|
||||||
- Yellow ring for devices missing specific tag details?
|
- Yellow ring for devices missing specific tag details
|
||||||
- "Cache accumulating" offline area?
|
- "Cache accumulating" offline area
|
||||||
- "Offline areas" as tile provider?
|
- "Offline areas" as tile provider
|
||||||
- Maybe we could grab the full latest database for each profile just like for suspected locations? (Instead of overpass)
|
- Grab the full latest database for each profile just like for suspected locations (instead of overpass)
|
||||||
- Optional custom icons for camera profiles?
|
- Optional custom icons for profiles to aid identification
|
||||||
- Upgrade device marker design? (considering nullplate's svg)
|
- Custom device providers and OSM/Overpass alternatives
|
||||||
- Custom device providers and OSM/Overpass alternatives?
|
|
||||||
- More map data providers:
|
|
||||||
https://gis.sanramon.ca.gov/arcgis_js_api/sdk/jsapi/esri.basemaps-amd.html#osm
|
|
||||||
https://www.icgc.cat/en/Geoinformation-and-Maps/Base-Map-Service
|
|
||||||
https://github.com/CartoDB/basemap-styles
|
|
||||||
https://forum.inductiveautomation.com/t/perspective-map-theming-internet-tile-server-options/40164
|
|
||||||
https://github.com/roblabs/xyz-raster-sources
|
|
||||||
https://github.com/geopandas/xyzservices/blob/main/provider_sources/xyzservices-providers.json
|
|
||||||
https://medium.com/@go2garret/free-basemap-tiles-for-maplibre-18374fab60cb
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -13,27 +13,45 @@ class OperatorProfile {
|
|||||||
required this.tags,
|
required this.tags,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/// Get all built-in default operator profiles
|
||||||
|
static List<OperatorProfile> getDefaults() => [
|
||||||
|
OperatorProfile(
|
||||||
|
id: 'builtin-lowes',
|
||||||
|
name: "Lowe's",
|
||||||
|
tags: const {
|
||||||
|
'operator': "Lowe's",
|
||||||
|
'operator:wikidata': 'Q1373493',
|
||||||
|
'operator:type': 'private',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
OperatorProfile(
|
||||||
|
id: 'builtin-home-depot',
|
||||||
|
name: 'The Home Depot',
|
||||||
|
tags: const {
|
||||||
|
'operator': 'The Home Depot',
|
||||||
|
'operator:wikidata': 'Q864407',
|
||||||
|
'operator:type': 'private',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
OperatorProfile(
|
||||||
|
id: 'builtin-simon-property-group',
|
||||||
|
name: 'Simon Property Group',
|
||||||
|
tags: const {
|
||||||
|
'operator': 'Simon Property Group',
|
||||||
|
'operator:wikidata': 'Q2287759',
|
||||||
|
'operator:type': 'private',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
];
|
||||||
|
|
||||||
/// Built-in default: Lowe's operator profile
|
/// Built-in default: Lowe's operator profile
|
||||||
factory OperatorProfile.lowes() => OperatorProfile(
|
factory OperatorProfile.lowes() => getDefaults()[0];
|
||||||
id: 'builtin-lowes',
|
|
||||||
name: "Lowe's",
|
|
||||||
tags: const {
|
|
||||||
'operator': "Lowe's",
|
|
||||||
'operator:wikidata': 'Q1373493',
|
|
||||||
'operator:type': 'private',
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
/// Built-in default: The Home Depot operator profile
|
/// Built-in default: The Home Depot operator profile
|
||||||
factory OperatorProfile.homeDepot() => OperatorProfile(
|
factory OperatorProfile.homeDepot() => getDefaults()[1];
|
||||||
id: 'builtin-home-depot',
|
|
||||||
name: 'The Home Depot',
|
/// Built-in default: Simon Property Group operator profile
|
||||||
tags: const {
|
factory OperatorProfile.simonPropertyGroup() => getDefaults()[2];
|
||||||
'operator': 'The Home Depot',
|
|
||||||
'operator:wikidata': 'Q864407',
|
|
||||||
'operator:type': 'private',
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
OperatorProfile copyWith({
|
OperatorProfile copyWith({
|
||||||
String? id,
|
String? id,
|
||||||
|
|||||||
@@ -13,12 +13,7 @@ class OperatorProfileState extends ChangeNotifier {
|
|||||||
|
|
||||||
// Add default operator profiles if this is first launch
|
// Add default operator profiles if this is first launch
|
||||||
if (addDefaults) {
|
if (addDefaults) {
|
||||||
final defaults = [
|
_profiles.addAll(OperatorProfile.getDefaults());
|
||||||
OperatorProfile.lowes(),
|
|
||||||
OperatorProfile.homeDepot(),
|
|
||||||
];
|
|
||||||
|
|
||||||
_profiles.addAll(defaults);
|
|
||||||
await OperatorProfileService().save(_profiles);
|
await OperatorProfileService().save(_profiles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user