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}} -