12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import{_ as t}from"../chunks/tslib.es6.js";import{eventKey as e}from"../core/events.js";import o from"../core/Handles.js";import{isSome as i,isNone as s}from"../core/maybe.js";import{watch as r,initial as a,on as n}from"../core/reactiveUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import{subclass as k}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as m,convertDateFormatToIntlOptions as u}from"../intl/date.js";import{SlideThumbnail as h}from"../webdoc/support/SlideThumbnail.js";import c from"./Widget.js";import b from"./Bookmarks/BookmarksUserState.js";import _ from"./Bookmarks/BookmarksViewModel.js";import p from"./FeatureTable/Grid/support/ButtonMenu.js";import g from"./FeatureTable/Grid/support/ButtonMenuItem.js";import{Heading as B}from"./support/Heading.js";import{isActivationKey as v}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{vmEvent as I}from"./support/decorators/vmEvent.js";import{tsx as E}from"./support/jsxFactory.js";import y from"sortablejs";function w(t,e,o){t.splice(o,0,t.splice(e,1)[0])}const S="bookmarks",x="data-bookmark-uid",T={base:"esri-bookmarks esri-widget--panel",loaderContainer:"esri-bookmarks__loader-container",loader:"esri-bookmarks__loader",fadeIn:"esri-bookmarks--fade-in",bookmarkList:"esri-bookmarks__list",bookmarkListSortable:"esri-bookmarks__list--sortable",bookmark:"esri-bookmarks__bookmark",bookmarkButton:"esri-bookmarks__bookmark-button",bookmarkImageContainer:"esri-bookmarks__bookmark-image-container",bookmarkEditButtonContainer:"esri-bookmarks__bookmark-edit-button-container",bookmarkEditButton:"esri-bookmarks__bookmark-edit-button",bookmarkDragHandle:"esri-bookmarks_bookmark-drag-handle",bookmarkDragHandleIcon:"esri-bookmarks_bookmark-drag-handle-icon",bookmarkIcon:"esri-bookmarks__bookmark-icon",bookmarkImage:"esri-bookmarks__image",bookmarkLabel:"esri-bookmarks__bookmark-label",bookmarkName:"esri-bookmarks__bookmark-name",bookmarkTimeExtent:"esri-bookmarks__bookmark-time-extent",bookmarkActive:"esri-bookmarks__bookmark--active",noBookmarksContainer:"esri-widget__content--empty",noBookmarksHeader:"esri-bookmarks__no-bookmarks-heading",noBookmarksIcon:"esri-widget__no-bookmark-icon",noBookmarksDescription:"esri-bookmarks__no-bookmarks-description",addingBookmark:"esri-bookmarks__adding-bookmark",addBookmark:"esri-bookmarks__add-bookmark",addBookmarkButton:"esri-bookmarks__add-bookmark-button",addBookmarkIcon:"esri-bookmarks__add-bookmark-icon",authoringCard:"esri-bookmarks__authoring-card",authoringContainer:"esri-bookmarks__authoring-container",authoringForm:"esri-bookmarks__authoring-form",authoringLabel:"esri-bookmarks__authoring-label",authoringActions:"esri-bookmarks__authoring-actions",authoringInputInvalid:"esri-bookmarks__authoring-input--invalid",authoringDeleteButton:"esri-bookmarks__authoring-delete-button",authoringCancelButton:"esri-bookmarks__authoring-cancel-button",timeExtentContainer:"esri-bookmarks__time-extent-container",timeExtent:"esri-bookmarks__time-extent",timeExtentGroup:"esri-bookmarks__time-extent-group",timeExtentDate:"esri-bookmarks__time-extent-date",timeExtentTime:"esri-bookmarks__time-extent-time",esriWidget:"esri-widget",esriWidgetDisabled:"esri-widget--disabled",esriButton:"esri-button",esriButtonTertiary:"esri-button--tertiary",esriInput:"esri-input",iconHandle:"esri-icon-handle-vertical",iconPlus:"esri-icon-plus",iconEdit:"esri-icon-edit",iconHandleHorizontal:"esri-icon-handle-horizontal",iconRefresh:"esri-icon-refresh",iconLink:"esri-icon-link",iconRemove:"esri-icon-erase",widgetIcon:"esri-icon-bookmark",header:"esri-widget__heading",loading:"esri-icon-loading-indicator",rotating:"esri-rotating"},A={addBookmark:!0,thumbnail:!0,time:!0},C=/^https:\/\/.*/i,U="esri.widgets.Bookmarks";let M=class extends c{constructor(t,e){super(t,e),this._handles=new o,this._addInputNode=null,this._editInputNode=null,this._urlEditInputNode=null,this._addBookmarkButtonNode=null,this._focusAddBookmarkButton=!1,this._focusEditInputBox=!1,this._focusAddInputBox=!1,this._focusUrlEditInputBox=!1,this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this._selectedSortUid=null,this._sortableSavedItems=null,this._editIncludeTimeExtent=null,this._userState=null,this.disabled=!1,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=T.widgetIcon,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.viewModel=new _,this.visibleElements={...A}}initialize(){this.addHandles([r((()=>this.viewModel?.bookmarks),(()=>this._bookmarksInitialized()),a),r((()=>this.editingEnabled),(()=>this._toggleSorting()),a)])}destroy(){this._destroySortable(),this._handles.destroy(),this._handles=null,this._editMenu.destroy()}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-label.js"),import("@esri/calcite-components/dist/components/calcite-switch.js")])}get _editMenuItems(){const{messages:t,_userState:e}=this,o=e?.editedBookmark?.thumbnail?.url;return[new g({label:t?.menu.refreshThumbnail,iconClass:T.iconRefresh,clickFunction:()=>this._refreshThumbnail()}),new g({label:C.test(o)?t?.menu.editImageUrl:t?.menu.useImageUrl,iconClass:T.iconLink,clickFunction:()=>this._startUseImageUrl()}),o?new g({label:t?.menu.removeThumbnail,iconClass:T.iconRemove,clickFunction:()=>this._removeThumbnail()}):null].filter(Boolean)}get _editMenu(){const{_editMenuItems:t,messages:e,disabled:o}=this,i=this._get("_editMenu");i&&i.destroy();const s=new p({disabled:o,iconClass:T.iconHandleHorizontal,label:e?.menu.label});return s.items=t,s}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(t){this.viewModel.defaultCreateOptions=t}get defaultEditOptions(){return this.viewModel.defaultEditOptions}set defaultEditOptions(t){this.viewModel.defaultEditOptions=t}get bookmarks(){return this.viewModel.bookmarks}set bookmarks(t){this.viewModel.bookmarks=t}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(t){this.viewModel.goToOverride=t}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}castVisibleElements(t){return{...A,...t}}endAddBookmark(){this._userState=null}goTo(t){return this.viewModel.goTo(t)}render(){const{state:t}=this.viewModel,e="loading"===t?this.renderLoading():this.renderBookmarks();return E("div",{class:this.classes(T.base,T.esriWidget,{[T.esriWidgetDisabled]:this.disabled})},e)}startAddBookmark(){this._userState=new b({state:"add"}),this._focusAddInputBox=!0,this.scheduleRender()}renderLoading(){return E("div",{class:T.loaderContainer,key:"loader",tabIndex:this.disabled?-1:null},E("div",{class:T.loader}))}renderNoBookmarksContainer(){const{messages:t,disabled:e}=this;return E("div",{class:T.noBookmarksContainer,key:"no-bookmarks",tabIndex:e?-1:null},E("span",{"aria-hidden":"true",class:this.classes(T.noBookmarksIcon,T.widgetIcon)}),E(B,{level:this.headingLevel,class:this.classes(T.header,T.noBookmarksHeader)},t?.noBookmarksHeading),E("p",{class:T.noBookmarksDescription},t?.noBookmarksDescription))}renderAddBookmarkLoading(){return E("div",{key:"adding-bookmark",class:T.addingBookmark},E("span",{"aria-hidden":"true",class:this.classes(T.loading,T.rotating)}),this.messages?.addingBookmark)}renderBookmarkItems(t){if(!t)return null;const{_userState:e,editingEnabled:o}=this;return t.map((t=>o&&t&&e&&("edit"===e.state||"edit-thumbnail"===e.state)&&e.bookmark===t?"edit-thumbnail"===e.state?this.renderEditingBookmarkUrl(e.editedBookmark):this.renderEditingBookmark(e.editedBookmark):this.renderBookmark(t))).toArray()}renderBookmarksContainer(t){const{_userState:e,editingEnabled:o,disabled:i}=this,s="add"===e?.state,r=o&&!s?this.renderAddBookmarkButton():null,a=o?s&&e.loading?this.renderAddBookmarkLoading():"add"===e?.state?this.renderAddingBookmark():null:null;return[E("ul",{key:"bookmark-list","aria-label":this.messages?.widgetLabel,class:this.classes(T.bookmarkList,{[T.bookmarkListSortable]:this.editingEnabled}),afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"data-node-ref":"_sortableNode",bind:this,tabIndex:i?-1:null},this.renderBookmarkItems(t)),r,a]}renderAddBookmarkButton(){return this.visibleElements.addBookmark?E("div",{key:"add-bookmark-item",class:T.addBookmark},E("button",{class:this.classes(T.esriButton,T.esriButtonTertiary,T.addBookmarkButton),disabled:this.disabled,onclick:this.startAddBookmark,afterCreate:this._storeAddBookmarkButton,afterUpdate:this._storeAddBookmarkButton,"data-node-ref":"_addBookmarkButtonNode",bind:this,type:"button"},E("span",{"aria-hidden":"true",class:this.classes(T.addBookmarkIcon,T.iconPlus)}),this.messages?.addBookmark)):null}renderBookmarks(){const{bookmarks:t}=this.viewModel,e=t&&t.filter(Boolean),o=e&&e.length,i=o||this.editingEnabled?this.renderBookmarksContainer(e):null;return[o?null:this.renderNoBookmarksContainer(),i]}renderEditContainer(t){const{messagesCommon:e,disabled:o}=this,i=this._getBookmarkTitle(t);return E("div",{class:T.bookmarkEditButtonContainer,key:"edit-container"},E("button",{disabled:o,title:`${e?.edit} ${i}`,"aria-label":`${e?.edit} ${i}`,"data-bookmark":t,onclick:this._showEditBookmarkForm,bind:this,class:T.bookmarkEditButton,type:"button"},E("span",{"aria-hidden":"true",class:T.iconEdit})))}renderDragHandle(t){const{messagesCommon:e,disabled:o}=this,i=this._getBookmarkTitle(t),s={[x]:t.uid};return E("div",{role:"button",tabIndex:o?-1:0,key:"drag-handle",bind:this,class:T.bookmarkDragHandle,onkeydown:this._dragHandleKeydown,afterCreate:this._focusDragHandle,afterUpdate:this._focusDragHandle,onblur:this._dragHandleBlur,"aria-pressed":this._selectedSortUid===t.uid?"true":"false","aria-label":`${e?.dragHandleTitle} ${i}`,title:`${e?.dragHandleTitle} ${i}`,...s},E("span",{"aria-hidden":"true",class:this.classes(T.bookmarkDragHandleIcon,T.iconHandle)}))}renderBookmarkImageIcon(){return E("span",{"aria-hidden":"true",class:this.classes(T.bookmarkIcon,T.widgetIcon)})}renderBookmarkImage(t){const{visibleElements:e}=this,{thumbnail:o}=t,i=o&&o.url||"";return e.thumbnail&&i?E("img",{src:i,alt:"",class:T.bookmarkImage}):null}renderBookmarkTimeSwitch(t){const{messages:e,disabled:o}=this,{timeExtent:i}=t,{view:s}=this.viewModel;return s.timeExtent||i?E("calcite-label",{layout:"inline-space-between","disable-spacing":"true"},e.includeTimeExtent,E("calcite-switch",{scale:"s",disabled:o,checked:!!i,onCalciteSwitchChange:t=>this._editIncludeTimeExtent=!!t.detail.switched})):null}renderBookmarkTimeExtent(t){const{visibleElements:e}=this,{timeExtent:o}=t;return o?E("span",{class:T.timeExtent},[i(o.start)&&E("span",{key:"start-date-group",class:T.timeExtentGroup},E("span",{key:"start-date",class:T.timeExtentDate},this._formatDate(o.start)),e.time&&E("span",{key:"start-time",class:T.timeExtentTime},this._formatTime(o.start))),i(o.end)&&(s(o.start)||o.start.getTime()!==o.end.getTime())&&E("span",{key:"end-date-group",class:T.timeExtentGroup},E("span",{key:"end-date",class:T.timeExtentDate},this._formatDate(o.end)),e.time&&E("span",{key:"end-time",class:T.timeExtentTime},this._formatTime(o.end)))]):null}renderBookmarkButton(t){const{disabled:e}=this,{timeExtent:o}=t,{abilities:i}=this.viewModel,s=this._getBookmarkTitle(t),r=E("div",{class:T.bookmarkImageContainer},this.renderBookmarkImage(t)||this.renderBookmarkImageIcon()),a=i.time&&o?E("span",{key:"time-extent",class:T.bookmarkTimeExtent},this.renderBookmarkTimeExtent(t)):null;return E("button",{disabled:e,key:"bookmark-button",class:T.bookmarkButton,bind:this,"data-bookmark":t,onclick:this._goToBookmark,type:"button"},r,E("div",{class:T.bookmarkLabel},E("span",{key:"bookmark-title",class:T.bookmarkName},s),a))}renderBookmark(t){const{activeBookmark:e}=this.viewModel,o={[T.bookmarkActive]:e===t},i=this.editingEnabled?this.renderEditContainer(t):null,s={[x]:t.uid},r=this.editingEnabled?this.renderDragHandle(t):null;return E("li",{key:t,class:this.classes(T.bookmark,o),...s},r,this.renderBookmarkButton(t),i)}renderEditingBookmarkName(t){const{messages:e,_userState:o,disabled:i}=this,s="name-required"===o.validationState;return E("label",{class:T.authoringLabel},e?.title,s?E("strong",null,e?.invalidTitle):null,E("input",{required:!0,disabled:i,bind:this,class:this.classes(T.esriInput,s?T.authoringInputInvalid:null),type:"text",value:t.name,afterCreate:this._storeEditInput,afterUpdate:this._focusEditInput,"data-bookmark":t,"data-node-ref":"_editInputNode",placeholder:e?.titlePlaceholder}))}renderEditingBookmarkUrlActions(){const{messagesCommon:t,disabled:e}=this;return E("div",{class:T.authoringActions},E("input",{type:"button",disabled:e,value:t?.back,class:this.classes(T.esriButton,T.esriButtonTertiary),onclick:this._closeUrlEditBookmarkForm,bind:this}),E("input",{class:T.esriButton,disabled:e,type:"submit",value:t?.add}))}renderEditingBookmarkActions(){const{messagesCommon:t,disabled:e}=this,{bookmark:o}=this._userState;return E("div",{class:T.authoringActions},E("input",{type:"button",disabled:e,value:t?.delete,class:this.classes(T.esriButton,T.esriButtonTertiary,T.authoringDeleteButton),"data-bookmark":o,onclick:this._deleteBookmark,bind:this}),E("input",{disabled:e,type:"button",value:t?.cancel,class:this.classes(T.esriButton,T.esriButtonTertiary),onclick:this._closeEditBookmarkForm,bind:this}),E("input",{class:T.esriButton,disabled:e,type:"submit",value:t?.save}))}renderEditingBookmarkUrlInput(t){const{messages:e,_userState:o,disabled:i}=this,s=t.thumbnail?.url,r=C.test(s)?s:null,a="absolute-url-required"===o.validationState;return E("label",{class:T.authoringLabel},a?E("strong",null,e?.invalidImageUrl):null,E("input",{required:!0,disabled:i,bind:this,class:this.classes(T.esriInput,a?T.authoringInputInvalid:null),type:"text",value:r,afterCreate:this._storeUrlEditInput,afterUpdate:this._focusUrlEditInput,"data-bookmark":t,"data-node-ref":"_urlEditInputNode",title:e?.imageUrlTooltip,placeholder:e&&`https://<${e.imageUrlPlaceholder}>`}))}renderEditingBookmarkUrl(t){const e={[x]:t.uid};return E("li",{key:"edit-bookmark-url-form",class:T.authoringCard,...e},E("form",{class:T.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkUrlSubmit,bind:this},this.renderEditingBookmarkUrlInput(t),this.renderEditingBookmarkUrlActions()))}renderEditingBookmark(t){const e={[x]:t.uid},{abilities:o}=this.viewModel,i=o.time?E("div",{key:"edit-bookmark-time-container",class:T.timeExtentContainer},this.renderBookmarkTimeSwitch(t),this._editIncludeTimeExtent&&this.renderBookmarkTimeExtent(t)):null;return E("li",{key:"edit-bookmark-form",class:T.authoringCard,...e},E("form",{class:T.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkSubmit,bind:this},E("div",{class:T.authoringContainer},E("div",{class:T.bookmarkImageContainer},this.renderBookmarkImage(t),this._editMenu.render()),this.renderEditingBookmarkName(t)),i,this.renderEditingBookmarkActions()))}renderAddingBookmarkName(){const{_userState:t,messages:e,disabled:o}=this,i="name-required"===t.validationState;return E("label",{class:T.authoringLabel},e?.title,i?E("strong",null,e?.invalidTitle):null,E("input",{required:!0,disabled:o,bind:this,class:this.classes(T.esriInput,i?T.authoringInputInvalid:null),type:"text",afterCreate:this._storeAddInput,afterUpdate:this._focusAddInput,"data-node-ref":"_addInputNode",value:"",placeholder:e?.titlePlaceholder}))}renderAddingBookmarkActions(){const{messagesCommon:t,disabled:e}=this;return E("div",{class:this.classes(T.authoringActions)},E("input",{type:"button",disabled:e,value:t?.cancel,class:this.classes(T.esriButton,T.esriButtonTertiary,T.authoringCancelButton),onclick:this._endAddBookmark.bind(this),bind:this}),E("input",{class:T.esriButton,disabled:e,type:"submit",value:t?.add}))}renderAddingBookmark(){return E("div",{key:"add-bookmark-form",class:T.authoringCard},E("form",{class:T.authoringForm,onsubmit:this._addBookmarkSubmit,bind:this},this.renderAddingBookmarkName(),this.renderAddingBookmarkActions()))}_getBookmarkTitle(t){return t.name||this.messagesCommon?.untitled}_formatDate(t){return t?m(t,u("short-date")):null}_formatTime(t){return t?m(t,u("long-time")):null}_dragHandleBlur(){this._selectedSortUid=null,this.scheduleRender()}_dragHandleKeydown(t){const{_sortableSavedItems:o}=this,i=["ArrowDown","ArrowUp","Escape","Tab"," ","Enter"],s=e(t);if(!i.includes(s))return;const{_sortable:r,_selectedSortUid:a}=this,n=r.toArray(),d=t.target.getAttribute(x),l=n.indexOf(d);if(v(s)){const t=a&&a===d;return this._selectedSortUid=t?null:d,this._sortableSavedItems=t?null:this._sortable.toArray(),void this.scheduleRender()}if("Tab"===s)return this._selectedSortUid=null,void this.scheduleRender();if("Escape"===s&&o)return t.stopPropagation(),this._selectedSortUid=null,this._updateSortItems(o,r,d),void this.scheduleRender();if(-1===l||!a)return;const k="ArrowUp"===s?l-1:l+1;k>=n.length||k<=-1||(w(n,l,k),this._updateSortItems(n,r,d))}_updateSortItems(t,e,o){e.sort(t),this._sortBookmarks(e),this._focusSortUid=o,this._selectedSortUid=o}_focusDragHandle(t){const{_focusSortUid:e}=this;if(!t||!e)return;t.getAttribute(x)===e&&(t.focus(),this._focusSortUid=null)}_toggleSorting(){const{_sortable:t,_sortableNode:e,editingEnabled:o,disabled:i}=this;if(e)if(t)t.option("disabled",i||!o);else{const t=y.create(e,{dataIdAttr:x,handle:`.${T.bookmarkDragHandle}`,group:S,disabled:i||!o,onSort:()=>this._sortBookmarks(t)});this._sortable=t}}_sortNodeCreated(t){this._sortableNode=t,this._toggleSorting()}_sortBookmarks(t){const{bookmarks:e}=this.viewModel;if(!e)return;const o=t.toArray();e.sort(((t,e)=>{const i=o.indexOf(t.uid),s=o.indexOf(e.uid);return i>s?1:i<s?-1:0}))}_destroySortable(){const{_sortable:t}=this;t&&t.destroy(),this._sortable=null}_endAddBookmark(){this._focusAddBookmarkButton=!0,this.endAddBookmark()}_bookmarksInitialized(){const t="bookmarks-init",{_handles:e}=this;e.remove(t),e.add(n((()=>this.viewModel?.bookmarks),"change",(()=>this._bookmarksChanged())),t)}_bookmarksChanged(){const t="bookmarks-change",{bookmarks:e}=this.viewModel,{_handles:o}=this;o.remove(t);const i=e.map((t=>r((()=>[t?.name,t?.thumbnail?.url]),(()=>this.scheduleRender()))));o.add(i,t),this.scheduleRender()}_showEditBookmarkForm(t){const e=t.currentTarget["data-bookmark"];this._editIncludeTimeExtent=!!e.timeExtent,this._focusEditInputBox=!0,this._userState=new b({bookmark:e,state:"edit"}),this.viewModel.goTo(e),this.scheduleRender()}_closeUrlEditBookmarkForm(){this._focusEditInputBox=!0,this._userState.state="edit"}_closeEditBookmarkForm(){this._userState=null}_addBookmarkSubmit(t){t.preventDefault();const{_addInputNode:e,_userState:o}=this,i=e&&e.value.trim();i?(o.loading=!0,this.viewModel.createBookmark().then((t=>{t.name=i,this.viewModel.bookmarks.add(t),this._endAddBookmark()}))):o.validationState="name-required"}async _editBookmarkAndClose(t,e){const{viewModel:o}=this;await o.editBookmark(t,{...o.defaultEditOptions,...e}),this._closeEditBookmarkForm()}_editBookmarkSubmit(t){t.preventDefault();const{_editInputNode:e,_userState:o,_editIncludeTimeExtent:i}=this,s=e&&e.value.trim();s?(o.bookmark.name=s,o.bookmark.thumbnail=o.editedBookmark.thumbnail,i||(o.bookmark.timeExtent=null),this._editBookmarkAndClose(o.bookmark,{takeScreenshot:!1,captureTimeExtent:i})):o.validationState="name-required"}_storeAddBookmarkButton(t){this._addBookmarkButtonNode=t,this._focusAddBookmark()}_storeEditInput(t){this._editInputNode=t,this._focusEditInput()}_storeAddInput(t){this._addInputNode=t,this._focusAddInput()}_storeUrlEditInput(t){this._urlEditInputNode=t,this._focusUrlEditInput()}_focusUrlEditInput(){this._urlEditInputNode&&this._focusUrlEditInputBox&&(this._focusUrlEditInputBox=!1,this._urlEditInputNode.focus())}_focusAddInput(){this._addInputNode&&this._focusAddInputBox&&(this._focusAddInputBox=!1,this._addInputNode.focus())}_focusAddBookmark(){this._addBookmarkButtonNode&&this._focusAddBookmarkButton&&(this._focusAddBookmarkButton=!1,this._addBookmarkButtonNode.focus())}_focusEditInput(){this._editInputNode&&this._focusEditInputBox&&(this._focusEditInputBox=!1,this._editInputNode.focus())}_deleteBookmark(t){const e=t.currentTarget["data-bookmark"];this.viewModel.bookmarks.remove(e)}_goToBookmark(t){const e=t.currentTarget["data-bookmark"];this.endAddBookmark(),this._closeEditBookmarkForm(),this.viewModel.goTo(e)}async _refreshThumbnail(){const{_userState:t,_editMenu:e,viewModel:o}=this;t.validationState=void 0,await o.editBookmark(this._userState.editedBookmark,{takeScreenshot:!0,captureViewpoint:!1,captureRotation:!1,captureScale:!1,captureTimeExtent:!1}),e.open=!1,this._focusEditInputBox=!0,this.scheduleRender()}_removeThumbnail(){const{_userState:t,_editMenu:e}=this;t.editedBookmark.thumbnail=null,t.validationState=void 0,e.open=!1,this._focusEditInputBox=!0,this.scheduleRender()}_startUseImageUrl(){this._userState.state="edit-thumbnail",this._editMenu.open=!1,this._focusUrlEditInputBox=!0,this.scheduleRender()}_editBookmarkUrlSubmit(t){t.preventDefault();const{_urlEditInputNode:e,_userState:o}=this,i=e.value;C.test(i)?(i&&(o.editedBookmark.thumbnail=new h({url:i})),this._closeUrlEditBookmarkForm()):o.validationState="absolute-url-required"}};t([d()],M.prototype,"_editIncludeTimeExtent",void 0),t([d({type:b})],M.prototype,"_userState",void 0),t([d({readOnly:!0})],M.prototype,"_editMenuItems",null),t([d({readOnly:!0})],M.prototype,"_editMenu",null),t([d()],M.prototype,"defaultCreateOptions",null),t([d()],M.prototype,"defaultEditOptions",null),t([d()],M.prototype,"bookmarks",null),t([d()],M.prototype,"disabled",void 0),t([d()],M.prototype,"editingEnabled",void 0),t([d()],M.prototype,"headingLevel",void 0),t([d()],M.prototype,"goToOverride",null),t([d()],M.prototype,"iconClass",void 0),t([d()],M.prototype,"label",null),t([d(),f("esri/widgets/Bookmarks/t9n/Bookmarks")],M.prototype,"messages",void 0),t([d(),f("esri/t9n/common")],M.prototype,"messagesCommon",void 0),t([d(),f("esri/core/t9n/Units")],M.prototype,"messagesUnits",void 0),t([d()],M.prototype,"uiStrings",void 0),t([d()],M.prototype,"view",null),t([d({type:_}),I(["select-bookmark","bookmark-edit","bookmark-select"])],M.prototype,"viewModel",void 0),t([d()],M.prototype,"visibleElements",void 0),t([l("visibleElements")],M.prototype,"castVisibleElements",null),t([d()],M.prototype,"endAddBookmark",null),t([d()],M.prototype,"startAddBookmark",null),M=t([k(U)],M);const N=M;export{N as default};
|