Открыть боковую панель
valov_1205
universo-phaser
Коммиты
5d7acf7f
Коммит
5d7acf7f
создал
Ноя 14, 2023
по автору
avathar
Просмотр файлов
#102 fix
владелец
7cda4eb2
Изменения
1
Скрыть пробелы
Построчно
Рядом
universo-frontend/src/stores/kanvaso.ts
Просмотр файла @
5d7acf7f
...
...
@@ -60,6 +60,9 @@ class ObjectWrapper {
setChildrens
(
childrens
:
ObjectWrapper
|
ObjectWrapper
[])
{
this
.
_wrappingObject
.
childrens
.
push
(
childrens
);
}
removeChildrens
()
{
this
.
_wrappingObject
.
childrens
.
length
=
0
;
}
get
hasParent
()
{
return
!!
this
.
_wrappingObject
.
kanvasojKanvasoobjektoligiloLigilo
;
}
...
...
@@ -91,8 +94,9 @@ export const useKanvasoStore = defineStore('Kanvaso', {
// Инициализируем nodeMap и добавляем каждому узлу пустой массив children и геттеры для получения свойств
nodes
.
forEach
((
node
)
=>
{
nodeMap
[
node
.
uuid
]
=
node
;
node
.
removeChildrens
();
});
console
.
log
(
'
nodeMap :>>
'
,
Object
.
keys
(
nodeMap
));
// Фильтруем узлы, чтобы сохранить только корневые узлы в результирующем массиве.
const
tree
:
ObjectWrapper
[]
=
nodes
.
filter
((
node
)
=>
{
// Если у узла есть uuid родителя, добавляем его в children его родителя.
...
...
@@ -166,10 +170,10 @@ export const useKanvasoStore = defineStore('Kanvaso', {
this
.
kanvasoObjektoMap
.
clear
();
kanvasoObjektoArr
.
forEach
((
item
)
=>
{
if
(
item
.
node
?.
uuid
)
{
this
.
kanvasoObjektoMap
.
set
(
item
.
node
.
uuid
,
new
ObjectWrapper
(
JSON
.
parse
(
JSON
.
stringify
(
item
.
node
))),
const
obj
=
new
ObjectWrapper
(
JSON
.
parse
(
JSON
.
stringify
(
item
.
node
)),
);
this
.
kanvasoObjektoMap
.
set
(
obj
.
uuid
,
obj
);
}
});
return
Promise
.
resolve
(
response
);
...
...
@@ -249,11 +253,12 @@ export const useKanvasoStore = defineStore('Kanvaso', {
if
(
objekto
)
{
if
(
objekto
.
forigo
===
true
)
{
_this
.
kanvasoObjektoMap
.
delete
(
objekto
.
uuid
);
}
else
_this
.
kanvasoObjektoMap
.
set
(
objekto
.
uuid
,
new
ObjectWrapper
(
JSON
.
parse
(
JSON
.
stringify
(
objekto
))),
}
else
{
const
obj
=
new
ObjectWrapper
(
JSON
.
parse
(
JSON
.
stringify
(
objekto
)),
);
_this
.
kanvasoObjektoMap
.
set
(
obj
.
uuid
,
obj
);
}
}
}
},
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать