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 @@
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|}} +
  1. + {{enum.name}} +
  2. + {{/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}} -