214 lines
7.6 KiB
JavaScript
214 lines
7.6 KiB
JavaScript
if (typeof Roblox === "undefined") {
|
|
Roblox = {};
|
|
}
|
|
if (typeof Roblox.Admin === "undefined") {
|
|
Roblox.Admin = {};
|
|
}
|
|
Roblox.Admin.Games_BadgeAssetAward = function () {
|
|
//event binding
|
|
$(function () {
|
|
$('#AddButton').click(function () {
|
|
CreateNew();
|
|
return false;
|
|
});
|
|
$('#viewByID').click(function () {
|
|
GetBadgeAssetAwardsbyBadgeID();
|
|
return false;
|
|
});
|
|
$('#viewAll').click(function () {
|
|
GetAllBadgeAssetAwards();
|
|
return false;
|
|
});
|
|
$("#badgeIDInput").keypress(function(event){
|
|
if(event.keyCode=='13')
|
|
GetBadgeAssetAwardsbyBadgeID();
|
|
});
|
|
});
|
|
|
|
//variables
|
|
var pageSize, pageNum, totalNum;
|
|
|
|
//public methods
|
|
function Initialize(pagesize, pagenum, totalnum) {
|
|
pageSize = pagesize;
|
|
pageNum = pagenum;
|
|
totalNum = totalnum;
|
|
GetAllBadgeAssetAwards();
|
|
}
|
|
function ChangePage(newPage) {
|
|
pageNum = newPage;
|
|
GetAllBadgeAssetAwards();
|
|
}
|
|
function DeleteBadgeAssetAwardClick(e) {
|
|
var badgeAssetAwardID = $(this).attr('badgeassetawardid');
|
|
if (confirm("Are you sure you want to delete ID=" + badgeAssetAwardID)) {
|
|
DeleteBadgeAssetAward(badgeAssetAwardID);
|
|
}
|
|
}
|
|
function CreateNew() {
|
|
var badgeID = $('#badgeID').val();
|
|
var assetAwardID = $('#assetAwardID').val();
|
|
var description = $('#description').val();
|
|
var url = "BadgeAssetAwardHandler.ashx?cmd=add&badgeID=" + badgeID + "&assetID=" + assetAwardID + "&description=" + encodeURIComponent(description);
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
cache: false,
|
|
dataType: "text",
|
|
success: function (data, extStatus, jqXHR) {
|
|
totalNum++;
|
|
GetAllBadgeAssetAwards();
|
|
dataJSON = $.parseJSON(data);
|
|
if(dataJSON != null)
|
|
{
|
|
alert(dataJSON.msg);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function GetBadgeAssetAwardsbyBadgeID() {
|
|
var badgeID = $('#badgeIDInput').val();
|
|
if (badgeID === '')
|
|
return;
|
|
if (badgeID === 0)
|
|
return;
|
|
var url = "BadgeAssetAwardHandler.ashx?cmd=getAwards&badgeID=" + badgeID;
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
cache: false,
|
|
dataType: "json",
|
|
success: function (data, extStatus, jqXHR) {
|
|
dataJSON = $.parseJSON(data);
|
|
if(dataJSON != null)
|
|
{
|
|
alert(dataJSON.msg);
|
|
}
|
|
else
|
|
{
|
|
displayAssetAwards(data);
|
|
$("#pager").hide();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function GetAllBadgeAssetAwards() {
|
|
var url = "BadgeAssetAwardHandler.ashx?cmd=getAllAwards&StartRowIndex=" + (pageNum - 1) * pageSize + "&MaximumRows=" + pageSize;
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
cache: false,
|
|
dataType: "json",
|
|
success: displayAssetAwards
|
|
});
|
|
}
|
|
|
|
//private functions
|
|
|
|
function displayAssetAwards(badgeAssetAwards) {
|
|
//clean out old list
|
|
$('#awardTable').detach();
|
|
if (badgeAssetAwards[0] == null) {
|
|
$('#noAwards').show();
|
|
}
|
|
else {
|
|
$('#noAwards').hide();
|
|
}
|
|
|
|
//construct new table
|
|
var counter = 0;
|
|
var newTable = $("#tableTemplate").clone(true).attr('id', 'awardTable');
|
|
while (badgeAssetAwards[counter] != null) {
|
|
var badgeAssetAward = unwrapBadgeAssetAward(badgeAssetAwards[counter]);
|
|
var newRow = $("#trTemplate").clone(true).show().attr('id', badgeAssetAward.id);
|
|
$(".ID", newRow).text(badgeAssetAward.id);
|
|
$(".BadgeID", newRow).text(badgeAssetAward.badgeID).attr('href', "/item.aspx?id=" + badgeAssetAward.badgeID);
|
|
$(".AssetAwardID", newRow).text(badgeAssetAward.assetAwardID).attr('href', "/item.aspx?id=" + badgeAssetAward.assetAwardID);
|
|
$(".Description", newRow).text(badgeAssetAward.description);
|
|
$(".Created", newRow).text(badgeAssetAward.created);
|
|
$(".Updated", newRow).text(badgeAssetAward.updated);
|
|
$(".editButton", newRow).attr("badgeassetawardid", badgeAssetAward.id);
|
|
$(".deleteButton", newRow).attr("badgeassetawardid", badgeAssetAward.id).click(DeleteBadgeAssetAwardClick);
|
|
newTable.append(newRow);
|
|
counter++;
|
|
}
|
|
newTable.show();
|
|
$('#AssetAwards').append(newTable);
|
|
|
|
$("#pager").html('').hide();
|
|
if (totalNum > pageSize) {
|
|
var beginPages = 1;
|
|
var endPage = Math.ceil(totalNum / pageSize);
|
|
var endPageGroup = Math.ceil(endPage / pageSize);
|
|
var currentPageGroup = Math.ceil(pageNum / pageSize);
|
|
var startIndex = (((currentPageGroup - 1) * pageSize) + 1)
|
|
var endIndex = (currentPageGroup * pageSize)
|
|
if (currentPageGroup != 1) {
|
|
$("#pager").append('<a onclick="Roblox.Admin.Games_ViewBadgeAssetAward.ChangePage(' + ((currentPageGroup * pageSize) - 1) + ')" style="padding: 5px; cursor: pointer">...</a>');
|
|
}
|
|
|
|
for (var j = startIndex; j <= endIndex; j++) {
|
|
if (j > endPage) {
|
|
break;
|
|
}
|
|
else if (j == pageNum) {
|
|
$("#pager").append('<span style="font-weight:bold;padding: 1px">' + j + '</span>');
|
|
}
|
|
else {
|
|
$("#pager").append('<a onclick="Roblox.Admin.Games_BadgeAssetAward.ChangePage(' + j + ')" style="padding: 5px; cursor: pointer">' + j + '</a>');
|
|
}
|
|
}
|
|
if (currentPageGroup < endPageGroup) {
|
|
$("#pager").append('<a Roblox.Admin.Games_BadgeAssetAward.ChangePage(' + ((currentPageGroup * pageSize) + 1) + ')" style="padding: 5px; cursor: pointer">...</a>').show();
|
|
}
|
|
|
|
$('#pager').show();
|
|
}
|
|
}
|
|
function unwrapBadgeAssetAward(badgeAssetAward) {
|
|
return {
|
|
id: badgeAssetAward.ID,
|
|
badgeID: badgeAssetAward.BadgeID,
|
|
assetAwardID: badgeAssetAward.AssetAwardID,
|
|
description: badgeAssetAward.Description,
|
|
created: dateHelper(badgeAssetAward.Created),
|
|
updated: dateHelper(badgeAssetAward.Updated)
|
|
}
|
|
}
|
|
function dateHelper(unclean) {
|
|
var clean = Number(unclean.substring(6, 19));
|
|
var date = new Date(clean);
|
|
return (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear();
|
|
}
|
|
function DeleteBadgeAssetAward(badgeAssetAwardID) {
|
|
var url = "BadgeAssetAwardHandler.ashx?cmd=delete&bAAID=" + badgeAssetAwardID;
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
cache: false,
|
|
dataType: "text",
|
|
success: function (data, extStatus, jqXHR) {
|
|
var dataJSON = $.parseJSON(data);
|
|
if(dataJSON !== null)
|
|
{
|
|
if(dataJSON.status === "faliure")
|
|
{
|
|
alert(dataJSON.msg);
|
|
}
|
|
else
|
|
{
|
|
alert(dataJSON.msg);
|
|
totalNum--;
|
|
GetAllBadgeAssetAwards();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
//Interface exposing public methods!
|
|
return {
|
|
ChangePage: ChangePage,
|
|
Initialize: Initialize
|
|
};
|
|
} (); |