@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
44 lines • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCleanMapStyle = void 0;
var tslib_1 = require("tslib");
/* eslint-disable @typescript-eslint/no-floating-promises */
var react_1 = require("react");
/**
* Fetches and cleans a MapLibre style JSON, removing any graticule layer.
*/
var useCleanMapStyle = function (url) {
var _a = (0, react_1.useState)(undefined), styleJson = _a[0], setStyleJson = _a[1];
(0, react_1.useEffect)(function () {
var cancelled = false;
(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var res, json, e_1;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 3, , 4]);
return [4 /*yield*/, fetch(url)];
case 1:
res = _a.sent();
return [4 /*yield*/, res.json()];
case 2:
json = (_a.sent());
if (!cancelled)
setStyleJson(json);
return [3 /*break*/, 4];
case 3:
e_1 = _a.sent();
console.error("Error loading style:", e_1);
return [3 /*break*/, 4];
case 4: return [2 /*return*/];
}
});
}); })();
return function () {
cancelled = true;
};
}, [url]);
return styleJson;
};
exports.useCleanMapStyle = useCleanMapStyle;
//# sourceMappingURL=useCleanMapStyle.js.map