UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 2.96 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{substitute as e}from"../../../intl/substitute.js";import{isBatchAttributeFormViewModel as t,isCreateFeaturesWorkflow as o,isUpdateFeaturesWorkflow as i}from"../workflowUtils.js";import{loadFooterActionsComponents as n,FooterActions as a}from"./FooterActions.js";import{loadNoticesComponents as s,Notices as l}from"./Notices.js";import{loadPanelContentComponents as r,PanelContentSection as u,PanelContentSectionGroup as d,PanelContent as c}from"./PanelContent.js";import p from"./PendingFeatureList.js";import{Heading as m,incrementHeadingLevel as f}from"../../support/Heading.js";import"../../support/widgetUtils.js";import{tsx as h,tsxFragment as w}from"../../support/jsxFactory.js";const b=()=>Promise.all([n(),s(),r()]);function g({editorViewModel:n,headingLevel:s,messages:r,messagesCommon:b,onDelete:g,onDeleteAssociation:v,onSave:y,renderAttachments:k,renderFeatureForm:F,renderBatchAttributeForm:A,renderSketchToolbar:j}){const{activeFeatureCount:C,activeLeafWorkflow:S,activeWorkflow:L,formViewModel:D,syncing:I}=n;if(!S||!L||!D)return null;const P=S.type.includes("update"),B=t(D),H=C>1?r.multiFeature:r.singleFeature,T=P&&!S.hasPendingEdits||I||D.updating||D.disabled||t(D)&&D.readOnly,x=e(P?H.update:H.create,{count:C}),M="create-features"!==S?.type||!!S.data.selectedPendingFeature,V="shouldShowAttachments"in S&&S.shouldShowAttachments&&!B&&!D.activeRelationshipInput&&!D.activeAssociationInput,U=B?D.activeForm.inputs:D.inputs,W=o(S)&&U.every((e=>!e.visible))&&!V,E=i(S)?A:F,N=W?h(u,null,h(p,{headingLevel:s,key:"pending-feature-list",workflow:S})):h(u,{key:"panel-content-section"},h(l,{activeFeatureCount:C,messages:r,workflow:L}),h(d,null,M||"create-features"!==S.type?E():h(p,{headingLevel:s,key:"pending-feature-list",workflow:S}),V?h("div",{key:"attachments"},h(m,{level:f(s)},r.attachments),k()):null)),O=()=>{const{featureFormViewModel:e}=n;null!=e?.associationId&&(e.associationId=null)},R={appearance:"solid",onClick:y,disabled:T,label:x,type:"button"},q={appearance:"outline",onClick:g,disabled:I,kind:"danger",label:e(H.delete,{count:C}),type:"button"},z={...q,onClick:v,label:r.deleteAssociationTitle,type:"button"},G={...q,primaryLabel:b.delete,primaryText:b.delete,dropdownItems:[{onClick:v,label:r.deleteAssociationTitle}],type:"split-button"},J={appearance:"outline",onClick:O,disabled:I,label:b.cancel,type:"button"},K="viewing-associated-features"===n.page||"viewing-associated-layers"===n.page?[J]:[R,n.shouldShowDeleteButton&&!n.featureFormHasAssociation?q:void 0,n.shouldShowDeleteButton&&n.featureFormHasAssociation?G:void 0,!n.shouldShowDeleteButton&&n.featureFormHasAssociation?z:void 0];return h(w,null,W?j?.():void 0,h(c,{key:"attribute-panel-content"},N),h(a,{buttons:K}))}export{g as UpdateFeaturePanelContent,b as loadUpdateFeaturePanelContentComponents};