share.js 25 KB
Newer Older
Lee Munkyeong committed
1 2 3 4
/* --------------------------------------------------- */
/* Functions                                           */
/* --------------------------------------------------- */
let coview_api = new CoviewApi();
Lee Munkyeong committed
5
var isDocument = false;
Lee Munkyeong committed
6
var isBoard = false;
7
let isLeaved = false;
8
let timeInterval = null;
Lee Munkyeong committed
9
var backgroundFileName;
10
var isIos;
11

12 13 14 15 16
$(function () {
  var coviewApiActive = coview_api.Init({
    testSTRParam: "param1",
    testNUMParam: 77,
    testBOOLParam: false,
17
    coview_api_srv_addr: "https://biztaskyell.abookcloud.com",
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
    coview_wrap_id: "coviewShare",
    coview_api_key: "8dda7092c5820d663",
  });

  // special button IN Chat ui
  $("#coviewShareMainBtn").on("click", function (e) {
    e.stopPropagation();
    if ($(".coview_share_dropdown_bar").is(":visible") == true) {
      Coview_shareDropdownHide();

      if ($(".coview_share_photo_select_bubble").is(":visible") == true) {
        $(".coview_share_photo_select_bubble").slideUp();
      }
    } else {
      $(".coview_share_dropdown_bar").slideDown();
    }
  });
Kang Donghun committed
35

36 37 38 39
  $("#coviewShareCloseButton").on("click", function (e) {
    coview_api.LeaveRoom();
    $(".coview_share_area").hide();
  });
Kang Donghun committed
40

41 42
  $("body").on("click", function () {
    Coview_shareDropdownHide();
43

44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
    if ($(".coview_share_photo_select_bubble").is(":visible") == true) {
      $(".coview_share_photo_select_bubble").slideUp();
    } else {
      $(".coview_share_dropdown_bar").slideDown();
    }
  });

  $(document).on("click", ".coview_share_request", function () {
    console.log("globalUserInfo", globalUserInfo);
    if ($(this).hasClass(collaborationTypeKey.VIDEO) == true) {
      globalUserInfo.coWorkType = collaborationTypeKey.VIDEO;
      $(".coview_share_title_name").text("LIVE");
    } else if ($(this).hasClass(collaborationTypeKey.CAMERA) == true) {
      globalUserInfo.coWorkType = collaborationTypeKey.CAMERA;
      $(".coview_share_title_name").text("ライブラリ");
    } else if ($(this).hasClass(collaborationTypeKey.AUDIO) == true) {
      globalUserInfo.coWorkType = collaborationTypeKey.AUDIO;
      $(".coview_share_title_name").text("音声通話");
    }
Kang Donghun committed
63

64 65 66
    coview_api.JoinRoom(globalUserInfo.roomId, globalUserInfo.coWorkType);
    Coview_moveToVideoShareArea();
  });
Kang Donghun committed
67

68 69 70 71 72 73
  /* --------------------------------------------------- */
  /* Video, photo, chat, doc                             */
  /* --------------------------------------------------- */
  $("#coviewShareChat").on("click", function () {
    console.log("ON click coviewShareChat");
  });
Kang Donghun committed
74

75 76 77
  $("#coviewSharePhoto").on("click", function (e) {
    e.stopPropagation();
    console.log("ON click coviewSharePhoto");
Kang Donghun committed
78

79 80 81 82 83 84
    if ($(".coview_share_photo_select_bubble").is(":visible") == true) {
      $(".coview_share_photo_select_bubble").slideUp();
    } else {
      $(".coview_share_photo_select_bubble").slideDown();
    }
  });
Kang Donghun committed
85

86 87 88 89 90
  $("#coviewSharePhotoCamera").on("click", function () {
    $(".coview_share_photo_select_bubble").hide();
    globalUserInfo.coWorkType = collaborationTypeKey.CAMERA;
    coview_api.CreateRoom(globalUserInfo.roomId, globalUserInfo.coWorkType);
    Coview_moveToVideoShareArea();
Kang Donghun committed
91

92 93 94 95 96 97 98
    $(".coview_share_title_name").text("カメラ");
  });
  $("#coviewSharePhotoGallery").on("click", function () {
    $(".coview_share_photo_select_bubble").hide();
    globalUserInfo.coWorkType = "gallery";
    coview_api.CreateRoom(globalUserInfo.roomId, globalUserInfo.coWorkType);
    Coview_moveToVideoShareArea();
Kang Donghun committed
99

100 101
    $(".coview_share_title_name").text("ライブラリ");
  });
Kang Donghun committed
102

103 104 105
  $("#coviewShareAudio").on("click", function () {
    Coview_connect_audio_collaboration();
  });
Kang Donghun committed
106

107 108 109 110
  $("#coviewShareLive").on("click", function () {
    console.log("ON click coviewShareLive");
    globalUserInfo.coWorkType = "video";
    console.log("globalUserInfo", globalUserInfo);
Kang Donghun committed
111

112 113
    coview_api.CreateRoom(globalUserInfo.roomId, globalUserInfo.coWorkType);
    Coview_moveToVideoShareArea();
Kang Donghun committed
114

115 116 117 118 119 120 121
    $(".coview_share_title_name").text("LIVE");
  });

  coview_api.addEventListener("ready", function () {
    console.log("=============> READY : ready for coview api");
    Coview_addLoginId(globalUserInfo.loginId);
    coview_api.Login(globalUserInfo.loginId);
122
    initCollaborationUI(joinCollaborationType)
123 124 125
    fw.socket.on('message', async function(data) {
      console.log('====> message::data: ', data);
      if (data.type ==="CHANGE_COLLABORATION") {
126
        if (joinCollaborationType == COLLABORATION_TYPE.DOCUMENT) {
127
          if (CHAT_UTIL.isIOS()) {
128
            webkit.messageHandlers.exitMeetingRoom.postMessage({});
129 130 131 132
          } else if (CHAT_UTIL.isAndroid()) {
            android.exitMeetingRoom();
          }
        }
133 134

        if (CHAT_UTIL.isAndroid() && data.payload.collaborationType == COLLABORATION_TYPE.DOCUMENT && androidVersion < ANDROID_SDK_VERSION.O) {
135
          alert(getLocalizedString('not_support_version'));
136 137 138
          joinCollaborationType = COLLABORATION_TYPE.CAMERA;
        } else {
          joinCollaborationType = data.payload.collaborationType;
139 140
        }
        joinMeetingId = data.payload.newMeetingId;
141 142
        initCollaborationUI(joinCollaborationType);

143
        if (CHAT_UTIL.isIOS()) {
144
          webkit.messageHandlers.joinChangedCollaboration.postMessage({"joinCollaborationType": joinCollaborationType, "meetingId": data.payload.newMeetingId});
145
          webkit.messageHandlers.joinMeetingRoom.postMessage(data.payload.newMeetingId);
146
        } else if (CHAT_UTIL.isAndroid()) {
147 148
          android.joinChangedCollaboration(joinCollaborationType, data.payload.newMeetingId);
          if (joinCollaborationType == COLLABORATION_TYPE.DOCUMENT) {
149
            android.joinMeetingRoom(data.payload.newMeetingId);
150 151
          }
        }
152
      } else if (data.type ==="SHARE_FILE") {
153 154 155 156
        if (joinCollaborationType != COLLABORATION_TYPE.CAMERA) {
          initCollaborationUI(COLLABORATION_TYPE.CAMERA);
          joinCollaborationType = COLLABORATION_TYPE.CAMERA;
          fw.sendToMsg('others', 'SHARE_FILE_HOST', {"collaborationType": COLLABORATION_TYPE.CAMERA});
157
        }
158
      } else if (data.type ==="SHARE_FILE_HOST") {
159 160 161
        if (joinCollaborationType != COLLABORATION_TYPE.CAMERA && g_isMainMan) {
          initCollaborationUI(COLLABORATION_TYPE.CAMERA);
          joinCollaborationType = COLLABORATION_TYPE.CAMERA;
162
        }
163
      } else if (data.type === "CAPTURE_REQUEST" && g_isMainMan) {
164
        if (confirm(data.payload.name + getLocalizedString("request_capture"))) {
165
          captureAndShareImage(CMS_SERVER_URL + '/chatapi/file/uploadArchive', data.payload.name);
166
        }
167
      } else if (data.type === "HOST_CHANGE_REQUEST") {
168
        if (data.payload.loginId == globalUserInfo.loginId) {
169 170 171 172 173 174 175 176
          fw.sendToMsg('others', 'HOST_CHANGE_RESPONSE', {"isAndroid": CHAT_UTIL.isAndroid(), "isAble" : androidVersion >= ANDROID_SDK_VERSION.O, "loginId": CHAT.globalLoginParameter.loginId});
        }
      } else if (data.type === "HOST_CHANGE_RESPONSE") {
        var isAndroid = data.payload.isAndroid;
        var isAble = data.payload.isAble
        if (g_isMainMan && isAndroid && !isAble && joinCollaborationType == COLLABORATION_TYPE.DOCUMENT) {
          alert(getLocalizedString('err_target_android_version_not_support'));
        } else {
177
          Coview_changeHost(getFermiLoginId(data.payload.loginId));
178
        }
179 180 181 182
      } else if (data.type === "API_SEND_OWNER_CHANGE_COMPLETE") {
        if ($('#recordBtn').hasClass('bg_red')) {
          recordStop();
        }
183
        penOff();
184 185
      } else if (data.type === "CHANGE_HOST_APPLY") {
        if(confirm(getLocalizedString('norify_request_host_change',data.payload.hostId))) {
186
          Coview_changeHost(getFermiLoginId(data.payload.hostId));
187
        }
188
      }
189
    });
190 191
  });

192 193 194 195 196
  coview_api.addEventListener("start", function () {
    console.log("=============> START : share start");
    $("#loadingIndicator").removeClass("full_active");
  });

197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
  coview_api.addEventListener("allbye", function () {
    console.log("=============> ALL BYE : share allbye");
    $("#loadingIndicator").removeClass("full_active");
  });

  coview_api.addEventListener("guestbye", function () {
    console.log("=============> GUEST BYE : share guestbye");
    $("#loadingIndicator").removeClass("full_active");
  });

  coview_api.addEventListener("hostbye", function () {
    console.log("=============> HOST BYE : share hostbye");
    alert(getLocalizedString("inform_exit_host_collaboration"));
    Coview_exitCollaboration();
    $("#loadingIndicator").removeClass("full_active");
  });

  coview_api.addEventListener("destroy", function () {
    console.log("=============> DESTROY : share destroy");
    coview_api.LeaveRoom();
    $(".coview_share_area").hide();
    $("#loadingIndicator").removeClass("full_active");
  });
    
  var meetingId;
    
  coview_api.addEventListener("message", async function (event, json) {
    console.log("+++ addEventListener", json);
    console.log("processMessage api = ", json.api);
    if (isLeaved) return;
    let loginIdList = new Array();
    switch (json.api) {
      case "LoginResponse":
        if (globalUserInfo.coWorkType == collaborationTypeKey.DOCUMENT) {
          isDocument = true;
          globalUserInfo.coWorkType = collaborationTypeKey.AUDIO;
        }
Lee Munkyeong committed
234 235 236 237
        if (globalUserInfo.coWorkType == collaborationTypeKey.BOARD) {
          isBoard = true;
          globalUserInfo.coWorkType = collaborationTypeKey.CAMERA;
        }
238
        hostSearchInterval();
239 240 241 242
        if (collaborationJoinFlg == "1") {
          coview_api.JoinRoom(globalUserInfo.roomId, globalUserInfo.coWorkType);
          if (isDocument) {
            if (CHAT_UTIL.isIOS()) {
Lee Munkyeong committed
243
              webkit.messageHandlers.startContentView.postMessage({});
244
            } else if (CHAT_UTIL.isAndroid()) {
Lee Munkyeong committed
245
              android.startContentView();
246 247 248 249 250 251 252 253 254
            }
          }
        } else if (collaborationJoinFlg == "0") {
          coview_api.CreateRoom(
            globalUserInfo.roomId,
            globalUserInfo.coWorkType
          );
          if (isDocument) {
            if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
255
              meetingId = CHAT_DB.createContentView();
256 257 258 259 260 261 262
            } else if (CHAT_UTIL.isAndroid()) {
              meetingId = android.createContentView();
            }
          }
        } else if (collaborationJoinFlg == "2") {
          coview_api.JoinRoom(globalUserInfo.roomId, globalUserInfo.coWorkType);
        }
263 264
        Coview_moveToVideoShareArea();

265 266 267 268 269 270 271 272 273 274 275 276 277
        break;
      case "CreateRoomResponse":
        if (json.resultCode == 200) {
          var coviewInviteMessage;
          if (isDocument) {
            coviewInviteMessage =
              "" +
              messageSeperator +
              messageType.COMMUNICATIONSTART +
              messageSeperator +
              CHAT_UTIL.getCollaborationType(collaborationTypeKey.DOCUMENT) +
              messageSeperator +
              meetingId;
Lee Munkyeong committed
278 279 280 281 282 283
          } else if (isBoard) {
            coviewInviteMessage =
              "" +
              messageSeperator +
              messageType.COMMUNICATIONSTART +
              messageSeperator +
284
              COLLABORATION_TYPE.BOARD;
285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
          } else {
            coviewInviteMessage =
              "" +
              messageSeperator +
              messageType.COMMUNICATIONSTART +
              messageSeperator +
              CHAT_UTIL.getCollaborationType(globalUserInfo.coWorkType);
          }
          socket.emit(
            "createMessage",
            {
              text: coviewInviteMessage,
            },
            0
          );
Lee Munkyeong committed
300 301 302 303 304
          if (isBoard) {
            $('#open_file_upload').on("click",function(e){
                e.preventDefault();
            });
          }
305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322
        } else {
        }
        break;
      case "JoinRoomInfoResponse":
        if (json.resultCode == 200) {
        } else {
          alert(
            "Not exist sharing call (" +
              json.resultCode +
              ")\nPlease using share menu."
          );
          coview_api.LeaveRoom();
          $(".coview_share_area").hide();
          $("#loadingIndicator").removeClass("full_active");
        }
        break;
      case "JoinRoomResponse":
        if (json.resultCode == 200) {
323
          hostSearchInterval();
324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
          for (let key in g_participants) {
            loginIdList.push(key);
          }
          CHAT_UI.refreshJoinedCollaboration(loginIdList);
        } else {
        }
        break;
      case "RoomMemberJoinedEvent":
        for (let key in g_participants) {
          loginIdList.push(key);
        }
        CHAT_UI.refreshJoinedCollaboration(loginIdList);
        break;
      case "RoomMemberLeavedEvent":
        for (let key in g_participants) {
          loginIdList.push(key);
        }
        CHAT_UI.refreshJoinedCollaboration(loginIdList);
        break;
343 344 345 346 347
      case "HostRequest":
        // to be called by
        // wc_api.dispatchEvent (new Event ("message"), {"HostRequest":"userID"});
        console.log("consoleLog", json);
        break;
Lee Munkyeong committed
348 349 350 351 352 353 354 355 356 357
      case "fileChange":
        LoadMobileShareFile(json.fileName);
        backgroundFileName = json.fileName;
        console.log("fileChange", json);
        break;
      case "ReceiveMediaResponse":
        if (isBoard && g_isMainMan) {
          wc_api.dispatchEvent (new Event ("message"), {"api":"fileChange","fileName":backgroundFileName});
        }
        break;
358 359 360 361 362
      default:
        console.log("Unrecognized api", json);
        break;
    }
  });
Lee Munkyeong committed
363 364
});

Kang Donghun committed
365
function Coview_shareDropdownHide() {
366 367
  $(".coview_share_dropdown_bar").slideUp();
  $(".coview_share_photo_select_bubble").slideUp();
Lee Munkyeong committed
368 369
}

Kang Donghun committed
370
function Coview_moveToVideoShareArea() {
371 372 373
  $("#loadingIndicator").addClass("full_active");
  $(".coview_share_area").show();
  $("#collabo_main").removeClass("none");
Lee Munkyeong committed
374
}
Lee Munkyeong committed
375

376
function changeCollaboration(changeCollaborationType) {
377
  var newMeetingId = 0;
378
  if (joinCollaborationType == COLLABORATION_TYPE.DOCUMENT) {
379
    if (CHAT_UTIL.isIOS()) {
380
        webkit.messageHandlers.exitMeetingRoom.postMessage({});
381 382 383 384 385
    } else if (CHAT_UTIL.isAndroid()) {
        android.exitMeetingRoom();
    }
  }
  if (CHAT_UTIL.isIOS()) {
386
    webkit.messageHandlers.setJoinCollaborationType.postMessage(changeCollaborationType);
387
  } else if (CHAT_UTIL.isAndroid()) {
388 389 390 391
    if (changeCollaborationType == COLLABORATION_TYPE.DOCUMENT && androidVersion < ANDROID_SDK_VERSION.O) {
      alert(getLocalizedString('not_support_version'));
      return;
    }
392 393 394
    android.setJoinCollaborationType(changeCollaborationType);
  }
  joinCollaborationType = changeCollaborationType;
395 396 397
  if ($('#recordBtn').hasClass('bg_red')) {
    recordStop();
  }
398
  initCollaborationUI(changeCollaborationType);
399
  switch (changeCollaborationType) {
400
    case COLLABORATION_TYPE.AUDIO:
401 402
      coview_api.ChangeCollaboration('audio');
      break;
403
    case COLLABORATION_TYPE.CAMERA:
404 405
      coview_api.ChangeCollaboration('image');
      break;
406
    case COLLABORATION_TYPE.VIDEO:
407 408
      coview_api.ChangeCollaboration('video');
      break;
409
    case COLLABORATION_TYPE.DOCUMENT:
410
      coview_api.ChangeCollaboration('audio');
411
      if (CHAT_UTIL.isIOS()) {
412
        newMeetingId = CHAT_DB.createContentView();
413 414 415 416
      } else if (CHAT_UTIL.isAndroid()) {
        newMeetingId = android.createContentView();
        console.log('newMeetingId = ' + newMeetingId);
      }
417
      break;
418
    case COLLABORATION_TYPE.BOARD:
419 420 421
      coview_api.ChangeCollaboration('audio');
      break;
  }
422
  penOff();
Lee Munkyeong committed
423
  if (CHAT_UTIL.isIOS()) {
424
    webkit.messageHandlers.changeCollaboration.postMessage({"changeCollaborationType": changeCollaborationType, "meetingId": newMeetingId});
Lee Munkyeong committed
425 426 427
  } else if (CHAT_UTIL.isAndroid()) {
    android.changeCollaboration(changeCollaborationType, newMeetingId);
  }
428
  fw.sendToMsg('others', 'CHANGE_COLLABORATION', {"collaborationType": changeCollaborationType, "newMeetingId": newMeetingId});
429 430 431
}

function initCollaborationUI(changeCollaborationType){
432 433 434
  if ($('.user_btn').hasClass("hide")) {
    $('.user_btn').click();
  }
435 436 437
  if ($('.menu_btn').hasClass("hide")) {
    $(".menu_btn").click();
  }
438 439 440 441 442 443
  if (CHAT_UTIL.isIOS) {
    roomType = CHAT_DB.getRoomType();
    if (roomType == chatRoomType.DM) {
      $('.add_user_btn').removeClass('none');
    }
  }
444
  $("link[href='./css/collaboration_board.css']").remove();
445
  penOff();
446
  switch (changeCollaborationType) {
447
    case COLLABORATION_TYPE.AUDIO:
448 449
      $('.collaboration_contents').addClass('none');
      $('.voice_contents').removeClass('none');
450 451 452 453 454 455 456 457 458 459 460
      var w = $('.user_btn').width();
      $('.user_btn').toggleClass("hide");
      $("#overlay_user_list.overlay")
        .toggleClass("slidein")
        .css({ transform: "translateX(" & -w & ")" });
      $("#collabo_main").toggleClass("noscroll");
      if ($("#overlay_user_list.overlay").hasClass("noscroll")) {
        $("#overlay_user_list.overlay").removeClass("noscroll");
      } else {
        $("#overlay_user_list.overlay").addClass("noscroll");
      }
461
      break;
462

463
    case COLLABORATION_TYPE.CAMERA:
464 465 466
      $('.collaboration_contents').addClass('none');
      $('.picture_contents').removeClass('none');
      break;
467

468
    case COLLABORATION_TYPE.VIDEO:
469 470 471
      $('.collaboration_contents').addClass('none');
      $('.video_contents').removeClass('none');
      break;
472

473
    case COLLABORATION_TYPE.DOCUMENT:
474 475
      $('.collaboration_contents').addClass('none');
      $('.document_contents').removeClass('none');
476 477 478 479 480 481 482 483 484 485 486
      var w = $('.user_btn').width();
      $('.user_btn').toggleClass("hide");
      $("#overlay_user_list.overlay")
        .toggleClass("slidein")
        .css({ transform: "translateX(" & -w & ")" });
      $("#collabo_main").toggleClass("noscroll");
      if ($("#overlay_user_list.overlay").hasClass("noscroll")) {
        $("#overlay_user_list.overlay").removeClass("noscroll");
      } else {
        $("#overlay_user_list.overlay").addClass("noscroll");
      }
487
      break;
488

489
    case COLLABORATION_TYPE.BOARD:
490 491
      $('.collaboration_contents').addClass('none');
      $('.board_contents').removeClass('none');
492
      $('head').append('<link rel="stylesheet" href="./css/collaboration_board.css">');
493 494 495 496
      break;
  }
}

497
function Coview_exitCollaboration(isDocument = false) {
498 499
  if (isDocument) {
    if (CHAT_UTIL.isIOS()) {
Kang Donghun committed
500
      webkit.messageHandlers.exitMeetingRoom.postMessage({});
501
    } else if (CHAT_UTIL.isAndroid()) {
Kang Donghun committed
502
      android.exitMeetingRoom();
Lee Munkyeong committed
503
    }
504
  }
505 506 507
  if ($('#recordBtn').hasClass('bg_red')) {
    recordStop();
  }
508
  clearInterval(timeInterval);
509
  coview_api.LeaveRoom();
510 511 512 513 514 515 516
  if (coview_api.getRoomUsers()) {
    if (CHAT_UTIL.isIOS()) {
      webkit.messageHandlers.finishCollaboration.postMessage({});
    } else if (CHAT_UTIL.isAndroid()) {
      android.finishCollaboration() 
    }
  };
517
  isLeaved = true;
Kang Donghun committed
518
  if (collaborationJoinFlg != '2') {
519 520 521 522 523 524 525
    CHAT_UI.joinRoom(
      CHAT.globalLoginParameter.roomId,
      CHAT.globalLoginParameter.name
    );
  } else {
    if (typeof android != "undefined") {
      android.openCommunicationHome();
526
    } else {
527
      webkit.messageHandlers.openCommunicationHome.postMessage({});
528
    }
529
  }
Lee Munkyeong committed
530
}
531

532
function Coview_changeHost(userId) {
533 534
  console.log("Change Host To " + userId);
  changeOwnerSend(userId);
535
}
536 537

function Coview_addLoginId(loginId) {
538
  console.log("addUser loginId = " + loginId);
Lee Munkyeong committed
539
  var url = "https://biztaskyell.abookcloud.com/auth/getuser";
540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555
  $.ajax({
    url : url,
    method : 'post',
    data : {
      id : loginId
    },
    success : function (result) {
      console.log("result", result);
      if (result.statusCode != 200) {
        coview_api.addUser(loginId);
      }
    },
    error : function (err) {
      console.log(err.toString());
    }
  });
556 557
}

558 559 560 561 562 563 564 565
function applyForHostChange() {
  if (joinCollaborationType == COLLABORATION_TYPE.DOCUMENT && androidVersion < ANDROID_SDK_VERSION.O) {
    alert(getLocalizedString('not_support_version'));
    return;
  }
  fw.sendToMsg('others', 'CHANGE_HOST_APPLY', {"hostId": CHAT.globalLoginParameter.loginId});
};

566
function Coview_connect_audio_collaboration() {
567 568 569
  globalUserInfo.coWorkType = collaborationTypeKey.AUDIO;
  coview_api.CreateRoom(globalUserInfo.roomId, globalUserInfo.coWorkType);
  Coview_moveToVideoShareArea();
570

571
  $(".coview_share_title_name").text("音声通話");
572
}
573 574

function hostSearchInterval() {
Kang Donghun committed
575
  let hostName = "";
576 577
  function hostSearch() {
    if (g_isMainMan) {
578
      $("#collaboration_user_" + CHAT.globalLoginParameter.loginId).addClass("host");
579
      $('.host_contents').removeClass('none');
580
      if (joinCollaborationType == COLLABORATION_TYPE.CAMERA) {
581
        $('.photo_select_button').removeClass('none');
582
      }
583
      if (joinCollaborationType == COLLABORATION_TYPE.VIDEO) {
584 585 586
        $('.video_contents_host').removeClass('none');
        $('.video_contents_user').addClass('none');
      }
587
      if (CHAT_UTIL.isIOS()) isIos = true;
588
    } else {
589
      $("#collaboration_user_" + CHAT.globalLoginParameter.loginId).removeClass("host");
590
      $('.host_contents').addClass('none');
591
      if (joinCollaborationType == COLLABORATION_TYPE.CAMERA) {
592
        $('.photo_select_button').addClass('none');
593
      }
594
      if (joinCollaborationType == COLLABORATION_TYPE.VIDEO) {
595 596 597
        $('.video_contents_user').removeClass('none');
        $('.video_contents_host').addClass('none');
      }
598
    }
Kang Donghun committed
599 600
    if (hostName != g_isMainManUsername) {
      if (hostName != "") {
601
        $("#collaboration_user_" + getReplacedLoginId(hostName)).removeClass("host");
Kang Donghun committed
602
      }
603
      $("#collaboration_user_" + getReplacedLoginId(g_isMainManUsername)).addClass("host");
Kang Donghun committed
604 605 606 607 608
      hostName = g_isMainManUsername;
    } else {
      if (hostName == "") {
        if (!$("#collaboration_user_" + CHAT.globalLoginParameter.loginId).hasClass("host") && coview_api.getRoomUsers()) {
          $("#collaboration_user_" + CHAT.globalLoginParameter.loginId).addClass("host");
609
        }
Kang Donghun committed
610
      } else {
611 612
        if (!$("#collaboration_user_" + getReplacedLoginId(hostName)).hasClass('host')) {
          $("#collaboration_user_" + getReplacedLoginId(hostName)).addClass("host");
613
        }
614

Kang Donghun committed
615
      }
616
    }
Kang Donghun committed
617
  }
618
  timeInterval = setInterval(hostSearch, 2000);
619 620
}

621
function hostChangeRequest(loginId) {
622 623 624 625 626 627 628 629 630
    fw.sendToMsg('others', 'HOST_CHANGE_REQUEST', {"loginId": getFermiLoginId(loginId)});
}

function getFermiLoginId(loginId) {
  return globalUserInfo.shopName + '_' + loginId;
}

function getReplacedLoginId(loginId) {
  return  loginId.replaceAll(globalUserInfo.shopName + '_', '');
631 632
}

633 634 635 636 637 638
function captureAndShareImage(urls, changeHostName) {
  addCaptureEffect();
  $(this).removeClass("on");
  var w,h;
  var video = document.getElementById("localVideo");
  var canvas = document.createElement('canvas');
639
  if (clientOrientaionState == 1) {
640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658
    canvas.width  = w = 680;
    canvas.height = h = 515;
  } else {
    canvas.width  = w = 386;
    canvas.height = h = 515;
  }
  if (canvas.getContext) {
    var ctx = canvas.getContext('2d');
    ctx.drawImage(video, 0, 0, w, h);
    ctx.drawImage(document.getElementById("canvasRemote"), 0, 0, w, h);
  }
  canvas.toBlob(function(blob) {
    var newImg = document.createElement('img')
    var url = URL.createObjectURL(blob);
    canvasRemote.style.backgroundImage = "url('"+ URL.createObjectURL(blob) + "')";
    canvasRemote.style.backgroundSize  = "contain";
    $(canvasRemote).attr("height", $(snapshots[cpatureViewIndex]).attr("height"));
    $(canvasRemote).attr("width", $(snapshots[cpatureViewIndex]).attr("width"));
    console.log ('url', URL.createObjectURL(blob));
659
    if ($(".canvas_wrap").css("width").replace("px","") / $(".canvas_wrap").css("height").replace("px","") < $(canvas).attr("width") / $(canvas).attr("height")) {
660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685
      var h = $(".canvas_wrap").css("width").replace("px","") * ($(canvas).attr("height") / $(canvas).attr("width"));
      var w = $(".canvas_wrap").css("width").replace("px","");
      $(canvasRemote).css("height", h);
      $(canvasRemote).css("width", w);
      $(canvasRemote).css("margin-top", (-h/2));
      $(canvasRemote).css("margin-left", (-w/2));
    } else {
      var h = $(".canvas_wrap").css("height").replace("px","");
      var w = $(".canvas_wrap").css("height").replace("px","") / ($(canvas).attr("height") / $(canvas).attr("width"));
      $(canvasRemote).css("height", h);
      $(canvasRemote).css("width", w);
      $(canvasRemote).css("margin-top", (-h/2));
      $(canvasRemote).css("margin-left", (-w/2));
    }
    $(".canvas_wrap").css("background-color", "#000");
    $(".clear_img").show();
    SetShareMenuState("on");
    WithImageShareBtnState("on");

    //Fermi側にイメージ保存。
    var formData = new FormData();
    var uploadFileName = "capture_share_" + g_webroom + "_" + g_shareCount + ".png"
    g_shareCount++;
    formData.append("imgFile", blob, uploadFileName);

    var uploadUrl = location.protocol + "//" + location.hostname + ":" + location.port + "/upload/create";
686
    if (!location.port) {
687 688 689 690 691 692 693 694
      uploadUrl = location.protocol + "//" + location.hostname + "/upload/create";
    }
    $.ajax({
      type: 'post',
      url: g_coviewapiserverADDR + "/upload/create",
      data: formData,
      processData: false,
      contentType: false,
695 696
      success: function(res) {
        setTimeout(function() {
697 698 699 700 701 702 703 704 705
          SendFileShare(uploadFileName);
          $("#coviewCaptureCtrBtn").hide();
          $("#coviewRecCtrBtn").hide();
          $(".coview_share_title_name").text("LIVE(CAPTURE IMAGE)");
          $(".coview_on_media_btn_back").show();
          //アーカイブ保存。
          ArchiveFileManage(blob,uploadFileName,urls);
        }, 1500);
      },
706
      error: function(err) {
707 708 709 710
        console.log(err);
      }
    });
  });
711
}