dashboard-ui/modules/actionsheet/actionsheet.js
2023-10-02 10:10:43 +02:00

816 lines
33 KiB
JavaScript

define([
"exports",
"./../emby-apiclient/connectionmanager.js",
"./../dom.js",
"./../common/globalize.js",
"./../layoutmanager.js",
"./../common/itemmanager/itemmanager.js",
"./../imageloader/imageloader.js",
"./../dialoghelper/dialoghelper.js",
"./../emby-elements/emby-button/emby-button.js",
"./../emby-elements/emby-scroller/emby-scroller.js",
"./../emby-elements/emby-itemscontainer/emby-itemscontainer.js",
"./../approuter.js",
"./../focusmanager.js",
"./../listview/listview.js",
"./../shortcuts.js",
"./../browser.js",
"./../common/textencoding.js",
], function (
_exports,
_connectionmanager,
_dom,
_globalize,
_layoutmanager,
_itemmanager,
_imageloader,
_dialoghelper,
_embyButton,
_embyScroller,
_embyItemscontainer,
_approuter,
_focusmanager,
_listview,
_shortcuts,
_browser,
_textencoding,
) {
function onCancelClick(e) {
_dialoghelper.default.close(this.closest(".actionSheet"));
}
function getTextLinkButton(item) {
var href = _approuter.default.getRouteUrl(item);
return (
'<a is="emby-linkbutton" class="button-link noautofocus actionsheetPreviewTextItem mediaInfoItem" data-href="' +
href +
'" href="' +
href +
'">' +
_textencoding.default.htmlEncode(item.Name) +
"</a>"
);
}
function onItemsContainerUpgraded() {
return this.querySelector(".itemsContainer").resume({ refresh: !0 });
}
function refreshItemsContainer() {
var itemsContainer = this.querySelector(".itemsContainer");
return itemsContainer.resume
? onItemsContainerUpgraded.call(this)
: (function (instance, itemsContainer) {
return new Promise(function (resolve, reject) {
_dom.default.addEventListener(
itemsContainer,
"upgraded",
function () {
onItemsContainerUpgraded.call(instance).then(resolve, reject);
},
{ once: !0 },
);
});
})(this, itemsContainer);
}
function getListViewItemFromInputItem(option, options) {
var isSelected,
item = {
Name:
option.Name || option.name || option.textContent || option.innerText,
ServerId: option.ServerId || null,
MediaType: option.MediaType || null,
IsFolder: option.IsFolder,
Type: option.Type,
Overview: option.Overview,
PrimaryImageAspectRatio: option.PrimaryImageAspectRatio,
RunTimeTicks: option.RunTimeTicks,
IndexNumber: option.IndexNumber,
IndexNumberEnd: option.IndexNumberEnd,
SupportsResume: option.SupportsResume,
ParentIndexNumber: option.ParentIndexNumber,
ProductionYear: option.ProductionYear,
PremiereDate: option.PremiereDate,
SeriesName: option.SeriesName,
NameSubtitle: option.nameSubtitle,
Artists: option.Artists,
ArtistItems: option.ArtistItems,
AlbumArtists: option.AlbumArtists,
Composers: option.Composers,
AlbumArtist: option.AlbumArtist,
Album: option.Album,
AlbumId: option.AlbumId,
SeriesId: option.SeriesId,
SeasonId: option.SeasonId,
SeasonName: option.SeasonName,
ImageTags: option.ImageTags,
BackdropImageTags: option.BackdropImageTags,
PrimaryImageTag: option.PrimaryImageTag,
AlbumPrimaryImageTag: option.AlbumPrimaryImageTag,
SeriesPrimaryImageTag: option.SeriesPrimaryImageTag,
ParentThumbItemId: option.ParentThumbItemId,
ParentThumbImageTag: option.ParentThumbImageTag,
ParentLogoItemId: option.ParentLogoItemId,
ParentLogoImageTag: option.ParentLogoImageTag,
ParentBackdropItemId: option.ParentBackdropItemId,
ParentBackdropImageTags: option.ParentBackdropImageTags,
hasDivider: option.dividerAfter,
};
return (
options.idProperty && null != option[options.idProperty]
? (item.Id = option[options.idProperty])
: null != option.Id
? (item.Id = option.Id)
: null != option.id && "" !== option.id
? (item.Id = option.id)
: null != option.value
? (item.Id = option.value)
: (item.Id = option.Name || option.name),
options.multiple
? ((isSelected =
(options.emptyValueSetEqualsAll &&
!options.selectedValuesClone.length) ||
options.selectedValuesClone.includes(item.Id)),
(item.Selected = isSelected))
: (item.Selected =
option.selected ||
option.Selected ||
options.selectedValuesClone.includes(item.Id)),
(item.Icon =
option.icon ||
option.Icon ||
(item.Selected && options.hasItemSelectionState ? "&#xe5ca;" : null)),
(item.iconClass = option.iconClass),
(item.asideText = option.asideText),
(item.asideIcon = option.asideIcon),
(item.ShortOverview = option.secondaryText || option.title),
(item.hideWithFinePointer = option.hideWithFinePointer),
item
);
}
function getItemsFn(options) {
return function (query) {
if (((query = query || {}), options.getItems))
return (function (options, query) {
return options.getItems(query).then(function (result) {
for (
var items = result.Items, i = 0, length = items.length;
i < length;
i++
)
items[i] = getListViewItemFromInputItem(items[i], options);
return result;
});
})(options, query);
for (
var inputItems = options.items || [],
items = [],
i = 0,
length = inputItems.length;
i < length;
i++
) {
var item = getListViewItemFromInputItem(inputItems[i], options);
items.push(item);
}
var totalRecordCount = items.length,
items = items.slice(query.StartIndex || 0);
return (
null != query.length &&
items.length > query.length &&
(items.length = Math.min(items.length, query.length)),
Promise.resolve({ Items: items, TotalRecordCount: totalRecordCount })
);
};
}
function getListOptions() {
return {
renderer: _listview.default,
options: (function (options) {
var listItemBodyClass,
iconClass,
asideTextClass,
menuItemClass = "actionSheetMenuItem",
fields =
(options.menuItemClass &&
(menuItemClass += " " + options.menuItemClass),
options.iconRight &&
(menuItemClass += " actionSheetMenuItem-iconright"),
options.multiple
? (listItemBodyClass = "actionsheetListItemBody-multiple")
: (_layoutmanager.default.tv &&
(menuItemClass += " actionSheetMenuItem-tv"),
options.hasItemIcon ||
options.hasItemSelectionState ||
(menuItemClass += " actionSheetMenuItem-noicon"),
(listItemBodyClass = "actionsheetListItemBody"),
options.iconRight &&
(listItemBodyClass += " actionsheetListItemBody-iconright"),
(iconClass =
"actionsheetMenuItemIcon listItemIcon listItemIcon-transparent md-icon"),
(asideTextClass = "actionSheetItemAsideText")),
options.fields),
overviewLines = 2,
fields =
(fields ||
((fields = ["Name"]),
options.showNameSubtitle && fields.push("NameSubtitle"),
options.multiple || fields.push("ShortOverview"),
options.showOverview &&
(fields.push("Overview"), (overviewLines = 3))),
options.multiple && fields.unshift("ItemCheckbox"),
{
action: options.multiple ? "togglecheckbox" : "custom",
fields: fields,
draggable: !1,
multiSelect: !1,
contextMenu: !1,
hoverPlayButton: !1,
itemClass: menuItemClass,
listItemBodyClassName: listItemBodyClass,
iconClass: iconClass,
listItemBodyTextClass: "actionSheetItemText",
fillEmptyTextlines: !1,
enableDefaultIcon: !0 === options.enableDefaultIcon,
highlight: options.highlight,
border: options.border,
artist: options.artist,
asideTextClass: asideTextClass,
asideIconClass: (
(asideTextClass || "") + " actionSheetItemAsideIcon"
).trim(),
image:
!options.multiple &&
(!0 === options.hasItemIcon ||
!0 === options.hasItemImage ||
!0 === options.hasItemSelectionState),
checkboxAction: "toggleitemselected",
enableUserDataButtons: !1,
moreButton: !1,
mediaInfo: !1,
textLinks: !1,
enableSideMediaInfo: !1,
overviewLines: overviewLines,
iconSpacing: !0,
}),
menuItemClass = "actionSheetItemImageContainer";
return (
options.useListViewSizing ||
((menuItemClass += " actionSheetItemImageContainer-customsize"),
!1 !== options.useCustomImageContainerWidth &&
(menuItemClass += " actionSheetItemImageContainer-customwidth")),
(options.hasItemSelectionState || options.hasItemIcon) &&
(menuItemClass += " actionSheetItemImageContainer-transparent"),
(fields.imageContainerClass = menuItemClass),
fields
);
})(this),
virtualScrollLayout: "vertical-list",
};
}
function callUpdateElement(itemsContainer, options) {
for (
var items = itemsContainer.querySelectorAll(
itemsContainer.getItemSelector(),
),
i = 0,
length = items.length;
i < length;
i++
) {
var elem = items[i];
!(function (element, item, options) {
var classList;
element &&
(classList = element.classList) &&
(item && item.Selected
? classList.add("autofocus")
: classList.remove("autofocus"),
item && item.hideWithFinePointer
? classList.add("actionSheetMenuItem-hiddenfinepointer")
: classList.remove("actionSheetMenuItem-hiddenfinepointer"),
!1 === options.highlight) &&
((classList = element.querySelector(".listItem-content").classList),
item && item.hasDivider
? classList.add("listItem-border")
: classList.remove("listItem-border"));
})(elem, itemsContainer.getItemFromElement(elem), options);
}
}
function ActionSheet() {}
Object.defineProperty(_exports, "__esModule", { value: !0 }),
(_exports.default = void 0),
require(["css!modules/actionsheet/actionsheet.css", "material-icons"]),
(ActionSheet.prototype.show = function (options) {
_layoutmanager.default.tv ||
_browser.default.iOS ||
_browser.default.osx ||
(options.highlight = !1);
var dialogOptions = {
removeOnClose: !0,
enableHistory: options.enableHistory,
autoFocus: !1,
refocus: options.refocus,
autoCenter: !1,
transparentBackground: !0,
positionTo: options.positionTo,
positionX: options.positionX,
positionY: options.positionY,
transformOrigin: options.transformOrigin,
preventOverflow: options.preventOverflow,
minWidthToElement: options.minWidthToElement,
positionClientX: options.positionClientX,
positionClientY: options.positionClientY,
offsetLeft: options.offsetLeft,
offsetTop: options.offsetTop,
blurBackground: options.blurBackground,
setCurrentFocusScope: options.setCurrentFocusScope,
setDialogSize: !1,
},
useVirtualScroller =
null != options.getItems && options.enableVirtualScroller,
isFullscreen =
(useVirtualScroller && (dialogOptions.fixedSize = !0),
_layoutmanager.default.tv && !1 !== options.autoTvLayout
? (dialogOptions.size = "fullscreen")
: (dialogOptions.modal = !1),
"fullscreen" === dialogOptions.size),
dlg =
(options.hasItemImage &&
((options.paddedScroller = !0), (options.useListViewSizing = !0)),
isFullscreen || (options.paddedScroller = !0),
_dialoghelper.default.createDialog(dialogOptions)),
instance = this,
dialogOptions =
((instance.dlg = dlg).classList.add("actionSheet"),
_layoutmanager.default.tv &&
dlg.classList.add("actionSheet-focusscale"),
(_layoutmanager.default.tv ||
isFullscreen ||
options.hasItemSelectionState) &&
(dlg.classList.add("dlg-autofocus"),
_layoutmanager.default.tv || options.hasItemSelectionState) &&
dlg.classList.add("dlg-autofocus-force"),
isFullscreen ||
(useVirtualScroller &&
dlg.classList.add(
"actionSheet-virtualscroll",
"dialog-fullscreen-lowres",
),
_layoutmanager.default.tv ||
(dlg.classList.add(
"actionSheet-automobile",
"actionSheet-largefont",
),
options.multiple && dlg.classList.add("actionSheet-smallfont")),
!1 !== options.blur &&
_dom.default.allowBackdropFilter() &&
dlg.classList.add("dialog-blur")),
options.dialogClass && dlg.classList.add(options.dialogClass),
"");
!options.hasItemIcon ||
options.hasItemAsideIcon ||
options.hasItemAsideText ||
!1 === options.iconRight ||
(options.iconRight = !0),
options.iconRight &&
!isFullscreen &&
(options.useCustomImageContainerWidth = !1),
isFullscreen
? (dialogOptions +=
'<button is="paper-icon-button-light" class="btnCloseActionSheet btnCloseActionSheet-tv hide-mouse-idle-tv" tabindex="-1"><i class="md-icon autortl">&#xE5C4;</i></button>')
: useVirtualScroller &&
(dialogOptions +=
'<button is="paper-icon-button-light" class="btnCloseActionSheet btnCloseActionSheet-hideNonFullscreen btnCloseActionSheet-tv hide-mouse-idle-tv" tabindex="-1"><i class="md-icon autortl">&#xE5C4;</i></button>');
((!options.title ||
options.hasItemIcon ||
options.hasItemImage ||
options.hasItemSelectionState) &&
!isFullscreen) ||
dlg.classList.add("actionsheet-centered");
for (
var selectNoneText,
previewHtml = "",
headerClass =
(options.item &&
(previewHtml = (function (options, item) {
var html = "",
apiClient =
((html +=
'<div class="actionsheetItemPreview flex flex-direction-row">'),
_connectionmanager.default.getApiClient(item)),
imageUrl = (imageUrlInfo = _imageloader.default.getImageUrl(
item,
apiClient,
{ height: 60, width: 200 },
)).imgUrl,
imgClass = "",
round = "MusicArtist" === item.Type,
html = imageUrl
? ((imageUrlInfo = imageUrlInfo.aspect || 1),
(imgClass =
(imgClass += " actionsheetItemPreviewImage-bg") +
" actionsheetItemPreviewImage-bg-" +
(shape =
_imageloader.default.getShapeFromAspect(
imageUrlInfo,
))),
round &&
"square" === shape &&
(imgClass += " actionsheetItemPreviewImage-round"),
html +
('<div class="' + imgClass.trim()) +
'" style="aspect-ratio:' +
imageUrlInfo +
";background-image:url(" +
imageUrl +
');"></div>')
: ((imgClass +=
" actionsheetItemPreviewImage-iconcontainer"),
round &&
(imgClass += " actionsheetItemPreviewImage-round"),
(html =
html +
('<div class="' + imgClass.trim()) +
'"><i class="actionsheetItemPreviewImage-icon md-icon autortl">') +
_itemmanager.default.getDefaultIcon(item) +
"</i></div>"),
lines =
((html += '<div class="actionsheetItemPreviewContent">'),
[]),
shape =
(item.SeriesName
? item.SeriesId
? lines.push(
getTextLinkButton({
Type: "Series",
Id: item.SeriesId,
Name: item.SeriesName,
IsFolder: !0,
ServerId: item.ServerId,
}),
)
: lines.push(
_textencoding.default.htmlEncode(
item.SeriesName || "",
),
)
: "Program" === item.Type &&
lines.push(
_textencoding.default.htmlEncode(item.Name || ""),
),
_textencoding.default.htmlEncode(
_itemmanager.default.getDisplayName(item, {}) || "",
)),
imageUrlInfo =
'<div class="actionsheetPreviewTextItem mediaInfoItem">' +
shape +
"</div>",
round =
("Audio" !== item.MediaType ||
_layoutmanager.default.tv ||
!1 === options.linkToItem ||
(imageUrlInfo +=
'<a is="emby-linkbutton" title="' +
shape +
'" style="font-weight:inherit;" href="' +
_approuter.default.getRouteUrl(item) +
'" class="flex-shrink-zero actionsheetPreviewTextItem mediaInfoItem button-link button-link-color-inherit"><i class="md-icon" style="font-size:160%;">&#xe88f;</i></a>'),
lines.push(imageUrlInfo),
"Server" === item.Type &&
(apiClient &&
apiClient.serverVersion() &&
lines.push(apiClient.serverVersion()),
apiClient) &&
apiClient.serverAddress() &&
lines.push(apiClient.serverAddress()),
"User" === item.Type &&
options.showServerName &&
(imageUrl = apiClient.serverName()) &&
lines.push(_textencoding.default.htmlEncode(imageUrl)),
item.IsFolder &&
item.AlbumArtists &&
item.AlbumArtists.length
? lines.push(
getTextLinkButton({
Type: "MusicArtist",
Id: item.AlbumArtists[0].Id,
Name: item.AlbumArtists[0].Name,
ServerId: item.ServerId,
}),
)
: item.ArtistItems && item.ArtistItems.length
? lines.push(
getTextLinkButton({
Type: "MusicArtist",
Id: item.ArtistItems[0].Id,
Name: item.ArtistItems[0].Name,
ServerId: item.ServerId,
}),
)
: item.AlbumArtists &&
item.AlbumArtists.length &&
lines.push(
getTextLinkButton({
Type: "MusicArtist",
Id: item.AlbumArtists[0].Id,
Name: item.AlbumArtists[0].Name,
ServerId: item.ServerId,
}),
),
[]);
item.Album && item.AlbumId
? round.push(
getTextLinkButton({
Type:
"Photo" === item.MediaType
? "PhotoAlbum"
: "MusicAlbum",
Id: item.AlbumId,
Name: item.Album,
ServerId: item.ServerId,
}),
)
: item.Album &&
round.push(
'<div class="actionsheetPreviewTextItem mediaInfoItem">' +
_textencoding.default.htmlEncode(item.Album) +
"</div>",
),
item.ProductionYear &&
"Episode" !== item.Type &&
round.push(
'<div class="actionsheetPreviewTextItem mediaInfoItem">' +
item.ProductionYear +
"</div>",
),
round.length && lines.push(round.join(""));
for (
var i = 0, length = Math.min(lines.length, 3);
i < length;
i++
)
html =
1 <= i
? (html +=
'<div class="actionsheetItemPreviewText mediaInfoItems secondaryText">') +
lines[i] +
"</div>"
: (html +=
'<div class="actionsheetItemPreviewText mediaInfoItems actionsheetItemPreviewText-main">') +
lines[i] +
"</div>";
return (html = html + "</div>" + "</div>");
})(options, options.item)),
_layoutmanager.default.tv || (dialogOptions += previewHtml),
options.title &&
((headerClass = "actionSheetTitle"),
options.hideTitleWhenNotFullscreen &&
!isFullscreen &&
(headerClass += " actionSheetTitle-hideNonFullscreen"),
(dialogOptions =
(dialogOptions += '<h3 class="' + headerClass + '">') +
options.title +
"</h3>")),
options.text &&
(dialogOptions =
(dialogOptions += '<p class="actionSheetText">') +
options.text +
"</p>"),
"actionSheetScroller focuscontainer-x"),
scrollSliderClass =
(isFullscreen
? ((headerClass += " actionSheetScroller-fullscreen"),
useVirtualScroller &&
(headerClass += " actionSheetScroller-fullscreen-virtual"))
: (useVirtualScroller && (headerClass += " flex-grow"),
options.paddedScroller &&
(headerClass += " actionSheetScroller-padded")),
_layoutmanager.default.tv &&
(headerClass += " actionSheetScroller-focusscale"),
(options.title || options.text) &&
(headerClass += " actionSheetScroller-withheader"),
" actionsheetScrollSlider scrollSlider flex flex-direction-column itemsContainer"),
isFullscreen =
(isFullscreen ||
(options.multiple && !useVirtualScroller) ||
!1 !== options.highlight ||
options.paddedScroller ||
(useVirtualScroller
? (headerClass += " actionsheetScrollSlider-bottompadded")
: (scrollSliderClass +=
" actionsheetScrollSlider-bottompadded")),
options.multiple &&
((scrollSliderClass += " actionsheet-scrollSlider-multiple"),
_layoutmanager.default.tv) &&
(scrollSliderClass += " actionsheet-scrollSlider-multiple-tv"),
""),
btnCloseActionSheets =
(useVirtualScroller &&
(isFullscreen += ' data-virtualscrolllayout="vertical-grid"'),
(dialogOptions =
(dialogOptions =
dialogOptions +
('<div is="emby-scroller" data-horizontal="false" data-focusscroll="true" class="' +
headerClass +
'">') +
('<div is="emby-itemscontainer" class="' +
scrollSliderClass +
' vertical-list"' +
isFullscreen +
">")) +
"</div>" +
"</div>"),
options.bottomText &&
(dialogOptions =
(dialogOptions +=
'<div class="actionSheetBottomText fieldDescription">') +
options.bottomText +
"</div>"),
options.multiple &&
useVirtualScroller &&
((dialogOptions +=
'<div class="flex align-items-center justify-content-flex-start text-align-start" style="width:100%;"><div style="padding:1em .75em 1em .75em;" class="flex flex-grow align-items-center justify-content-center">'),
(headerClass = "btnActionSheetSelectNone"),
options.selectAllOnSelectNone
? ((selectNoneText = _globalize.default.translate("SelectAll")),
(headerClass += " dlg-close"))
: (selectNoneText = _globalize.default.translate("SelectNone")),
(dialogOptions =
dialogOptions +
'<button type="button" is="emby-button" class="button-link ' +
headerClass +
'">' +
selectNoneText +
"</button></div></div>")),
(dlg.innerHTML = dialogOptions),
dlg.querySelectorAll(".btnCloseActionSheet")),
i = 0,
length = btnCloseActionSheets.length;
i < length;
i++
)
btnCloseActionSheets[i].addEventListener("click", onCancelClick);
scrollSliderClass = dlg.querySelector(".btnActionSheetSelectNone");
return (
scrollSliderClass &&
scrollSliderClass.addEventListener("click", function () {
(options.selectedValuesClone = []),
this.classList.contains("dlg-close")
? _dialoghelper.default.close(dlg)
: dlg.querySelector(".itemsContainer").refreshItems();
}),
new Promise(function (resolve, reject) {
var selectedItem, isResolved;
options.selectedValuesClone = (options.selectedValues || []).slice(0);
var itemsContainer = dlg.querySelector(".itemsContainer"),
openPromise =
(itemsContainer.addEventListener("action-null", function (e) {
var _selectedItem2;
options.multiple ||
((e = e.detail.item),
(selectedItem = e),
(e = options.resolveWithSelectedItem
? selectedItem
: null == (e = selectedItem)
? void 0
: e.Id),
!options.resolveOnClick ||
(options.resolveOnClick.indexOf &&
-1 ===
options.resolveOnClick.indexOf(
null == (_selectedItem2 = selectedItem)
? void 0
: _selectedItem2.Id,
)) ||
(resolve(e), (isResolved = !0)),
_dialoghelper.default.close(dlg));
}),
(itemsContainer.fetchData = getItemsFn(options)),
(itemsContainer.getListOptions = getListOptions.bind(options)),
itemsContainer.addEventListener("change", function (e) {
var arr,
value,
e = e.target.closest("input"),
itemValue = _shortcuts.default.getItemFromChildNode(
e,
null,
this,
).Id;
(arr = options.selectedValuesClone),
(value = itemValue),
-1 < (value = arr.indexOf(value)) && arr.splice(value, 1),
e.checked && options.selectedValuesClone.push(itemValue);
}),
(itemsContainer.afterRefresh = function () {
itemsContainer.virtualScroller ||
callUpdateElement(itemsContainer, options),
_layoutmanager.default.tv &&
itemsContainer.insertAdjacentHTML(
"afterbegin",
previewHtml,
);
}),
new Promise(function (resolve, reject) {
dlg.addEventListener("opened", resolve);
})),
closePromise = _dialoghelper.default.open(dlg);
(useVirtualScroller
? Promise.resolve()
: refreshItemsContainer.call(dlg)
)
.then(function () {
var timeout, refreshPromise;
return (
(dlg.dialogOptions.setDialogSize = !0),
_dialoghelper.default.positionDialog(dlg),
options.timeout &&
(timeout = setTimeout(function () {
_dialoghelper.default.close(dlg);
}, options.timeout)),
useVirtualScroller &&
(refreshPromise = refreshItemsContainer.call(dlg)),
openPromise.then(function () {
return (
(refreshPromise || Promise.resolve()).then(
function () {
var skipIfNotEnabled;
this.classList.contains("dlg-autofocus") &&
((skipIfNotEnabled = !this.classList.contains(
"dlg-autofocus-force",
)),
_focusmanager.default.autoFocus(
this.querySelector(".itemsContainer"),
{ skipIfNotEnabled: skipIfNotEnabled },
) ||
(skipIfNotEnabled &&
!_focusmanager.default.isAutoFocusEnabled()) ||
_focusmanager.default.autoFocus(this, {
skipIfNotEnabled: skipIfNotEnabled,
}));
}.bind(dlg),
),
itemsContainer.virtualScroller &&
itemsContainer.virtualScroller.onResized(),
closePromise.then(function () {
var _selectedItem3;
if (
((instance.dlg = null),
timeout && (clearTimeout(timeout), (timeout = null)),
!isResolved)
)
return null !=
(_selectedItem3 = options.multiple
? options.selectedValuesClone
: options.resolveWithSelectedItem
? selectedItem
: null == (_selectedItem3 = selectedItem)
? void 0
: _selectedItem3.Id)
? (options.callback &&
options.callback(_selectedItem3),
_selectedItem3)
: Promise.reject();
})
);
})
);
})
.then(resolve, reject);
})
);
}),
(ActionSheet.prototype.refreshItems = function () {
var _this$dlg =
null == (_this$dlg = this.dlg)
? void 0
: _this$dlg.querySelector(".itemsContainer");
_this$dlg && _this$dlg.refreshItems();
}),
(ActionSheet.prototype.isShowing = function () {
return null != this.dlg;
}),
(ActionSheet.prototype.autoFocus = function (options) {
console.log("focusing actionsheet"),
_focusmanager.default.autoFocus(this.dlg, options);
}),
(ActionSheet.prototype.close = function () {
var dlg = this.dlg;
dlg && _dialoghelper.default.close(dlg);
}),
(ActionSheet.prototype.destroy = function () {
this.dlg = null;
}),
(_exports.default = {
show: function (options) {
var actionSheet = new ActionSheet();
return actionSheet.show(options).then(
function (result) {
return actionSheet.destroy(), Promise.resolve(result);
},
function (result) {
return actionSheet.destroy(), Promise.reject(result);
},
);
},
constructor: ActionSheet,
});
});