104 lines
3.0 KiB
HTML
104 lines
3.0 KiB
HTML
<script type="text/worker">
|
|
|
|
var Sheet = Sheet || (function() {
|
|
|
|
var version= 1.0,
|
|
Debug = false,
|
|
// convert weapon quality selector from numeric value to text
|
|
qualitySwap = function() {
|
|
// get weapon quality text values
|
|
getAttrs(["weapon1-quality"], function(values) {
|
|
var qualityName,
|
|
list=["None", "Balanced", "Blunt", "Deep Impact", "Jointed", "Long", "Precise", "Short"],
|
|
index = ~~values["weapon1-quality"];
|
|
qualityName = list[index];
|
|
console.log("....Given: " + values["weapon1-quality"] );
|
|
console.log("....Index: " + index );
|
|
console.log("....QualityName: " + qualityName );
|
|
setAttrs({
|
|
"weapon1-quality":qualityName
|
|
});
|
|
});
|
|
|
|
// get repeating weapon quality text values
|
|
getSectionIDs("repeating_weapons", function(ids) {
|
|
var fields = _.map(ids,function(id) {
|
|
return "repeating_weapons_" + id + "_weapon1-quality";
|
|
console.log("....Row id " + id );
|
|
});
|
|
|
|
getAttrs(fields, function(values) {
|
|
_.each(ids, function(rowid, i) {
|
|
console.log("....repeating_weapons_" + rowid + "_weapon1-quality");
|
|
var qualityName,
|
|
list=["None", "Balanced", "Blunt", "Deep Impact", "Jointed", "Long", "Precise", "Short"],
|
|
index = ~~values["repeating_weapons_" + rowid + "_weapon1-quality"];
|
|
qualityName = list[index];
|
|
console.log("....Row id " + rowid );
|
|
console.log("....Given: " + values["repeating_weapons_" + rowid + "_weapon1-quality"] );
|
|
console.log("....Index: " + index );
|
|
console.log("....QualityName: " + qualityName );
|
|
setAttrs({
|
|
["repeating_weapons_" + rowid + "_weapon1-quality"]:qualityName
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
},
|
|
|
|
/* recalculateSheet */
|
|
recalculateSheet = function(oldversion) {
|
|
if (oldversion < 0.1) {
|
|
//call your functions here
|
|
qualitySwap();
|
|
}
|
|
},
|
|
|
|
/* checkForUpdate looks at current version of page in
|
|
* sheet_version and compares to code Sheet.version calls
|
|
* recalulateSheet if versions don"t match or if recalculate
|
|
* button was pressed. */
|
|
checkForUpdate = function() {
|
|
getAttrs(["sheet_version","sheet_forcesync","recalc1"],function(v){
|
|
var setter={},currVer=0,setAny=0,recalc=false;
|
|
currVer=parseFloat(v["sheet_version"],10)||0;
|
|
console.log("Current sheet data version:"+currVer+", Sheet code version:" + version );
|
|
|
|
if ( currVer!== version ) {
|
|
recalc=true;
|
|
setter["sheet_version"]= version;
|
|
setAny=1;
|
|
}
|
|
if (v["recalc1"] && v["recalc1"]!="0" ) {
|
|
currVer=-1;
|
|
recalc=true;
|
|
setter["recalc1"]=0;
|
|
setAny=1;
|
|
}
|
|
if (v["sheet_forcesync"] && v["sheet_forcesync"]!="0" ) {
|
|
currVer=-1;
|
|
recalc=true;
|
|
setter["sheet_forcesync"]=0;
|
|
setAny=1;
|
|
}
|
|
if (setAny) {
|
|
setAttrs( setter);
|
|
}
|
|
if (recalc) {
|
|
recalculateSheet(currVer);
|
|
}
|
|
});
|
|
};
|
|
return {
|
|
version:version,
|
|
checkForUpdate:checkForUpdate,
|
|
qualitySwap:qualitySwap
|
|
};
|
|
}());
|
|
|
|
//sheet
|
|
on("sheet:opened",function() {Sheet.checkForUpdate();});
|
|
on("change:recalc1",function() {Sheet.checkForUpdate();});
|
|
|
|
</script> |