MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / _updateLayerCatalogsId

Method _updateLayerCatalogsId

src/common/mapping/WebMapV3.js:645–681  ·  view source on GitHub ↗
({
    loopData,
    catalogs,
    layerIdMapList,
    catalogTypeField = 'type',
    layerIdsField = 'parts',
    unspportedLayers
  })

Source from the content-addressed store, hash-verified

643 }
644
645 _updateLayerCatalogsId({
646 loopData,
647 catalogs,
648 layerIdMapList,
649 catalogTypeField = 'type',
650 layerIdsField = 'parts',
651 unspportedLayers
652 }) {
653 loopData.forEach((loopItem) => {
654 const { id, children } = loopItem;
655 if (loopItem[catalogTypeField] === 'group') {
656 this._updateLayerCatalogsId({
657 loopData: children,
658 catalogs,
659 layerIdMapList,
660 catalogTypeField,
661 layerIdsField,
662 unspportedLayers
663 });
664 return;
665 }
666 const renderLayers = getLayerCatalogRenderLayers(loopItem[layerIdsField], id, layerIdMapList);
667 const matchLayer = layerIdMapList.find((item) => item.originId === renderLayers[0]);
668 if (matchLayer) {
669 const catalog = this._findLayerCatalog(catalogs, id);
670 catalog.id = matchLayer.renderId;
671 catalog.reused = matchLayer.reused;
672 if (catalog[layerIdsField]) {
673 catalog[layerIdsField] = this._renameLayerIdsContent(catalog[layerIdsField], layerIdMapList);
674 }
675 return;
676 }
677 if (unspportedLayers.includes(id) || renderLayers.some((layerId) => unspportedLayers.includes(layerId))) {
678 this._deleteLayerCatalog(catalogs, id);
679 }
680 });
681 }
682
683 /**
684 * @private

Callers 1

_setUniqueIdMethod · 0.95

Calls 6

_findLayerCatalogMethod · 0.95
_deleteLayerCatalogMethod · 0.95
forEachMethod · 0.80
findMethod · 0.45

Tested by

no test coverage detected