123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- (function () {
- "use strict";
- var itemsList = new WinJS.Binding.List();
- function getGroupKey(dataItem){
- return dataItem.group;
- }
- function getGroupData(dataItem){
- return {
- title: dataItem.group
- };
- }
- var groupedItemsList = itemsList.createGrouped(getGroupKey, getGroupData);
- WinJS.Namespace.define("home.babylonScenes", {
- groupedItemsList: groupedItemsList
- });
- WinJS.Namespace.define("home.userScenes", {
- data: new WinJS.Binding.List()
- });
- WinJS.UI.Pages.define("/pages/home/home.html", {
- // This function is called whenever a user navigates to this page. It
- // populates the page elements with the app's data.
- ready: function (element, options) {
- element.querySelector("#babylonScenesListView").addEventListener("iteminvoked", function (event) {
- event.detail.itemPromise.done(function (item) {
- if (!item.data.file) {
- WinJS.Navigation.navigate('/pages/sandbox/sandbox.html');
- return;
- }
- WinJS.Navigation.navigate('/pages/babylonScene/babylonScene.html', { babylonFolder: item.data.folder, babylonFile: item.data.file });
- });
- });
- var className = "ListItem";
- var onSceneFolderOpenCallback = function (rootFolder) {
- rootFolder.getFoldersAsync().then(function (folders) {
- var list = itemsList;
- var group = (rootFolder.name == "BabylonJS-Demos") ? "BabylonJS demos scenes" : "Your scenes"
- folders.forEach(function (folder) {
- folder.getFilesAsync().then(function (files) {
- for (var j in files) {
- var file = files[j];
- if (file.fileType != ".babylon") {
- continue;
- }
- var incremental = false;
- if (file.name.indexOf(".incremental.babylon") !== -1) {
- incremental = true;
- }
- list.push({
- title: folder.displayName.charAt(0).toUpperCase() + folder.displayName.slice(1),
- text: file.name,
- group: group,
- folder: rootFolder.name + "/" + folder.name,
- file: file.name,
- className: className
- });
- }
- });
- });
- });
- };
- if (itemsList.length == 0) {
- itemsList.push({
- title: "Sandbox",
- text: "BabylonJS Sandbox",
- group: "Sandbox",
- folder: null,
- file: null,
- className: className + " sandbox"
- });
- Windows.ApplicationModel.Package.current.installedLocation.getFolderAsync("BabylonJS-Demos").then(onSceneFolderOpenCallback);
- Windows.ApplicationModel.Package.current.installedLocation.getFolderAsync("addToPackage").then(onSceneFolderOpenCallback);
- }
- }
- });
- })();
|