2019-06-07 11:22:13 +02:00
|
|
|
<div class="cr-form-wrapper box">
|
2016-07-05 11:26:03 +02:00
|
|
|
{{#if errorMessage}}
|
2019-10-27 21:16:25 +01:00
|
|
|
<BsAlert type="warning">
|
2016-07-05 11:26:03 +02:00
|
|
|
{{t errorMessage}}
|
2019-10-27 21:16:25 +01:00
|
|
|
</BsAlert>
|
2016-07-05 11:26:03 +02:00
|
|
|
{{/if}}
|
|
|
|
|
2019-10-27 21:16:25 +01:00
|
|
|
<BsForm
|
|
|
|
@onSubmit={{action "submit"}}
|
|
|
|
@formLayout="horizontal"
|
|
|
|
@model={{this}}
|
|
|
|
novalidate
|
|
|
|
as |form|
|
|
|
|
>
|
2016-06-08 13:55:00 +02:00
|
|
|
<div class="days">
|
|
|
|
{{#each dates as |date index|}}
|
2016-06-08 18:42:26 +02:00
|
|
|
{{!
|
2016-08-01 21:35:06 +02:00
|
|
|
show summarized validation state for all times in a day
|
2016-06-08 18:42:26 +02:00
|
|
|
}}
|
2018-12-29 20:35:04 +01:00
|
|
|
<div
|
|
|
|
class={{if
|
|
|
|
(get daysValidationState date.day)
|
|
|
|
(concat "label-has-" (get daysValidationState date.day))
|
|
|
|
"label-has-no-validation"
|
|
|
|
}}
|
2019-01-03 00:05:21 +01:00
|
|
|
data-test-day={{date.day}}
|
2018-12-29 20:35:04 +01:00
|
|
|
>
|
2019-10-27 21:16:25 +01:00
|
|
|
<form.element
|
|
|
|
@label={{date.dayFormatted}}
|
|
|
|
{{!
|
|
|
|
show label only if it differ from label before
|
|
|
|
Nested-helpers are called first and object-at requires a positive integer
|
|
|
|
but returns undefined if an element with the passed in index does not exist.
|
|
|
|
Therefore we pass in array length if index is null. Cause index starting
|
|
|
|
by zero there can't be any element with an index === array.length.
|
|
|
|
}}
|
|
|
|
@invisibleLabel={{eq date.dayFormatted (get (object-at (if index (sub index 1) dates.length) dates) "dayFormatted")}}
|
|
|
|
@model={{date}}
|
|
|
|
@property="time"
|
|
|
|
class="option"
|
|
|
|
as |el|
|
|
|
|
>
|
2016-08-01 21:35:06 +02:00
|
|
|
<div class="input-group">
|
2019-10-27 21:16:25 +01:00
|
|
|
<el.control
|
|
|
|
@autofocus={{unless index true false}}
|
2019-11-02 16:51:47 +01:00
|
|
|
@onChange={{action this.inputChanged date}}
|
2019-10-27 21:16:25 +01:00
|
|
|
@placeholder="00:00"
|
|
|
|
@type="time"
|
|
|
|
@value={{el.value}}
|
2019-11-02 16:51:47 +01:00
|
|
|
|
|
|
|
{{on "focusout" (action this.validateInput date)}}
|
|
|
|
|
2019-10-27 21:16:25 +01:00
|
|
|
id={{el.id}}
|
|
|
|
/>
|
2019-06-07 11:22:13 +02:00
|
|
|
<div class="input-group-append">
|
2019-10-27 21:16:25 +01:00
|
|
|
<BsButton
|
|
|
|
@onClick={{action "deleteOption" date}}
|
|
|
|
@type="link"
|
2018-12-29 20:35:04 +01:00
|
|
|
class="delete"
|
2019-10-27 21:16:25 +01:00
|
|
|
{{! disable delete button if there is only one option }}
|
|
|
|
disabled={{lte dates.length 1}}
|
|
|
|
>
|
2019-06-07 11:22:13 +02:00
|
|
|
<span class="oi oi-trash" title={{t "create.options.button.delete.label"}} aria-hidden="true"></span>
|
2018-12-29 20:35:04 +01:00
|
|
|
<span class="sr-only">{{t "create.options.button.delete.label"}}</span>
|
2019-10-27 21:16:25 +01:00
|
|
|
</BsButton>
|
2016-08-01 21:35:06 +02:00
|
|
|
</div>
|
2016-06-06 00:37:26 +02:00
|
|
|
</div>
|
2019-10-27 21:16:25 +01:00
|
|
|
|
|
|
|
<BsButton
|
|
|
|
@onClick={{action "addOption" date}}
|
|
|
|
@type="link"
|
|
|
|
@size="sm"
|
|
|
|
class="add cr-option-menu__button cr-option-menu__add-button float-left"
|
|
|
|
>
|
2019-06-07 11:22:13 +02:00
|
|
|
<span class="oi oi-plus" title={{t "create.options.button.add.label"}} aria-hidden="true"></span>
|
|
|
|
<span class="sr-only">{{t "create.options.button.add.label"}}</span>
|
2019-10-27 21:16:25 +01:00
|
|
|
</BsButton>
|
|
|
|
</form.element>
|
2016-08-01 21:35:06 +02:00
|
|
|
</div>
|
2016-06-08 13:55:00 +02:00
|
|
|
{{/each}}
|
|
|
|
</div>
|
2016-05-18 22:18:36 +02:00
|
|
|
|
2016-07-28 01:22:09 +02:00
|
|
|
{{#if (gt groupedDates.length 1)}}
|
2019-10-27 21:16:25 +01:00
|
|
|
<form.element>
|
|
|
|
<BsButton
|
|
|
|
@onClick={{action "adoptTimesOfFirstDay"}}
|
|
|
|
@size="sm"
|
2018-12-29 20:35:04 +01:00
|
|
|
class="adopt-times-of-first-day"
|
2019-10-27 21:16:25 +01:00
|
|
|
>
|
2018-12-29 20:35:04 +01:00
|
|
|
{{t "create.options-datetime.copy-first-line"}}
|
2019-10-27 21:16:25 +01:00
|
|
|
</BsButton>
|
|
|
|
</form.element>
|
2016-07-28 01:22:09 +02:00
|
|
|
{{/if}}
|
2016-06-06 00:37:26 +02:00
|
|
|
|
2019-06-12 09:07:48 +02:00
|
|
|
<div class="row cr-steps-bottom-nav">
|
|
|
|
<div class="col-6 col-md-4 text-right">
|
|
|
|
<BackButton @onClick={{action "previousPage"}} />
|
|
|
|
</div>
|
|
|
|
<div class="col-6 col-md-8">
|
|
|
|
<NextButton />
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-10-27 21:16:25 +01:00
|
|
|
</BsForm>
|
2016-01-20 02:52:21 +01:00
|
|
|
</div>
|