File tree Expand file tree Collapse file tree 3 files changed +35
-8
lines changed
src/ProjectData/Screen/Area Expand file tree Collapse file tree 3 files changed +35
-8
lines changed Original file line number Diff line number Diff line change @@ -43,11 +43,38 @@ private function add(AbstractArea $area): AreaCollection
4343 {
4444 $ this ->iteratorItems [] = $ area ;
4545 $ this ->areas [] = $ area ;
46- $ this ->areasAssocArray [$ area ->getOrder ()] = $ area ;
46+
47+ $ currentOrderings = array_keys ($ this ->areasAssocArray );
48+ if (array_key_exists ($ area ->getOrder (), $ currentOrderings )) {
49+ $ maxOrdering = max ($ currentOrderings );
50+ $ this ->areasAssocArray [$ maxOrdering + 1 ] = $ area ;
51+ } else {
52+ $ this ->areasAssocArray [$ area ->getOrder ()] = $ area ;
53+ }
54+
55+ $ this ->normalizeOrdering ();
4756
4857 return $ this ;
4958 }
5059
60+ private function normalizeOrdering ()
61+ {
62+ $ fixedItems = [];
63+ $ currentItems = $ this ->areasAssocArray ;
64+ ksort ($ currentItems );
65+
66+ $ startOrdering = 0 ;
67+ foreach ($ currentItems as $ item ) {
68+ $ item ->setOrder ($ startOrdering );
69+ $ fixedItems [$ startOrdering ] = $ item ;
70+ $ startOrdering ++;
71+ }
72+
73+ $ this ->areasAssocArray = $ fixedItems ;
74+ $ this ->iteratorItems = array_values ($ fixedItems );
75+ $ this ->areas = array_values ($ fixedItems );
76+ }
77+
5178 /**
5279 * @param array $areaCollectionArrayData
5380 * @throws \Exception
Original file line number Diff line number Diff line change @@ -159,7 +159,7 @@ public function getOrder(): int
159159 * @param int $order
160160 * @return $this
161161 */
162- private function setOrder (int $ order )
162+ public function setOrder (int $ order )
163163 {
164164 $ this ->order = $ order ;
165165
Original file line number Diff line number Diff line change @@ -111,16 +111,16 @@ private function setFont($font): TextArea
111111 /**
112112 * @return int
113113 */
114- public function getOriginalHeight (): int
114+ public function getOriginalHeight (): ? int
115115 {
116116 return $ this ->originalHeight ;
117117 }
118118
119119 /**
120- * @param int $originalHeight
120+ * @param ? int $originalHeight
121121 * @return TextArea
122122 */
123- public function setOriginalHeight (int $ originalHeight ): TextArea
123+ public function setOriginalHeight (? int $ originalHeight ): TextArea
124124 {
125125 $ this ->originalHeight = $ originalHeight ;
126126
@@ -130,16 +130,16 @@ public function setOriginalHeight(int $originalHeight): TextArea
130130 /**
131131 * @return int
132132 */
133- public function getOriginalWidth (): int
133+ public function getOriginalWidth (): ? int
134134 {
135135 return $ this ->originalWidth ;
136136 }
137137
138138 /**
139- * @param int $originalWidth
139+ * @param ? int $originalWidth
140140 * @return TextArea
141141 */
142- public function setOriginalWidth (int $ originalWidth ): TextArea
142+ public function setOriginalWidth (? int $ originalWidth ): TextArea
143143 {
144144 $ this ->originalWidth = $ originalWidth ;
145145
You can’t perform that action at this time.
0 commit comments