dialogWithBoardSwimlaneListCard.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { DialogWithBoardSwimlaneList } from '/client/lib/dialogWithBoardSwimlaneList';
  2. export class DialogWithBoardSwimlaneListCard extends DialogWithBoardSwimlaneList {
  3. getDefaultOption(boardId) {
  4. const ret = {
  5. 'boardId' : "",
  6. 'swimlaneId' : "",
  7. 'listId' : "",
  8. 'cardId': "",
  9. }
  10. return ret;
  11. }
  12. /** returns if the card id was the last confirmed one
  13. * @param cardId check this card id
  14. * @return if the card id was the last confirmed one
  15. */
  16. isDialogOptionCardId(cardId) {
  17. let ret = this.cardOption.cardId == cardId;
  18. return ret;
  19. }
  20. /** returns all available cards of the current list */
  21. cards() {
  22. const list = Lists.findOne(this.selectedListId.get());
  23. let ret = {}
  24. if (list) {
  25. ret = list.cards(this.selectedSwimlaneId.get());
  26. }
  27. return ret;
  28. }
  29. events() {
  30. return [
  31. {
  32. 'click .js-done'() {
  33. const boardSelect = this.$('.js-select-boards')[0];
  34. const boardId = boardSelect.options[boardSelect.selectedIndex].value;
  35. const listSelect = this.$('.js-select-lists')[0];
  36. const listId = listSelect.options[listSelect.selectedIndex].value;
  37. const swimlaneSelect = this.$('.js-select-swimlanes')[0];
  38. const swimlaneId = swimlaneSelect.options[swimlaneSelect.selectedIndex].value;
  39. const cardSelect = this.$('.js-select-cards')[0];
  40. const cardId = cardSelect.options[cardSelect.selectedIndex].value;
  41. const options = {
  42. 'boardId' : boardId,
  43. 'swimlaneId' : swimlaneId,
  44. 'listId' : listId,
  45. 'cardId': cardId,
  46. }
  47. this.setDone(cardId, options);
  48. Popup.back(2);
  49. },
  50. 'change .js-select-boards'(event) {
  51. const boardId = $(event.currentTarget).val();
  52. this.getBoardData(boardId);
  53. },
  54. 'change .js-select-swimlanes'(event) {
  55. this.selectedSwimlaneId.set($(event.currentTarget).val());
  56. },
  57. 'change .js-select-lists'(event) {
  58. this.selectedListId.set($(event.currentTarget).val());
  59. },
  60. },
  61. ];
  62. }
  63. }