Merge pull request #1901 from NativeScript/fix/1893

Fixed: CSS animations from the application-wide .css file do not aply
This commit is contained in:
tzraikov
2016-04-06 18:15:46 +03:00
4 changed files with 9 additions and 4 deletions

View File

@@ -28,6 +28,7 @@ export var appSelectors: Array<cssSelector.CssSelector> = [];
export var additionalSelectors: Array<cssSelector.CssSelector> = [];
export var cssSelectors: Array<cssSelector.CssSelector> = [];
export var cssSelectorVersion: number = 0;
export var keyframes: any = {};
export var resources: any = {};
@@ -82,5 +83,5 @@ export function parseCss(cssText: string, cssFileName?: string): Array<cssSelect
if (!styleScope) {
styleScope = require("ui/styling/style-scope");
}
return styleScope.StyleScope.createSelectorsFromCss(cssText, cssFileName);
return styleScope.StyleScope.createSelectorsFromCss(cssText, cssFileName, keyframes);
}

View File

@@ -130,6 +130,7 @@ declare module "application" {
*/
export var cssSelectors: Array<cssSelector.CssSelector>;
export var cssSelectorVersion: number;
export var keyframes: any;
export function parseCss(cssText: string, cssFileName?: string): Array<cssSelector.CssSelector>;
export function mergeCssSelectors(module: any): void;
//@endprivate

View File

@@ -9,8 +9,8 @@ declare module "ui/styling/style-scope" {
public css: string;
public addCss(cssString: string, cssFileName: string): void;
public static createSelectorsFromCss(css: string, cssFileName: string): cssSelector.CssSelector[];
public static createSelectorsFromImports(tree: cssParser.SyntaxTree): cssSelector.CssSelector[];
public static createSelectorsFromCss(css: string, cssFileName: string, keyframes: Object): cssSelector.CssSelector[];
public static createSelectorsFromImports(tree: cssParser.SyntaxTree, keyframes: Object): cssSelector.CssSelector[];
public ensureSelectors(): boolean;
public applySelectors(view: view.View): void

View File

@@ -71,7 +71,7 @@ export class StyleScope {
private setCss(cssString: string, cssFileName?: string, append: boolean = false): void {
this._css = this._css ? this._css + cssString : cssString;
if (cssFileName) {
this._cssFileName = cssFileName
this._cssFileName = cssFileName;
}
this._reset();
@@ -169,6 +169,9 @@ export class StyleScope {
this._applicationCssSelectorsAppliedVersion = application.cssSelectorVersion;
toMerge.push(this._localCssSelectors);
this._localCssSelectorsAppliedVersion = this._localCssSelectorVersion;
for (let keyframe in application.keyframes) {
this._keyframes[keyframe] = application.keyframes[keyframe];
}
}
if (toMerge.length > 0) {