define(["sugar-web/graphics/palette"], function (palette) {
|
|
|
|
'use strict';
|
|
|
|
var custompalette = {};
|
|
|
|
custompalette.CustomPalette = function (game, invoker, primaryText, menuData) {
|
|
console.log(game);
|
|
console.log(invoker);
|
|
var g = game;
|
|
palette.Palette.call(this, invoker, primaryText);
|
|
|
|
var div = document.createElement('div');
|
|
|
|
var lrods = document.createElement("label");
|
|
lrods.innerHTML = "Rods:";
|
|
lrods.setAttribute("for","rods");
|
|
var rods = document.createElement("INPUT");
|
|
rods.setAttribute("type", "number");
|
|
rods.setAttribute("min","1");
|
|
rods.setAttribute("style","width:40px;margin:5px;");
|
|
rods.setAttribute("id","rods");
|
|
rods.value=g.customarr[0];
|
|
|
|
var ltop = document.createElement("label");
|
|
ltop.innerHTML = "Top:";
|
|
ltop.setAttribute("for","top");
|
|
var top = document.createElement("INPUT");
|
|
top.setAttribute("type", "number");
|
|
top.setAttribute("min","1");
|
|
top.setAttribute("style","width:40px;margin:5px;");
|
|
top.setAttribute("id","top");
|
|
top.value=g.customarr[1];
|
|
|
|
var lbottom = document.createElement("label");
|
|
lbottom.innerHTML = "Bottom:";
|
|
lbottom.setAttribute("for","bottom");
|
|
var bottom = document.createElement("INPUT");
|
|
bottom.setAttribute("type", "number");
|
|
bottom.setAttribute("min","1");
|
|
bottom.setAttribute("style","width:40px;margin:5px;");
|
|
bottom.setAttribute("id","bottom");
|
|
bottom.value=g.customarr[2];
|
|
|
|
var lfactor = document.createElement("label");
|
|
lfactor.innerHTML = "Factor:";
|
|
lfactor.setAttribute("for","factor");
|
|
var factor = document.createElement("INPUT");
|
|
factor.setAttribute("type", "number");
|
|
factor.setAttribute("min","1");
|
|
factor.setAttribute("style","width:40px;margin:5px;");
|
|
factor.setAttribute("id","factor");
|
|
factor.value=g.customarr[3];
|
|
|
|
var lbase = document.createElement("label");
|
|
lbase.innerHTML = "Base:";
|
|
lbase.setAttribute("for","base");
|
|
var base = document.createElement("INPUT");
|
|
base.setAttribute("type", "number");
|
|
base.setAttribute("min","1");
|
|
base.setAttribute("style","width:40px;margin:5px;");
|
|
base.setAttribute("id","base");
|
|
base.value=g.customarr[4];
|
|
|
|
var submit = document.createElement('button');
|
|
submit.className = 'toolbutton';
|
|
submit.setAttribute('id','new-button');
|
|
submit.setAttribute('title','Create');
|
|
submit.onclick = function() {
|
|
that.setAbacus();
|
|
}
|
|
|
|
function isNormalInteger(str) {
|
|
var n = Math.floor(Number(str));
|
|
return String(n) === str && n > 0;
|
|
}
|
|
|
|
this.setAbacus = function() {
|
|
if(isNormalInteger(rods.value)){
|
|
that.popDown();
|
|
g.updateCustom(parseInt(rods.value),parseInt(top.value),parseInt(bottom.value),parseInt(factor.value),parseInt(base.value));
|
|
g.initAbacus(10);
|
|
}
|
|
}
|
|
|
|
div.appendChild(lrods);
|
|
div.appendChild(rods);
|
|
div.appendChild(ltop);
|
|
div.appendChild(top);
|
|
div.appendChild(lbottom);
|
|
div.appendChild(bottom);
|
|
div.appendChild(lfactor);
|
|
div.appendChild(factor);
|
|
div.appendChild(lbase);
|
|
div.appendChild(base);
|
|
div.appendChild(submit);
|
|
|
|
this.setContent([div]);
|
|
var that = this;
|
|
};
|
|
|
|
var addEventListener = function (type, listener, useCapture) {
|
|
return this.getPalette().addEventListener(type, listener, useCapture);
|
|
};
|
|
|
|
custompalette.CustomPalette.prototype =
|
|
Object.create(palette.Palette.prototype, {
|
|
addEventListener: {
|
|
value: addEventListener,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
}
|
|
});
|
|
custompalette.CustomPalette.prototype.setShared = function(state) {
|
|
this.setShared(state);
|
|
}
|
|
|
|
return custompalette;
|
|
});
|