You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

WelcomePage.js 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /* global $, interfaceConfig, APP */
  2. var animateTimeout, updateTimeout;
  3. var RoomnameGenerator = require("../../util/RoomnameGenerator");
  4. import UIUtil from "../util/UIUtil";
  5. function enter_room() {
  6. var val = $("#enter_room_field").val();
  7. if(!val) {
  8. val = $("#enter_room_field").attr("room_name");
  9. }
  10. if (val) {
  11. window.location.pathname = "/" + val;
  12. }
  13. }
  14. function animate(word) {
  15. var currentVal = $("#enter_room_field").attr("placeholder");
  16. $("#enter_room_field").attr("placeholder", currentVal + word.substr(0, 1));
  17. animateTimeout = setTimeout(function() {
  18. animate(word.substring(1, word.length));
  19. }, 70);
  20. }
  21. function update_roomname() {
  22. var word = RoomnameGenerator.generateRoomWithoutSeparator();
  23. $("#enter_room_field").attr("room_name", word);
  24. $("#enter_room_field").attr("placeholder", "");
  25. clearTimeout(animateTimeout);
  26. animate(word);
  27. updateTimeout = setTimeout(update_roomname, 10000);
  28. }
  29. function setupWelcomePage() {
  30. $("#videoconference_page").hide();
  31. $("#domain_name").text(
  32. window.location.protocol + "//" + window.location.host + "/");
  33. if (interfaceConfig.SHOW_JITSI_WATERMARK) {
  34. var leftWatermarkDiv =
  35. $("#welcome_page_header div[class='watermark leftwatermark']");
  36. if(leftWatermarkDiv && leftWatermarkDiv.length > 0) {
  37. leftWatermarkDiv.css({display: 'block'});
  38. UIUtil.setLinkHref(
  39. leftWatermarkDiv.parent(),
  40. interfaceConfig.JITSI_WATERMARK_LINK);
  41. }
  42. }
  43. if (interfaceConfig.SHOW_BRAND_WATERMARK) {
  44. var rightWatermarkDiv =
  45. $("#welcome_page_header div[class='watermark rightwatermark']");
  46. if(rightWatermarkDiv && rightWatermarkDiv.length > 0) {
  47. rightWatermarkDiv.css({display: 'block'});
  48. UIUtil.setLinkHref(
  49. rightWatermarkDiv.parent(),
  50. interfaceConfig.BRAND_WATERMARK_LINK);
  51. rightWatermarkDiv.get(0).style.backgroundImage =
  52. "url(images/rightwatermark.png)";
  53. }
  54. }
  55. if (interfaceConfig.SHOW_POWERED_BY) {
  56. $("#welcome_page_header>a[class='poweredby']")
  57. .css({display: 'block'});
  58. }
  59. $("#enter_room_button").click(function() {
  60. enter_room();
  61. });
  62. $("#enter_room_field").keydown(function (event) {
  63. if (event.keyCode === 13 /* enter */) {
  64. enter_room();
  65. }
  66. });
  67. if (interfaceConfig.GENERATE_ROOMNAMES_ON_WELCOME_PAGE !== false) {
  68. var updateTimeout;
  69. var animateTimeout;
  70. var selector = $("#reload_roomname");
  71. selector.click(function () {
  72. clearTimeout(updateTimeout);
  73. clearTimeout(animateTimeout);
  74. update_roomname();
  75. });
  76. selector.show();
  77. update_roomname();
  78. }
  79. $("#disable_welcome").click(function () {
  80. APP.settings.setWelcomePageEnabled(
  81. !$("#disable_welcome").is(":checked")
  82. );
  83. });
  84. }
  85. module.exports = setupWelcomePage;