Merge remote-tracking branch 'upstream/master' into fix-icons-webos2
Conflicts: src/controllers/dashboard/plugins/available.js src/controllers/dashboard/plugins/installed.js
This commit is contained in:
commit
7905a868c8
60 changed files with 447 additions and 406 deletions
|
@ -7,3 +7,6 @@ charset = utf-8
|
|||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
end_of_line = lf
|
||||
|
||||
[json]
|
||||
indent_size = 2
|
||||
|
|
|
@ -1 +1,5 @@
|
|||
libraries/
|
||||
node_modules
|
||||
dist
|
||||
.idea
|
||||
.vscode
|
||||
src/libraries
|
||||
|
|
190
.eslintrc.js
Normal file
190
.eslintrc.js
Normal file
|
@ -0,0 +1,190 @@
|
|||
module.exports = {
|
||||
root: true,
|
||||
plugins: [
|
||||
'promise',
|
||||
'import',
|
||||
'eslint-comments'
|
||||
],
|
||||
env: {
|
||||
node: true,
|
||||
es6: true,
|
||||
es2017: true,
|
||||
es2020: true
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 2020,
|
||||
sourceType: 'module',
|
||||
ecmaFeatures: {
|
||||
impliedStrict: true
|
||||
}
|
||||
},
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
// 'plugin:promise/recommended',
|
||||
'plugin:import/errors',
|
||||
'plugin:import/warnings',
|
||||
'plugin:eslint-comments/recommended',
|
||||
'plugin:compat/recommended'
|
||||
],
|
||||
rules: {
|
||||
'block-spacing': ["error"],
|
||||
'brace-style': ["error"],
|
||||
'comma-dangle': ["error", "never"],
|
||||
'comma-spacing': ["error"],
|
||||
'eol-last': ["error"],
|
||||
'indent': ["error", 4, { "SwitchCase": 1 }],
|
||||
'keyword-spacing': ["error"],
|
||||
'max-statements-per-line': ["error"],
|
||||
'no-floating-decimal': ["error"],
|
||||
'no-multi-spaces': ["error"],
|
||||
'no-multiple-empty-lines': ["error", { "max": 1 }],
|
||||
'no-trailing-spaces': ["error"],
|
||||
'one-var': ["error", "never"],
|
||||
'semi': ["error"],
|
||||
'space-before-blocks': ["error"]
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: [
|
||||
'./src/**/*.js'
|
||||
],
|
||||
env: {
|
||||
node: false,
|
||||
amd: true,
|
||||
browser: true,
|
||||
es6: true,
|
||||
es2017: true,
|
||||
es2020: true
|
||||
},
|
||||
globals: {
|
||||
// Browser globals
|
||||
'MediaMetadata': 'readonly',
|
||||
// Tizen globals
|
||||
'tizen': 'readonly',
|
||||
'webapis': 'readonly',
|
||||
// WebOS globals
|
||||
'webOS': 'readonly',
|
||||
// Dependency globals
|
||||
'$': 'readonly',
|
||||
'jQuery': 'readonly',
|
||||
'requirejs': 'readonly',
|
||||
// Jellyfin globals
|
||||
'ApiClient': 'writable',
|
||||
'AppInfo': 'writable',
|
||||
'chrome': 'writable',
|
||||
'ConnectionManager': 'writable',
|
||||
'DlnaProfilePage': 'writable',
|
||||
'Dashboard': 'writable',
|
||||
'DashboardPage': 'writable',
|
||||
'Emby': 'readonly',
|
||||
'Events': 'writable',
|
||||
'getParameterByName': 'writable',
|
||||
'getWindowLocationSearch': 'writable',
|
||||
'Globalize': 'writable',
|
||||
'Hls': 'writable',
|
||||
'dfnshelper': 'writable',
|
||||
'LibraryMenu': 'writable',
|
||||
'LinkParser': 'writable',
|
||||
'LiveTvHelpers': 'writable',
|
||||
'MetadataEditor': 'writable',
|
||||
'pageClassOn': 'writable',
|
||||
'pageIdOn': 'writable',
|
||||
'PlaylistViewer': 'writable',
|
||||
'UserParentalControlPage': 'writable',
|
||||
'Windows': 'readonly'
|
||||
},
|
||||
rules: {
|
||||
// TODO: Fix warnings and remove these rules
|
||||
'no-redeclare': ["warn"],
|
||||
'no-unused-vars': ["warn"],
|
||||
'no-useless-escape': ["warn"],
|
||||
// TODO: Remove after ES6 migration is complete
|
||||
'import/no-unresolved': ["off"]
|
||||
},
|
||||
settings: {
|
||||
polyfills: [
|
||||
// Native Promises Only
|
||||
'Promise',
|
||||
// whatwg-fetch
|
||||
'fetch',
|
||||
// document-register-element
|
||||
'document.registerElement',
|
||||
// resize-observer-polyfill
|
||||
'ResizeObserver',
|
||||
// fast-text-encoding
|
||||
'TextEncoder',
|
||||
// intersection-observer
|
||||
'IntersectionObserver',
|
||||
// Core-js
|
||||
'Object.assign',
|
||||
'Object.is',
|
||||
'Object.setPrototypeOf',
|
||||
'Object.toString',
|
||||
'Object.freeze',
|
||||
'Object.seal',
|
||||
'Object.preventExtensions',
|
||||
'Object.isFrozen',
|
||||
'Object.isSealed',
|
||||
'Object.isExtensible',
|
||||
'Object.getOwnPropertyDescriptor',
|
||||
'Object.getPrototypeOf',
|
||||
'Object.keys',
|
||||
'Object.getOwnPropertyNames',
|
||||
'Function.name',
|
||||
'Function.hasInstance',
|
||||
'Array.from',
|
||||
'Array.arrayOf',
|
||||
'Array.copyWithin',
|
||||
'Array.fill',
|
||||
'Array.find',
|
||||
'Array.findIndex',
|
||||
'Array.iterator',
|
||||
'String.fromCodePoint',
|
||||
'String.raw',
|
||||
'String.iterator',
|
||||
'String.codePointAt',
|
||||
'String.endsWith',
|
||||
'String.includes',
|
||||
'String.repeat',
|
||||
'String.startsWith',
|
||||
'String.trim',
|
||||
'String.anchor',
|
||||
'String.big',
|
||||
'String.blink',
|
||||
'String.bold',
|
||||
'String.fixed',
|
||||
'String.fontcolor',
|
||||
'String.fontsize',
|
||||
'String.italics',
|
||||
'String.link',
|
||||
'String.small',
|
||||
'String.strike',
|
||||
'String.sub',
|
||||
'String.sup',
|
||||
'RegExp',
|
||||
'Number',
|
||||
'Math',
|
||||
'Date',
|
||||
'async',
|
||||
'Symbol',
|
||||
'Map',
|
||||
'Set',
|
||||
'WeakMap',
|
||||
'WeakSet',
|
||||
'ArrayBuffer',
|
||||
'DataView',
|
||||
'Int8Array',
|
||||
'Uint8Array',
|
||||
'Uint8ClampedArray',
|
||||
'Int16Array',
|
||||
'Uint16Array',
|
||||
'Int32Array',
|
||||
'Uint32Array',
|
||||
'Float32Array',
|
||||
'Float64Array',
|
||||
'Reflect'
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
171
.eslintrc.yml
171
.eslintrc.yml
|
@ -1,171 +0,0 @@
|
|||
env:
|
||||
amd: true
|
||||
browser: true
|
||||
es6: true
|
||||
es2017: true
|
||||
es2020: true
|
||||
|
||||
parserOptions:
|
||||
ecmaVersion: 2020
|
||||
sourceType: module
|
||||
ecmaFeatures:
|
||||
impliedStrict: true
|
||||
|
||||
plugins:
|
||||
- promise
|
||||
- import
|
||||
- eslint-comments
|
||||
|
||||
extends:
|
||||
- eslint:recommended
|
||||
- plugin:promise/recommended
|
||||
- plugin:import/errors
|
||||
- plugin:import/warnings
|
||||
- plugin:eslint-comments/recommended
|
||||
- plugin:compat/recommended
|
||||
|
||||
globals:
|
||||
# Browser globals
|
||||
MediaMetadata: readonly
|
||||
# Tizen globals
|
||||
tizen: readonly
|
||||
webapis: readonly
|
||||
# WebOS globals
|
||||
webOS: readonly
|
||||
# Dependency globals
|
||||
$: readonly
|
||||
jQuery: readonly
|
||||
requirejs: readonly
|
||||
# Jellyfin globals
|
||||
ApiClient: writable
|
||||
AppInfo: writable
|
||||
chrome: writable
|
||||
ConnectionManager: writable
|
||||
DlnaProfilePage: writable
|
||||
Dashboard: writable
|
||||
DashboardPage: writable
|
||||
Emby: readonly
|
||||
Events: writable
|
||||
getParameterByName: writable
|
||||
getWindowLocationSearch: writable
|
||||
Globalize: writable
|
||||
Hls: writable
|
||||
dfnshelper: writable
|
||||
LibraryMenu: writable
|
||||
LinkParser: writable
|
||||
LiveTvHelpers: writable
|
||||
MetadataEditor: writable
|
||||
pageClassOn: writable
|
||||
pageIdOn: writable
|
||||
PlaylistViewer: writable
|
||||
UserParentalControlPage: writable
|
||||
Windows: readonly
|
||||
|
||||
rules:
|
||||
block-spacing: ["error"]
|
||||
brace-style: ["error"]
|
||||
comma-dangle: ["error", "never"]
|
||||
comma-spacing: ["error"]
|
||||
eol-last: ["error"]
|
||||
indent: ["error", 4, { "SwitchCase": 1 }]
|
||||
keyword-spacing: ["error"]
|
||||
max-statements-per-line: ["error"]
|
||||
no-floating-decimal: ["error"]
|
||||
no-multi-spaces: ["error"]
|
||||
no-multiple-empty-lines: ["error", { "max": 1 }]
|
||||
no-trailing-spaces: ["error"]
|
||||
one-var: ["error", "never"]
|
||||
semi: ["error"]
|
||||
space-before-blocks: ["error"]
|
||||
# TODO: Fix warnings and remove these rules
|
||||
no-redeclare: ["warn"]
|
||||
no-unused-vars: ["warn"]
|
||||
no-useless-escape: ["warn"]
|
||||
promise/catch-or-return: ["warn"]
|
||||
promise/always-return: ["warn"]
|
||||
promise/no-return-wrap: ["warn"]
|
||||
# TODO: Remove after ES6 migration is complete
|
||||
import/no-unresolved: ["warn"]
|
||||
|
||||
settings:
|
||||
polyfills:
|
||||
# Native Promises Only
|
||||
- Promise
|
||||
# whatwg-fetch
|
||||
- fetch
|
||||
# document-register-element
|
||||
- document.registerElement
|
||||
# resize-observer-polyfill
|
||||
- ResizeObserver
|
||||
# fast-text-encoding
|
||||
- TextEncoder
|
||||
# intersection-observer
|
||||
- IntersectionObserver
|
||||
# Core-js
|
||||
- Object.assign
|
||||
- Object.is
|
||||
- Object.setPrototypeOf
|
||||
- Object.toString
|
||||
- Object.freeze
|
||||
- Object.seal
|
||||
- Object.preventExtensions
|
||||
- Object.isFrozen
|
||||
- Object.isSealed
|
||||
- Object.isExtensible
|
||||
- Object.getOwnPropertyDescriptor
|
||||
- Object.getPrototypeOf
|
||||
- Object.keys
|
||||
- Object.getOwnPropertyNames
|
||||
- Function.name
|
||||
- Function.hasInstance
|
||||
- Array.from
|
||||
- Array.arrayOf
|
||||
- Array.copyWithin
|
||||
- Array.fill
|
||||
- Array.find
|
||||
- Array.findIndex
|
||||
- Array.iterator
|
||||
- String.fromCodePoint
|
||||
- String.raw
|
||||
- String.iterator
|
||||
- String.codePointAt
|
||||
- String.endsWith
|
||||
- String.includes
|
||||
- String.repeat
|
||||
- String.startsWith
|
||||
- String.trim
|
||||
- String.anchor
|
||||
- String.big
|
||||
- String.blink
|
||||
- String.bold
|
||||
- String.fixed
|
||||
- String.fontcolor
|
||||
- String.fontsize
|
||||
- String.italics
|
||||
- String.link
|
||||
- String.small
|
||||
- String.strike
|
||||
- String.sub
|
||||
- String.sup
|
||||
- RegExp
|
||||
- Number
|
||||
- Math
|
||||
- Date
|
||||
- async
|
||||
- Symbol
|
||||
- Map
|
||||
- Set
|
||||
- WeakMap
|
||||
- WeakSet
|
||||
- ArrayBuffer
|
||||
- DataView
|
||||
- Int8Array
|
||||
- Uint8Array
|
||||
- Uint8ClampedArray
|
||||
- Int16Array
|
||||
- Uint16Array
|
||||
- Int32Array
|
||||
- Uint32Array
|
||||
- Float32Array
|
||||
- Float64Array
|
||||
- Reflect
|
36
.gitattributes
vendored
36
.gitattributes
vendored
|
@ -1 +1,35 @@
|
|||
/CONTRIBUTORS.md merge=union
|
||||
* text=auto
|
||||
|
||||
CONTRIBUTORS.md merge=union
|
||||
README.md text
|
||||
LICENSE text
|
||||
|
||||
*.css text
|
||||
*.eot binary
|
||||
*.gif binary
|
||||
*.html text diff=html
|
||||
*.ico binary
|
||||
*.*ignore text
|
||||
*.jpg binary
|
||||
*.js text
|
||||
*.json text
|
||||
*.lock text -diff
|
||||
*.map text -diff
|
||||
*.md text
|
||||
*.otf binary
|
||||
*.png binary
|
||||
*.py text diff=python
|
||||
*.svg binary
|
||||
*.ts text
|
||||
*.ttf binary
|
||||
*.sass text
|
||||
*.vue text
|
||||
*.webp binary
|
||||
*.woff binary
|
||||
*.woff2 binary
|
||||
|
||||
.editorconfig text
|
||||
.gitattributes export-ignore
|
||||
.gitignore export-ignore
|
||||
|
||||
*.gitattributes linguist-language=gitattributes
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
const { src, dest, series, parallel, watch } = require('gulp');
|
||||
const browserSync = require('browser-sync').create();
|
||||
const del = require('del');
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"@babel/plugin-transform-modules-amd": "^7.8.3",
|
||||
"@babel/polyfill": "^7.8.7",
|
||||
"@babel/preset-env": "^7.8.6",
|
||||
"autoprefixer": "^9.7.4",
|
||||
"autoprefixer": "^9.7.6",
|
||||
"babel-loader": "^8.0.6",
|
||||
"browser-sync": "^2.26.7",
|
||||
"clean-webpack-plugin": "^3.0.0",
|
||||
|
@ -90,10 +90,10 @@
|
|||
"test": [
|
||||
"src/components/autoFocuser.js",
|
||||
"src/components/cardbuilder/cardBuilder.js",
|
||||
"src/components/dom.js",
|
||||
"src/scripts/dom.js",
|
||||
"src/components/filedownloader.js",
|
||||
"src/components/filesystem.js",
|
||||
"src/components/input/keyboardnavigation.js",
|
||||
"src/scripts/keyboardnavigation.js",
|
||||
"src/components/sanatizefilename.js",
|
||||
"src/components/scrollManager.js",
|
||||
"src/scripts/settings/appSettings.js",
|
||||
|
@ -130,7 +130,7 @@
|
|||
"build:development": "gulp --development",
|
||||
"build:production": "gulp --production",
|
||||
"build:standalone": "gulp standalone --development",
|
||||
"lint": "eslint \"src\"",
|
||||
"lint": "eslint \".\"",
|
||||
"stylelint": "stylelint \"src/**/*.css\""
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
const postcssPresetEnv = require('postcss-preset-env');
|
||||
const autoprefixer = require('autoprefixer');
|
||||
const cssnano = require('cssnano');
|
||||
|
||||
const config = () => ({
|
||||
plugins: [
|
||||
postcssPresetEnv(),
|
||||
cssnano()
|
||||
]
|
||||
plugins: [
|
||||
postcssPresetEnv(),
|
||||
autoprefixer(),
|
||||
cssnano()
|
||||
]
|
||||
});
|
||||
|
||||
module.exports = config
|
||||
module.exports = config;
|
||||
|
|
|
@ -8,9 +8,8 @@
|
|||
<a is="emby-linkbutton" class="raised button-alt headerHelpButton" target="_blank" href="https://docs.jellyfin.org/general/server/plugins/index.html">${Help}</a>
|
||||
</div>
|
||||
|
||||
<p id="tagline" style="font-style: italic;"></p>
|
||||
<p id="pPreviewImage"></p>
|
||||
<p id="overview"></p>
|
||||
<p id="overview" style="font-style: italic;"></p>
|
||||
<p id="description"></p>
|
||||
</div>
|
||||
|
||||
<div class="verticalSection">
|
||||
|
@ -28,7 +27,6 @@
|
|||
</button>
|
||||
<div class="fieldDescription">${ServerRestartNeededAfterPluginInstall}</div>
|
||||
</div>
|
||||
<p id="nonServerMsg"></p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -37,9 +35,6 @@
|
|||
<div is="emby-collapse" title="${HeaderDeveloperInfo}">
|
||||
<div class="collapseContent">
|
||||
<p id="developer"></p>
|
||||
<p id="pViewWebsite" style="display: none;">
|
||||
<a is="emby-linkbutton" class="button-link" href="#" target="_blank">${ButtonViewWebsite}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'la
|
|||
} else {
|
||||
var noLibDescription;
|
||||
if (user['Policy'] && user['Policy']['IsAdministrator']) {
|
||||
noLibDescription = Globalize.translate("NoCreatedLibraries", '<a id="button-createLibrary" class="button-link">', '</a>');
|
||||
noLibDescription = Globalize.translate("NoCreatedLibraries", '<br><a id="button-createLibrary" class="button-link">', '</a>');
|
||||
} else {
|
||||
noLibDescription = Globalize.translate("AskAdminToCreateLibrary");
|
||||
}
|
||||
|
@ -243,9 +243,9 @@ define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'la
|
|||
return function (items) {
|
||||
var cardLayout = false;
|
||||
var shape;
|
||||
if (itemType === 'Channel' || viewType === 'movies' || viewType === 'books') {
|
||||
if (itemType === 'Channel' || viewType === 'movies' || viewType === 'books' || viewType === 'tvshows') {
|
||||
shape = getPortraitShape();
|
||||
} else if (viewType === 'music') {
|
||||
} else if (viewType === 'music' || viewType === 'homevideos') {
|
||||
shape = getSquareShape();
|
||||
} else {
|
||||
shape = getThumbShape();
|
||||
|
|
|
@ -795,7 +795,9 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
|||
dlg.parentNode.removeChild(dlg);
|
||||
}
|
||||
|
||||
screenfull.exit();
|
||||
if (screenfull.isEnabled) {
|
||||
screenfull.exit();
|
||||
}
|
||||
};
|
||||
|
||||
function onEnded() {
|
||||
|
|
|
@ -20,9 +20,11 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
|||
}
|
||||
|
||||
function bindToFullscreenChange(player) {
|
||||
screenfull.on('change', function () {
|
||||
events.trigger(player, 'fullscreenchange');
|
||||
});
|
||||
if (screenfull.isEnabled) {
|
||||
screenfull.on('change', function () {
|
||||
events.trigger(player, 'fullscreenchange');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function triggerPlayerChange(playbackManagerInstance, newPlayer, newTarget, previousPlayer, previousTargetInfo) {
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
if (typeof Object.assign != 'function') {
|
||||
(function () {
|
||||
Object.assign = function (target) {
|
||||
'use strict';
|
||||
if (target === undefined || target === null) {
|
||||
throw new TypeError('Cannot convert undefined or null to object');
|
||||
}
|
||||
|
||||
var output = Object(target);
|
||||
for (var index = 1; index < arguments.length; index++) {
|
||||
var source = arguments[index];
|
||||
if (source !== undefined && source !== null) {
|
||||
for (var nextKey in source) {
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
if (source.hasOwnProperty(nextKey)) {
|
||||
output[nextKey] = source[nextKey];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return output;
|
||||
};
|
||||
})();
|
||||
}
|
|
@ -7,8 +7,8 @@ define(["jQuery", "loading", "libraryMenu", "globalize", "connectionManager", "e
|
|||
|
||||
for (var i = 0; i < length; i++) {
|
||||
var version = packageInfo.versions[i];
|
||||
html += '<h2 style="margin:.5em 0;">' + version.versionStr + " (" + version.classification + ")</h2>";
|
||||
html += '<div style="margin-bottom:1.5em;">' + version.description + "</div>";
|
||||
html += '<h2 style="margin:.5em 0;">' + version.version + "</h2>";
|
||||
html += '<div style="margin-bottom:1.5em;">' + version.changelog + "</div>";
|
||||
}
|
||||
|
||||
$("#revisionHistory", page).html(html);
|
||||
|
@ -19,7 +19,7 @@ define(["jQuery", "loading", "libraryMenu", "globalize", "connectionManager", "e
|
|||
|
||||
for (var i = 0; i < packageInfo.versions.length; i++) {
|
||||
var version = packageInfo.versions[i];
|
||||
html += '<option value="' + version.versionStr + "|" + version.classification + '">' + version.versionStr + " (" + version.classification + ")</option>";
|
||||
html += '<option value="' + version.version + '">' + version.version + "</option>";
|
||||
}
|
||||
|
||||
var selectmenu = $("#selectVersion", page).html(html);
|
||||
|
@ -28,16 +28,9 @@ define(["jQuery", "loading", "libraryMenu", "globalize", "connectionManager", "e
|
|||
$("#pCurrentVersion", page).hide().html("");
|
||||
}
|
||||
|
||||
var packageVersion = packageInfo.versions.filter(function (current) {
|
||||
return "Release" == current.classification;
|
||||
})[0];
|
||||
packageVersion = packageVersion || packageInfo.versions.filter(function (current) {
|
||||
return "Beta" == current.classification;
|
||||
})[0];
|
||||
|
||||
var packageVersion = packageInfo.versions[0];
|
||||
if (packageVersion) {
|
||||
var val = packageVersion.versionStr + "|" + packageVersion.classification;
|
||||
selectmenu.val(val);
|
||||
selectmenu.val(packageVersion.version);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,44 +38,23 @@ define(["jQuery", "loading", "libraryMenu", "globalize", "connectionManager", "e
|
|||
var installedPlugin = installedPlugins.filter(function (ip) {
|
||||
return ip.Name == pkg.name;
|
||||
})[0];
|
||||
|
||||
populateVersions(pkg, page, installedPlugin);
|
||||
populateHistory(pkg, page);
|
||||
|
||||
$(".pluginName", page).html(pkg.name);
|
||||
$("#btnInstallDiv", page).removeClass("hide");
|
||||
$("#pSelectVersion", page).removeClass("hide");
|
||||
|
||||
if ("Server" == pkg.targetSystem) {
|
||||
$("#btnInstallDiv", page).removeClass("hide");
|
||||
$("#nonServerMsg", page).hide();
|
||||
$("#pSelectVersion", page).removeClass("hide");
|
||||
if (pkg.overview) {
|
||||
$("#overview", page).show().html(pkg.overview);
|
||||
} else {
|
||||
$("#btnInstallDiv", page).addClass("hide");
|
||||
$("#pSelectVersion", page).addClass("hide");
|
||||
var msg = globalize.translate("MessageInstallPluginFromApp");
|
||||
$("#nonServerMsg", page).html(msg).show();
|
||||
$("#overview", page).hide();
|
||||
}
|
||||
|
||||
if (pkg.shortDescription) {
|
||||
$("#tagline", page).show().html(pkg.shortDescription);
|
||||
} else {
|
||||
$("#tagline", page).hide();
|
||||
}
|
||||
|
||||
$("#overview", page).html(pkg.overview || "");
|
||||
$("#description", page).html(pkg.description);
|
||||
$("#developer", page).html(pkg.owner);
|
||||
|
||||
if (pkg.richDescUrl) {
|
||||
$("#pViewWebsite", page).show();
|
||||
$("#pViewWebsite a", page).attr("href", pkg.richDescUrl);
|
||||
} else {
|
||||
$("#pViewWebsite", page).hide();
|
||||
}
|
||||
|
||||
if (pkg.previewImage || pkg.thumbImage) {
|
||||
var img = pkg.previewImage ? pkg.previewImage : pkg.thumbImage;
|
||||
$("#pPreviewImage", page).show().html("<img class='pluginPreviewImg' src='" + img + "' style='max-width: 100%;' />");
|
||||
} else {
|
||||
$("#pPreviewImage", page).hide().html("");
|
||||
}
|
||||
|
||||
if (installedPlugin) {
|
||||
var currentVersionText = globalize.translate("MessageYouHaveVersionInstalled", "<strong>" + installedPlugin.Version + "</strong>");
|
||||
$("#pCurrentVersion", page).show().html(currentVersionText);
|
||||
|
|
|
@ -98,21 +98,14 @@ define(["loading", "libraryMenu", "globalize", "cardStyle", "emby-button", "emby
|
|||
html += '<div class="cardScalable visualCardBox-cardScalable">';
|
||||
html += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
html += '<a class="cardContent cardImageContainer" is="emby-linkbutton" href="' + href + '"' + target + ">";
|
||||
|
||||
if (plugin.thumbImage) {
|
||||
html += '<div class="cardImage coveredImage" style="background-image:url(\'' + plugin.thumbImage + "');\">";
|
||||
html += "</div>";
|
||||
} else {
|
||||
html += '<span class="cardImageIcon material-icons folder"></span>';
|
||||
}
|
||||
|
||||
html += '<span class="cardImageIcon material-icons folder"></span>';
|
||||
html += "</a>";
|
||||
html += "</div>";
|
||||
html += '<div class="cardFooter">';
|
||||
html += "<div class='cardText'>";
|
||||
html += plugin.name;
|
||||
html += "</div>";
|
||||
var installedPlugin = plugin.isApp ? null : installedPlugins.filter(function (ip) {
|
||||
var installedPlugin = installedPlugins.filter(function (ip) {
|
||||
return ip.Id == plugin.guid;
|
||||
})[0];
|
||||
html += "<div class='cardText cardText-secondary'>";
|
||||
|
|
|
@ -42,14 +42,7 @@ define(["loading", "libraryMenu", "dom", "globalize", "cardStyle", "emby-button"
|
|||
html += '<div class="cardScalable">';
|
||||
html += '<div class="cardPadder cardPadder-backdrop"></div>';
|
||||
html += configPageUrl ? '<a class="cardContent cardImageContainer" is="emby-linkbutton" href="' + configPageUrl + '">' : '<div class="cardContent noConfigPluginCard noHoverEffect cardImageContainer">';
|
||||
|
||||
if (plugin.ImageUrl) {
|
||||
html += '<div class="cardImage coveredImage" style="background-image:url(\'' + plugin.ImageUrl + "');\">";
|
||||
html += "</div>";
|
||||
} else {
|
||||
html += '<span class="cardImageIcon material-icons folder"></span>';
|
||||
}
|
||||
|
||||
html += '<span class="cardImageIcon material-icons folder"></span>';
|
||||
html += configPageUrl ? "</a>" : "</div>";
|
||||
html += "</div>";
|
||||
html += '<div class="cardFooter">';
|
||||
|
@ -57,7 +50,7 @@ define(["loading", "libraryMenu", "dom", "globalize", "cardStyle", "emby-button"
|
|||
html += '<button type="button" is="paper-icon-button-light" class="btnCardMenu autoSize"><span class="material-icons more_horiz"></span></button>';
|
||||
html += "</div>";
|
||||
html += "<div class='cardText'>";
|
||||
html += configPage ? configPage.DisplayName || plugin.Name : plugin.Name;
|
||||
html += configPage.DisplayName || plugin.Name;
|
||||
html += "</div>";
|
||||
html += "<div class='cardText cardText-secondary'>";
|
||||
html += plugin.Version;
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
|
||||
.button-link {
|
||||
background: transparent;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: initial;
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
<div class="runtime"></div>
|
||||
</div>
|
||||
|
||||
<div class="nowPlayingButtonsContainer">
|
||||
<div class="nowPlayingButtonsContainer focuscontainer-x">
|
||||
|
||||
<div class="nowPlayingInfoButtons focuscontainer-x">
|
||||
<div class="nowPlayingInfoButtons">
|
||||
|
||||
<button is="paper-icon-button-light" class="btnRewind btnNowPlayingRewind btnPlayStateCommand autoSize" title="${Rewind}">
|
||||
<span class="material-icons replay_10"></span>
|
||||
|
|
|
@ -155,7 +155,7 @@ export function enable() {
|
|||
function attachGamepadScript(e) {
|
||||
console.log("Gamepad connected! Attaching gamepadtokey.js script");
|
||||
window.removeEventListener("gamepadconnected", attachGamepadScript);
|
||||
require(["components/input/gamepadtokey"]);
|
||||
require(["scripts/gamepadtokey"]);
|
||||
}
|
||||
|
||||
// No need to check for gamepads manually at load time, the eventhandler will be fired for that
|
|
@ -23,6 +23,35 @@ define([
|
|||
|
||||
console.debug("defining core routes");
|
||||
|
||||
defineRoute({
|
||||
path: "/addserver.html",
|
||||
autoFocus: false,
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/addserver"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/selectserver.html",
|
||||
autoFocus: false,
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/selectserver",
|
||||
type: "selectserver"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/forgotpassword.html",
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/forgotpassword"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/forgotpasswordpin.html",
|
||||
autoFocus: false,
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/forgotpasswordpin"
|
||||
});
|
||||
|
||||
defineRoute({
|
||||
path: "/addplugin.html",
|
||||
autoFocus: false,
|
||||
|
@ -41,13 +70,6 @@ define([
|
|||
transition: "fade",
|
||||
controller: "user/profile"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/addserver.html",
|
||||
autoFocus: false,
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/addserver"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/mypreferencesdisplay.html",
|
||||
autoFocus: false,
|
||||
|
@ -95,31 +117,31 @@ define([
|
|||
path: "/devices.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "devices"
|
||||
controller: "dashboard/devices/devices"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/device.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "device"
|
||||
controller: "dashboard/devices/device"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/dlnaprofile.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "dlnaprofile"
|
||||
controller: "dashboard/dlna/dlnaprofile"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/dlnaprofiles.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "dlnaprofiles"
|
||||
controller: "dashboard/dlna/dlnaprofiles"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/dlnasettings.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "dlnasettings"
|
||||
controller: "dashboard/dlna/dlnasettings"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/edititemmetadata.html",
|
||||
|
@ -130,20 +152,7 @@ define([
|
|||
path: "/encodingsettings.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "encodingsettings"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/forgotpassword.html",
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/forgotpassword"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/forgotpasswordpin.html",
|
||||
autoFocus: false,
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/forgotpasswordpin"
|
||||
controller: "dashboard/encodingsettings"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/home.html",
|
||||
|
@ -158,11 +167,6 @@ define([
|
|||
controller: "list",
|
||||
transition: "fade"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/index.html",
|
||||
autoFocus: false,
|
||||
isDefaultRoute: true
|
||||
});
|
||||
defineRoute({
|
||||
path: "/itemdetails.html",
|
||||
controller: "itemdetailpage",
|
||||
|
@ -173,19 +177,13 @@ define([
|
|||
path: "/library.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "medialibrarypage"
|
||||
controller: "dashboard/medialibrarypage"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/librarydisplay.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "librarydisplay"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/librarysettings.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "librarysettings"
|
||||
controller: "dashboard/librarydisplay"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/livetv.html",
|
||||
|
@ -233,13 +231,13 @@ define([
|
|||
path: "/metadataimages.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "metadataimagespage"
|
||||
controller: "dashboard/metadataimagespage"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/metadatanfo.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "metadatanfo"
|
||||
controller: "dashboard/metadatanfo"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/movies.html",
|
||||
|
@ -265,20 +263,11 @@ define([
|
|||
autoFocus: false,
|
||||
roles: "admin"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/nowplaying.html",
|
||||
controller: "playback/nowplaying",
|
||||
autoFocus: false,
|
||||
transition: "fade",
|
||||
fullscreen: true,
|
||||
supportsThemeMedia: true,
|
||||
enableMediaControl: false
|
||||
});
|
||||
defineRoute({
|
||||
path: "/playbackconfiguration.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "playbackconfiguration"
|
||||
controller: "dashboard/playbackconfiguration"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/availableplugins.html",
|
||||
|
@ -308,31 +297,23 @@ define([
|
|||
path: "/search.html",
|
||||
controller: "searchpage"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/selectserver.html",
|
||||
autoFocus: false,
|
||||
anonymous: true,
|
||||
startup: true,
|
||||
controller: "auth/selectserver",
|
||||
type: "selectserver"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/serveractivity.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "serveractivity"
|
||||
controller: "dashboard/serveractivity"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/apikeys.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "apikeys"
|
||||
controller: "dashboard/apikeys"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/streamingsettings.html",
|
||||
autoFocus: false,
|
||||
roles: "admin",
|
||||
controller: "streamingsettings"
|
||||
controller: "dashboard/streamingsettings"
|
||||
});
|
||||
defineRoute({
|
||||
path: "/tv.html",
|
||||
|
@ -423,6 +404,15 @@ define([
|
|||
fullscreen: true,
|
||||
enableMediaControl: false
|
||||
});
|
||||
defineRoute({
|
||||
path: "/nowplaying.html",
|
||||
controller: "playback/nowplaying",
|
||||
autoFocus: false,
|
||||
transition: "fade",
|
||||
fullscreen: true,
|
||||
supportsThemeMedia: true,
|
||||
enableMediaControl: false
|
||||
});
|
||||
defineRoute({
|
||||
path: "/configurationpage",
|
||||
autoFocus: false,
|
||||
|
@ -436,4 +426,9 @@ define([
|
|||
isDefaultRoute: true,
|
||||
autoFocus: false
|
||||
});
|
||||
defineRoute({
|
||||
path: "/index.html",
|
||||
autoFocus: false,
|
||||
isDefaultRoute: true
|
||||
});
|
||||
});
|
||||
|
|
|
@ -12,7 +12,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableAutoLogin(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
this.set('enableAutoLogin', val.toString());
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableSystemExternalPlayers(val) {
|
||||
if (val !== null) {
|
||||
if (val !== undefined) {
|
||||
this.set('enableSystemExternalPlayers', val.toString());
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@ import events from 'events';
|
|||
|
||||
export function enableAutomaticBitrateDetection(isInNetwork, mediaType, val) {
|
||||
var key = 'enableautobitratebitrate-' + mediaType + '-' + isInNetwork;
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
if (isInNetwork && mediaType === 'Audio') {
|
||||
val = true;
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ import events from 'events';
|
|||
|
||||
export function maxStreamingBitrate(isInNetwork, mediaType, val) {
|
||||
var key = 'maxbitrate-' + mediaType + '-' + isInNetwork;
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
if (isInNetwork && mediaType === 'Audio') {
|
||||
// nothing to do, this is always a max value
|
||||
} else {
|
||||
|
@ -72,7 +72,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function maxChromecastBitrate(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
this.set('chromecastBitrate1', val);
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function syncOnlyOnWifi(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
this.set('syncOnlyOnWifi', val.toString());
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function syncPath(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
this.set('syncPath', val);
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function cameraUploadServers(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
this.set('cameraUploadServers', val.join(','));
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function runAtStartup(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
this.set('runatstartup', val.toString());
|
||||
}
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableCinemaMode(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('enableCinemaMode', val.toString(), false);
|
||||
}
|
||||
|
||||
|
@ -93,7 +93,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableNextVideoInfoOverlay(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('enableNextVideoInfoOverlay', val.toString());
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableThemeSongs(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('enableThemeSongs', val.toString(), false);
|
||||
}
|
||||
|
||||
|
@ -111,7 +111,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableThemeVideos(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('enableThemeVideos', val.toString(), false);
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableFastFadein(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('fastFadein', val.toString(), false);
|
||||
}
|
||||
|
||||
|
@ -129,7 +129,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function enableBackdrops(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('enableBackdrops', val.toString(), false);
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function language(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('language', val.toString(), false);
|
||||
}
|
||||
|
||||
|
@ -146,7 +146,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function dateTimeLocale(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('datetimelocale', val.toString(), false);
|
||||
}
|
||||
|
||||
|
@ -154,7 +154,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function skipBackLength(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('skipBackLength', val.toString());
|
||||
}
|
||||
|
||||
|
@ -162,7 +162,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function skipForwardLength(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('skipForwardLength', val.toString());
|
||||
}
|
||||
|
||||
|
@ -170,7 +170,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function dashboardTheme(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('dashboardTheme', val);
|
||||
}
|
||||
|
||||
|
@ -178,7 +178,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function skin(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('skin', val, false);
|
||||
}
|
||||
|
||||
|
@ -186,7 +186,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function theme(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('appTheme', val, false);
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function screensaver(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('screensaver', val, false);
|
||||
}
|
||||
|
||||
|
@ -202,7 +202,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function libraryPageSize(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('libraryPageSize', parseInt(val, 10), false);
|
||||
}
|
||||
|
||||
|
@ -216,7 +216,7 @@ import events from 'events';
|
|||
}
|
||||
|
||||
export function soundEffects(val) {
|
||||
if (val != null) {
|
||||
if (val !== undefined) {
|
||||
return this.set('soundeffects', val, false);
|
||||
}
|
||||
|
||||
|
|
|
@ -371,8 +371,9 @@ var AppInfo = {};
|
|||
function initRequireWithBrowser(browser) {
|
||||
var bowerPath = getBowerPath();
|
||||
var componentsPath = getComponentsPath();
|
||||
var scriptsPath = getScriptsPath();
|
||||
|
||||
define("filesystem", [componentsPath + "/filesystem"], returnFirstDependency);
|
||||
define("filesystem", [scriptsPath + "/filesystem"], returnFirstDependency);
|
||||
|
||||
if (window.IntersectionObserver && !browser.edge) {
|
||||
define("lazyLoader", [componentsPath + "/lazyloader/lazyloader-intersectionobserver"], returnFirstDependency);
|
||||
|
@ -425,9 +426,6 @@ var AppInfo = {};
|
|||
if (!window.fetch) {
|
||||
promises.push(require(["fetch"]));
|
||||
}
|
||||
if ("function" != typeof Object.assign) {
|
||||
promises.push(require(["objectassign"]));
|
||||
}
|
||||
|
||||
Promise.all(promises).then(function () {
|
||||
createConnectionManager().then(function () {
|
||||
|
@ -565,7 +563,7 @@ var AppInfo = {};
|
|||
require(["playerSelectionMenu", "components/playback/remotecontrolautoplay"]);
|
||||
}
|
||||
|
||||
require(["components/screensavermanager"]);
|
||||
require(["libraries/screensavermanager"]);
|
||||
|
||||
if (!appHost.supports("physicalvolumecontrol") || browser.touch) {
|
||||
require(["components/playback/volumeosd"]);
|
||||
|
@ -657,7 +655,7 @@ var AppInfo = {};
|
|||
medialibraryeditor: componentsPath + "/medialibraryeditor/medialibraryeditor",
|
||||
imageoptionseditor: componentsPath + "/imageoptionseditor/imageoptionseditor",
|
||||
apphost: componentsPath + "/apphost",
|
||||
visibleinviewport: componentsPath + "/visibleinviewport",
|
||||
visibleinviewport: bowerPath + "/visibleinviewport",
|
||||
qualityoptions: componentsPath + "/qualityoptions",
|
||||
focusManager: componentsPath + "/focusManager",
|
||||
itemHelper: componentsPath + "/itemhelper",
|
||||
|
@ -762,8 +760,8 @@ var AppInfo = {};
|
|||
|
||||
// TODO remove these libraries
|
||||
// all of these have been modified so we need to fix that first
|
||||
define("scroller", [componentsPath + "/scroller"], returnFirstDependency);
|
||||
define("navdrawer", [componentsPath + "/navdrawer/navdrawer"], returnFirstDependency);
|
||||
define("scroller", [bowerPath + "/scroller"], returnFirstDependency);
|
||||
define("navdrawer", [bowerPath + "/navdrawer/navdrawer"], returnFirstDependency);
|
||||
|
||||
define("emby-button", [elementsPath + "/emby-button/emby-button"], returnFirstDependency);
|
||||
define("paper-icon-button-light", [elementsPath + "/emby-button/paper-icon-button-light"], returnFirstDependency);
|
||||
|
@ -803,7 +801,7 @@ var AppInfo = {};
|
|||
define("playerSettingsMenu", [componentsPath + "/playback/playersettingsmenu"], returnFirstDependency);
|
||||
define("playMethodHelper", [componentsPath + "/playback/playmethodhelper"], returnFirstDependency);
|
||||
define("brightnessOsd", [componentsPath + "/playback/brightnessosd"], returnFirstDependency);
|
||||
define("alphaNumericShortcuts", [componentsPath + "/alphanumericshortcuts/alphanumericshortcuts"], returnFirstDependency);
|
||||
define("alphaNumericShortcuts", [scriptsPath + "/alphanumericshortcuts"], returnFirstDependency);
|
||||
define("multiSelect", [componentsPath + "/multiselect/multiselect"], returnFirstDependency);
|
||||
define("alphaPicker", [componentsPath + "/alphapicker/alphapicker"], returnFirstDependency);
|
||||
define("tabbedView", [componentsPath + "/tabbedview/tabbedview"], returnFirstDependency);
|
||||
|
@ -825,7 +823,7 @@ var AppInfo = {};
|
|||
define("itemContextMenu", [componentsPath + "/itemcontextmenu"], returnFirstDependency);
|
||||
define("imageEditor", [componentsPath + "/imageeditor/imageeditor"], returnFirstDependency);
|
||||
define("imageDownloader", [componentsPath + "/imagedownloader/imagedownloader"], returnFirstDependency);
|
||||
define("dom", [componentsPath + "/dom"], returnFirstDependency);
|
||||
define("dom", [scriptsPath + "/dom"], returnFirstDependency);
|
||||
define("playerStats", [componentsPath + "/playerstats/playerstats"], returnFirstDependency);
|
||||
define("searchFields", [componentsPath + "/search/searchfields"], returnFirstDependency);
|
||||
define("searchResults", [componentsPath + "/search/searchresults"], returnFirstDependency);
|
||||
|
@ -855,8 +853,7 @@ var AppInfo = {};
|
|||
return viewManager;
|
||||
});
|
||||
define("slideshow", [componentsPath + "/slideshow/slideshow"], returnFirstDependency);
|
||||
define("objectassign", [componentsPath + "/polyfills/objectassign"], returnFirstDependency);
|
||||
define("focusPreventScroll", [componentsPath + "/polyfills/focusPreventScroll"], returnFirstDependency);
|
||||
define("focusPreventScroll", ["legacy/focusPreventScroll"], returnFirstDependency);
|
||||
define("userdataButtons", [componentsPath + "/userdatabuttons/userdatabuttons"], returnFirstDependency);
|
||||
define("listView", [componentsPath + "/listview/listview"], returnFirstDependency);
|
||||
define("indicators", [componentsPath + "/indicators/indicators"], returnFirstDependency);
|
||||
|
@ -874,8 +871,8 @@ var AppInfo = {};
|
|||
define("dialogHelper", [componentsPath + "/dialogHelper/dialogHelper"], returnFirstDependency);
|
||||
define("serverNotifications", [componentsPath + "/serverNotifications"], returnFirstDependency);
|
||||
define("skinManager", [componentsPath + "/skinManager"], returnFirstDependency);
|
||||
define("keyboardnavigation", [componentsPath + "/input/keyboardnavigation"], returnFirstDependency);
|
||||
define("mouseManager", [componentsPath + "/input/mouseManager"], returnFirstDependency);
|
||||
define("keyboardnavigation", [scriptsPath + "/keyboardnavigation"], returnFirstDependency);
|
||||
define("mouseManager", [scriptsPath + "/mouseManager"], returnFirstDependency);
|
||||
define("scrollManager", [componentsPath + "/scrollManager"], returnFirstDependency);
|
||||
define("autoFocuser", [componentsPath + "/autoFocuser"], returnFirstDependency);
|
||||
define("connectionManager", [], function () {
|
||||
|
|
|
@ -305,7 +305,7 @@
|
|||
"LabelCustomCertificatePath": "Път към потребителския сертификат:",
|
||||
"LabelCustomCertificatePathHelp": "Път до файл с шифровъчен стандарт №12 (PKCS #12), съдържащ сертификат и частен ключ за поддръжка на протокол TLS на собствен домейн.",
|
||||
"LabelCustomCss": "CSS по избор:",
|
||||
"LabelCustomCssHelp": "Добавете собствен стил за Уеб-интерфейса.",
|
||||
"LabelCustomCssHelp": "Добавете собствен стил към уеб-интерфейса.",
|
||||
"LabelCustomDeviceDisplayName": "Показвано име:",
|
||||
"LabelCustomRating": "Оценка по избор:",
|
||||
"LabelDashboardTheme": "Облик на сървърното табло:",
|
||||
|
@ -836,7 +836,7 @@
|
|||
"AddItemToCollectionHelp": "Добавяне към колекция чрез търсенето им и използване на дясно-щракване с мишката или контекстното меню.",
|
||||
"Absolute": "Aбсолютен",
|
||||
"LabelLanNetworks": "Локални мрежи:",
|
||||
"LabelKodiMetadataSaveImagePathsHelp": "Това е препоръчително ако имате изображения, пътят към които не е съобразен с изискванията на Kodi",
|
||||
"LabelKodiMetadataSaveImagePathsHelp": "Това е препоръчително, ако наименованието на изображенията не са съобразени с изискванията на Kodi.",
|
||||
"LabelKodiMetadataSaveImagePaths": "Записване на пътеките към изображенията в nfo файловете",
|
||||
"LabelChannels": "Канали:",
|
||||
"DropShadow": "Сянка",
|
||||
|
@ -878,5 +878,10 @@
|
|||
"BoxRear": "Комплект (стар)",
|
||||
"BoxSet": "Комплект",
|
||||
"AuthProviderHelp": "Избор на доставчик на услуга за Автентификация, която ще се използва за автентификация на потребителската парола.",
|
||||
"AllowedRemoteAddressesHelp": "Списък с IP адреси или IP/маска записи, разделени със запетая, които ще имат отдалечен достъп. Ако полето не е попълнено всички адреси ще имат отдалечен достъп."
|
||||
"AllowedRemoteAddressesHelp": "Списък с IP адреси или IP/маска записи, разделени със запетая, които ще имат отдалечен достъп. Ако полето не е попълнено всички адреси ще имат отдалечен достъп.",
|
||||
"BurnSubtitlesHelp": "Определя дали сървърът трябва да записва субтитри във видеоклиповете припрекодиране. Избягването на това значително ще подобри производителността. Изберете Auto, за да запишете формати, базирани на изображения (VOBSUB, PGS, SUB, IDX) и някои ASS или SSA субтитри.",
|
||||
"AllowFfmpegThrottlingHelp": "Когато прекодирането или запазването на видео стигне достатъчно далеч напред от текущата позиция за възпроизвеждане, поставете на пауза процеса, така ще се изразходват по-малко ресурси. Това е най-полезно, когато се гледа, без да се търси често из видеото. Изключете това, ако имате проблеми с възпроизвеждането.",
|
||||
"AllowOnTheFlySubtitleExtractionHelp": "Вградените субтитри могат да бъдат извлечени от видеоклиповете и прехвърлени към клиентите като обикновен текст, за да се предотврати транскодирането на видеото. В някои системи това може да отнеме много време и да спре възпроизвеждането на видео по време на процеса на извличане. Деактивирайте това, за да има вградени субтитри, записани с видео кодиране, когато те не се поддържат от клиентското устройство.",
|
||||
"CinemaModeConfigurationHelp": "Режимът на кино носи театрално изживяване направо във вашата всекидневна с възможност за пускане на трейлъри и персонализирани интродукции преди основния филм.",
|
||||
"ChangingMetadataImageSettingsNewContent": "Промените в настройките за изтегляне на метаданни или изображения ще се прилагат само за ново съдържание, добавено към вашата библиотека. За да приложите промените към съществуващите заглавия, ще трябва да обновите метаданните им ръчно."
|
||||
}
|
||||
|
|
|
@ -1603,5 +1603,6 @@
|
|||
"LabelLibraryPageSize": "Velikost stránky knihovny:",
|
||||
"LabelDeinterlaceMethod": "Metoda odstranění prokládání:",
|
||||
"DeinterlaceMethodHelp": "Vyberte metodu odstranění prokládání obrazu při překódování obsahu.",
|
||||
"UnsupportedPlayback": "Jellyfin nemůže dešifrovat obsah chráněný technologií DRM, ale pokusí se zobrazit o veškerý obsah, včetně chráněných titulů. Některé soubory se mohou zdát úplně černé kvůli šifrování nebo jiným nepodporovaným funkcím, jako jsou například interaktivní funkce."
|
||||
"UnsupportedPlayback": "Jellyfin nemůže dešifrovat obsah chráněný technologií DRM, ale pokusí se zobrazit o veškerý obsah, včetně chráněných titulů. Některé soubory se mohou zdát úplně černé kvůli šifrování nebo jiným nepodporovaným funkcím, jako jsou například interaktivní funkce.",
|
||||
"MessageUnauthorizedUser": "Momentálně nemáte oprávnění k přístupu na server. Další informace získáte od správce serveru."
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"AllChannels": "Alle kanaler",
|
||||
"AllEpisodes": "Alle episoder",
|
||||
"AllLibraries": "Alle biblioteker",
|
||||
"AllowHWTranscodingHelp": "Lader tuneren omkode streams on-the-fly. Dette kan hjælpe med at reducere omkodning der kræves af serveren.",
|
||||
"AllowHWTranscodingHelp": "Tillader tuneren at omkode streaming on-the-fly. Dette kan hjælpe med at reducere belastning af serveren på grund af yderligere omkodning.",
|
||||
"AllowMediaConversion": "Tillad media konvertering",
|
||||
"AllowMediaConversionHelp": "Giv eller nægt adgang til Konvertér Media featuren.",
|
||||
"AllowOnTheFlySubtitleExtraction": "Tillad udtræk af undertekster on-the-fly",
|
||||
|
@ -1539,7 +1539,7 @@
|
|||
"Album": "Album",
|
||||
"EveryHour": "Hver time",
|
||||
"EveryXMinutes": "Hvert {0} minut",
|
||||
"OnWakeFromSleep": "Når du vågner fra søvn",
|
||||
"OnWakeFromSleep": "Ved vækning fra dvale",
|
||||
"WeeklyAt": "{0}s ved {1}",
|
||||
"DailyAt": "Dagligt kl. {0}",
|
||||
"LastSeen": "Sidst set {0}",
|
||||
|
@ -1585,7 +1585,7 @@
|
|||
"MediaInfoStreamTypeEmbeddedImage": "Indlejret billede",
|
||||
"MediaInfoStreamTypeAudio": "Lyd",
|
||||
"LaunchWebAppOnStartupHelp": "Åben web klienten i den standard web browser når serveren starter første gang. Dette vil ikke ske når restart server funktionen benyttes.",
|
||||
"LaunchWebAppOnStartup": "Åben webinterfacet når serveren startes",
|
||||
"LaunchWebAppOnStartup": "Åben webinterfacet når serveren startes",
|
||||
"LabelWeb": "Web:",
|
||||
"LabelVideoResolution": "Videoopløsning:",
|
||||
"LabelVideoBitrate": "Video bitrate:",
|
||||
|
@ -1633,9 +1633,11 @@
|
|||
"ClientSettings": "Klient Indstillinger",
|
||||
"ButtonSplit": "Opdel",
|
||||
"BoxSet": "Box Set",
|
||||
"AuthProviderHelp": "Vælg en godkendelse udbyder, der skal bruges til at godkende denne brugers adgangskode.",
|
||||
"AuthProviderHelp": "Vælg en godkendelses udbyder, der kan bruges til at godkende denne brugers adgangskode.",
|
||||
"AskAdminToCreateLibrary": "Spørg en administrator om at oprette et bibliotek.",
|
||||
"Artist": "Artist",
|
||||
"EveryXHours": "Hver {0} time",
|
||||
"OnApplicationStartup": "Ved programstart"
|
||||
"OnApplicationStartup": "Ved programstart",
|
||||
"UnsupportedPlayback": "Jellyfin kan ikke dekryptere indhold, der er beskyttet af DRM, men alt indhold vil blive forsøgt afspillet uanset, inklusive beskyttede titler. Nogle filer kan eventuelt vises med sort skærm på grund af kryptering eller andre funktioner, der ikke understøttes, såsom interaktive titler.",
|
||||
"MessageUnauthorizedUser": "Du har ikke tilladelse til at tilgå serveren på dette tidspunkt. Kontakt din serveradministrator for mere information."
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"AdditionalNotificationServices": "Περιηγηθείτε στον κατάλογο plugin για να εγκαταστήσετε πρόσθετες υπηρεσίες ειδοποίησης.",
|
||||
"AirDate": "Ημερομηνία προβολής",
|
||||
"Aired": "Προβλήθηκε",
|
||||
"Albums": "Άλμπουμ",
|
||||
"Albums": "Άλμπουμς",
|
||||
"All": "Όλα",
|
||||
"AllChannels": "Όλα τα κανάλια",
|
||||
"AllComplexFormats": "Όλες οι σύνθετες μορφές (ASS, SSA, VOBSUB, PGS, SUB / IDX κ.λπ.)",
|
||||
|
@ -19,7 +19,7 @@
|
|||
"AllLibraries": "Όλες οι βιβλιοθήκες",
|
||||
"AllowRemoteAccess": "Να επιτρέπονται οι απομακρυσμένες συνδέσεις σε αυτόν το διακομιστή Jellyfin.",
|
||||
"AllowRemoteAccessHelp": "Εάν δεν επιλεχθεί, όλες οι απομακρυσμένες συνδέσεις θα αποκλειστούν.",
|
||||
"AlwaysPlaySubtitles": "Πάντα αναπαραγωγή Υποτίτλων",
|
||||
"AlwaysPlaySubtitles": "Παίξτε πάντα",
|
||||
"AlwaysPlaySubtitlesHelp": "Οι υπότιτλοι που ταιριάζουν με τις προτιμήσεις γλώσσας θα φορτωθούν ανεξάρτητα από τη γλώσσα του ήχου.",
|
||||
"AnyLanguage": "Οποιαδήποτε γλώσσα",
|
||||
"Anytime": "Οποτεδήποτε",
|
||||
|
@ -28,7 +28,7 @@
|
|||
"Artists": "Καλλιτέχνες",
|
||||
"AsManyAsPossible": "Οσο το δυνατον περισσοτερα",
|
||||
"Ascending": "Αύξουσα",
|
||||
"AspectRatio": "Αρχικός λόγος διαστάσεων",
|
||||
"AspectRatio": "Αναλογία απεικόνισης",
|
||||
"AttributeNew": "Νέο",
|
||||
"Audio": "Ήχος",
|
||||
"Auto": "Αυτόματο",
|
||||
|
@ -1224,6 +1224,14 @@
|
|||
"LabelServerName": "Όνομα Διακομιστή:",
|
||||
"ButtonAddImage": "Προσθήκη Εικόνας",
|
||||
"BoxRear": "Κουτί(πίσω)",
|
||||
"BookLibraryHelp": "Ήχος και βιβλία υποστηρίζονται.Ελέγξτε τον {0}ονομαστικό οδηγό βιβλίων{1}.",
|
||||
"AuthProviderHelp": "Επιλέξτε ένα Πάροχο Επαλήθευσης για να επαληθεύσετε το κωδικό αυτού του χρήστη."
|
||||
"BookLibraryHelp": "Υποστήριξη ήχου και βιβλίων κειμένου. Εξετάστε τον {0}οδηγό ονομάτων βιβλίου{1}.",
|
||||
"AuthProviderHelp": "Επιλέξτε ένα Πάροχο Επαλήθευσης για να επαληθεύσετε το κωδικό αυτού του χρήστη.",
|
||||
"AllowFfmpegThrottling": "Επιτάχυνση Διακωδικοποιησής",
|
||||
"AlbumArtist": "Άλμπουμ Καλλιτέχνη",
|
||||
"Album": "Άλμπουμ",
|
||||
"BoxSet": "Σετ Κουτιού",
|
||||
"AskAdminToCreateLibrary": "Ζητήστε από έναν διαχειριστή να δημιουργήσει μια βιβλιοθήκη.",
|
||||
"Artist": "Καλλιτέχνης",
|
||||
"AllowedRemoteAddressesHelp": "Λίστα διαχωρισμένων διευθύνσεων IP ή καταχωρίσεων IP / netmask για δίκτυα που θα επιτρέπεται η σύνδεση εξ αποστάσεως. Εάν αφεθεί κενό, όλες οι απομακρυσμένες διευθύνσεις θα επιτρέπονται.",
|
||||
"AllowFfmpegThrottlingHelp": "Όταν ένας διακωδικοποιητής ή remux φτάσει αρκετά μπροστά από την τρέχουσα θέση αναπαραγωγής, διακόψτε τη διαδικασία ώστε να καταναλώσει λιγότερους πόρους. Αυτό είναι πιο χρήσιμο όταν παρακολουθείτε χωρίς να αναζητάτε συχνά. Απενεργοποιήστε το εάν αντιμετωπίζετε προβλήματα αναπαραγωγής."
|
||||
}
|
||||
|
|
|
@ -499,5 +499,6 @@
|
|||
"HeaderDeleteItems": "Eliminar ítems",
|
||||
"HeaderDeleteItem": "Eliminar ítem",
|
||||
"HeaderDeleteDevice": "Eliminar dispositivo",
|
||||
"HeaderDefaultRecordingSettings": "Ajustes de grabación por defecto"
|
||||
"HeaderDefaultRecordingSettings": "Ajustes de grabación por defecto",
|
||||
"UnsupportedPlayback": "Jellyfin no puede descifrar contenido protegido por DRM pero a pesar de esto lo intentará con todo el contenido, incluyendo títulos protegidos. Algunos archivos pueden aparecer completamente en negro por estar cifrados o por otras características no soportadas, como títulos interactivos."
|
||||
}
|
||||
|
|
|
@ -130,7 +130,7 @@
|
|||
"CancelRecording": "Annuler l'enregistrement",
|
||||
"CancelSeries": "Annuler la série",
|
||||
"Categories": "Catégories",
|
||||
"ChangingMetadataImageSettingsNewContent": "Les modifications des réglages de téléchargement des métadonnées et des illustrations ne seront appliquées qu'au nouveau contenu ajouté à votre médiathèque. Pour appliquer ces changements aux titres existants, vous devrez actualiser leurs métadonnées manuellement.",
|
||||
"ChangingMetadataImageSettingsNewContent": "Les modifications des paramètres de téléchargement des métadonnées et des illustrations ne seront appliquées qu'au contenu nouvellement ajouté à votre médiathèque. Pour appliquer ces changements aux titres pré-existants, vous devrez actualiser leurs métadonnées manuellement.",
|
||||
"ChannelAccessHelp": "Sélectionnez les chaînes à partager avec cet utilisateur. Les administrateurs pourront modifier toutes les chaînes en utilisant le gestionnaire de métadonnées.",
|
||||
"ChannelNameOnly": "Seulement la chaîne {0}",
|
||||
"ChannelNumber": "Numéro de chaîne",
|
||||
|
|
|
@ -1467,5 +1467,8 @@
|
|||
"LabelVideoResolution": "Rozdzielczość wideo:",
|
||||
"LabelStreamType": "Typ transmisji:",
|
||||
"EnableFastImageFadeInHelp": "Włącz szybszą animację pojawiania się dla załadowanych obrazów",
|
||||
"EnableFastImageFadeIn": "Szybkie pojawianie się obrazów"
|
||||
"EnableFastImageFadeIn": "Szybkie pojawianie się obrazów",
|
||||
"Artist": "Artysta",
|
||||
"AlbumArtist": "Album artysty",
|
||||
"Album": "Album"
|
||||
}
|
||||
|
|
|
@ -1499,5 +1499,6 @@
|
|||
"DeinterlaceMethodHelp": "Selectați metoda de intercalat pe care să o utilizați la transcodarea conținutului intercalat.",
|
||||
"UnsupportedPlayback": "Jellyfin nu poate decripta conținut protejat de DRM, dar tot conținutul va fi încercat indiferent de titlurile protejate. Unele fișiere pot părea complet negre din cauza criptării sau a altor funcții neacceptate, cum ar fi titluri interactive.",
|
||||
"LabelLibraryPageSizeHelp": "Setează cantitatea de elemente de afișat pe o pagină a bibliotecii. Setați la 0 pentru a dezactiva paginarea.",
|
||||
"LabelLibraryPageSize": "Mărimea paginii Bibliotecă:"
|
||||
"LabelLibraryPageSize": "Mărimea paginii Bibliotecă:",
|
||||
"MessageUnauthorizedUser": "Nu sunteți autorizat să accesați serverul în acest moment. Vă rugăm să contactați administratorul serverului pentru mai multe informații."
|
||||
}
|
||||
|
|
|
@ -1500,5 +1500,6 @@
|
|||
"LabelLibraryPageSizeHelp": "Устанавливается количество элементов для отображения на странице медиатеки. Установите 0 для отключения нумерации страниц.",
|
||||
"LabelDeinterlaceMethod": "Метод устранения гребёнки:",
|
||||
"DeinterlaceMethodHelp": "Выберите метод устранения гребёнки, который будет использоваться при перекодировании чересстрочного содержания.",
|
||||
"UnsupportedPlayback": "Jellyfin не может расшифровать содержимое, защищенное DRM, но в любом случае будет предпринята попытка расшифровки всего содержимого, включая защищенные заголовки. Некоторые файлы могут выглядеть полностью черными из-за шифрования или других неподдерживаемых функций, таких как интерактивные заголовки."
|
||||
"UnsupportedPlayback": "Jellyfin не может расшифровать содержимое, защищенное DRM, но в любом случае будет предпринята попытка расшифровки всего содержимого, включая защищенные заголовки. Некоторые файлы могут выглядеть полностью черными из-за шифрования или других неподдерживаемых функций, таких как интерактивные заголовки.",
|
||||
"MessageUnauthorizedUser": "В настоящее время у вас нет доступа к серверу. Пожалуйста, свяжитесь с администратором сервера для получения дополнительной информации."
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ module.exports = merge(common, {
|
|||
{
|
||||
test: /\.(woff|woff2|eot|ttf|otf)$/,
|
||||
use: [
|
||||
'file-loader',
|
||||
'file-loader'
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -21,7 +21,7 @@ module.exports = merge(common, {
|
|||
{
|
||||
test: /\.(woff|woff2|eot|ttf|otf)$/,
|
||||
use: [
|
||||
'file-loader',
|
||||
'file-loader'
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
33
yarn.lock
33
yarn.lock
|
@ -1553,6 +1553,19 @@ autoprefixer@^9.0.0, autoprefixer@^9.6.1, autoprefixer@^9.7.4:
|
|||
postcss "^7.0.27"
|
||||
postcss-value-parser "^4.0.3"
|
||||
|
||||
autoprefixer@^9.7.6:
|
||||
version "9.7.6"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.6.tgz#63ac5bbc0ce7934e6997207d5bb00d68fa8293a4"
|
||||
integrity sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==
|
||||
dependencies:
|
||||
browserslist "^4.11.1"
|
||||
caniuse-lite "^1.0.30001039"
|
||||
chalk "^2.4.2"
|
||||
normalize-range "^0.1.2"
|
||||
num2fraction "^1.2.2"
|
||||
postcss "^7.0.27"
|
||||
postcss-value-parser "^4.0.3"
|
||||
|
||||
aws-sign2@~0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
|
||||
|
@ -1970,6 +1983,16 @@ browserslist@^4.0.0, browserslist@^4.11.0, browserslist@^4.6.4, browserslist@^4.
|
|||
node-releases "^1.1.52"
|
||||
pkg-up "^3.1.0"
|
||||
|
||||
browserslist@^4.11.1:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d"
|
||||
integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001043"
|
||||
electron-to-chromium "^1.3.413"
|
||||
node-releases "^1.1.53"
|
||||
pkg-up "^2.0.0"
|
||||
|
||||
browserslist@^4.8.2:
|
||||
version "4.11.1"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b"
|
||||
|
@ -2240,6 +2263,11 @@ caniuse-lite@^1.0.30001038:
|
|||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001039.tgz#b3814a1c38ffeb23567f8323500c09526a577bbe"
|
||||
integrity sha512-SezbWCTT34eyFoWHgx8UWso7YtvtM7oosmFoXbCkdC6qJzRfBTeTgE9REtKtiuKXuMwWTZEvdnFNGAyVMorv8Q==
|
||||
|
||||
caniuse-lite@^1.0.30001039, caniuse-lite@^1.0.30001043:
|
||||
version "1.0.30001046"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001046.tgz#7a06d3e8fd8aa7f4d21c9a2e313f35f2d06b013e"
|
||||
integrity sha512-CsGjBRYWG6FvgbyGy+hBbaezpwiqIOLkxQPY4A4Ea49g1eNsnQuESB+n4QM0BKii1j80MyJ26Ir5ywTQkbRE4g==
|
||||
|
||||
caseless@~0.12.0:
|
||||
version "0.12.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||
|
@ -3667,6 +3695,11 @@ electron-to-chromium@^1.3.390:
|
|||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.397.tgz#db640c2e67b08d590a504c20b56904537aa2bafa"
|
||||
integrity sha512-zcUd1p/7yzTSdWkCTrqGvbnEOASy96d0RJL/lc5BDJoO23Z3G/VHd0yIPbguDU9n8QNUTCigLO7oEdtOb7fp2A==
|
||||
|
||||
electron-to-chromium@^1.3.413:
|
||||
version "1.3.418"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.418.tgz#840021191f466b803a873e154113620c9f53cec6"
|
||||
integrity sha512-i2QrQtHes5fK/F9QGG5XacM5WKEuR322fxTYF9e8O9Gu0mc0WmjjwGpV8c7Htso6Zf2Di18lc3SIPxmMeRFBug==
|
||||
|
||||
elliptic@^6.0.0:
|
||||
version "6.5.2"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue