8:00 – 12:00 SR
- My remote drives are not working on the servers any more. Put in a ticket
- Fixed the Month1 != Month10 problem Dong found.
- Was going to deploy the chart test but Bill had to leave. Maybe tomorrow.
- Timesheets!
8:00 – 12:00 SR
8:00 – 4:30 SR

export interface IChartElementFormat {
label:string;
objectName:string;
type:string; // "area", "bar", pie, cluster
hexColor:number;
}
export interface IChartFormat{
[label:string]:IChartElementFormat;
}
this.dataFormat = { // might add 2D/3d, dynamic/static, etc.
goals: {label:"Goals", objectName:"goals", type:"area", hexColor:0xFF0000},
obligations:{label:"Obligations", objectName:"obligations", type:"area",hexColor:0xFFFF00},
pm_actuals:{label:"PM Actuals", objectName:"pm_actuals", type:"bar",hexColor:0x00FF00},
facts:{label:"Facts", objectName:"facts", type:"bar",hexColor:0x0000FF},
future_pm_actuals:{label:"Future PMA", objectName:"future_pm_actuals", type:"area",hexColor:0xAAFFAA},
future_facts:{label:"Future FACTS", objectName:"future_facts", type:"area", hexColor:0xAAAAFF}
};
export interface IChartBoundries {
xmin:number;
xmax:number;
ymin:number;
ymax:number;
zmin?:number;
zmax?:number;
}
export interface IChartDataMapping{
[label:string]:number;
}
export interface IMinMax {
min:number;
max:number;
}
export interface IChartDataElement{
[label:string]:IMinMax;
}
export interface IChartDataCollection{
[objectName:string]:IChartDataElement;
}
export interface IChartData{
type:string;
min_max:IChartBoundries;
mappings:IChartDataMapping[];
data:IChartDataCollection;
}
this.dataProvider = {
type:'XY', // RAH (Radius Angle Height) RAE (Radius Azimuth Elevation), XYZ, etc.
min_max:{xmin:0.00, xmax:11.00, ymin:0.00, ymax:3715.30},
mappings:[{Jan:0, Feb:1, Mar:2, Apr:3, May:4, Jun:5, Jul:6, Aug:7, Sep:8, Oct:9, Nov:10, Dec:11}],
data:{
goals: {
Jan: {min: 0, max: 1000.00},
Feb: {min: 0, max: 1100.00},
Mar: {min: 0, max: 1210.00},
Apr: {min: 0, max: 1331.00},
May: {min: 0, max: 1464.10},
Jun: {min: 0, max: 1610.51},
Jul: {min: 0, max: 1771.56},
Aug: {min: 0, max: 1948.72},
Sep: {min: 0, max: 2143.59},
Oct: {min: 0, max: 2357.95},
Nov: {min: 0, max: 2593.74},
Dec: {min: 0, max: 2853.12}
},
obligations: {
Jan: {min: 0, max: 500.00},
Feb: {min: 0, max: 600.00},
Mar: {min: 0, max: 720.00},
Apr: {min: 0, max: 864.00},
May: {min: 0, max: 1036.80},
Jun: {min: 0, max: 1244.16},
Jul: {min: 0, max: 1492.99},
Aug: {min: 0, max: 1791.59},
Sep: {min: 0, max: 2149.91},
Oct: {min: 0, max: 2579.89},
Nov: {min: 0, max: 3095.87},
Dec: {min: 0, max: 3715.04}
},
pm_actuals: {
Jan: {min: 0, max: 250.00},
Feb: {min: 0, max: 341.39},
Mar: {min: 0, max: 495.27},
Apr: {min: 0, max: 618.30},
May: {min: 0, max: 923.08},
Jun: {min: 0, max: 1318.68}
},
facts: {
Jan: {min: 0, max: 125.00},
Feb: {min: 0, max: 134.17},
Mar: {min: 0, max: 134.31},
Apr: {min: 0, max: 163.00},
May: {min: 0, max: 164.36},
Jun: {min: 0, max: 202.29}
},
future_pm_actuals: {
Jun: {min: 1318.68, max: 1318.68},
Jul: {min: 1257.91, max: 1499.96},
Aug: {min: 1342.92, max: 1827.03},
Sep: {min: 1427.94, max: 2154.10},
Oct: {min: 1512.96, max: 2481.16},
Nov: {min: 1597.97, max: 2808.23},
Dec: {min: 1682.99, max: 3135.30}
},
future_facts: {
Jun: {min: 202.29, max: 202.29},
Jul: {min: 193.38, max: 215.48},
Aug: {min: 196.77, max: 240.99},
Sep: {min: 200.17, max: 266.49},
Oct: {min: 203.57, max: 291.99},
Nov: {min: 206.96, max: 317.50},
Dec: {min: 210.36, max: 343.00}
}
}
};
8:00 – 5:00 SR
8:00 – 4:00 SR
this.dataFormat = { // might add 2D/3d, dynamic/static, etc.
goals: "area",
obligations:"area",
pm_actuals:"bar",
facts:"bar",
pm_future:"area",
facts_future:"area"
};
this.dataProvider = {
_type:'XY', // RAH (Radius Angle Height) RAE (Radius Azimuth Elevation), XYZ, etc.
_min_max:{xmin:0.00, xmax:11.00, ymin:0.00, ymax:3135.30},
_mappings:[{Jan:0, Feb:1, Mar:2, Apr:3, May:4, Jun:5, Jul:6, Aug:7, Sep:8, Oct:9, Nov:10, Dec:11}],
goals:{Jan:{min:0, max:1000.00}, Feb:{min:0, max:1100.00}, Mar:{min:0, max:1210.00}, Apr:{min:0, max:1331.00}, May:{min:0, max:1464.10}, Jun:{min:0, max:1610.51}, Jul:{min:0, max:1771.56}, Aug:{min:0, max:1948.72}, Sep:{min:0, max:2143.59}, Oct:{min:0, max:2357.95}, Nov:{min:0, max:2593.74}, Dec:{min:0, max:2853.12}},
obligations:{Jan:{min:0, max:500.00}, Feb:{min:0, max:600.00}, Mar:{min:0, max:720.00}, Apr:{min:0, max:864.00}, May:{min:0, max:1036.80}, Jun:{min:0, max:1244.16}, Jul:{min:0, max:1492.99}, Aug:{min:0, max:1791.59}, Sep:{min:0, max:2149.91}, Oct:{min:0, max:2579.89}, Nov:{min:0, max:3095.87}, Dec:{min:0, max:3715.04}},
pm_actuals:{Jan:{min:0, max:250.00}, Feb:{min:0, max:341.39}, Mar:{min:0, max:495.27}, Apr:{min:0, max:618.30}, May:{min:0, max:923.08}, Jun:{min:0, max:1318.68}},
facts:{Jan:{min:0, max:125.00}, Feb:{min:0, max:134.17}, Mar:{min:0, max:134.31}, Apr:{min:0, max:163.00}, May:{min:0, max:164.36}, Jun:{min:0, max:202.29}},
future_pm_actuals:{Jun:{min:1318.68, max:1318.68}, Jul:{min:1257.91, max:1499.96}, Aug:{min:1342.92, max:1827.03}, Sep:{min:1427.94, max:2154.10}, Oct:{min:1512.96, max:2481.16}, Nov:{min:1597.97, max:2808.23}, Dec:{min:1682.99, max:3135.30}},
future_facts:{Jun:{min:202.29, max:202.29}, Jul:{min:193.38, max:215.48}, Aug:{min:196.77, max:240.99}, Sep:{min:200.17, max:266.49}, Oct:{min:203.57, max:291.99}, Nov:{min:206.96, max:317.50}, Dec:{min:210.36, max:343.00}}
};

8:00 – 4:30 SR
8:00 – 4:00 SR
8:00 – 4:00 SR
8:00 – 4:30 SR
8:00 – 3:00 SR
export class FatSuperBase {
public functionMap:any[];
constructor() {
this.functionMap = [];
}
public setFatPrototype(fn:Function, n:string){
// TODO: look for earlier prototypes that we might need to call
if(!this.functionMap.hasOwnProperty(n)){
this.functionMap[n] = [];
}
this.functionMap[n].push(fn);
}
public fatSuper(fnName:string, childArgs:IArguments){
// TODO: look for earlier prototypes that we might need to call
var fn:Function;
var farray:Function[];
if(this.functionMap.hasOwnProperty(fnName)){
farray = this.functionMap[fnName];
fn = farray[farray.length-1];
fn.apply(fn, childArgs);
}else{
console.log("fatSuper(): function '"+fnName+"'does not exist on the prototype chain");
}
}
}
7:00 – 3:30 SR
export class TestController implements ITestController {
// standard TypeScript constructor
constructor() {
}
public extendableFunction():void{
alert("It's extendableFunction()");
}
public fatArrowFunction = ():void => {
alert("It's fatArrowFunction()");
}
}
var TestController = (function () {
// standard TypeScript constructor
function TestController() {
var _this = this;
this.fatArrowFunction = function () {
alert("It's fatArrowFunction()");
};
}
TestController.prototype.extendableFunction = function () {
alert("It's extendableFunction()");
};
return TestController;
})();
InheritApp.TestController = TestController;
export class TestController2 extends TestController implements ITestController2 {
myInheritedString:string;
// standard inheriting constructor pattern. Note that 'super' must be on the first line and
// that the arguments from angular get passed through
constructor(){
super();
}
public extendableFunction():void{
super.extendableFunction();
}
}
var TestController2 = (function (_super) {
__extends(TestController2, _super);
function TestController2() {
_super.call(this);
}
TestController2.prototype.extendableFunction = function () {
_super.prototype.extendableFunction.call(this);
};
return TestController2;
})(TestController);
InheritApp.TestController2 = TestController2;
var TestController2 = (function (_super) {
__extends(TestController2, _super);
function TestController2() {
_super.apply(this, arguments);
}
return TestController2;
})(TestController);
InheritApp.TestController2 = TestController2;
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
this[fatArrowFunction] = function () {
alert("It's fatArrowFunction()");
}
export class TestController implements ITestController {
public functionMap:Function[];
// standard TypeScript constructor
constructor() {
this.functionMap = [];
this.setFatPrototype(this.fatArrowFunction, "fatArrowFunction");
}
public fatArrowFunction = (arg:string):void => {
alert("It's fatArrowFunction("+arg+")");
};
public extendableFunction():void{
alert("It's extendableFunction()");
}
public setFatPrototype(fn:Function, n:string){
// TODO: look for earlier prototypes that we might need to call
fn["name"] = n;
this.functionMap[n] = fn;
}
public fatSuper(fnName:string, childArgs:IArguments){
// TODO: look for earlier prototypes that we might need to call
var fn;Function;
if(this.functionMap.hasOwnProperty(fnName)){
fn = this.functionMap[fnName];
fn.apply(fn, childArgs);
}else{
console.log("fatSuper(): function '"+fnName+"'does not exist on the prototype chain");
}
}
}
export class TestController2 extends TestController implements ITestController2 {
public extendableFunction():void{
super.extendableFunction();
}
public fatArrowFunction = (arg:string):void => {
this.fatSuper("fatArrowFunction", arguments);
alert("It's fatArrowFunction2("+arg+")");
};
}
8:00 – 4:00 SR
public behavior = (dClock:number, elapsed:number):void => {
var rb = this.wglCanvas;
var ci:IChartElement;
var i:number = 0;
if (rb) {
rb.dprint("Hello controller - sin(elapsed) = " + Math.sin(elapsed).toFixed(2));
for (i = 0; i < this.chartElements.length; i++) {
ci = this.chartElements[i];
ci.setZOffset(Math.sin(elapsed + i));
ci.behavior(dClock, elapsed);
}
}
};
8:00 – 5:00 SR
8:00 – 4:30 SR
8:00 – 10:00, 12:00- 5:00 SR
8:00 – 4:30 SR
You must be logged in to post a comment.