Я использую Muuri Plugin для реализации Widget для моего веб-приложения на английском языке.
Я нашел несколько примеров в сети, и они работают так, как я хочу, очень хорошо.
ссылка на этот код Муури Канбан следующая:
https://github.com/mriess260/angular-muuri-kanban-demo
Но теперь у меня проблема: я хочу динамически создавать виджеты, например, если нажать кнопку.
Канбан Виджет Инициатива.
ngOnInit() {
this.columnGrids = new Array<any>();
this.boardGrid = new Muuri('.board', {
dragEnabled: true,
dragStartPredicate: {
handle: '.board-column-header'
},
dragReleaseDuration: 400,
dragReleaseEasing: 'ease'
});
}
HTML выглядит следующим образом:
<div class="board">
<div class="board-column todo">
<div class="board-column-header">To do</div>
<div class="board-column-content">
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
1
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
2
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
3
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
4
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
5
</div>
</div>
</div>
</div>
<div class="board-column working">
<div class="board-column-header">
Working
</div>
<div class="board-column-content">
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
6
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
7
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
8
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>9</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>10</div>
</div>
</div>
</div>
<div class="board-column done">
<div class="board-column-header">Done</div>
<div class="board-column-content">
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
11
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
12
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
13
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
14
</div>
</div>
<div class="board-item">
<div class="board-item-content">
<span>Item #</span>
15
</div>
</div>
</div>
</div>
</div>
<button (click)="createNewItem()">create new item</button>
Есть кнопка для создания нового Канбана
createNewItem() {
this.boardGrid.add(this.generateItem());
}
generateItem() {
// tslint:disable-next-line:max-line-length
const itemTemplate = '<div class="board-column"><div class="board-column-header">To do</div><div class="board-column-content"><div class="board-item"><div class="board-item-content"></div></div></div></div>';
return itemTemplate;
}
Я не знаю, как это сделать правильно.
кто-нибудь какое-нибудь предложение.
С наилучшими пожеланиями,
Leo