548 lines
11 KiB
JavaScript
Executable File
548 lines
11 KiB
JavaScript
Executable File
|
|
app.construct = {
|
|
/*
|
|
Structure:
|
|
wrapper
|
|
headerPanel
|
|
homeBox
|
|
searchBox
|
|
mainPanel
|
|
leftPanel
|
|
cityPicker
|
|
calendarBox
|
|
currentEventsList
|
|
middlePanel
|
|
middleTopPanel
|
|
newsfeedBox
|
|
aboutBox
|
|
itfBox
|
|
middleMiddlePanel
|
|
erangBox
|
|
scriptArchiveBox
|
|
bestPracticesBox
|
|
middleBottomPanel
|
|
biblioBox
|
|
offersNeedsBox
|
|
surveysBox
|
|
rightPanel
|
|
loginBox
|
|
previewBox
|
|
footerPanel
|
|
*/
|
|
|
|
|
|
'wrapper': function(pageData) {
|
|
var id = 'wrapper';
|
|
// Constructs overall wrapper for the page, and should be appended to $(body)
|
|
return app.$ui[id] = new Ox.SplitPanel({
|
|
id: id,
|
|
orientation: 'vertical',
|
|
elements: [
|
|
{
|
|
element: app.construct.headerPanel(),
|
|
size: 40
|
|
},
|
|
{
|
|
element: app.construct.mainPanel(pageData),
|
|
},
|
|
{
|
|
element: app.construct.footerPanel(),
|
|
size: 40
|
|
}
|
|
]
|
|
});
|
|
},
|
|
|
|
/*
|
|
BEGIN headerPanel
|
|
*/
|
|
'headerPanel': function() {
|
|
var id = 'headerPanel';
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
orientation: 'horizontal',
|
|
id: id,
|
|
elements: [
|
|
{
|
|
element: app.construct.homeBox(),
|
|
},
|
|
{
|
|
element: app.construct.searchBox(),
|
|
size: 128
|
|
|
|
}
|
|
]
|
|
});
|
|
return p;
|
|
},
|
|
|
|
'homeBox': function() {
|
|
var id = 'homeBox';
|
|
var c = app.$ui.homeBox = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("This is the header - maybe load from a template?");
|
|
return c;
|
|
},
|
|
|
|
'searchBox': function() {
|
|
var id = 'searchBox';
|
|
var i = app.$ui.searchBox = new Ox.Input({
|
|
'id': id,
|
|
'placeholder': 'Search'
|
|
});
|
|
i.bindEvent("submit", function(val) {
|
|
Ox.print("Should be doing a search");
|
|
});
|
|
i.css({
|
|
'marginRight': '15px',
|
|
'marginTop': '6px'
|
|
});
|
|
return i;
|
|
},
|
|
|
|
/*
|
|
END headerPanel
|
|
*/
|
|
|
|
/*
|
|
BEGIN mainPanel
|
|
*/
|
|
|
|
'mainPanel': function(pageData) {
|
|
var id = 'mainPanel';
|
|
// var p = app.$ui[id] = new ItfPage(pageData);
|
|
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
id: id,
|
|
orientation: 'horizontal',
|
|
elements: [
|
|
/* {
|
|
element: app.construct.leftPanel(),
|
|
size: 256,
|
|
resizable: true,
|
|
resize: [0, 128, 256, 384]
|
|
}, */
|
|
{
|
|
element: app.construct.middlePanel(pageData),
|
|
size: 1000,
|
|
resizable: true
|
|
},
|
|
{
|
|
element: app.construct.rightPanel(),
|
|
}
|
|
]
|
|
});
|
|
|
|
return p;
|
|
},
|
|
|
|
/*
|
|
BEGIN leftPanel
|
|
*/
|
|
'leftPanel': function() {
|
|
var id = 'leftPanel';
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
id: id,
|
|
orientation: 'vertical',
|
|
elements: [
|
|
{
|
|
element: app.construct.cityPicker(),
|
|
size: 20
|
|
},
|
|
{
|
|
element: app.construct.calendarBox()
|
|
},
|
|
{
|
|
element: app.construct.currentEventsList(),
|
|
size: 300
|
|
}
|
|
]
|
|
});
|
|
return p;
|
|
},
|
|
|
|
'cityPicker': function() {
|
|
var id = 'cityPicker';
|
|
var i = app.$ui[id] = new Ox.Input({
|
|
id: id,
|
|
placeholder: 'Chose Your City',
|
|
autocomplete: ['Mumbai', 'Gurgaon', 'Agra', 'Delhi', 'Bangalore', 'Calcutta', 'Hyderabad'],
|
|
autocompleteSelect: true,
|
|
autocompleteSelectHighlight: true,
|
|
autocompleteSelectSubmit: true,
|
|
autocompleteReplaceCorrect: true,
|
|
width: 250,
|
|
labelWidth: 0
|
|
});
|
|
i.bindEvent("submit", function(event, data) {
|
|
Ox.print(data);
|
|
// alert(data.value);
|
|
});
|
|
return i;
|
|
},
|
|
|
|
'calendarBox': function() {
|
|
var id = 'calendarBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("somehow, the bookmyshow calendar goes here.");
|
|
return c;
|
|
},
|
|
|
|
'currentEventsList': function() {
|
|
var id = 'currentEventsList';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("List of current events");
|
|
return c;
|
|
},
|
|
/*
|
|
END leftPanel
|
|
*/
|
|
|
|
/*
|
|
BEGIN middlePanel
|
|
*/
|
|
'middlePanel': function(pageData) {
|
|
var id = 'middlePanel';
|
|
var p = new Ox.ItfPage(pageData);
|
|
/*
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
orientation: 'vertical',
|
|
id: id,
|
|
elements: [
|
|
{
|
|
element: app.construct.middleTopPanel(),
|
|
size: 196,
|
|
resizable: true,
|
|
resize: [0, 64, 128, 196, 256],
|
|
// collapsible: true
|
|
},
|
|
{
|
|
element: app.construct.middleMiddlePanel(),
|
|
// collapsible: true
|
|
},
|
|
{
|
|
element: app.construct.middleBottomPanel(),
|
|
size: 196,
|
|
resizable: true,
|
|
resize: [0, 64, 128, 196, 256],
|
|
// collapsible: true
|
|
}
|
|
]
|
|
});
|
|
*/
|
|
return p;
|
|
},
|
|
|
|
/*
|
|
BEGIN middleTopPanel
|
|
*/
|
|
'middleTopPanel': function() {
|
|
var id = 'middleTopPanel';
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
id: id,
|
|
orientation: 'horizontal',
|
|
elements: [
|
|
{
|
|
element: app.construct.newsfeedBox(),
|
|
size: 256,
|
|
resizable: true,
|
|
resize: [0,128,196,256,384,512]
|
|
},
|
|
{
|
|
element: app.construct.aboutBox()
|
|
},
|
|
{
|
|
element: app.construct.itfBox(),
|
|
size: 256,
|
|
resizable: true,
|
|
resize: [0,128,196,256,384,512]
|
|
}
|
|
]
|
|
});
|
|
return p;
|
|
},
|
|
|
|
'newsfeedBox': function() {
|
|
var id = 'newsfeedBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id,
|
|
title: 'ITF NewsFeed'
|
|
});
|
|
for (var i=0; i<25; i++) {
|
|
var content = new Ox.Element().html('newsfeed content goes here');
|
|
c.append(content);
|
|
}
|
|
return c;
|
|
},
|
|
|
|
'aboutBox': function() {
|
|
var id = 'aboutBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id,
|
|
title: 'About'
|
|
});
|
|
c.html("about goes here");
|
|
return c;
|
|
},
|
|
|
|
'itfBox': function() {
|
|
var id = 'itfBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("about itf goes here");
|
|
return c;
|
|
},
|
|
/*
|
|
END middleTopPanel
|
|
*/
|
|
|
|
/*
|
|
BEGIN middleMiddlePanel
|
|
*/
|
|
|
|
'middleMiddlePanel': function() {
|
|
var id = 'middleMiddlePanel';
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
id: id,
|
|
orientation: 'horizontal',
|
|
elements: [
|
|
{
|
|
element: app.construct.erangBox(),
|
|
size: 256,
|
|
resizable: true,
|
|
resize: [0,128,196,256,384,512]
|
|
},
|
|
{
|
|
element: app.construct.scriptArchiveBox()
|
|
},
|
|
{
|
|
element: app.construct.bestPracticesBox(),
|
|
size: 256,
|
|
resizable: true,
|
|
resize: [0,128,196,256,384,512]
|
|
}
|
|
]
|
|
});
|
|
return p;
|
|
},
|
|
|
|
'erangBox': function() {
|
|
var id = 'erangBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("erang goes here");
|
|
return c;
|
|
},
|
|
|
|
'scriptArchiveBox': function() {
|
|
var id = 'scriptbankBox';
|
|
var c = app.$ui[id] = new Ox.ItfBox({
|
|
'id': id,
|
|
'title': 'Script Bank',
|
|
'module': 'scriptbank',
|
|
'model': 'Script',
|
|
'info': 'Script Archives are great, etc.'
|
|
});
|
|
// c.html("script archive goes here");
|
|
return c;
|
|
},
|
|
|
|
'bestPracticesBox': function() {
|
|
var id = 'bestpracticesBox';
|
|
var title = "Best Practices";
|
|
var module = "bestpractices";
|
|
var model = "BestPractice";
|
|
var info = "Some best practices lorem ipsum";
|
|
var c = app.$ui[id] = new Ox.ItfBox({
|
|
'id': id,
|
|
'title': 'Best Practices',
|
|
'module': 'bestpractices',
|
|
'model': 'BestPractice',
|
|
'info': 'Some best practices lorem ipsum'
|
|
/*
|
|
'preview': function(data, callback) {
|
|
var selectedId = data.ids[0];
|
|
app.api.preview({
|
|
'model': model,
|
|
'module': module,
|
|
'data': {'id': selectedId}
|
|
}, callback);
|
|
}
|
|
*/
|
|
});
|
|
// c.html("best practices goes here");
|
|
return c;
|
|
},
|
|
|
|
/*
|
|
END middleMiddlePanel
|
|
*/
|
|
|
|
/*
|
|
BEGIN middleBottomPanel
|
|
*/
|
|
'middleBottomPanel': function() {
|
|
var id = 'middleBottomPanel';
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
id: id,
|
|
orientation: 'horizontal',
|
|
elements: [
|
|
{
|
|
element: app.construct.biblioBox(),
|
|
size: 256,
|
|
resizable: true,
|
|
resize: [0,128,196,256,384,512]
|
|
},
|
|
{
|
|
element: app.construct.offersNeedsBox()
|
|
},
|
|
{
|
|
element: app.construct.surveysBox(),
|
|
size: 256,
|
|
resizable: true,
|
|
resize: [0,128,196,256,384,512]
|
|
}
|
|
]
|
|
});
|
|
return p;
|
|
},
|
|
|
|
'biblioBox': function() {
|
|
var id = 'biblioBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("biblioBox here");
|
|
return c;
|
|
},
|
|
|
|
'offersNeedsBox': function() {
|
|
var id = 'offersNeedsBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("offers and needs here");
|
|
return c;
|
|
},
|
|
|
|
'surveysBox': function() {
|
|
var id = 'surveysBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("surveys go here");
|
|
return c;
|
|
},
|
|
|
|
/*
|
|
END middleBottomPanel
|
|
*/
|
|
|
|
/*
|
|
END middlePanel
|
|
*/
|
|
|
|
/*
|
|
BEGIN rightPanel
|
|
*/
|
|
|
|
'rightPanel': function() {
|
|
var id = 'rightPanel';
|
|
var p = app.$ui[id] = new Ox.SplitPanel({
|
|
id: id,
|
|
orientation: 'vertical',
|
|
elements: [
|
|
{
|
|
element: app.construct.loginBox(),
|
|
size: 32
|
|
},
|
|
{
|
|
element: app.construct.previewBox()
|
|
}
|
|
]
|
|
});
|
|
return p;
|
|
},
|
|
|
|
'loginBox': function() {
|
|
var id = 'loginBox';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
|
|
|
|
var btnsWrapper = c.$btns = new Ox.Element().css({'textAlign': 'center', 'marginTop': '4px'});
|
|
|
|
var info = c.$info = new Ox.Element("span").appendTo(btnsWrapper);
|
|
|
|
var loginBtn = c.$loginBtn = new Ox.Button({
|
|
'id': 'loginBtn',
|
|
'title': 'Login',
|
|
'size': 'large'
|
|
}).bindEvent("click", function() {
|
|
ui.accountDialog("login").open();
|
|
}).appendTo(btnsWrapper);
|
|
|
|
var registerBtn = c.$registerBtn = new Ox.Button({
|
|
'id': 'registerBtn',
|
|
'title': 'Register',
|
|
'size': 'large'
|
|
}).bindEvent("click", function() {
|
|
ui.accountDialog("register").open();
|
|
}).appendTo(btnsWrapper);
|
|
|
|
var logoutBtn = c.$logoutBtn = new Ox.Button({
|
|
'id': 'logoutBtn',
|
|
'title': 'Logout',
|
|
'size': 'large'
|
|
}).bindEvent("click", function() {
|
|
app.api.logout({}, function(data) {
|
|
ui.accountLogoutDialog().open();
|
|
});
|
|
}).appendTo(btnsWrapper).hide();
|
|
|
|
|
|
btnsWrapper.appendTo(c);
|
|
return c;
|
|
},
|
|
|
|
'previewBox': function() {
|
|
var id = 'previewBox';
|
|
var c = app.$ui[id] = new Ox.ItfPreview({
|
|
id: id
|
|
});
|
|
c.$content.html("previews here");
|
|
return c;
|
|
},
|
|
|
|
/*
|
|
END rightPanel
|
|
*/
|
|
|
|
/*
|
|
END mainPanel
|
|
*/
|
|
|
|
/*
|
|
BEGIN footerPanel
|
|
*/
|
|
'footerPanel': function() {
|
|
var id = 'footerPanel';
|
|
var c = app.$ui[id] = new Ox.Element({
|
|
id: id
|
|
});
|
|
c.html("footer goes here");
|
|
return c;
|
|
}
|
|
/*
|
|
END footerPanel
|
|
*/
|
|
}
|
|
|