This commit is contained in:
2020-07-13 23:01:38 +00:00
parent 5991286a70
commit 942de4f50f
3 changed files with 72 additions and 40 deletions

View File

@@ -1,44 +1,59 @@
<template> <template>
<div> <div>
<span class="v-label v-label--active theme--light">
{{ label }}
</span>
<template v-if="!readonly"> <template v-if="!readonly">
<v-text-field <v-row>
v-if="showDays" <!-- <v-col cols="12"> -->
:value="days" <v-col cols="3">
@input="handleDaysInput" <v-text-field
:readonly="readonly" v-if="showDays"
:disabled="disabled" :value="days"
:label="$ay.t('TimeSpanDays')" @input="handleDaysInput"
type="number" :readonly="readonly"
:data-cy="!!$ay.dev ? 'durationdays:' + testId : false" :disabled="disabled"
></v-text-field> :label="$ay.t('TimeSpanDays')"
<v-text-field type="number"
:value="hours" :data-cy="!!$ay.dev ? 'durationdays:' + testId : false"
@input="handleHoursInput" ></v-text-field>
:readonly="readonly" </v-col>
:disabled="disabled" <v-col cols="3">
:label="$ay.t('TimeSpanHours')" <v-text-field
type="number" :value="hours"
:data-cy="!!$ay.dev ? 'durationhours:' + testId : false" @input="handleHoursInput"
></v-text-field> :readonly="readonly"
<v-text-field :disabled="disabled"
:value="minutes" :label="$ay.t('TimeSpanHours')"
@input="handleMinutesInput" type="number"
:readonly="readonly" :data-cy="!!$ay.dev ? 'durationhours:' + testId : false"
:disabled="disabled" ></v-text-field>
:label="$ay.t('TimeSpanMinutes')" </v-col>
type="number" <v-col cols="3">
:data-cy="!!$ay.dev ? 'durationminutes:' + testId : false" <v-text-field
></v-text-field> :value="minutes"
<v-text-field @input="handleMinutesInput"
v-if="showSeconds" :readonly="readonly"
:value="seconds" :disabled="disabled"
@input="handleSecondsInput" :label="$ay.t('TimeSpanMinutes')"
:readonly="readonly" type="number"
:disabled="disabled" :data-cy="!!$ay.dev ? 'durationminutes:' + testId : false"
:label="$ay.t('TimeSpanSeconds')" ></v-text-field>
type="number" </v-col>
:data-cy="!!$ay.dev ? 'durationseconds:' + testId : false" <v-col cols="3">
></v-text-field> <v-text-field
v-if="showSeconds"
:value="seconds"
@input="handleSecondsInput"
:readonly="readonly"
:disabled="disabled"
:label="$ay.t('TimeSpanSeconds')"
type="number"
:data-cy="!!$ay.dev ? 'durationseconds:' + testId : false"
></v-text-field>
</v-col>
<!-- </v-col> -->
</v-row>
</template> </template>
<template v-else> <template v-else>
<v-text-field <v-text-field
@@ -48,6 +63,9 @@
disabled disabled
></v-text-field> ></v-text-field>
</template> </template>
<p v-show="error" class="form__error v-messages theme--light error--text">
{{ error }}
</p>
</div> </div>
</template> </template>
<script> <script>

View File

@@ -45,6 +45,7 @@ import customFieldsControl from "./components/custom-fields-control.vue";
import currencyControl from "./components/currency-control.vue"; import currencyControl from "./components/currency-control.vue";
import decimalControl from "./components/decimal-control.vue"; import decimalControl from "./components/decimal-control.vue";
import roleControl from "./components/role-control.vue"; import roleControl from "./components/role-control.vue";
import durationControl from "./components/duration-control.vue";
import errorControl from "./components/error-control.vue"; import errorControl from "./components/error-control.vue";
import extensionsControl from "./components/extensions-control.vue"; import extensionsControl from "./components/extensions-control.vue";
import reportSelectorControl from "./components/report-selector-control.vue"; import reportSelectorControl from "./components/report-selector-control.vue";
@@ -186,6 +187,7 @@ Vue.component("gz-custom-fields", customFieldsControl);
Vue.component("gz-currency", currencyControl); Vue.component("gz-currency", currencyControl);
Vue.component("gz-decimal", decimalControl); Vue.component("gz-decimal", decimalControl);
Vue.component("gz-role-picker", roleControl); Vue.component("gz-role-picker", roleControl);
Vue.component("gz-duration-picker", durationControl);
Vue.component("gz-error", errorControl); Vue.component("gz-error", errorControl);
Vue.component("gz-report-selector", reportSelectorControl); Vue.component("gz-report-selector", reportSelectorControl);
Vue.component("gz-report-viewer", reportViewerControl); Vue.component("gz-report-viewer", reportViewerControl);

View File

@@ -40,8 +40,19 @@
></v-select> ></v-select>
</v-col> </v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-duration-picker
v-model="obj.advanceNotice"
:readonly="formState.readOnly"
:disabled="formState.readOnly"
:label="$ay.t('NotifySubscriptionPendingSpan')"
:showSeconds="true"
ref="advanceNotice"
:data-cy="!!$ay.dev ? 'advanceNotice' : false"
:error-messages="form().serverErrors(this, 'advanceNotice')"
@input="fieldValueChanged('advanceNotice')"
></gz-duration-picker>
</v-col>
</v-row> </v-row>
</v-form> </v-form>
</v-col> </v-col>
@@ -556,6 +567,7 @@ async function initForm(vm) {
// //
async function fetchTranslatedText(vm) { async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([ await window.$gz.translation.cacheTranslations([
"NotifySubscriptionPendingSpan",
"NotifySubscription", "NotifySubscription",
"NotifyDeliveryMethod", "NotifyDeliveryMethod",
"NotifyEventType", "NotifyEventType",