mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Implementation of the client side 'url_for(...)' function.
Created a url_for function module to be used by different javascript modules to use the same functionality of flask at client side. A python module can expose the list of endpoints, used by its javascripts, by overriding the 'get_exposed_url_endpoints(self)' function. In this patch, we have modified all the browser modules to use this function. It will allow us to move the majority of the javascript modules of browser nodes from templates directory to the static directory. TODO:: - Move these javascripts modules to the static directory. - Use this function in all the applicable javascript modules. e.g. tools, miscellaneous modules
This commit is contained in:
parent
dea850b503
commit
fd3ddbeafb
@ -19,7 +19,8 @@ module.exports = function(config) {
|
||||
{pattern: 'regression/javascript/**/*.js', included: false},
|
||||
{pattern: 'pgadmin/static/vendor/**/*.js', included: false},
|
||||
{pattern: 'pgadmin/static/js/**/*.js', included: false},
|
||||
{pattern: 'pgadmin/browser/static/js/**/*.js', included: false}
|
||||
{pattern: 'pgadmin/browser/static/js/**/*.js', included: false},
|
||||
{pattern: 'pgadmin/static/img/*.png', included: false}
|
||||
],
|
||||
|
||||
|
||||
|
@ -86,6 +86,16 @@ class PgAdmin(Flask):
|
||||
messages.update(getattr(module, "messages", dict()))
|
||||
return messages
|
||||
|
||||
@property
|
||||
def exposed_endpoint_url_map(self):
|
||||
for rule in current_app.url_map.iter_rules('static'):
|
||||
yield rule.endpoint, rule.rule
|
||||
|
||||
for module in self.submodules:
|
||||
for endpoint in module.exposed_endpoints:
|
||||
for rule in current_app.url_map.iter_rules(endpoint):
|
||||
yield rule.endpoint, rule.rule
|
||||
|
||||
@property
|
||||
def javascripts(self):
|
||||
scripts = []
|
||||
|
@ -12,7 +12,7 @@ from abc import ABCMeta, abstractmethod, abstractproperty
|
||||
|
||||
import six
|
||||
from flask import current_app, render_template, url_for, make_response, flash,\
|
||||
Response, request
|
||||
Response
|
||||
from flask_babel import gettext
|
||||
from flask_login import current_user
|
||||
from flask_security import login_required
|
||||
@ -152,6 +152,7 @@ class BrowserModule(PgAdminModule):
|
||||
|
||||
for name, script in [
|
||||
['pgadmin.browser', 'js/browser'],
|
||||
['pgadmin.browser.endpoints', 'js/endpoints'],
|
||||
['pgadmin.browser.error', 'js/error']]:
|
||||
scripts.append({
|
||||
'name': name,
|
||||
@ -195,6 +196,13 @@ class BrowserModule(PgAdminModule):
|
||||
category_label=gettext('Display')
|
||||
)
|
||||
|
||||
def get_exposed_url_endpoints(self):
|
||||
"""
|
||||
Returns:
|
||||
list: a list of url endpoints exposed to the client.
|
||||
"""
|
||||
return ['browser.index', 'browser.nodes']
|
||||
|
||||
blueprint = BrowserModule(MODULE_NAME, __name__)
|
||||
|
||||
|
||||
@ -538,6 +546,14 @@ def browser_js():
|
||||
200, {'Content-Type': 'application/x-javascript'})
|
||||
|
||||
|
||||
@blueprint.route("/js/endpoints.js")
|
||||
def exposed_urls():
|
||||
return make_response(
|
||||
render_template('browser/js/endpoints.js'),
|
||||
200, {'Content-Type': 'application/x-javascript'}
|
||||
)
|
||||
|
||||
|
||||
@blueprint.route("/js/error.js")
|
||||
@login_required
|
||||
def error_js():
|
||||
@ -605,11 +621,12 @@ def browser_css():
|
||||
200, {'Content-Type': 'text/css'})
|
||||
|
||||
|
||||
@blueprint.route("/nodes/")
|
||||
@blueprint.route("/nodes/", endpoint="nodes")
|
||||
@login_required
|
||||
def get_nodes():
|
||||
"""Build a list of treeview nodes from the child nodes."""
|
||||
nodes = []
|
||||
for submodule in current_blueprint.submodules:
|
||||
nodes.extend(submodule.get_nodes())
|
||||
|
||||
return make_json_response(data=nodes)
|
||||
|
@ -13,7 +13,7 @@ import simplejson as json
|
||||
from abc import ABCMeta, abstractmethod
|
||||
|
||||
import six
|
||||
from flask import request, render_template, make_response, jsonify
|
||||
from flask import request, render_template, make_response, jsonify, current_app
|
||||
from flask_babel import gettext
|
||||
from flask_security import current_user
|
||||
from pgadmin.browser import BrowserPluginModule
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
define('pgadmin.node.cast', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
// Extend the collection class for cast
|
||||
if (!pgBrowser.Nodes['coll-cast']) {
|
||||
var casts = pgAdmin.Browser.Nodes['coll-cast'] =
|
||||
@ -20,7 +20,7 @@ define([
|
||||
type: 'cast',
|
||||
sqlAlterHelp: 'sql-altercast.html',
|
||||
sqlCreateHelp: 'sql-createcast.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='cast_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'cast_dialog.html'}),
|
||||
canDrop: true,
|
||||
canDropCascade: true,
|
||||
label: gettext('Cast'),
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.event_trigger', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the browser's collection class for event trigger collection
|
||||
if (!pgBrowser.Nodes['coll-event_trigger']) {
|
||||
@ -21,7 +22,7 @@ define([
|
||||
type: 'event_trigger',
|
||||
sqlAlterHelp: 'sql-altereventtrigger.html',
|
||||
sqlCreateHelp: 'sql-createeventtrigger.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='event_trigger_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'event_trigger_dialog.html'}),
|
||||
label: gettext('Event Trigger'),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser) {
|
||||
define('pgadmin.node.extension', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser) {
|
||||
|
||||
/*
|
||||
* Create and Add an Extension Collection into nodes
|
||||
@ -40,7 +41,7 @@ define([
|
||||
type: 'extension',
|
||||
sqlAlterHelp: 'sql-alterextension.html',
|
||||
sqlCreateHelp: 'sql-createextension.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='extension_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'extension_dialog.html'}),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
canDrop: true,
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([
|
||||
define('pgadmin.node.foreign_server', [
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
define('pgadmin.node.user_mapping', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the browser's node model class to create a Options model
|
||||
var OptionsModel = pgAdmin.Browser.Node.Model.extend({
|
||||
@ -57,7 +57,7 @@ define([
|
||||
type: 'user_mapping',
|
||||
sqlAlterHelp: 'sql-alterusermapping.html',
|
||||
sqlCreateHelp: 'sql-createusermapping.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='user_mapping_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'user_mapping_dialog.html'}),
|
||||
label: gettext('User Mapping'),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
|
@ -1,8 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.foreign_data_wrapper', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the browser's node model class to create a Options model
|
||||
var OptionsModel = pgBrowser.Node.Model.extend({
|
||||
@ -56,7 +56,7 @@ define([
|
||||
type: 'foreign_data_wrapper',
|
||||
sqlAlterHelp: 'sql-alterforeigndatawrapper.html',
|
||||
sqlCreateHelp: 'sql-createforeigndatawrapper.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='foreign_data_wrapper_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'foreign_data_wrapper_dialog.html'}),
|
||||
label: gettext('Foreign Data Wrapper'),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
|
@ -1,8 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.language', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the browser's collection class for languages collection
|
||||
if (!pgBrowser.Nodes['coll-language']) {
|
||||
@ -22,7 +22,7 @@ define([
|
||||
type: 'language',
|
||||
sqlAlterHelp: 'sql-alterlanguage.html',
|
||||
sqlCreateHelp: 'sql-createlanguage.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='language_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'language_dialog.html'}),
|
||||
label: gettext('Language'),
|
||||
hasSQL: true,
|
||||
canDrop: true,
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([
|
||||
define('pgadmin.node.catalog_object_column', [
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([
|
||||
define('pgadmin.node.catalog_object', [
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.collation', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-collation']) {
|
||||
var databases = pgAdmin.Browser.Nodes['coll-collation'] =
|
||||
@ -18,7 +19,7 @@ define([
|
||||
type: 'collation',
|
||||
sqlAlterHelp: 'sql-altercollation.html',
|
||||
sqlCreateHelp: 'sql-createcollation.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='collation_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'collation_dialog.html'}),
|
||||
label: gettext('Collation'),
|
||||
collection_type: 'coll-collation',
|
||||
hasSQL: true,
|
||||
|
@ -1,8 +1,9 @@
|
||||
// Domain Constraint Module: Collection and Node
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.domain_constraints', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Define Domain Constraint Collection Node
|
||||
if (!pgBrowser.Nodes['coll-domain_constraints']) {
|
||||
@ -21,7 +22,7 @@ define([
|
||||
type: 'domain_constraints',
|
||||
sqlAlterHelp: 'sql-alterdomain.html',
|
||||
sqlCreateHelp: 'sql-alterdomain.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='domain_constraint_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'domain_constraint_dialog.html'}),
|
||||
label: gettext('Domain Constraints'),
|
||||
collection_type: 'coll-domain_constraints',
|
||||
hasSQL: true,
|
||||
|
@ -1,8 +1,8 @@
|
||||
// Domain Module: Collection and Node.
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
define('pgadmin.node.domain', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Define Domain Collection Node
|
||||
if (!pgBrowser.Nodes['coll-domain']) {
|
||||
@ -88,7 +88,7 @@ define([
|
||||
type: 'domain',
|
||||
sqlAlterHelp: 'sql-alterdomain.html',
|
||||
sqlCreateHelp: 'sql-createdomain.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='domain_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'domain_dialog.html'}),
|
||||
label: gettext('Domain'),
|
||||
collection_type: 'coll-domain',
|
||||
hasSQL: true,
|
||||
|
@ -1,8 +1,9 @@
|
||||
/* Create and Register Foreign Table Collection and Node. */
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.foreign-table', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-foreign-table']) {
|
||||
var foreigntable = pgBrowser.Nodes['coll-foreign-table'] =
|
||||
@ -495,7 +496,7 @@ define([
|
||||
type: 'foreign-table',
|
||||
sqlAlterHelp: 'sql-alterforeigntable.html',
|
||||
sqlCreateHelp: 'sql-createforeigntable.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='foreign_table_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'foreign_table_dialog.html'}),
|
||||
label: gettext('Foreign Table'),
|
||||
collection_type: 'coll-foreign-table',
|
||||
hasSQL: true,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.fts_configuration', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Model for tokens control
|
||||
var TokenModel = pgAdmin.Browser.Node.Model.extend({
|
||||
@ -415,7 +416,7 @@ define([
|
||||
type: 'fts_configuration',
|
||||
sqlAlterHelp: 'sql-altertsconfig.html',
|
||||
sqlCreateHelp: 'sql-createtsconfig.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='fts_configuration_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'fts_configuration_dialog.html'}),
|
||||
canDrop: true,
|
||||
canDropCascade: true,
|
||||
label: gettext('FTS Configuration'),
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.fts_dictionary', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the browser's node model class to create a option/value pair
|
||||
var OptionLabelModel = pgAdmin.Browser.Node.Model.extend({
|
||||
@ -57,7 +58,7 @@ define([
|
||||
type: 'fts_dictionary',
|
||||
sqlAlterHelp: 'sql-altertsdictionary.html',
|
||||
sqlCreateHelp: 'sql-createtsdictionary.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='fts_dictionary_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'fts_dictionary_dialog.html'}),
|
||||
canDrop: true,
|
||||
canDropCascade: true,
|
||||
label: gettext('FTS Dictionary'),
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.fts_parser', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the collection class for fts parser
|
||||
if (!pgBrowser.Nodes['coll-fts_parser']) {
|
||||
@ -21,7 +22,7 @@ define([
|
||||
type: 'fts_parser',
|
||||
sqlAlterHelp: 'sql-altertsparser.html',
|
||||
sqlCreateHelp: 'sql-createtsparser.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='fts_parser_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'fts_parser_dialog.html'}),
|
||||
canDrop: true,
|
||||
canDropCascade: true,
|
||||
label: gettext('FTS Parser'),
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.fts_template', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the collection class for fts template
|
||||
if (!pgBrowser.Nodes['coll-fts_template']) {
|
||||
@ -21,7 +22,7 @@ define([
|
||||
type: 'fts_template',
|
||||
sqlAlterHelp: 'sql-altertstemplate.html',
|
||||
sqlCreateHelp: 'sql-createtstemplate.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='fts_template_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'fts_template_dialog.html'}),
|
||||
canDrop: true,
|
||||
canDropCascade: true,
|
||||
label: gettext('FTS Template'),
|
||||
|
@ -1,9 +1,9 @@
|
||||
/* Create and Register Function Collection and Node. */
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.function', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-function']) {
|
||||
var functions = pgBrowser.Nodes['coll-function'] =
|
||||
@ -87,7 +87,7 @@ define([
|
||||
type: 'function',
|
||||
sqlAlterHelp: 'sql-alterfunction.html',
|
||||
sqlCreateHelp: 'sql-createfunction.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='function_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'function_dialog.html'}),
|
||||
label: gettext('Function'),
|
||||
collection_type: 'coll-function',
|
||||
hasSQL: true,
|
||||
|
@ -1,9 +1,10 @@
|
||||
/* Create and Register Procedure Collection and Node. */
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.node.function',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify, Function) {
|
||||
define('pgadmin.node.procedure', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.node.function', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Function) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-procedure']) {
|
||||
var procedures = pgAdmin.Browser.Nodes['coll-procedure'] =
|
||||
@ -24,7 +25,7 @@ define([
|
||||
type: 'procedure',
|
||||
sqlAlterHelp: 'sql-alterprocedure.html',
|
||||
sqlCreateHelp: 'sql-createprocedure.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='procedure_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'procedure_dialog.html'}),
|
||||
label: gettext('Procedure'),
|
||||
collection_type: 'coll-procedure',
|
||||
hasSQL: true,
|
||||
|
@ -1,9 +1,9 @@
|
||||
/* Create and Register Function Collection and Node. */
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.trigger_function', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-trigger_function']) {
|
||||
var trigger_functions = pgBrowser.Nodes['coll-trigger_function'] =
|
||||
@ -21,7 +21,7 @@ define([
|
||||
type: 'trigger_function',
|
||||
sqlAlterHelp: 'plpgsql-trigger.html',
|
||||
sqlCreateHelp: 'plpgsql-trigger.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='trigger_function_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'trigger_function_dialog.html'}),
|
||||
label: gettext('Trigger function'),
|
||||
collection_type: 'coll-trigger_function',
|
||||
hasSQL: true,
|
||||
|
@ -1,9 +1,9 @@
|
||||
/* Create and Register Function Collection and Node. */
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.edbfunc', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-edbfunc']) {
|
||||
pgBrowser.Nodes['coll-edbfunc'] =
|
||||
@ -18,7 +18,7 @@ define([
|
||||
if (!pgBrowser.Nodes['edbfunc']) {
|
||||
pgBrowser.Nodes['edbfunc'] = pgBrowser.Node.extend({
|
||||
type: 'edbfunc',
|
||||
dialogHelp: '{{ url_for('help.static', filename='edbfunc_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'edbfunc_dialog.html'}),
|
||||
label: gettext('Function'),
|
||||
collection_type: 'coll-edbfunc',
|
||||
hasDepends: true,
|
||||
|
@ -1,9 +1,12 @@
|
||||
/* Create and Register Procedure Collection and Node. */
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.node.edbfunc',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify, EdbFunction) {
|
||||
define('pgadmin.node.edbproc', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.node.edbfunc', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(
|
||||
gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, EdbFunction
|
||||
) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-edbproc']) {
|
||||
pgAdmin.Browser.Nodes['coll-edbproc'] =
|
||||
@ -20,7 +23,7 @@ define([
|
||||
if (!pgBrowser.Nodes['edbproc']) {
|
||||
pgAdmin.Browser.Nodes['edbproc'] = pgBrowser.Node.extend({
|
||||
type: 'edbproc',
|
||||
dialogHelp: '{{ url_for('help.static', filename='edbproc_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'edbproc_dialog.html'}),
|
||||
label: gettext('Procedure'),
|
||||
collection_type: 'coll-edbproc',
|
||||
hasDepends: true,
|
||||
|
@ -1,9 +1,9 @@
|
||||
/* Create and Register Function Collection and Node. */
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.edbvar', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-edbvar']) {
|
||||
pgBrowser.Nodes['coll-edbvar'] =
|
||||
@ -18,7 +18,7 @@ define([
|
||||
if (!pgBrowser.Nodes['edbvar']) {
|
||||
pgBrowser.Nodes['edbvar'] = pgBrowser.Node.extend({
|
||||
type: 'edbvar',
|
||||
dialogHelp: '{{ url_for('help.static', filename='edbvar_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'edbvar_dialog.html'}),
|
||||
label: gettext('Function'),
|
||||
collection_type: 'coll-edbvar',
|
||||
canEdit: false,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.package', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the browser's collection class for package collection
|
||||
if (!pgBrowser.Nodes['coll-package']) {
|
||||
@ -18,7 +19,7 @@ define([
|
||||
if (!pgBrowser.Nodes['package']) {
|
||||
pgBrowser.Nodes['package'] = pgBrowser.Node.extend({
|
||||
type: 'package',
|
||||
dialogHelp: '{{ url_for('help.static', filename='package_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'package_dialog.html'}),
|
||||
label: gettext('Package'),
|
||||
collection_type: 'coll-package',
|
||||
hasSQL: true,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.sequence', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
// Extend the browser's collection class for sequence collection
|
||||
if (!pgBrowser.Nodes['coll-sequence']) {
|
||||
@ -21,7 +22,7 @@ define([
|
||||
type: 'sequence',
|
||||
sqlAlterHelp: 'sql-altersequence.html',
|
||||
sqlCreateHelp: 'sql-createsequence.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='sequence_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'sequence_dialog.html'}),
|
||||
label: gettext('Sequence'),
|
||||
collection_type: 'coll-sequence',
|
||||
hasSQL: true,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.synonym', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-synonym']) {
|
||||
var databases = pgAdmin.Browser.Nodes['coll-synonym'] =
|
||||
@ -16,7 +17,7 @@ define([
|
||||
if (!pgBrowser.Nodes['synonym']) {
|
||||
pgAdmin.Browser.Nodes['synonym'] = pgBrowser.Node.extend({
|
||||
type: 'synonym',
|
||||
dialogHelp: '{{ url_for('help.static', filename='synonym_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'synonym_dialog.html'}),
|
||||
label: gettext('Synonym'),
|
||||
collection_type: 'coll-synonym',
|
||||
hasSQL: true,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'backform', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
define('pgadmin.node.column', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'backform', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-column']) {
|
||||
var databases = pgBrowser.Nodes['coll-column'] =
|
||||
@ -92,7 +93,7 @@ define([
|
||||
hasSQL: true,
|
||||
sqlAlterHelp: 'sql-altertable.html',
|
||||
sqlCreateHelp: 'sql-altertable.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='column_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'column_dialog.html'}),
|
||||
canDrop: function(itemData, item, data){
|
||||
if (pgBrowser.Nodes['schema'].canChildDrop.apply(this, [itemData, item, data])) {
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [];
|
||||
|
@ -1,8 +1,9 @@
|
||||
// Check Constraint Module: Node
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
define('pgadmin.node.check_constraints', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
|
||||
// Check Constraint Node
|
||||
if (!pgBrowser.Nodes['check_constraints']) {
|
||||
@ -12,7 +13,7 @@ define([
|
||||
collection_type: 'coll-constraints',
|
||||
sqlAlterHelp: 'ddl-alter.html',
|
||||
sqlCreateHelp: 'ddl-constraints.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='check_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'check_dialog.html'}),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
parent_type: ['table'],
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
define('pgadmin.node.exclusion_constraint', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
|
||||
var ExclusionConstraintColumnModel = pgBrowser.Node.Model.extend({
|
||||
defaults: {
|
||||
@ -606,7 +607,7 @@ define([
|
||||
collection_type: 'coll-constraints',
|
||||
sqlAlterHelp: 'ddl-alter.html',
|
||||
sqlCreateHelp: 'ddl-constraints.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='exclusion_constraint_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'exclusion_constraint_dialog.html'}),
|
||||
hasSQL: true,
|
||||
parent_type: 'table',
|
||||
canDrop: true,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
define('pgadmin.node.foreign_key', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
|
||||
var formatNode = function(opt) {
|
||||
if (!opt.id) {
|
||||
@ -604,7 +605,7 @@ define([
|
||||
collection_type: 'coll-constraints',
|
||||
sqlAlterHelp: 'ddl-alter.html',
|
||||
sqlCreateHelp: 'ddl-constraints.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='foreign_key_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'foreign_key_dialog.html'}),
|
||||
hasSQL: true,
|
||||
hasDepends: false,
|
||||
parent_type: 'table',
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([
|
||||
define('pgadmin.node.{{node_type}}', [
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([
|
||||
define('pgadmin.node.constraints', [
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'pgadmin.browser.collection'{% for c in constraints %}, 'pgadmin.node.{{ c|safe }}'{%endfor%}
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser) {
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'backform', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
define('pgadmin.node.index', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'backform', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-index']) {
|
||||
var databases = pgAdmin.Browser.Nodes['coll-index'] =
|
||||
@ -11,7 +12,7 @@ define([
|
||||
type: 'coll-index',
|
||||
sqlAlterHelp: 'sql-alterindex.html',
|
||||
sqlCreateHelp: 'sql-createindex.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='index_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'index_dialog.html'}),
|
||||
columns: ['name', 'description'],
|
||||
hasStatistics: true,
|
||||
statsPrettifyFields: ['Size', 'Index size']
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'codemirror'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, CodeMirror) {
|
||||
define('pgadmin.node.rule', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'codemirror'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, CodeMirror) {
|
||||
|
||||
/**
|
||||
Create and add a rule collection into nodes
|
||||
@ -38,7 +38,7 @@ define([
|
||||
type: 'rule',
|
||||
sqlAlterHelp: 'sql-alterrule.html',
|
||||
sqlCreateHelp: 'sql-createrule.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='rule_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'rule_dialog.html'}),
|
||||
label: gettext('rule'),
|
||||
collection_type: 'coll-table',
|
||||
hasSQL: true,
|
||||
|
@ -1,8 +1,9 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.node.column', 'pgadmin.node.constraints'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.table', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.node.column',
|
||||
'pgadmin.node.constraints'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-table']) {
|
||||
var databases = pgBrowser.Nodes['coll-table'] =
|
||||
@ -31,7 +32,7 @@ define([
|
||||
'Dead tuple length', 'Free space'],
|
||||
sqlAlterHelp: 'sql-altertable.html',
|
||||
sqlCreateHelp: 'sql-createtable.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='table_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'table_dialog.html'}),
|
||||
parent_type: ['schema', 'catalog'],
|
||||
hasScriptTypes: ['create', 'select', 'insert', 'update', 'delete'],
|
||||
height: '95%',
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'backform', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
define('pgadmin.node.trigger', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'backform', 'alertify',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
|
||||
var CustomSwitchControl = Backform.CustomSwitchControl = Backform.SwitchControl.extend({
|
||||
template: _.template([
|
||||
@ -43,7 +44,7 @@ define([
|
||||
width: '650px',
|
||||
sqlAlterHelp: 'sql-altertrigger.html',
|
||||
sqlCreateHelp: 'sql-createtrigger.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='trigger_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'trigger_dialog.html'}),
|
||||
Init: function() {
|
||||
/* Avoid mulitple registration of menus */
|
||||
if (this.initialized)
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([
|
||||
define('pgadmin.node.catalog', [
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'backform', 'alertify', 'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'backform', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
define('pgadmin.node.schema', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'backform', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, alertify) {
|
||||
|
||||
// VacuumSettings Collection to display all settings parameters as Grid
|
||||
var VacuumCollectionControl = Backform.VacuumCollectionControl =
|
||||
@ -281,7 +281,7 @@ define([
|
||||
type: 'schema',
|
||||
sqlAlterHelp: 'sql-alterschema.html',
|
||||
sqlCreateHelp: 'sql-createschema.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='schema_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'schema_dialog.html'}),
|
||||
label: gettext('Schema'),
|
||||
hasSQL: true,
|
||||
canDrop: true,
|
||||
|
@ -1,8 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'backgrid', 'pgadmin.backgrid',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify, Backgrid) {
|
||||
define('pgadmin.node.type', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify', 'backgrid',
|
||||
'pgadmin.backgrid', 'pgadmin.browser.collection'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Backgrid) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-type']) {
|
||||
var databases = pgBrowser.Nodes['coll-type'] =
|
||||
@ -250,7 +250,7 @@ define([
|
||||
type: 'type',
|
||||
sqlAlterHelp: 'sql-altertype.html',
|
||||
sqlCreateHelp: 'sql-createtype.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='type_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'type_dialog.html'}),
|
||||
label: gettext('Type'),
|
||||
collection_type: 'coll-type',
|
||||
hasSQL: true,
|
||||
|
@ -1,8 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'alertify', 'pgadmin.browser', 'codemirror',
|
||||
define('pgadmin.node.mview', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'alertify', 'pgadmin.browser', 'codemirror',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, alertify, pgBrowser, CodeMirror) {
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, alertify, pgBrowser, CodeMirror) {
|
||||
|
||||
/**
|
||||
Create and add a view collection into nodes
|
||||
@ -38,7 +38,7 @@ define([
|
||||
type: 'mview',
|
||||
sqlAlterHelp: 'sql-altermaterializedview.html',
|
||||
sqlCreateHelp: 'sql-creatematerializedview.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='materialized_view_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'materialized_view_dialog.html'}),
|
||||
label: gettext('Materialized View'),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
|
@ -1,8 +1,9 @@
|
||||
define([
|
||||
define('pgadmin.node.view', [
|
||||
'sources/gettext',
|
||||
'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'codemirror', 'pgadmin.browser.server.privilege', 'pgadmin.node.rule'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, CodeMirror) {
|
||||
'sources/url_for', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'codemirror', 'pgadmin.browser.server.privilege',
|
||||
'pgadmin.node.rule'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, CodeMirror) {
|
||||
|
||||
/**
|
||||
Create and add a view collection into nodes
|
||||
@ -38,7 +39,7 @@ define([
|
||||
type: 'view',
|
||||
sqlAlterHelp: 'sql-alterview.html',
|
||||
sqlCreateHelp: 'sql-createview.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='view_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'view_dialog.html'}),
|
||||
label: gettext('View'),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
|
@ -1,8 +1,9 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.server.privilege', 'pgadmin.browser.server.variable',
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
define('pgadmin.node.database', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.server.privilege',
|
||||
'pgadmin.browser.server.variable',
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-database']) {
|
||||
var databases = pgBrowser.Nodes['coll-database'] =
|
||||
@ -22,7 +23,7 @@ define([
|
||||
type: 'database',
|
||||
sqlAlterHelp: 'sql-alterdatabase.html',
|
||||
sqlCreateHelp: 'sql-createdatabase.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='database_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'database_dialog.html'}),
|
||||
hasSQL: true,
|
||||
hasDepends: true,
|
||||
hasStatistics: true,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin', 'moment',
|
||||
'pgadmin.browser', 'alertify', 'backform', 'pgadmin.backform'
|
||||
], function(gettext, $, _, S, pgAdmin, moment, pgBrowser, Alertify, Backform) {
|
||||
define('pgadmin.node.pga_schedule', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'moment', 'pgadmin.browser', 'alertify',
|
||||
'backform', 'pgadmin.backform'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, moment, pgBrowser, Alertify, Backform) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-pga_schedule']) {
|
||||
pgBrowser.Nodes['coll-pga_schedule'] =
|
||||
@ -181,7 +182,7 @@ define([
|
||||
pgBrowser.Nodes['pga_schedule'] = pgBrowser.Node.extend({
|
||||
parent_type: 'pga_job',
|
||||
type: 'pga_schedule',
|
||||
dialogHelp: '{{ url_for('help.static', filename='pgagent_jobs.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'pgagent_jobs.html'}),
|
||||
hasSQL: true,
|
||||
hasDepends: false,
|
||||
hasStatistics: false,
|
||||
|
@ -1,7 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'backform', 'pgadmin.backform'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Alertify, Backform) {
|
||||
define('pgadmin.node.pga_jobstep', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify', 'backform',
|
||||
'pgadmin.backform'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify, Backform) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-pga_jobstep']) {
|
||||
pgBrowser.Nodes['coll-pga_jobstep'] =
|
||||
@ -21,7 +22,7 @@ define([
|
||||
pgBrowser.Nodes['pga_jobstep'] = pgBrowser.Node.extend({
|
||||
parent_type: 'pga_job',
|
||||
type: 'pga_jobstep',
|
||||
dialogHelp: '{{ url_for('help.static', filename='pgagent_jobs.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'pgagent_jobs.html'}),
|
||||
hasSQL: true,
|
||||
hasDepends: false,
|
||||
hasStatistics: true,
|
||||
|
@ -1,8 +1,8 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.node.pga_jobstep',
|
||||
'pgadmin.node.pga_schedule'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
define('pgadmin.node.pga_job', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.node.pga_jobstep', 'pgadmin.node.pga_schedule'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-pga_job']) {
|
||||
var pga_jobs = pgBrowser.Nodes['coll-pga_job'] =
|
||||
@ -19,7 +19,7 @@ define([
|
||||
pgBrowser.Nodes['pga_job'] = pgBrowser.Node.extend({
|
||||
parent_type: 'server',
|
||||
type: 'pga_job',
|
||||
dialogHelp: '{{ url_for('help.static', filename='pgagent_jobs.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'pgagent_jobs.html'}),
|
||||
hasSQL: true,
|
||||
hasDepends: false,
|
||||
hasStatistics: true,
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'sources/gettext', 'underscore', 'pgadmin.browser',
|
||||
define('pgadmin.node.resource_group', [
|
||||
'sources/gettext', 'sources/url_for', 'underscore', 'pgadmin.browser',
|
||||
'pgadmin.browser.collection'
|
||||
], function(gettext, _, pgBrowser) {
|
||||
], function(gettext, url_for, _, pgBrowser) {
|
||||
|
||||
// Extend the browser's collection class for resource group collection
|
||||
if (!pgBrowser.Nodes['coll-resource_group']) {
|
||||
@ -19,7 +19,7 @@ define([
|
||||
pgBrowser.Nodes['resource_group'] = pgBrowser.Node.extend({
|
||||
parent_type: 'server',
|
||||
type: 'resource_group',
|
||||
dialogHelp: "{{ url_for('help.static', filename='resource_group_dialog.html') }}",
|
||||
dialogHelp: url_for('help.static', {'ilename': 'resource_group_dialog.html'}),
|
||||
label: gettext('Resource Group'),
|
||||
hasSQL: true,
|
||||
canDrop: true,
|
||||
|
@ -1,9 +1,9 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.backform', 'select2',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.node.ui',
|
||||
'pgadmin.browser.server.variable'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify, Backform) {
|
||||
define('pgadmin.node.role', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.backform', 'select2', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.node.ui', 'pgadmin.browser.server.variable'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Backform) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-role']) {
|
||||
var role = pgAdmin.Browser.Nodes['coll-role'] =
|
||||
@ -311,7 +311,7 @@ define([
|
||||
type: 'role',
|
||||
sqlAlterHelp: 'sql-alterrole.html',
|
||||
sqlCreateHelp: 'sql-createrole.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='role_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'role_dialog.html'}),
|
||||
label: gettext('Login/Group Role'),
|
||||
hasSQL: true,
|
||||
canDrop: function(node, item) {
|
||||
|
@ -1,8 +1,9 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify', 'pgadmin.browser.collection',
|
||||
'pgadmin.browser.node.ui', 'pgadmin.browser.server.privilege'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.tablespace', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify',
|
||||
'pgadmin.browser.collection', 'pgadmin.browser.node.ui',
|
||||
'pgadmin.browser.server.privilege'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['coll-tablespace']) {
|
||||
var databases = pgBrowser.Nodes['coll-tablespace'] =
|
||||
@ -22,7 +23,7 @@ define([
|
||||
type: 'tablespace',
|
||||
sqlAlterHelp: 'sql-altertablespace.html',
|
||||
sqlCreateHelp: 'sql-createtablespace.html',
|
||||
dialogHelp: '{{ url_for('help.static', filename='tablespace_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'tablespace_dialog.html'}),
|
||||
label: gettext('Tablespace'),
|
||||
hasSQL: true,
|
||||
canDrop: true,
|
||||
@ -178,7 +179,7 @@ define([
|
||||
buttons: [{
|
||||
text: '', key: 27, className: 'btn btn-default pull-left fa fa-lg fa-question',
|
||||
attrs:{name:'dialog_help', type:'button', label: gettext('Users'),
|
||||
url: '{{ url_for('help.static', filename='move_objects.html') }}'}
|
||||
url: url_for('help.static', {'filename': 'move_objects.html'})}
|
||||
},{
|
||||
text: gettext('OK'), key: 27, className: 'btn btn-primary fa fa-lg fa-save pg-alertify-button'
|
||||
},{
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'pgadmin',
|
||||
'pgadmin.browser', 'alertify'
|
||||
], function(gettext, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
define('pgadmin.node.server', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
|
||||
'underscore.string', 'pgadmin', 'pgadmin.browser', 'alertify'
|
||||
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) {
|
||||
|
||||
if (!pgBrowser.Nodes['server']) {
|
||||
|
||||
@ -39,7 +39,7 @@ define([
|
||||
pgAdmin.Browser.Nodes['server'] = pgAdmin.Browser.Node.extend({
|
||||
parent_type: 'server-group',
|
||||
type: 'server',
|
||||
dialogHelp: '{{ url_for('help.static', filename='server_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'server_dialog.html'}),
|
||||
label: gettext('Server'),
|
||||
canDrop: true,
|
||||
hasStatistics: true,
|
||||
|
@ -1,13 +1,13 @@
|
||||
define([
|
||||
'sources/gettext', 'jquery', 'underscore', 'pgadmin', 'backbone',
|
||||
'pgadmin.browser', 'pgadmin.browser.node'
|
||||
], function(gettext, $, _, pgAdmin, Backbone) {
|
||||
define('pgadmin.node.server-group', [
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'pgadmin',
|
||||
'backbone', 'pgadmin.browser', 'pgadmin.browser.node'
|
||||
], function(gettext, url_for, $, _, pgAdmin, Backbone) {
|
||||
|
||||
if (!pgAdmin.Browser.Nodes['server-group']) {
|
||||
pgAdmin.Browser.Nodes['server-group'] = pgAdmin.Browser.Node.extend({
|
||||
parent_type: null,
|
||||
type: 'server-group',
|
||||
dialogHelp: '{{ url_for('help.static', filename='server_group_dialog.html') }}',
|
||||
dialogHelp: url_for('help.static', {'filename': 'server_group_dialog.html'}),
|
||||
label: gettext('Server Group'),
|
||||
width: '350px',
|
||||
height: '250px',
|
||||
|
@ -5,7 +5,7 @@ try {
|
||||
require(
|
||||
['pgadmin', 'pgadmin.browser'],
|
||||
function(pgAdmin, pgBrowser) {
|
||||
pgBrowser.init();
|
||||
pgBrowser.init();
|
||||
},
|
||||
function() {
|
||||
/* TODO:: Show proper error dialog */
|
||||
|
@ -1,6 +1,6 @@
|
||||
define(
|
||||
'pgadmin.browser', [
|
||||
'sources/gettext', 'require', 'jquery', 'underscore', 'underscore.string',
|
||||
'sources/gettext', 'sources/url_for', 'require', 'jquery', 'underscore', 'underscore.string',
|
||||
'bootstrap', 'pgadmin', 'alertify', 'codemirror',
|
||||
'sources/check_node_visibility', 'codemirror/mode/sql/sql', 'wcdocker',
|
||||
'jquery.contextmenu', 'jquery.aciplugin', 'jquery.acitree',
|
||||
@ -9,7 +9,7 @@ define(
|
||||
'pgadmin.browser.error', 'pgadmin.browser.frame',
|
||||
'pgadmin.browser.node', 'pgadmin.browser.collection'
|
||||
], function(
|
||||
gettext, require, $, _, S, Bootstrap, pgAdmin, Alertify,
|
||||
gettext, url_for, require, $, _, S, Bootstrap, pgAdmin, Alertify,
|
||||
CodeMirror, checkNodeVisibility
|
||||
) {
|
||||
|
||||
@ -55,7 +55,7 @@ define(
|
||||
function(b) {
|
||||
$('#tree').aciTree({
|
||||
ajax: {
|
||||
url: '{{ url_for('browser.get_nodes') }}',
|
||||
url: url_for('browser.nodes'),
|
||||
converters: {
|
||||
'text json': processTreeData,
|
||||
}
|
||||
@ -86,7 +86,7 @@ define(
|
||||
// Extend the browser class attributes
|
||||
_.extend(pgAdmin.Browser, {
|
||||
// The base url for browser
|
||||
URL: '{{ url_for('browser.index') }}',
|
||||
URL: url_for('browser.index'),
|
||||
// We do have docker of type wcDocker to take care of different
|
||||
// containers. (i.e. panels, tabs, frames, etc.)
|
||||
docker:null,
|
||||
@ -313,7 +313,7 @@ define(
|
||||
settings = { setting: "Browser/Layout", value: state };
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: "{{ url_for('settings.store') }}",
|
||||
url: url_for('settings.store_bulk'),
|
||||
data: settings
|
||||
});
|
||||
}
|
||||
@ -551,7 +551,7 @@ define(
|
||||
// Ping the server every 5 minutes
|
||||
setInterval(function() {
|
||||
$.ajax({
|
||||
url: '{{ url_for('misc.ping') }}',
|
||||
url: url_for('misc.ping'),
|
||||
type:'POST',
|
||||
success: function() {},
|
||||
error: function() {}
|
||||
@ -753,7 +753,11 @@ define(
|
||||
var preference = null;
|
||||
$.ajax({
|
||||
async: false,
|
||||
url: "{{ url_for('preferences.preferences') }}" +"/"+ module +"/"+ preference_name,
|
||||
url: url_for(
|
||||
'preferences.get_by_name', {
|
||||
'module': module,
|
||||
'preference': preference_name
|
||||
}),
|
||||
success: function(res) {
|
||||
preference = res;
|
||||
},
|
||||
|
11
web/pgadmin/browser/templates/browser/js/endpoints.js
Normal file
11
web/pgadmin/browser/templates/browser/js/endpoints.js
Normal file
@ -0,0 +1,11 @@
|
||||
define(
|
||||
'pgadmin.browser.endpoints', [],
|
||||
function() {
|
||||
return {
|
||||
{% for endpoint, url in current_app.exposed_endpoint_url_map %}{% if loop.index != 1 %},
|
||||
|
||||
{% endif %}
|
||||
'{{ endpoint|safe }}': '{{ url|safe }}'{% endfor %}
|
||||
|
||||
};
|
||||
});
|
@ -101,6 +101,12 @@ class HelpModule(PgAdminModule):
|
||||
'Path to the EDB Advanced Server documentation. $VERSION$ will be replaced with the major.minor version number.')
|
||||
)
|
||||
|
||||
def get_exposed_url_endpoints(self):
|
||||
"""
|
||||
Returns the list of URLs exposed to the client.
|
||||
"""
|
||||
return ['help.static']
|
||||
|
||||
|
||||
# Initialise the module
|
||||
blueprint = HelpModule(MODULE_NAME, __name__, static_url_path='/help',
|
||||
|
@ -54,13 +54,20 @@ class MiscModule(PgAdminModule):
|
||||
'value': lang})
|
||||
|
||||
# Register options for the User language settings
|
||||
language = self.misc_preference.register(
|
||||
self.misc_preference.register(
|
||||
'miscellaneous', 'user_language',
|
||||
_("User language"), 'options', 'en',
|
||||
category_label=_('User language'),
|
||||
options=lang_options
|
||||
)
|
||||
|
||||
def get_exposed_url_endpoints(self):
|
||||
"""
|
||||
Returns:
|
||||
list: a list of url endpoints exposed to the client.
|
||||
"""
|
||||
return ['misc.ping']
|
||||
|
||||
|
||||
# Initialise the module
|
||||
blueprint = MiscModule(MODULE_NAME, __name__)
|
||||
|
@ -15,7 +15,6 @@ side and for getting/setting preferences.
|
||||
import simplejson as json
|
||||
from flask import render_template, url_for, Response, request, session
|
||||
from flask_babel import gettext
|
||||
from flask_login import current_user
|
||||
from flask_security import login_required
|
||||
from pgadmin.utils import PgAdminModule
|
||||
from pgadmin.utils.ajax import success_return, \
|
||||
@ -56,21 +55,17 @@ class PreferencesModule(PgAdminModule):
|
||||
]
|
||||
}
|
||||
|
||||
def get_exposed_url_endpoints(self):
|
||||
"""
|
||||
Returns:
|
||||
list: a list of url endpoints exposed to the client.
|
||||
"""
|
||||
return ['preferences.index', 'preferences.get_by_name']
|
||||
|
||||
|
||||
blueprint = PreferencesModule(MODULE_NAME, __name__)
|
||||
|
||||
|
||||
@blueprint.route("/")
|
||||
@login_required
|
||||
def index():
|
||||
"""Render the preferences dialog."""
|
||||
return render_template(
|
||||
MODULE_NAME + "/index.html",
|
||||
username=current_user.email,
|
||||
_=gettext
|
||||
)
|
||||
|
||||
|
||||
@blueprint.route("/preferences.js")
|
||||
@login_required
|
||||
def script():
|
||||
@ -80,8 +75,8 @@ def script():
|
||||
mimetype="application/javascript")
|
||||
|
||||
|
||||
@blueprint.route("/preferences", methods=["GET"])
|
||||
@blueprint.route("/preferences/<module>/<preference>")
|
||||
@blueprint.route("/", methods=["GET"], endpoint='index')
|
||||
@blueprint.route("/<module>/<preference>", endpoint='get_by_name')
|
||||
@login_required
|
||||
def preferences(module=None, preference=None):
|
||||
"""Fetch all/or requested preferences of pgAdmin IV."""
|
||||
@ -147,7 +142,7 @@ def preferences(module=None, preference=None):
|
||||
)
|
||||
|
||||
|
||||
@blueprint.route("/preferences/<int:pid>", methods=["PUT"])
|
||||
@blueprint.route("/<int:pid>", methods=["PUT"], endpoint="update")
|
||||
@login_required
|
||||
def save(pid):
|
||||
"""
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'jquery', 'alertify', 'pgadmin', 'underscore', 'backform',
|
||||
'pgadmin.browser', 'sources/gettext', 'pgadmin.backform'
|
||||
], function($, alertify, pgAdmin, _, Backform, pgBrowser, gettext) {
|
||||
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'alertify',
|
||||
'pgadmin', 'backform', 'pgadmin.browser', 'pgadmin.backform'
|
||||
], function(gettext, url_for, $, _, alertify, pgAdmin, Backform, pgBrowser) {
|
||||
// This defines the Preference/Options Dialog for pgAdmin IV.
|
||||
pgAdmin = pgAdmin || window.pgAdmin || {};
|
||||
|
||||
@ -52,7 +52,7 @@ define([
|
||||
var changed = {},
|
||||
preferences = this.preferences = new (Backbone.Collection.extend({
|
||||
model: PreferenceModel,
|
||||
url: "{{ url_for('preferences.preferences') }}",
|
||||
url: url_for('preferences.index'),
|
||||
updateAll: function() {
|
||||
// We will send only the modified data to the server.
|
||||
for (var key in changed) {
|
||||
@ -207,7 +207,7 @@ define([
|
||||
};
|
||||
return 'switch';
|
||||
case 'integer':
|
||||
return 'integer';
|
||||
return 'numeric';
|
||||
case 'numeric':
|
||||
return 'numeric';
|
||||
case 'date':
|
||||
@ -345,7 +345,7 @@ define([
|
||||
selectable: true,
|
||||
expand: true,
|
||||
ajax: {
|
||||
url: "{{ url_for('preferences.preferences') }}"
|
||||
url: url_for('preferences.index')
|
||||
}
|
||||
});
|
||||
|
||||
@ -354,15 +354,20 @@ define([
|
||||
setup: function() {
|
||||
return {
|
||||
buttons:[{
|
||||
text: '', key: 27, className: 'btn btn-default pull-left fa fa-lg fa-question',
|
||||
attrs:{name:'dialog_help', type:'button', label: gettext('Preferences'),
|
||||
url: '{{ url_for('help.static', filename='preferences.html') }}'}
|
||||
},{
|
||||
text: gettext('OK'), key: 13, className: "btn btn-primary fa fa-lg fa-save pg-alertify-button"
|
||||
},{
|
||||
text: gettext('Cancel'), className: "btn btn-danger fa fa-lg fa-times pg-alertify-button"
|
||||
text: '', key: 27,
|
||||
className: 'btn btn-default pull-left fa fa-lg fa-question',
|
||||
attrs:{
|
||||
name:'dialog_help', type:'button',
|
||||
label: gettext('Preferences'),
|
||||
url: url_for(
|
||||
'help.static', {'filename': 'preferences.html'}
|
||||
)
|
||||
}
|
||||
],
|
||||
},{
|
||||
text: gettext('OK'), key: 13, className: "btn btn-primary fa fa-lg fa-save pg-alertify-button"
|
||||
},{
|
||||
text: gettext('Cancel'), className: "btn btn-danger fa fa-lg fa-times pg-alertify-button"
|
||||
}],
|
||||
focus: { element: 0 },
|
||||
options: {
|
||||
padding: !1,
|
||||
|
@ -44,6 +44,13 @@ class SettingsModule(PgAdminModule):
|
||||
]
|
||||
}
|
||||
|
||||
def get_exposed_url_endpoints(self):
|
||||
"""
|
||||
Returns:
|
||||
list: a list of url endpoints exposed to the client.
|
||||
"""
|
||||
return ['settings.store', 'settings.store_bulk']
|
||||
|
||||
|
||||
blueprint = SettingsModule(MODULE_NAME, __name__)
|
||||
|
||||
@ -82,8 +89,8 @@ def script():
|
||||
mimetype="application/javascript")
|
||||
|
||||
|
||||
@blueprint.route("/store", methods=['POST'])
|
||||
@blueprint.route("/store/<setting>/<value>", methods=['GET'])
|
||||
@blueprint.route("/store", methods=['POST'], endpoint='store_bulk')
|
||||
@blueprint.route("/store/<setting>/<value>", methods=['PUT'], endpoint='store')
|
||||
@login_required
|
||||
def store(setting=None, value=None):
|
||||
"""Store a configuration setting, or if this is a POST request and a
|
||||
|
@ -1,8 +1,10 @@
|
||||
define(['jquery',
|
||||
'sources/selection/column_selector',
|
||||
'sources/selection/row_selector',
|
||||
'sources/selection/range_selection_helper'],
|
||||
function ($, ColumnSelector, RowSelector, RangeSelectionHelper) {
|
||||
'sources/selection/range_selection_helper',
|
||||
'sources/url_for'
|
||||
],
|
||||
function ($, ColumnSelector, RowSelector, RangeSelectionHelper, url_for) {
|
||||
var Slick = window.Slick;
|
||||
|
||||
var GridSelector = function (columnDefinitions) {
|
||||
@ -32,7 +34,7 @@ define(['jquery',
|
||||
'title="Select/Deselect All">' +
|
||||
'<br>' +
|
||||
columnDefinitions[0].name +
|
||||
'<img class="select-all-icon" src="/static/img/select-all-icon.png">' +
|
||||
'<img class="select-all-icon" src="' + url_for('static', {'filename': 'img/select-all-icon.png'}) + '"></img>'
|
||||
'</span>';
|
||||
return columnDefinitions;
|
||||
};
|
||||
|
41
web/pgadmin/static/js/url_for.js
Normal file
41
web/pgadmin/static/js/url_for.js
Normal file
@ -0,0 +1,41 @@
|
||||
define(["pgadmin.browser.endpoints"], function (endpoints) {
|
||||
|
||||
/***
|
||||
* This method behaves as a drop-in replacement for flask url_for function.
|
||||
* It uses the exposed URLs file under the hood, and replace the substitions provided by the modules.
|
||||
*
|
||||
* ex.
|
||||
* url_for("help.static", {filename: "server_dialog.html"}) will produce the
|
||||
* output string '/help/help/server_dialog.html' from the url ->
|
||||
* '/help/help/<path:filename>'.
|
||||
*
|
||||
* @param {String} text
|
||||
* @param {Object} substitutions
|
||||
*/
|
||||
return function url_for(endpoint, substitutions) {
|
||||
|
||||
var rawURL = endpoints[endpoint];
|
||||
|
||||
// captures things of the form <path:substitutionName>
|
||||
var substitutionGroupsRegExp = /([<])([^:^>]*:)?([^>]+)([>])/g;
|
||||
var matchFound;
|
||||
|
||||
var interpolated = rawURL;
|
||||
|
||||
if (!rawURL)
|
||||
return rawURL;
|
||||
|
||||
interpolated = interpolated.replace(
|
||||
substitutionGroupsRegExp,
|
||||
function (_origin, _1, _2, substitutionName) {
|
||||
if (substitutionName in substitutions) {
|
||||
return substitutions[substitutionName];
|
||||
}
|
||||
return _origin;
|
||||
}
|
||||
);
|
||||
|
||||
return interpolated;
|
||||
};
|
||||
|
||||
});
|
@ -100,6 +100,13 @@ class PgAdminModule(Blueprint):
|
||||
"""
|
||||
return []
|
||||
|
||||
def get_exposed_url_endpoints(self):
|
||||
"""
|
||||
Returns:
|
||||
list: a list of url endpoints exposed to the client.
|
||||
"""
|
||||
return []
|
||||
|
||||
@property
|
||||
def stylesheets(self):
|
||||
stylesheets = self.get_own_stylesheets()
|
||||
@ -132,6 +139,15 @@ class PgAdminModule(Blueprint):
|
||||
for key, value in menu_items.items())
|
||||
return menu_items
|
||||
|
||||
@property
|
||||
def exposed_endpoints(self):
|
||||
res = self.get_exposed_url_endpoints()
|
||||
|
||||
for module in self.submodules:
|
||||
res += module.exposed_endpoints
|
||||
|
||||
return res
|
||||
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
12
web/regression/javascript/fake_endpoints.js
Normal file
12
web/regression/javascript/fake_endpoints.js
Normal file
@ -0,0 +1,12 @@
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// pgAdmin 4 - PostgreSQL Tools
|
||||
//
|
||||
// Copyright (C) 2013 - 2017, The pgAdmin Development Team
|
||||
// This software is released under the PostgreSQL Licence
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
define(function () {
|
||||
return {'static': '/base/pgadmin/static/<path:filename>'}
|
||||
});
|
@ -37,6 +37,7 @@ require.config({
|
||||
'slickgrid': sourcesDir + 'vendor/slickgrid/slick.core',
|
||||
'slickgrid/slick.grid': sourcesDir + 'vendor/slickgrid/slick.grid',
|
||||
'translations': '/base/regression/javascript/fake_translations',
|
||||
'pgadmin.browser.endpoints': '/base/regression/javascript/fake_endpoints',
|
||||
'sources': sourcesDir + 'js',
|
||||
'browser': '/base/pgadmin/browser/static/js'
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user