From e807ad2b2ca2f6b90b5db40aa604970f448a1020 Mon Sep 17 00:00:00 2001 From: Eugen Ciur <eugen@papermerge.com> Date: Sun, 3 Oct 2021 12:21:38 +0200 Subject: [PATCH] playing with select component --- app/components/automates/add.hbs | 9 ++++----- app/components/automates/add.js | 9 +++++++++ app/components/select/index.hbs | 5 ++++- app/components/select/index.js | 15 +++++++++++++++ 4 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 app/components/select/index.js diff --git a/app/components/automates/add.hbs b/app/components/automates/add.hbs index 939af00..c863442 100644 --- a/app/components/automates/add.hbs +++ b/app/components/automates/add.hbs @@ -37,11 +37,10 @@ </div> <div class="mb-3"> <Label @for="dst_folder" @text="Destination Folder" /> - <Select id="dst_folder" name="dst_folder"> - <option value="1">---</option> - <option value="2">My Documents</option> - <option value="3">Some Other Folder</option> - </Select> + {{this.dst_folder}} + <Select @options={{this.dst_folder_options}} + @value={{this.dst_folder}} + name="dst_folder" /> </div> <div class="mb-3"> <Button::Submit @onClick={{this.onSubmit}} /> diff --git a/app/components/automates/add.js b/app/components/automates/add.js index e7251c2..a7d385d 100644 --- a/app/components/automates/add.js +++ b/app/components/automates/add.js @@ -12,6 +12,15 @@ class AddAutomateComponent extends Component { @service store; @service router; + get dst_folder_options() { + return [ + {'key': '---', 'value': '---'}, + {'key': '1', 'value': 'My Documents'}, + {'key': '2', 'value': 'XXX Some Folder'}, + {'key': '3', 'value': 'Invoices'} + ] + } + @action onSubmit() { /* diff --git a/app/components/select/index.hbs b/app/components/select/index.hbs index 621745c..c053a41 100644 --- a/app/components/select/index.hbs +++ b/app/components/select/index.hbs @@ -1,5 +1,8 @@ <select + {{on 'change' this.onSelect}} class="form-select" ...attributes> - {{yield}} + {{#each @options as |opt|}} + <option value="{{opt.key}}">{{opt.value}}</option> + {{/each}} </select> \ No newline at end of file diff --git a/app/components/select/index.js b/app/components/select/index.js new file mode 100644 index 0000000..262ecc5 --- /dev/null +++ b/app/components/select/index.js @@ -0,0 +1,15 @@ +import Component from '@glimmer/component'; +import { action } from '@ember/object'; +import { tracked } from '@glimmer/tracking'; + +class SelectComponent extends Component { + @tracked value = null; + + @action + onSelect(event) { + console.log(`value=${event.target.value}`); + this.value = event.target.value; + } +} + +export default SelectComponent; \ No newline at end of file -- GitLab