diff --git a/assets/javascripts/admin/adapters/query.js.es6 b/assets/javascripts/admin/adapters/query.js.es6 index cfd6d75..88c92e1 100644 --- a/assets/javascripts/admin/adapters/query.js.es6 +++ b/assets/javascripts/admin/adapters/query.js.es6 @@ -1,5 +1,3 @@ -import buildPluginAdapter from 'admin/adapters/build-plugin'; +import buildPluginAdapter from "admin/adapters/build-plugin"; -export default buildPluginAdapter('explorer').extend({ - -}); +export default buildPluginAdapter("explorer").extend({}); diff --git a/assets/javascripts/discourse/components/explorer-container.js.es6 b/assets/javascripts/discourse/components/explorer-container.js.es6 index 28a299b..161741d 100644 --- a/assets/javascripts/discourse/components/explorer-container.js.es6 +++ b/assets/javascripts/discourse/components/explorer-container.js.es6 @@ -1,61 +1,60 @@ -import { observes } from 'ember-addons/ember-computed-decorators'; +import { observes } from "ember-addons/ember-computed-decorators"; export default Ember.Component.extend({ - - @observes('hideSchema') + @observes("hideSchema") _onHideSchema() { - this.appEvents.trigger('ace:resize'); + this.appEvents.trigger("ace:resize"); }, - @observes('everEditing') + @observes("everEditing") _onInsertEditor() { - Ember.run.schedule('afterRender', this, () => this._bindControls()); + Ember.run.schedule("afterRender", this, () => this._bindControls()); }, _bindControls() { if (this._state !== "inDOM") { return; } - const $editPane = this.$().find('.query-editor'); + const $editPane = this.$().find(".query-editor"); if (!$editPane.length) { return; } - const oldGrippie = this.get('grippie'); + const oldGrippie = this.get("grippie"); if (oldGrippie) { - oldGrippie.off('mousedown mousemove mouseup'); - $editPane.off('mousemove mouseup'); + oldGrippie.off("mousedown mousemove mouseup"); + $editPane.off("mousemove mouseup"); } - const $grippie = $editPane.find('.grippie'); - const $targets = $editPane.find('.ace-wrapper,.grippie-target'); - const $body = $('body'); + const $grippie = $editPane.find(".grippie"); + const $targets = $editPane.find(".ace-wrapper,.grippie-target"); + const $body = $("body"); const self = this; - this.set('grippie', $grippie); + this.set("grippie", $grippie); const mousemove = function(e) { - const diff = self.get('startY') - e.screenY; - const newHeight = self.get('startSize') - diff; + const diff = self.get("startY") - e.screenY; + const newHeight = self.get("startSize") - diff; //Em.Logger.debug("new height", newHeight); $targets.height(newHeight); - self.appEvents.trigger('ace:resize'); + self.appEvents.trigger("ace:resize"); }; let mouseup; mouseup = function(e) { mousemove(e); - $body.off('mousemove', mousemove); - $body.off('mouseup', mouseup); - self.set('startY', null); - self.set('startSize', null); + $body.off("mousemove", mousemove); + $body.off("mouseup", mouseup); + self.set("startY", null); + self.set("startSize", null); }; - $grippie.on('mousedown', function(e) { - self.set('startY', e.screenY); - self.set('startSize', $targets.height()); + $grippie.on("mousedown", function(e) { + self.set("startY", e.screenY); + self.set("startSize", $targets.height()); - $body.on('mousemove', mousemove); - $body.on('mouseup', mouseup); + $body.on("mousemove", mousemove); + $body.on("mouseup", mouseup); e.preventDefault(); }); }, @@ -67,10 +66,9 @@ export default Ember.Component.extend({ willDestroyElement() { this._super(); - if (this.get('everEditing')) { - this.get('grippie').off('mousedown'); - this.set('grippie', null); + if (this.get("everEditing")) { + this.get("grippie").off("mousedown"); + this.set("grippie", null); } } }); - diff --git a/assets/javascripts/discourse/components/explorer-schema-enuminfo.js.es6 b/assets/javascripts/discourse/components/explorer-schema-enuminfo.js.es6 index bee8d2b..42222f7 100644 --- a/assets/javascripts/discourse/components/explorer-schema-enuminfo.js.es6 +++ b/assets/javascripts/discourse/components/explorer-schema-enuminfo.js.es6 @@ -1,13 +1,15 @@ export default Ember.Component.extend({ - tagName: 'ol', + tagName: "ol", enuminfo: function() { - const hash = this.get('col.enum'); + const hash = this.get("col.enum"); let result = []; for (let key in hash) { - if (!hash.hasOwnProperty(key)) { continue; } - result.push({value: key, name: hash[key]}); + if (!hash.hasOwnProperty(key)) { + continue; + } + result.push({ value: key, name: hash[key] }); } return result; - }.property('col.enum') + }.property("col.enum") }); diff --git a/assets/javascripts/discourse/components/explorer-schema-onetable.js.es6 b/assets/javascripts/discourse/components/explorer-schema-onetable.js.es6 index 7435ba5..98545c9 100644 --- a/assets/javascripts/discourse/components/explorer-schema-onetable.js.es6 +++ b/assets/javascripts/discourse/components/explorer-schema-onetable.js.es6 @@ -1,18 +1,22 @@ export default Ember.Component.extend({ - classNameBindings: [':schema-table', 'open'], - tagName: 'li', + classNameBindings: [":schema-table", "open"], + tagName: "li", - open: Em.computed.alias('table.open'), + open: Em.computed.alias("table.open"), _bindClicks: function() { const self = this; - this.$().find('.schema-table-name').click(function(e) { - self.set('open', !self.get('open')); - e.preventDefault(); - }); - }.on('didInsertElement'), + this.$() + .find(".schema-table-name") + .click(function(e) { + self.set("open", !self.get("open")); + e.preventDefault(); + }); + }.on("didInsertElement"), _cleanup: function() { - this.$().find('.schema-table-name').off('click'); - }.on('willDestroyElement') + this.$() + .find(".schema-table-name") + .off("click"); + }.on("willDestroyElement") }); diff --git a/assets/javascripts/discourse/components/explorer-schema.js.es6 b/assets/javascripts/discourse/components/explorer-schema.js.es6 index 53c1ce9..b0c1e0f 100644 --- a/assets/javascripts/discourse/components/explorer-schema.js.es6 +++ b/assets/javascripts/discourse/components/explorer-schema.js.es6 @@ -1,18 +1,17 @@ -import debounce from 'discourse/lib/debounce'; +import debounce from "discourse/lib/debounce"; export default Ember.Component.extend({ - actions: { expandSchema() { - this.set('hideSchema', false); + this.set("hideSchema", false); }, collapseSchema() { - this.set('hideSchema', true); + this.set("hideSchema", true); } }, transformedSchema: function() { - const schema = this.get('schema'); + const schema = this.get("schema"); for (let key in schema) { if (!schema.hasOwnProperty(key)) { @@ -47,21 +46,20 @@ export default Ember.Component.extend({ } col.havetypeinfo = !!(col.notes || col.enum || col.column_desc); - }); } return schema; - }.property('schema'), + }.property("schema"), rfilter: function() { - if (!Em.isBlank(this.get('filter'))) { - return new RegExp(this.get('filter')); + if (!Em.isBlank(this.get("filter"))) { + return new RegExp(this.get("filter")); } - }.property('filter'), + }.property("filter"), filterTables: function(schema) { let tables = []; - const filter = this.get('rfilter'), + const filter = this.get("rfilter"), haveFilter = !!filter; for (let key in schema) { @@ -114,17 +112,20 @@ export default Ember.Component.extend({ }, triggerFilter: debounce(function() { - this.set('filteredTables', this.filterTables(this.get('transformedSchema'))); - this.set('loading', false); - }, 500).observes('filter'), + this.set( + "filteredTables", + this.filterTables(this.get("transformedSchema")) + ); + this.set("loading", false); + }, 500).observes("filter"), setLoading: function() { - this.set('loading', true); - }.observes('filter'), + this.set("loading", true); + }.observes("filter"), init() { this._super(); - this.set('loading', true); + this.set("loading", true); this.triggerFilter(); } }); diff --git a/assets/javascripts/discourse/components/hljs-code-view.js.es6 b/assets/javascripts/discourse/components/hljs-code-view.js.es6 index 24e1083..5431e54 100644 --- a/assets/javascripts/discourse/components/hljs-code-view.js.es6 +++ b/assets/javascripts/discourse/components/hljs-code-view.js.es6 @@ -1,19 +1,21 @@ -import debounce from 'discourse/lib/debounce'; -import highlightSyntax from 'discourse/lib/highlight-syntax'; -import { bufferedRender } from 'discourse-common/lib/buffered-render'; +import debounce from "discourse/lib/debounce"; +import highlightSyntax from "discourse/lib/highlight-syntax"; +import { bufferedRender } from "discourse-common/lib/buffered-render"; -export default Ember.Component.extend(bufferedRender({ - buildBuffer(buffer) { - buffer.push("
");
- buffer.push(Handlebars.Utils.escapeExpression(this.get('value')));
- buffer.push("
");
- },
+export default Ember.Component.extend(
+ bufferedRender({
+ buildBuffer(buffer) {
+ buffer.push("");
+ buffer.push(Handlebars.Utils.escapeExpression(this.get("value")));
+ buffer.push("
");
+ },
- _refreshHighlight: debounce(function() {
- this.rerenderBuffer();
- }, 50).observes('value'),
+ _refreshHighlight: debounce(function() {
+ this.rerenderBuffer();
+ }, 50).observes("value"),
- _applyHighlight: function() {
- highlightSyntax(this.$());
- }.on('didInsertElement')
-}));
+ _applyHighlight: function() {
+ highlightSyntax(this.$());
+ }.on("didInsertElement")
+ })
+);
diff --git a/assets/javascripts/discourse/components/json-file-uploader.js.es6 b/assets/javascripts/discourse/components/json-file-uploader.js.es6
index 258ccd0..8d4276a 100644
--- a/assets/javascripts/discourse/components/json-file-uploader.js.es6
+++ b/assets/javascripts/discourse/components/json-file-uploader.js.es6
@@ -4,68 +4,70 @@ export default Ember.Component.extend({
expectedRootObjectName: null,
hover: 0,
- classNames: ['json-uploader'],
+ classNames: ["json-uploader"],
_initialize: function() {
const $this = this.$();
const self = this;
- const $fileInput = $this.find('#js-file-input');
- this.set('fileInput', $fileInput[0]);
+ const $fileInput = $this.find("#js-file-input");
+ this.set("fileInput", $fileInput[0]);
- $fileInput.on('change', function() {
+ $fileInput.on("change", function() {
self.fileSelected(this.files);
});
- $this.on('dragover', function(e) {
+ $this.on("dragover", function(e) {
if (e.preventDefault) e.preventDefault();
return false;
});
- $this.on('dragenter', function(e) {
+ $this.on("dragenter", function(e) {
if (e.preventDefault) e.preventDefault();
- self.set('hover', self.get('hover') + 1);
+ self.set("hover", self.get("hover") + 1);
return false;
});
- $this.on('dragleave', function(e) {
+ $this.on("dragleave", function(e) {
if (e.preventDefault) e.preventDefault();
- self.set('hover', self.get('hover') - 1);
+ self.set("hover", self.get("hover") - 1);
return false;
});
- $this.on('drop', function(e) {
+ $this.on("drop", function(e) {
if (e.preventDefault) e.preventDefault();
- self.set('hover', 0);
+ self.set("hover", 0);
self.fileSelected(e.dataTransfer.files);
return false;
});
-
- }.on('didInsertElement'),
+ }.on("didInsertElement"),
accept: function() {
- return ".json,application/json,application/x-javascript,text/json" + (this.get('extension') ? "," + this.get('extension') : "");
- }.property('extension'),
+ return (
+ ".json,application/json,application/x-javascript,text/json" +
+ (this.get("extension") ? "," + this.get("extension") : "")
+ );
+ }.property("extension"),
setReady: function() {
let parsed;
try {
- parsed = JSON.parse(this.get('value'));
+ parsed = JSON.parse(this.get("value"));
} catch (e) {
- this.set('ready', false);
+ this.set("ready", false);
return;
}
- const rootObject = parsed[this.get('expectedRootObjectName')];
+ const rootObject = parsed[this.get("expectedRootObjectName")];
if (rootObject !== null && rootObject !== undefined) {
- this.set('ready', true);
+ this.set("ready", true);
} else {
- this.set('ready', false);
+ this.set("ready", false);
}
- }.observes('destination', 'expectedRootObjectName'),
+ }.observes("destination", "expectedRootObjectName"),
actions: {
selectFile: function() {
- const $fileInput = $(this.get('fileInput'));
+ const $fileInput = $(this.get("fileInput"));
$fileInput.click();
}
},
@@ -88,15 +90,14 @@ export default Ember.Component.extend({
});
const firstFile = fileList[0];
- this.set('loading', true);
+ this.set("loading", true);
let reader = new FileReader();
reader.onload = function(evt) {
- self.set('value', evt.target.result);
- self.set('loading', false);
+ self.set("value", evt.target.result);
+ self.set("loading", false);
};
reader.readAsText(firstFile);
}
-
});
diff --git a/assets/javascripts/discourse/components/param-field.js.es6 b/assets/javascripts/discourse/components/param-field.js.es6
index f75b49d..20b8c15 100644
--- a/assets/javascripts/discourse/components/param-field.js.es6
+++ b/assets/javascripts/discourse/components/param-field.js.es6
@@ -1,9 +1,9 @@
export default Ember.TextField.extend({
value: function(key, value) {
if (arguments.length > 1) {
- this.get('params')[this.get('pname')] = value;
+ this.get("params")[this.get("pname")] = value;
}
- return this.get('params')[this.get('pname')];
- }.property('params', 'pname')
+ return this.get("params")[this.get("pname")];
+ }.property("params", "pname")
});
diff --git a/assets/javascripts/discourse/components/param-input.js.es6 b/assets/javascripts/discourse/components/param-input.js.es6
index 2e693b2..1ba3618 100644
--- a/assets/javascripts/discourse/components/param-input.js.es6
+++ b/assets/javascripts/discourse/components/param-input.js.es6
@@ -2,30 +2,30 @@
const Category = Discourse.Category;
const layoutMap = {
- int: 'int',
- bigint: 'int',
- boolean: 'boolean',
- string: 'generic',
- time: 'generic',
- date: 'generic',
- datetime: 'generic',
- double: 'string',
- user_id: 'user_id',
- post_id: 'string',
- topic_id: 'generic',
- category_id: 'generic',
- group_id: 'generic',
- badge_id: 'generic',
- int_list: 'generic',
- string_list: 'generic',
- user_list: 'user_list'
+ int: "int",
+ bigint: "int",
+ boolean: "boolean",
+ string: "generic",
+ time: "generic",
+ date: "generic",
+ datetime: "generic",
+ double: "string",
+ user_id: "user_id",
+ post_id: "string",
+ topic_id: "generic",
+ category_id: "generic",
+ group_id: "generic",
+ badge_id: "generic",
+ int_list: "generic",
+ string_list: "generic",
+ user_list: "user_list"
};
function allowsInputTypeTime() {
try {
- const inp = document.createElement('input');
- inp.attributes.type = 'time';
- inp.attributes.type = 'date';
+ const inp = document.createElement("input");
+ inp.attributes.type = "time";
+ inp.attributes.type = "date";
return true;
} catch (e) {
return false;
@@ -33,77 +33,88 @@ function allowsInputTypeTime() {
}
export default Ember.Component.extend({
+ classNameBindings: ["valid:valid:invalid", ":param"],
- classNameBindings: ['valid:valid:invalid', ':param'],
+ boolTypes: [
+ { name: I18n.t("explorer.types.bool.true"), id: "Y" },
+ { name: I18n.t("explorer.types.bool.false"), id: "N" },
+ { name: I18n.t("explorer.types.bool.null_"), id: "#null" }
+ ],
- boolTypes: [ {name: I18n.t('explorer.types.bool.true'), id: 'Y'}, {name: I18n.t('explorer.types.bool.false'), id: 'N'}, {name: I18n.t('explorer.types.bool.null_'), id: '#null'} ],
-
- value: Ember.computed('params', 'info.identifier', {
+ value: Ember.computed("params", "info.identifier", {
get() {
- return this.get('params')[this.get('info.identifier')];
+ return this.get("params")[this.get("info.identifier")];
},
set(key, value) {
- this.get('params')[this.get('info.identifier')] = value.toString();
+ this.get("params")[this.get("info.identifier")] = value.toString();
return value;
}
}),
- valueBool: Ember.computed('params', 'info.identifier', {
+ valueBool: Ember.computed("params", "info.identifier", {
get() {
- return this.get('params')[this.get('info.identifier')] !== 'false';
+ return this.get("params")[this.get("info.identifier")] !== "false";
},
set(key, value) {
value = !!value;
- this.get('params')[this.get('info.identifier')] = value.toString();
+ this.get("params")[this.get("info.identifier")] = value.toString();
return value;
}
}),
valid: function() {
- const type = this.get('info.type'),
- value = this.get('value');
+ const type = this.get("info.type"),
+ value = this.get("value");
- if (Em.isEmpty(this.get('value'))) {
- return this.get('info.nullable');
+ if (Em.isEmpty(this.get("value"))) {
+ return this.get("info.nullable");
}
const intVal = parseInt(value, 10);
- const intValid = !isNaN(intVal) && intVal < 2147483648 && intVal > -2147483649;
+ const intValid =
+ !isNaN(intVal) && intVal < 2147483648 && intVal > -2147483649;
const isPositiveInt = /^\d+$/.test(value);
switch (type) {
- case 'int':
+ case "int":
return /^-?\d+$/.test(value) && intValid;
- case 'bigint':
+ case "bigint":
return /^-?\d+$/.test(value) && !isNaN(intVal);
- case 'boolean':
+ case "boolean":
return /^Y|N|#null|true|false/.test(value);
- case 'double':
- return !isNaN(parseFloat(value)) || /^(-?)Inf(inity)?$/i.test(value) || /^(-?)NaN$/i.test(value);
- case 'int_list':
- return value.split(',').every(function(i) {
+ case "double":
+ return (
+ !isNaN(parseFloat(value)) ||
+ /^(-?)Inf(inity)?$/i.test(value) ||
+ /^(-?)NaN$/i.test(value)
+ );
+ case "int_list":
+ return value.split(",").every(function(i) {
return /^(-?\d+|null)$/.test(i.trim());
});
- case 'post_id':
+ case "post_id":
return isPositiveInt || /\d+\/\d+(\?u=.*)?$/.test(value);
- case 'category_id':
+ case "category_id":
if (!isPositiveInt && value !== value.dasherize()) {
- this.set('value', value.dasherize());
+ this.set("value", value.dasherize());
}
if (isPositiveInt) {
return !!this.site.categories.find(function(c) {
- return c.get('id') === intVal;
+ return c.get("id") === intVal;
});
} else if (/\//.test(value)) {
const match = /(.*)\/(.*)/.exec(value);
if (!match) return false;
- const result = Category.findBySlug(match[2].dasherize(), match[1].dasherize());
+ const result = Category.findBySlug(
+ match[2].dasherize(),
+ match[1].dasherize()
+ );
return !!result;
} else {
return !!Category.findBySlug(value.dasherize());
}
- case 'group_id':
- const groups = this.site.get('groups');
+ case "group_id":
+ const groups = this.site.get("groups");
if (isPositiveInt) {
return !!groups.find(function(g) {
return g.id === intVal;
@@ -115,20 +126,20 @@ export default Ember.Component.extend({
}
}
return true;
- }.property('value', 'info.type', 'info.nullable'),
+ }.property("value", "info.type", "info.nullable"),
layoutType: function() {
- const type = this.get('info.type');
+ const type = this.get("info.type");
if ((type === "time" || type === "date") && !allowsInputTypeTime()) {
return "string";
}
if (layoutMap[type]) {
return layoutMap[type];
}
- return 'generic';
- }.property('info.type'),
+ return "generic";
+ }.property("info.type"),
layoutName: function() {
- return "admin/components/q-params/" + this.get('layoutType');
- }.property('layoutType')
+ return "admin/components/q-params/" + this.get("layoutType");
+ }.property("layoutType")
});
diff --git a/assets/javascripts/discourse/components/query-result.js.es6 b/assets/javascripts/discourse/components/query-result.js.es6
index fb39a6e..6224e9d 100644
--- a/assets/javascripts/discourse/components/query-result.js.es6
+++ b/assets/javascripts/discourse/components/query-result.js.es6
@@ -1,12 +1,12 @@
-import { ajax } from 'discourse/lib/ajax';
-import Badge from 'discourse/models/badge';
-import { getOwner } from 'discourse-common/lib/get-owner';
-import { default as computed } from 'ember-addons/ember-computed-decorators';
+import { ajax } from "discourse/lib/ajax";
+import Badge from "discourse/models/badge";
+import { getOwner } from "discourse-common/lib/get-owner";
+import { default as computed } from "ember-addons/ember-computed-decorators";
function randomIdShort() {
- return 'xxxxxxxx'.replace(/[xy]/g, function() {
+ return "xxxxxxxx".replace(/[xy]/g, function() {
/*eslint-disable*/
- return (Math.random() * 16 | 0).toString(16);
+ return ((Math.random() * 16) | 0).toString(16);
/*eslint-enable*/
});
}
@@ -24,153 +24,167 @@ function transformedRelTable(table, modelClass) {
}
const QueryResultComponent = Ember.Component.extend({
- layoutName: 'explorer-query-result',
+ layoutName: "explorer-query-result",
- rows: Em.computed.alias('content.rows'),
- columns: Em.computed.alias('content.columns'),
- params: Em.computed.alias('content.params'),
- explainText: Em.computed.alias('content.explain'),
- hasExplain: Em.computed.notEmpty('content.explain'),
+ rows: Em.computed.alias("content.rows"),
+ columns: Em.computed.alias("content.columns"),
+ params: Em.computed.alias("content.params"),
+ explainText: Em.computed.alias("content.explain"),
+ hasExplain: Em.computed.notEmpty("content.explain"),
- @computed('content.result_count')
+ @computed("content.result_count")
resultCount: function(count) {
if (count === 1000) {
- return I18n.t('explorer.max_result_count', { count });
+ return I18n.t("explorer.max_result_count", { count });
} else {
- return I18n.t('explorer.result_count', { count });
+ return I18n.t("explorer.result_count", { count });
}
},
colCount: function() {
- return this.get('content.columns').length;
- }.property('content.columns.length'),
+ return this.get("content.columns").length;
+ }.property("content.columns.length"),
duration: function() {
- return I18n.t('explorer.run_time', {value: I18n.toNumber(this.get('content.duration'), {precision: 1})});
- }.property('content.duration'),
+ return I18n.t("explorer.run_time", {
+ value: I18n.toNumber(this.get("content.duration"), { precision: 1 })
+ });
+ }.property("content.duration"),
parameterAry: function() {
let arr = [];
- const params = this.get('params');
+ const params = this.get("params");
for (var key in params) {
if (params.hasOwnProperty(key)) {
- arr.push({key: key, value: params[key]});
+ arr.push({ key: key, value: params[key] });
}
}
return arr;
- }.property('params.@each'),
+ }.property("params.@each"),
columnDispNames: function() {
- if (!this.get('columns')) {
+ if (!this.get("columns")) {
return [];
}
- return this.get('columns').map(function(colName) {
+ return this.get("columns").map(function(colName) {
if (colName.endsWith("_id")) {
return colName.slice(0, -3);
}
- const dIdx = colName.indexOf('$');
+ const dIdx = colName.indexOf("$");
if (dIdx >= 0) {
return colName.substring(dIdx + 1);
}
return colName;
});
- }.property('content', 'columns.@each'),
+ }.property("content", "columns.@each"),
fallbackTemplate: function() {
- return getOwner(this).lookup('template:explorer/text.raw');
+ return getOwner(this).lookup("template:explorer/text.raw");
}.property(),
columnTemplates: function() {
const self = this;
- if (!this.get('columns')) {
+ if (!this.get("columns")) {
return [];
}
- return this.get('columns').map(function(colName, idx) {
+ return this.get("columns").map(function(colName, idx) {
let viewName = "text";
- if (self.get('content.colrender')[idx]) {
- viewName = self.get('content.colrender')[idx];
+ if (self.get("content.colrender")[idx]) {
+ viewName = self.get("content.colrender")[idx];
}
// After `findRawTemplates` is in stable this should be updated to use that
- let template = getOwner(self).lookup('template:explorer/' + viewName + '.raw');
+ let template = getOwner(self).lookup(
+ "template:explorer/" + viewName + ".raw"
+ );
if (!template) {
template = Discourse.RAW_TEMPLATES[`javascripts/explorer/${viewName}`];
}
- return {name: viewName, template };
+ return { name: viewName, template };
});
- }.property('content', 'columns.@each'),
+ }.property("content", "columns.@each"),
transformedUserTable: function() {
- return transformedRelTable(this.get('content.relations.user'));
- }.property('content.relations.user'),
+ return transformedRelTable(this.get("content.relations.user"));
+ }.property("content.relations.user"),
transformedBadgeTable: function() {
- return transformedRelTable(this.get('content.relations.badge'), Badge);
- }.property('content.relations.badge'),
+ return transformedRelTable(this.get("content.relations.badge"), Badge);
+ }.property("content.relations.badge"),
transformedPostTable: function() {
- return transformedRelTable(this.get('content.relations.post'));
- }.property('content.relations.post'),
+ return transformedRelTable(this.get("content.relations.post"));
+ }.property("content.relations.post"),
transformedTopicTable: function() {
- return transformedRelTable(this.get('content.relations.topic'));
- }.property('content.relations.topic'),
+ return transformedRelTable(this.get("content.relations.topic"));
+ }.property("content.relations.topic"),
transformedGroupTable: function() {
- return transformedRelTable(this.get('site.groups'));
- }.property('site.groups'),
+ return transformedRelTable(this.get("site.groups"));
+ }.property("site.groups"),
lookupUser(id) {
- return this.get('transformedUserTable')[id];
+ return this.get("transformedUserTable")[id];
},
lookupBadge(id) {
- return this.get('transformedBadgeTable')[id];
+ return this.get("transformedBadgeTable")[id];
},
lookupPost(id) {
- return this.get('transformedPostTable')[id];
+ return this.get("transformedPostTable")[id];
},
lookupTopic(id) {
- return this.get('transformedTopicTable')[id];
+ return this.get("transformedTopicTable")[id];
},
lookupGroup(id) {
- return this.get('transformedGroupTable')[id];
+ return this.get("transformedGroupTable")[id];
},
lookupCategory(id) {
- return this.site.get('categoriesById')[id];
+ return this.site.get("categoriesById")[id];
},
downloadResult(format) {
// Create a frame to submit the form in (?)
// to avoid leaving an about:blank behind
let windowName = randomIdShort();
- const newWindowContents = "Click anywhere to close this window once the download finishes.";
+ const newWindowContents =
+ "Click anywhere to close this window once the download finishes.";
- window.open('data:text/html;base64,' + btoa(newWindowContents), windowName);
+ window.open("data:text/html;base64," + btoa(newWindowContents), windowName);
let form = document.createElement("form");
- form.setAttribute('id', 'query-download-result');
- form.setAttribute('method', 'post');
- form.setAttribute('action', Discourse.getURL('/admin/plugins/explorer/queries/' + this.get('query.id') + '/run.' + format + '?download=1'));
- form.setAttribute('target', windowName);
- form.setAttribute('style', 'display:none;');
+ form.setAttribute("id", "query-download-result");
+ form.setAttribute("method", "post");
+ form.setAttribute(
+ "action",
+ Discourse.getURL(
+ "/admin/plugins/explorer/queries/" +
+ this.get("query.id") +
+ "/run." +
+ format +
+ "?download=1"
+ )
+ );
+ form.setAttribute("target", windowName);
+ form.setAttribute("style", "display:none;");
function addInput(name, value) {
let field;
- field = document.createElement('input');
- field.setAttribute('name', name);
- field.setAttribute('value', value);
+ field = document.createElement("input");
+ field.setAttribute("name", name);
+ field.setAttribute("value", value);
form.appendChild(field);
}
- addInput('params', JSON.stringify(this.get('params')));
- addInput('explain', this.get('hasExplain'));
- addInput('limit', '1000000');
+ addInput("params", JSON.stringify(this.get("params")));
+ addInput("explain", this.get("hasExplain"));
+ addInput("limit", "1000000");
- ajax('/session/csrf.json').then(function(csrf) {
- addInput('authenticity_token', csrf.csrf);
+ ajax("/session/csrf.json").then(function(csrf) {
+ addInput("authenticity_token", csrf.csrf);
document.body.appendChild(form);
form.submit();
- Em.run.next('afterRender', function() {
+ Em.run.next("afterRender", function() {
document.body.removeChild(form);
});
});
@@ -178,13 +192,12 @@ const QueryResultComponent = Ember.Component.extend({
actions: {
downloadResultJson() {
- this.downloadResult('json');
+ this.downloadResult("json");
},
downloadResultCsv() {
- this.downloadResult('csv');
+ this.downloadResult("csv");
}
}
-
});
export default QueryResultComponent;
diff --git a/assets/javascripts/discourse/components/query-row-content.js.es6 b/assets/javascripts/discourse/components/query-row-content.js.es6
index 6f1c8e2..c256d77 100644
--- a/assets/javascripts/discourse/components/query-row-content.js.es6
+++ b/assets/javascripts/discourse/components/query-row-content.js.es6
@@ -1,12 +1,14 @@
-import { categoryLinkHTML } from 'discourse/helpers/category-link';
-import { autoUpdatingRelativeAge } from 'discourse/lib/formatter';
-import { bufferedRender } from 'discourse-common/lib/buffered-render';
+import { categoryLinkHTML } from "discourse/helpers/category-link";
+import { autoUpdatingRelativeAge } from "discourse/lib/formatter";
+import { bufferedRender } from "discourse-common/lib/buffered-render";
function icon_or_image_replacement(str, ctx) {
str = Ember.get(ctx.contexts[0], str);
- if (Ember.isEmpty(str)) { return ""; }
+ if (Ember.isEmpty(str)) {
+ return "";
+ }
- if (str.indexOf('fa-') === 0) {
+ if (str.indexOf("fa-") === 0) {
return new Handlebars.SafeString("");
} else {
return new Handlebars.SafeString("