@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 3.96 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{_ as t}from"../chunks/tslib.es6.js";import"../intl.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import s from"../widgets/Widget.js";import{loadCalciteComponents as i}from"../widgets/support/componentsUtils.js";import{setFocus as n}from"../widgets/support/widgetUtils.js";import{messageBundle as r}from"../widgets/support/decorators/messageBundle.js";import{tsx as l}from"../widgets/support/jsxFactory.js";import{getCalciteModeClass as a}from"../support/modeUtils.js";import{substitute as c}from"../intl/substitute.js";const p="esri-identity-modal",d={base:p,info:`${p}__info`,notice:`${p}__notice`},u="ArcGIS Online";let m=class extends s{constructor(t,e){super(t,e),this.container=document.createElement("div"),this.error=null,this.oAuthPrompt=!1,this.open=!1,this.signingIn=!1,this.server=null,this.resource=null,this._usernameInputNode=null,this._passwordInputNode=null,document.body.appendChild(this.container)}loadDependencies(){return i({button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}get title(){return this.commonMessages?.auth.signIn}render(){const{open:t,title:e,messages:o,signingIn:s,oAuthPrompt:i,server:n,resource:r,error:p}=this,{info:m,oAuthInfo:h,lblItem:g,invalidUser:b,noAuthService:f,lblUser:v,lblPwd:_,lblCancel:y,lblSigning:I,lblOk:w}=o;return l("div",{class:this.classes(d.base,a())},l("form",{bind:this,onsubmit:this._submit},l("calcite-dialog",{bind:this,heading:e,modal:!0,open:t,outsideCloseDisabled:!0,scale:"s",widthScale:"s",onCalciteDialogClose:this._cancel,onCalciteDialogOpen:this._focusUsernameInput},l("div",{class:d.info},c(i?h:m,{server:n&&/\.arcgis\.com/i.test(n)?u:n,resource:`(${r||g})`})),p?l("calcite-notice",{class:d.notice,icon:"exclamation-mark-triangle",kind:"danger",open:!0},l("div",{slot:"message"},p.details?.httpStatus?b:f)):null,i?null:[l("calcite-label",null,v,l("calcite-input",{afterCreate:t=>this._usernameInputNode=t,autocomplete:"off",bind:this,name:"username",required:!0,spellcheck:!1,type:"text",value:""})),l("calcite-label",null,_,l("calcite-input",{afterCreate:t=>this._passwordInputNode=t,bind:this,name:"password",required:!0,type:"password",value:""}))],l("calcite-button",{appearance:"outline",bind:this,onclick:this._cancel,slot:"footer-end",type:"button"},y),l("calcite-button",{loading:!!s,slot:"footer-end",type:"submit"},s?I:w))))}_focusUsernameInput(){return n((()=>this._usernameInputNode))}_cancel(){this._set("signingIn",!1),this.open=!1,this._usernameInputNode&&(this._usernameInputNode.value=""),this._passwordInputNode&&(this._passwordInputNode.value=""),this.emit("cancel")}_submit(t){t.preventDefault(),this._set("signingIn",!0);const e=this.oAuthPrompt?{}:{username:this._usernameInputNode?.value,password:this._passwordInputNode?.value};this.emit("submit",e)}};t([e({readOnly:!0})],m.prototype,"container",void 0),t([e(),r("esri/t9n/common")],m.prototype,"commonMessages",void 0),t([e()],m.prototype,"error",void 0),t([e(),r("esri/identity/t9n/identity")],m.prototype,"messages",void 0),t([e()],m.prototype,"oAuthPrompt",void 0),t([e()],m.prototype,"open",void 0),t([e()],m.prototype,"signingIn",void 0),t([e()],m.prototype,"server",void 0),t([e({readOnly:!0})],m.prototype,"title",null),t([e()],m.prototype,"resource",void 0),m=t([o("esri.identity.IdentityModal")],m);const h=m;export{h as default};