App-SocialCalc-Multiplayer
view release on metacpan or search on metacpan
socialcalc/socialcalcspreadsheetcontrol.js view on Meta::CPAN
ele.childNodes[1].innerHTML = str1;
}
//
// PopupList Control
//
SocialCalc.SettingsControls.PopupListSetValue = function(panelobj, ctrlname, value) {
if (!value) {alert(ctrlname+" no value"); return;}
var sp = SocialCalc.Popup;
if (!value.def) {
sp.SetValue(panelobj[ctrlname].id, value.val);
}
else {
sp.SetValue(panelobj[ctrlname].id, "");
}
}
//
// SocialCalc.SettingsControls.PopupListGetValue
//
SocialCalc.SettingsControls.PopupListGetValue = function(panelobj, ctrlname) {
var ctl = panelobj[ctrlname];
if (!ctl) return null;
var value = SocialCalc.Popup.GetValue(ctl.id);
if (value) {
return {def: false, val: value};
}
else {
return {def: true, val: 0};
}
}
//
// SocialCalc.SettingsControls.PopupListInitialize
//
SocialCalc.SettingsControls.PopupListInitialize = function(panelobj, ctrlname) {
var i, val, pos, otext;
var sc = SocialCalc.SettingsControls;
var initialdata = panelobj[ctrlname].initialdata || sc.Controls[panelobj[ctrlname].type].InitialData || "";
initialdata = SocialCalc.LocalizeSubstrings(initialdata);
var optionvals = initialdata.split(/\|/);
var options = [];
for (i=0; i<(optionvals.length||0); i++) {
val = optionvals[i];
pos = val.indexOf(":");
otext = val.substring(0, pos);
if (otext.indexOf("\\")!=-1) { // escape any colons
otext = otext.replace(/\\c/g,":");
otext = otext.replace(/\\b/g,"\\");
}
otext = SocialCalc.special_chars(otext);
if (otext == "[custom]") {
options[i] = {o: SocialCalc.Constants.s_PopupListCustom, v: val.substring(pos+1), a:{custom: true}};
}
else if (otext == "[cancel]") {
options[i] = {o: SocialCalc.Constants.s_PopupListCancel, v: "", a:{cancel: true}};
}
else if (otext == "[break]") {
options[i] = {o: "-----", v: "", a:{skip: true}};
}
else if (otext == "[newcol]") {
options[i] = {o: "", v: "", a:{newcol: true}};
}
else {
options[i] = {o: otext, v: val.substring(pos+1)};
}
}
SocialCalc.Popup.Create("List", panelobj[ctrlname].id, {});
SocialCalc.Popup.Initialize(panelobj[ctrlname].id,
{options: options,
attribs:{changedcallback: SocialCalc.SettingsControls.PopupChangeCallback, panelobj: panelobj}});
}
//
// SocialCalc.SettingsControls.PopupListReset
//
SocialCalc.SettingsControls.PopupListReset = function(ctrlname) {
SocialCalc.Popup.Reset("List");
}
SocialCalc.SettingsControls.Controls.PopupList = {
SetValue: SocialCalc.SettingsControls.PopupListSetValue,
GetValue: SocialCalc.SettingsControls.PopupListGetValue,
Initialize: SocialCalc.SettingsControls.PopupListInitialize,
OnReset: SocialCalc.SettingsControls.PopupListReset,
ChangedCallback: null
}
//
// ColorChooser Control
//
SocialCalc.SettingsControls.ColorChooserSetValue = function(panelobj, ctrlname, value) {
if (!value) {alert(ctrlname+" no value"); return;}
var sp = SocialCalc.Popup;
if (!value.def) {
sp.SetValue(panelobj[ctrlname].id, value.val);
( run in 3.065 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )