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

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