From cf365f7df25b3a7bfa8518a0c90ab82464050a57 Mon Sep 17 00:00:00 2001
From: Isaac Janzen <50783505+janzenisaac@users.noreply.github.com>
Date: Tue, 20 Dec 2022 10:30:43 -0600
Subject: [PATCH] Upgrade explorer-schema onetable/enum to Octane (#203)
* Upgrade explorer-schema onetable/enum to Octane
---
.../components/explorer-schema-enuminfo.js | 18 -------
.../components/explorer-schema-onetable.js | 25 ----------
.../discourse/components/explorer-schema.hbs | 2 +-
.../components/explorer-schema/enum-info.hbs | 7 +++
.../components/explorer-schema/enum-info.js | 10 ++++
.../components/explorer-schema/one-table.hbs | 50 +++++++++++++++++++
.../components/explorer-schema/one-table.js | 16 ++++++
.../components/explorer-schema-enuminfo.hbs | 5 --
.../components/explorer-schema-onetable.hbs | 48 ------------------
9 files changed, 84 insertions(+), 97 deletions(-)
delete mode 100644 assets/javascripts/discourse/components/explorer-schema-enuminfo.js
delete mode 100644 assets/javascripts/discourse/components/explorer-schema-onetable.js
create mode 100644 assets/javascripts/discourse/components/explorer-schema/enum-info.hbs
create mode 100644 assets/javascripts/discourse/components/explorer-schema/enum-info.js
create mode 100644 assets/javascripts/discourse/components/explorer-schema/one-table.hbs
create mode 100644 assets/javascripts/discourse/components/explorer-schema/one-table.js
delete mode 100644 assets/javascripts/discourse/templates/components/explorer-schema-enuminfo.hbs
delete mode 100644 assets/javascripts/discourse/templates/components/explorer-schema-onetable.hbs
diff --git a/assets/javascripts/discourse/components/explorer-schema-enuminfo.js b/assets/javascripts/discourse/components/explorer-schema-enuminfo.js
deleted file mode 100644
index 0b52895..0000000
--- a/assets/javascripts/discourse/components/explorer-schema-enuminfo.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import Component from "@ember/component";
-import discourseComputed from "discourse-common/utils/decorators";
-
-export default Component.extend({
- tagName: "ol",
-
- @discourseComputed("col.enum")
- enuminfo(hash) {
- let result = [];
- for (let key in hash) {
- if (!hash.hasOwnProperty(key)) {
- continue;
- }
- result.push({ value: key, name: hash[key] });
- }
- return result;
- },
-});
diff --git a/assets/javascripts/discourse/components/explorer-schema-onetable.js b/assets/javascripts/discourse/components/explorer-schema-onetable.js
deleted file mode 100644
index d0fde1e..0000000
--- a/assets/javascripts/discourse/components/explorer-schema-onetable.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import Component from "@ember/component";
-import { on } from "discourse-common/utils/decorators";
-import { reads } from "@ember/object/computed";
-
-export default Component.extend({
- classNameBindings: [":schema-table", "open"],
- tagName: "li",
-
- open: reads("table.open"),
-
- @on("didInsertElement")
- _bindClicks() {
- $(this.element)
- .find(".schema-table-name")
- .click((e) => {
- this.set("table.open", !this.table.open);
- e.preventDefault();
- });
- },
-
- @on("willDestroyElement")
- _cleanup() {
- $(this.element).find(".schema-table-name").off("click");
- },
-});
diff --git a/assets/javascripts/discourse/components/explorer-schema.hbs b/assets/javascripts/discourse/components/explorer-schema.hbs
index 680f634..4c5ae59 100644
--- a/assets/javascripts/discourse/components/explorer-schema.hbs
+++ b/assets/javascripts/discourse/components/explorer-schema.hbs
@@ -25,7 +25,7 @@
{{#each this.filteredTables as |table|}}
- {{explorer-schema-onetable table=table}}
+
{{/each}}
diff --git a/assets/javascripts/discourse/components/explorer-schema/enum-info.hbs b/assets/javascripts/discourse/components/explorer-schema/enum-info.hbs
new file mode 100644
index 0000000..a20c4a6
--- /dev/null
+++ b/assets/javascripts/discourse/components/explorer-schema/enum-info.hbs
@@ -0,0 +1,7 @@
+
+ {{#each this.enuminfo as |enum|}}
+ -
+ {{enum.name}}
+
+ {{/each}}
+
diff --git a/assets/javascripts/discourse/components/explorer-schema/enum-info.js b/assets/javascripts/discourse/components/explorer-schema/enum-info.js
new file mode 100644
index 0000000..77d27fd
--- /dev/null
+++ b/assets/javascripts/discourse/components/explorer-schema/enum-info.js
@@ -0,0 +1,10 @@
+import Component from "@glimmer/component";
+
+export default class EnumInfo extends Component {
+ get enuminfo() {
+ return Object.entries(this.args.col.enum).map(([value, name]) => ({
+ value,
+ name,
+ }));
+ }
+}
diff --git a/assets/javascripts/discourse/components/explorer-schema/one-table.hbs b/assets/javascripts/discourse/components/explorer-schema/one-table.hbs
new file mode 100644
index 0000000..7f179ae
--- /dev/null
+++ b/assets/javascripts/discourse/components/explorer-schema/one-table.hbs
@@ -0,0 +1,50 @@
+
+
+ {{#if this.open}}
+ {{d-icon "caret-down"}}
+ {{else}}
+ {{d-icon "caret-right"}}
+ {{/if}}
+ {{@table.name}}
+
+
+
+ {{#if this.open}}
+
+ {{#each @table.columns as |col|}}
+
+
-
+ {{#if col.sensitive}}
+ {{d-icon "exclamation-triangle"}}
+ {{/if}}
+ {{col.column_name}}
+
+ -
+ {{col.data_type}}
+ {{#if col.havetypeinfo}}
+
+ {{#if col.havepopup}}
+
+ {{/if}}
+
+ {{col.notes}}
+
+ {{/if}}
+
+
+ {{/each}}
+
+ {{/if}}
+
+
diff --git a/assets/javascripts/discourse/components/explorer-schema/one-table.js b/assets/javascripts/discourse/components/explorer-schema/one-table.js
new file mode 100644
index 0000000..87e1dd7
--- /dev/null
+++ b/assets/javascripts/discourse/components/explorer-schema/one-table.js
@@ -0,0 +1,16 @@
+import Component from "@glimmer/component";
+import { bind } from "discourse-common/utils/decorators";
+import { tracked } from "@glimmer/tracking";
+
+export default class OneTable extends Component {
+ @tracked open = this.args.table.open;
+
+ get styles() {
+ return this.open ? "open" : "";
+ }
+
+ @bind
+ toggleOpen() {
+ this.open = !this.open;
+ }
+}
diff --git a/assets/javascripts/discourse/templates/components/explorer-schema-enuminfo.hbs b/assets/javascripts/discourse/templates/components/explorer-schema-enuminfo.hbs
deleted file mode 100644
index 0fbba51..0000000
--- a/assets/javascripts/discourse/templates/components/explorer-schema-enuminfo.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-{{#each enuminfo as |enum|}}
-
- {{enum.name}}
-
-{{/each}}
diff --git a/assets/javascripts/discourse/templates/components/explorer-schema-onetable.hbs b/assets/javascripts/discourse/templates/components/explorer-schema-onetable.hbs
deleted file mode 100644
index 7b2a866..0000000
--- a/assets/javascripts/discourse/templates/components/explorer-schema-onetable.hbs
+++ /dev/null
@@ -1,48 +0,0 @@
-
- {{#if open}}
- {{d-icon "caret-down"}}
- {{else}}
- {{d-icon "caret-right"}}
- {{/if}}
- {{table.name}}
-
-
-
- {{#if open}}
-
- {{#each table.columns as |col|}}
-
-
-
- {{#if col.sensitive}}
- {{d-icon "exclamation-triangle"}}
- {{/if}}
- {{col.column_name}}
-
- -
- {{col.data_type}}
- {{#if col.havetypeinfo}}
-
- {{#if col.havepopup}}
-
- {{/if}}
-
- {{col.notes}}
-
- {{/if}}
-
-
- {{/each}}
-
- {{/if}}
-