mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Merge branch 'master' into doubleTap-location
This commit is contained in:
1
nativescript-core/css/css-tree-parser.d.ts
vendored
Normal file
1
nativescript-core/css/css-tree-parser.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export declare function cssTreeParse(css: any, source: any): any;
|
||||||
@@ -1116,7 +1116,7 @@ function createNativePercentLengthProperty(options: NativePercentLengthPropertyO
|
|||||||
setPercent = options.setPercent || percentNotSupported;
|
setPercent = options.setPercent || percentNotSupported;
|
||||||
options = null;
|
options = null;
|
||||||
}
|
}
|
||||||
if (length == "auto") { // tslint:disable-line
|
if (length == "auto" || !length) { // tslint:disable-line
|
||||||
setPixels(this.nativeViewProtected, auto);
|
setPixels(this.nativeViewProtected, auto);
|
||||||
} else if (typeof length === "number") {
|
} else if (typeof length === "number") {
|
||||||
setPixels(this.nativeViewProtected, layout.round(layout.toDevicePixels(length)));
|
setPixels(this.nativeViewProtected, layout.round(layout.toDevicePixels(length)));
|
||||||
|
|||||||
@@ -110,6 +110,19 @@ class CSSSource {
|
|||||||
this.parse();
|
this.parse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static fromDetect(cssOrAst: any, keyframes: KeyframesMap, fileName?: string): CSSSource {
|
||||||
|
if (typeof cssOrAst === "string") {
|
||||||
|
// raw-loader
|
||||||
|
return CSSSource.fromSource(cssOrAst, keyframes, fileName);
|
||||||
|
} else if (typeof cssOrAst === "object" && cssOrAst.type === "stylesheet" && cssOrAst.stylesheet && cssOrAst.stylesheet.rules) {
|
||||||
|
// css-loader
|
||||||
|
return CSSSource.fromAST(cssOrAst, keyframes, fileName);
|
||||||
|
} else {
|
||||||
|
// css2json-loader
|
||||||
|
return CSSSource.fromSource(cssOrAst.toString(), keyframes, fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static fromURI(uri: string, keyframes: KeyframesMap): CSSSource {
|
public static fromURI(uri: string, keyframes: KeyframesMap): CSSSource {
|
||||||
// webpack modules require all file paths to be relative to /app folder
|
// webpack modules require all file paths to be relative to /app folder
|
||||||
const appRelativeUri = CSSSource.pathRelativeToApp(uri);
|
const appRelativeUri = CSSSource.pathRelativeToApp(uri);
|
||||||
@@ -119,16 +132,7 @@ class CSSSource {
|
|||||||
try {
|
try {
|
||||||
const cssOrAst = global.loadModule(resolvedModuleName, true);
|
const cssOrAst = global.loadModule(resolvedModuleName, true);
|
||||||
if (cssOrAst) {
|
if (cssOrAst) {
|
||||||
if (typeof cssOrAst === "string") {
|
return CSSSource.fromDetect(cssOrAst, keyframes, resolvedModuleName);
|
||||||
// raw-loader
|
|
||||||
return CSSSource.fromSource(cssOrAst, keyframes, resolvedModuleName);
|
|
||||||
} else if (typeof cssOrAst === "object" && cssOrAst.type === "stylesheet" && cssOrAst.stylesheet && cssOrAst.stylesheet.rules) {
|
|
||||||
// css-loader
|
|
||||||
return CSSSource.fromAST(cssOrAst, keyframes, resolvedModuleName);
|
|
||||||
} else {
|
|
||||||
// css2json-loader
|
|
||||||
return CSSSource.fromSource(cssOrAst.toString(), keyframes, resolvedModuleName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
traceWrite(`Could not load CSS from ${uri}: ${e}`, traceCategories.Error, traceMessageType.error);
|
traceWrite(`Could not load CSS from ${uri}: ${e}`, traceCategories.Error, traceMessageType.error);
|
||||||
@@ -325,7 +329,7 @@ export function removeTaggedAdditionalCSS(tag: String | Number): Boolean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function addTaggedAdditionalCSS(cssText: string, tag?: string | Number): Boolean {
|
export function addTaggedAdditionalCSS(cssText: string, tag?: string | Number): Boolean {
|
||||||
const parsed: RuleSet[] = CSSSource.fromSource(cssText, applicationKeyframes, undefined).selectors;
|
const parsed: RuleSet[] = CSSSource.fromDetect(cssText, applicationKeyframes, undefined).selectors;
|
||||||
let changed = false;
|
let changed = false;
|
||||||
if (parsed && parsed.length) {
|
if (parsed && parsed.length) {
|
||||||
changed = true;
|
changed = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user