Commit 95d6a023 by Kim Peace

Fixed chat -add-user js

parent 582948f7
// 名前空間 // 名前空間
var CHAT_ADD_USER = {}; var CHAT_ADD_USER = {};
document.addEventListener('DOMContentLoaded', function() { document.addEventListener("DOMContentLoaded", function () {
// メンバー検索 // メンバー検索
$('#chat_add_user .search_form input[type="search"]').click(function (e) { bindMemberSearch();
// iOSキーボード変換検知用
bindiOSKeyBoardEvent();
});
// ユーザー検索
CHAT_ADD_USER.searchUser = function (keyword) {
const isAllGroup = $("#tabAllGroupOnAddUser").is(":checked");
const overlayMessage = $(".overlay_src_msg");
overlayMessage.empty();
//全グループ検索画面
if (isAllGroup) {
//グループデータ検索
const groupList = CHAT_DB.getGroupByName(keyword);
searchGroupData(groupList);
//ユーザデータ検索
var userList = CHAT_DB.getAllGroupShopMemberNotInRoomByName(keyword);
searchUserData(userList);
// Set NoResult
if (userList.length == 0 && groupList.length == 0) {
const noResultMessage = getNoResultMessage();
overlayMessage.append(noResultMessage);
} //連絡先画面
} else {
var userList = CHAT_DB.getMyGroupShopMemberNotInRoomByName(keyword);
searchUserData(userList);
if (userList.length == 0) {
const noResultMessage = getNoResultMessage();
overlayMessage.append(noResultMessage);
}
}
};
/** UTILS */
var bindMemberSearch = function () {
const searchInput = $('#chat_add_user .search_form input[type="search"]');
searchInput.click(function (e) {
//画面タイトル設定 //画面タイトル設定
let contactListTitle = getLocalizedString("userSearch"); let contactListTitle = getLocalizedString("userSearch");
$("#addUserTitle").text(contactListTitle); $("#addUserTitle").text(contactListTitle);
}); });
$('#chat_add_user .search_form input[type="search"]').keyup(function (e) { searchInput.keyup(function (e) {
var keyword = $('#chat_add_user .search_form input[type="search"]').val(); const keyword = searchInput.val();
if (e.key == "Enter" || e.KeyCode == 13) { const enterKeyPressed = e.key == "Enter" || e.KeyCode == 13;
if (keyword != "" && keyword.length != 0) { const keywordNotEmpty = keyword != "" && keyword.length != 0;
$('#chat_add_user .search_form input[type="search"]').blur(); const keywordEmpty = keyword == "" || keyword.length < 2;
if (enterKeyPressed) {
if (keywordNotEmpty) {
searchInput.blur();
return false; return false;
} }
} else if (keyword == "" || keyword.length < 2) { } else if (keywordEmpty) {
$(".overlay_src_msg").empty(); $(".overlay_src_msg").empty();
return false; return false;
} }
CHAT_ADD_USER.searchUser(keyword); CHAT_ADD_USER.searchUser(keyword);
if (e.key == "Enter" || e.KeyCode == 13) {
$('#chat_add_user .search_form input[type="search"]').blur(); if (enterKeyPressed) {
searchInput.blur();
return; return;
} }
}); });
// iOSキーボード変換検知用 };
$('#chat_add_user .search_form input[type="search"]').on(
"compositionend", var bindiOSKeyBoardEvent = function () {
function () { searchInput.on("compositionend", function () {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
var keyword = $( var keyword = searchInput.val();
'#chat_add_user .search_form input[type="search"]'
).val();
CHAT_ADD_USER.searchUser(keyword); CHAT_ADD_USER.searchUser(keyword);
} }
} });
};
var searchGroupData = function (groupList) {
const groupTemplate = getGroupTemplate();
groupList.forEach(function (group) {
let html = renderGroupTemplate(
groupTemplate,
group.groupName,
group.groupId
); );
});
// ユーザー検索 let obj = jQuery.parseHTML(html);
CHAT_ADD_USER.searchUser = function (keyword) { overlayMessage.append(obj);
var isAllGroup = $("#tabAllGroupOnAddUser").is(":checked"); });
$(".overlay_src_msg").empty(); };
//全グループ検索画面 var getGroupTemplate = function () {
if (isAllGroup) {
//グループデータ検索
var groupList = CHAT_DB.getGroupByName(keyword);
var groupTemplate; var groupTemplate;
$.get( $.get(
{ url: "./template/template_make_room_group_list.html", async: false }, { url: "./template/template_make_room_group_list.html", async: false },
...@@ -56,50 +107,28 @@ CHAT_ADD_USER.searchUser = function (keyword) { ...@@ -56,50 +107,28 @@ CHAT_ADD_USER.searchUser = function (keyword) {
groupTemplate = text; groupTemplate = text;
} }
); );
return groupTemplate;
};
groupList.forEach(function (group) { var renderGroupTemplate = function (groupTemplate, groupName, groupID) {
let html = Mustache.render(groupTemplate, { return Mustache.render(groupTemplate, {
name: group.groupName, name: groupName,
id: group.groupId, id: groupID,
});
let obj = jQuery.parseHTML(html);
$(".overlay_src_msg").append(obj);
}); });
};
//ユーザデータ検索 var searchUserData = function (userList) {
var userList = CHAT_DB.getAllGroupShopMemberNotInRoomByName(keyword); const userTemplate = getUserTemplate();
var userTemplate;
$.get(
{ url: "./template/template_make_room_user_list.html", async: false },
function (text) {
userTemplate = text;
}
);
userList.forEach(function (user) { userList.forEach(function (user) {
user.profileUrl = CHAT.getProfileImgUrl(user.profileUrl); setUserProfile(user);
let findObj = CHAT.globalSelectedUserList.find(function (shopMemberId) { checkUser(user);
return shopMemberId == user.shopMemberId;
});
if (findObj) {
user.checked = "checked";
}
});
let html = Mustache.render(userTemplate, {
userList: userList,
}); });
let html = renderUserTemplate(userTemplate, userList);
let obj = jQuery.parseHTML(html); let obj = jQuery.parseHTML(html);
$(".overlay_src_msg").append(obj); overlayMessage.append(obj);
if (userList.length == 0 && groupList.length == 0) { };
const noResultMsg = $("<div/>", {
width: "auto", var getUserTemplate = function () {
style: "text-align: center",
});
noResultMsg.append(getLocalizedString("noResult"));
$(".overlay_src_msg").append(noResultMsg);
} //連絡先画面
} else {
var userList = CHAT_DB.getMyGroupShopMemberNotInRoomByName(keyword);
var userTemplate; var userTemplate;
$.get( $.get(
{ url: "./template/template_make_room_user_list.html", async: false }, { url: "./template/template_make_room_user_list.html", async: false },
...@@ -107,27 +136,33 @@ CHAT_ADD_USER.searchUser = function (keyword) { ...@@ -107,27 +136,33 @@ CHAT_ADD_USER.searchUser = function (keyword) {
userTemplate = text; userTemplate = text;
} }
); );
userList.forEach(function (user) { return userTemplate;
};
var setUserProfile = function (user) {
user.profileUrl = CHAT.getProfileImgUrl(user.profileUrl); user.profileUrl = CHAT.getProfileImgUrl(user.profileUrl);
};
var checkUser = function (user) {
let findObj = CHAT.globalSelectedUserList.find(function (shopMemberId) { let findObj = CHAT.globalSelectedUserList.find(function (shopMemberId) {
return shopMemberId == user.shopMemberId; return shopMemberId == user.shopMemberId;
}); });
if (findObj) { if (findObj) {
user.checked = "checked"; user.checked = "checked";
} }
}); };
let html = Mustache.render(userTemplate, {
var renderUserTemplate = function (userTemplate, userList) {
return Mustache.render(userTemplate, {
userList: userList, userList: userList,
}); });
let obj = jQuery.parseHTML(html); };
$(".overlay_src_msg").html(obj);
if (userList.length == 0) { var getNoResultMessage = function () {
const noResultMsg = $("<div/>", { const noResultMsg = $("<div/>", {
width: "auto", width: "auto",
style: "text-align: center", style: "text-align: center",
}); });
noResultMsg.append(getLocalizedString("noResult")); noResultMsg.append(getLocalizedString("noResult"));
$(".overlay_src_msg").append(noResultMsg); return noResultMsg;
}
}
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment