1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

fixes #2996 - problem with links on firefox

This commit is contained in:
Luke Pulverenti 2017-11-02 11:52:43 -04:00
parent 11994657af
commit 63a1a53a9c
25 changed files with 660 additions and 660 deletions

View file

@ -1 +1 @@
define(["datetime","imageLoader","connectionManager","layoutManager","browser"],function(datetime,imageLoader,connectionManager,layoutManager,browser){"use strict";function buildChapterCardsHtml(item,chapters,options){var className="card scalableCard itemAction chapterCard";layoutManager.tv&&(browser.animate||browser.edge)&&(className+=" card-focusscale");var mediaStreams=((item.MediaSources||[])[0]||{}).MediaStreams||[],videoStream=mediaStreams.filter(function(i){return"Video"===i.Type})[0]||{},shape=options.backdropShape||"backdrop";videoStream.Width&&videoStream.Height&&videoStream.Width/videoStream.Height<=1.2&&(shape=options.squareShape||"square"),className+=" "+shape+"Card",className+=" "+shape+"Card-scalable",(options.block||options.rows)&&(className+=" block");for(var html="",itemsInRow=0,apiClient=connectionManager.getApiClient(item.ServerId),i=0,length=chapters.length;i<length;i++){options.rows&&0===itemsInRow&&(html+='<div class="cardColumn">');var chapter=chapters[i];html+=buildChapterCard(item,apiClient,chapter,i,options,className,shape),itemsInRow++,options.rows&&itemsInRow>=options.rows&&(itemsInRow=0,html+="</div>")}return html}function getImgUrl(item,chapter,index,maxWidth,apiClient){return chapter.ImageTag?apiClient.getScaledImageUrl(item.Id,{maxWidth:maxWidth,tag:chapter.ImageTag,type:"Chapter",index:index}):null}function buildChapterCard(item,apiClient,chapter,index,options,className,shape){var imgUrl=getImgUrl(item,chapter,index,options.width||400,apiClient),cardImageContainerClass="cardImageContainer chapterCardImageContainer";options.coverImage&&(cardImageContainerClass+=" coveredImage");var dataAttributes=' data-action="play" data-isfolder="'+item.IsFolder+'" data-id="'+item.Id+'" data-serverid="'+item.ServerId+'" data-type="'+item.Type+'" data-mediatype="'+item.MediaType+'" data-positionticks="'+chapter.StartPositionTicks+'"',cardImageContainer=imgUrl?'<div class="'+cardImageContainerClass+' lazy" data-src="'+imgUrl+'">':'<div class="'+cardImageContainerClass+'">';imgUrl||(cardImageContainer+='<i class="md-icon cardImageIcon">local_movies</i>');var nameHtml="";nameHtml+='<div class="cardText">'+chapter.Name+"</div>",nameHtml+='<div class="cardText">'+datetime.getDisplayRunningTime(chapter.StartPositionTicks)+"</div>";var cardBoxCssClass="cardBox";if(layoutManager.tv){var enableFocusTransfrom=!browser.slow&&!browser.xboxOne&&!browser.edgeUwp;enableFocusTransfrom&&(cardBoxCssClass+=" cardBox-focustransform"),enableFocusTransfrom||(cardBoxCssClass+=" card-focuscontent card-focuscontent-large")}var html='<button type="button" class="'+className+'"'+dataAttributes+'><div class="'+cardBoxCssClass+'"><div class="cardScalable"><div class="cardPadder-'+shape+'"></div><div class="cardContent">'+cardImageContainer+'</div><div class="innerCardFooter">'+nameHtml+"</div></div></div></div></button>";return html}function buildChapterCards(item,chapters,options){if(options.parentContainer){if(!document.body.contains(options.parentContainer))return;if(!chapters.length)return void options.parentContainer.classList.add("hide");options.parentContainer.classList.remove("hide")}var html=buildChapterCardsHtml(item,chapters,options);options.itemsContainer.innerHTML=html,imageLoader.lazyChildren(options.itemsContainer)}return{buildChapterCards:buildChapterCards}});
define(["datetime","imageLoader","connectionManager","layoutManager","browser"],function(datetime,imageLoader,connectionManager,layoutManager,browser){"use strict";function buildChapterCardsHtml(item,chapters,options){var className="card itemAction chapterCard";layoutManager.tv&&(browser.animate||browser.edge)&&(className+=" card-focusscale");var mediaStreams=((item.MediaSources||[])[0]||{}).MediaStreams||[],videoStream=mediaStreams.filter(function(i){return"Video"===i.Type})[0]||{},shape=options.backdropShape||"backdrop";videoStream.Width&&videoStream.Height&&videoStream.Width/videoStream.Height<=1.2&&(shape=options.squareShape||"square"),className+=" "+shape+"Card",(options.block||options.rows)&&(className+=" block");for(var html="",itemsInRow=0,apiClient=connectionManager.getApiClient(item.ServerId),i=0,length=chapters.length;i<length;i++){options.rows&&0===itemsInRow&&(html+='<div class="cardColumn">');var chapter=chapters[i];html+=buildChapterCard(item,apiClient,chapter,i,options,className,shape),itemsInRow++,options.rows&&itemsInRow>=options.rows&&(itemsInRow=0,html+="</div>")}return html}function getImgUrl(item,chapter,index,maxWidth,apiClient){return chapter.ImageTag?apiClient.getScaledImageUrl(item.Id,{maxWidth:maxWidth,tag:chapter.ImageTag,type:"Chapter",index:index}):null}function buildChapterCard(item,apiClient,chapter,index,options,className,shape){var imgUrl=getImgUrl(item,chapter,index,options.width||400,apiClient),cardImageContainerClass="cardImageContainer chapterCardImageContainer";options.coverImage&&(cardImageContainerClass+=" coveredImage");var dataAttributes=' data-action="play" data-isfolder="'+item.IsFolder+'" data-id="'+item.Id+'" data-serverid="'+item.ServerId+'" data-type="'+item.Type+'" data-mediatype="'+item.MediaType+'" data-positionticks="'+chapter.StartPositionTicks+'"',cardImageContainer=imgUrl?'<div class="'+cardImageContainerClass+' lazy" data-src="'+imgUrl+'">':'<div class="'+cardImageContainerClass+'">';imgUrl||(cardImageContainer+='<i class="md-icon cardImageIcon">local_movies</i>');var nameHtml="";nameHtml+='<div class="cardText">'+chapter.Name+"</div>",nameHtml+='<div class="cardText">'+datetime.getDisplayRunningTime(chapter.StartPositionTicks)+"</div>";var cardBoxCssClass="cardBox",cardScalableClass="cardScalable";if(layoutManager.tv){var enableFocusTransfrom=!browser.slow&&!browser.xboxOne&&!browser.edgeUwp;cardScalableClass+=" card-focuscontent",enableFocusTransfrom?cardBoxCssClass+=" cardBox-focustransform":(cardBoxCssClass+=" card-focuscontent card-focuscontent-large",cardScalableClass+=" card-focuscontent-large")}var html='<button type="button" class="'+className+'"'+dataAttributes+'><div class="'+cardBoxCssClass+'"><div class="'+cardScalableClass+'"><div class="cardPadder-'+shape+'"></div><div class="cardContent cardContent-shadow">'+cardImageContainer+'</div><div class="innerCardFooter">'+nameHtml+"</div></div></div></div></button>";return html}function buildChapterCards(item,chapters,options){if(options.parentContainer){if(!document.body.contains(options.parentContainer))return;if(!chapters.length)return void options.parentContainer.classList.add("hide");options.parentContainer.classList.remove("hide")}var html=buildChapterCardsHtml(item,chapters,options);options.itemsContainer.innerHTML=html,imageLoader.lazyChildren(options.itemsContainer)}return{buildChapterCards:buildChapterCards}});

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
define(["browser","dom","layoutManager","shell","appRouter","apphost","css!./emby-button","registerElement"],function(browser,dom,layoutManager,shell,appRouter,appHost){"use strict";function animateButtonInternal(e,btn){for(var div=document.createElement("div"),i=0,length=btn.classList.length;i<length;i++)div.classList.add(btn.classList[i]+"-ripple-effect");var offsetX=e.offsetX||0,offsetY=e.offsetY||0;offsetX>0&&offsetY>0&&(div.style.left=offsetX+"px",div.style.top=offsetY+"px");var firstChild=btn.firstChild;firstChild?btn.insertBefore(div,btn.firstChild):btn.appendChild(div),div.addEventListener(dom.whichAnimationEvent(),function(){div.parentNode.removeChild(div)},!1)}function animateButton(e,btn){requestAnimationFrame(function(){animateButtonInternal(e,btn)})}function onKeyDown(e){13===e.keyCode&&animateButton(e,this)}function onMouseDown(e){0===e.button&&animateButton(e,this)}function onClick(e){animateButton(e,this)}function enableAnimation(){return!browser.tv}function onAnchorClick(e){var href=this.getAttribute("href");"#"!==href?this.getAttribute("target")?appHost.supports("targetblank")||(e.preventDefault(),shell.openUrl(href)):appRouter.handleAnchorClick(e):e.preventDefault()}var EmbyButtonPrototype=Object.create(HTMLButtonElement.prototype),EmbyLinkButtonPrototype=Object.create(HTMLAnchorElement.prototype);return EmbyButtonPrototype.createdCallback=function(){this.classList.contains("emby-button")||(this.classList.add("emby-button"),layoutManager.tv&&(this.classList.add("emby-button-focusscale"),this.classList.add("emby-button-tv")),enableAnimation()&&"false"!==this.getAttribute("data-ripple")&&!this.classList.contains("button-link")&&(dom.addEventListener(this,"keydown",onKeyDown,{passive:!0}),browser.safari||browser.firefox&&"A"===this.tagName?dom.addEventListener(this,"click",onClick,{passive:!0}):dom.addEventListener(this,"mousedown",onMouseDown,{passive:!0})))},EmbyButtonPrototype.attachedCallback=function(){"A"===this.tagName&&(dom.removeEventListener(this,"click",onAnchorClick,{}),dom.addEventListener(this,"click",onAnchorClick,{}),"true"===this.getAttribute("data-autohide")&&(appHost.supports("externallinks")?this.classList.remove("hide"):this.classList.add("hide")))},EmbyButtonPrototype.detachedCallback=function(){dom.removeEventListener(this,"click",onAnchorClick,{})},EmbyLinkButtonPrototype.createdCallback=EmbyButtonPrototype.createdCallback,EmbyLinkButtonPrototype.attachedCallback=EmbyButtonPrototype.attachedCallback,document.registerElement("emby-button",{prototype:EmbyButtonPrototype,extends:"button"}),document.registerElement("emby-linkbutton",{prototype:EmbyLinkButtonPrototype,extends:"a"}),EmbyButtonPrototype});
define(["browser","dom","layoutManager","shell","appRouter","apphost","css!./emby-button","registerElement"],function(browser,dom,layoutManager,shell,appRouter,appHost){"use strict";function animateButtonInternal(e,btn){for(var div=document.createElement("div"),i=0,length=btn.classList.length;i<length;i++)div.classList.add(btn.classList[i]+"-ripple-effect");var offsetX=e.offsetX||0,offsetY=e.offsetY||0;offsetX>0&&offsetY>0&&(div.style.left=offsetX+"px",div.style.top=offsetY+"px");var firstChild=btn.firstChild;firstChild?btn.insertBefore(div,btn.firstChild):btn.appendChild(div),div.addEventListener(dom.whichAnimationEvent(),function(){div.parentNode.removeChild(div)},!1)}function animateButton(e,btn){requestAnimationFrame(function(){animateButtonInternal(e,btn)})}function onKeyDown(e){13===e.keyCode&&animateButton(e,this)}function onMouseDown(e){0===e.button&&animateButton(e,this)}function onClick(e){animateButton(e,this)}function enableAnimation(){return!browser.tv}function onAnchorClick(e){var href=this.getAttribute("href");"#"!==href?this.getAttribute("target")?appHost.supports("targetblank")||(e.preventDefault(),shell.openUrl(href)):appRouter.handleAnchorClick(e):e.preventDefault()}var EmbyButtonPrototype=Object.create(HTMLButtonElement.prototype),EmbyLinkButtonPrototype=Object.create(HTMLAnchorElement.prototype);return EmbyButtonPrototype.createdCallback=function(){this.classList.contains("emby-button")||(this.classList.add("emby-button"),browser.firefox&&this.classList.add("button-link-inline"),layoutManager.tv&&(this.classList.add("emby-button-focusscale"),this.classList.add("emby-button-tv")),enableAnimation()&&"false"!==this.getAttribute("data-ripple")&&!this.classList.contains("button-link")&&(dom.addEventListener(this,"keydown",onKeyDown,{passive:!0}),browser.safari||browser.firefox&&"A"===this.tagName?dom.addEventListener(this,"click",onClick,{passive:!0}):dom.addEventListener(this,"mousedown",onMouseDown,{passive:!0})))},EmbyButtonPrototype.attachedCallback=function(){"A"===this.tagName&&(dom.removeEventListener(this,"click",onAnchorClick,{}),dom.addEventListener(this,"click",onAnchorClick,{}),"true"===this.getAttribute("data-autohide")&&(appHost.supports("externallinks")?this.classList.remove("hide"):this.classList.add("hide")))},EmbyButtonPrototype.detachedCallback=function(){dom.removeEventListener(this,"click",onAnchorClick,{})},EmbyLinkButtonPrototype.createdCallback=EmbyButtonPrototype.createdCallback,EmbyLinkButtonPrototype.attachedCallback=EmbyButtonPrototype.attachedCallback,document.registerElement("emby-button",{prototype:EmbyButtonPrototype,extends:"button"}),document.registerElement("emby-linkbutton",{prototype:EmbyLinkButtonPrototype,extends:"a"}),EmbyButtonPrototype});

File diff suppressed because one or more lines are too long

View file

@ -150,9 +150,9 @@
</div>
<div class="detailSection hide" id="collapsibleDvdEpisodeInfo">
<h1>
<h2>
${HeaderAlternateEpisodeNumbers}
</h1>
</h2>
<div class="inputContainer">
<input is="emby-input" id="txtDvdSeasonNumber" type="number" pattern="[0-9]*" label="${LabelDvdSeasonNumber}" />
</div>
@ -165,9 +165,9 @@
</div>
<div class="detailSection hide" id="collapsibleSpecialEpisodeInfo">
<h1>
<h2>
${HeaderSpecialEpisodeInfo}
</h1>
</h2>
<div class="inputContainer">
<input is="emby-input" id="txtAirsBeforeSeason" type="number" pattern="[0-9]*" label="${LabelAirsBeforeSeason}" />
</div>
@ -180,26 +180,26 @@
</div>
<div class="detailSection externalIdsSection hide">
<h1>
<h2>
${HeaderExternalIds}
</h1>
</h2>
<div class="externalIds editorFieldset">
</div>
</div>
<div class="detailSection hide" id="collapsibleDisplaySettings">
<h1>
<h2>
${HeaderDisplaySettings}
</h1>
</h2>
<div id="fldDisplayOrder" class="fldDisplaySetting selectContainer">
<select is="emby-select" id="selectDisplayOrder" label="${LabelDisplayOrder}"></select>
</div>
</div>
<div id="genresCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
<h2 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${Genres}
</h1>
</h2>
<button is="emby-button" type="button" class="raised raised-mini btnAddTextItem submit mini" style="margin-left:1em;" title="${Add}">
<i class="md-icon">&#xE145;</i>
<span>${Add}</span>
@ -207,9 +207,9 @@
<div class="paperList" id="listGenres"></div>
</div>
<div id="peopleCollapsible" style="margin-top: 3em;" class="hide">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
<h2 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${People}
</h1>
</h2>
<button is="emby-button" type="button" id="btnAddPerson" class="raised raised-mini btnAddPerson submit mini" style="margin-left:1em;" title="${Add}">
<i class="md-icon">&#xE145;</i>
<span>${Add}</span>
@ -218,9 +218,9 @@
</div>
</div>
<div id="studiosCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
<h2 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${Studios}
</h1>
</h2>
<button is="emby-button" type="button" class="raised raised-mini btnAddTextItem submit mini" style="margin-left:1em;" title="${Add}">
<i class="md-icon">&#xE145;</i>
<span>${Add}</span>
@ -228,9 +228,9 @@
<div class="paperList" id="listStudios"></div>
</div>
<div id="tagsCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
<h2 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${Tags}
</h1>
</h2>
<button is="emby-button" type="button" class="raised raised-mini btnAddTextItem submit mini" style="margin-left:1em;" title="${Add}">
<i class="md-icon">&#xE145;</i>
<span>${Add}</span>
@ -238,7 +238,7 @@
<div class="paperList" id="listTags"></div>
</div>
<div id="metadataSettingsCollapsible" style="margin-top: 3em;" class="hide">
<h1>${HeaderMetadataSettings}</h1>
<h2>${HeaderMetadataSettings}</h2>
<div>
<div class="selectContainer">
<select is="emby-select" id="selectLanguage" label="${LabelMetadataDownloadLanguage}"></select>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -604,8 +604,8 @@
"AllowSeasonalThemesHelp": "\u049a\u043e\u0441\u044b\u043b\u0493\u0430\u043d \u0431\u043e\u043b\u0441\u0430, \u043c\u0430\u0443\u0441\u044b\u043c\u0434\u044b\u049b \u0442\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u0430\u0440 \u0430\u043d\u0434\u0430-\u0441\u0430\u043d\u0434\u0430 \u0442\u0430\u049b\u044b\u0440\u044b\u043f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456\u04a3 \u043a\u04af\u0448\u0456\u043d \u0436\u043e\u044f\u0434\u044b.",
"AutoBasedOnLanguageSetting": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 (\u0442\u0456\u043b \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456 \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0434\u0435)",
"LabelDateTimeLocale": "\u041a\u04af\u043d \u043c\u0435\u043d \u0443\u0430\u049b\u044b\u0442:",
"DirectorValue": "Director: {0}",
"DirectorsValue": "Directors: {0}",
"GenreValue": "Genre: {0}",
"GenresValue": "Genres: {0}"
"DirectorValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0435\u0440\u0456: {0}",
"DirectorsValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0435\u0440\u043b\u0435\u0440; {0}",
"GenreValue": "\u0416\u0430\u043d\u0440: {0}",
"GenresValue": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440: {0}"
}

View file

@ -604,8 +604,8 @@
"AllowSeasonalThemesHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0441\u0435\u0437\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u043c\u044b \u0431\u0443\u0434\u0443\u0442 \u0432\u0440\u0435\u043c\u044f \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0442\u0435\u043c\u044b.",
"AutoBasedOnLanguageSetting": "\u0410\u0432\u0442\u043e (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u044f\u0437\u044b\u043a\u0430)",
"LabelDateTimeLocale": "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f:",
"DirectorValue": "Director: {0}",
"DirectorsValue": "Directors: {0}",
"GenreValue": "Genre: {0}",
"GenresValue": "Genres: {0}"
"DirectorValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0451\u0440: {0}",
"DirectorsValue": "\u0420\u0435\u0436\u0438\u0441\u0441\u0451\u0440\u044b: {0}",
"GenreValue": "\u0416\u0430\u043d\u0440: {0}",
"GenresValue": "\u0416\u0430\u043d\u0440\u044b: {0}"
}

File diff suppressed because one or more lines are too long

View file

@ -9,7 +9,7 @@
<div class="dialogContentInner dialog-content-centered">
<div class="subtitleList" style="margin-bottom:2em;"></div>
<h1>${SearchForSubtitles}</h1>
<h2>${SearchForSubtitles}</h2>
<p style="margin: 1.5em 0;" class="originalFile"><span class="originalSubtitleFileLabel secondaryText"></span><span class="pathValue"></span></p>