namecard.js 3.54 KB
Newer Older
1 2
var Namecard = {};

3 4
Namecard.makeNameCard = function (shopMemberID) {
  if (currentUserInfo.shopMemberID == shopMemberID) {
5 6
    return;
  }
7
  const nameCardInfo = NativeBridgeDataSource.getNameCardData(shopMemberID);
8
  const namecardTemplate = getTemplate(TemplateURL.USER_NAME_CARD);
9 10

  nameCardInfo.profileUrl = Common.getProfileImgUrl(nameCardInfo.profileUrl);
11
  let namecardHTML = Mustache.render(namecardTemplate, {
12 13 14 15 16 17 18 19 20 21
    shopMemberId: nameCardInfo.shopMemberId,
    profileUrl: nameCardInfo.profileUrl,
    name: nameCardInfo.shopMemberName,
    groupPathList: nameCardInfo.groupPathList,
    chat: getLocalizedString("chat"),
    voice: getLocalizedString("voice"),
    favorite: getLocalizedString("addFavorite"),
    isFavorite: nameCardInfo.isFavorite,
  });

22
  let namecardObj = $(jQuery.parseHTML(namecardHTML)).on(
23 24 25 26 27 28 29 30 31
    "click",
    function () {}
  );

  $("#userProfileModal").html(namecardObj);
  $("#userNameCard").modal("show");
};

// template_user_name_card.html
32
Namecard.startChat = function (userShopMemberID, userName) {
33
  Common.showLoadingIndicator();
Kim Peace committed
34
  let userIDList = [];
35
  userIDList.push(userShopMemberID);
36 37

  // 参加ユーザ名でルーム名を生成
Kim Peace committed
38
  const newRoomName = currentUserInfo.loginID + "," + userName;
39 40
  NativeBridgeDelegate.createChatRoom(
    ChatRoomType.DM,
41
    userIDList.join(","),
42 43 44 45 46 47 48
    newRoomName,
    MakeRoomFlag.NAME_CARD,
    false
  );
};

// template_user_name_card.html
49
Namecard.startVoice = function (userShopMemberID, userName) {
50
  Common.showLoadingIndicator();
51
  let userIDList = [];
52
  userIDList.push(userShopMemberID);
53 54

  // 参加ユーザ名でルーム名を生成
Kim Peace committed
55
  const newRoomName = currentUserInfo.loginID + "," + userName;
56 57
  NativeBridgeDelegate.createChatRoom(
    ChatRoomType.DM,
58
    userIDList.join(","),
59 60 61 62 63 64
    newRoomName,
    MakeRoomFlag.NAME_CARD,
    true
  );
};

65
Namecard.favoriteUserChange = function (shopMemberID, star) {
66 67 68
  const div = $(star);
  if (div.hasClass("sp-circle")) {
    return;
69
  }
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
  div.removeClass("star");
  div.addClass("sp-circle");

  setTimeout(() => {
    if (div.hasClass("active")) {
      Namecard.removeFavoriteUser(shopMemberID, div);
    } else if (div.hasClass("disable")) {
      Namecard.insertFavoriteUser(shopMemberID, div);
    }
    div.removeClass("sp-circle");
    div.addClass("star");

    if (typeof Contact != "undefined") {
      Contact.reloadFavoriteList();
    }

    if (div.hasClass("active")) {
      window.scroll(0, window.scrollY + $(".my_info_sell").height());
    } else if (div.hasClass("disable")) {
      window.scroll(0, window.scrollY - $(".my_info_sell").height());
    }
  }, 0);
92 93
};

94
Namecard.removeFavoriteUser = function (shopMemberID, div) {
95
  const result = NativeBridgeDataSource.removeFavoriteUser(shopMemberID);
96 97
  div.removeClass(result ? "active" : "disable");
  div.addClass(result ? "disable" : "active");
98 99
};

100
Namecard.insertFavoriteUser = function (shopMemberID, div) {
101
  const result = NativeBridgeDataSource.addFavoriteUser(shopMemberID);
102 103
  div.removeClass(result ? "disable" : "active");
  div.addClass(result ? "active" : "disable");
104 105
};

Kim Peace committed
106
Namecard.refreshForOnline = function () {
107 108 109
  $("#favoriteButton").prop("disabled", false);
};

110
Namecard.refreshForOffline = function () {
111 112
  $("#favoriteButton").prop("disabled", true);
};
113 114 115

Namecard.moveContactPage = function (paramGroupID) {
  const groupID = paramGroupID;
116 117 118 119
  if (
    window.location.pathname.includes("chat_room") ||
    window.location.pathname.includes("archive_detail")
  ) {
120 121 122 123
    if (groupID == "") return;
    NativeBridgeDelegate.setToMoveGroupId(groupID);
    window.location.href = "contact.html";
  }
124
};