mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
Merge pull request #994 from NativeScript/css-type-fix
lower-case-dashed components css support fixed
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
.MyClass {
|
.MyClass {
|
||||||
background-color: green;
|
background-color: green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stack-layout {
|
||||||
|
background-color: green;
|
||||||
|
}
|
@ -200,6 +200,23 @@ export function test_parse_ShouldResolveExportsFromCodeFileForTemplates() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function test_parse_css_is_applied_by_type_to_lower_case_dashed_components() {
|
||||||
|
var newPage: Page;
|
||||||
|
var pageFactory = function (): Page {
|
||||||
|
newPage = <Page>builder.parse("<page cssFile='~/xml-declaration/custom-css-file.css'><stack-layout /></page>");
|
||||||
|
return newPage;
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.navigate(pageFactory);
|
||||||
|
TKUnit.assert(newPage.isLoaded, "The page should be loaded here.");
|
||||||
|
try {
|
||||||
|
helper.assertViewBackgroundColor(newPage.content, "#008000");
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
helper.goBack();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export function test_parse_ShouldApplyCssFromCssFile() {
|
export function test_parse_ShouldApplyCssFromCssFile() {
|
||||||
var newPage: Page;
|
var newPage: Page;
|
||||||
var pageFactory = function (): Page {
|
var pageFactory = function (): Page {
|
||||||
|
@ -73,10 +73,15 @@ class CssTypeSelector extends CssSelector {
|
|||||||
return TYPE_SPECIFICITY;
|
return TYPE_SPECIFICITY;
|
||||||
}
|
}
|
||||||
public matches(view: view.View): boolean {
|
public matches(view: view.View): boolean {
|
||||||
return this.expression.toLowerCase() === view.typeName.toLowerCase();
|
return matchesType(this.expression, view);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function matchesType(expression: string, view: view.View): boolean {
|
||||||
|
return expression.toLowerCase() === view.typeName.toLowerCase() ||
|
||||||
|
expression.toLowerCase() === view.typeName.split(/(?=[A-Z])/).join("-").toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
class CssIdSelector extends CssSelector {
|
class CssIdSelector extends CssSelector {
|
||||||
get specificity(): number {
|
get specificity(): number {
|
||||||
return ID_SPECIFICITY;
|
return ID_SPECIFICITY;
|
||||||
@ -150,7 +155,7 @@ export class CssVisualStateSelector extends CssSelector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this._isByType) {
|
if (this._isByType) {
|
||||||
matches = this._match === view.cssType.toLowerCase();
|
matches = matchesType(this._match, view);
|
||||||
}
|
}
|
||||||
|
|
||||||
return matches;
|
return matches;
|
||||||
|
Reference in New Issue
Block a user