@arcgis/portal-components 6.0.0-next.2 → 6.0.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{46BUEBWS.js → 23NXHNPU.js} +1 -1
- package/dist/cdn/{6F4SJDRR.js → 2CN754CY.js} +1 -1
- package/dist/cdn/{JL52W3Z4.js → 2FQKDFEE.js} +1 -1
- package/dist/cdn/{L64UURQB.js → 2TDHJSMP.js} +1 -1
- package/dist/cdn/3FSPL34I.js +170 -0
- package/dist/cdn/{EITRZQSC.js → BYHX3UWV.js} +1 -1
- package/dist/cdn/CFRJU6VA.js +2 -0
- package/dist/cdn/D2YQWKME.js +135 -0
- package/dist/cdn/{EQDYQOOT.js → EY5S6ICQ.js} +1 -1
- package/dist/cdn/{MLYQGIJU.js → GGDOGNH4.js} +13 -13
- package/dist/cdn/{23FS4XTG.js → HCNTXLUT.js} +1 -1
- package/dist/cdn/{TLM457Z5.js → J5NPDIZM.js} +1 -1
- package/dist/cdn/JE2376SE.js +2 -0
- package/dist/cdn/{CXXV6WJT.js → MQK63FV7.js} +1 -1
- package/dist/cdn/N4VOTJ25.js +1 -1
- package/dist/cdn/{YTODQCOG.js → QROXYP6V.js} +1 -1
- package/dist/cdn/QTAYXO5T.js +2 -0
- package/dist/cdn/{AJQT7UXB.js → QUOLQGKP.js} +1 -1
- package/dist/cdn/{66XWNGQ2.js → QWHGLE3O.js} +1 -1
- package/dist/cdn/R3PK7XOP.js +2 -0
- package/dist/cdn/{WC3FPLYQ.js → REM3KCX6.js} +1 -1
- package/dist/cdn/{4AI52H7C.js → RNWICLRH.js} +1 -1
- package/dist/cdn/S6F7U36E.js +400 -0
- package/dist/cdn/SMX2LEJB.js +2 -0
- package/dist/cdn/{ABORO35R.js → TRMFL7PT.js} +1 -1
- package/dist/cdn/{LWFACY3F.js → UEP2NYJK.js} +1 -1
- package/dist/cdn/{32BWFMTC.js → URQML7KV.js} +1 -1
- package/dist/cdn/{6RZEXOK3.js → UZP4YMTE.js} +1 -1
- package/dist/cdn/VNU4QX7M.js +41 -0
- package/dist/cdn/YB3DR4VO.js +2 -0
- package/dist/cdn/Z3HGPBOR.js +2 -0
- package/dist/cdn/ZXNF77OB.js +2 -0
- package/dist/cdn/index.js +1 -1
- package/dist/components/arcgis-portal-account-switcher/customElement.js +27 -25
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.d.ts +4 -4
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.js +8 -8
- package/dist/components/arcgis-portal-account-switcher-list/customElement.d.ts +4 -4
- package/dist/components/arcgis-portal-account-switcher-list/customElement.js +6 -6
- package/dist/components/arcgis-portal-account-switcher-signout/customElement.d.ts +5 -5
- package/dist/components/arcgis-portal-account-switcher-signout/customElement.js +3 -3
- package/dist/components/arcgis-portal-ai-assistant/customElement.d.ts +10 -2
- package/dist/components/arcgis-portal-ai-assistant/customElement.js +1354 -1037
- package/dist/components/arcgis-portal-ai-assistant/data/capability-registries/types.d.ts +1 -1
- package/dist/components/arcgis-portal-ai-assistant/types/assistantTools.d.ts +44 -0
- package/dist/components/arcgis-portal-entity-picker/customElement.d.ts +7 -0
- package/dist/components/arcgis-portal-entity-picker/customElement.js +33 -27
- package/dist/components/arcgis-portal-group-card/customElement.js +16 -16
- package/dist/components/arcgis-portal-item-card/customElement.js +58 -58
- package/dist/components/arcgis-portal-navigation/index.js +1 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/loader.js +7 -7
- package/dist/types/lumina.d.ts +11 -11
- package/dist/types/preact.d.ts +11 -11
- package/dist/types/react.d.ts +11 -11
- package/dist/types/stencil.d.ts +11 -11
- package/package.json +7 -7
- package/dist/cdn/5PPZNVWG.js +0 -2
- package/dist/cdn/APSYZEPP.js +0 -209
- package/dist/cdn/BSTA5KI5.js +0 -2
- package/dist/cdn/GUO7HKSP.js +0 -463
- package/dist/cdn/GX7U3727.js +0 -2
- package/dist/cdn/NRMQDCM3.js +0 -2
- package/dist/cdn/RVYSVTPQ.js +0 -2
- /package/dist/components/arcgis-portal-ai-assistant/{agents/types.d.ts → types/navigation.d.ts} +0 -0
- /package/dist/components/arcgis-portal-ai-assistant/{agents → types}/portalRouteKeys.d.ts +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
+
import{$ as _,A,Aa as za,B,Ba as Aa,C,D,E,Ea as Ba,F,Fa as Ca,G,Ga as Da,H,Ha as Ea,Ia as Fa,Ja as Ga,K as J,Ka as Ha,L as K,La as Ia,M as L,Ma as Ja,N as M,Na as Ka,O as N,Oa as La,P as O,Q as P,R as Q,S as R,T as S,U as T,V as U,W as V,X as W,Y as X,Z as Y,_ as Z,a,aa as $,b,ba as aa,c,ca as ba,d,da as ca,e,ea as da,f,fa as ea,g,ga as fa,h,ha as ga,i,ia as ha,j,ja as ia,k,ka as ja,l,la as ka,m,ma as la,n,na as ma,o,oa as na,p,pa as oa,q,qa as pa,r,ra as qa,s,sa as ra,t,ta as sa,u,ua as ta,v,va as ua,w,wa as va,x,xa as wa,y,ya as xa,z,za as ya}from"./D2YQWKME.js";import{wa as I}from"./3FSPL34I.js";import"./GGDOGNH4.js";import"./5PV2GUZW.js";export{S as Annotation,O as AsyncBatchedStore,Q as BaseChannel,L as BaseCheckpointSaver,k as BaseLangGraphError,N as BaseStore,R as BinaryOperatorAggregate,d as COMMAND_SYMBOL,I as ChatModelStreamImpl,i as Command,e as CommandInstance,Ca as CompiledStateGraph,qa as DeltaChannel,ua as DeltaValue,b as END,B as EmptyChannelError,A as EmptyInputError,$ as EventLog,la as Graph,l as GraphBubbleUp,o as GraphDrained,q as GraphInterrupt,m as GraphRecursionError,ha as GraphRunStream,n as GraphValueError,c as INTERRUPT,P as InMemoryStore,C as InvalidUpdateError,M as MemorySaver,Da as MessageGraph,Ia as MessagesAnnotation,Aa as MessagesDeltaValue,za as MessagesValue,Ja as MessagesZodMeta,Ka as MessagesZodState,D as MultipleSubgraphsError,s as NodeError,r as NodeInterrupt,y as NodeTimeoutError,g as Overwrite,u as ParentCommand,wa as REMOVE_ALL_MESSAGES,sa as ReducedValue,F as RemoteException,X as RunControl,a as START,Y as STREAM_EVENTS_V3_MODES,f as Send,Ba as StateGraph,G as StateGraphInputError,va as StateSchema,$ as StreamChannel,ia as SubgraphRunStream,E as UnreachableNodeError,ta as UntrackedValue,ra as UntrackedValueChannel,xa as addMessages,_ as convertToProtocolEvent,K as copyCheckpoint,ja as createGraphRunStream,ba as createLifecycleTransformer,ca as createMessagesTransformer,ea as createSubgraphDiscoveryTransformer,fa as createValuesTransformer,J as emptyCheckpoint,Ga as entrypoint,aa as filterLifecycleEntries,da as filterSubgraphHandles,V as getConfig,W as getCurrentTaskInput,oa as getJsonSchemaFromSchema,Ha as getPreviousState,pa as getSchemaDefaultGetter,T as getStore,H as getSubgraphsSeenSet,U as getWriter,ka as interrupt,Z as isCheckpointEnvelope,j as isCommand,w as isGraphBubbleUp,p as isGraphDrained,x as isGraphInterrupt,h as isInterrupted,ga as isNativeTransformer,t as isNodeError,z as isNodeTimeoutError,v as isParentCommand,na as isSerializableSchema,ma as isStandardSchema,ya as messagesDeltaReducer,xa as messagesStateReducer,Ea as pushMessage,Fa as task,La as writer};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{_a as a}from"./
|
|
2
|
+
import{_a as a}from"./GGDOGNH4.js";import"./5PV2GUZW.js";async function c(e,i,o){if(o===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
|
|
3
3
|
|
|
4
4
|
If you continue to see this error, please import from "@langchain/core/callbacks/dispatch/web"`,"and explicitly pass in a config parameter.",`
|
|
5
5
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import f from"./I273CANO.js";import{a as w,b as P}from"./OR6T5SB3.js";import e from"./TGCJUIEL.js";import c from"./5HZNBMW6.js";import a from"./ROX3GKKA.js";import{a as S}from"./7ZWYUHGK.js";import{a as E,e as I}from"./A2SQ4EMZ.js";import"./K2XSYDAP.js";import{J as d,K as m,L as b,O as C,R as y,h as g,j as n}from"./AICPYLWE.js";import"./OUMTV5H5.js";import"./5PV2GUZW.js";export default $arcgis.t(([{createArcadeExecutor:F},{watch:q},{c:v},,{a:f,b:c,c:p,d:R,e:V,f:_},{a:x,b:$}])=>{async function k({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await T(e,r,t);return{[e]:{enabled:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function T(r,t,i){let a=t?.attributes?.[r];if(!a)return!1;let{isAttributeEnabled:e}=a;return e?await h(e,JSON.stringify(t),i):!0}async function j({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await M(e,r,t);return{[e]:{valueExpressionResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function M(r,t,i){let a=t.attributes[r];if(!a)throw Error(`Attribute ${r} not found in schema`);let e=a.valueExpression,s=a.validValues,o=a.validValuesMap;return s?.length?s:o&&Object.keys(o)?.length?o:e?await h(e,t,i,r):null}async function N({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await H(e,r,t);return{[e]:{attributeValidationResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function H(r,t,i){let a=t?.attributes?.[r];if(!a)return null;let e=a?.attributeValidation;return e?await h(e,JSON.stringify(t),i,r):null}var O=async(r,t)=>{let i=r?.bannerExpression;return i?.length?await h(i,r,t):W(r,t)},W=(r,t)=>{let i=Object.entries(r.attributes).sort(([,s],[,o])=>(s?.bannerOrder??0)-(o?.bannerOrder??0)),a=[],e=[];return i.forEach(([s,o])=>{let l=t?.[s];l&&o.bannerOrder&&(a.push(U({elementType:o.uiElement??"",selectionDisplayLabel:o.bannerLabel??"",labelDelimiter:o.labelDelimiter??"",classificationProp:l,valueDelimiter:o.valueDelimiter??""})),e.push(o.attributeDelimiter??""))}),a.length>0?a.reduce((s,o,l)=>l===0?o:`${s}${e[l-1]}${o}`,""):""},U=({elementType:r,selectionDisplayLabel:t,labelDelimiter:i,classificationProp:a,valueDelimiter:e})=>{let s=r.includes("multi")&&a?a.split("").join(e):a;return`${t}${i}${s}`};async function h(r,t,i,a=""){let e={schemaJsonString:typeof t=="string"?t:JSON.stringify(t),valueJsonString:JSON.stringify(i),attributeId:a};return(await J(r)).execute(e)}async function J(r){return await F(r,{variables:[{name:"schemaJsonString",type:"text"},{name:"valueJsonString",type:"text"},{name:"attributeId",type:"text"}]})}var L=g`:host{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.header-section{padding:var(--calcite-spacing-sm)}.header-section__title-container{display:flex;align-items:center;justify-content:space-between}.header-section__title-text{margin:unset;font-weight:unset;font-size:var(--calcite-font-size)}.header-section__title-popover{padding:var(--calcite-spacing-md)}.form-section{display:flex;border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-1);padding:var(--calcite-spacing-sm);height:100%;overflow:hidden}.form-section__sidebar{flex:1;padding:var(--calcite-spacing-sm)}.form-section__main-content{flex:3;padding:var(--calcite-spacing-sm);overflow:auto}.danger{color:var(--calcite-color-status-danger)}.spacing-y{margin:var(--calcite-spacing-md) 0}`,u=class extends b{constructor(){super(),this.classificationModel=x(this),this.messages=S(),this.formMainContentRef=d(),this.bannerRef=d(),this._classificationDataTask=$(this),this._formCreationTask=new P(this,{task:async()=>{if(await this._classificationDataTask.taskComplete,!this.portalClassificationSchema||!this.portalItem)throw new Error("Portal item and classification schema are required to render the form");let t=this.portalItem.clone();if(await t.load(),!this.primaryAttribute)throw new Error("primaryAttribute is required but was undefined.");this.existingClassification=!!t.classification,t.classification=f(t.classification,this.primaryAttribute,this.portalClassificationSchema),t.classification&&(t.classification.banner=await O(this.portalClassificationSchema,t.classification)),this.pendingPortalItem=t,this.cleanupItemClassificationWatchHandle(),this._itemClassificationWatchHandle=q(()=>this.portalItem.classification,i=>{if(this.pendingPortalItem){let a=this.pendingPortalItem.clone();a.load().then(()=>{a.classification=i,this.pendingPortalItem=a}).catch(e=>{console.error(e)})}}),this._itemClassificationWatchPortalItem=this.portalItem,this._itemClassificationWatchPortalItem.addHandles(this._itemClassificationWatchHandle,"arcgis-classification-config"),await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.pendingPortalItem=this.pendingPortalItem.clone(),this.existingClassification&&this.validateForm()},args:()=>[this.portalItem,this.portalClassificationSchema]}),this.getFormDisplayOrder=t=>this.portalClassificationSchema?.layouts.default.layoutElements[t].formDisplayOrder??0,this.addEditInfoAttributes=()=>{if(!this.pendingPortalItem?.classification)return{};let t=structuredClone(this.pendingPortalItem.classification),i=_(this.pendingPortalItem,t);return{...t,...i}},this.updateFavoriteClassification=t=>{this.favoriteClassifications=t},this.updateClassificationData=async t=>{let i=t.classification;if(this.selectedFavoriteClassificationName=t.name,this.pendingPortalItem){let a=this.pendingPortalItem.clone();if(await a.load(),a.classification=p(this.portalClassificationSchema,i),!this.portalClassificationSchema)return;await this.evaluateAttributeExpressions(this.portalClassificationSchema,a),a.classification=c(a.classification,this.attributeExpressionResults),this.pendingPortalItem=a}},this.existingClassification=!1,this.portalClassificationSchema=this.classificationModel.portalClassificationSchema,this.primaryAttribute=this.classificationModel.primaryAttribute,this.attributeExpressionResults=new Map,this.formValidationErrors=[],this.formValidationErrorsSource="other",this.remoteValidationErrors="",this.canUserConfigureClassification=!0,this.favoriteClassifications=[],this.isRequiredErrors=new Set,this.status=this.classificationModel.status,this.values={},this.valid=!1,this.autoDestroyDisabled=!1,this.arcgisPropertyChange=I()("status","values","valid")}static{this.properties={existingClassification:16,portalClassificationSchema:16,primaryAttribute:16,attributeExpressionResults:16,formValidationErrors:16,formValidationErrorsSource:16,itemClassification:16,pendingPortalItem:16,selectedCategory:16,remoteValidationErrors:16,canUserConfigureClassification:16,favoriteClassifications:16,selectedFavoriteClassificationName:16,isRequiredErrors:16,portalItem:0,status:35,values:[1,{type:Object}],valid:7,autoDestroyDisabled:5}}static{this.styles=L}async destroy(){this.cleanupItemClassificationWatchHandle(),await this.destroyManagedChildren(),await this.manager.destroy()}async resetForm(){if(this.existingClassification)this.pendingPortalItem=this.portalItem?.clone(),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.validateForm());else if(this.portalItem&&this.primaryAttribute&&this.portalClassificationSchema){let t=this.portalItem.clone();await t.load(),this.pendingPortalItem=this.portalItem?.clone(),this.pendingPortalItem.classification=f(t.classification,this.primaryAttribute,this.portalClassificationSchema),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults))}}async validateForm(){this.updateFormValidationErrors(),await this.updateRemoteValidationErrors()}async load(){try{await V(this.portalItem)||(this.canUserConfigureClassification=!1);let t=await v(this.portalItem);if(t){let{result:i,error:a}=t;if(a&&a.details.raw.messageCode!=="COM_1177"){console.error(a);return}i&&(this.favoriteClassifications=i.favorites)}}catch(t){console.error("Error occured while loading arcgis-classification-config:",t)}}willUpdate(t){if(t.has("pendingPortalItem")){let i=this.addEditInfoAttributes();this.values=i}(t.has("formValidationErrors")||t.has("remoteValidationErrors"))&&(this.valid=!this.formValidationErrors.length&&!this.remoteValidationErrors)}loaded(){let t=E(this.el,"form");t&&(this.listenOn(t,"formdata",this.updateFormData),this.listenOn(t,"submit",this.handleFormSubmit)),this.listen("submit",this.handleFormSubmit)}async updateClassificationProperty(t){if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let i=this.pendingPortalItem.clone();await i.load(),Object.entries(t??{}).forEach(([a,e])=>{if(a===this.primaryAttribute){let s=R(e,i.classification,this.primaryAttribute);s=p(this.portalClassificationSchema,s),i.classification=s}else{let s=new Map(Object.entries(i.classification??{}));if(e===void 0||e===""||Array.isArray(e)&&e.length===0)s.delete(a);else if(s.set(a,e),a==="fgi"&&!s.has("fgiOptions")){let o=this.portalClassificationSchema?.attributes?.fgiOptions?.defaultValue??[];s.set("fgiOptions",Array.isArray(o)?o:[o])}i.classification=Object.fromEntries(s)}}),i.classification&&!i.classification.fgi&&delete i.classification.fgiOptions,await this.evaluateAttributeExpressions(this.portalClassificationSchema,i),i.classification=c(i.classification,this.attributeExpressionResults),i.classification&&(i.classification.banner=await O(this.portalClassificationSchema,i.classification)),this.pendingPortalItem=i,this.existingClassification&&this.validateForm(),t&&"classification"in t&&this.updateIsRequiredErrors()}handleCategorySelectChange(t){this.selectedCategory=t.target.selectedItems[0].value}async evaluateAttributeExpressions(t,i){let a=await k({portalClassificationSchema:t,itemClassification:i.classification}),e=await j({portalClassificationSchema:t,itemClassification:i.classification}),s=await N({portalClassificationSchema:t,itemClassification:i.classification});Object.keys(t.attributes).forEach(o=>{let l=a[o]?.enabled??!0,D=e[o]?.valueExpressionResult,A=s[o]?.attributeValidationResult;this.attributeExpressionResults.set(o,{enabled:l,valueExpressionResult:D,attributeValidationResult:A})})}updateIsRequiredErrors(){let t=new Set;Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([i,a])=>{a.isRequired&&!this.pendingPortalItem?.classification?.[i]&&this.pendingPortalItem?.classification?.[i]!==0&&t.add(i)}),this.isRequiredErrors=t}updateFormValidationErrors(t=!1,i="other"){let a=[];Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([e,s])=>{s.isRequired&&!this.pendingPortalItem?.classification?.[e]&&this.pendingPortalItem?.classification?.[e]!==0&&(!t||this.isRequiredErrors.has(e))&&a.push({attribute:s.label,reason:this.messages.isrequired??"is required",category:s.attributeCategory}),this.attributeExpressionResults.get(e)?.attributeValidationResult&&a.push({attribute:s.label,reason:this.attributeExpressionResults.get(e)?.attributeValidationResult??"",category:s.attributeCategory})}),this.formValidationErrors=a,this.formValidationErrorsSource=i}async updateRemoteValidationErrors(){if(!this.pendingPortalItem?.classification)return;let t=await this.classificationModel.validateClassification(void 0,this.pendingPortalItem?.classification,this.pendingPortalItem.portal.restUrl);this.remoteValidationErrors=t}cleanupItemClassificationWatchHandle(){this._itemClassificationWatchHandle?.remove(),this._itemClassificationWatchHandle=void 0,this._itemClassificationWatchPortalItem?.removeHandles("arcgis-classification-config"),this._itemClassificationWatchPortalItem=void 0}async destroyManagedChildren(){let t=this.bannerRef.value;!t?.autoDestroyDisabled||t.manager?.destroyed||await t.destroy()}async handleFormSubmit(t){this.validateForm(),this.updateIsRequiredErrors(),this.formMainContentRef.value?.scrollIntoView()}updateFormData(t){let i=t.formData,a=this.addEditInfoAttributes();a=c(a,this.attributeExpressionResults),Object.entries(a??{}).forEach(([e,s])=>{i.set(e,s)})}renderCategoryTabs(){return this._classificationDataTask.render({complete:()=>{if(this.portalClassificationSchema?.attributeCategories?.length)return this.selectedCategory||(this.selectedCategory=this.portalClassificationSchema?.attributeCategories[0]),n`<calcite-list .label=${this.messages.selectcategory??"select category"} selection-appearance=border selection-mode=single-persist @calciteListChange=${this.handleCategorySelectChange}>${this.portalClassificationSchema.attributeCategories.map(t=>{let i=this.formValidationErrors.filter(a=>a.category===t).length;return n`<calcite-list-item .label=${t} .value=${t} .selected=${this.selectedCategory===t} .description=${i?`${i} ${i>1?this.messages.errors:this.messages.error}`:void 0}>${i&&n`<div slot=content-end class="danger"><calcite-icon icon=exclamation-mark-triangle scale=s></calcite-icon></div>`||""}</calcite-list-item>`})}</calcite-list>`}})}renderValidationErrors(){return this.formValidationErrors.length&&(!this.selectedCategory||this.formValidationErrors.some(t=>this.selectedCategory===t.category)||this.formValidationErrorsSource==="favorite")?n`<calcite-notice open icon=exclamation-mark-triangle class="spacing-y" kind=danger><div slot=message>${this.messages.bannererror??"Some fields are incomplete or contain errors. Check the highlighted fields for details."}</div></calcite-notice>`:null}renderFavoriteClassification(){let t=this.portalClassificationSchema?.attributeCategories?.[0]??"Default";return this.selectedCategory=this.portalClassificationSchema?.attributeCategories?.length?this.selectedCategory:"Default",this.selectedCategory===t?n`<arcgis-portal-classification-favorite .portalItem=${this.pendingPortalItem??this.portalItem} .classificationValue=${this.pendingPortalItem?.classification} .favoriteClassifications=${this.favoriteClassifications} .selectedFavoriteClassificationName=${this.selectedFavoriteClassificationName} .attributeExpressionResults=${this.attributeExpressionResults} .resetFavoriteClassification=${i=>this.updateFavoriteClassification(i)} .updateClassificationData=${async i=>{await this.updateClassificationData(i),this.updateFormValidationErrors(!1,"favorite"),this.updateIsRequiredErrors()}}></arcgis-portal-classification-favorite>`:null}renderForm(){return this._formCreationTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,complete:()=>{if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let t=Object.entries(this.portalClassificationSchema.attributes).sort(([i],[a])=>this.getFormDisplayOrder(i)-this.getFormDisplayOrder(a));return n`${this.renderValidationErrors()}${this.renderFavoriteClassification()}${t.filter(([,{attributeCategory:i}])=>this.selectedCategory===i||!i).map(([i,a])=>{if(this.attributeExpressionResults.get(i)?.enabled===!1)return null;let e=this.pendingPortalItem?.classification?.[i];return n`<arcgis-portal-classification-form-element .attributeKey=${i} .attribute=${a} .value=${e} @arcgisAttributeValueChange=${async s=>{await this.updateClassificationProperty(s.detail),a.isRequired&&!s.detail[i]?this.isRequiredErrors.add(i):this.isRequiredErrors=new Set(Array.from(this.isRequiredErrors).filter(o=>o!==i)),this.updateFormValidationErrors(!0)}} .renderingInfo=${this.attributeExpressionResults.get(i)} .isRequiredErrors=${this.isRequiredErrors}></arcgis-portal-classification-form-element>`})}`}})}renderNotice(t,i="warning"){return n`<calcite-notice icon=exclamation-mark-triangle open class="spacing-y" .kind=${i}><div slot=message>${t}</div></calcite-notice>`}renderHelpTooltip(){return this.portalClassificationSchema?.helpTooltip?n`<calcite-action id=portal-classification-config-tooltip-button .text=${this.portalClassificationSchema?.helpTooltip} icon=information></calcite-action><calcite-popover .label=${this.portalClassificationSchema?.helpTooltip} reference-element=portal-classification-config-tooltip-button placement=bottom-end overlay-positioning=fixed auto-close><div class="header-section__title-popover"><calcite-link .href=${this.portalClassificationSchema?.helpUrl} target=_blank id=portal-classification-config-tooltip-button>${this.portalClassificationSchema?.helpTooltip}</calcite-link></div></calcite-popover>`:null}render(){return this.portalItem?this._classificationDataTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,error:()=>this.renderNotice(this.messages.anerroroccurred??"An error has occurred.","danger"),complete:()=>this.portalItem?this.canUserConfigureClassification?this.portalItem.portal.hasClassificationSchema?n`<div class="header-section" role=region aria-label=${this.messages.documentbannerpreview??"documentbannerpreview"??C}><div class="header-section__title-container"><h2 class="header-section__title-text">${this.messages.documentbannerpreview??"documentbannerpreview"}</h2>${this.renderHelpTooltip()}</div>${this._formCreationTask.status===w.COMPLETE&&n`<arcgis-portal-classification-banner .portalItem=${this.pendingPortalItem??this.portalItem} variant=preview .missingExistingClassification=${!this.existingClassification} .autoDestroyDisabled=${this.autoDestroyDisabled} ${m(this.bannerRef)}></arcgis-portal-classification-banner>`||""}</div><div class="form-section">${this.portalClassificationSchema?.attributeCategories?.length&&n`<div class="form-section__sidebar">${this.renderCategoryTabs()}</div>`||""}<div class="form-section__main-content" ${m(this.formMainContentRef)}>${this.renderForm()}</div></div>`:this.renderNotice(this.messages.missingclassificationschema??"Portal is missing classification schema."):this.renderNotice(this.messages.userconfigurepermissionrequired??"User configuration permission is required."):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}};y("arcgis-portal-classification-config",u);return u},"arcade","core/reactiveUtils",a,c,e,f)
|
|
2
|
+
import f from"./TGCJUIEL.js";import e from"./I273CANO.js";import{a as w,b as P}from"./OR6T5SB3.js";import c from"./5HZNBMW6.js";import a from"./ROX3GKKA.js";import{a as S}from"./7ZWYUHGK.js";import{a as E,e as I}from"./A2SQ4EMZ.js";import"./K2XSYDAP.js";import{J as d,K as m,L as b,O as C,R as y,h as g,j as n}from"./AICPYLWE.js";import"./OUMTV5H5.js";import"./5PV2GUZW.js";export default $arcgis.t(([{createArcadeExecutor:F},{watch:q},{c:v},,{a:x,b:$},{a:f,b:c,c:p,d:R,e:V,f:_}])=>{async function k({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await T(e,r,t);return{[e]:{enabled:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function T(r,t,i){let a=t?.attributes?.[r];if(!a)return!1;let{isAttributeEnabled:e}=a;return e?await h(e,JSON.stringify(t),i):!0}async function j({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await M(e,r,t);return{[e]:{valueExpressionResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function M(r,t,i){let a=t.attributes[r];if(!a)throw Error(`Attribute ${r} not found in schema`);let e=a.valueExpression,s=a.validValues,o=a.validValuesMap;return s?.length?s:o&&Object.keys(o)?.length?o:e?await h(e,t,i,r):null}async function N({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await H(e,r,t);return{[e]:{attributeValidationResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function H(r,t,i){let a=t?.attributes?.[r];if(!a)return null;let e=a?.attributeValidation;return e?await h(e,JSON.stringify(t),i,r):null}var O=async(r,t)=>{let i=r?.bannerExpression;return i?.length?await h(i,r,t):W(r,t)},W=(r,t)=>{let i=Object.entries(r.attributes).sort(([,s],[,o])=>(s?.bannerOrder??0)-(o?.bannerOrder??0)),a=[],e=[];return i.forEach(([s,o])=>{let l=t?.[s];l&&o.bannerOrder&&(a.push(U({elementType:o.uiElement??"",selectionDisplayLabel:o.bannerLabel??"",labelDelimiter:o.labelDelimiter??"",classificationProp:l,valueDelimiter:o.valueDelimiter??""})),e.push(o.attributeDelimiter??""))}),a.length>0?a.reduce((s,o,l)=>l===0?o:`${s}${e[l-1]}${o}`,""):""},U=({elementType:r,selectionDisplayLabel:t,labelDelimiter:i,classificationProp:a,valueDelimiter:e})=>{let s=r.includes("multi")&&a?a.split("").join(e):a;return`${t}${i}${s}`};async function h(r,t,i,a=""){let e={schemaJsonString:typeof t=="string"?t:JSON.stringify(t),valueJsonString:JSON.stringify(i),attributeId:a};return(await J(r)).execute(e)}async function J(r){return await F(r,{variables:[{name:"schemaJsonString",type:"text"},{name:"valueJsonString",type:"text"},{name:"attributeId",type:"text"}]})}var L=g`:host{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.header-section{padding:var(--calcite-spacing-sm)}.header-section__title-container{display:flex;align-items:center;justify-content:space-between}.header-section__title-text{margin:unset;font-weight:unset;font-size:var(--calcite-font-size)}.header-section__title-popover{padding:var(--calcite-spacing-md)}.form-section{display:flex;border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-1);padding:var(--calcite-spacing-sm);height:100%;overflow:hidden}.form-section__sidebar{flex:1;padding:var(--calcite-spacing-sm)}.form-section__main-content{flex:3;padding:var(--calcite-spacing-sm);overflow:auto}.danger{color:var(--calcite-color-status-danger)}.spacing-y{margin:var(--calcite-spacing-md) 0}`,u=class extends b{constructor(){super(),this.classificationModel=x(this),this.messages=S(),this.formMainContentRef=d(),this.bannerRef=d(),this._classificationDataTask=$(this),this._formCreationTask=new P(this,{task:async()=>{if(await this._classificationDataTask.taskComplete,!this.portalClassificationSchema||!this.portalItem)throw new Error("Portal item and classification schema are required to render the form");let t=this.portalItem.clone();if(await t.load(),!this.primaryAttribute)throw new Error("primaryAttribute is required but was undefined.");this.existingClassification=!!t.classification,t.classification=f(t.classification,this.primaryAttribute,this.portalClassificationSchema),t.classification&&(t.classification.banner=await O(this.portalClassificationSchema,t.classification)),this.pendingPortalItem=t,this.cleanupItemClassificationWatchHandle(),this._itemClassificationWatchHandle=q(()=>this.portalItem.classification,i=>{if(this.pendingPortalItem){let a=this.pendingPortalItem.clone();a.load().then(()=>{a.classification=i,this.pendingPortalItem=a}).catch(e=>{console.error(e)})}}),this._itemClassificationWatchPortalItem=this.portalItem,this._itemClassificationWatchPortalItem.addHandles(this._itemClassificationWatchHandle,"arcgis-classification-config"),await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.pendingPortalItem=this.pendingPortalItem.clone(),this.existingClassification&&this.validateForm()},args:()=>[this.portalItem,this.portalClassificationSchema]}),this.getFormDisplayOrder=t=>this.portalClassificationSchema?.layouts.default.layoutElements[t].formDisplayOrder??0,this.addEditInfoAttributes=()=>{if(!this.pendingPortalItem?.classification)return{};let t=structuredClone(this.pendingPortalItem.classification),i=_(this.pendingPortalItem,t);return{...t,...i}},this.updateFavoriteClassification=t=>{this.favoriteClassifications=t},this.updateClassificationData=async t=>{let i=t.classification;if(this.selectedFavoriteClassificationName=t.name,this.pendingPortalItem){let a=this.pendingPortalItem.clone();if(await a.load(),a.classification=p(this.portalClassificationSchema,i),!this.portalClassificationSchema)return;await this.evaluateAttributeExpressions(this.portalClassificationSchema,a),a.classification=c(a.classification,this.attributeExpressionResults),this.pendingPortalItem=a}},this.existingClassification=!1,this.portalClassificationSchema=this.classificationModel.portalClassificationSchema,this.primaryAttribute=this.classificationModel.primaryAttribute,this.attributeExpressionResults=new Map,this.formValidationErrors=[],this.formValidationErrorsSource="other",this.remoteValidationErrors="",this.canUserConfigureClassification=!0,this.favoriteClassifications=[],this.isRequiredErrors=new Set,this.status=this.classificationModel.status,this.values={},this.valid=!1,this.autoDestroyDisabled=!1,this.arcgisPropertyChange=I()("status","values","valid")}static{this.properties={existingClassification:16,portalClassificationSchema:16,primaryAttribute:16,attributeExpressionResults:16,formValidationErrors:16,formValidationErrorsSource:16,itemClassification:16,pendingPortalItem:16,selectedCategory:16,remoteValidationErrors:16,canUserConfigureClassification:16,favoriteClassifications:16,selectedFavoriteClassificationName:16,isRequiredErrors:16,portalItem:0,status:35,values:[1,{type:Object}],valid:7,autoDestroyDisabled:5}}static{this.styles=L}async destroy(){this.cleanupItemClassificationWatchHandle(),await this.destroyManagedChildren(),await this.manager.destroy()}async resetForm(){if(this.existingClassification)this.pendingPortalItem=this.portalItem?.clone(),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.validateForm());else if(this.portalItem&&this.primaryAttribute&&this.portalClassificationSchema){let t=this.portalItem.clone();await t.load(),this.pendingPortalItem=this.portalItem?.clone(),this.pendingPortalItem.classification=f(t.classification,this.primaryAttribute,this.portalClassificationSchema),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults))}}async validateForm(){this.updateFormValidationErrors(),await this.updateRemoteValidationErrors()}async load(){try{await V(this.portalItem)||(this.canUserConfigureClassification=!1);let t=await v(this.portalItem);if(t){let{result:i,error:a}=t;if(a&&a.details.raw.messageCode!=="COM_1177"){console.error(a);return}i&&(this.favoriteClassifications=i.favorites)}}catch(t){console.error("Error occured while loading arcgis-classification-config:",t)}}willUpdate(t){if(t.has("pendingPortalItem")){let i=this.addEditInfoAttributes();this.values=i}(t.has("formValidationErrors")||t.has("remoteValidationErrors"))&&(this.valid=!this.formValidationErrors.length&&!this.remoteValidationErrors)}loaded(){let t=E(this.el,"form");t&&(this.listenOn(t,"formdata",this.updateFormData),this.listenOn(t,"submit",this.handleFormSubmit)),this.listen("submit",this.handleFormSubmit)}async updateClassificationProperty(t){if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let i=this.pendingPortalItem.clone();await i.load(),Object.entries(t??{}).forEach(([a,e])=>{if(a===this.primaryAttribute){let s=R(e,i.classification,this.primaryAttribute);s=p(this.portalClassificationSchema,s),i.classification=s}else{let s=new Map(Object.entries(i.classification??{}));if(e===void 0||e===""||Array.isArray(e)&&e.length===0)s.delete(a);else if(s.set(a,e),a==="fgi"&&!s.has("fgiOptions")){let o=this.portalClassificationSchema?.attributes?.fgiOptions?.defaultValue??[];s.set("fgiOptions",Array.isArray(o)?o:[o])}i.classification=Object.fromEntries(s)}}),i.classification&&!i.classification.fgi&&delete i.classification.fgiOptions,await this.evaluateAttributeExpressions(this.portalClassificationSchema,i),i.classification=c(i.classification,this.attributeExpressionResults),i.classification&&(i.classification.banner=await O(this.portalClassificationSchema,i.classification)),this.pendingPortalItem=i,this.existingClassification&&this.validateForm(),t&&"classification"in t&&this.updateIsRequiredErrors()}handleCategorySelectChange(t){this.selectedCategory=t.target.selectedItems[0].value}async evaluateAttributeExpressions(t,i){let a=await k({portalClassificationSchema:t,itemClassification:i.classification}),e=await j({portalClassificationSchema:t,itemClassification:i.classification}),s=await N({portalClassificationSchema:t,itemClassification:i.classification});Object.keys(t.attributes).forEach(o=>{let l=a[o]?.enabled??!0,D=e[o]?.valueExpressionResult,A=s[o]?.attributeValidationResult;this.attributeExpressionResults.set(o,{enabled:l,valueExpressionResult:D,attributeValidationResult:A})})}updateIsRequiredErrors(){let t=new Set;Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([i,a])=>{a.isRequired&&!this.pendingPortalItem?.classification?.[i]&&this.pendingPortalItem?.classification?.[i]!==0&&t.add(i)}),this.isRequiredErrors=t}updateFormValidationErrors(t=!1,i="other"){let a=[];Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([e,s])=>{s.isRequired&&!this.pendingPortalItem?.classification?.[e]&&this.pendingPortalItem?.classification?.[e]!==0&&(!t||this.isRequiredErrors.has(e))&&a.push({attribute:s.label,reason:this.messages.isrequired??"is required",category:s.attributeCategory}),this.attributeExpressionResults.get(e)?.attributeValidationResult&&a.push({attribute:s.label,reason:this.attributeExpressionResults.get(e)?.attributeValidationResult??"",category:s.attributeCategory})}),this.formValidationErrors=a,this.formValidationErrorsSource=i}async updateRemoteValidationErrors(){if(!this.pendingPortalItem?.classification)return;let t=await this.classificationModel.validateClassification(void 0,this.pendingPortalItem?.classification,this.pendingPortalItem.portal.restUrl);this.remoteValidationErrors=t}cleanupItemClassificationWatchHandle(){this._itemClassificationWatchHandle?.remove(),this._itemClassificationWatchHandle=void 0,this._itemClassificationWatchPortalItem?.removeHandles("arcgis-classification-config"),this._itemClassificationWatchPortalItem=void 0}async destroyManagedChildren(){let t=this.bannerRef.value;!t?.autoDestroyDisabled||t.manager?.destroyed||await t.destroy()}async handleFormSubmit(t){this.validateForm(),this.updateIsRequiredErrors(),this.formMainContentRef.value?.scrollIntoView()}updateFormData(t){let i=t.formData,a=this.addEditInfoAttributes();a=c(a,this.attributeExpressionResults),Object.entries(a??{}).forEach(([e,s])=>{i.set(e,s)})}renderCategoryTabs(){return this._classificationDataTask.render({complete:()=>{if(this.portalClassificationSchema?.attributeCategories?.length)return this.selectedCategory||(this.selectedCategory=this.portalClassificationSchema?.attributeCategories[0]),n`<calcite-list .label=${this.messages.selectcategory??"select category"} selection-appearance=border selection-mode=single-persist @calciteListChange=${this.handleCategorySelectChange}>${this.portalClassificationSchema.attributeCategories.map(t=>{let i=this.formValidationErrors.filter(a=>a.category===t).length;return n`<calcite-list-item .label=${t} .value=${t} .selected=${this.selectedCategory===t} .description=${i?`${i} ${i>1?this.messages.errors:this.messages.error}`:void 0}>${i&&n`<div slot=content-end class="danger"><calcite-icon icon=exclamation-mark-triangle scale=s></calcite-icon></div>`||""}</calcite-list-item>`})}</calcite-list>`}})}renderValidationErrors(){return this.formValidationErrors.length&&(!this.selectedCategory||this.formValidationErrors.some(t=>this.selectedCategory===t.category)||this.formValidationErrorsSource==="favorite")?n`<calcite-notice open icon=exclamation-mark-triangle class="spacing-y" kind=danger><div slot=message>${this.messages.bannererror??"Some fields are incomplete or contain errors. Check the highlighted fields for details."}</div></calcite-notice>`:null}renderFavoriteClassification(){let t=this.portalClassificationSchema?.attributeCategories?.[0]??"Default";return this.selectedCategory=this.portalClassificationSchema?.attributeCategories?.length?this.selectedCategory:"Default",this.selectedCategory===t?n`<arcgis-portal-classification-favorite .portalItem=${this.pendingPortalItem??this.portalItem} .classificationValue=${this.pendingPortalItem?.classification} .favoriteClassifications=${this.favoriteClassifications} .selectedFavoriteClassificationName=${this.selectedFavoriteClassificationName} .attributeExpressionResults=${this.attributeExpressionResults} .resetFavoriteClassification=${i=>this.updateFavoriteClassification(i)} .updateClassificationData=${async i=>{await this.updateClassificationData(i),this.updateFormValidationErrors(!1,"favorite"),this.updateIsRequiredErrors()}}></arcgis-portal-classification-favorite>`:null}renderForm(){return this._formCreationTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,complete:()=>{if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let t=Object.entries(this.portalClassificationSchema.attributes).sort(([i],[a])=>this.getFormDisplayOrder(i)-this.getFormDisplayOrder(a));return n`${this.renderValidationErrors()}${this.renderFavoriteClassification()}${t.filter(([,{attributeCategory:i}])=>this.selectedCategory===i||!i).map(([i,a])=>{if(this.attributeExpressionResults.get(i)?.enabled===!1)return null;let e=this.pendingPortalItem?.classification?.[i];return n`<arcgis-portal-classification-form-element .attributeKey=${i} .attribute=${a} .value=${e} @arcgisAttributeValueChange=${async s=>{await this.updateClassificationProperty(s.detail),a.isRequired&&!s.detail[i]?this.isRequiredErrors.add(i):this.isRequiredErrors=new Set(Array.from(this.isRequiredErrors).filter(o=>o!==i)),this.updateFormValidationErrors(!0)}} .renderingInfo=${this.attributeExpressionResults.get(i)} .isRequiredErrors=${this.isRequiredErrors}></arcgis-portal-classification-form-element>`})}`}})}renderNotice(t,i="warning"){return n`<calcite-notice icon=exclamation-mark-triangle open class="spacing-y" .kind=${i}><div slot=message>${t}</div></calcite-notice>`}renderHelpTooltip(){return this.portalClassificationSchema?.helpTooltip?n`<calcite-action id=portal-classification-config-tooltip-button .text=${this.portalClassificationSchema?.helpTooltip} icon=information></calcite-action><calcite-popover .label=${this.portalClassificationSchema?.helpTooltip} reference-element=portal-classification-config-tooltip-button placement=bottom-end overlay-positioning=fixed auto-close><div class="header-section__title-popover"><calcite-link .href=${this.portalClassificationSchema?.helpUrl} target=_blank id=portal-classification-config-tooltip-button>${this.portalClassificationSchema?.helpTooltip}</calcite-link></div></calcite-popover>`:null}render(){return this.portalItem?this._classificationDataTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,error:()=>this.renderNotice(this.messages.anerroroccurred??"An error has occurred.","danger"),complete:()=>this.portalItem?this.canUserConfigureClassification?this.portalItem.portal.hasClassificationSchema?n`<div class="header-section" role=region aria-label=${this.messages.documentbannerpreview??"documentbannerpreview"??C}><div class="header-section__title-container"><h2 class="header-section__title-text">${this.messages.documentbannerpreview??"documentbannerpreview"}</h2>${this.renderHelpTooltip()}</div>${this._formCreationTask.status===w.COMPLETE&&n`<arcgis-portal-classification-banner .portalItem=${this.pendingPortalItem??this.portalItem} variant=preview .missingExistingClassification=${!this.existingClassification} .autoDestroyDisabled=${this.autoDestroyDisabled} ${m(this.bannerRef)}></arcgis-portal-classification-banner>`||""}</div><div class="form-section">${this.portalClassificationSchema?.attributeCategories?.length&&n`<div class="form-section__sidebar">${this.renderCategoryTabs()}</div>`||""}<div class="form-section__main-content" ${m(this.formMainContentRef)}>${this.renderForm()}</div></div>`:this.renderNotice(this.messages.missingclassificationschema??"Portal is missing classification schema."):this.renderNotice(this.messages.userconfigurepermissionrequired??"User configuration permission is required."):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}};y("arcgis-portal-classification-config",u);return u},"arcade","core/reactiveUtils",a,c,e,f)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{a as C}from"./4MUB6TL6.js";import{b as y}from"./KV4ZZSNW.js";import{a as x}from"./EMJQI4MA.js";import{a as k}from"./7ZWYUHGK.js";import{J as f,K as _,L as w,M as g,O as l,R as $,h as b,j as t,w as h}from"./AICPYLWE.js";export default $arcgis.t(([{substitute:m,formatDate:B}])=>{var S=b`:host{display:block;min-width:0;container-type:inline-size;container-name:portal-group-card}.group-card{position:relative;display:flex;height:100%;flex-direction:column;color:var(--calcite-color-text-1);opacity:0;box-shadow:none;transition-duration:.15s;outline-color:transparent;background-color:var(--calcite-color-foreground-1);transition-property:background-color,outline,outline-offset,opacity;border:1px solid var(--calcite-color-border-3);&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:-2px}}.group-card--loaded{opacity:1}.group-card--selected{border-color:var(--calcite-color-brand)}.group-card--hoverable{cursor:pointer}.group-card--disabled{opacity:.5}.group-card__top{padding:.75rem}.group-card__upper{flex:1 1 0%;background-color:var(--calcite-color-foreground-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s}.group-card__upper:hover{background-color:var(--calcite-color-background)}.group-card__upper--compact{display:flex;align-items:flex-start;padding:.5rem .75rem}.group-card__upper--link{color:var(--calcite-color-text-1);text-decoration-line:none;outline-color:transparent;&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:2px}}.group-card__title__span{position:relative;display:inline;border-style:none;background-color:transparent;padding:0;transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;background-image:linear-gradient(transparent,transparent);background-position-x:0%,100%;background-position-y:min(1.25em,100%);background-repeat:no-repeat,no-repeat;background-size:100% 1px,100% 1px}.group-card--previewed .group-card__title__span{background-image:linear-gradient(var(--calcite-color-text-3),var(--calcite-color-text-3))}.group-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column}.group-card__details{display:flex;flex-direction:column;margin-top:.25rem;position:relative}.group-card__details .group-card__divider:before{display:none}.group-card__detail{font-size:.75rem;line-height:1.35;color:var(--calcite-color-text-2);margin:.25rem 0}.group-card__detail__icon{margin-inline-end:.5rem}.group-card__footer{margin-top:auto;display:flex;align-items:center;background-color:var(--calcite-color-foreground-1);padding:.25rem .75rem;border-top:1px solid var(--calcite-color-border-3)}.group-card__footer__start{display:flex;min-width:0;flex:1 1 0%;align-items:center;overflow:hidden;margin-inline-end:.75rem}.group-card__footer__end{display:flex}.group-card__profile-wrap{max-width:100%;padding:.25rem}.group-card__divider{display:flex;align-items:center;flex:0 0 auto}.group-card__divider:not([empty]):before{content:"";height:1.25rem;width:1px;background-color:var(--calcite-color-border-1);margin-inline:.75rem;display:none}.group-card-flex{display:flex}.group-card-flex-1{min-width:0;flex:1 1 0%}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.group-card__input{margin-inline-end:1rem;margin-top:.125rem}.group-card__input--compact{height:100%;display:flex;align-items:center}.group-card__title{margin:0;overflow-wrap:break-word;padding:0;font-size:.875rem;font-weight:500;line-height:1.375}.group-card__title--compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline-end:1rem}.group-card__title--padded{margin-bottom:.25rem}.group-card__summary{margin:.25rem 0;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:.875rem;line-height:1.25}.group-card__thumbnail{margin-inline-end:1rem;padding-inline-start:.75rem;width:4.25rem}.group-card__thumbnail--compact{width:2.75rem;height:2.75rem;flex-shrink:0}.group-card__upper--compact .group-card-flex-1{display:flex;justify-content:space-between;align-items:center;gap:.25rem;height:100%}.group-card__badges--compact{margin-top:.125rem;max-width:100%}.group-card__badges{margin-top:.25rem}.group-card__badges-measurement{inset:0;position:absolute;visibility:hidden;pointer-events:none}.group-card__badges--measurement{width:max-content}.group-card__owner{min-width:0}@container portal-group-card (min-width: 321px){.group-card__thumbnail{padding-inline-start:.5rem;width:5rem}}@container portal-group-card (min-width: 641px){.group-card__top{padding:1rem}.group-card__title{font-size:1rem}.group-card__title--padded{margin-bottom:0}.group-card__detail{font-size:.875rem;line-height:normal;margin:0}.group-card__footer{padding:.5rem 1rem}.group-card__thumbnail{padding-inline-start:0;width:auto}}@container portal-group-card (min-width: 769px){.group-card__details{flex-direction:row}.group-card__details .group-card__divider:not([empty])+.group-card__divider:not([empty]):before{display:block}}`,v=class extends w{constructor(){super(...arguments),this.messages=k({blocking:!0}),this.sectionEl=f(),this.handleCardClick=e=>{if(!(this.link||this.disabled||e?.target?.closest(".group-card__footer"))){if(this.preview==="top"){this.arcgisGroupBrowserCardPreview.emit(this.group);return}if(this.selection==="single"){this.selected=!0,this.arcgisGroupCardSelect.emit({group:this.group,selected:!0});return}this.selection==="multiple"&&(this.selected=!this.selected,this.arcgisGroupCardSelect.emit({group:this.group,selected:this.selected}))}},this.syncBadgeLayout=()=>{let e=this.renderRoot.querySelector(".group-card__details"),r=e?.querySelector(".group-card__badges--responsive"),i=e?.querySelector(".group-card__badges--measurement");if(!e||!r||!i){this.badgesFitSingleLine=!0;return}let n=i.getBoundingClientRect().width,o=this.getAvailableBadgeWidth(e,r);this.badgesFitSingleLine=n<=o},this.hover=!1,this.isLoaded=!1,this.badgesFitSingleLine=!1,this.selected=!1,this.indeterminate=!1,this.view="list",this.selection="none",this.previewed=!1,this.hideOwner=!1,this.hideDateUpdated=!1,this.showDateCreated=!1,this.hideViewableBy=!1,this.showSummary=!1,this.hideBadges=!1,this.newTab=!1,this.disabled=!1,this.arcgisGroupBrowserCardPreview=h(),this.arcgisGroupBrowserInternalUIAction=h(),this.arcgisGroupCardSelect=h()}static{this.properties={hover:16,isLoaded:16,badgesFitSingleLine:16,group:0,user:0,portal:0,selected:7,indeterminate:7,view:1,selection:1,preview:1,previewed:5,name:1,hideOwner:5,hideDateUpdated:5,showDateCreated:5,hideViewableBy:5,showSummary:5,hideBadges:5,link:1,linkHandler:0,newTab:5,disabled:7}}static{this.styles=S}async restoreFocus(){if(this.link){this.renderRoot.querySelector(".group-card__upper")?.focus();return}this.sectionEl.value?.focus()}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.syncBadgeLayout)}firstUpdated(){requestAnimationFrame(()=>{this.isLoaded=!0,this.syncBadgeLayout()})}updated(e){(e.has("group")||e.has("hideBadges")||e.has("view"))&&this.syncBadgeLayout()}disconnectedCallback(){window.removeEventListener("resize",this.syncBadgeLayout),super.disconnectedCallback()}getAvailableBadgeWidth(e,r){let i=getComputedStyle(e);if(i.flexDirection!=="row")return e.clientWidth;let n=Array.from(e.children),o=n.indexOf(r);if(o<0)return e.clientWidth;let d=Number.parseFloat(i.columnGap||i.gap||"0")||0,c=n.slice(0,o).reduce((s,u)=>s+u.getBoundingClientRect().width,0);return e.clientWidth-c-d*o}getAccessInfo(e){let{messages:r}=this,i={public:{icon:"globe",text:r.everyone},private:{icon:"lock",text:r.groupMembers},org:{icon:"organization",text:r.organization}};return i[e]??i.private}getThumbnailGroup(e){return{id:e.id??"",title:e.title??"",thumbnail:C(e)?.thumbnail,thumbnailUrl:e.thumbnailUrl??void 0}}getResolvedBaseUrl(){return this.portal?`${y({portal:this.portal,usePortalHostname:!this.portal.user})}/home`:""}renderCompactBadges(e){return this.hideBadges?null:t`<arcgis-portal-group-badges appearance=solid .group=${e} .portal=${this.portal} class="group-card__badges--compact" scale=s show-tooltips width=narrow></arcgis-portal-group-badges>`}renderBadges(e){return this.hideBadges?null:t`<arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} .width=${this.badgesFitSingleLine?"full":"narrow"} class="group-card__badges group-card__badges--responsive group-card__detail group-card__divider" scale=s show-tooltips></arcgis-portal-group-badges>`}renderBadgeMeasurement(e){return this.hideBadges?null:t`<div aria-hidden=true class="group-card__badges-measurement"><arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} width=full class="group-card__badges group-card__badges--measurement" scale=s></arcgis-portal-group-badges></div>`}renderDetails(e,r){return t`<div class="group-card__details">${this.showDateCreated&&!!e.created&&t`<span class="group-card__detail group-card__divider">${m(this.messages.created??"",{date:B(e.created,{dateStyle:"medium"})})}</span>`||""}${!this.hideDateUpdated&&!!e.modified&&t`<span class="group-card__detail group-card__divider">${m(this.messages.lastUpdated??"",{date:B(e.modified,{dateStyle:"medium"})})}</span>`||""}${!this.hideViewableBy&&t`<span class="group-card__detail group-card__divider"><calcite-icon class="group-card__detail__icon" .icon=${r.icon} scale=s></calcite-icon>${m(this.messages.viewableBy??"",{level:r.text})}</span>`||""}${this.renderBadges(e)}${this.renderBadgeMeasurement(e)}</div>`}renderListContent(e,r,i){return t`<div class="group-card-flex group-card__top">${this.renderSelectionInput()}<div class="group-card__thumbnail"><arcgis-portal-group-thumbnail .group=${r} .portal=${this.portal} scale=xl></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><div class="group-card-flex"><div class="group-card__content"><h3 class=${g({"group-card__title":!0,"group-card__title--padded":this.showSummary&&!!e.snippet})}><span class="group-card__title__span">${e.title}</span></h3>${this.showSummary&&!!e.snippet&&t`<p class="group-card__summary">${e.snippet.length>250?`${e.snippet.substring(0,250)}...`:e.snippet}</p>`||""}${this.renderDetails(e,i)}<slot name=content-end></slot></div></div></div></div>`}renderSelectionInput(){let{selection:e,selected:r,disabled:i,name:n,messages:o,group:d}=this,c=this.view==="compact";switch(e){case"single":return t`<calcite-radio-button class=${g({"group-card__input":!0,"group-card__input--compact":c})} .checked=${r} .disabled=${i} .value=${d.title??""} .name=${n} @click=${s=>s.stopPropagation()} @calciteRadioButtonChange=${()=>{this.arcgisGroupCardSelect.emit({group:d,selected:!r})}}><span class="screen-readers-only">${m(o.select??"",{title:d.title??""})}</span></calcite-radio-button>`;case"multiple":return t`<calcite-checkbox class=${g({"group-card__input":!0,"group-card__input--compact":c})} .checked=${r} .disabled=${i} .indeterminate=${this.indeterminate} @click=${s=>s.stopPropagation()} @calciteCheckboxChange=${()=>{let s=!this.selected;this.selected=s,this.arcgisGroupCardSelect.emit({group:d,selected:s})}}><span class="screen-readers-only">${d.title}</span></calcite-checkbox>`;case"none":return null;default:return x(e)}}renderCompactView(){let{group:e,selection:r,isLoaded:i,disabled:n,link:o,newTab:d,linkHandler:c,handleCardClick:s,selected:u}=this,a=this.getThumbnailGroup(e);return t`<section class=${g({"group-card":!0,"group-card--hoverable":r!=="none","group-card--selected":u,"group-card--disabled":n,"group-card--loaded":i})} tabindex=-1 @click=${o?void 0:s} @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}} ${_(this.sectionEl)}>${o?t`<a class="group-card__upper group-card__upper--compact group-card__upper--link" href=${o??l} target=${(d?"_blank":void 0)??l} rel=${(d?"noopener noreferrer":void 0)??l} @click=${p=>{c&&!p.ctrlKey&&!p.metaKey&&(p.preventDefault(),c(this.group))}}>${t`${this.renderSelectionInput()}<div class="group-card__thumbnail group-card__thumbnail--compact"><arcgis-portal-group-thumbnail .group=${a} .portal=${this.portal} scale=l></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><h3 class="group-card__title group-card__title--compact"><span class="group-card__title__span">${e.title}</span></h3>${this.renderCompactBadges(e)}</div><slot name=content-end></slot>`}</a>`:t`<div class="group-card__upper group-card__upper--compact">${this.renderSelectionInput()}<div class="group-card__thumbnail group-card__thumbnail--compact"><arcgis-portal-group-thumbnail .group=${a} .portal=${this.portal} scale=l></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><h3 class="group-card__title group-card__title--compact"><span class="group-card__title__span">${e.title}</span></h3>${this.renderCompactBadges(e)}</div><slot name=content-end></slot></div>`}</section>`}render(){let{group:e,selection:r,isLoaded:i,disabled:n,link:o}=this;if(!e||!this.messages._lang)return;if(this.view==="compact")return this.renderCompactView();let d=this.getAccessInfo(e.access??"private"),c=this.getThumbnailGroup(e),s=this.preview==="top"&&!o,u=this.previewed;return t`<section class=${g({"group-card":!0,"group-card--hoverable":r!=="none","group-card--selected":this.selected,"group-card--disabled":n,"group-card--loaded":i,"group-card--previewed":u})} @click=${o?void 0:this.handleCardClick} tabindex=${(s?0:void 0)??l} .role=${s?"button":void 0} aria-haspopup=${(s?"dialog":void 0)??l} @keydown=${a=>{s&&(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),this.handleCardClick())}} ${_(this.sectionEl)}><slot name=content-top></slot>${o?t`<a class="group-card__upper group-card__upper--link" href=${this.link??l} target=${(this.newTab?"_blank":void 0)??l} rel=${(this.newTab?"noopener noreferrer":void 0)??l} @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}} @click=${a=>{if(this.linkHandler&&!a.ctrlKey&&!a.metaKey){a.preventDefault(),this.linkHandler(this.group);return}let p=a.target;p instanceof HTMLElement&&p.closest(".group-card__footer")&&a.preventDefault()}}>${this.renderListContent(e,c,d)}</a>`:t`<div class="group-card__upper" @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}}>${this.renderListContent(e,c,d)}</div>`}<div class="group-card__footer"><div class="group-card__footer__start"><slot name=actions-start></slot>${!this.hideOwner&&t`<div class="group-card__profile-wrap"><arcgis-portal-user-popup .baseUrl=${this.getResolvedBaseUrl()} class="group-card__owner" .portal=${this.portal} .username=${e.owner??void 0} underline @arcgisUserPopupInternalUIAction=${({detail:a,stopPropagation:p})=>{p(),this.arcgisGroupBrowserInternalUIAction.emit(a)}}></arcgis-portal-user-popup></div>`||""}</div><div class="group-card__footer__end">${this.preview==="action"&&t`<calcite-button scale=s .appearance=${u?"solid":"outline-fill"} kind=neutral @click=${()=>{this.arcgisGroupBrowserCardPreview.emit(this.group)}}>${u?this.messages.hidePreview:this.messages.preview}</calcite-button>`||""}<div @click=${a=>{a.stopPropagation()}}><slot name=actions-end></slot></div></div></div></section>`}};$("arcgis-portal-group-card",v);return v},"intl")
|
|
2
|
+
import{a as C}from"./4MUB6TL6.js";import{b as y}from"./KV4ZZSNW.js";import{a as x}from"./EMJQI4MA.js";import{a as k}from"./7ZWYUHGK.js";import{J as f,K as _,L as w,M as g,O as l,R as $,h as b,j as t,w as h}from"./AICPYLWE.js";export default $arcgis.t(([{substitute:m,formatDate:B}])=>{var S=b`:host{display:block;min-width:0;container-type:inline-size;container-name:portal-group-card}.group-card{position:relative;display:flex;height:100%;flex-direction:column;color:var(--calcite-color-text-1);opacity:0;box-shadow:none;transition-duration:.15s;outline-color:transparent;background-color:var(--calcite-color-foreground-1);transition-property:background-color,outline,outline-offset,opacity;border:1px solid var(--calcite-color-border-3);&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:-2px}}.group-card--loaded{opacity:1}.group-card--selected{border-color:var(--calcite-color-brand)}.group-card--hoverable{cursor:pointer}.group-card--disabled{opacity:.5}.group-card__top{padding:.75rem}.group-card__upper{flex:1 1 0%;background-color:var(--calcite-color-foreground-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s}.group-card__upper:hover{background-color:var(--calcite-color-background)}.group-card__upper--compact{display:flex;align-items:flex-start;padding:.5rem .75rem}.group-card__upper--link{color:var(--calcite-color-text-1);text-decoration-line:none;outline-color:transparent;&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:2px}}.group-card__title__span{position:relative;display:inline;border-style:none;background-color:transparent;padding:0;transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;background-image:linear-gradient(transparent,transparent);background-position-x:0%,100%;background-position-y:min(1.25em,100%);background-repeat:no-repeat,no-repeat;background-size:100% 1px,100% 1px}.group-card--previewed .group-card__title__span{background-image:linear-gradient(var(--calcite-color-text-3),var(--calcite-color-text-3))}.group-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column}.group-card__details{display:flex;flex-direction:column;margin-top:.25rem;position:relative}.group-card__details .group-card__divider:before{display:none}.group-card__detail{font-size:.75rem;line-height:1.35;color:var(--calcite-color-text-2);margin:.25rem 0}.group-card__detail__icon{margin-inline-end:.5rem}.group-card__footer{margin-top:auto;display:flex;align-items:center;background-color:var(--calcite-color-foreground-1);padding:.25rem .75rem;border-top:1px solid var(--calcite-color-border-3)}.group-card__footer__start{display:flex;min-width:0;flex:1 1 0%;align-items:center;overflow:hidden;margin-inline-end:.75rem}.group-card__footer__end{display:flex}.group-card__profile-wrap{max-width:100%;padding:.25rem}.group-card__divider{display:flex;align-items:center;flex:0 0 auto}.group-card__divider:not([empty]):before{content:"";height:1.25rem;width:1px;background-color:var(--calcite-color-border-1);margin-inline:.75rem;display:none}.group-card-flex{display:flex}.group-card-flex-1{min-width:0;flex:1 1 0%}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.group-card__input{margin-inline-end:1rem;margin-top:.125rem}.group-card__input--compact{height:100%;display:flex;align-items:center}.group-card__title{margin:0;overflow-wrap:break-word;padding:0;font-size:.875rem;font-weight:500;line-height:1.375}.group-card__title--compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline-end:1rem}.group-card__title--padded{margin-bottom:.25rem}.group-card__summary{margin:.25rem 0;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:.875rem;line-height:1.25}.group-card__thumbnail{margin-inline-end:1rem;padding-inline-start:.75rem;width:4.25rem}.group-card__thumbnail--compact{width:2.75rem;height:2.75rem;flex-shrink:0}.group-card__upper--compact .group-card-flex-1{display:flex;justify-content:space-between;align-items:center;gap:.25rem;height:100%}.group-card__badges--compact{margin-top:.125rem;max-width:100%}.group-card__badges{margin-top:.25rem}.group-card__badges-measurement{inset:0;position:absolute;visibility:hidden;pointer-events:none}.group-card__badges--measurement{width:max-content}.group-card__owner{min-width:0}@container portal-group-card (min-width: 321px){.group-card__thumbnail{padding-inline-start:.5rem;width:5rem}}@container portal-group-card (min-width: 641px){.group-card__top{padding:1rem}.group-card__title{font-size:1rem}.group-card__title--padded{margin-bottom:0}.group-card__detail{font-size:.875rem;line-height:normal;margin:0}.group-card__footer{padding:.5rem 1rem}.group-card__thumbnail{padding-inline-start:0;width:auto}}@container portal-group-card (min-width: 769px){.group-card__details{flex-direction:row}.group-card__details .group-card__divider:not([empty])+.group-card__divider:not([empty]):before{display:block}}`,v=class extends w{constructor(){super(...arguments),this.messages=k({blocking:!0}),this.sectionEl=f(),this.handleCardClick=e=>{if(!(this.link||this.disabled||e?.target?.closest(".group-card__footer"))){if(this.preview==="top"){this.arcgisGroupBrowserCardPreview.emit(this.group);return}if(this.selection==="single"){this.selected=!0,this.arcgisGroupCardSelect.emit({group:this.group,selected:!0});return}this.selection==="multiple"&&(this.selected=!this.selected,this.arcgisGroupCardSelect.emit({group:this.group,selected:this.selected}))}},this.syncBadgeLayout=()=>{let e=this.renderRoot.querySelector(".group-card__details"),r=e?.querySelector(".group-card__badges--responsive"),i=e?.querySelector(".group-card__badges--measurement");if(!e||!r||!i){this.badgesFitSingleLine=!0;return}let n=i.getBoundingClientRect().width,o=this.getAvailableBadgeWidth(e,r);this.badgesFitSingleLine=n<=o},this.hover=!1,this.isLoaded=!1,this.badgesFitSingleLine=!1,this.selected=!1,this.indeterminate=!1,this.view="list",this.selection="none",this.previewed=!1,this.hideOwner=!1,this.hideDateUpdated=!1,this.showDateCreated=!1,this.hideViewableBy=!1,this.showSummary=!1,this.hideBadges=!1,this.newTab=!1,this.disabled=!1,this.arcgisGroupBrowserCardPreview=h(),this.arcgisGroupBrowserInternalUIAction=h(),this.arcgisGroupCardSelect=h()}static{this.properties={hover:16,isLoaded:16,badgesFitSingleLine:16,group:0,user:0,portal:0,selected:7,indeterminate:7,view:1,selection:1,preview:1,previewed:5,name:1,hideOwner:5,hideDateUpdated:5,showDateCreated:5,hideViewableBy:5,showSummary:5,hideBadges:5,link:1,linkHandler:0,newTab:5,disabled:7}}static{this.styles=S}async restoreFocus(){if(this.link){this.renderRoot.querySelector(".group-card__upper")?.focus();return}this.sectionEl.value?.focus()}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.syncBadgeLayout)}firstUpdated(){requestAnimationFrame(()=>{this.isLoaded=!0,this.syncBadgeLayout()})}updated(e){(e.has("group")||e.has("hideBadges")||e.has("view"))&&this.syncBadgeLayout()}disconnectedCallback(){window.removeEventListener("resize",this.syncBadgeLayout),super.disconnectedCallback()}getAvailableBadgeWidth(e,r){let i=getComputedStyle(e);if(i.flexDirection!=="row")return e.clientWidth;let n=Array.from(e.children),o=n.indexOf(r);if(o<0)return e.clientWidth;let d=Number.parseFloat(i.columnGap||i.gap||"0")||0,c=n.slice(0,o).reduce((s,p)=>s+p.getBoundingClientRect().width,0);return e.clientWidth-c-d*o}getAccessInfo(e){let{messages:r}=this,i={public:{icon:"globe",text:r.everyone},private:{icon:"lock",text:r.groupMembers},org:{icon:"organization",text:r.organization}};return i[e]??i.private}getThumbnailGroup(e){return{id:e.id??"",title:e.title??"",thumbnail:C(e)?.thumbnail,thumbnailUrl:e.thumbnailUrl??void 0}}getResolvedBaseUrl(){return this.portal?`${y({portal:this.portal,usePortalHostname:!this.portal.user})}/home`:""}renderCompactBadges(e){return this.hideBadges?null:t`<arcgis-portal-group-badges appearance=solid .group=${e} .portal=${this.portal} class="group-card__badges--compact" scale=s show-tooltips width=narrow></arcgis-portal-group-badges>`}renderBadges(e){return this.hideBadges?null:t`<arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} .width=${this.badgesFitSingleLine?"full":"narrow"} class="group-card__badges group-card__badges--responsive group-card__detail group-card__divider" scale=s show-tooltips></arcgis-portal-group-badges>`}renderBadgeMeasurement(e){return this.hideBadges?null:t`<div aria-hidden=true class="group-card__badges-measurement"><arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} width=full class="group-card__badges group-card__badges--measurement" scale=s></arcgis-portal-group-badges></div>`}renderDetails(e,r){return t`<div class="group-card__details">${this.showDateCreated&&!!e.created&&t`<span class="group-card__detail group-card__divider">${m(this.messages.created??"",{date:B(e.created,{dateStyle:"medium"})})}</span>`||""}${!this.hideDateUpdated&&!!e.modified&&t`<span class="group-card__detail group-card__divider">${m(this.messages.lastUpdated??"",{date:B(e.modified,{dateStyle:"medium"})})}</span>`||""}${!this.hideViewableBy&&t`<span class="group-card__detail group-card__divider"><calcite-icon class="group-card__detail__icon" .icon=${r.icon} scale=s></calcite-icon>${m(this.messages.viewableBy??"",{level:r.text})}</span>`||""}${this.renderBadges(e)}${this.renderBadgeMeasurement(e)}</div>`}renderListContent(e,r,i){return t`<div class="group-card-flex group-card__top">${this.renderSelectionInput()}<div class="group-card__thumbnail"><arcgis-portal-group-thumbnail .group=${r} .portal=${this.portal} scale=xl></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><div class="group-card-flex"><div class="group-card__content"><h3 class=${g({"group-card__title":!0,"group-card__title--padded":this.showSummary&&!!e.snippet})}><span class="group-card__title__span">${e.title}</span></h3>${this.showSummary&&!!e.snippet&&t`<p class="group-card__summary">${e.snippet.length>250?`${e.snippet.substring(0,250)}...`:e.snippet}</p>`||""}${this.renderDetails(e,i)}<slot name=content-end></slot></div></div></div></div>`}renderSelectionInput(){let{selection:e,selected:r,disabled:i,name:n,messages:o,group:d}=this,c=this.view==="compact";switch(e){case"single":return t`<calcite-radio-button class=${g({"group-card__input":!0,"group-card__input--compact":c})} .checked=${r} .disabled=${i} .value=${d.title??""} .name=${n} @click=${s=>s.stopPropagation()} @calciteRadioButtonChange=${()=>{this.arcgisGroupCardSelect.emit({group:d,selected:!r})}}><span class="screen-readers-only">${m(o.select??"",{title:d.title??""})}</span></calcite-radio-button>`;case"multiple":return t`<calcite-checkbox class=${g({"group-card__input":!0,"group-card__input--compact":c})} .checked=${r} .disabled=${i} .indeterminate=${this.indeterminate} @click=${s=>s.stopPropagation()} @calciteCheckboxChange=${()=>{let s=!this.selected;this.selected=s,this.arcgisGroupCardSelect.emit({group:d,selected:s})}}><span class="screen-readers-only">${d.title}</span></calcite-checkbox>`;case"none":return null;default:return x(e)}}renderCompactView(){let{group:e,selection:r,isLoaded:i,disabled:n,link:o,newTab:d,linkHandler:c,handleCardClick:s,selected:p}=this,a=this.getThumbnailGroup(e);return t`<section class=${g({"group-card":!0,"group-card--hoverable":r!=="none","group-card--selected":p,"group-card--disabled":n,"group-card--loaded":i})} tabindex=-1 @click=${o?void 0:s} @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}} ${_(this.sectionEl)}>${o?t`<a class="group-card__upper group-card__upper--compact group-card__upper--link" href=${o??l} target=${(d?"_blank":void 0)??l} rel=${(d?"noopener noreferrer":void 0)??l} @click=${u=>{c&&!u.ctrlKey&&!u.metaKey&&(u.preventDefault(),c(this.group))}}>${t`${this.renderSelectionInput()}<div class="group-card__thumbnail group-card__thumbnail--compact"><arcgis-portal-group-thumbnail .group=${a} .portal=${this.portal} scale=l></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><h3 class="group-card__title group-card__title--compact"><span class="group-card__title__span">${e.title}</span></h3>${this.renderCompactBadges(e)}</div><slot name=content-end></slot>`}</a>`:t`<div class="group-card__upper group-card__upper--compact">${this.renderSelectionInput()}<div class="group-card__thumbnail group-card__thumbnail--compact"><arcgis-portal-group-thumbnail .group=${a} .portal=${this.portal} scale=l></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><h3 class="group-card__title group-card__title--compact"><span class="group-card__title__span">${e.title}</span></h3>${this.renderCompactBadges(e)}</div><slot name=content-end></slot></div>`}</section>`}render(){let{group:e,selection:r,isLoaded:i,disabled:n,link:o}=this;if(!e||!this.messages._lang)return;if(this.view==="compact")return this.renderCompactView();let d=this.getAccessInfo(e.access??"private"),c=this.getThumbnailGroup(e),s=this.preview==="top"&&!o,p=this.previewed;return t`<section class=${g({"group-card":!0,"group-card--hoverable":r!=="none","group-card--selected":this.selected,"group-card--disabled":n,"group-card--loaded":i,"group-card--previewed":p})} @click=${o?void 0:this.handleCardClick} tabindex=${(s?0:void 0)??l} .role=${s?"button":void 0} aria-haspopup=${(s?"dialog":void 0)??l} @keydown=${a=>{s&&(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),this.handleCardClick())}} ${_(this.sectionEl)}><slot name=content-top></slot>${o?t`<a class="group-card__upper group-card__upper--link" href=${this.link??l} target=${(this.newTab?"_blank":void 0)??l} rel=${(this.newTab?"noopener noreferrer":void 0)??l} @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}} @click=${a=>{if(this.linkHandler&&!a.ctrlKey&&!a.metaKey){a.preventDefault(),this.linkHandler(this.group);return}let u=a.target;u instanceof HTMLElement&&u.closest(".group-card__footer")&&a.preventDefault()}}>${this.renderListContent(e,c,d)}</a>`:t`<div class="group-card__upper" @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}}>${this.renderListContent(e,c,d)}</div>`}<div class="group-card__footer"><div class="group-card__footer__start"><slot name=actions-start></slot>${!this.hideOwner&&t`<div class="group-card__profile-wrap"><arcgis-portal-user-popup .baseUrl=${this.getResolvedBaseUrl()} class="group-card__owner" .portal=${this.portal} .username=${e.owner??void 0} underline @arcgisUserPopupInternalUIAction=${a=>{a.stopPropagation(),this.arcgisGroupBrowserInternalUIAction.emit(a.detail)}}></arcgis-portal-user-popup></div>`||""}</div><div class="group-card__footer__end">${this.preview==="action"&&t`<calcite-button scale=s .appearance=${p?"solid":"outline-fill"} kind=neutral @click=${()=>{this.arcgisGroupBrowserCardPreview.emit(this.group)}}>${p?this.messages.hidePreview:this.messages.preview}</calcite-button>`||""}<div @click=${a=>{a.stopPropagation()}}><slot name=actions-end></slot></div></div></div></section>`}};$("arcgis-portal-group-card",v);return v},"intl")
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{a as P}from"./YG6ZGQ46.js";import c from"./RQYNPDN3.js";import b from"./ROX3GKKA.js";import{a as K}from"./TWCJJCPC.js";import{a as R}from"./AXOBMX3S.js";import{a as M}from"./Z6R3C4AK.js";import a from"./PMRFXB4F.js";import"./K75JTQPW.js";import"./KV4ZZSNW.js";import{b as N}from"./EMJQI4MA.js";import{a as J}from"./7ZWYUHGK.js";import"./A2SQ4EMZ.js";import"./K2XSYDAP.js";import{L as _,M as L,O as x,R as T,j as d,k as O,w as A}from"./AICPYLWE.js";import"./OUMTV5H5.js";import"./5PV2GUZW.js";export default $arcgis.t(([p,{substitute:w},,,{f:E,g:H,h:W,i:B}])=>{var C=1260*1e3,q=2500;function D(o,t="_blank",i=582,e=670){let s=window.screenLeft??0,n=window.screenTop??0,a=window.innerWidth||document.documentElement.clientWidth||window.screen.width,r=window.innerHeight||document.documentElement.clientHeight||window.screen.height,c=a/2-i/2+s,l=r/2-e/2+n,u=window.open(o,t,`scrollbars=no, width=${i}, height=${e}, top=${l}, left=${c}`);return u?.focus(),u}function z(o){let t=p.findOAuthInfo(o.url),{locale:i="en",expiration:e=C}=t??{},s=new URLSearchParams({locale:i,client_id:"arcgisonline",response_type:"token",expiration:`${e}`,linkUserRequest:"true",showSocialLogins:"true",hideEnterpriseLogins:"false",force_login:"true",parent:window.location.origin,redirect_uri:`https://${o.portalHostname}/home/link_account_callback.html`,state:JSON.stringify({useMessage:!0})}),n=`https://${o.portalHostname}/sharing/oauth2/authorize?${s.toString()}`;D(n)}function y(o){let{config:t,token:i,clientId:e="arcgisonline",redirectToClientUri:s=!1,displaySignoutComplete:n=!1,clientUri:a}=o,r=new URLSearchParams({display:"iframe",client_id:e,...i&&{token:i},parent:window.location.origin,redirect_uri:`${t.baseUrl}/home/check_sign_in_status.html`,state:JSON.stringify({signout:!0,origin:window.location.origin,accountOrigin:`${t.restBaseUrl}/`,redirectToClientUri:s,displaySignoutComplete:n,...a&&{redirectUri:a}})}),c=`${t.restBaseUrl}/oauth2/signout?${r.toString()}`,l=document.createElement("iframe");l.src=c,l.style.display="none",document.body.appendChild(l)}function F(o,t,i){let e=h(o.orgUrlKey,t),s=p.findOAuthInfo(e),{appId:n,locale:a="en",expiration:r=C}=s??{},c=v(o.provider),l=new URLSearchParams({locale:a,client_id:i??n??"arcgisonline",response_type:"token",expiration:`${r}`,parent:window.location.origin,...c==="social"&&{socialLoginProviderName:o.provider},...c==="default"&&{prepopulatedusername:o.username},force_login:"true",redirect_uri:`${e}/home/sign_in_callback.html`,state:JSON.stringify({user:o.username,server:e,portalUrl:e,origin:window.location.origin})}),u=`${I(o,t)}?${l.toString()}`;D(u)}function G({accounts:o,clientId:t="arcgisonline",usersToFilter:i=[],accountsToFilter:e=""}){let s={};return o.reduce((n,a)=>{let r={disabled:a.disabled??!1,allowed:a.clientAppAccessAllowed??!0};return n[a.username]=r,(i.includes(a.username)||i.includes(a.username.toLowerCase())||e==="org"&&a.orgUrlKey||t==="esriapps"&&a.userType!=="both")&&(r.allowed=!1),n},s),s}function Q({account:o,credential:t,clientId:i,portal:e,redirectUri:s}){let n=v(o.provider),a=I(o,e),r=s||j(o,e),c=new URLSearchParams({client_id:i,redirect_uri:r,parent:window.location.origin,response_type:"token",force_login:"false",...t.userId&&{prepopulatedusername:t.userId},...n==="social"&&{socialLoginProviderName:o.provider},expiration:`${(t?.expires??Date.now()+C)-Date.now()}`});return`${a}?${c.toString()}`}function v(o){return V(o)?"social":o==="enterprise"?"enterprise":o.includes("oidc")?"oidc":"default"}function V(o){return["apple","facebook","github","google"].includes(o)}function I(o,t){let i=h(o.orgUrlKey,t).toLowerCase(),e=v(o.provider),s="";switch(e){case"social":s="social/";break;case"enterprise":s="saml/";break;case"oidc":s=`oidc/${o.provider.split("_")[1]}/`;break}return`${i}/sharing/rest/oauth2/${s}authorize`}function h(o,t){return o?.startsWith("https://")?o:o&&t.customBaseUrl?`https://${o}.${t.customBaseUrl}`:`https://${t.portalHostname}`}function j(o,t){return`${h(o.orgUrlKey,t)}/home/accountswitcher-callback.html`}function X(o,t){return p.findCredential(h(o.orgUrlKey,t),o.username)}function Y(o,t){let i=X(o,t);if(i)return i;let e=h(o.orgUrlKey,t),s=`${e}/home/check_sign_in_status.html#state=${JSON.stringify({origin:window.location.origin,server:e,orgKey:e})}`;Z(s,`iframe__for-${e}`)}function Z(o,t){let i=document.createElement("iframe");i.src=o,i.id=t,i.style.display="none",document.body.appendChild(i)}var S=100,b=class extends _{constructor(){super(),this.messages=J({blocking:!0}),this.targetUser="",this.targetToken="",this.accountAccess={},this.remainingSignouts=0,this.signoutHandle=0,this.linkedAccounts=[],this.loading=!1,this.signedInStatus={},this.showAssociatedAccountsWarning=!1,this.signedInAccounts=[],this.clientId="arcgisonline",this.signout=!1,this.signoutOptions={redirectToClientUri:!1,displaySignoutComplete:!1},this.arcgisAccountSwitch=A(),this.arcgisClose=A(),this.arcgisSignoutComplete=A(),this.listenOn(window,"message",this.handleMessageEvent)}static{this.properties={linkedAccounts:16,userAccounts:16,user:16,credential:16,alertOptions:16,loading:16,signedInStatus:16,showAssociatedAccountsWarning:16,signedInAccounts:16,portal:0,clientId:1,redirectUri:1,signout:5,signoutOptions:0}}static{this.styles=M}willUpdate(t){if(t.has("portal")&&(this.user=this.portal?.user),(t.has("portal")||t.has("user"))&&this.portal&&this.user){this.findLinkedUsers();return}if(t.has("linkedAccounts")||t.has("signedInStatus")){if(this.signout){let{signedInStatus:i,linkedAccounts:e,portal:s,signoutOptions:n,clientId:a,user:r,redirectUri:c}=this,l=Object.keys(i).filter(k=>i[k]!==null).map(k=>e.find(U=>U.username===k));this.remainingSignouts=l.length+1;let u=h(s.urlKey??"",s),f=`${u}/sharing/rest`,{displaySignoutComplete:m=!0,redirectToClientUri:g=!0}=n;l.length>0&&(m=!1,g=!1),this.loading=!0;let $=p.findCredential(u,r?.id||r?.username);y({displaySignoutComplete:m,redirectToClientUri:g,clientId:a,config:{baseUrl:u,restBaseUrl:f},token:$?.token,clientUri:g?c:void 0}),this.signoutHandle=window.setTimeout(()=>{this.remainingSignouts-=1,this.finishSignout({accountOrigin:u,redirectToClientUri:g,displaySignoutComplete:m})},q)}return}}handleMessageEvent(t){if(new URL(t.origin).hostname!=="localhost"&&(t.origin.endsWith(".arcgis.com")||t.origin===window.location.origin)){if(typeof t.data=="string"){JSON.parse(t.data).type==="token_exchange"&&this.handleExchangeTokenMessage(t);return}if("type"in t.data)switch(t.data.type){case"signin":this.handleSigninMessage(t);return;case"signout":this.handleSignoutMessage(t);return;case"linkUser":this.handleLinkUserMessage(t);return;case"token_exchange":this.handleExchangeTokenMessage(t);return}if("credential"in t.data){this.handleSigninMessage(t);return}this.handleCheckSignInStatusMessage(t)}}handleSignoutMessage(t){let{error:i,signout:e,accountOrigin:s,redirectToClientUri:n,displaySignoutComplete:a}=t.data;if(this.remainingSignouts-=1,i&&i!=="unknown"){console.error(i),this.showAlert("danger",this.messages.errors.signout);return}e&&(this.user=void 0,this.credential=void 0,this.finishSignout({accountOrigin:s,redirectToClientUri:n,displaySignoutComplete:a}))}handleSigninMessage(t){let{messages:i,clientId:e}=this,{error:s,status:n,state:a,access_token:r,ssl:c,expires_in:l}=t.data;if(s){console.error(s),this.showAlert("danger",i.errors.signin);return}if(n==="success"){let{portal:u,user:f,redirectUri:m}=this,g=this.linkedAccounts.find(U=>U.username===a.user);g?.orgUrlKey===this.portal.urlKey&&p.findCredential(`https://${u.portalHostname}`,f?.username)?.destroy();let $={server:a.portalUrl,userId:a.user,token:r,expires:Number(l)+Date.now(),ssl:c===void 0||c!=="false"};p.registerToken($);let k=Q({account:g,credential:$,clientId:e,portal:u,redirectUri:m});window.self!==window.top?window.top?.postMessage({type:"navigate",url:k}):this.arcgisAccountSwitch.emit({account:g,finishUrl:k})}}handleCheckSignInStatusMessage(t){let{success:i,orgKey:e,server:s,userId:n,token:a,expires:r,ssl:c}=t.data;e&&s&&i&&n&&a&&r&&c!==void 0&&(this.signedInStatus[n]={token:a,expires:r,ssl:c})}async handleLinkUserMessage(t){let{error:i,username:e,access_token:s}=t.data,{portal:n,user:a,linkedAccounts:r,messages:c}=this;if(i){if(i.toString().toLowerCase().includes("user denied your request"))return;this.showAlert("danger",c.errors.accessAccount);return}if(e===a?.username){this.showAlert("danger",c.errors.selfLink);return}if(r.find(u=>u.username===e)){this.showAlert("danger",w(c.errors.alreadyLinked,{username:e}));return}let l=await H(n,e,s);if(l?.length){this.userAccounts=l,this.targetUser=e??"",this.targetToken=s??"",this.showAssociatedAccountsWarning=!0;return}this.linkAccount(e,s)}handleExchangeTokenMessage(t){let i=typeof t.data=="string"?JSON.parse(t.data):t.data;if(!(i.type&&i.type!=="token_exchange")){if(i.error)console.error(i);else if(i.status==="success"&&this.targetUser){let{portal:e,linkedAccounts:s,targetUser:n,clientId:a}=this,r=s.find(m=>m.username===n);if(!r)return;let c=j(r,e),l=h(r.orgUrlKey,e),u=new URLSearchParams({response_type:"token",client_id:a,redirect_uri:c,state:JSON.stringify({user:r.username,portalUrl:l})}),f=`${I(r,e)}?${u.toString()}`;window.opener?(window.opener.location.href=f,window.close()):window.location.href=f}}}finishSignout({accountOrigin:t,redirectToClientUri:i,displaySignoutComplete:e}){this.signoutHandle&&window.clearTimeout(this.signoutHandle),t===window.location.origin&&p.destroyCredentials(),console.info("Signout complete",t,i,e),this.remainingSignouts<=0&&this.arcgisSignoutComplete.emit({accountOrigin:t,redirectToClientUri:i,displaySignoutComplete:e})}async findLinkedUsers(){if(this.loading=!0,!this.portal||!this.user){this.linkedAccounts=[],this.loading=!1;return}this.linkedAccounts=await E(this.portal,this.user),this.linkedAccounts.length&&(this.signedInStatus=this.linkedAccounts.filter(t=>t.orgUrlKey!==this.portal.urlKey).reduce((t,i)=>(t[i.username]=Y(i,this.portal)??null,t),{}),this.accountAccess=G({accounts:this.linkedAccounts,clientId:this.clientId})),this.loading=!1}async linkAccount(t,i){let{portal:e,user:s}=this;if(!e||!s)return;let n=await W({portal:e,user:s,targetUser:t,targetToken:i}),{messages:a}=this;if(n.error){this.showAlert("danger",w(a.errors.linkAccount,{username:t})),this.targetUser="",this.userAccounts=[];return}let r=this.userAccounts?.length?a.success.linkAccountMultiple:a.success.linkAccount;this.showAlert("success",w(r,{username:t})),this.targetUser="",this.userAccounts=[],await N(350),this.findLinkedUsers()}async unlinkAccount(t){if(!this.portal||!this.user)return;let{messages:i,portal:e,user:s}=this,{success:n}=await B({portal:e,user:s,linkedUsername:t.username});n?this.showAlert("success",w(i.success.unlinkAccount,{username:t.username})):this.showAlert("danger",w(i.errors.unlinkAccount,{username:t.username})),await this.findLinkedUsers()}startAccountLink(){z(this.portal)}switchAccount(t){let{portal:i,user:e,clientId:s}=this;if(!i||!e||!t)return;let n=h(e.sourceJSON.orgUrlKey??"",i),a=p.findCredential(n,e.id||e.username);a&&y({config:{baseUrl:n,restBaseUrl:`${n}/sharing/rest`},token:a?.token,clientId:s}),F(t,i,s)}signoutAll(t){let{portal:i,signedInStatus:e,clientId:s}=this;t.forEach(n=>{let a=h(n.orgUrlKey,i),r=`${a}/sharing/rest`,c=e[n.username];y({config:{baseUrl:a,restBaseUrl:r},token:c?.token,clientId:s})})}showAlert(t,i,e){this.alertOptions={kind:t,title:e,message:i}}showUnlinkConfirmation(t){let{messages:i}=this;this.alertOptions={kind:"danger",icon:"exclamation-mark-triangle-f",title:i.unlinkAccount,message:i.unlinkWarning,actions:[{text:i.unlink,kind:"danger",clickHandler:()=>{this.alertOptions=void 0,this.unlinkAccount(t)}}]}}render(){let{linkedAccounts:t,accountAccess:i,user:e,portal:s,messages:n,signout:a}=this;if(!s||!e)return null;if(a){let{signedInAccounts:r}=this;return r.length===0?d`<calcite-loader .label=${n.signingOut} .text=${n.signingOut}></calcite-loader>`:d`<arcgis-portal-account-switcher-signout .portal=${s} .signedInAccounts=${r} @arcgisSwitchAccount=${c=>{this.switchAccount(c.detail.account)}} @arcgisSignOutAll=${()=>{this.signoutAll(r)}}></arcgis-portal-account-switcher-signout>`}return d`<calcite-dialog .heading=${n.switchAccounts} heading-level=2 scale=m width=s open modal .loading=${this.loading} outside-close-disabled @calciteDialogClose=${()=>{this.arcgisClose.emit()}}><calcite-block .heading=${n.currentAccount} heading-level=3 .description=${n.signedInAs} expanded class="current-account-block" tabindex=-1>${K(e.id??e.username,d`<calcite-block class="current-account" .label=${s.urlKey?`${e.username}, ${s.name}`:e.username} heading-level=4 .heading=${e.username} .description=${s.urlKey?`${e.fullName??e.username}, ${s.name}`:e.fullName??e.username}><calcite-avatar slot=content-start inert .fullName=${e.fullName??void 0} .username=${e.username} .userId=${e.id} .thumbnail=${R(e,s)??void 0}></calcite-avatar></calcite-block>`)}</calcite-block>${t.length>0?d`<calcite-block .heading=${n.linkedAccounts} heading-level=3 .description=${n.linkedAccountActions} expanded class="linked-accounts-block"><calcite-button slot=content-end icon-start=plus class="link-account-button" @click=${()=>this.startAccountLink()} .disabled=${t.length>=S}>${n.addAccount}</calcite-button><arcgis-portal-account-switcher-list .portal=${s} .linkedAccounts=${t} .accountAccess=${i} .signedInUsers=${Object.keys(this.signedInStatus).filter(r=>this.signedInStatus[r]!==null)} interactive @arcgisAccountSwitch=${r=>{this.switchAccount(r.detail.account)}} @arcgisAccountUnlink=${r=>{this.showUnlinkConfirmation(r.detail.account)}}></arcgis-portal-account-switcher-list></calcite-block>`:d`<calcite-block .heading=${n.linkedAccounts} heading-level=3 expanded class="empty-accounts-block"><div class="empty-accounts-info"><svg class="empty-accounts-icon" width=48 height=48 viewBox="0 0 48 48" fill=none xmlns=http://www.w3.org/2000/svg>${O`<path d=${P.couple??x} fill=currentColor />`}</svg><h4>${n.emptyListTitle}</h4><p>${n.emptyList}</p><calcite-button icon-start=plus class="link-account-button" @click=${()=>this.startAccountLink()} .disabled=${t.length>=S}>${n.linkAccount}</calcite-button></div></calcite-block>`}<calcite-notice kind=info .open=${t.length>=S}><div slot=message>${n.maxAccounts}</div></calcite-notice><calcite-alert .label=${n.alertLabel} slot=alerts .autoClose=${this.alertOptions?.kind!=="danger"} auto-close-duration=fast placement=bottom .kind=${this.alertOptions?.kind} .icon=${this.alertOptions?.icon} .open=${!!this.alertOptions} @calciteAlertClose=${()=>{this.alertOptions=void 0}}>${this.alertOptions?.title&&d`<h4 slot=title class="alert-title">${this.alertOptions.title}</h4>`||""}${this.alertOptions?.message&&d`<p slot=message class=${L({"alert-message":!0,"short-message":!!this.alertOptions?.actions?.length})}>${this.alertOptions.message}</p>`||""}${this.alertOptions?.actions?.map(r=>d`<calcite-button slot=actions-end .kind=${r.kind} .appearance=${r.appearance} @click=${r.clickHandler}>${r.text}</calcite-button>`)}</calcite-alert></calcite-dialog>${this.showAssociatedAccountsWarning&&d`<arcgis-portal-account-switcher-accounts .portal=${s} .targetUser=${this.targetUser} .accounts=${this.userAccounts??[]} @arcgisLinkAll=${()=>{this.linkAccount(this.targetUser,this.targetToken)}} @arcgisCloseDialog=${()=>{this.showAssociatedAccountsWarning=!1}}></arcgis-portal-account-switcher-accounts>`||""}`}};T("arcgis-portal-account-switcher",b);return b},"identity/IdentityManager","intl",a,b,c)
|
|
2
|
+
import{a as P}from"./YG6ZGQ46.js";import c from"./RQYNPDN3.js";import b from"./ROX3GKKA.js";import{a as K}from"./TWCJJCPC.js";import{a as R}from"./AXOBMX3S.js";import{a as M}from"./Z6R3C4AK.js";import a from"./PMRFXB4F.js";import"./K75JTQPW.js";import"./KV4ZZSNW.js";import{b as N}from"./EMJQI4MA.js";import{a as J}from"./7ZWYUHGK.js";import"./A2SQ4EMZ.js";import"./K2XSYDAP.js";import{L as _,M as L,O as x,R as T,j as d,k as O,w as A}from"./AICPYLWE.js";import"./OUMTV5H5.js";import"./5PV2GUZW.js";export default $arcgis.t(([p,{substitute:w},,,{f:E,g:H,h:W,i:B}])=>{var C=1260*1e3,q=2500;function D(o,t="_blank",i=582,e=670){let s=window.screenLeft??0,n=window.screenTop??0,a=window.innerWidth||document.documentElement.clientWidth||window.screen.width,r=window.innerHeight||document.documentElement.clientHeight||window.screen.height,c=a/2-i/2+s,l=r/2-e/2+n,u=window.open(o,t,`scrollbars=no, width=${i}, height=${e}, top=${l}, left=${c}`);return u?.focus(),u}function z(o){let t=p.findOAuthInfo(o.url),{locale:i="en",expiration:e=C}=t??{},s=new URLSearchParams({locale:i,client_id:"arcgisonline",response_type:"token",expiration:`${e}`,linkUserRequest:"true",showSocialLogins:"true",hideEnterpriseLogins:"false",force_login:"true",parent:window.location.origin,redirect_uri:`https://${o.portalHostname}/home/link_account_callback.html`,state:JSON.stringify({useMessage:!0})}),n=`https://${o.portalHostname}/sharing/oauth2/authorize?${s.toString()}`;D(n)}function y(o){let{config:t,token:i,clientId:e="arcgisonline",redirectToClientUri:s=!1,displaySignoutComplete:n=!1,clientUri:a}=o,r=new URLSearchParams({display:"iframe",client_id:e,...i&&{token:i},parent:window.location.origin,redirect_uri:`${t.baseUrl}/home/check_sign_in_status.html`,state:JSON.stringify({signout:!0,origin:window.location.origin,accountOrigin:`${t.restBaseUrl}/`,redirectToClientUri:s,displaySignoutComplete:n,...a&&{redirectUri:a}})}),c=`${t.restBaseUrl}/oauth2/signout?${r.toString()}`,l=document.createElement("iframe");l.src=c,l.style.display="none",document.body.appendChild(l)}function F(o,t,i){let e=h(o.orgUrlKey,t),s=p.findOAuthInfo(e),{appId:n,locale:a="en",expiration:r=C}=s??{},c=v(o.provider),l=new URLSearchParams({locale:a,client_id:i??n??"arcgisonline",response_type:"token",expiration:`${r}`,parent:window.location.origin,...c==="social"&&{socialLoginProviderName:o.provider},...c==="default"&&{prepopulatedusername:o.username},force_login:"true",redirect_uri:`${e}/home/sign_in_callback.html`,state:JSON.stringify({user:o.username,server:e,portalUrl:e,origin:window.location.origin})}),u=`${I(o,t)}?${l.toString()}`;D(u)}function G({accounts:o,clientId:t="arcgisonline",usersToFilter:i=[],accountsToFilter:e=""}){let s={};return o.reduce((n,a)=>{let r={disabled:a.disabled??!1,allowed:a.clientAppAccessAllowed??!0};return n[a.username]=r,(i.includes(a.username)||i.includes(a.username.toLowerCase())||e==="org"&&a.orgUrlKey||t==="esriapps"&&a.userType!=="both")&&(r.allowed=!1),n},s),s}function Q({account:o,credential:t,clientId:i,portal:e,redirectUri:s}){let n=v(o.provider),a=I(o,e),r=s||j(o,e),c=new URLSearchParams({client_id:i,redirect_uri:r,parent:window.location.origin,response_type:"token",force_login:"false",...t.userId&&{prepopulatedusername:t.userId},...n==="social"&&{socialLoginProviderName:o.provider},expiration:`${(t?.expires??Date.now()+C)-Date.now()}`});return`${a}?${c.toString()}`}function v(o){return V(o)?"social":o==="enterprise"?"enterprise":o.includes("oidc")?"oidc":"default"}function V(o){return["apple","facebook","github","google"].includes(o)}function I(o,t){let i=h(o.orgUrlKey,t).toLowerCase(),e=v(o.provider),s="";switch(e){case"social":s="social/";break;case"enterprise":s="saml/";break;case"oidc":s=`oidc/${o.provider.split("_")[1]}/`;break}return`${i}/sharing/rest/oauth2/${s}authorize`}function h(o,t){return o?.startsWith("https://")?o:o&&t.customBaseUrl?`https://${o}.${t.customBaseUrl}`:`https://${t.portalHostname}`}function j(o,t){return`${h(o.orgUrlKey,t)}/home/accountswitcher-callback.html`}function X(o,t){return p.findCredential(h(o.orgUrlKey,t),o.username)}function Y(o,t){let i=X(o,t);if(i)return i;let e=h(o.orgUrlKey,t),s=`${e}/home/check_sign_in_status.html#state=${JSON.stringify({origin:window.location.origin,server:e,orgKey:e})}`;Z(s,`iframe__for-${e}`)}function Z(o,t){let i=document.createElement("iframe");i.src=o,i.id=t,i.style.display="none",document.body.appendChild(i)}var S=100,b=class extends _{constructor(){super(),this.messages=J({blocking:!0}),this.targetUser="",this.targetToken="",this.accountAccess={},this.remainingSignouts=0,this.signoutHandle=0,this.linkedAccounts=[],this.loading=!1,this.signedInStatus={},this.showAssociatedAccountsWarning=!1,this.signedInAccounts=[],this.clientId="arcgisonline",this.signout=!1,this.signoutOptions={redirectToClientUri:!1,displaySignoutComplete:!1},this.arcgisAccountSwitch=A(),this.arcgisClose=A(),this.arcgisSignoutComplete=A(),this.listenOn(window,"message",this.handleMessageEvent)}static{this.properties={linkedAccounts:16,userAccounts:16,user:16,credential:16,alertOptions:16,loading:16,signedInStatus:16,showAssociatedAccountsWarning:16,signedInAccounts:16,portal:0,clientId:1,redirectUri:1,signout:5,signoutOptions:0}}static{this.styles=M}willUpdate(t){if(t.has("portal")&&(this.user=this.portal?.user),(t.has("portal")||t.has("user"))&&this.portal&&this.user){this.findLinkedUsers();return}if(t.has("linkedAccounts")||t.has("signedInStatus")){if(this.signout){let{signedInStatus:i,linkedAccounts:e,portal:s,signoutOptions:n,clientId:a,user:r,redirectUri:c}=this,l=Object.keys(i).filter(k=>i[k]!==null).map(k=>e.find(U=>U.username===k));this.remainingSignouts=l.length+1;let u=h(s.urlKey??"",s),f=`${u}/sharing/rest`,{displaySignoutComplete:m=!0,redirectToClientUri:g=!0}=n;l.length>0&&(m=!1,g=!1),this.loading=!0;let $=p.findCredential(u,r?.id||r?.username);y({displaySignoutComplete:m,redirectToClientUri:g,clientId:a,config:{baseUrl:u,restBaseUrl:f},token:$?.token,clientUri:g?c:void 0}),this.signoutHandle=window.setTimeout(()=>{this.remainingSignouts-=1,this.finishSignout({accountOrigin:u,redirectToClientUri:g,displaySignoutComplete:m})},q)}return}}handleMessageEvent(t){if(new URL(t.origin).hostname!=="localhost"&&(t.origin.endsWith(".arcgis.com")||t.origin===window.location.origin)){if(typeof t.data=="string"){JSON.parse(t.data).type==="token_exchange"&&this.handleExchangeTokenMessage(t);return}if("type"in t.data)switch(t.data.type){case"signin":this.handleSigninMessage(t);return;case"signout":this.handleSignoutMessage(t);return;case"linkUser":this.handleLinkUserMessage(t);return;case"token_exchange":this.handleExchangeTokenMessage(t);return}if("credential"in t.data){this.handleSigninMessage(t);return}this.handleCheckSignInStatusMessage(t)}}handleSignoutMessage(t){let{error:i,signout:e,accountOrigin:s,redirectToClientUri:n,displaySignoutComplete:a}=t.data;if(this.remainingSignouts-=1,i&&i!=="unknown"){console.error(i),this.showAlert("danger",this.messages.errors.signout);return}e&&(this.user=void 0,this.credential=void 0,this.finishSignout({accountOrigin:s,redirectToClientUri:n,displaySignoutComplete:a}))}handleSigninMessage(t){let{messages:i,clientId:e}=this,{error:s,status:n,state:a,access_token:r,ssl:c,expires_in:l}=t.data;if(s){console.error(s),this.showAlert("danger",i.errors.signin);return}if(n==="success"){let{portal:u,user:f,redirectUri:m}=this,g=this.linkedAccounts.find(U=>U.username===a.user);g?.orgUrlKey===this.portal.urlKey&&p.findCredential(`https://${u.portalHostname}`,f?.username)?.destroy();let $={server:a.portalUrl,userId:a.user,token:r,expires:Number(l)+Date.now(),ssl:c===void 0||c!=="false"};p.registerToken($);let k=Q({account:g,credential:$,clientId:e,portal:u,redirectUri:m});window.self!==window.top?window.top?.postMessage({type:"navigate",url:k}):this.arcgisAccountSwitch.emit({account:g,finishUrl:k})}}handleCheckSignInStatusMessage(t){let{success:i,orgKey:e,server:s,userId:n,token:a,expires:r,ssl:c}=t.data;e&&s&&i&&n&&a&&r&&c!==void 0&&(this.signedInStatus[n]={token:a,expires:r,ssl:c})}async handleLinkUserMessage(t){let{error:i,username:e,access_token:s}=t.data,{portal:n,user:a,linkedAccounts:r,messages:c}=this;if(i){if(i.toString().toLowerCase().includes("user denied your request"))return;this.showAlert("danger",c.errors.accessAccount);return}if(e===a?.username){this.showAlert("danger",c.errors.selfLink);return}if(r.find(u=>u.username===e)){this.showAlert("danger",w(c.errors.alreadyLinked,{username:e}));return}let l=await H(n,e,s);if(l?.length){this.userAccounts=l,this.targetUser=e??"",this.targetToken=s??"",this.showAssociatedAccountsWarning=!0;return}this.linkAccount(e,s)}handleExchangeTokenMessage(t){let i=typeof t.data=="string"?JSON.parse(t.data):t.data;if(!(i.type&&i.type!=="token_exchange")){if(i.error)console.error(i);else if(i.status==="success"&&this.targetUser){let{portal:e,linkedAccounts:s,targetUser:n,clientId:a}=this,r=s.find(m=>m.username===n);if(!r)return;let c=j(r,e),l=h(r.orgUrlKey,e),u=new URLSearchParams({response_type:"token",client_id:a,redirect_uri:c,state:JSON.stringify({user:r.username,portalUrl:l})}),f=`${I(r,e)}?${u.toString()}`;window.opener?(window.opener.location.href=f,window.close()):window.location.href=f}}}finishSignout({accountOrigin:t,redirectToClientUri:i,displaySignoutComplete:e}){this.signoutHandle&&window.clearTimeout(this.signoutHandle),t===window.location.origin&&p.destroyCredentials(),console.info("Signout complete",t,i,e),this.remainingSignouts<=0&&this.arcgisSignoutComplete.emit({accountOrigin:t,redirectToClientUri:i,displaySignoutComplete:e})}async findLinkedUsers(){if(this.loading=!0,!this.portal||!this.user){this.linkedAccounts=[],this.loading=!1;return}this.linkedAccounts=await E(this.portal,this.user),this.linkedAccounts.length&&(this.signedInStatus=this.linkedAccounts.filter(t=>t.orgUrlKey!==this.portal.urlKey).reduce((t,i)=>(t[i.username]=Y(i,this.portal)??null,t),{}),this.accountAccess=G({accounts:this.linkedAccounts,clientId:this.clientId})),this.loading=!1}async linkAccount(t,i){let{portal:e,user:s}=this;if(!e||!s)return;let n=await W({portal:e,user:s,targetUser:t,targetToken:i}),{messages:a}=this;if(n.error){this.showAlert("danger",w(a.errors.linkAccount,{username:t})),this.targetUser="",this.userAccounts=[];return}let r=this.userAccounts?.length?a.success.linkAccountMultiple:a.success.linkAccount;this.showAlert("success",w(r,{username:t})),this.targetUser="",this.userAccounts=[],await N(350),this.findLinkedUsers()}async unlinkAccount(t){if(!this.portal||!this.user)return;let{messages:i,portal:e,user:s}=this,{success:n}=await B({portal:e,user:s,linkedUsername:t.username});n?this.showAlert("success",w(i.success.unlinkAccount,{username:t.username})):this.showAlert("danger",w(i.errors.unlinkAccount,{username:t.username})),await this.findLinkedUsers()}startAccountLink(){z(this.portal)}switchAccount(t){let{portal:i,user:e,clientId:s}=this;if(!i||!e||!t)return;let n=h(e.sourceJSON.orgUrlKey??"",i),a=p.findCredential(n,e.id||e.username);a&&y({config:{baseUrl:n,restBaseUrl:`${n}/sharing/rest`},token:a?.token,clientId:s}),F(t,i,s)}signoutAll(t){let{portal:i,signedInStatus:e,clientId:s}=this;t.forEach(n=>{let a=h(n.orgUrlKey,i),r=`${a}/sharing/rest`,c=e[n.username];y({config:{baseUrl:a,restBaseUrl:r},token:c?.token,clientId:s})})}showAlert(t,i,e){this.alertOptions={kind:t,title:e,message:i}}showUnlinkConfirmation(t){let{messages:i}=this;this.alertOptions={kind:"danger",icon:"exclamation-mark-triangle-f",title:i.unlinkAccount,message:i.unlinkWarning,actions:[{text:i.unlink,kind:"danger",clickHandler:()=>{this.alertOptions=void 0,this.unlinkAccount(t)}}]}}render(){let{linkedAccounts:t,accountAccess:i,user:e,portal:s,messages:n,signout:a}=this;if(!s||!e)return null;if(a){let{signedInAccounts:r}=this;return r.length===0?d`<calcite-loader .label=${n.signingOut} .text=${n.signingOut}></calcite-loader>`:d`<arcgis-portal-account-switcher-signout .portal=${s} .signedInAccounts=${r} @arcgisSignOutSwitchAccount=${c=>{this.switchAccount(c.detail.account)}} @arcgisSignOutAll=${()=>{this.signoutAll(r)}} @arcgisSignOutCloseDialog=${()=>{this.arcgisClose.emit()}}></arcgis-portal-account-switcher-signout>`}return d`<calcite-dialog .heading=${n.switchAccounts} heading-level=2 scale=m width=s open modal .loading=${this.loading} outside-close-disabled @calciteDialogClose=${()=>{this.arcgisClose.emit()}}><calcite-block .heading=${n.currentAccount} heading-level=3 .description=${n.signedInAs} expanded class="current-account-block" tabindex=-1>${K(e.id??e.username,d`<calcite-block class="current-account" .label=${s.urlKey?`${e.username}, ${s.name}`:e.username} heading-level=4 .heading=${e.username} .description=${s.urlKey?`${e.fullName??e.username}, ${s.name}`:e.fullName??e.username}><calcite-avatar slot=content-start inert .fullName=${e.fullName??void 0} .username=${e.username} .userId=${e.id} .thumbnail=${R(e,s)??void 0}></calcite-avatar></calcite-block>`)}</calcite-block>${t.length>0?d`<calcite-block .heading=${n.linkedAccounts} heading-level=3 .description=${n.linkedAccountActions} expanded class="linked-accounts-block"><calcite-button slot=content-end icon-start=plus class="link-account-button" @click=${()=>this.startAccountLink()} .disabled=${t.length>=S}>${n.addAccount}</calcite-button><arcgis-portal-account-switcher-list .portal=${s} .linkedAccounts=${t} .accountAccess=${i} .signedInUsers=${Object.keys(this.signedInStatus).filter(r=>this.signedInStatus[r]!==null)} interactive @arcgisAccountListSwitch=${r=>{this.switchAccount(r.detail.account)}} @arcgisAccountListUnlink=${r=>{this.showUnlinkConfirmation(r.detail.account)}}></arcgis-portal-account-switcher-list></calcite-block>`:d`<calcite-block .heading=${n.linkedAccounts} heading-level=3 expanded class="empty-accounts-block"><div class="empty-accounts-info"><svg class="empty-accounts-icon" width=48 height=48 viewBox="0 0 48 48" fill=none xmlns=http://www.w3.org/2000/svg>${O`<path d=${P.couple??x} fill=currentColor />`}</svg><h4>${n.emptyListTitle}</h4><p>${n.emptyList}</p><calcite-button icon-start=plus class="link-account-button" @click=${()=>this.startAccountLink()} .disabled=${t.length>=S}>${n.linkAccount}</calcite-button></div></calcite-block>`}<calcite-notice kind=info .open=${t.length>=S}><div slot=message>${n.maxAccounts}</div></calcite-notice><calcite-alert .label=${n.alertLabel} slot=alerts .autoClose=${this.alertOptions?.kind!=="danger"} auto-close-duration=fast placement=bottom .kind=${this.alertOptions?.kind} .icon=${this.alertOptions?.icon} .open=${!!this.alertOptions} @calciteAlertClose=${()=>{this.alertOptions=void 0}}>${this.alertOptions?.title&&d`<h4 slot=title class="alert-title">${this.alertOptions.title}</h4>`||""}${this.alertOptions?.message&&d`<p slot=message class=${L({"alert-message":!0,"short-message":!!this.alertOptions?.actions?.length})}>${this.alertOptions.message}</p>`||""}${this.alertOptions?.actions?.map(r=>d`<calcite-button slot=actions-end .kind=${r.kind} .appearance=${r.appearance} @click=${r.clickHandler}>${r.text}</calcite-button>`)}</calcite-alert></calcite-dialog>${this.showAssociatedAccountsWarning&&d`<arcgis-portal-account-switcher-accounts .portal=${s} .targetUser=${this.targetUser} .accounts=${this.userAccounts??[]} @arcgisAccountsLinkAll=${()=>{this.linkAccount(this.targetUser,this.targetToken)}} @arcgisAccountsCloseDialog=${()=>{this.showAssociatedAccountsWarning=!1}}></arcgis-portal-account-switcher-accounts>`||""}`}};T("arcgis-portal-account-switcher",b);return b},"identity/IdentityManager","intl",a,b,c)
|