mirror of
https://github.com/caperren/school_archives.git
synced 2025-11-09 21:51:15 +00:00
161 lines
5.0 KiB
JavaScript
161 lines
5.0 KiB
JavaScript
var current_col = 0;
|
|
var current_selected_cell;
|
|
|
|
function up_event_handler(current_event){
|
|
var prev_row_sib = current_selected_cell.parentElement.previousElementSibling;
|
|
|
|
if((typeof(prev_row_sib) == 'object') && (prev_row_sib != null)){
|
|
handle_new_cell_selection(prev_row_sib.children[current_col]);
|
|
}
|
|
}
|
|
|
|
function down_event_handler(current_event){
|
|
var next_row_sib = current_selected_cell.parentElement.nextElementSibling;
|
|
|
|
if((typeof(next_row_sib) == 'object') && (next_row_sib != null)){
|
|
handle_new_cell_selection(next_row_sib.children[current_col]);
|
|
}
|
|
}
|
|
|
|
function left_event_handler(current_event){
|
|
var prev_sib = current_selected_cell.previousSibling;
|
|
|
|
if((typeof(prev_sib) == 'object') && (prev_sib != null)){
|
|
current_col--;
|
|
handle_new_cell_selection(prev_sib);
|
|
}
|
|
}
|
|
|
|
function right_event_handler(current_event){
|
|
var next_sib = current_selected_cell.nextSibling;
|
|
|
|
if((typeof(next_sib) == 'object') && (next_sib != null)){
|
|
current_col++;
|
|
handle_new_cell_selection(next_sib);
|
|
}
|
|
}
|
|
|
|
function mark_event_handler(current_event){
|
|
current_selected_cell.style.backgroundColor = 'yellow';
|
|
}
|
|
|
|
function handle_new_cell_selection(new_cell){
|
|
current_selected_cell.style.border = '1px solid black';
|
|
current_selected_cell = new_cell;
|
|
current_selected_cell.style.border = '3px solid black';
|
|
}
|
|
|
|
|
|
function add_page_table(){
|
|
var page_body = document.body;
|
|
|
|
var new_table = document.createElement("table");
|
|
new_table.setAttribute('id', 'my_table_id');
|
|
new_table.style.border = '1px solid black';
|
|
new_table.style.borderCollapse = 'collapse';
|
|
new_table.style.marginLeft = 'auto';
|
|
new_table.style.marginRight = 'auto';
|
|
|
|
var new_thead = new_table.createTHead();
|
|
var new_tbody = new_table.createTBody();
|
|
var head_tr = new_thead.insertRow(0);
|
|
|
|
for(var i = 0 ; i < 4 ; i++){
|
|
var new_header_cell = head_tr.insertCell(i);
|
|
new_header_cell.style.border = '1px solid black';
|
|
new_header_cell.textContent = 'Header ' + (i+1);
|
|
}
|
|
|
|
for(var i = 0 ; i < 3 ; i++){
|
|
var curr_row = new_tbody.insertRow(i);
|
|
for(var j = 0 ; j < 4 ; j++){
|
|
var curr_cell = curr_row.insertCell(j);
|
|
curr_cell.style.border = '1px solid black';
|
|
curr_cell.textContent = (j+1).toString() + ", " + (i+1).toString();
|
|
}
|
|
}
|
|
|
|
new_table.appendChild(new_thead);
|
|
new_table.appendChild(new_tbody);
|
|
page_body.appendChild(new_table);
|
|
}
|
|
|
|
function add_page_buttons(){
|
|
var page_body = document.body;
|
|
|
|
var new_table = document.createElement("table");
|
|
new_table.style.marginTop = '20px';
|
|
new_table.style.marginLeft = 'auto';
|
|
new_table.style.marginRight = 'auto';
|
|
var new_tbody = new_table.createTBody();
|
|
|
|
//Make row 0
|
|
var curr_row = new_tbody.insertRow(0);
|
|
|
|
//Make row 0 with up arrow
|
|
curr_row.insertCell(0);
|
|
var curr_cell = curr_row.insertCell(1);
|
|
var curr_button = document.createElement('Button');
|
|
curr_button.innerHTML = '↑';
|
|
curr_button.addEventListener("click", up_event_handler);
|
|
curr_cell.appendChild(curr_button);
|
|
curr_row.insertCell(2); //Final cell for 3x3
|
|
|
|
//Make row 1
|
|
var curr_row = new_tbody.insertRow(1);
|
|
|
|
//Create right, Mark, and Left Buttons
|
|
var curr_cell = curr_row.insertCell(0);
|
|
var curr_button = document.createElement('Button');
|
|
curr_button.innerHTML = '→';
|
|
curr_button.addEventListener("click", right_event_handler);
|
|
curr_cell.appendChild(curr_button);
|
|
|
|
var curr_cell = curr_row.insertCell(0);
|
|
var curr_button = document.createElement('Button');
|
|
curr_button.textContent = 'Mark Cell';
|
|
curr_button.addEventListener("click", mark_event_handler);
|
|
curr_cell.appendChild(curr_button);
|
|
|
|
var curr_cell = curr_row.insertCell(0);
|
|
var curr_button = document.createElement('Button');
|
|
curr_button.innerHTML = '←';
|
|
curr_button.addEventListener("click", left_event_handler);
|
|
curr_cell.appendChild(curr_button);
|
|
|
|
//Make row 2
|
|
var curr_row = new_tbody.insertRow(2);
|
|
|
|
//Add down arrow
|
|
curr_row.insertCell(0);
|
|
var curr_cell = curr_row.insertCell(1);
|
|
var curr_button = document.createElement('Button');
|
|
curr_button.innerHTML = '↓';
|
|
curr_button.addEventListener("click", down_event_handler);
|
|
curr_cell.appendChild(curr_button);
|
|
curr_row.insertCell(2); //Final cell for 3x3
|
|
|
|
|
|
//Center all buttons in table
|
|
var all_td = new_table.getElementsByTagName('td');
|
|
for(var i = 0 ; i < all_td.length ; i++) {
|
|
all_td[i].style.textAlign = 'center';
|
|
}
|
|
|
|
//Add nested element and add to page
|
|
new_table.appendChild(new_tbody);
|
|
page_body.appendChild(new_table);
|
|
}
|
|
|
|
function select_cell_1_1(){
|
|
var main_table = document.getElementById('my_table_id');
|
|
current_selected_cell = main_table.children[1].children[0].firstElementChild;
|
|
current_selected_cell.style.border = '3px solid black';
|
|
}
|
|
|
|
add_page_table();
|
|
add_page_buttons();
|
|
select_cell_1_1();
|
|
|
|
|