"use strict"; var CloudExperienceHost; (function (CloudExperienceHost) { var Hello; (function (Hello) { var helloResources = {}; var bridge = new CloudExperienceHost.Bridge(); var validator = new uiHelpers.Validator(); var errorClass = new uiHelpers.ErrorUI(); var enrollmentKinds; var faceDisambiguationChoice = { title: "", description: "", glyph: "\uEB68" }; var fingerDisambiguationChoice = { title: "", description: "", glyph: "\uEB82" }; var disambiguationArray = [faceDisambiguationChoice, fingerDisambiguationChoice]; Hello.enrollmentList = new WinJS.Binding.List(disambiguationArray); WinJS.UI.Pages.define("/views/helloEnrollment.html", { init: function (element, options) { var pagePromise = new WinJS.Promise(function (completeDispatch, errorDispatch) { function _checkIfEnrollmentSupportedAndGetReady(completeDispatch, errorDispatch) { bridge.invoke("CloudExperienceHost.Hello.getSupportedHelloEnrollmentKinds").then(function (kinds) { enrollmentKinds = JSON.parse(kinds); if (enrollmentKinds && (enrollmentKinds.face || enrollmentKinds.fingerprint)) { 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.Hello.localizedStrings").then(function (result) { helloResources = JSON.parse(result); }); WinJS.Promise.join({ languagePromise: languagePromise, dirPromise: dirPromise, stringPromise: stringPromise }).then(completeDispatch, errorDispatch); } else { completeDispatch(); } }, function (e) { errorDispatch(e); }); } bridge.invoke("CloudExperienceHost.Storage.SharableData.getValue", "skipNGC").then(function (skipNGC) { if (skipNGC) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentSkippedViaSharableData"); completeDispatch(); } else { _checkIfEnrollmentSupportedAndGetReady(completeDispatch, errorDispatch); } }, function (e) { _checkIfEnrollmentSupportedAndGetReady(completeDispatch, errorDispatch); }); }); var cssPromise = uiHelpers.LoadCssPromise(document.head, "..", bridge); return WinJS.Promise.join({ pagePromise: pagePromise, cssPromise: cssPromise }); }, ready: function (element, options) { NextButton.focus(); var setContentFor = [Title, SkipLink, NextButton]; var i = 0; for (i = 0; i < setContentFor.length; i++) { setContentFor[i].textContent = helloResources[setContentFor[i].id]; } NextButton.addEventListener("click", function (event) { event.preventDefault(); _onNext.apply(this); }.bind(this)); SkipLink.addEventListener("click", function (event) { event.preventDefault(); bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentCanceled"); bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.cancel); }); var checkAmpersandFor = [NextButton]; checkAmpersandFor.forEach(function (eachElement) { var result = CloudExperienceHost.ResourceManager.GetContentAndAccesskey(helloResources[eachElement.id]); eachElement.textContent = result.content; eachElement.accessKey = result.accessKey; }); faceDisambiguationChoice.title = helloResources['FaceOptionTitle']; faceDisambiguationChoice.description = helloResources['FaceOptionDescription']; fingerDisambiguationChoice.title = helloResources['FingerOptionTitle']; fingerDisambiguationChoice.description = helloResources['FingerOptionDescription']; uiHelpers.RegisterEaseOfAccess(easeOfAccess, bridge); uiHelpers.RegisterInputSwitcher(inputSwitcher, bridge); if (enrollmentKinds && (enrollmentKinds.face || enrollmentKinds.fingerprint)) { bridge.fireEvent(CloudExperienceHost.Events.visible, true); if (enrollmentKinds.face && enrollmentKinds.fingerprint) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "ShowingHelloEnrollmentPage", "Face AND Fingerprint"); LeadText.textContent = helloResources['LeadTextFaceFingerprint']; } else if (enrollmentKinds.face) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "ShowingHelloEnrollmentPage", "Face"); LeadText.textContent = helloResources['LeadTextFace']; } else if (enrollmentKinds.fingerprint) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "ShowingHelloEnrollmentPage", "Fingerprint"); LeadText.textContent = helloResources['LeadTextFingerprint']; } } else { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "NotShowingHelloEnrollmentPage"); bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.abort); } function _onNext() { if (enrollmentKinds && (enrollmentKinds.face && enrollmentKinds.fingerprint)) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentShowingDisambiguation"); _disambiguate(); } else { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentShowingEnrollmentApp"); _enroll(); } } function _disambiguate() { HelloGlyph.style.display = 'none'; Title.textContent = helloResources['DisambiguationTitle']; LeadText.textContent = helloResources['DisambiguationLeadText']; EnrollmentListView.addEventListener("iteminvoked", function (e) { NextButton.disabled = false; if (disambiguationArray[e.detail.itemIndex] === faceDisambiguationChoice) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentDisambiguationFaceSelected"); enrollmentKinds.face = true; enrollmentKinds.fingerprint = false; } else { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentDisambiguationFingerprintSelected"); enrollmentKinds.fingerprint = true; enrollmentKinds.face = false; } }); EnrollmentListView.style.display = 'block'; EnrollmentListView.focus(); NextButton.disabled = true; } function _enroll() { _setProgressState(true); uiHelpers.SetElementVisibility(PageContent, false); bridge.invoke("CloudExperienceHost.Hello.startHelloEnrollment", enrollmentKinds).then(function (enrolledSuccessfully) { if (enrolledSuccessfully) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentSuccess"); bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.success); } else { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentCanceled"); bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.cancel); } }, function (e) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentFailed", JSON.stringify({ number: e && e.number.toString(16), stack: e && e.asyncOpSource && e.asyncOpSource.stack })); bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.fail); }); } function _setProgressState(waiting) { NextButton.disabled = waiting; } }, error: function (e) { bridge.invoke("CloudExperienceHost.Telemetry.logEvent", "HelloEnrollmentWinJSPageError", JSON.stringify({ number: e && e.number.toString(16), stack: e && e.asyncOpSource && e.asyncOpSource.stack })); bridge.fireEvent(CloudExperienceHost.Events.done, CloudExperienceHost.AppResult.fail); }, }); })(Hello = CloudExperienceHost.Hello || (CloudExperienceHost.Hello = {})); })(CloudExperienceHost || (CloudExperienceHost = {})); x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586