UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 2.58 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{writableNameToId as e,idToReadableName as r,OriginId as t,idToWritableName as i}from"../../core/accessorSupport/PropertyOrigin.js";import{isFeatureServiceLayer as p}from"./layerUtils.js";const o=e=>"feature"===e.type&&!e.isTable,n={feature:{predicate:p,propertyGroups:[{id:"attribute-table-template",properties:["attributeTableTemplate"]},{id:"blend-mode",properties:["blendMode"],predicate:o},{id:"charts",properties:["charts"]},{id:"custom-parameters",properties:["customParameters"]},{id:"definition-expression",properties:["definitionExpression"]},{id:"display-filter",properties:["displayFilterInfo","displayFilterEnabled"],predicate:o},{id:"effect",properties:["effect","featureEffect"],predicate:o},{id:"feature-reduction",properties:["featureReduction"],predicate:o},{id:"floor-info",properties:["floorInfo"],predicate:o},{id:"form-template",properties:["formTemplate"]},{id:"labels",properties:["labelingInfo","labelsVisible"],predicate:o},{id:"legend-enabled",properties:["legendEnabled"],predicate:o},{id:"opacity",properties:["opacity"],predicate:o},{id:"order-by",properties:["orderBy"],predicate:o},{id:"popup",properties:["popupTemplate","popupEnabled"]},{id:"refresh-interval",properties:["refreshInterval"]},{id:"renderer",properties:["renderer"],predicate:o},{id:"scale-range",properties:["minScale","maxScale"],predicate:o},{id:"use-view-time",properties:["useViewTime"]}]}};function s(e){const r=n[e.type];return r?.propertyGroups.filter((r=>!r.predicate||r.predicate(e)))??[]}function d(e){const r=s(e),t=[];for(const i of r)t.push(...i.properties);return t}function a(e,r,t){return e.originIdOf(r)<t?"source":"overridden"}function c(r,t,i){const p=e(i),{id:o,properties:n}=t,s=n.map((e=>a(r,e,p))).reduce(((e,r)=>e===r?e:"overridden"));return{id:o,properties:[...n],status:s}}function f(t,i,p){const o=e(p);t.revert(i,r(o-1))}function u(r,p,o){const n=e(o),s=r,d=s.originIdOf(p);d<n&&d!==t.COMPUTED&&s.updateOrigin(p,i(n))}function l(e){const r=n[e.type];return!(!r||r.predicate&&!r.predicate(e))}function m(e,r){if(!l(e))return;const t=s(e).map((t=>c(e,t,r)));return{propertyGroupOriginInfos:t,status:t.map((e=>e.status)).reduce(((e,r)=>e===r?e:"mixed"))}}function b(e,r){if(!l(e))return;const t=d(e);for(const i of t)f(e,i,r)}function y(e,r){if(!l(e))return;const t=d(e);for(const i of t)u(e,i,r)}export{b as clearOverrides,y as disconnectFromSource,m as getLayerOriginInfo,l as isSupportedLayer};