|
@@ -147,8 +147,9 @@
|
|
|
|
|
|
|
|
var successCallback = function(data) {
|
|
var successCallback = function(data) {
|
|
|
self.entries([]);
|
|
self.entries([]);
|
|
|
|
|
+ var newEntries = [];
|
|
|
if (typeof data.tables_meta !== "undefined") {
|
|
if (typeof data.tables_meta !== "undefined") {
|
|
|
- self.entries($.map(data.tables_meta, function(table) {
|
|
|
|
|
|
|
+ newEntries = $.map(data.tables_meta, function(table) {
|
|
|
return self.createEntry({
|
|
return self.createEntry({
|
|
|
name: table.name,
|
|
name: table.name,
|
|
|
displayName: table.name,
|
|
displayName: table.name,
|
|
@@ -157,9 +158,9 @@
|
|
|
isTable: /table/i.test(table.type),
|
|
isTable: /table/i.test(table.type),
|
|
|
isView: /view/i.test(table.type)
|
|
isView: /view/i.test(table.type)
|
|
|
});
|
|
});
|
|
|
- }));
|
|
|
|
|
|
|
+ });
|
|
|
} else if (typeof data.extended_columns !== "undefined" && data.extended_columns !== null) {
|
|
} else if (typeof data.extended_columns !== "undefined" && data.extended_columns !== null) {
|
|
|
- self.entries($.map(data.extended_columns, function (columnDef) {
|
|
|
|
|
|
|
+ newEntries = $.map(data.extended_columns, function (columnDef) {
|
|
|
var displayName = columnDef.name;
|
|
var displayName = columnDef.name;
|
|
|
if (typeof columnDef.type !== "undefined" && columnDef.type !== null) {
|
|
if (typeof columnDef.type !== "undefined" && columnDef.type !== null) {
|
|
|
displayName += ' (' + columnDef.type + ')'
|
|
displayName += ' (' + columnDef.type + ')'
|
|
@@ -179,19 +180,19 @@
|
|
|
isColumn: true,
|
|
isColumn: true,
|
|
|
type: shortType
|
|
type: shortType
|
|
|
});
|
|
});
|
|
|
- }));
|
|
|
|
|
|
|
+ });
|
|
|
} else if (typeof data.columns !== "undefined" && data.columns !== null) {
|
|
} else if (typeof data.columns !== "undefined" && data.columns !== null) {
|
|
|
- self.entries($.map(data.columns, function(columnName) {
|
|
|
|
|
|
|
+ newEntries = $.map(data.columns, function(columnName) {
|
|
|
return self.createEntry({
|
|
return self.createEntry({
|
|
|
name: columnName,
|
|
name: columnName,
|
|
|
displayName: columnName,
|
|
displayName: columnName,
|
|
|
title: columnName,
|
|
title: columnName,
|
|
|
isColumn: true
|
|
isColumn: true
|
|
|
});
|
|
});
|
|
|
- }));
|
|
|
|
|
|
|
+ });
|
|
|
} else if (typeof data.type !== "undefined" && data.type !== null) {
|
|
} else if (typeof data.type !== "undefined" && data.type !== null) {
|
|
|
if (data.type === "map") {
|
|
if (data.type === "map") {
|
|
|
- self.entries([
|
|
|
|
|
|
|
+ newEntries = [
|
|
|
self.createEntry({
|
|
self.createEntry({
|
|
|
name: "key",
|
|
name: "key",
|
|
|
displayName: "key (" + data.key.type + ")",
|
|
displayName: "key (" + data.key.type + ")",
|
|
@@ -205,19 +206,18 @@
|
|
|
isMapValue: true,
|
|
isMapValue: true,
|
|
|
type: data.value.type
|
|
type: data.value.type
|
|
|
})
|
|
})
|
|
|
- ]);
|
|
|
|
|
- self.entries()[1].open(true);
|
|
|
|
|
|
|
+ ];
|
|
|
} else if (data.type == "struct") {
|
|
} else if (data.type == "struct") {
|
|
|
- self.entries($.map(data.fields, function(field) {
|
|
|
|
|
|
|
+ newEntries = $.map(data.fields, function(field) {
|
|
|
return self.createEntry({
|
|
return self.createEntry({
|
|
|
name: field.name,
|
|
name: field.name,
|
|
|
displayName: field.name + " (" + field.type + ")",
|
|
displayName: field.name + " (" + field.type + ")",
|
|
|
title: field.name + " (" + field.type + ")",
|
|
title: field.name + " (" + field.type + ")",
|
|
|
type: field.type
|
|
type: field.type
|
|
|
});
|
|
});
|
|
|
- }));
|
|
|
|
|
|
|
+ });
|
|
|
} else if (data.type == "array") {
|
|
} else if (data.type == "array") {
|
|
|
- self.entries([
|
|
|
|
|
|
|
+ newEntries = [
|
|
|
self.createEntry({
|
|
self.createEntry({
|
|
|
name: "item",
|
|
name: "item",
|
|
|
displayName: "item (" + data.item.type + ")",
|
|
displayName: "item (" + data.item.type + ")",
|
|
@@ -225,11 +225,22 @@
|
|
|
isArray: true,
|
|
isArray: true,
|
|
|
type: data.item.type
|
|
type: data.item.type
|
|
|
})
|
|
})
|
|
|
- ]);
|
|
|
|
|
- self.entries()[0].open(true);
|
|
|
|
|
|
|
+ ];
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
self.loading(false);
|
|
self.loading(false);
|
|
|
|
|
+ if (data.type === 'array' || data.type === 'map') {
|
|
|
|
|
+ self.entries(newEntries);
|
|
|
|
|
+ self.entries()[0].open(true);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ newEntries.sort(function (a, b) {
|
|
|
|
|
+ return a.definition.name.localeCompare(b.definition.name);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ self.entries(newEntries);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
var errorCallback = function () {
|
|
var errorCallback = function () {
|