function keyCheck(keyCodes, num, str){
|
if(keyCodes == 46 || keyCodes == 8 || keyCodes == 37 || keyCodes == 39 || keyCodes == 9){
|
return true;
|
}
|
else if(str.value.length < num && ((keyCodes >= 48 && keyCodes <= 57) || (keyCodes >= 95 && keyCodes <= 105))){
|
return true;
|
}
|
else{
|
return false;
|
}
|
}
|
function keyCheckAmount(keyCodes, num, str){
|
if(keyCodes == 46 || keyCodes == 8 || keyCodes == 37 || keyCodes == 39 || keyCodes == 9){
|
return true;
|
}
|
else if(str.value.length < num && ((keyCodes >= 48 && keyCodes <= 57) || (keyCodes >= 95 && keyCodes <= 105) || keyCodes == 110 || keyCodes == 190)){
|
return true;
|
}
|
else{
|
return false;
|
}
|
}
|
function onKeyEvent(e) {
|
e = e || window.event;
|
if(e.keyCode == 13){ //Enter キー
|
return false; //無効
|
}
|
return true;
|
}
|
|
function escapeVfId(vfId) {
|
return '#' + vfId.replace(/(:|\.)/g,'\\$1');
|
}
|
|
//function escapeURI(pOrg) {
|
// var rtn = pOrg
|
// rtn = rtn.split("!").join("%21");
|
// rtn = rtn.split("#").join("%23");
|
// rtn = rtn.split("$").join("%24");
|
// rtn = rtn.split("%").join("%25");
|
// rtn = rtn.split("'").join("%27");
|
// rtn = rtn.split("(").join("%28");
|
// rtn = rtn.split(")").join("%29");
|
// rtn = rtn.split("*").join("%2A");
|
// rtn = rtn.split("+").join("%2B");
|
// rtn = rtn.split(",").join("%2C");
|
// rtn = rtn.split("-").join("%2D");
|
// rtn = rtn.split(".").join("%2E");
|
// rtn = rtn.split("/").join("%2F");
|
// rtn = rtn.split(":").join("%3A");
|
// rtn = rtn.split(";").join("%3B");
|
// rtn = rtn.split("=").join("%3D");
|
// rtn = rtn.split("?").join("%3F");
|
// rtn = rtn.split("@").join("%40");
|
// rtn = rtn.split("_").join("%5F");
|
// rtn = rtn.split("~").join("%7E");
|
// rtn = rtn.split(" ").join("+");
|
// return rtn;
|
//}
|
|
function isArray(o){
|
return o != null && typeof o === "object" && 'pop' in o && 'join' in o;
|
}
|
|
function scrollbarWidth() {
|
var $inner = jQuery('<div style="width: 100%; height:200px;">test</div>'),
|
$outer = jQuery('<div style="width:200px;height:150px; position: absolute; top: 0; left: 0; visibility: hidden; overflow:hidden;"></div>').append($inner),
|
inner = $inner[0],
|
outer = $outer[0];
|
|
jQuery('body').append(outer);
|
var width1 = inner.offsetWidth;
|
$outer.css('overflow', 'scroll');
|
var width2 = outer.clientWidth;
|
$outer.remove();
|
|
return (width1 - width2);
|
}
|
|
function setButtonDisable(object, status){
|
if(!(object.id == 'idGetActive' || object.id == 'Page:mainForm:idDayEdit:idReportDate')) {
|
object.disabled = status;
|
}
|
if(object.id != 'idGetActive' && object.tagName.toLowerCase() == "input" && (object.type.toLowerCase() == "button" || object.type.toLowerCase() == "submit")) {
|
if(status == true) {
|
object.style.cursor = "default";
|
object.style.backgroundPosition = "0 -90px";
|
object.style.borderColor = "#C4C4C4";
|
object.style.color = "#909090";
|
|
} else {
|
object.style.backgroundPosition = "";
|
object.style.color = "";
|
object.style.cursor = "pointer";
|
object.style.borderColor = "#B5B5B5 #B5B5B5 #7F7F7F";
|
}
|
}
|
}
|
|
function setButtonsDisable(jObj, status){
|
jObj.each(function(index) {
|
setButtonDisable(this, status);
|
});
|
}
|
|
function number_format_common (number, decimals, dec_point, thousands_sep) {
|
number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
|
var n = !isFinite(+number) ? 0 : +number,
|
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
|
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
|
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
|
s = '',
|
toFixedFix = function (n, prec) {
|
var k = Math.pow(10, prec);
|
return '' + Math.round(n * k) / k;
|
};
|
// Fix for IE parseFloat(0.55).toFixed(0) = 0;
|
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
|
if (s[0].length > 3) {
|
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
|
}
|
if ((s[1] || '').length < prec) {
|
s[1] = s[1] || '';
|
s[1] += new Array(prec - s[1].length + 1).join('0');
|
}
|
return ( s.join(dec));
|
}
|
|
function toNum( input) {
|
return number_format_common( input, 2, ".", "");
|
}
|
|
function toNumComma( input) {
|
return number_format_common( input, 2, ".", ",");
|
}
|
|
function localParseFloat( input) {
|
input += "";
|
input = input.split(" ");
|
if (input.length > 1) {
|
input = input[1];
|
} else {
|
input = input[0];
|
}
|
input = input.replace(/,/g, "");
|
input = input.replace(/ /g, "");
|
if ( input == '' || isNaN( input)) {
|
input = 0.00;
|
}
|
input = parseFloat(input);
|
return input;
|
}
|
function localParseInt( input) {
|
input += "";
|
input = input.split(" ");
|
if (input.length > 1) {
|
input = input[1];
|
} else {
|
input = input[0];
|
}
|
input = input.replace(/,/g, "");
|
input = input.replace(/ /g, "");
|
if ( input == '' || isNaN( input)) {
|
input = 0;
|
}
|
input = parseInt(input);
|
return input;
|
}
|
|
function SFDCAddRemote(sessionId) {
|
var binding = new XMLHttpRequest();
|
var request =
|
'<?xml version="1.0" encoding="utf-8"?>' +
|
'<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+
|
'<env:Header>' +
|
'<urn:SessionHeader xmlns:urn="http://soap.sforce.com/2006/04/metadata">' +
|
'<urn:sessionId>'+sessionId+'</urn:sessionId>' +
|
'</urn:SessionHeader>' +
|
'</env:Header>' +
|
'<env:Body>' +
|
'<createMetadata xmlns="http://soap.sforce.com/2006/04/metadata">' +
|
'<metadata xsi:type="RemoteSiteSetting">' +
|
'<fullName>SoapApi_'+window.location.hostname.split('.')[1]+'</fullName>' +
|
'<description>for Metadata API</description>' +
|
'<disableProtocolSecurity>false</disableProtocolSecurity>' +
|
'<isActive>true</isActive>' +
|
'<url>https://' + window.location.hostname + '</url>' +
|
'</metadata>' +
|
'</createMetadata>' +
|
'</env:Body>' +
|
'</env:Envelope>';
|
binding.open('POST', 'https://' + window.location.hostname + '/services/Soap/m/31.0');
|
binding.setRequestHeader('SOAPAction','""');
|
binding.setRequestHeader('Content-Type', 'text/xml');
|
binding.onreadystatechange =
|
function() {
|
if(this.readyState==4 && this.status == 200) {
|
var parser = new DOMParser();
|
var doc = parser.parseFromString(this.response, 'application/xml');
|
var errors = doc.getElementsByTagName('errors');
|
if (errors != null && errors.length > 0) {
|
var messageText = '';
|
for(var errorIdx = 0; errorIdx < errors.length; errorIdx++)
|
messageText+= errors.item(errorIdx).getElementsByTagName('message').item(0).innerHTML + '\n';
|
alert("Error:"+messageText);
|
} else {
|
alert("Remote Site Added! Please Refresh!");
|
}
|
}
|
}
|
binding.send(request);
|
}
|
|
//TODO javascript DML メッセージ表示用のところ全部変更する必要がります。ここはあってます
|
var getConnectDMLErrorMessages = function (results) {
|
var messages = [],
|
i = 0,
|
len = results.length,
|
r;
|
for (; i < len; i++) {
|
r = results[i];
|
if (! r.getBoolean("success")) {
|
messages = messages.concat(getConnectDMLMessagesOfAResult(r));
|
}
|
}
|
return messages;
|
};
|
var getConnectDMLMessagesOfAResult = function (res) {
|
var messages = [],
|
errors = res.getArray("errors"),
|
i = 0,
|
len = errors.length,
|
e;
|
for (; i < len; i++) {
|
e = errors[i];
|
messages.push(e.message + " " + getConnectDMLErrorFields(e));
|
}
|
return messages;
|
};
|
var getConnectDMLErrorFields = function (error) {
|
var fields = error.getArray('fields');
|
if (fields.length > 0) {
|
return "[" + fields.join(",") + "]"
|
} else {
|
return "";
|
}
|
};
|