mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update globalize
This commit is contained in:
parent
3d3df5717d
commit
7fb95d0419
21 changed files with 142 additions and 90 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-autogrow-textarea",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "A textarea element that automatically grows with input",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -37,11 +37,11 @@
|
|||
"paper-styles": "PolymerElements/paper-styles#^1.0.0",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"_release": "1.0.3",
|
||||
"_release": "1.0.4",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.3",
|
||||
"commit": "9eae088ce72a31b0baf44e6cdc183e5b73014af5"
|
||||
"tag": "v1.0.4",
|
||||
"commit": "0501594add2228c34b39b9fa898d177f7f8e1adb"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-autogrow-textarea.git",
|
||||
"_target": "^1.0.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-autogrow-textarea",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "A textarea element that automatically grows with input",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
|
|
@ -21,9 +21,7 @@ never scroll.
|
|||
|
||||
Example:
|
||||
|
||||
<iron-autogrow-textarea id="a1">
|
||||
<textarea id="t1"></textarea>
|
||||
</iron-autogrow-textarea>
|
||||
<iron-autogrow-textarea></iron-autogrow-textarea>
|
||||
|
||||
Because the `textarea`'s `value` property is not observable, you should use
|
||||
this element's `bind-value` instead for imperative updates.
|
||||
|
@ -63,6 +61,7 @@ this element's `bind-value` instead for imperative updates.
|
|||
height: 100%;
|
||||
font-size: inherit;
|
||||
font-family: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
::content textarea:invalid {
|
||||
|
@ -150,8 +149,8 @@ this element's `bind-value` instead for imperative updates.
|
|||
* Bound to the textarea's `autofocus` attribute.
|
||||
*/
|
||||
autofocus: {
|
||||
type: String,
|
||||
value: 'off'
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -302,5 +301,5 @@ this element's `bind-value` instead for imperative updates.
|
|||
_computeValue: function() {
|
||||
return this.bindValue;
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-behaviors",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.6",
|
||||
"description": "Provides a set of behaviors for the iron elements",
|
||||
"private": true,
|
||||
"authors": [
|
||||
|
@ -28,11 +28,11 @@
|
|||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"homepage": "https://github.com/PolymerElements/iron-behaviors",
|
||||
"_release": "1.0.5",
|
||||
"_release": "1.0.6",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.5",
|
||||
"commit": "bdae66f398838eda78c203b3ae979dcb5cd2a60e"
|
||||
"tag": "v1.0.6",
|
||||
"commit": "9dad0f52150c887997045b8bbf2a82b2394b8a37"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-behaviors.git",
|
||||
"_target": "^1.0.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-behaviors",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.6",
|
||||
"description": "Provides a set of behaviors for the iron elements",
|
||||
"private": true,
|
||||
"authors": [
|
||||
|
|
|
@ -109,8 +109,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
// to emulate native checkbox, (de-)activations from a user interaction fire
|
||||
// 'change' events
|
||||
_userActivate: function(active) {
|
||||
if (this.active !== active) {
|
||||
this.active = active;
|
||||
this.fire('change');
|
||||
}
|
||||
},
|
||||
|
||||
_eventSourceIsPrimaryInput: function(event) {
|
||||
|
|
|
@ -60,11 +60,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
],
|
||||
|
||||
ready: function() {
|
||||
// TODO(sjmiles): ensure read-only property is valued so the compound
|
||||
// observer will fire
|
||||
if (this.focused === undefined) {
|
||||
this._setFocused(false);
|
||||
}
|
||||
this.addEventListener('focus', this._boundFocusBlurHandler, true);
|
||||
this.addEventListener('blur', this._boundFocusBlurHandler, true);
|
||||
},
|
||||
|
@ -75,7 +70,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
var focused = event.type === 'focus';
|
||||
this._setFocused(focused);
|
||||
} else if (!this.shadowRoot) {
|
||||
event.stopPropagation();
|
||||
this.fire(event.type, {sourceEvent: event}, {
|
||||
node: this,
|
||||
bubbles: event.bubbles,
|
||||
|
|
|
@ -90,26 +90,22 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
focusable = fixture('NestedFocusedState');
|
||||
});
|
||||
|
||||
test('focus/blur events fired on host element', function(done) {
|
||||
test('focus/blur events fired on host element', function() {
|
||||
var nFocusEvents = 0;
|
||||
var nBlurEvents = 0;
|
||||
|
||||
focusable.addEventListener('focus', function() {
|
||||
nFocusEvents += 1;
|
||||
// setTimeout to wait for potentially more, erroneous events
|
||||
setTimeout(function() {
|
||||
assert.equal(nFocusEvents, 1, 'one focus event fired');
|
||||
MockInteractions.blur(focusable.$.input);
|
||||
});
|
||||
});
|
||||
focusable.addEventListener('blur', function() {
|
||||
nBlurEvents += 1;
|
||||
// setTimeout to wait for potentially more, erroneous events
|
||||
setTimeout(function() {
|
||||
assert.equal(nBlurEvents, 1, 'one blur event fired');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
MockInteractions.focus(focusable.$.input);
|
||||
|
||||
expect(nBlurEvents).to.be.greaterThan(0);
|
||||
expect(nFocusEvents).to.be.greaterThan(0);
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -23,14 +23,14 @@
|
|||
"paper-styles": "polymerelements/paper-styles#^1.0.0",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"homepage": "https://github.com/PolymerElements/iron-flex-layout",
|
||||
"homepage": "https://github.com/polymerelements/iron-flex-layout",
|
||||
"_release": "1.0.2",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.2",
|
||||
"commit": "50bcecf40ab23caa7c2cd90030555e00c5ba7154"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-flex-layout.git",
|
||||
"_source": "git://github.com/polymerelements/iron-flex-layout.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-flex-layout"
|
||||
"_originalSource": "polymerelements/iron-flex-layout"
|
||||
}
|
|
@ -25,14 +25,14 @@
|
|||
"web-component-tester": "*",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"homepage": "https://github.com/PolymerElements/iron-meta",
|
||||
"homepage": "https://github.com/polymerelements/iron-meta",
|
||||
"_release": "1.0.3",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.3",
|
||||
"commit": "91529259262b0d8f33fed44bc3fd47aedf35cb04"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-meta.git",
|
||||
"_source": "git://github.com/polymerelements/iron-meta.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-meta"
|
||||
"_originalSource": "polymerelements/iron-meta"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-validatable-behavior",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "Provides a behavior for an element that validates user input",
|
||||
"authors": "The Polymer Authors",
|
||||
"keywords": [
|
||||
|
@ -32,11 +32,11 @@
|
|||
"web-component-tester": "*",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"_release": "1.0.3",
|
||||
"_release": "1.0.4",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.3",
|
||||
"commit": "714ac9f09f9d7d5f6f792a38bb15970adaacb264"
|
||||
"tag": "v1.0.4",
|
||||
"commit": "ff267b561b032608755d705c1a7e346454b0aee4"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-validatable-behavior.git",
|
||||
"_target": "^1.0.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-validatable-behavior",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "Provides a behavior for an element that validates user input",
|
||||
"authors": "The Polymer Authors",
|
||||
"keywords": [
|
||||
|
|
|
@ -16,7 +16,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
/**
|
||||
* Use `Polymer.IronValidatableBehavior` to implement an element that validates user input.
|
||||
*
|
||||
* ### Accessiblity
|
||||
* ### Accessibility
|
||||
*
|
||||
* Changing the `invalid` property, either manually or by calling `validate()` will update the
|
||||
* `aria-invalid` attribute.
|
||||
|
@ -87,19 +87,35 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
},
|
||||
|
||||
/**
|
||||
* @param {Object} values Passed to the validator's `validate()` function.
|
||||
* @return {boolean} True if `values` is valid.
|
||||
* Returns true if the `value` is valid, and updates `invalid`. If you want
|
||||
* your element to have custom validation logic, do not override this method;
|
||||
* override `_getValidity(value)` instead.
|
||||
|
||||
* @param {Object} value The value to be validated. By default, it is passed
|
||||
* to the validator's `validate()` function, if a validator is set.
|
||||
* @return {boolean} True if `value` is valid.
|
||||
*/
|
||||
validate: function(values) {
|
||||
var valid = true;
|
||||
validate: function(value) {
|
||||
this.invalid = !this._getValidity(value);
|
||||
return !this.invalid;
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns true if `value` is valid. By default, it is passed
|
||||
* to the validator's `validate()` function, if a validator is set. You
|
||||
* should override this method if you want to implement custom validity
|
||||
* logic for your element.
|
||||
*
|
||||
* @param {Object} value The value to be validated.
|
||||
* @return {boolean} True if `value` is valid.
|
||||
*/
|
||||
|
||||
_getValidity: function(value) {
|
||||
if (this.hasValidator()) {
|
||||
valid = this._validator.validate(values);
|
||||
return this._validator.validate(value);
|
||||
}
|
||||
|
||||
this.invalid = !valid;
|
||||
return valid;
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
</script>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-input",
|
||||
"version": "1.0.9",
|
||||
"version": "1.0.10",
|
||||
"description": "Material design text fields",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -44,11 +44,11 @@
|
|||
"iron-icon": "PolymerElements/iron-icon#^1.0.0",
|
||||
"paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
|
||||
},
|
||||
"_release": "1.0.9",
|
||||
"_release": "1.0.10",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.9",
|
||||
"commit": "39ab833e7597fabfac9ff98d4825a6ae7b3c89c4"
|
||||
"tag": "v1.0.10",
|
||||
"commit": "902279329e0259de5487d6f1fa1f438be0e0802e"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/paper-input.git",
|
||||
"_target": "^1.0.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-input",
|
||||
"version": "1.0.9",
|
||||
"version": "1.0.10",
|
||||
"description": "Material design text fields",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
|
|
@ -109,14 +109,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
value: false
|
||||
},
|
||||
|
||||
/**
|
||||
* The maximum length of the input value. Bind this to the `<input is="iron-input">`'s
|
||||
* `maxlength` property.
|
||||
*/
|
||||
maxlength: {
|
||||
type: Number
|
||||
},
|
||||
|
||||
/**
|
||||
* The error message to display when the input is invalid. Bind this to the
|
||||
* `<paper-input-error>`'s content, if using.
|
||||
|
@ -199,6 +191,39 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
type: Number
|
||||
},
|
||||
|
||||
/**
|
||||
* The maximum length of the input value. Bind this to the `<input is="iron-input">`'s
|
||||
* `maxlength` property.
|
||||
*/
|
||||
maxlength: {
|
||||
type: Number
|
||||
},
|
||||
|
||||
/**
|
||||
* The minimum (numeric or date-time) input value.
|
||||
* Bind this to the `<input is="iron-input">`'s `min` property.
|
||||
*/
|
||||
min: {
|
||||
type: String
|
||||
},
|
||||
|
||||
/**
|
||||
* The maximum (numeric or date-time) input value.
|
||||
* Can be a String (e.g. `"2000-1-1"`) or a Number (e.g. `2`).
|
||||
* Bind this to the `<input is="iron-input">`'s `max` property.
|
||||
*/
|
||||
max: {
|
||||
type: String
|
||||
},
|
||||
|
||||
/**
|
||||
* Limits the numeric or date-time increments.
|
||||
* Bind this to the `<input is="iron-input">`'s `step` property.
|
||||
*/
|
||||
step: {
|
||||
type: String
|
||||
},
|
||||
|
||||
/**
|
||||
* Bind this to the `<input is="iron-input">`'s `name` property.
|
||||
*/
|
||||
|
|
|
@ -93,12 +93,15 @@ style this element.
|
|||
validator="[[validator]]"
|
||||
type$="[[type]]"
|
||||
pattern$="[[pattern]]"
|
||||
maxlength$="[[maxlength]]"
|
||||
required$="[[required]]"
|
||||
autocomplete$="[[autocomplete]]"
|
||||
autofocus$="[[autofocus]]"
|
||||
inputmode$="[[inputmode]]"
|
||||
minlength$="[[minlength]]"
|
||||
maxlength$="[[maxlength]]"
|
||||
min$="[[min]]"
|
||||
max$="[[max]]"
|
||||
step$="[[step]]"
|
||||
name$="[[name]]"
|
||||
placeholder$="[[placeholder]]"
|
||||
readonly$="[[readonly]]"
|
||||
|
|
|
@ -176,26 +176,21 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
input = fixture('basic');
|
||||
});
|
||||
|
||||
test('focus/blur events fired on host element', function(done) {
|
||||
test('focus/blur events fired on host element', function() {
|
||||
var nFocusEvents = 0;
|
||||
var nBlurEvents = 0;
|
||||
input.addEventListener('focus', function() {
|
||||
input.addEventListener('focus', function(event) {
|
||||
nFocusEvents += 1;
|
||||
// setTimeout to wait for potentially more, erroneous events
|
||||
setTimeout(function() {
|
||||
assert.equal(nFocusEvents, 1, 'one focus event fired');
|
||||
assert(input.focused, 'input is focused');
|
||||
MockInteractions.blur(input.inputElement);
|
||||
});
|
||||
});
|
||||
input.addEventListener('blur', function() {
|
||||
nBlurEvents += 1;
|
||||
// setTimeout to wait for potentially more, erroneous events
|
||||
setTimeout(function() {
|
||||
assert.equal(nBlurEvents, 1, 'one blur event fired');
|
||||
done();
|
||||
});
|
||||
assert(!input.focused, 'input is blurred');
|
||||
});
|
||||
MockInteractions.focus(input.inputElement);
|
||||
assert.isTrue(nFocusEvents >= 1, 'focus event fired');
|
||||
assert.isTrue(nBlurEvents >= 1, 'blur event fired');
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -138,20 +138,21 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
input = fixture('basic');
|
||||
});
|
||||
|
||||
test('focus/blur events fired on host element', function(done) {
|
||||
test('focus/blur events fired on host element', function() {
|
||||
var nFocusEvents = 0;
|
||||
var nBlurEvents = 0;
|
||||
input.addEventListener('focus', function(event) {
|
||||
nFocusEvents += 1;
|
||||
assert(input.focused, 'input is focused');
|
||||
MockInteractions.blur(input.inputElement.textarea);
|
||||
});
|
||||
input.addEventListener('blur', function() {
|
||||
nBlurEvents += 1;
|
||||
assert.isTrue(nFocusEvents >= 1, 'focus event fired');
|
||||
assert.isTrue(nBlurEvents >= 1, 'blur event fired');
|
||||
done();
|
||||
assert(!input.focused, 'input is blurred');
|
||||
});
|
||||
MockInteractions.focus(input.inputElement.textarea);
|
||||
assert.isTrue(nFocusEvents >= 1, 'focus event fired');
|
||||
assert.isTrue(nBlurEvents >= 1, 'blur event fired')
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -50,11 +50,28 @@
|
|||
var currentCulture = 'en-US';
|
||||
function setCulture(value) {
|
||||
|
||||
Logger.log('Setting culture to ' + value);
|
||||
|
||||
currentCulture = value;
|
||||
|
||||
return $.when(loadDictionary('html', value), loadDictionary('javascript', value));
|
||||
}
|
||||
|
||||
function normalizeLocaleName(culture) {
|
||||
|
||||
culture = culture.replace('_', '-');
|
||||
|
||||
// If it's de-DE, convert to just de
|
||||
var parts = culture.split('-');
|
||||
if (parts.length == 2) {
|
||||
if (parts[0].toLowerCase() == parts[1].toLowerCase()) {
|
||||
culture = parts[0].toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
return culture;
|
||||
}
|
||||
|
||||
function getDeviceCulture() {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -62,9 +79,11 @@
|
|||
|
||||
if (navigator.globalization && navigator.globalization.getLocaleName) {
|
||||
|
||||
Logger.log('Calling navigator.globalization.getLocaleName');
|
||||
|
||||
navigator.globalization.getLocaleName(function (locale) {
|
||||
|
||||
culture = (locale.value || '').replace('_', '-');
|
||||
culture = normalizeLocaleName(locale.value || '');
|
||||
Logger.log('Device culture is ' + culture);
|
||||
deferred.resolveWith(null, [culture]);
|
||||
|
||||
|
@ -79,12 +98,12 @@
|
|||
|
||||
Logger.log('AppInfo.supportsUserDisplayLanguageSetting is true');
|
||||
|
||||
culture = document.documentElement.getAttribute('data-culture');
|
||||
culture = AppSettings.displayLanguage();
|
||||
deferred.resolveWith(null, [culture]);
|
||||
|
||||
} else {
|
||||
|
||||
Logger.log('navigator.globalization.getLocaleName is unavailable');
|
||||
Logger.log('Getting culture from document');
|
||||
|
||||
culture = document.documentElement.getAttribute('data-culture');
|
||||
deferred.resolveWith(null, [culture]);
|
||||
|
@ -96,6 +115,8 @@
|
|||
|
||||
function ensure() {
|
||||
|
||||
Logger.log('Entering Globalize.ensure');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
getDeviceCulture().done(function (culture) {
|
||||
|
|
|
@ -2070,7 +2070,7 @@ var AppInfo = {};
|
|||
|
||||
deps.push('appstorage');
|
||||
|
||||
require([deps], function () {
|
||||
require(deps, function () {
|
||||
|
||||
capabilities.DeviceProfile = MediaPlayer.getDeviceProfile(Math.max(screen.height, screen.width));
|
||||
createConnectionManager(capabilities).done(function () { onConnectionManagerCreated(deferred); });
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue