winjs
Version:
WinJS is a set of JavaScript toolkits that allow developers to build applications using HTML/JS/CSS technology.
1,023 lines (942 loc) • 1.28 MB
JavaScript
/*! Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */
(function () {
var globalObject =
typeof window !== 'undefined' ? window :
typeof self !== 'undefined' ? self :
typeof global !== 'undefined' ? global :
{};
(function (factory) {
if (typeof define === 'function' && define.amd) {
// amd
define([], factory);
} else {
globalObject.msWriteProfilerMark && msWriteProfilerMark('WinJS.4.4 4.4.2.winjs.2017.3.14 base.js,StartTM');
if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory();
} else {
// No module system
factory(globalObject.WinJS);
}
globalObject.msWriteProfilerMark && msWriteProfilerMark('WinJS.4.4 4.4.2.winjs.2017.3.14 base.js,StopTM');
}
}(function (WinJS) {
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
/*jshint ignore:start */
var require;
var define;
/*jshint ignore:end */
(function () {
"use strict";
var defined = {};
define = function (id, dependencies, factory) {
if (!Array.isArray(dependencies)) {
factory = dependencies;
dependencies = [];
}
var mod = {
dependencies: normalize(id, dependencies),
factory: factory
};
if (dependencies.indexOf('exports') !== -1) {
mod.exports = {};
}
defined[id] = mod;
};
// WinJS/Core depends on ./Core/_Base
// should return WinJS/Core/_Base
function normalize(id, dependencies) {
id = id || "";
var parent = id.split('/');
parent.pop();
return dependencies.map(function (dep) {
if (dep[0] === '.') {
var parts = dep.split('/');
var current = parent.slice(0);
parts.forEach(function (part) {
if (part === '..') {
current.pop();
} else if (part !== '.') {
current.push(part);
}
});
return current.join('/');
} else {
return dep;
}
});
}
function resolve(dependencies, parent, exports) {
return dependencies.map(function (depName) {
if (depName === 'exports') {
return exports;
}
if (depName === 'require') {
return function (dependencies, factory) {
require(normalize(parent, dependencies), factory);
};
}
var dep = defined[depName];
if (!dep) {
throw new Error("Undefined dependency: " + depName);
}
if (!dep.resolved) {
dep.resolved = load(dep.dependencies, dep.factory, depName, dep.exports);
if (typeof dep.resolved === "undefined") {
dep.resolved = dep.exports;
}
}
return dep.resolved;
});
}
function load(dependencies, factory, parent, exports) {
var deps = resolve(dependencies, parent, exports);
if (factory && factory.apply) {
return factory.apply(null, deps);
} else {
return factory;
}
}
require = function (dependencies, factory) { //jshint ignore:line
if (!Array.isArray(dependencies)) {
dependencies = [dependencies];
}
load(dependencies, factory);
};
})();
define("amd", function(){});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_WinJS',{});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_Global',[], function () {
"use strict";
// Appease jshint
/* global window, self, global */
var globalObject =
typeof window !== 'undefined' ? window :
typeof self !== 'undefined' ? self :
typeof global !== 'undefined' ? global :
{};
return globalObject;
});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_BaseCoreUtils',[
'./_Global'
], function baseCoreUtilsInit(_Global) {
"use strict";
var hasWinRT = !!_Global.Windows;
function markSupportedForProcessing(func) {
/// <signature helpKeyword="WinJS.Utilities.markSupportedForProcessing">
/// <summary locid="WinJS.Utilities.markSupportedForProcessing">
/// Marks a function as being compatible with declarative processing, such as WinJS.UI.processAll
/// or WinJS.Binding.processAll.
/// </summary>
/// <param name="func" type="Function" locid="WinJS.Utilities.markSupportedForProcessing_p:func">
/// The function to be marked as compatible with declarative processing.
/// </param>
/// <returns type="Function" locid="WinJS.Utilities.markSupportedForProcessing_returnValue">
/// The input function.
/// </returns>
/// </signature>
func.supportedForProcessing = true;
return func;
}
return {
hasWinRT: hasWinRT,
markSupportedForProcessing: markSupportedForProcessing,
_setImmediate: _Global.setImmediate ? _Global.setImmediate.bind(_Global) : function (handler) {
_Global.setTimeout(handler, 0);
}
};
});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_WriteProfilerMark',[
'./_Global'
], function profilerInit(_Global) {
"use strict";
return _Global.msWriteProfilerMark || function () { };
});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_Base',[
'./_WinJS',
'./_Global',
'./_BaseCoreUtils',
'./_WriteProfilerMark'
], function baseInit(_WinJS, _Global, _BaseCoreUtils, _WriteProfilerMark) {
"use strict";
function initializeProperties(target, members, prefix) {
var keys = Object.keys(members);
var isArray = Array.isArray(target);
var properties;
var i, len;
for (i = 0, len = keys.length; i < len; i++) {
var key = keys[i];
var enumerable = key.charCodeAt(0) !== /*_*/95;
var member = members[key];
if (member && typeof member === 'object') {
if (member.value !== undefined || typeof member.get === 'function' || typeof member.set === 'function') {
if (member.enumerable === undefined) {
member.enumerable = enumerable;
}
if (prefix && member.setName && typeof member.setName === 'function') {
member.setName(prefix + "." + key);
}
properties = properties || {};
properties[key] = member;
continue;
}
}
if (!enumerable) {
properties = properties || {};
properties[key] = { value: member, enumerable: enumerable, configurable: true, writable: true };
continue;
}
if (isArray) {
target.forEach(function (target) {
target[key] = member;
});
} else {
target[key] = member;
}
}
if (properties) {
if (isArray) {
target.forEach(function (target) {
Object.defineProperties(target, properties);
});
} else {
Object.defineProperties(target, properties);
}
}
}
(function () {
var _rootNamespace = _WinJS;
if (!_rootNamespace.Namespace) {
_rootNamespace.Namespace = Object.create(Object.prototype);
}
function createNamespace(parentNamespace, name) {
var currentNamespace = parentNamespace || {};
if (name) {
var namespaceFragments = name.split(".");
if (currentNamespace === _Global && namespaceFragments[0] === "WinJS") {
currentNamespace = _WinJS;
namespaceFragments.splice(0, 1);
}
for (var i = 0, len = namespaceFragments.length; i < len; i++) {
var namespaceName = namespaceFragments[i];
if (!currentNamespace[namespaceName]) {
Object.defineProperty(currentNamespace, namespaceName,
{ value: {}, writable: false, enumerable: true, configurable: true }
);
}
currentNamespace = currentNamespace[namespaceName];
}
}
return currentNamespace;
}
function defineWithParent(parentNamespace, name, members) {
/// <signature helpKeyword="WinJS.Namespace.defineWithParent">
/// <summary locid="WinJS.Namespace.defineWithParent">
/// Defines a new namespace with the specified name under the specified parent namespace.
/// </summary>
/// <param name="parentNamespace" type="Object" locid="WinJS.Namespace.defineWithParent_p:parentNamespace">
/// The parent namespace.
/// </param>
/// <param name="name" type="String" locid="WinJS.Namespace.defineWithParent_p:name">
/// The name of the new namespace.
/// </param>
/// <param name="members" type="Object" locid="WinJS.Namespace.defineWithParent_p:members">
/// The members of the new namespace.
/// </param>
/// <returns type="Object" locid="WinJS.Namespace.defineWithParent_returnValue">
/// The newly-defined namespace.
/// </returns>
/// </signature>
var currentNamespace = createNamespace(parentNamespace, name);
if (members) {
initializeProperties(currentNamespace, members, name || "<ANONYMOUS>");
}
return currentNamespace;
}
function define(name, members) {
/// <signature helpKeyword="WinJS.Namespace.define">
/// <summary locid="WinJS.Namespace.define">
/// Defines a new namespace with the specified name.
/// </summary>
/// <param name="name" type="String" locid="WinJS.Namespace.define_p:name">
/// The name of the namespace. This could be a dot-separated name for nested namespaces.
/// </param>
/// <param name="members" type="Object" locid="WinJS.Namespace.define_p:members">
/// The members of the new namespace.
/// </param>
/// <returns type="Object" locid="WinJS.Namespace.define_returnValue">
/// The newly-defined namespace.
/// </returns>
/// </signature>
return defineWithParent(_Global, name, members);
}
var LazyStates = {
uninitialized: 1,
working: 2,
initialized: 3,
};
function lazy(f) {
var name;
var state = LazyStates.uninitialized;
var result;
return {
setName: function (value) {
name = value;
},
get: function () {
switch (state) {
case LazyStates.initialized:
return result;
case LazyStates.uninitialized:
state = LazyStates.working;
try {
_WriteProfilerMark("WinJS.Namespace._lazy:" + name + ",StartTM");
result = f();
} finally {
_WriteProfilerMark("WinJS.Namespace._lazy:" + name + ",StopTM");
state = LazyStates.uninitialized;
}
f = null;
state = LazyStates.initialized;
return result;
case LazyStates.working:
throw "Illegal: reentrancy on initialization";
default:
throw "Illegal";
}
},
set: function (value) {
switch (state) {
case LazyStates.working:
throw "Illegal: reentrancy on initialization";
default:
state = LazyStates.initialized;
result = value;
break;
}
},
enumerable: true,
configurable: true,
};
}
// helper for defining AMD module members
function moduleDefine(exports, name, members) {
var target = [exports];
var publicNS = null;
if (name) {
publicNS = createNamespace(_Global, name);
target.push(publicNS);
}
initializeProperties(target, members, name || "<ANONYMOUS>");
return publicNS;
}
// Establish members of the "WinJS.Namespace" namespace
Object.defineProperties(_rootNamespace.Namespace, {
defineWithParent: { value: defineWithParent, writable: true, enumerable: true, configurable: true },
define: { value: define, writable: true, enumerable: true, configurable: true },
_lazy: { value: lazy, writable: true, enumerable: true, configurable: true },
_moduleDefine: { value: moduleDefine, writable: true, enumerable: true, configurable: true }
});
})();
(function () {
function define(constructor, instanceMembers, staticMembers) {
/// <signature helpKeyword="WinJS.Class.define">
/// <summary locid="WinJS.Class.define">
/// Defines a class using the given constructor and the specified instance members.
/// </summary>
/// <param name="constructor" type="Function" locid="WinJS.Class.define_p:constructor">
/// A constructor function that is used to instantiate this class.
/// </param>
/// <param name="instanceMembers" type="Object" locid="WinJS.Class.define_p:instanceMembers">
/// The set of instance fields, properties, and methods made available on the class.
/// </param>
/// <param name="staticMembers" type="Object" locid="WinJS.Class.define_p:staticMembers">
/// The set of static fields, properties, and methods made available on the class.
/// </param>
/// <returns type="Function" locid="WinJS.Class.define_returnValue">
/// The newly-defined class.
/// </returns>
/// </signature>
constructor = constructor || function () { };
_BaseCoreUtils.markSupportedForProcessing(constructor);
if (instanceMembers) {
initializeProperties(constructor.prototype, instanceMembers);
}
if (staticMembers) {
initializeProperties(constructor, staticMembers);
}
return constructor;
}
function derive(baseClass, constructor, instanceMembers, staticMembers) {
/// <signature helpKeyword="WinJS.Class.derive">
/// <summary locid="WinJS.Class.derive">
/// Creates a sub-class based on the supplied baseClass parameter, using prototypal inheritance.
/// </summary>
/// <param name="baseClass" type="Function" locid="WinJS.Class.derive_p:baseClass">
/// The class to inherit from.
/// </param>
/// <param name="constructor" type="Function" locid="WinJS.Class.derive_p:constructor">
/// A constructor function that is used to instantiate this class.
/// </param>
/// <param name="instanceMembers" type="Object" locid="WinJS.Class.derive_p:instanceMembers">
/// The set of instance fields, properties, and methods to be made available on the class.
/// </param>
/// <param name="staticMembers" type="Object" locid="WinJS.Class.derive_p:staticMembers">
/// The set of static fields, properties, and methods to be made available on the class.
/// </param>
/// <returns type="Function" locid="WinJS.Class.derive_returnValue">
/// The newly-defined class.
/// </returns>
/// </signature>
if (baseClass) {
constructor = constructor || function () { };
var basePrototype = baseClass.prototype;
constructor.prototype = Object.create(basePrototype);
_BaseCoreUtils.markSupportedForProcessing(constructor);
Object.defineProperty(constructor.prototype, "constructor", { value: constructor, writable: true, configurable: true, enumerable: true });
if (instanceMembers) {
initializeProperties(constructor.prototype, instanceMembers);
}
if (staticMembers) {
initializeProperties(constructor, staticMembers);
}
return constructor;
} else {
return define(constructor, instanceMembers, staticMembers);
}
}
function mix(constructor) {
/// <signature helpKeyword="WinJS.Class.mix">
/// <summary locid="WinJS.Class.mix">
/// Defines a class using the given constructor and the union of the set of instance members
/// specified by all the mixin objects. The mixin parameter list is of variable length.
/// </summary>
/// <param name="constructor" locid="WinJS.Class.mix_p:constructor">
/// A constructor function that is used to instantiate this class.
/// </param>
/// <returns type="Function" locid="WinJS.Class.mix_returnValue">
/// The newly-defined class.
/// </returns>
/// </signature>
constructor = constructor || function () { };
var i, len;
for (i = 1, len = arguments.length; i < len; i++) {
initializeProperties(constructor.prototype, arguments[i]);
}
return constructor;
}
// Establish members of "WinJS.Class" namespace
_WinJS.Namespace.define("WinJS.Class", {
define: define,
derive: derive,
mix: mix
});
})();
return {
Namespace: _WinJS.Namespace,
Class: _WinJS.Class
};
});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_ErrorFromName',[
'./_Base'
], function errorsInit(_Base) {
"use strict";
var ErrorFromName = _Base.Class.derive(Error, function (name, message) {
/// <signature helpKeyword="WinJS.ErrorFromName">
/// <summary locid="WinJS.ErrorFromName">
/// Creates an Error object with the specified name and message properties.
/// </summary>
/// <param name="name" type="String" locid="WinJS.ErrorFromName_p:name">The name of this error. The name is meant to be consumed programmatically and should not be localized.</param>
/// <param name="message" type="String" optional="true" locid="WinJS.ErrorFromName_p:message">The message for this error. The message is meant to be consumed by humans and should be localized.</param>
/// <returns type="Error" locid="WinJS.ErrorFromName_returnValue">Error instance with .name and .message properties populated</returns>
/// </signature>
this.name = name;
this.message = message || name;
}, {
/* empty */
}, {
supportedForProcessing: false,
});
_Base.Namespace.define("WinJS", {
// ErrorFromName establishes a simple pattern for returning error codes.
//
ErrorFromName: ErrorFromName
});
return ErrorFromName;
});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_WinRT',[
'exports',
'./_Global',
'./_Base',
], function winrtInit(exports, _Global, _Base) {
"use strict";
exports.msGetWeakWinRTProperty = _Global.msGetWeakWinRTProperty;
exports.msSetWeakWinRTProperty = _Global.msSetWeakWinRTProperty;
var APIs = [
"Windows.ApplicationModel.DesignMode.designModeEnabled",
"Windows.ApplicationModel.Resources.Core.ResourceContext",
"Windows.ApplicationModel.Resources.Core.ResourceManager",
"Windows.ApplicationModel.Search.SearchQueryLinguisticDetails",
"Windows.Data.Text.SemanticTextQuery",
"Windows.Foundation.Collections.CollectionChange",
"Windows.Foundation.Diagnostics",
"Windows.Foundation.Uri",
"Windows.Globalization.ApplicationLanguages",
"Windows.Globalization.Calendar",
"Windows.Globalization.DateTimeFormatting",
"Windows.Globalization.Language",
"Windows.Phone.UI.Input.HardwareButtons",
"Windows.Storage.ApplicationData",
"Windows.Storage.CreationCollisionOption",
"Windows.Storage.BulkAccess.FileInformationFactory",
"Windows.Storage.FileIO",
"Windows.Storage.FileProperties.ThumbnailType",
"Windows.Storage.FileProperties.ThumbnailMode",
"Windows.Storage.FileProperties.ThumbnailOptions",
"Windows.Storage.KnownFolders",
"Windows.Storage.Search.FolderDepth",
"Windows.Storage.Search.IndexerOption",
"Windows.Storage.Streams.RandomAccessStreamReference",
"Windows.UI.ApplicationSettings.SettingsEdgeLocation",
"Windows.UI.ApplicationSettings.SettingsCommand",
"Windows.UI.ApplicationSettings.SettingsPane",
"Windows.UI.Core.AnimationMetrics",
"Windows.UI.Core.SystemNavigationManager",
"Windows.UI.Input.EdgeGesture",
"Windows.UI.Input.EdgeGestureKind",
"Windows.UI.Input.PointerPoint",
"Windows.UI.ViewManagement.HandPreference",
"Windows.UI.ViewManagement.InputPane",
"Windows.UI.ViewManagement.UIColorType",
"Windows.UI.ViewManagement.UISettings",
"Windows.UI.WebUI.Core.WebUICommandBar",
"Windows.UI.WebUI.Core.WebUICommandBarBitmapIcon",
"Windows.UI.WebUI.Core.WebUICommandBarClosedDisplayMode",
"Windows.UI.WebUI.Core.WebUICommandBarIconButton",
"Windows.UI.WebUI.Core.WebUICommandBarSymbolIcon",
"Windows.UI.WebUI.WebUIApplication",
];
// If getForCurrentView fails, it is an indication that we are running in a WebView without
// a CoreWindow where some WinRT APIs are not available. In this case, we just treat it as
// if no WinRT APIs are available.
var isCoreWindowAvailable = false;
try {
_Global.Windows.UI.ViewManagement.InputPane.getForCurrentView();
isCoreWindowAvailable = true;
} catch (e) { }
APIs.forEach(function (api) {
var parts = api.split(".");
var leaf = {};
leaf[parts[parts.length - 1]] = {
get: function () {
if (isCoreWindowAvailable) {
return parts.reduce(function (current, part) { return current ? current[part] : null; }, _Global);
} else {
return null;
}
}
};
_Base.Namespace.defineWithParent(exports, parts.slice(0, -1).join("."), leaf);
});
});
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.
define('WinJS/Core/_Events',[
'exports',
'./_Base'
], function eventsInit(exports, _Base) {
"use strict";
function createEventProperty(name) {
var eventPropStateName = "_on" + name + "state";
return {
get: function () {
var state = this[eventPropStateName];
return state && state.userHandler;
},
set: function (handler) {
var state = this[eventPropStateName];
if (handler) {
if (!state) {
state = { wrapper: function (evt) { return state.userHandler(evt); }, userHandler: handler };
Object.defineProperty(this, eventPropStateName, { value: state, enumerable: false, writable:true, configurable: true });
this.addEventListener(name, state.wrapper, false);
}
state.userHandler = handler;
} else if (state) {
this.removeEventListener(name, state.wrapper, false);
this[eventPropStateName] = null;
}
},
enumerable: true
};
}
function createEventProperties() {
/// <signature helpKeyword="WinJS.Utilities.createEventProperties">
/// <summary locid="WinJS.Utilities.createEventProperties">
/// Creates an object that has one property for each name passed to the function.
/// </summary>
/// <param name="events" locid="WinJS.Utilities.createEventProperties_p:events">
/// A variable list of property names.
/// </param>
/// <returns type="Object" locid="WinJS.Utilities.createEventProperties_returnValue">
/// The object with the specified properties. The names of the properties are prefixed with 'on'.
/// </returns>
/// </signature>
var props = {};
for (var i = 0, len = arguments.length; i < len; i++) {
var name = arguments[i];
props["on" + name] = createEventProperty(name);
}
return props;
}
var EventMixinEvent = _Base.Class.define(
function EventMixinEvent_ctor(type, detail, target) {
this.detail = detail;
this.target = target;
this.timeStamp = Date.now();
this.type = type;
},
{
bubbles: { value: false, writable: false },
cancelable: { value: false, writable: false },
currentTarget: {
get: function () { return this.target; }
},
defaultPrevented: {
get: function () { return this._preventDefaultCalled; }
},
trusted: { value: false, writable: false },
eventPhase: { value: 0, writable: false },
target: null,
timeStamp: null,
type: null,
preventDefault: function () {
this._preventDefaultCalled = true;
},
stopImmediatePropagation: function () {
this._stopImmediatePropagationCalled = true;
},
stopPropagation: function () {
}
}, {
supportedForProcessing: false,
}
);
var eventMixin = {
_listeners: null,
addEventListener: function (type, listener, useCapture) {
/// <signature helpKeyword="WinJS.Utilities.eventMixin.addEventListener">
/// <summary locid="WinJS.Utilities.eventMixin.addEventListener">
/// Adds an event listener to the control.
/// </summary>
/// <param name="type" locid="WinJS.Utilities.eventMixin.addEventListener_p:type">
/// The type (name) of the event.
/// </param>
/// <param name="listener" locid="WinJS.Utilities.eventMixin.addEventListener_p:listener">
/// The listener to invoke when the event is raised.
/// </param>
/// <param name="useCapture" locid="WinJS.Utilities.eventMixin.addEventListener_p:useCapture">
/// if true initiates capture, otherwise false.
/// </param>
/// </signature>
useCapture = useCapture || false;
this._listeners = this._listeners || {};
var eventListeners = (this._listeners[type] = this._listeners[type] || []);
for (var i = 0, len = eventListeners.length; i < len; i++) {
var l = eventListeners[i];
if (l.useCapture === useCapture && l.listener === listener) {
return;
}
}
eventListeners.push({ listener: listener, useCapture: useCapture });
},
dispatchEvent: function (type, details) {
/// <signature helpKeyword="WinJS.Utilities.eventMixin.dispatchEvent">
/// <summary locid="WinJS.Utilities.eventMixin.dispatchEvent">
/// Raises an event of the specified type and with the specified additional properties.
/// </summary>
/// <param name="type" locid="WinJS.Utilities.eventMixin.dispatchEvent_p:type">
/// The type (name) of the event.
/// </param>
/// <param name="details" locid="WinJS.Utilities.eventMixin.dispatchEvent_p:details">
/// The set of additional properties to be attached to the event object when the event is raised.
/// </param>
/// <returns type="Boolean" locid="WinJS.Utilities.eventMixin.dispatchEvent_returnValue">
/// true if preventDefault was called on the event.
/// </returns>
/// </signature>
var listeners = this._listeners && this._listeners[type];
if (listeners) {
var eventValue = new EventMixinEvent(type, details, this);
// Need to copy the array to protect against people unregistering while we are dispatching
listeners = listeners.slice(0, listeners.length);
for (var i = 0, len = listeners.length; i < len && !eventValue._stopImmediatePropagationCalled; i++) {
listeners[i].listener(eventValue);
}
return eventValue.defaultPrevented || false;
}
return false;
},
removeEventListener: function (type, listener, useCapture) {
/// <signature helpKeyword="WinJS.Utilities.eventMixin.removeEventListener">
/// <summary locid="WinJS.Utilities.eventMixin.removeEventListener">
/// Removes an event listener from the control.
/// </summary>
/// <param name="type" locid="WinJS.Utilities.eventMixin.removeEventListener_p:type">
/// The type (name) of the event.
/// </param>
/// <param name="listener" locid="WinJS.Utilities.eventMixin.removeEventListener_p:listener">
/// The listener to remove.
/// </param>
/// <param name="useCapture" locid="WinJS.Utilities.eventMixin.removeEventListener_p:useCapture">
/// Specifies whether to initiate capture.
/// </param>
/// </signature>
useCapture = useCapture || false;
var listeners = this._listeners && this._listeners[type];
if (listeners) {
for (var i = 0, len = listeners.length; i < len; i++) {
var l = listeners[i];
if (l.listener === listener && l.useCapture === useCapture) {
listeners.splice(i, 1);
if (listeners.length === 0) {
delete this._listeners[type];
}
// Only want to remove one element for each call to removeEventListener
break;
}
}
}
}
};
_Base.Namespace._moduleDefine(exports, "WinJS.Utilities", {
_createEventProperty: createEventProperty,
createEventProperties: createEventProperties,
eventMixin: eventMixin
});
});
define('require-json',{load: function(id){throw new Error("Dynamic load not allowed: " + id);}});
define('require-json!strings/en-us/Microsoft.WinJS.resjson',{
"tv/scrollViewerPageDown": "Page Down",
"tv/scrollViewerPageUp": "Page Up",
"ui/appBarAriaLabel": "App Bar",
"ui/appBarCommandAriaLabel": "App Bar Item",
"ui/appBarOverflowButtonAriaLabel": "View more",
"ui/autoSuggestBoxAriaLabel": "Autosuggestbox",
"ui/autoSuggestBoxAriaLabelInputNoPlaceHolder": "Autosuggestbox, enter to submit query, esc to clear text",
"ui/autoSuggestBoxAriaLabelInputPlaceHolder": "Autosuggestbox, {0}, enter to submit query, esc to clear text",
"ui/autoSuggestBoxAriaLabelQuery": "Suggestion: {0}",
"_ui/autoSuggestBoxAriaLabelQuery.comment": "Suggestion: query text (example: Suggestion: contoso)",
"ui/autoSuggestBoxAriaLabelSeparator": "Separator: {0}",
"_ui/autoSuggestBoxAriaLabelSeparator.comment": "Separator: separator text (example: Separator: People or Separator: Apps)",
"ui/autoSuggestBoxAriaLabelResult": "Result: {0}, {1}",
"_ui/autoSuggestBoxAriaLabelResult.comment": "Result: text, detailed text (example: Result: contoso, www.contoso.com)",
"ui/averageRating": "Average Rating",
"ui/backbuttonarialabel": "Back",
"ui/chapterSkipBackMediaCommandDisplayText": "Chapter back",
"ui/chapterSkipForwardMediaCommandDisplayText": "Chapter forward",
"ui/clearYourRating": "Clear your rating",
"ui/closedCaptionsLabelNone": "Off",
"ui/closedCaptionsMediaCommandDisplayText": "Closed captioning",
"ui/closeOverlay": "Close",
"ui/commandingSurfaceAriaLabel": "CommandingSurface",
"ui/commandingSurfaceOverflowButtonAriaLabel": "View more",
"ui/datePicker": "Date Picker",
"ui/fastForwardMediaCommandDisplayText": "Fast forward",
"ui/fastForwardFeedbackDisplayText": " {0}X",
"ui/fastForwardFeedbackSlowMotionDisplayText": "0.5X",
"ui/flipViewPanningContainerAriaLabel": "Scrolling Container",
"ui/flyoutAriaLabel": "Flyout",
"ui/goToFullScreenButtonLabel": "Go full screen",
"ui/goToLiveMediaCommandDisplayText": "LIVE",
"ui/hubViewportAriaLabel": "Scrolling Container",
"ui/listViewViewportAriaLabel": "Scrolling Container",
"ui/mediaErrorAborted": "Playback was interrupted. Please try again.",
"ui/mediaErrorNetwork": "There was a network connection error.",
"ui/mediaErrorDecode": "The content could not be decoded",
"ui/mediaErrorSourceNotSupported": "This content type is not supported.",
"ui/mediaErrorUnknown": "There was an unknown error.",
"ui/mediaPlayerAudioTracksButtonLabel": "Audio tracks",
"ui/mediaPlayerCastButtonLabel": "Cast",
"ui/mediaPlayerChapterSkipBackButtonLabel": "Previous",
"ui/mediaPlayerChapterSkipForwardButtonLabel": "Next",
"ui/mediaPlayerClosedCaptionsButtonLabel": "Closed captions",
"ui/mediaPlayerFastForwardButtonLabel": "Fast forward",
"ui/mediaPlayerFullscreenButtonLabel": "Fullscreen",
"ui/mediaPlayerLiveButtonLabel": "LIVE",
"ui/mediaPlayerNextTrackButtonLabel": "Next",
"ui/mediaPlayerOverlayActiveOptionIndicator": "(On)",
"ui/mediaPlayerPauseButtonLabel": "Pause",
"ui/mediaPlayerPlayButtonLabel": "Play",
"ui/mediaPlayerPlayFromBeginningButtonLabel": "Replay",
"ui/mediaPlayerPlayRateButtonLabel": "Playback rate",
"ui/mediaPlayerPreviousTrackButtonLabel": "Previous",
"ui/mediaPlayerRewindButtonLabel": "Rewind",
"ui/mediaPlayerStopButtonLabel": "Stop",
"ui/mediaPlayerTimeSkipBackButtonLabel": "8 second replay",
"ui/mediaPlayerTimeSkipForwardButtonLabel": "30 second skip",
"ui/mediaPlayerToggleSnapButtonLabel": "Snap",
"ui/mediaPlayerVolumeButtonLabel": "Volume",
"ui/mediaPlayerZoomButtonLabel": "Zoom",
"ui/menuCommandAriaLabel": "Menu Item",
"ui/menuAriaLabel": "Menu",
"ui/navBarContainerViewportAriaLabel": "Scrolling Container",
"ui/nextTrackMediaCommandDisplayText": "Next track",
"ui/off": "Off",
"ui/on": "On",
"ui/pauseMediaCommandDisplayText": "Pause",
"ui/playFromBeginningMediaCommandDisplayText": "Play again",
"ui/playbackRateHalfSpeedLabel": "0.5x",
"ui/playbackRateNormalSpeedLabel": "Normal",
"ui/playbackRateOneAndHalfSpeedLabel": "1.5x",
"ui/playbackRateDoubleSpeedLabel": "2x",
"ui/playMediaCommandDisplayText": "Play",
"ui/pivotAriaLabel": "Pivot",
"ui/pivotViewportAriaLabel": "Scrolling Container",
"ui/replayMediaCommandDisplayText": "Play again",
"ui/rewindMediaCommandDisplayText": "Rewind",
"ui/rewindFeedbackDisplayText": " {0}X",
"ui/rewindFeedbackSlowMotionDisplayText": "0.5X",
"ui/searchBoxAriaLabel": "Searchbox",
"ui/searchBoxAriaLabelInputNoPlaceHolder": "Searchbox, enter to submit query, esc to clear text",
"ui/searchBoxAriaLabelInputPlaceHolder": "Searchbox, {0}, enter to submit query, esc to clear text",
"ui/searchBoxAriaLabelButton": "Click to submit query",
"ui/seeMore": "See more",
"ui/selectAMPM": "Select A.M P.M",
"ui/selectDay": "Select Day",
"ui/selectHour": "Select Hour",
"ui/selectMinute": "Select Minute",
"ui/selectMonth": "Select Month",
"ui/selectYear": "Select Year",
"ui/settingsFlyoutAriaLabel": "Settings Flyout",
"ui/stopMediaCommandDisplayText": "Stop",
"ui/tentativeRating": "Tentative Rating",
"ui/timePicker": "Time Picker",
"ui/timeSeparator": ":",
"ui/timeSkipBackMediaCommandDisplayText": "Skip back",
"ui/timeSkipForwardMediaCommandDisplayText": "Skip forward",
"ui/toolbarAriaLabel": "ToolBar",
"ui/toolbarOverflowButtonAriaLabel": "View more",
"ui/unrated": "Unrated",
"ui/userRating": "User Rating",
"ui/zoomMediaCommandDisplayText": "Zoom",
// AppBar Icons follow, the format of the ui.js and ui.resjson differ for
// the AppBarIcon namespace. The remainder of the file therefore differs.
// Code point comments are the icon glyphs in the 'Segoe UI Symbol' font.
"ui/appBarIcons/previous": "\uE100", // group:Media
"_ui/appBarIcons/previous.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/next": "\uE101", // group:Media
"_ui/appBarIcons/next.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/play": "\uE102", // group:Media
"_ui/appBarIcons/play.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/pause": "\uE103", // group:Media
"_ui/appBarIcons/pause.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/edit": "\uE104", // group:File
"_ui/appBarIcons/edit.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/save": "\uE105", // group:File
"_ui/appBarIcons/save.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/clear": "\uE106", // group:File
"_ui/appBarIcons/clear.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/delete": "\uE107", // group:File
"_ui/appBarIcons/delete.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/remove": "\uE108", // group:File
"_ui/appBarIcons/remove.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/add": "\uE109", // group:File
"_ui/appBarIcons/add.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/cancel": "\uE10A", // group:Editing
"_ui/appBarIcons/cancel.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/accept": "\uE10B", // group:General
"_ui/appBarIcons/accept.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/more": "\uE10C", // group:General
"_ui/appBarIcons/more.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/redo": "\uE10D", // group:Editing
"_ui/appBarIcons/redo.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/undo": "\uE10E", // group:Editing
"_ui/appBarIcons/undo.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/home": "\uE10F", // group:General
"_ui/appBarIcons/home.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/up": "\uE110", // group:General
"_ui/appBarIcons/up.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/forward": "\uE111", // group:General
"_ui/appBarIcons/forward.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/right": "\uE111", // group:General
"_ui/appBarIcons/right.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/back": "\uE112", // group:General
"_ui/appBarIcons/back.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/left": "\uE112", // group:General
"_ui/appBarIcons/left.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/favorite": "\uE113", // group:Media
"_ui/appBarIcons/favorite.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/camera": "\uE114", // group:System
"_ui/appBarIcons/camera.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/settings": "\uE115", // group:System
"_ui/appBarIcons/settings.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/video": "\uE116", // group:Media
"_ui/appBarIcons/video.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/sync": "\uE117", // group:Media
"_ui/appBarIcons/sync.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/download": "\uE118", // group:Media
"_ui/appBarIcons/download.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/mail": "\uE119", // group:Mail and calendar
"_ui/appBarIcons/mail.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/find": "\uE11A", // group:Data
"_ui/appBarIcons/find.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/help": "\uE11B", // group:General
"_ui/appBarIcons/help.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/upload": "\uE11C", // group:Media
"_ui/appBarIcons/upload.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/emoji": "\uE11D", // group:Communications
"_ui/appBarIcons/emoji.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/twopage": "\uE11E", // group:Layout
"_ui/appBarIcons/twopage.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/leavechat": "\uE11F", // group:Communications
"_ui/appBarIcons/leavechat.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/mailforward": "\uE120", // group:Mail and calendar
"_ui/appBarIcons/mailforward.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/clock": "\uE121", // group:General
"_ui/appBarIcons/clock.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/send": "\uE122", // group:Mail and calendar
"_ui/appBarIcons/send.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/crop": "\uE123", // group:Editing
"_ui/appBarIcons/crop.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/rotatecamera": "\uE124", // group:System
"_ui/appBarIcons/rotatecamera.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/people": "\uE125", // group:Communications
"_ui/appBarIcons/people.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/closepane": "\uE126", // group:Layout
"_ui/appBarIcons/closepane.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/openpane": "\uE127", // group:Layout
"_ui/appBarIcons/openpane.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/world": "\uE128", // group:General
"_ui/appBarIcons/world.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/flag": "\uE129", // group:Mail and calendar
"_ui/appBarIcons/flag.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/previewlink": "\uE12A", // group:General
"_ui/appBarIcons/previewlink.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/globe": "\uE12B", // group:Communications
"_ui/appBarIcons/globe.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/trim": "\uE12C", // group:Editing
"_ui/appBarIcons/trim.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/attachcamera": "\uE12D", // group:System
"_ui/appBarIcons/attachcamera.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/zoomin": "\uE12E", // group:Layout
"_ui/appBarIcons/zoomin.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/bookmarks": "\uE12F", // group:Editing
"_ui/appBarIcons/bookmarks.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/document": "\uE130", // group:File
"_ui/appBarIcons/document.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/protecteddocument": "\uE131", // group:File
"_ui/appBarIcons/protecteddocument.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/page": "\uE132", // group:Layout
"_ui/appBarIcons/page.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/bullets": "\uE133", // group:Editing
"_ui/appBarIcons/bullets.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/comment": "\uE134", // group:Communications
"_ui/appBarIcons/comment.comment": "{Locked=qps-ploc,qps-plocm}",
"ui/appBarIcons/mail2": "\uE135", // group:Mail and calendar