UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 4.15 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as t}from"../chunks/tslib.es6.js";import{serializeInclusionDefinitionToEntitiesPbf as e,serializeInclusionDefinitionToRelationshipsPbf as r}from"../applications/KnowledgeStudio/resourceSerializationUtils.js";import o from"../core/Clonable.js";import{MultiOriginJSONSupport as i}from"../core/MultiOriginJSONSupport.js";import{join as s}from"../core/urlUtils.js";import{generateUUID as n}from"../core/uuid.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{reader as l}from"../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import{writer as u}from"../core/accessorSupport/decorators/writer.js";import{nameToId as c}from"../core/accessorSupport/PropertyOrigin.js";import{getRelationshipEndNodeMap as m}from"../layers/knowledgeGraph/supportUtils.js";import{layoutTypes as d}from"./enums.js";import h from"./LayoutSettings.js";import y from"./NonspatialDataDisplay.js";import{f as g,t as U}from"../chunks/persistableUrlUtils.js";let f=class extends(o.ClonableMixin(i)){constructor(t){super(t),this.aggregatedEntitiesUrl=null,this.aggregatedRelationshipsUrl=null,this.autoCollapseRelationships=!0,this.centralityIsUpToDate=!0,this.entitiesUrl=null,this.layoutSettings=null,this.layoutType="organic-standard",this.nonspatialDataDisplay=null,this.relationshipsUrl=null}readEntitiesUrl(t,e,r){return g(t,r)}writeEntitiesUrl(t,e,r,o){const i=o?.portalItem,s=o?.resources,n=c(o?.origin),a=o?.webmap?.activeLinkChartLayer;i&&s&&null!=n&&a&&a.membershipModified?this._saveUrlAsNewResource(e,r,s,i,a):t&&(e[r]=U(t,o))}readRelationshipsUrl(t,e,r){return g(t,r)}writeRelationshipsUrl(t,e,r,o){const i=o?.portalItem,s=o?.resources,n=c(o?.origin),a=o?.webmap?.activeLinkChartLayer;i&&s&&null!=n&&a&&a.membershipModified?this._saveUrlAsNewResource(e,r,s,i,a):t&&(e[r]=U(t,o))}_saveUrlAsNewResource(t,e,r,o,i){t[e]="<pending>";const s=(i.knowledgeGraph.dataModel.relationshipTypes??[]).map((t=>t.name)).reduce(((t,e)=>{if(!e)return t;const{members:r}=i.dataManager.inclusionModeDefinition.namedTypeDefinitions.get(e)||{members:void 0};if(!r)return t;for(const[o]of r)t.push({id:o,typeName:e});return t}),[]);r.pendingOperations.push(new Promise((n=>{m(s,i.knowledgeGraph).then((s=>{b(i.dataManager.inclusionModeDefinition,e,i.knowledgeGraph,s).then((i=>{const s=j(o,"entitiesUrl"===e?"entitiesUrl":"relationshipsUrl");t[e]=s.itemRelativeUrl,r.toAdd.push({resource:s,content:{type:"blob",blob:i},compress:!1,finish:t=>{"entitiesUrl"===e?this.entitiesUrl=t.url:this.relationshipsUrl=t.url}}),n()}))}))})))}};t([a({type:String,json:{write:!0}})],f.prototype,"aggregatedEntitiesUrl",void 0),t([a({type:String,json:{write:!0}})],f.prototype,"aggregatedRelationshipsUrl",void 0),t([a({type:Boolean,json:{write:!0}})],f.prototype,"autoCollapseRelationships",void 0),t([a({type:Boolean,json:{write:!0}})],f.prototype,"centralityIsUpToDate",void 0),t([a({type:String,json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0}}})],f.prototype,"entitiesUrl",void 0),t([l("entitiesUrl")],f.prototype,"readEntitiesUrl",null),t([u("entitiesUrl")],f.prototype,"writeEntitiesUrl",null),t([a({type:h,json:{write:!0}})],f.prototype,"layoutSettings",void 0),t([a({type:d,json:{write:!0}})],f.prototype,"layoutType",void 0),t([a({type:y,json:{write:!0}})],f.prototype,"nonspatialDataDisplay",void 0),t([a({type:String,json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0}}})],f.prototype,"relationshipsUrl",void 0),t([l("relationshipsUrl")],f.prototype,"readRelationshipsUrl",null),t([u("relationshipsUrl")],f.prototype,"writeRelationshipsUrl",null),f=t([p("esri.linkChart.LinkChartProperties")],f);const w=f;function j(t,e){const r=`${e}-${n()}.dat`,o=s("linkChart",r);return t.resourceFromPath(o)}async function b(t,o,i,s){let n;return n="entitiesUrl"===o?await e(t,i,s):await r(t,i,s),new Blob([n],{type:"application/x-protobuf"})}export{w as default};