UNPKG

@ngageoint/mage.arcgis.service

Version:

A mage service plugin that synchronizes mage observations to a configured ArcGIS feature layer.

57 lines 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LayerInfo = void 0; /** * Contains information about a specific arc feature layer. */ class LayerInfo { /** * Constructor. * @param {string} url The url to the feature layer. * @param {MageEventId[]} events The events that are synching to this layer. * @param {LayerInfoResult} layerInfo The layer info. */ constructor(url, events, layerInfo) { /** * Mapping between field names and layer fields. */ this.layerFields = new Map(); /** * The events that are synching to this layer. */ this.events = new Set(); this.url = url; if (events && events.length > 0) { for (const event of events) { this.events.add(event); } } this.geometryType = layerInfo.geometryType; for (const field of layerInfo.fields) { this.layerFields.set(field.name, field); } } /** * Determine if the field is editable. * @param {string} field The field name. * @returns {boolean} true if editable */ isEditable(field) { let editable = false; const layerField = this.layerFields.get(field); if (layerField != null) { editable = layerField.editable; } return editable; } /** * Determine if the layer is enabled for the event. * @param {MageEventId} eventId The event. * @returns {boolean} true if enabled */ hasEvent(eventId) { return this.events.size === 0 || this.events.has(eventId); } } exports.LayerInfo = LayerInfo; //# sourceMappingURL=LayerInfo.js.map