@@ -48,7 +48,7 @@ export function isUserSizesValid(unit: 'percent' | 'pixel', sizes: Array<number
4848 }
4949}
5050
51- export function getAreaAbsorptionCapacity ( unit : 'percent' | 'pixel' , areaSnapshot : IAreaSnapshot , pixels : number ) : IAreaAbsorptionCapacity {
51+ export function getAreaAbsorptionCapacity ( unit : 'percent' | 'pixel' , areaSnapshot : IAreaSnapshot , pixels : number , containerSizePixel : number ) : IAreaAbsorptionCapacity {
5252 // No pain no gain
5353 if ( pixels === 0 ) {
5454 return {
@@ -70,14 +70,14 @@ export function getAreaAbsorptionCapacity(unit: 'percent' | 'pixel', areaSnapsho
7070 }
7171
7272 if ( unit === 'pixel' ) {
73- return getAreaAbsorptionCapacityPixel ( areaSnapshot , pixels ) ;
73+ return getAreaAbsorptionCapacityPixel ( areaSnapshot , pixels , containerSizePixel ) ;
7474 }
7575 else if ( unit === 'percent' ) {
76- return getAreaAbsorptionCapacityPercent ( areaSnapshot , pixels ) ;
76+ return getAreaAbsorptionCapacityPercent ( areaSnapshot , pixels , containerSizePixel ) ;
7777 }
7878}
7979
80- function getAreaAbsorptionCapacityPercent ( areaSnapshot : IAreaSnapshot , pixels : number ) : IAreaAbsorptionCapacity {
80+ function getAreaAbsorptionCapacityPercent ( areaSnapshot : IAreaSnapshot , pixels : number , containerSizePixel : number ) : IAreaAbsorptionCapacity {
8181 const tempPixelSize = areaSnapshot . sizePixelAtStart + pixels ;
8282 const tempPercentSize = tempPixelSize / areaSnapshot . sizePixelAtStart * areaSnapshot . sizePercentAtStart ;
8383
@@ -95,10 +95,19 @@ function getAreaAbsorptionCapacityPercent(areaSnapshot: IAreaSnapshot, pixels: n
9595 pixelRemain : pixels - maxPixelAbsorb
9696 } ;
9797 }
98+ else if ( areaSnapshot . sizePixelAtStart === 0 ) {
99+ console . log ( 'TODO percentAfterAbsorption' , ( pixels / containerSizePixel * 100 ) )
100+ return {
101+ areaSnapshot,
102+ pixelAbsorb : pixels ,
103+ percentAfterAbsorption : pixels / containerSizePixel * 100 ,
104+ pixelRemain : pixels ,
105+ } ;
106+ }
98107 return {
99108 areaSnapshot,
100109 pixelAbsorb : pixels ,
101- percentAfterAbsorption : tempPercentSize ,
110+ percentAfterAbsorption : tempPercentSize > 100 ? 100 : tempPercentSize ,
102111 pixelRemain : 0
103112 } ;
104113 }
@@ -124,7 +133,7 @@ function getAreaAbsorptionCapacityPercent(areaSnapshot: IAreaSnapshot, pixels: n
124133 areaSnapshot,
125134 pixelAbsorb : - areaSnapshot . sizePixelAtStart ,
126135 percentAfterAbsorption : 0 ,
127- pixelRemain : pixels - areaSnapshot . sizePixelAtStart
136+ pixelRemain : pixels + areaSnapshot . sizePixelAtStart
128137 } ;
129138 }
130139 return {
@@ -136,7 +145,7 @@ function getAreaAbsorptionCapacityPercent(areaSnapshot: IAreaSnapshot, pixels: n
136145 }
137146}
138147
139- function getAreaAbsorptionCapacityPixel ( areaSnapshot : IAreaSnapshot , pixels : number ) : IAreaAbsorptionCapacity {
148+ function getAreaAbsorptionCapacityPixel ( areaSnapshot : IAreaSnapshot , pixels : number , containerSizePixel : number ) : IAreaAbsorptionCapacity {
140149 const tempPixelSize = areaSnapshot . sizePixelAtStart + pixels ;
141150
142151 // ENLARGE AREA
0 commit comments