@@ -25,6 +25,11 @@ import {
2525 matrixArrayToCssMatrix ,
2626 multiplyAffine2d ,
2727} from "../../matrix" ;
28+ import {
29+ write as traceWrite ,
30+ categories as traceCategories ,
31+ messageType as traceMessageType ,
32+ } from "../../trace" ;
2833
2934import * as parser from "../../css/parser" ;
3035import { LinearGradient } from "./linear-gradient" ;
@@ -175,15 +180,25 @@ export const zeroLength: Length = { value: 0, unit: "px" };
175180export const minWidthProperty = new CssProperty < Style , Length > ( {
176181 name : "minWidth" , cssName : "min-width" , defaultValue : zeroLength , affectsLayout : isIOS , equalityComparer : Length . equals ,
177182 valueChanged : ( target , oldValue , newValue ) => {
178- target . view . effectiveMinWidth = Length . toDevicePixels ( newValue , 0 ) ;
183+ const view = target . viewRef . get ( ) ;
184+ if ( view ) {
185+ view . effectiveMinWidth = Length . toDevicePixels ( newValue , 0 ) ;
186+ } else {
187+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
188+ }
179189 } , valueConverter : Length . parse
180190} ) ;
181191minWidthProperty . register ( Style ) ;
182192
183193export const minHeightProperty = new CssProperty < Style , Length > ( {
184194 name : "minHeight" , cssName : "min-height" , defaultValue : zeroLength , affectsLayout : isIOS , equalityComparer : Length . equals ,
185195 valueChanged : ( target , oldValue , newValue ) => {
186- target . view . effectiveMinHeight = Length . toDevicePixels ( newValue , 0 ) ;
196+ const view = target . viewRef . get ( ) ;
197+ if ( view ) {
198+ view . effectiveMinHeight = Length . toDevicePixels ( newValue , 0 ) ;
199+ } else {
200+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
201+ }
187202 } , valueConverter : Length . parse
188203} ) ;
189204minHeightProperty . register ( Style ) ;
@@ -237,31 +252,51 @@ paddingProperty.register(Style);
237252export const paddingLeftProperty = new CssProperty < Style , Length > ( {
238253 name : "paddingLeft" , cssName : "padding-left" , defaultValue : zeroLength , affectsLayout : isIOS , equalityComparer : Length . equals ,
239254 valueChanged : ( target , oldValue , newValue ) => {
240- target . view . effectivePaddingLeft = Length . toDevicePixels ( newValue , 0 ) ;
255+ const view = target . viewRef . get ( ) ;
256+ if ( view ) {
257+ view . effectivePaddingLeft = Length . toDevicePixels ( newValue , 0 ) ;
258+ } else {
259+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
260+ }
241261 } , valueConverter : Length . parse
242262} ) ;
243263paddingLeftProperty . register ( Style ) ;
244264
245265export const paddingRightProperty = new CssProperty < Style , Length > ( {
246266 name : "paddingRight" , cssName : "padding-right" , defaultValue : zeroLength , affectsLayout : isIOS , equalityComparer : Length . equals ,
247267 valueChanged : ( target , oldValue , newValue ) => {
248- target . view . effectivePaddingRight = Length . toDevicePixels ( newValue , 0 ) ;
268+ const view = target . viewRef . get ( ) ;
269+ if ( view ) {
270+ view . effectivePaddingRight = Length . toDevicePixels ( newValue , 0 ) ;
271+ } else {
272+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
273+ }
249274 } , valueConverter : Length . parse
250275} ) ;
251276paddingRightProperty . register ( Style ) ;
252277
253278export const paddingTopProperty = new CssProperty < Style , Length > ( {
254279 name : "paddingTop" , cssName : "padding-top" , defaultValue : zeroLength , affectsLayout : isIOS , equalityComparer : Length . equals ,
255280 valueChanged : ( target , oldValue , newValue ) => {
256- target . view . effectivePaddingTop = Length . toDevicePixels ( newValue , 0 ) ;
281+ const view = target . viewRef . get ( ) ;
282+ if ( view ) {
283+ view . effectivePaddingTop = Length . toDevicePixels ( newValue , 0 ) ;
284+ } else {
285+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
286+ }
257287 } , valueConverter : Length . parse
258288} ) ;
259289paddingTopProperty . register ( Style ) ;
260290
261291export const paddingBottomProperty = new CssProperty < Style , Length > ( {
262292 name : "paddingBottom" , cssName : "padding-bottom" , defaultValue : zeroLength , affectsLayout : isIOS , equalityComparer : Length . equals ,
263293 valueChanged : ( target , oldValue , newValue ) => {
264- target . view . effectivePaddingBottom = Length . toDevicePixels ( newValue , 0 ) ;
294+ const view = target . viewRef . get ( ) ;
295+ if ( view ) {
296+ view . effectivePaddingBottom = Length . toDevicePixels ( newValue , 0 ) ;
297+ } else {
298+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
299+ }
265300 } , valueConverter : Length . parse
266301} ) ;
267302paddingBottomProperty . register ( Style ) ;
@@ -822,7 +857,12 @@ export const borderTopWidthProperty = new CssProperty<Style, Length>({
822857 throw new Error ( `border-top-width should be Non-Negative Finite number. Value: ${ value } ` ) ;
823858 }
824859
825- target . view . effectiveBorderTopWidth = value ;
860+ const view = target . viewRef . get ( ) ;
861+ if ( view ) {
862+ view . effectiveBorderTopWidth = value ;
863+ } else {
864+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
865+ }
826866 const background = target . backgroundInternal . withBorderTopWidth ( value ) ;
827867 target . backgroundInternal = background ;
828868 } , valueConverter : Length . parse
@@ -837,7 +877,12 @@ export const borderRightWidthProperty = new CssProperty<Style, Length>({
837877 throw new Error ( `border-right-width should be Non-Negative Finite number. Value: ${ value } ` ) ;
838878 }
839879
840- target . view . effectiveBorderRightWidth = value ;
880+ const view = target . viewRef . get ( ) ;
881+ if ( view ) {
882+ view . effectiveBorderRightWidth = value ;
883+ } else {
884+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
885+ }
841886 const background = target . backgroundInternal . withBorderRightWidth ( value ) ;
842887 target . backgroundInternal = background ;
843888 } , valueConverter : Length . parse
@@ -852,7 +897,12 @@ export const borderBottomWidthProperty = new CssProperty<Style, Length>({
852897 throw new Error ( `border-bottom-width should be Non-Negative Finite number. Value: ${ value } ` ) ;
853898 }
854899
855- target . view . effectiveBorderBottomWidth = value ;
900+ const view = target . viewRef . get ( ) ;
901+ if ( view ) {
902+ view . effectiveBorderBottomWidth = value ;
903+ } else {
904+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
905+ }
856906 const background = target . backgroundInternal . withBorderBottomWidth ( value ) ;
857907 target . backgroundInternal = background ;
858908 } , valueConverter : Length . parse
@@ -867,7 +917,12 @@ export const borderLeftWidthProperty = new CssProperty<Style, Length>({
867917 throw new Error ( `border-left-width should be Non-Negative Finite number. Value: ${ value } ` ) ;
868918 }
869919
870- target . view . effectiveBorderLeftWidth = value ;
920+ const view = target . viewRef . get ( ) ;
921+ if ( view ) {
922+ view . effectiveBorderLeftWidth = value ;
923+ } else {
924+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
925+ }
871926 const background = target . backgroundInternal . withBorderLeftWidth ( value ) ;
872927 target . backgroundInternal = background ;
873928 } , valueConverter : Length . parse
@@ -1095,7 +1150,12 @@ export namespace Visibility {
10951150
10961151export const visibilityProperty = new CssProperty < Style , Visibility > ( {
10971152 name : "visibility" , cssName : "visibility" , defaultValue : Visibility . VISIBLE , affectsLayout : isIOS , valueConverter : Visibility . parse , valueChanged : ( target , oldValue , newValue ) => {
1098- target . view . isCollapsed = ( newValue === Visibility . COLLAPSE ) ;
1153+ const view = target . viewRef . get ( ) ;
1154+ if ( view ) {
1155+ view . isCollapsed = ( newValue === Visibility . COLLAPSE ) ;
1156+ } else {
1157+ traceWrite ( `${ newValue } not set to view's property because ".viewRef" is cleared` , traceCategories . Style , traceMessageType . warn ) ;
1158+ }
10991159 }
11001160} ) ;
11011161visibilityProperty . register ( Style ) ;
0 commit comments