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 additionalSelectors: Array<cssSelector.CssSelector> = [];
export var cssSelectors: Array<cssSelector.CssSelector> = []; export var cssSelectors: Array<cssSelector.CssSelector> = [];
export var cssSelectorVersion: number = 0; export var cssSelectorVersion: number = 0;
export var keyframes: any = {};
export var resources: any = {}; export var resources: any = {};
@@ -82,5 +83,5 @@ export function parseCss(cssText: string, cssFileName?: string): Array<cssSelect
if (!styleScope) { if (!styleScope) {
styleScope = require("ui/styling/style-scope"); 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 cssSelectors: Array<cssSelector.CssSelector>;
export var cssSelectorVersion: number; export var cssSelectorVersion: number;
export var keyframes: any;
export function parseCss(cssText: string, cssFileName?: string): Array<cssSelector.CssSelector>; export function parseCss(cssText: string, cssFileName?: string): Array<cssSelector.CssSelector>;
export function mergeCssSelectors(module: any): void; export function mergeCssSelectors(module: any): void;
//@endprivate //@endprivate

View File

@@ -9,8 +9,8 @@ declare module "ui/styling/style-scope" {
public css: string; public css: string;
public addCss(cssString: string, cssFileName: string): void; public addCss(cssString: string, cssFileName: string): void;
public static createSelectorsFromCss(css: string, cssFileName: string): cssSelector.CssSelector[]; public static createSelectorsFromCss(css: string, cssFileName: string, keyframes: Object): cssSelector.CssSelector[];
public static createSelectorsFromImports(tree: cssParser.SyntaxTree): cssSelector.CssSelector[]; public static createSelectorsFromImports(tree: cssParser.SyntaxTree, keyframes: Object): cssSelector.CssSelector[];
public ensureSelectors(): boolean; public ensureSelectors(): boolean;
public applySelectors(view: view.View): void 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 { private setCss(cssString: string, cssFileName?: string, append: boolean = false): void {
this._css = this._css ? this._css + cssString : cssString; this._css = this._css ? this._css + cssString : cssString;
if (cssFileName) { if (cssFileName) {
this._cssFileName = cssFileName this._cssFileName = cssFileName;
} }
this._reset(); this._reset();
@@ -169,6 +169,9 @@ export class StyleScope {
this._applicationCssSelectorsAppliedVersion = application.cssSelectorVersion; this._applicationCssSelectorsAppliedVersion = application.cssSelectorVersion;
toMerge.push(this._localCssSelectors); toMerge.push(this._localCssSelectors);
this._localCssSelectorsAppliedVersion = this._localCssSelectorVersion; this._localCssSelectorsAppliedVersion = this._localCssSelectorVersion;
for (let keyframe in application.keyframes) {
this._keyframes[keyframe] = application.keyframes[keyframe];
}
} }
if (toMerge.length > 0) { if (toMerge.length > 0) {