Я пытался сделать контейнеры "зданиями", чтобы перемещать "партии" внутри, а контейнеры "партии" также содержали "этажи" внутри. Я должен иметь возможность перетаскивать «лоты» в «здания» и «полы» в «участки». Не должно быть возможности иметь «этажи» вне «лотов».
Вот мой массив:
this.buildings = [
{ id: 1, name: "building1", lots: [
{ id: 1, name: "lot1", building_id: 2, floors: [
{ id: 1, name: "floor1", lot_id: 1 },
{ id: 2, name: "floor2", lot_id: 1 },
{ id: 3, name: "floor3", lot_id: 1 }] },
{ id: 2, name: "lot2", building_id: 1, floors: [
{ id: 1, name: "floor1", lot_id: 2 },
{ id: 2, name: "floor2", lot_id: 2 },
{ id: 3, name: "floor3", lot_id: 2 }] }] },
{ id: 2, name: "building2", lots: [
{ id: 1, name: "lot1b", building_id: 2, floors: [
{ id: 1, name: "floor1b", lot_id: 1 },
{ id: 2, name: "floor2b", lot_id: 1 },
{ id: 3, name: "floor3b", lot_id: 1 }] },
{ id: 2, name: "lot2b", building_id: 2, floors: [
{ id: 1, name: "floor1b", lot_id: 2 },
{ id: 2, name: "floor2b", lot_id: 2 },
{ id: 3, name: "floor3b", lot_id: 2 }] }] }
]
А вот мой HTML:
<ion-card *ngFor="let building of buildings">
<ion-card-title>
{{building.name}}
</ion-card-title>
<ion-card-content [dragula]='"bag-one"' [(dragulaModel)]="building.lots">
<ion-card *ngFor="let lot of building.lots">
<ion-card-title>
{{lot.name}}
</ion-card-title>
<ion-card-content [dragula]='"bag"' [(dragulaModel)]="lot.floors">
<ion-card *ngFor="let floor of lot.floors">
<ion-card-title>
{{floor.name}}
</ion-card-title>
</ion-card>
</ion-card-content>
</ion-card>
</ion-card-content>
</ion-card>
С помощью этого кода можно перемещать «лоты» в «здания», но невозможно изменить порядок «этажей» внутри «лотов».