mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Avoid applying CSS multiple times (#4784)
* Move the applyStyleFromScope to onLoaded, when the views are created and id or className properties are set the CSS selectors are queried and applied multiple times * Condense the changes when applying properties
This commit is contained in:
committed by
SvetoslavTsenov
parent
b0577728be
commit
6d7c1ff295
@@ -100,7 +100,6 @@ export class View extends ViewCommon {
|
||||
this.nativeViewProtected.setClickable(this._isClickable);
|
||||
}
|
||||
|
||||
this._cancelAllAnimations();
|
||||
super.onUnloaded();
|
||||
}
|
||||
|
||||
|
||||
24
tns-core-modules/ui/core/view/view.d.ts
vendored
24
tns-core-modules/ui/core/view/view.d.ts
vendored
@@ -67,7 +67,7 @@ export interface Size {
|
||||
* This class is the base class for all UI components.
|
||||
* A View occupies a rectangular area on the screen and is responsible for drawing and layouting of all UI components within.
|
||||
*/
|
||||
export abstract class View extends ViewBase implements ApplyXmlAttributes {
|
||||
export abstract class View extends ViewBase {
|
||||
/**
|
||||
* Gets the android-specific native instance that lies behind this proxy. Will be available if running on an Android platform.
|
||||
*/
|
||||
@@ -83,8 +83,6 @@ export abstract class View extends ViewBase implements ApplyXmlAttributes {
|
||||
*/
|
||||
bindingContext: any;
|
||||
|
||||
//----------Style property shortcuts----------
|
||||
|
||||
/**
|
||||
* Gets or sets the border color of the view.
|
||||
*/
|
||||
@@ -413,12 +411,6 @@ export abstract class View extends ViewBase implements ApplyXmlAttributes {
|
||||
*/
|
||||
public focus(): boolean;
|
||||
|
||||
/**
|
||||
* Sets in-line CSS string as style.
|
||||
* @param style - In-line CSS string.
|
||||
*/
|
||||
public setInlineStyle(style: string): void;
|
||||
|
||||
public getGestureObservers(type: GestureTypes): Array<GesturesObserver>;
|
||||
|
||||
/**
|
||||
@@ -490,7 +482,6 @@ export abstract class View extends ViewBase implements ApplyXmlAttributes {
|
||||
|
||||
_eachLayoutView(callback: (View) => void): void;
|
||||
|
||||
public _applyXmlAttribute(attribute: string, value: any): boolean;
|
||||
public eachChildView(callback: (view: View) => boolean): void;
|
||||
|
||||
//@private
|
||||
@@ -647,19 +638,6 @@ export interface AddChildFromBuilder {
|
||||
_addChildFromBuilder(name: string, value: any): void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines an interface used to create a member of a class from string representation (used in xml declaration).
|
||||
*/
|
||||
export interface ApplyXmlAttributes {
|
||||
/**
|
||||
* Called for every attribute in xml declaration. <... fontWeight="bold" ../>
|
||||
* @param attributeName - the name of the attribute (fontAttributes)
|
||||
* @param attrValue - the value of the attribute (bold)
|
||||
* Should return true if this attribute is handled and there is no need default handler to process it.
|
||||
*/
|
||||
_applyXmlAttribute(attributeName: string, attrValue: any): boolean;
|
||||
}
|
||||
|
||||
export const automationTextProperty: Property<View, string>;
|
||||
export const originXProperty: Property<View, number>;
|
||||
export const originYProperty: Property<View, number>;
|
||||
|
||||
Reference in New Issue
Block a user