home_page.js 3.15 KB
Newer Older
Spencer Chang's avatar
Spencer Chang committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
var config = $config();
var home_page_table = CompositeUtil.findChild(config, 'table');
var role_home_page_function_path = $ctx.get(
		'/model/role_home_page_function_path').getChildren();

function newMap(name) {
	return new CompositeMap("a", 'http://www.leaf-framework.org/application',
			name);
}

function newHtmlMap(name) {
	return new CompositeMap(name);
}

function create_tr_td1(tr) {
	var td = newHtmlMap('td');
	td.colspan = '9';
	tr.addChild(td.getData());
}

function create_tr_td2(tr, r, i) {
	var td = newHtmlMap('td');
	td.align = 'center';
	td.colspan = '1';
	td.valign = 'middle';
	if ((i + 4) % 4 === 0) {
		td.width = '14%';
	} else {
		td.width = '4%';
	}
	tr.addChild(td.getData());
}

function create_tr_td3(tr, r) {
	var td = newHtmlMap('td');
	td.align = 'center';
	td.class = 'js-slide';
	td.style = 'padding-bottom:14px;';
	td.valign = 'middle';
	td.width = '15%';
	tr.addChild(td.getData());
	var a_href = newHtmlMap('a');
	a_href.href = "javascript:hitPage('" + r.function_code + "')";
	td.addChild(a_href.getData());
	if (r.count_number > 0) {
		var count_div = newHtmlMap('div');
		count_div.class = 'todo_icon_s1';
		a_href.addChild(count_div.getData());
		var count_div1 = newHtmlMap('div');
		count_div1.class = 'todo_icon_text';
		count_div.addChild(count_div1.getData());
		count_div1.setText(r.count_number);
	}
	var div = newHtmlMap('div');
	div.class = 'list_box_n';
	var style = 'background-color:' + r.background_color + ';';
	div.style = style;
	a_href.addChild(div.getData());
	var div1 = newHtmlMap('div');
	div1.class = 'list_box_n_d';
	var style1 = 'background:url(${/request/@context_path}/images/newmain/' + r.image + ') no-repeat bottom;';
	div1.style = style1;
	div.addChild(div1.getData());
	var div2 = newHtmlMap('div');
	div2.class = 'app_text';
	div.addChild(div2.getData());
	var b = newHtmlMap('b');
	b.setText(r.home_page_desc);
	div2.addChild(b.getData());
}

function create_tr_td4(tr) {
	var td = newHtmlMap('td');
	td.align = 'center';
	td.valign = 'middle';
	td.width = '14%';
	tr.addChild(td.getData());
	return null;
}

function create_table_tr(r, old_tr, i) {
	var tr = '';
	if (old_tr) {
		var tr = old_tr;
	} else {
		tr = newHtmlMap('tr');
	}
	if (r) {
		if (old_tr) {
			create_tr_td2(old_tr, r, i);
			create_tr_td3(old_tr, r);
		} else {
			create_tr_td2(tr, r, i);
			create_tr_td3(tr, r);
			home_page_table.addChild(tr.getData());
		}
	} else {
		tr.height = '40';
		create_tr_td1(tr);
		if (!old_tr) {
			home_page_table.addChild(tr.getData());
		}
	}
	return tr;
}

function create_height_table_tr() {
	var tr = newHtmlMap('tr');
	tr.height = '30px';
	home_page_table.addChild(tr.getData());
}

var current_tr = '';

for ( var i = 0, length = role_home_page_function_path.length; i < length; i++) {
	var r = role_home_page_function_path[i];
	if (i == 0) {
		create_table_tr();
		current_tr = create_table_tr(r, null, i);
	} else {
		if (!current_tr) {
			create_height_table_tr();
		}
		current_tr = create_table_tr(r, current_tr, i);
	}

	if (i == length - 1 && length < 4) {
		for ( var j = 0; j < 4 - length; j++) {
			current_tr = create_table_tr(null, current_tr, i);
		}
	}
	if ((i + 1) % 4 == 0) {
		current_tr = create_tr_td4(current_tr);
	}
}