From cf50ec569843f16e355de414467aaf7138e756a2 Mon Sep 17 00:00:00 2001 From: Stanislav Romanov Date: Fri, 2 Sep 2022 11:53:33 +0300 Subject: [PATCH] Refactored component IndexSetting --- app/components/form/index-setting.js | 48 ------------------- app/components/{form => }/index-setting.hbs | 8 ++-- app/components/index-setting.js | 30 ++++++++++++ app/models/index.js | 35 ++++++++++++++ app/routes/admin/indexes/item/settings.js | 10 +--- app/templates/admin/indexes/item/settings.hbs | 9 ++-- .../{form => }/index-setting-test.js | 8 ++-- 7 files changed, 80 insertions(+), 68 deletions(-) delete mode 100644 app/components/form/index-setting.js rename app/components/{form => }/index-setting.hbs (55%) create mode 100644 app/components/index-setting.js rename tests/integration/components/{form => }/index-setting-test.js (77%) diff --git a/app/components/form/index-setting.js b/app/components/form/index-setting.js deleted file mode 100644 index 8c5657b..0000000 --- a/app/components/form/index-setting.js +++ /dev/null @@ -1,48 +0,0 @@ -import { action } from '@ember/object'; -import { capitalize } from '@ember/string'; -import Component from '@glimmer/component'; -import { tracked } from '@glimmer/tracking'; - -export default class FormIndexSettingComponent extends Component { - @tracked value; - - constructor() { - super(...arguments); - - const fnName = `get${capitalize(this.args.name)}`; - - this.args.index[fnName]().then((result) => { - this.value = JSON.stringify(result); - }); - } - - get capitalizeName() { - return capitalize(this.args.name); - } - - @action - save(event) { - event.preventDefault(); - - const formData = new FormData(event.currentTarget); - const data = formData.get(this.args.name); - const fnName = `update${this.capitalizeName}`; - - this.args.index[fnName](JSON.parse(data)); - } - - @action - async cancel() { - const fnName = `get${this.capitalizeName}`; - const oldValue = await this.args.index[fnName](); - - this.value = JSON.stringify(oldValue); - } - - @action - async reset() { - const fnName = `reset${this.capitalizeName}`; - - this.args.index[fnName](); - } -} diff --git a/app/components/form/index-setting.hbs b/app/components/index-setting.hbs similarity index 55% rename from app/components/form/index-setting.hbs rename to app/components/index-setting.hbs index b1c3b53..c39da73 100644 --- a/app/components/form/index-setting.hbs +++ b/app/components/index-setting.hbs @@ -1,4 +1,4 @@ -
+ -