Merge pull request #554 from NativeScript/atanasovg/file-system-api

Atanasovg/file system api
This commit is contained in:
Georgi Atanasov
2015-08-10 17:55:10 +03:00
13 changed files with 373 additions and 367 deletions

View File

@@ -1,7 +1,6 @@
import view = require("ui/core/view");
import fs = require("file-system");
import xml = require("xml");
import file_access_module = require("file-system/file-system-access");
import types = require("utils/types");
import componentBuilder = require("ui/builder/component-builder");
import templateBuilderDef = require("ui/builder/template-builder");
@@ -261,15 +260,12 @@ function loadInternal(fileName: string, context?: any): componentBuilder.Compone
// Check if the XML file exists.
if (fs.File.exists(fileName)) {
var fileAccess = new file_access_module.FileSystemAccess();
// Read the XML file.
fileAccess.readText(fileName, result => {
componentModule = parseInternal(result, context);
}, (e) => {
throw new Error("Error loading file " + fileName + " :" + e.message);
});
var file = fs.File.fromPath(fileName);
var onError = function (error) {
throw new Error("Error loading file " + fileName + " :" + error.message);
}
var text = file.readTextSync(onError);
componentModule = parseInternal(text, context);
}
if (componentModule && componentModule.component) {

View File

@@ -5,7 +5,6 @@ import frame = require("ui/frame");
import styleModule = require("ui/styling/style");
import styleScope = require("ui/styling/style-scope");
import fs = require("file-system");
import fileSystemAccess = require("file-system/file-system-access");
import frameCommon = require("ui/frame/frame-common");
import actionBar = require("ui/action-bar");
import dependencyObservable = require("ui/core/dependency-observable");
@@ -135,10 +134,12 @@ export class Page extends contentView.ContentView implements dts.Page {
}
if (!this._cssFiles[cssFileName]) {
if (fs.File.exists(cssFileName)) {
new fileSystemAccess.FileSystemAccess().readText(cssFileName, r => {
this._addCssInternal(r, cssFileName);
var file = fs.File.fromPath(cssFileName);
var text = file.readTextSync();
if (text) {
this._addCssInternal(text, cssFileName);
this._cssFiles[cssFileName] = true;
});
}
}
}
}

View File

@@ -7,9 +7,7 @@ import application = require("application");
import utils = require("utils/utils");
import types = require("utils/types");
import fs = require("file-system");
import file_access_module = require("file-system/file-system-access");
var fileAccess = new file_access_module.FileSystemAccess();
var pattern: RegExp = /url\(('|")(.*?)\1\)/;
export class StyleScope {
@@ -89,9 +87,13 @@ export class StyleScope {
fileName = fs.path.join(fs.knownFolders.currentApp().path, fileName.replace("~/", ""));
}
fileAccess.readText(fileName, result => {
selectors = StyleScope._joinCssSelectorsArrays([selectors, StyleScope.createSelectorsFromCss(result, fileName)]);
});
if (fs.File.exists(fileName)) {
var file = fs.File.fromPath(fileName);
var text = file.readTextSync();
if (text) {
selectors = StyleScope._joinCssSelectorsArrays([selectors, StyleScope.createSelectorsFromCss(text, fileName)]);
}
}
}
}
}