index.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # coding: utf8
  2. """С этого начинается работа """
  3. from browser import document, ajax
  4. def bot_list_update(event):
  5. """Обновляет список ботов"""
  6. def read(req):
  7. print(req.text)
  8. document["bot_list"] = req.text
  9. print(f"bot_list_update click, ev={event}!")
  10. ajax.get("/bot_list/update", oncomplete=read)
  11. def bot_list_add(event):
  12. """Добавляет нового бота"""
  13. print(f"bot_list_add click, ev={event}!")
  14. FormBotNew()
  15. class FormBotNew():
  16. """Показывает форму добавления бота"""
  17. def __init__(self):
  18. print("FormBotNew.__init__()")
  19. self.div_new = document["bot_list_new"]
  20. self.div_new.clear()
  21. self.box_new = document.createElement("div")
  22. self.box_new["class"] = "container bg-secondary text-white p-3 border"
  23. self.ent_login = document.createElement("input")
  24. self.ent_login["class"] = "col"
  25. self.ent_login["id"] = "bot_login"
  26. self.ent_pass = document.createElement("input")
  27. self.ent_pass["class"] = "col"
  28. self.ent_pass["id"] = "bot_pass"
  29. self.add_container_new()
  30. def add_container_new(self):
  31. """Добавляет контейнер добавления нового бота"""
  32. print("FormBotNew.add_container_new()")
  33. self.add_row_login()
  34. self.add_row_pass()
  35. self.add_row_btn()
  36. self.div_new.appendChild(self.box_new)
  37. def add_row_login(self) -> None:
  38. """Добавляет ряд логина"""
  39. print("FormBotNew.add_row_login()")
  40. row_login = document.createElement("div")
  41. row_login["class"] = "row p-3"
  42. lbl_login = document.createElement("label")
  43. lbl_login["class"] = "col-2"
  44. lbl_login.text = "Логин"
  45. row_login.appendChild(lbl_login)
  46. row_login.appendChild(self.ent_login)
  47. self.box_new.appendChild(row_login)
  48. def add_row_pass(self) -> None:
  49. """Добавляет ряд пароля"""
  50. print("FormBotNew.add_row_pass()")
  51. row_pass = document.createElement("div")
  52. row_pass["class"] = "row p-3"
  53. lbl_pass = document.createElement("label")
  54. lbl_pass["class"] = "col-2"
  55. lbl_pass.text = "Пароль"
  56. row_pass.appendChild(lbl_pass)
  57. row_pass.appendChild(self.ent_pass)
  58. self.box_new.appendChild(row_pass)
  59. def add_row_btn(self) -> None:
  60. """добавляет ряд кнопок формы"""
  61. row_btn = document.createElement("div")
  62. row_btn["class"] = "row p-3"
  63. lbl_btn = document.createElement("label")
  64. lbl_btn["class"] = "col-6"
  65. row_btn.appendChild(lbl_btn)
  66. btn_cancel = document.createElement("button")
  67. btn_cancel["class"] = "btn btn-dark col-3"
  68. btn_cancel.text = "Отмена"
  69. btn_cancel.bind("click", self.clear)
  70. row_btn.appendChild(btn_cancel)
  71. btn_add = document.createElement("button")
  72. btn_add["class"] = "btn btn-primary col-3"
  73. btn_add.text = "Добавить"
  74. btn_add.bind("click", self.add)
  75. row_btn.appendChild(btn_add)
  76. self.box_new.appendChild(row_btn)
  77. def add(self, event) -> None:
  78. """Получает логин и пароль нового боты из формы"""
  79. print("FormBotNew.clear()")
  80. login = self.ent_login.value
  81. _pass = self.ent_pass.value
  82. print(f"FormBotNew.clear(): login={login}, " +
  83. f"pass={_pass}, event={event}")
  84. self.div_new.clear()
  85. def clear(self, event) -> None:
  86. """Зачищает форму логина"""
  87. print("FormBotNew.clear()")
  88. self.div_new.clear()
  89. document["bot_list_update"].bind("click", bot_list_update)
  90. document["bot_list_add"].bind("click", bot_list_add)
  91. document.attach("Hello !")