FILE: C:\Windows\SystemApps\Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy\js\localNgcPage.js
--
(function () {
"use strict";
var localNgcResources = {};
var bridge = new CloudExperienceHost.Bridge();
WinJS.UI.Pages.define("/views/localNgc.html", {
init: function (element, options) {
var languagePromise = bridge.invoke("CloudExperienceHost.Globalization.Language.getPreferredLang").then(function (preferredLang) {
_htmlRoot.setAttribute("lang", preferredLang);
}, function () { });
var dirPromise = bridge.invoke("CloudExperienceHost.Globalization.Language.getReadingDirection").then(function (dirVal) {
_htmlRoot.setAttribute("dir", dirVal);
}, function () { });
var stringPromise = bridge.invoke("CloudExperienceHost.LocalNgc.localNgcLocalizedStrings").then(function (result) {
localNgcResources = JSON.parse(result);
});
var cssPromise = uiHelpers.LoadCssPromise(document.head, "..", bridge, true );
return WinJS.Promise.join({ languagePromise: languagePromise, dirPromise: dirPromise, stringPromise: stringPromise, cssPromise: cssPromise });
},
ready: function (element, options) {
var pageElementsWithTextContent = [Title, Body, TryAgainButton, NextButton, SkipButton];
var i = 0;
for (i = 0; i < pageElementsWithTextContent.length; i++) {
pageElementsWithTextContent[i].textContent = localNgcResources[pageElementsWithTextContent[i].id];
}
var buttonsWithAccessKeys = [TryAgainButton, NextButton];
buttonsWithAccessKeys.forEach(function (eachElement) {
var result = CloudExperienceHost.ResourceManager.GetContentAndAccesskey(localNgcResources[eachElement.id]);
eachElement.textContent = result.content;
eachElement.accessKey = result.accessKey;
});
uiHelpers.RegisterEaseOfAccess(easeOfAccess, bridge);
NextButton.addEventListener("click", function () {
event.preventDefault();
_logEvent("LocalNgcNextButtonClick");
NextButton.disabled = true;
_createLocalPin();
}.bind(this));
_setVisibility(TryAgainButton, false);
TryAgainButton.addEventListener("click", function () {
event.preventDefault();
_logEvent("LocalNgcTryAgainButtonClick");
TryAgainButton.disabled = true;
_createLocalPin();
});
_setVisibility(SkipButton, false);
SkipButton.addEventListener("click", function () {
event.preventDefault();
_logEvent("LocalNgcSkipButtonClick");
_enrollmentCancelled();
});
_setVisibility(ErrorText, false);
function _createLocalPin() {
_logEvent("LocalNgcEnrollStart");
bridge.invoke("CloudExperienceHost.LocalNgc.createLocalPinAsync").done(function () {
NextButton.disabled = false;
_enrollmentSucceeded();
}, function (e) {
TryAgainButton.disabled = false;
_showTryAgainPage();
_logError(e);
if (e.number !== -2146893770) {
_setVisibility(ErrorText, true);
ErrorText.textContent = e.number;
}
});
}
function _enrollmentCancelled() {
_logEvent("LocalNgcCancelled");
bridge.invoke("CloudExperienceHost.HelloCleanup.cleanupHelloEnrollment");
bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.cancel);
}
function _enrollmentSucceeded() {
_logEvent("LocalNgcEnrolled");
bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.success);
}
function _logEvent(eventName) {
bridge.invoke("CloudExperienceHost.Telemetry.logEvent", eventName);
}
function _logError(e) {
if (e && e.number) {
bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "LocalNgcFailure", e.number);
}
else {
bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "LocalNgcUndefinedFailure");
}
}
function _showTryAgainPage() {
Title.textContent = localNgcResources['TitleTryAgain'];
Body.textContent = localNgcResources['BodyTryAgain'];
_setVisibility(TryAgainButton, true);
TryAgainButton.focus();
_setVisibility(NextButton, false);
_setVisibility(SkipButton, true);
}
function _setVisibility(container, visible) {
container.style.visibility = (visible) ? 'visible' : 'hidden';
container.style.display = (visible) ? 'inline' : 'none';
container.setAttribute("aria-hidden", (visible) ? "false" : "true");
}
},
error: function (e) {
bridge.invoke("CloudExperienceHost.HelloCleanup.cleanupHelloEnrollment");
bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.fail);
},
});
})();
--