1 function Show_tables_in_landing_page(db)
3 Load_first_page(db, function (page) {
5 Load_HTML_for_page(page.pg_nr);
6 selected_page = page.pg_nr;
8 Show_new_page_tables(true);
13 function Save_to_new_page(db, page_name, table_positions, callback)
15 Create_new_page(db, page_name, function (page) {
18 for (var pos = 0; pos < table_positions.length; pos++) {
19 table_positions[pos].pdf_pg_nr = page.pg_nr;
20 Save_table_positions(table_positions[pos], function (id) {
22 if (table_positions.length === tbl_cords.length) {
23 page.tbl_cords = tbl_cords;
24 DesignerOfflineDB.addObject('pdf_pages', page);
28 if (typeof callback !== 'undefined') {
35 function Save_to_selected_page(db, page_id, page_name, table_positions, callback)
38 Save_to_new_page(db, page_name, table_positions, function (page) {
39 if (typeof callback !== 'undefined') {
42 selected_page = page.pg_nr;
46 function Create_new_page(db, page_name, callback)
48 var newPage = new PDFPage(db, page_name);
49 DesignerOfflineDB.addObject('pdf_pages', newPage, function (pg_nr) {
50 newPage.pg_nr = pg_nr;
51 if (typeof callback !== 'undefined') {
57 function Save_table_positions(positions, callback)
59 DesignerOfflineDB.addObject('table_coords', positions, callback);
62 function Create_page_list(db, callback)
64 DesignerOfflineDB.loadAllObjects('pdf_pages', function (pages) {
66 for (var p = 0; p < pages.length; p++) {
68 if (page.db_name == db) {
69 html += '<option value="' + page.pg_nr + '">';
70 html += escapeHtml(page.page_descr) + '</option>';
73 if (typeof callback !== 'undefined') {
79 function Delete_page(page_id, callback)
81 DesignerOfflineDB.loadObject('pdf_pages', page_id, function (page) {
83 for (var i = 0; i < page.tbl_cords.length; i++) {
84 DesignerOfflineDB.deleteObject('table_coords', page.tbl_cords[i]);
86 DesignerOfflineDB.deleteObject('pdf_pages', page_id, callback);
91 function Load_first_page(db, callback)
93 DesignerOfflineDB.loadAllObjects('pdf_pages', function (pages) {
95 for (var i = 0; i < pages.length; i++) {
97 if (page.db_name == db) {
98 // give preference to a page having same name as the db
99 if (page.page_descr == db) {
103 if (firstPage == null) {
112 function Show_new_page_tables(check)
114 var all_tables = $("#id_scroll_tab").find("td input:checkbox");
115 all_tables.prop('checked', check);
116 for (var tab = 0; tab < all_tables.length; tab++) {
117 var input = all_tables[tab];
119 var element = document.getElementById(input.value);
120 element.style.top = Get_random(550, 20) + 'px';
121 element.style.left = Get_random(700, 20) + 'px';
122 VisibleTab(input, input.value);
126 $("#page_name").text(PMA_messages.strUntitled);
130 function Load_HTML_for_page(page_id)
132 Show_new_page_tables(false);
133 Load_page_objects(page_id, function (page, tbl_cords) {
134 $("#name-panel").find("#page_name").text(page.page_descr);
136 for (var t = 0; t < tbl_cords.length; t++) {
137 var tb_id = db + '.' + tbl_cords[t].table_name;
138 var table = document.getElementById(tb_id);
139 table.style.top = tbl_cords[t].y + 'px';
140 table.style.left = tbl_cords[t].x + 'px';
142 var checkbox = document.getElementById("check_vis_" + tb_id);
143 checkbox.checked = true;
144 VisibleTab(checkbox, checkbox.value);
146 selected_page = page.pg_nr;
150 function Load_page_objects(page_id, callback)
152 DesignerOfflineDB.loadObject('pdf_pages', page_id, function (page) {
154 var count = page.tbl_cords.length;
155 for (var i = 0; i < count; i++) {
156 DesignerOfflineDB.loadObject('table_coords', page.tbl_cords[i], function (tbl_cord) {
157 tbl_cords.push(tbl_cord);
158 if (tbl_cords.length == count) {
159 if (typeof callback !== 'undefined') {
160 callback(page, tbl_cords);
168 function Get_random(max, min)
170 var val = Math.random() * (max - min) + min;
171 return Math.floor(val);