Application orientation changed event

This commit is contained in:
vakrilov
2015-07-29 11:43:12 +03:00
parent 5b2679717e
commit 6ebd488735
19 changed files with 274 additions and 66 deletions

View File

@@ -193,11 +193,11 @@ function loadCustomComponent(componentPath: string, componentName?: string, attr
fullComponentPathFilePathWithoutExt = fs.path.join(fs.knownFolders.currentApp().path, componentPath, componentName);
}
var xmlFilePath = resolveFilePath(fullComponentPathFilePathWithoutExt, "xml");
var xmlFilePath = fileResolverModule.resolveFileName(fullComponentPathFilePathWithoutExt, "xml");
if (xmlFilePath) {
// Custom components with XML
var jsFilePath = resolveFilePath(fullComponentPathFilePathWithoutExt, "js");
var jsFilePath = fileResolverModule.resolveFileName(fullComponentPathFilePathWithoutExt, "js");
var subExports;
if (jsFilePath) {
@@ -220,7 +220,7 @@ function loadCustomComponent(componentPath: string, componentName?: string, attr
}
// Add component CSS file if exists.
var cssFilePath = resolveFilePath(fullComponentPathFilePathWithoutExt, "css");
var cssFilePath = fileResolverModule.resolveFileName(fullComponentPathFilePathWithoutExt, "css");
if (cssFilePath) {
if (parentPage) {
parentPage.addCssFile(cssFilePath);
@@ -232,19 +232,6 @@ function loadCustomComponent(componentPath: string, componentName?: string, attr
return result;
}
var fileNameResolver: fileResolverModule.FileNameResolver;
function resolveFilePath(path, ext): string {
if (!fileNameResolver) {
fileNameResolver = new fileResolverModule.FileNameResolver({
width: platform.screen.mainScreen.widthDIPs,
height: platform.screen.mainScreen.heightDIPs,
os: platform.device.os,
deviceType: platform.device.deviceType
});
}
return fileNameResolver.resolveFileName(path, ext);
}
export function load(pathOrOptions: string | definition.LoadOptions, context?: any): view.View {
var viewToReturn: view.View;
var componentModule: componentBuilder.ComponentModule;

18
ui/enums/enums.d.ts vendored
View File

@@ -104,6 +104,24 @@
export var vertical: string;
}
/**
* Orientation of a device.
*/
module DeviceOrientation {
/**
* Portrait orientation.
*/
export var portrait: string;
/**
* Landscape orientation.
*/
export var landscape: string;
/**
* Orientation cannot be determined.
*/
export var unknown: string;
}
/**
* HorizontalAlignment indicates where an element should be displayed on the horizontal axis relative to the allocated layout slot of the parent element.
*/

View File

@@ -25,6 +25,12 @@ export module Orientation {
export var vertical = "vertical";
}
export module DeviceOrientation {
export var portrait = "portrait";
export var landscape = "landscape";
export var unknown = "unknown";
}
export module HorizontalAlignment {
export var left = "left";
export var center = "center";

View File

@@ -6,7 +6,6 @@ import trace = require("trace");
import builder = require("ui/builder");
import fs = require("file-system");
import utils = require("utils/utils");
import platform = require("platform");
import fileResolverModule = require("file-system/file-name-resolver");
var frameStack: Array<Frame> = [];
@@ -47,7 +46,7 @@ export function resolvePageFromEntry(entry: definition.NavigationEntry): pages.P
var moduleNamePath = fs.path.join(currentAppPath, entry.moduleName);
var moduleExports;
var moduleExportsResolvedPath = resolveFilePath(moduleNamePath, "js");
var moduleExportsResolvedPath = fileResolverModule.resolveFileName(moduleNamePath, "js");
if (moduleExportsResolvedPath) {
trace.write("Loading JS file: " + moduleExportsResolvedPath, trace.categories.Navigation);
@@ -72,25 +71,12 @@ export function resolvePageFromEntry(entry: definition.NavigationEntry): pages.P
return page;
}
var fileNameResolver: fileResolverModule.FileNameResolver;
function resolveFilePath(path, ext) : string {
if (!fileNameResolver) {
fileNameResolver = new fileResolverModule.FileNameResolver({
width: platform.screen.mainScreen.widthDIPs,
height: platform.screen.mainScreen.heightDIPs,
os: platform.device.os,
deviceType: platform.device.deviceType
});
}
return fileNameResolver.resolveFileName(path, ext);
}
function pageFromBuilder(moduleNamePath: string, moduleExports: any): pages.Page {
var page: pages.Page;
var element: view.View;
// Possible XML file path.
var fileName = resolveFilePath(moduleNamePath, "xml");
var fileName = fileResolverModule.resolveFileName(moduleNamePath, "xml");
if (fileName) {
trace.write("Loading XML file: " + fileName, trace.categories.Navigation);
@@ -100,7 +86,7 @@ function pageFromBuilder(moduleNamePath: string, moduleExports: any): pages.Page
page = <pages.Page>element;
// Possible CSS file path.
var cssFileName = resolveFilePath(moduleNamePath, "css");
var cssFileName = fileResolverModule.resolveFileName(moduleNamePath, "css");
if (cssFileName) {
page.addCssFile(cssFileName);
}