Update website
This commit is contained in:
parent
a0b0d3dae7
commit
ae7ef6ad45
3151 changed files with 566766 additions and 48 deletions
152
admin/phpMyAdmin/js/dist/designer/database.js
vendored
Normal file
152
admin/phpMyAdmin/js/dist/designer/database.js
vendored
Normal file
|
@ -0,0 +1,152 @@
|
|||
"use strict";
|
||||
|
||||
var designerTables = [{
|
||||
name: 'pdf_pages',
|
||||
key: 'pgNr',
|
||||
autoIncrement: true
|
||||
}, {
|
||||
name: 'table_coords',
|
||||
key: 'id',
|
||||
autoIncrement: true
|
||||
}]; // eslint-disable-next-line no-unused-vars
|
||||
|
||||
var DesignerOfflineDB = function () {
|
||||
var designerDB = {};
|
||||
var datastore = null;
|
||||
|
||||
designerDB.open = function (callback) {
|
||||
var version = 1;
|
||||
var request = window.indexedDB.open('pma_designer', version);
|
||||
|
||||
request.onupgradeneeded = function (e) {
|
||||
var db = e.target.result;
|
||||
e.target.transaction.onerror = designerDB.onerror;
|
||||
var t;
|
||||
|
||||
for (t in designerTables) {
|
||||
if (db.objectStoreNames.contains(designerTables[t].name)) {
|
||||
db.deleteObjectStore(designerTables[t].name);
|
||||
}
|
||||
}
|
||||
|
||||
for (t in designerTables) {
|
||||
db.createObjectStore(designerTables[t].name, {
|
||||
keyPath: designerTables[t].key,
|
||||
autoIncrement: designerTables[t].autoIncrement
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
request.onsuccess = function (e) {
|
||||
datastore = e.target.result;
|
||||
|
||||
if (typeof callback !== 'undefined' && callback !== null) {
|
||||
callback(true);
|
||||
}
|
||||
};
|
||||
|
||||
request.onerror = designerDB.onerror;
|
||||
};
|
||||
|
||||
designerDB.loadObject = function (table, id, callback) {
|
||||
var db = datastore;
|
||||
var transaction = db.transaction([table], 'readwrite');
|
||||
var objStore = transaction.objectStore(table);
|
||||
var cursorRequest = objStore.get(parseInt(id));
|
||||
|
||||
cursorRequest.onsuccess = function (e) {
|
||||
callback(e.target.result);
|
||||
};
|
||||
|
||||
cursorRequest.onerror = designerDB.onerror;
|
||||
};
|
||||
|
||||
designerDB.loadAllObjects = function (table, callback) {
|
||||
var db = datastore;
|
||||
var transaction = db.transaction([table], 'readwrite');
|
||||
var objStore = transaction.objectStore(table);
|
||||
var keyRange = IDBKeyRange.lowerBound(0);
|
||||
var cursorRequest = objStore.openCursor(keyRange);
|
||||
var results = [];
|
||||
|
||||
transaction.oncomplete = function () {
|
||||
callback(results);
|
||||
};
|
||||
|
||||
cursorRequest.onsuccess = function (e) {
|
||||
var result = e.target.result;
|
||||
|
||||
if (Boolean(result) === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
results.push(result.value);
|
||||
result.continue();
|
||||
};
|
||||
|
||||
cursorRequest.onerror = designerDB.onerror;
|
||||
};
|
||||
|
||||
designerDB.loadFirstObject = function (table, callback) {
|
||||
var db = datastore;
|
||||
var transaction = db.transaction([table], 'readwrite');
|
||||
var objStore = transaction.objectStore(table);
|
||||
var keyRange = IDBKeyRange.lowerBound(0);
|
||||
var cursorRequest = objStore.openCursor(keyRange);
|
||||
var firstResult = null;
|
||||
|
||||
transaction.oncomplete = function () {
|
||||
callback(firstResult);
|
||||
};
|
||||
|
||||
cursorRequest.onsuccess = function (e) {
|
||||
var result = e.target.result;
|
||||
|
||||
if (Boolean(result) === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
firstResult = result.value;
|
||||
};
|
||||
|
||||
cursorRequest.onerror = designerDB.onerror;
|
||||
};
|
||||
|
||||
designerDB.addObject = function (table, obj, callback) {
|
||||
var db = datastore;
|
||||
var transaction = db.transaction([table], 'readwrite');
|
||||
var objStore = transaction.objectStore(table);
|
||||
var request = objStore.put(obj);
|
||||
|
||||
request.onsuccess = function (e) {
|
||||
if (typeof callback !== 'undefined' && callback !== null) {
|
||||
callback(e.currentTarget.result);
|
||||
}
|
||||
};
|
||||
|
||||
request.onerror = designerDB.onerror;
|
||||
};
|
||||
|
||||
designerDB.deleteObject = function (table, id, callback) {
|
||||
var db = datastore;
|
||||
var transaction = db.transaction([table], 'readwrite');
|
||||
var objStore = transaction.objectStore(table);
|
||||
var request = objStore.delete(parseInt(id));
|
||||
|
||||
request.onsuccess = function () {
|
||||
if (typeof callback !== 'undefined' && callback !== null) {
|
||||
callback(true);
|
||||
}
|
||||
};
|
||||
|
||||
request.onerror = designerDB.onerror;
|
||||
};
|
||||
|
||||
designerDB.onerror = function (e) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.log(e);
|
||||
}; // Export the designerDB object.
|
||||
|
||||
|
||||
return designerDB;
|
||||
}();
|
1003
admin/phpMyAdmin/js/dist/designer/history.js
vendored
Normal file
1003
admin/phpMyAdmin/js/dist/designer/history.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
76
admin/phpMyAdmin/js/dist/designer/init.js
vendored
Normal file
76
admin/phpMyAdmin/js/dist/designer/init.js
vendored
Normal file
|
@ -0,0 +1,76 @@
|
|||
"use strict";
|
||||
|
||||
/**
|
||||
* Initializes the data required to run Designer, then fires it up.
|
||||
*/
|
||||
|
||||
/* global DesignerOfflineDB */
|
||||
// js/designer/database.js
|
||||
|
||||
/* global DesignerHistory */
|
||||
// js/designer/history.js
|
||||
|
||||
/* global DesignerMove */
|
||||
// js/designer/move.js
|
||||
|
||||
/* global DesignerPage */
|
||||
// js/designer/page.js
|
||||
|
||||
/* global designerConfig */
|
||||
// templates/database/designer/main.twig
|
||||
var jTabs;
|
||||
var hTabs;
|
||||
var contr;
|
||||
var displayField;
|
||||
var server;
|
||||
var selectedPage;
|
||||
var db;
|
||||
var designerTablesEnabled;
|
||||
AJAX.registerTeardown('designer/init.js', function () {
|
||||
$('.trigger').off('click');
|
||||
});
|
||||
AJAX.registerOnload('designer/init.js', function () {
|
||||
$('.trigger').on('click', function () {
|
||||
$('.panel').toggle('fast');
|
||||
$(this).toggleClass('active');
|
||||
$('#ab').accordion('refresh');
|
||||
return false;
|
||||
});
|
||||
/* eslint-disable no-unused-vars */
|
||||
|
||||
jTabs = designerConfig.scriptTables.j_tabs;
|
||||
hTabs = designerConfig.scriptTables.h_tabs;
|
||||
contr = designerConfig.scriptContr;
|
||||
displayField = designerConfig.scriptDisplayField;
|
||||
server = designerConfig.server;
|
||||
selectedPage = designerConfig.displayPage;
|
||||
/* eslint-enable no-unused-vars */
|
||||
|
||||
db = designerConfig.db;
|
||||
designerTablesEnabled = designerConfig.tablesEnabled;
|
||||
DesignerMove.main();
|
||||
|
||||
if (!designerTablesEnabled) {
|
||||
DesignerOfflineDB.open(function (success) {
|
||||
if (success) {
|
||||
DesignerPage.showTablesInLandingPage(db);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#query_Aggregate_Button').on('click', function () {
|
||||
$('#query_Aggregate').style.display = 'none';
|
||||
});
|
||||
$('#query_having_button').on('click', function () {
|
||||
$('#query_having').style.display = 'none';
|
||||
});
|
||||
$('#query_rename_to_button').on('click', function () {
|
||||
$('#query_rename_to').style.display = 'none';
|
||||
});
|
||||
$('#build_query_button').on('click', function () {
|
||||
DesignerHistory.buildQuery('SQL Query on Database', 0);
|
||||
});
|
||||
$('#query_where_button').on('click', function () {
|
||||
$('#query_where').style.display = 'none';
|
||||
});
|
||||
});
|
2274
admin/phpMyAdmin/js/dist/designer/move.js
vendored
Normal file
2274
admin/phpMyAdmin/js/dist/designer/move.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
19
admin/phpMyAdmin/js/dist/designer/objects.js
vendored
Normal file
19
admin/phpMyAdmin/js/dist/designer/objects.js
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
"use strict";
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
var DesignerObjects = {
|
||||
PdfPage: function PdfPage(dbName, pageDescr, tblCords) {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
var pgNr;
|
||||
this.dbName = dbName;
|
||||
this.pageDescr = pageDescr;
|
||||
this.tblCords = tblCords;
|
||||
},
|
||||
TableCoordinate: function TableCoordinate(dbName, tableName, pdfPgNr, x, y) {
|
||||
this.dbName = dbName;
|
||||
this.tableName = tableName;
|
||||
this.pdfPgNr = pdfPgNr;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
};
|
210
admin/phpMyAdmin/js/dist/designer/page.js
vendored
Normal file
210
admin/phpMyAdmin/js/dist/designer/page.js
vendored
Normal file
|
@ -0,0 +1,210 @@
|
|||
"use strict";
|
||||
|
||||
/* global DesignerOfflineDB */
|
||||
// js/designer/database.js
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
|
||||
/* global db, selectedPage:writable */
|
||||
// js/designer/init.js
|
||||
|
||||
/* global DesignerMove */
|
||||
// js/designer/move.js
|
||||
|
||||
/* global DesignerObjects */
|
||||
// js/designer/objects.js
|
||||
var DesignerPage = {};
|
||||
|
||||
DesignerPage.showTablesInLandingPage = function (db) {
|
||||
DesignerPage.loadFirstPage(db, function (page) {
|
||||
if (page) {
|
||||
DesignerPage.loadHtmlForPage(page.pgNr);
|
||||
selectedPage = page.pgNr;
|
||||
} else {
|
||||
DesignerPage.showNewPageTables(true);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.saveToNewPage = function (db, pageName, tablePositions, callback) {
|
||||
DesignerPage.createNewPage(db, pageName, function (page) {
|
||||
if (page) {
|
||||
var tblCords = [];
|
||||
|
||||
var saveCallback = function saveCallback(id) {
|
||||
tblCords.push(id);
|
||||
|
||||
if (tablePositions.length === tblCords.length) {
|
||||
page.tblCords = tblCords;
|
||||
DesignerOfflineDB.addObject('pdf_pages', page);
|
||||
}
|
||||
};
|
||||
|
||||
for (var pos = 0; pos < tablePositions.length; pos++) {
|
||||
tablePositions[pos].pdfPgNr = page.pgNr;
|
||||
DesignerPage.saveTablePositions(tablePositions[pos], saveCallback);
|
||||
}
|
||||
|
||||
if (typeof callback !== 'undefined') {
|
||||
callback(page);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.saveToSelectedPage = function (db, pageId, pageName, tablePositions, callback) {
|
||||
DesignerPage.deletePage(pageId);
|
||||
DesignerPage.saveToNewPage(db, pageName, tablePositions, function (page) {
|
||||
if (typeof callback !== 'undefined') {
|
||||
callback(page);
|
||||
}
|
||||
|
||||
selectedPage = page.pgNr;
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.createNewPage = function (db, pageName, callback) {
|
||||
var newPage = new DesignerObjects.PdfPage(db, pageName);
|
||||
DesignerOfflineDB.addObject('pdf_pages', newPage, function (pgNr) {
|
||||
newPage.pgNr = pgNr;
|
||||
|
||||
if (typeof callback !== 'undefined') {
|
||||
callback(newPage);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.saveTablePositions = function (positions, callback) {
|
||||
DesignerOfflineDB.addObject('table_coords', positions, callback);
|
||||
};
|
||||
|
||||
DesignerPage.createPageList = function (db, callback) {
|
||||
DesignerOfflineDB.loadAllObjects('pdf_pages', function (pages) {
|
||||
var html = '';
|
||||
|
||||
for (var p = 0; p < pages.length; p++) {
|
||||
var page = pages[p];
|
||||
|
||||
if (page.dbName === db) {
|
||||
html += '<option value="' + page.pgNr + '">';
|
||||
html += Functions.escapeHtml(page.pageDescr) + '</option>';
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof callback !== 'undefined') {
|
||||
callback(html);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.deletePage = function (pageId, callback) {
|
||||
DesignerOfflineDB.loadObject('pdf_pages', pageId, function (page) {
|
||||
if (page) {
|
||||
for (var i = 0; i < page.tblCords.length; i++) {
|
||||
DesignerOfflineDB.deleteObject('table_coords', page.tblCords[i]);
|
||||
}
|
||||
|
||||
DesignerOfflineDB.deleteObject('pdf_pages', pageId, callback);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.loadFirstPage = function (db, callback) {
|
||||
DesignerOfflineDB.loadAllObjects('pdf_pages', function (pages) {
|
||||
var firstPage = null;
|
||||
|
||||
for (var i = 0; i < pages.length; i++) {
|
||||
var page = pages[i];
|
||||
|
||||
if (page.dbName === db) {
|
||||
// give preference to a page having same name as the db
|
||||
if (page.pageDescr === db) {
|
||||
callback(page);
|
||||
return;
|
||||
}
|
||||
|
||||
if (firstPage === null) {
|
||||
firstPage = page;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
callback(firstPage);
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.showNewPageTables = function (check) {
|
||||
var allTables = $('#id_scroll_tab').find('td input:checkbox');
|
||||
allTables.prop('checked', check);
|
||||
|
||||
for (var tab = 0; tab < allTables.length; tab++) {
|
||||
var input = allTables[tab];
|
||||
|
||||
if (input.value) {
|
||||
var element = document.getElementById(input.value);
|
||||
element.style.top = DesignerPage.getRandom(550, 20) + 'px';
|
||||
element.style.left = DesignerPage.getRandom(700, 20) + 'px';
|
||||
DesignerMove.visibleTab(input, input.value);
|
||||
}
|
||||
}
|
||||
|
||||
selectedPage = -1;
|
||||
$('#page_name').text(Messages.strUntitled);
|
||||
DesignerMove.markUnsaved();
|
||||
};
|
||||
|
||||
DesignerPage.loadHtmlForPage = function (pageId) {
|
||||
DesignerPage.showNewPageTables(true);
|
||||
DesignerPage.loadPageObjects(pageId, function (page, tblCords) {
|
||||
$('#name-panel').find('#page_name').text(page.pageDescr);
|
||||
var tableMissing = false;
|
||||
|
||||
for (var t = 0; t < tblCords.length; t++) {
|
||||
var tbId = db + '.' + tblCords[t].tableName;
|
||||
var table = document.getElementById(tbId);
|
||||
|
||||
if (table === null) {
|
||||
tableMissing = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
table.style.top = tblCords[t].y + 'px';
|
||||
table.style.left = tblCords[t].x + 'px';
|
||||
var checkbox = document.getElementById('check_vis_' + tbId);
|
||||
checkbox.checked = true;
|
||||
DesignerMove.visibleTab(checkbox, checkbox.value);
|
||||
}
|
||||
|
||||
DesignerMove.markSaved();
|
||||
|
||||
if (tableMissing === true) {
|
||||
DesignerMove.markUnsaved();
|
||||
Functions.ajaxShowMessage(Messages.strSavedPageTableMissing);
|
||||
}
|
||||
|
||||
selectedPage = page.pgNr;
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.loadPageObjects = function (pageId, callback) {
|
||||
DesignerOfflineDB.loadObject('pdf_pages', pageId, function (page) {
|
||||
var tblCords = [];
|
||||
var count = page.tblCords.length;
|
||||
|
||||
for (var i = 0; i < count; i++) {
|
||||
DesignerOfflineDB.loadObject('table_coords', page.tblCords[i], function (tblCord) {
|
||||
tblCords.push(tblCord);
|
||||
|
||||
if (tblCords.length === count) {
|
||||
if (typeof callback !== 'undefined') {
|
||||
callback(page, tblCords);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
DesignerPage.getRandom = function (max, min) {
|
||||
var val = Math.random() * (max - min) + min;
|
||||
return Math.floor(val);
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue