mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
LiveSync improved
This commit is contained in:
@ -5,6 +5,7 @@ import frame = require("ui/frame");
|
|||||||
import cssSelector = require("ui/styling/css-selector");
|
import cssSelector = require("ui/styling/css-selector");
|
||||||
import * as fileSystemModule from "file-system";
|
import * as fileSystemModule from "file-system";
|
||||||
import * as styleScopeModule from "ui/styling/style-scope";
|
import * as styleScopeModule from "ui/styling/style-scope";
|
||||||
|
import * as fileResolverModule from "file-system/file-name-resolver";
|
||||||
|
|
||||||
var styleScope: typeof styleScopeModule = undefined;
|
var styleScope: typeof styleScopeModule = undefined;
|
||||||
|
|
||||||
@ -85,3 +86,29 @@ export function parseCss(cssText: string, cssFileName?: string): Array<cssSelect
|
|||||||
}
|
}
|
||||||
return styleScope.StyleScope.createSelectorsFromCss(cssText, cssFileName, keyframes);
|
return styleScope.StyleScope.createSelectorsFromCss(cssText, cssFileName, keyframes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function __onLiveSync() {
|
||||||
|
// Close the error page if available and remove the reference from global context.
|
||||||
|
if (global.errorPage) {
|
||||||
|
global.errorPage.closeModal();
|
||||||
|
global.errorPage = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
var fileResolver: typeof fileResolverModule = require("file-system/file-name-resolver");
|
||||||
|
|
||||||
|
// Clear file resolver cache to respect newly added files.
|
||||||
|
fileResolver.clearCache();
|
||||||
|
|
||||||
|
// Reload app.css in case it was changed.
|
||||||
|
loadCss();
|
||||||
|
|
||||||
|
// Reload current page.
|
||||||
|
frame.reloadPage();
|
||||||
|
} catch (ex) {
|
||||||
|
// Show the error as modal page, save reference to the page in global context.
|
||||||
|
var builder = require("ui/builder");
|
||||||
|
global.errorPage = builder.parse(`<Page><ScrollView><Label text="${ex}" textWrap="true" style="color: red;" /></ScrollView></Page>`);
|
||||||
|
global.errorPage.showModal();
|
||||||
|
}
|
||||||
|
}
|
@ -3,7 +3,6 @@ import definition = require("application");
|
|||||||
import frame = require("ui/frame");
|
import frame = require("ui/frame");
|
||||||
import observable = require("data/observable");
|
import observable = require("data/observable");
|
||||||
import * as typesModule from "utils/types";
|
import * as typesModule from "utils/types";
|
||||||
import * as fileResolverModule from "file-system/file-name-resolver";
|
|
||||||
|
|
||||||
global.moduleMerge(appModule, exports);
|
global.moduleMerge(appModule, exports);
|
||||||
var typedExports: typeof definition = exports;
|
var typedExports: typeof definition = exports;
|
||||||
@ -342,16 +341,7 @@ global.__onLiveSync = function () {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileResolver: typeof fileResolverModule = require("file-system/file-name-resolver");
|
appModule.__onLiveSync();
|
||||||
|
|
||||||
// Clear file resolver cache to respect newly added files.
|
|
||||||
fileResolver.clearCache();
|
|
||||||
|
|
||||||
// Reload app.css in case it was changed.
|
|
||||||
loadCss();
|
|
||||||
|
|
||||||
// Reload current page.
|
|
||||||
frame.reloadPage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
global.__onUncaughtError = function (error: definition.NativeScriptError) {
|
global.__onUncaughtError = function (error: definition.NativeScriptError) {
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
import common = require("./application-common");
|
import common = require("./application-common");
|
||||||
import {Frame, NavigationEntry, reloadPage} from "ui/frame";
|
import {Frame, NavigationEntry} from "ui/frame";
|
||||||
import definition = require("application");
|
import definition = require("application");
|
||||||
import * as uiUtils from "ui/utils";
|
import * as uiUtils from "ui/utils";
|
||||||
import * as typesModule from "utils/types";
|
import * as typesModule from "utils/types";
|
||||||
import * as fileResolverModule from "file-system/file-name-resolver";
|
|
||||||
import * as enumsModule from "ui/enums";
|
import * as enumsModule from "ui/enums";
|
||||||
|
|
||||||
global.moduleMerge(common, exports);
|
global.moduleMerge(common, exports);
|
||||||
@ -277,14 +276,5 @@ global.__onLiveSync = function () {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileResolver: typeof fileResolverModule = require("file-system/file-name-resolver");
|
common.__onLiveSync();
|
||||||
|
|
||||||
// Clear file resolver cache to respect newly added files.
|
|
||||||
fileResolver.clearCache();
|
|
||||||
|
|
||||||
// Reload app.css in case it was changed.
|
|
||||||
loadCss();
|
|
||||||
|
|
||||||
// Reload current page.
|
|
||||||
reloadPage();
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user