12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Evented.js";import{clone as s}from"../../core/lang.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/Error.js";import"../../core/has.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";const d=new t.EventEmitter,i="esri.layers.mixins.EditBusLayer",l=Symbol(i);function o(e){return null!=e&&"object"==typeof e&&l in e}const a=t=>{var o;let a=class extends t{constructor(...e){super(...e),this[o]=!0,this.when().then((()=>{this.own([d.on("edits",(e=>{const t="layer"in e?e.layer:null,r="layer"in e?e.layer?.url:e.serviceUrl,d="layer"in e?e.layer?.layerId:e.layerId,i=e.event;if(t===this||r!==this.url)return;if(null!=d&&null!=this.layerId&&d===this.layerId)return void this.emit("edits",s(i));const l=i.editedFeatures?.find((({layerId:e})=>e===this.layerId));if(l){const{adds:e,updates:t,deletes:r}=l.editedFeatures,d={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:e?e.map((({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]}))):[],deletedFeatures:r?r.map((({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]}))):[],updatedFeatures:t?t.map((({current:{attributes:e}})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]}))):[],editedFeatures:s(i.editedFeatures)};this.emit("edits",d)}}))])}),(()=>{}))}};return o=l,a=e([r(i)],a),a};export{a as EditBusLayer,d as editEventBus,o as isEditBusLayer};
|