feat: separate fusion field service and LTC into standalone modules, update core modules

- fusion_claims: separated field service logic, updated controllers/views
- fusion_tasks: updated task views and map integration
- fusion_authorizer_portal: added page 11 signing, schedule booking, migrations
- fusion_shipping: new standalone shipping module (Canada Post, FedEx, DHL, Purolator)
- fusion_ltc_management: new standalone LTC management module
This commit is contained in:
2026-03-11 16:19:52 +00:00
parent 1f79cdcaaf
commit 431052920e
274 changed files with 52782 additions and 7302 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -106,10 +106,7 @@ function numberedPinUri(fill, number) {
// ── Helpers ─────────────────────────────────────────────────────────
let _gmapsPromise = null;
function loadGoogleMaps(apiKey) {
if (window.google && window.google.maps) {
console.info("[FusionMap] Google Maps JS already loaded, reusing existing instance.");
return Promise.resolve();
}
if (window.google && window.google.maps) return Promise.resolve();
if (_gmapsPromise) return _gmapsPromise;
_gmapsPromise = new Promise((resolve, reject) => {
const cb = "_fc_gmap_" + Date.now();
@@ -720,10 +717,7 @@ export class FusionTaskMapController extends Component {
trafficModel: "bestguess",
},
}, (result, status) => {
if (status !== "OK" || !result.routes || !result.routes[0]) {
console.warn("[FusionMap] Directions API returned:", status, "for", seg.name);
return;
}
if (status !== "OK" || !result.routes || !result.routes[0]) return;
const route = result.routes[0];