Removed extraneous container element
This commit is contained in:
@@ -51,89 +51,6 @@ CURRENT TODOs
|
||||
|
||||
|
||||
|
||||
todo: Translate all ayatypes not translated
|
||||
"data": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "NoType"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Général"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Widget"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "Utilisateur"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "État du serveur"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "License"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "LogFile"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"name": "PickListTemplate"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "DEPRECATED_REUSELATER_8"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"name": "ServerJob"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"name": "AyaNova7Import"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"name": "TrialSeeder"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"name": "Metrics"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"name": "Traduction"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"name": "UserOptions"
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"name": "DEPRECATED_REUSELATER_15"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"name": "DEPRECATED_REUSELATER_16"
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"name": "FileAttachment"
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"name": "Affichage de la liste des données"
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"name": "FormCustom"
|
||||
}
|
||||
|
||||
todo: do I have too many containers in my UI, like some unnecessary ones in the views where the parent already has a container?
|
||||
|
||||
todo: ADDITIONAL EDIT FORM BUTTONS FUNCTIONALITY STUBBED OUT OR MADE INTO TODO'S
|
||||
|
||||
@@ -1,33 +1,32 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<!-- Prevent implicit submission of the form on enter key, this is not necessary on a form with a text area which is why I never noticed it with the other forms -->
|
||||
<button
|
||||
type="submit"
|
||||
disabled
|
||||
style="display: none"
|
||||
aria-hidden="true"
|
||||
></button>
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12">
|
||||
<v-select
|
||||
v-model="templateId"
|
||||
:items="selectLists.pickListTemplates"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('PickListTemplates')"
|
||||
@input="templateSelected"
|
||||
:data-cy="!!$ay.dev ? 'SelectTemplate' : false"
|
||||
:disabled="formState.dirty"
|
||||
>
|
||||
</v-select>
|
||||
</v-col>
|
||||
<!-- <div>WORKING ARRAY: {{ workingArray }}</div> -->
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<!-- Prevent implicit submission of the form on enter key, this is not necessary on a form with a text area which is why I never noticed it with the other forms -->
|
||||
<button
|
||||
type="submit"
|
||||
disabled
|
||||
style="display: none"
|
||||
aria-hidden="true"
|
||||
></button>
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12">
|
||||
<v-select
|
||||
v-model="templateId"
|
||||
:items="selectLists.pickListTemplates"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('PickListTemplates')"
|
||||
@input="templateSelected"
|
||||
:data-cy="!!$ay.dev ? 'SelectTemplate' : false"
|
||||
:disabled="formState.dirty"
|
||||
>
|
||||
</v-select>
|
||||
</v-col>
|
||||
<!-- <div>WORKING ARRAY: {{ workingArray }}</div> -->
|
||||
|
||||
<!-- <div>
|
||||
<!-- <div>
|
||||
TEMPLATE:
|
||||
{{ obj }}
|
||||
</div>
|
||||
@@ -36,49 +35,48 @@
|
||||
available fields:
|
||||
{{ availableFields }}
|
||||
</div> -->
|
||||
<template v-for="(item, index) in workingArray">
|
||||
<v-col :key="item.key" cols="12" sm="6" lg="4" xl="3" px-2>
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
{{ item.title }}
|
||||
</v-card-title>
|
||||
<v-card-subtitle>
|
||||
{{ item.key }}
|
||||
</v-card-subtitle>
|
||||
<v-card-text>
|
||||
<v-checkbox
|
||||
v-model="item.include"
|
||||
:readOnly="formState.readOnly"
|
||||
:label="$ay.t('Include')"
|
||||
:ref="item.key"
|
||||
:disabled="item.required"
|
||||
@change="includeChanged(item)"
|
||||
:data-cy="!!$ay.dev ? item.key + 'Include' : false"
|
||||
></v-checkbox>
|
||||
<!-- RE-ORDER CONTROL -->
|
||||
<div class="d-flex justify-space-between">
|
||||
<v-btn large icon @click="move('start', index)"
|
||||
><v-icon large>fa-step-backward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('left', index)"
|
||||
><v-icon large>fa-backward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('right', index)"
|
||||
><v-icon large>fa-forward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('end', index)"
|
||||
><v-icon large>fa-step-forward</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
<template v-for="(item, index) in workingArray">
|
||||
<v-col :key="item.key" cols="12" sm="6" lg="4" xl="3" px-2>
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
{{ item.title }}
|
||||
</v-card-title>
|
||||
<v-card-subtitle>
|
||||
{{ item.key }}
|
||||
</v-card-subtitle>
|
||||
<v-card-text>
|
||||
<v-checkbox
|
||||
v-model="item.include"
|
||||
:readOnly="formState.readOnly"
|
||||
:label="$ay.t('Include')"
|
||||
:ref="item.key"
|
||||
:disabled="item.required"
|
||||
@change="includeChanged(item)"
|
||||
:data-cy="!!$ay.dev ? item.key + 'Include' : false"
|
||||
></v-checkbox>
|
||||
<!-- RE-ORDER CONTROL -->
|
||||
<div class="d-flex justify-space-between">
|
||||
<v-btn large icon @click="move('start', index)"
|
||||
><v-icon large>fa-step-backward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('left', index)"
|
||||
><v-icon large>fa-backward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('right', index)"
|
||||
><v-icon large>fa-forward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('end', index)"
|
||||
><v-icon large>fa-step-forward</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
<script>
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -1,58 +1,56 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<template v-for="item in obj">
|
||||
<v-col :key="item.key" cols="12" sm="6" lg="4" xl="3" px-2>
|
||||
<v-card :data-cy="!!$ay.dev ? item.key : false">
|
||||
<v-card-title>
|
||||
{{ item.title }}
|
||||
</v-card-title>
|
||||
<v-card-subtitle>
|
||||
{{ item.key }}
|
||||
</v-card-subtitle>
|
||||
<v-card-text>
|
||||
<v-checkbox
|
||||
v-model="item.visible"
|
||||
:readOnly="formState.readOnly"
|
||||
:label="$ay.t('FormFieldVisible')"
|
||||
:ref="item.key"
|
||||
:disabled="item.stockRequired"
|
||||
@change="visibleChanged(item)"
|
||||
:data-cy="!!$ay.dev ? item.key + 'Visible' : false"
|
||||
></v-checkbox>
|
||||
<v-checkbox
|
||||
v-model="item.required"
|
||||
:readOnly="formState.readOnly"
|
||||
:label="$ay.t('FormFieldEntryRequired')"
|
||||
:disabled="item.stockRequired"
|
||||
@change="requiredChanged(item)"
|
||||
></v-checkbox>
|
||||
<v-select
|
||||
v-if="item.custom"
|
||||
v-model="item.type"
|
||||
:readOnly="formState.readOnly"
|
||||
:items="selectLists.uiFieldDataTypes"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('UiFieldDataType')"
|
||||
@input="dataTypeChanged(item)"
|
||||
:data-cy="!!$ay.dev ? item.key + 'SelectType' : false"
|
||||
></v-select>
|
||||
<!-- <v-divider></v-divider>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<template v-for="item in obj">
|
||||
<v-col :key="item.key" cols="12" sm="6" lg="4" xl="3" px-2>
|
||||
<v-card :data-cy="!!$ay.dev ? item.key : false">
|
||||
<v-card-title>
|
||||
{{ item.title }}
|
||||
</v-card-title>
|
||||
<v-card-subtitle>
|
||||
{{ item.key }}
|
||||
</v-card-subtitle>
|
||||
<v-card-text>
|
||||
<v-checkbox
|
||||
v-model="item.visible"
|
||||
:readOnly="formState.readOnly"
|
||||
:label="$ay.t('FormFieldVisible')"
|
||||
:ref="item.key"
|
||||
:disabled="item.stockRequired"
|
||||
@change="visibleChanged(item)"
|
||||
:data-cy="!!$ay.dev ? item.key + 'Visible' : false"
|
||||
></v-checkbox>
|
||||
<v-checkbox
|
||||
v-model="item.required"
|
||||
:readOnly="formState.readOnly"
|
||||
:label="$ay.t('FormFieldEntryRequired')"
|
||||
:disabled="item.stockRequired"
|
||||
@change="requiredChanged(item)"
|
||||
></v-checkbox>
|
||||
<v-select
|
||||
v-if="item.custom"
|
||||
v-model="item.type"
|
||||
:readOnly="formState.readOnly"
|
||||
:items="selectLists.uiFieldDataTypes"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('UiFieldDataType')"
|
||||
@input="dataTypeChanged(item)"
|
||||
:data-cy="!!$ay.dev ? item.key + 'SelectType' : false"
|
||||
></v-select>
|
||||
<!-- <v-divider></v-divider>
|
||||
<div>{{ item }}</div> -->
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
<script>
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -1,421 +1,403 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<!-- <div>
|
||||
READY: {{ formState.ready }}
|
||||
<br />
|
||||
LOADING: {{ formState.loading }}
|
||||
<br />
|
||||
DIRTY: {{ formState.dirty }}
|
||||
<br />
|
||||
VALID: {{ formState.valid }}
|
||||
<br />
|
||||
READONLY: {{ formState.readOnly }}
|
||||
<br />
|
||||
</div>
|
||||
-->
|
||||
<v-row v-if="this.formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12">
|
||||
<v-row>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.name"
|
||||
:readonly="this.formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('name')"
|
||||
:counter="255"
|
||||
:label="$ay.t('Name')"
|
||||
:rules="[
|
||||
form().max255(this, 'name'),
|
||||
form().required(this, 'name')
|
||||
]"
|
||||
:error-messages="form().serverErrors(this, 'name')"
|
||||
ref="name"
|
||||
@input="fieldValueChanged('name')"
|
||||
:data-cy="!!$ay.dev ? 'name' : false"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-checkbox
|
||||
v-model="obj.public"
|
||||
:readonly="this.formState.readOnly"
|
||||
:label="$ay.t('AnyUser')"
|
||||
ref="public"
|
||||
@change="fieldValueChanged('public')"
|
||||
></v-checkbox>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-col>
|
||||
<template v-for="(item, index) in obj.editView">
|
||||
<v-col :key="item.key" cols="12" sm="6" lg="4" xl="3" px-2>
|
||||
<v-card :data-cy="!!$ay.dev ? 'columncard:' + item.key : false">
|
||||
<v-card-title>
|
||||
{{ item.title }}
|
||||
</v-card-title>
|
||||
|
||||
<v-row v-if="this.formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12">
|
||||
<v-row>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.name"
|
||||
:readonly="this.formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('name')"
|
||||
:counter="255"
|
||||
:label="$ay.t('Name')"
|
||||
:rules="[
|
||||
form().max255(this, 'name'),
|
||||
form().required(this, 'name')
|
||||
]"
|
||||
:error-messages="form().serverErrors(this, 'name')"
|
||||
ref="name"
|
||||
@input="fieldValueChanged('name')"
|
||||
:data-cy="!!$ay.dev ? 'name' : false"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-checkbox
|
||||
v-model="obj.public"
|
||||
:readonly="this.formState.readOnly"
|
||||
:label="$ay.t('AnyUser')"
|
||||
ref="public"
|
||||
@change="fieldValueChanged('public')"
|
||||
></v-checkbox>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-col>
|
||||
<template v-for="(item, index) in obj.editView">
|
||||
<v-col :key="item.key" cols="12" sm="6" lg="4" xl="3" px-2>
|
||||
<v-card :data-cy="!!$ay.dev ? 'columncard:' + item.key : false">
|
||||
<v-card-title>
|
||||
{{ item.title }}
|
||||
</v-card-title>
|
||||
|
||||
<v-card-text>
|
||||
<!-- INCLUDE CONTROL -->
|
||||
<v-switch
|
||||
v-if="!item.rid"
|
||||
v-model="item.include"
|
||||
:label="$ay.t('Include')"
|
||||
:ref="item.key"
|
||||
:disabled="
|
||||
item.sort != null || item.filter.items.length > 0
|
||||
"
|
||||
@change="includeChanged(item)"
|
||||
></v-switch>
|
||||
<div v-if="item.rid" class="v-label mb-8 mt-6">
|
||||
{{ $ay.t("Include") }}
|
||||
</div>
|
||||
<!-- RE-ORDER CONTROL -->
|
||||
<div class="d-flex justify-space-between">
|
||||
<v-btn large icon @click="move('start', index)"
|
||||
><v-icon
|
||||
large
|
||||
:data-cy="!!$ay.dev ? 'movestart' : false"
|
||||
>fa-step-backward</v-icon
|
||||
<v-card-text>
|
||||
<!-- INCLUDE CONTROL -->
|
||||
<v-switch
|
||||
v-if="!item.rid"
|
||||
v-model="item.include"
|
||||
:label="$ay.t('Include')"
|
||||
:ref="item.key"
|
||||
:disabled="
|
||||
item.sort != null || item.filter.items.length > 0
|
||||
"
|
||||
@change="includeChanged(item)"
|
||||
></v-switch>
|
||||
<div v-if="item.rid" class="v-label mb-8 mt-6">
|
||||
{{ $ay.t("Include") }}
|
||||
</div>
|
||||
<!-- RE-ORDER CONTROL -->
|
||||
<div class="d-flex justify-space-between">
|
||||
<v-btn large icon @click="move('start', index)"
|
||||
><v-icon large :data-cy="!!$ay.dev ? 'movestart' : false"
|
||||
>fa-step-backward</v-icon
|
||||
></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('left', index)"
|
||||
><v-icon large>fa-backward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('right', index)"
|
||||
><v-icon large>fa-forward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('end', index)"
|
||||
><v-icon large>fa-step-forward</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- SORT CONTROL -->
|
||||
<template v-if="item.isSortable">
|
||||
<div @click="toggleSort(item)" class="pt-6">
|
||||
<v-btn x-large v-if="item.sort == null" icon>
|
||||
<v-icon x-large>fa-sort</v-icon></v-btn
|
||||
>
|
||||
<v-btn
|
||||
v-if="item.sort != null && item.sort == '-'"
|
||||
icon
|
||||
x-large
|
||||
><v-icon color="primary" x-large
|
||||
>fa-sort-amount-down</v-icon
|
||||
></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('left', index)"
|
||||
><v-icon large>fa-backward</v-icon></v-btn
|
||||
<v-btn
|
||||
v-if="item.sort != null && item.sort == '+'"
|
||||
icon
|
||||
x-large
|
||||
><v-icon color="primary" x-large
|
||||
>fa-sort-amount-up</v-icon
|
||||
></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('right', index)"
|
||||
><v-icon large>fa-forward</v-icon></v-btn
|
||||
>
|
||||
<v-btn large icon @click="move('end', index)"
|
||||
><v-icon large>fa-step-forward</v-icon></v-btn
|
||||
<label class="v-label theme--light"
|
||||
> {{ $ay.t("Sort") }}</label
|
||||
>
|
||||
</div>
|
||||
<!-- SORT CONTROL -->
|
||||
<template v-if="item.isSortable">
|
||||
<div @click="toggleSort(item)" class="pt-6">
|
||||
<v-btn x-large v-if="item.sort == null" icon>
|
||||
<v-icon x-large>fa-sort</v-icon></v-btn
|
||||
>
|
||||
<v-btn
|
||||
v-if="item.sort != null && item.sort == '-'"
|
||||
icon
|
||||
x-large
|
||||
><v-icon color="primary" x-large
|
||||
>fa-sort-amount-down</v-icon
|
||||
></v-btn
|
||||
>
|
||||
<v-btn
|
||||
v-if="item.sort != null && item.sort == '+'"
|
||||
icon
|
||||
x-large
|
||||
><v-icon color="primary" x-large
|
||||
>fa-sort-amount-up</v-icon
|
||||
></v-btn
|
||||
>
|
||||
<label class="v-label theme--light"
|
||||
> {{ $ay.t("Sort") }}</label
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<!-- FILTER CONTROL -->
|
||||
<template v-if="item.isFilterable">
|
||||
<div class="pt-6">
|
||||
<!-- ******** BUILDER FOR EACH TYPE Tag, decimal,currency, bool, integer, string, datetime ******** -->
|
||||
<!-- DATETIME BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 1">
|
||||
<!-- FILTER CONTROL -->
|
||||
<template v-if="item.isFilterable">
|
||||
<div class="pt-6">
|
||||
<!-- ******** BUILDER FOR EACH TYPE Tag, decimal,currency, bool, integer, string, datetime ******** -->
|
||||
<!-- DATETIME BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 1">
|
||||
<v-select
|
||||
v-model="item.tempFilterToken"
|
||||
:items="selectLists.dateFilterTokens"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<div v-if="item.tempFilterToken == '*select*'">
|
||||
<v-select
|
||||
v-model="item.tempFilterToken"
|
||||
:items="selectLists.dateFilterTokens"
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.dateFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<div v-if="item.tempFilterToken == '*select*'">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.dateFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
></v-select>
|
||||
<gz-date-time-picker
|
||||
v-if="
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
></gz-date-time-picker>
|
||||
</div>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterToken != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
<gz-date-time-picker
|
||||
v-if="
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
></gz-date-time-picker>
|
||||
</div>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterToken != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- STRING(text-4, emailaddress-11, http-12) BUILDER -->
|
||||
<div
|
||||
<!-- STRING(text-4, emailaddress-11, http-12) BUILDER -->
|
||||
<div
|
||||
v-if="
|
||||
item.uiFieldDataType === 4 ||
|
||||
item.uiFieldDataType === 11 ||
|
||||
item.uiFieldDataType === 12
|
||||
"
|
||||
>
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.stringFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<v-text-field
|
||||
v-if="
|
||||
item.uiFieldDataType === 4 ||
|
||||
item.uiFieldDataType === 11 ||
|
||||
item.uiFieldDataType === 12
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
></v-text-field>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.stringFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<v-text-field
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
></v-text-field>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- INTEGER BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 5">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.integerFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<v-text-field
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
type="number"
|
||||
></v-text-field>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- BOOL BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 6">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.boolFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<v-radio-group
|
||||
v-model="item.tempFilterValue"
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
row
|
||||
>
|
||||
<v-radio
|
||||
:label="$ay.t('False')"
|
||||
:value="false"
|
||||
></v-radio>
|
||||
<v-radio
|
||||
:label="$ay.t('True')"
|
||||
:value="true"
|
||||
></v-radio>
|
||||
</v-radio-group>
|
||||
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- DECIMAL BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 7">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.decimalFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<gz-decimal
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
></gz-decimal>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- CURRENCY BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 8">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.decimalFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<gz-currency
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
></gz-currency>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- TAG BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 9">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.tagFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
|
||||
<gz-tag-picker
|
||||
v-if="item.tempFilterOperator != null"
|
||||
v-model="item.tempFilterValue"
|
||||
></gz-tag-picker>
|
||||
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- ENUM BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 10">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.enumFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
|
||||
<v-select
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
:items="enumSelectionList(item.enumType)"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
></v-select>
|
||||
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pt-6">
|
||||
<!-- FILTER LIST -->
|
||||
<template v-if="item.filter.items.length > 0">
|
||||
<v-list elevation="2">
|
||||
<v-subheader v-if="item.filter.items.length > 1">
|
||||
<!-- AND / OR FILTER CONDITIONS -->
|
||||
<v-radio-group v-model="item.filter.any" row>
|
||||
<v-radio
|
||||
:label="$ay.t('GridFilterDialogAndRadioText')"
|
||||
:value="false"
|
||||
></v-radio>
|
||||
<v-radio
|
||||
:label="$ay.t('GridFilterDialogOrRadioText')"
|
||||
:value="true"
|
||||
></v-radio> </v-radio-group
|
||||
></v-subheader>
|
||||
<v-list-item
|
||||
v-for="(filterItem, index) in item.filter.items"
|
||||
:key="index"
|
||||
>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title v-text="filterItem.display">
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn
|
||||
icon
|
||||
@click="removeFilterCondition(item, index)"
|
||||
>
|
||||
<v-icon>fa-trash-alt</v-icon>
|
||||
</v-btn>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</template>
|
||||
<!-- <v-divider></v-divider>
|
||||
<!-- INTEGER BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 5">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.integerFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<v-text-field
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
type="number"
|
||||
></v-text-field>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- BOOL BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 6">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.boolFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<v-radio-group
|
||||
v-model="item.tempFilterValue"
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
row
|
||||
>
|
||||
<v-radio
|
||||
:label="$ay.t('False')"
|
||||
:value="false"
|
||||
></v-radio>
|
||||
<v-radio
|
||||
:label="$ay.t('True')"
|
||||
:value="true"
|
||||
></v-radio>
|
||||
</v-radio-group>
|
||||
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- DECIMAL BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 7">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.decimalFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<gz-decimal
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
></gz-decimal>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- CURRENCY BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 8">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.decimalFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
<gz-currency
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
clearable
|
||||
></gz-currency>
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- TAG BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 9">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.tagFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
|
||||
<gz-tag-picker
|
||||
v-if="item.tempFilterOperator != null"
|
||||
v-model="item.tempFilterValue"
|
||||
></gz-tag-picker>
|
||||
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
<!-- ENUM BUILDER -->
|
||||
<div v-if="item.uiFieldDataType === 10">
|
||||
<v-select
|
||||
v-model="item.tempFilterOperator"
|
||||
:items="selectLists.enumFilterOperators"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Filter')"
|
||||
prepend-icon="fa-filter"
|
||||
></v-select>
|
||||
|
||||
<v-select
|
||||
v-if="
|
||||
item.tempFilterOperator != null &&
|
||||
item.tempFilterOperator != '*NOVALUE*' &&
|
||||
item.tempFilterOperator != '*HASVALUE*'
|
||||
"
|
||||
v-model="item.tempFilterValue"
|
||||
:items="enumSelectionList(item.enumType)"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
></v-select>
|
||||
|
||||
<v-btn
|
||||
large
|
||||
block
|
||||
v-if="item.tempFilterOperator != null"
|
||||
@click="addFilterCondition(item)"
|
||||
><v-icon large>fa-plus</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pt-6">
|
||||
<!-- FILTER LIST -->
|
||||
<template v-if="item.filter.items.length > 0">
|
||||
<v-list elevation="2">
|
||||
<v-subheader v-if="item.filter.items.length > 1">
|
||||
<!-- AND / OR FILTER CONDITIONS -->
|
||||
<v-radio-group v-model="item.filter.any" row>
|
||||
<v-radio
|
||||
:label="$ay.t('GridFilterDialogAndRadioText')"
|
||||
:value="false"
|
||||
></v-radio>
|
||||
<v-radio
|
||||
:label="$ay.t('GridFilterDialogOrRadioText')"
|
||||
:value="true"
|
||||
></v-radio> </v-radio-group
|
||||
></v-subheader>
|
||||
<v-list-item
|
||||
v-for="(filterItem, index) in item.filter.items"
|
||||
:key="index"
|
||||
>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title v-text="filterItem.display">
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn
|
||||
icon
|
||||
@click="removeFilterCondition(item, index)"
|
||||
>
|
||||
<v-icon>fa-trash-alt</v-icon>
|
||||
</v-btn>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</template>
|
||||
<!-- <v-divider></v-divider>
|
||||
{{ item }} -->
|
||||
</div>
|
||||
</template>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
</div>
|
||||
</template>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
<script>
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -1,87 +1,85 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
name="username"
|
||||
id="username"
|
||||
v-model="obj.loginName"
|
||||
:readonly="formState.readOnly"
|
||||
prepend-icon="fa-user"
|
||||
autocomplete="off"
|
||||
autocorrect="off"
|
||||
autocapitalize="off"
|
||||
spellcheck="false"
|
||||
v-focus
|
||||
:label="$ay.t('UserLogin')"
|
||||
:rules="[form().required(this, 'loginName')]"
|
||||
:error-messages="form().serverErrors(this, 'loginName')"
|
||||
ref="loginName"
|
||||
@input="fieldValueChanged('loginName')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
name="username"
|
||||
id="username"
|
||||
v-model="obj.loginName"
|
||||
:readonly="formState.readOnly"
|
||||
prepend-icon="fa-user"
|
||||
autocomplete="off"
|
||||
autocorrect="off"
|
||||
autocapitalize="off"
|
||||
spellcheck="false"
|
||||
v-focus
|
||||
:label="$ay.t('UserLogin')"
|
||||
:rules="[form().required(this, 'loginName')]"
|
||||
:error-messages="form().serverErrors(this, 'loginName')"
|
||||
ref="loginName"
|
||||
@input="fieldValueChanged('loginName')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
name="password"
|
||||
id="password"
|
||||
v-model="obj.oldPassword"
|
||||
:readonly="formState.readOnly"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
:label="$ay.t('OldPassword')"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:rules="[form().required(this, 'oldPassword')]"
|
||||
:error-messages="form().serverErrors(this, 'oldPassword')"
|
||||
ref="oldPassword"
|
||||
@input="fieldValueChanged('oldPassword')"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
name="password"
|
||||
id="password"
|
||||
v-model="obj.oldPassword"
|
||||
:readonly="formState.readOnly"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
:label="$ay.t('OldPassword')"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:rules="[form().required(this, 'oldPassword')]"
|
||||
:error-messages="form().serverErrors(this, 'oldPassword')"
|
||||
ref="oldPassword"
|
||||
@input="fieldValueChanged('oldPassword')"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
v-model="obj.newPassword"
|
||||
:readonly="formState.readOnly"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
:label="$ay.t('NewPassword')"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:rules="[form().required(this, 'newPassword')]"
|
||||
:error-messages="form().serverErrors(this, 'newPassword')"
|
||||
ref="newPassword"
|
||||
@input="fieldValueChanged('newPassword')"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
v-model="obj.newPassword"
|
||||
:readonly="formState.readOnly"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
:label="$ay.t('NewPassword')"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:rules="[form().required(this, 'newPassword')]"
|
||||
:error-messages="form().serverErrors(this, 'newPassword')"
|
||||
ref="newPassword"
|
||||
@input="fieldValueChanged('newPassword')"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
v-model="obj.confirmPassword"
|
||||
:readonly="formState.readOnly"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
:label="$ay.t('ConfirmPassword')"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:rules="[
|
||||
form().required(this, 'confirmPassword'),
|
||||
form().confirmMatch(this, 'newPassword', 'confirmPassword')
|
||||
]"
|
||||
:error-messages="form().serverErrors(this, 'confirmPassword')"
|
||||
ref="confirmPassword"
|
||||
@input="fieldValueChanged('confirmPassword')"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
v-model="obj.confirmPassword"
|
||||
:readonly="formState.readOnly"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
:label="$ay.t('ConfirmPassword')"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:rules="[
|
||||
form().required(this, 'confirmPassword'),
|
||||
form().confirmMatch(this, 'newPassword', 'confirmPassword')
|
||||
]"
|
||||
:error-messages="form().serverErrors(this, 'confirmPassword')"
|
||||
ref="confirmPassword"
|
||||
@input="fieldValueChanged('confirmPassword')"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,95 +1,85 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row justify="start">
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12" sm="4" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="searchPhrase"
|
||||
clearable
|
||||
:label="$ay.t('Search')"
|
||||
ref="searchPhrase"
|
||||
@change="getDataFromApi()"
|
||||
hint="text, *xt, te*"
|
||||
:data-cy="!!$ay.dev ? 'phrase' : false"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="4" lg="4" xl="3">
|
||||
<v-select
|
||||
v-model="searchObjectType"
|
||||
:items="selectLists.objectTypes"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Object')"
|
||||
></v-select>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="4" lg="4" xl="3">
|
||||
<v-btn
|
||||
color="primary"
|
||||
v-on:click="getDataFromApi()"
|
||||
value="SEARCH"
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row justify="start">
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12" sm="4" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="searchPhrase"
|
||||
clearable
|
||||
:label="$ay.t('Search')"
|
||||
ref="searchPhrase"
|
||||
@change="getDataFromApi()"
|
||||
hint="text, *xt, te*"
|
||||
:data-cy="!!$ay.dev ? 'phrase' : false"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="4" lg="4" xl="3">
|
||||
<v-select
|
||||
v-model="searchObjectType"
|
||||
:items="selectLists.objectTypes"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:label="$ay.t('Object')"
|
||||
></v-select>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="4" lg="4" xl="3">
|
||||
<v-btn color="primary" v-on:click="getDataFromApi()" value="SEARCH">
|
||||
<v-icon :data-cy="!!$ay.dev ? 'btnsearch' : false"
|
||||
>fa-search</v-icon
|
||||
>
|
||||
<v-icon :data-cy="!!$ay.dev ? 'btnsearch' : false"
|
||||
>fa-search</v-icon
|
||||
>
|
||||
</v-btn>
|
||||
</v-col>
|
||||
</v-btn>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12">
|
||||
<p v-if="!items.length">{{ $ay.t("NoResults") }}</p>
|
||||
<v-card v-if="items.length" max-width="900">
|
||||
<v-list>
|
||||
<v-subheader v-if="maxResultsReturned">
|
||||
<span>({{ $ay.t("TooManyResults") }})</span>
|
||||
</v-subheader>
|
||||
<v-col cols="12">
|
||||
<p v-if="!items.length">{{ $ay.t("NoResults") }}</p>
|
||||
<v-card v-if="items.length" max-width="900">
|
||||
<v-list>
|
||||
<v-subheader v-if="maxResultsReturned">
|
||||
<span>({{ $ay.t("TooManyResults") }})</span>
|
||||
</v-subheader>
|
||||
|
||||
<template v-for="item in items">
|
||||
<!-- KEY MUST BE UNIQUE INSIDE v-for OR LIST ITEM GOES SNAKEY -->
|
||||
<v-subheader :key="'s' + item.index" v-if="item.subheader"
|
||||
><v-icon large class="mr-2">{{ item.icon }}</v-icon
|
||||
><span class="title">{{
|
||||
item.subheader
|
||||
}}</span></v-subheader
|
||||
<template v-for="item in items">
|
||||
<!-- KEY MUST BE UNIQUE INSIDE v-for OR LIST ITEM GOES SNAKEY -->
|
||||
<v-subheader :key="'s' + item.index" v-if="item.subheader"
|
||||
><v-icon large class="mr-2">{{ item.icon }}</v-icon
|
||||
><span class="title">{{
|
||||
item.subheader
|
||||
}}</span></v-subheader
|
||||
>
|
||||
|
||||
<v-list-item link :key="item.index">
|
||||
<v-list-item-content
|
||||
@click="openItem(item)"
|
||||
:data-cy="!!$ay.dev ? 'btnopenitem' + item.index : false"
|
||||
>
|
||||
|
||||
<v-list-item link :key="item.index">
|
||||
<v-list-item-content
|
||||
@click="openItem(item)"
|
||||
:data-cy="
|
||||
!!$ay.dev ? 'btnopenitem' + item.index : false
|
||||
"
|
||||
>
|
||||
<v-list-item-title
|
||||
v-text="item.name"
|
||||
></v-list-item-title>
|
||||
<v-list-item-subtitle
|
||||
v-html="item.info"
|
||||
></v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn icon @click="getExcerpt(item)">
|
||||
<v-icon
|
||||
color="grey lighten-1"
|
||||
large
|
||||
:data-cy="
|
||||
!!$ay.dev ? 'btnexcerpt' + item.index : false
|
||||
"
|
||||
>fa-info-circle</v-icon
|
||||
>
|
||||
</v-btn>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-list>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
<v-list-item-title v-text="item.name"></v-list-item-title>
|
||||
<v-list-item-subtitle
|
||||
v-html="item.info"
|
||||
></v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<v-btn icon @click="getExcerpt(item)">
|
||||
<v-icon
|
||||
color="grey lighten-1"
|
||||
large
|
||||
:data-cy="
|
||||
!!$ay.dev ? 'btnexcerpt' + item.index : false
|
||||
"
|
||||
>fa-info-circle</v-icon
|
||||
>
|
||||
</v-btn>
|
||||
</v-list-item-action>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-list>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,109 +1,107 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-select
|
||||
v-model="obj.translationId"
|
||||
:items="selectLists.translations"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:readonly="formState.readOnly"
|
||||
:label="$ay.t('Translation')"
|
||||
ref="translationId"
|
||||
:error-messages="form().serverErrors(this, 'translationId')"
|
||||
@input="fieldValueChanged('translationId')"
|
||||
></v-select>
|
||||
</v-col>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-select
|
||||
v-model="obj.translationId"
|
||||
:items="selectLists.translations"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:readonly="formState.readOnly"
|
||||
:label="$ay.t('Translation')"
|
||||
ref="translationId"
|
||||
:error-messages="form().serverErrors(this, 'translationId')"
|
||||
@input="fieldValueChanged('translationId')"
|
||||
></v-select>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.emailAddress"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('emailAddress')"
|
||||
:label="$ay.t('UserEmailAddress')"
|
||||
:error-messages="form().serverErrors(this, 'emailAddress')"
|
||||
ref="emailAddress"
|
||||
@input="fieldValueChanged('emailAddress')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.emailAddress"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('emailAddress')"
|
||||
:label="$ay.t('UserEmailAddress')"
|
||||
:error-messages="form().serverErrors(this, 'emailAddress')"
|
||||
ref="emailAddress"
|
||||
@input="fieldValueChanged('emailAddress')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.currencyName"
|
||||
hint="e.g. USD, EUR, GBP, AUD, CAD etc"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('currencyName')"
|
||||
:label="$ay.t('CurrencyCode')"
|
||||
:rules="[form().required(this, 'currencyName')]"
|
||||
:error-messages="form().serverErrors(this, 'currencyName')"
|
||||
ref="currencyName"
|
||||
@input="fieldValueChanged('currencyName')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-checkbox
|
||||
v-model="obj.hour12"
|
||||
:readonly="formState.readOnly"
|
||||
:label="$ay.t('Hour12')"
|
||||
ref="hour12"
|
||||
:error-messages="form().serverErrors(this, 'hour12')"
|
||||
@change="fieldValueChanged('hour12')"
|
||||
></v-checkbox>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<!-- https://vuetifyjs.com/en/components/color-pickers -->
|
||||
<span class="v-label v-label--active theme--light">
|
||||
{{ $ay.t("UserColor") }}
|
||||
</span>
|
||||
<v-color-picker
|
||||
v-model="obj.uiColor"
|
||||
:readonly="formState.readOnly"
|
||||
hide-mode-switch
|
||||
mode="hexa"
|
||||
:error-messages="form().serverErrors(this, 'uiColor')"
|
||||
ref="uiColor"
|
||||
@input="fieldValueChanged('uiColor')"
|
||||
></v-color-picker>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.currencyName"
|
||||
hint="e.g. USD, EUR, GBP, AUD, CAD etc"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('currencyName')"
|
||||
:label="$ay.t('CurrencyCode')"
|
||||
:rules="[form().required(this, 'currencyName')]"
|
||||
:error-messages="form().serverErrors(this, 'currencyName')"
|
||||
ref="currencyName"
|
||||
@input="fieldValueChanged('currencyName')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-checkbox
|
||||
v-model="obj.hour12"
|
||||
:readonly="formState.readOnly"
|
||||
:label="$ay.t('Hour12')"
|
||||
ref="hour12"
|
||||
:error-messages="form().serverErrors(this, 'hour12')"
|
||||
@change="fieldValueChanged('hour12')"
|
||||
></v-checkbox>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<!-- https://vuetifyjs.com/en/components/color-pickers -->
|
||||
<span class="v-label v-label--active theme--light">
|
||||
{{ $ay.t("UserColor") }}
|
||||
</span>
|
||||
<v-color-picker
|
||||
v-model="obj.uiColor"
|
||||
:readonly="formState.readOnly"
|
||||
hide-mode-switch
|
||||
mode="hexa"
|
||||
:error-messages="form().serverErrors(this, 'uiColor')"
|
||||
ref="uiColor"
|
||||
@input="fieldValueChanged('uiColor')"
|
||||
></v-color-picker>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.languageOverride"
|
||||
:placeholder="locale().getBrowserFirstLanguage()"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('languageOverride')"
|
||||
:label="$ay.t('LanguageCode')"
|
||||
:error-messages="form().serverErrors(this, 'languageOverride')"
|
||||
ref="languageOverride"
|
||||
@input="fieldValueChanged('languageOverride')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.languageOverride"
|
||||
:placeholder="locale().getBrowserFirstLanguage()"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('languageOverride')"
|
||||
:label="$ay.t('LanguageCode')"
|
||||
:error-messages="form().serverErrors(this, 'languageOverride')"
|
||||
ref="languageOverride"
|
||||
@input="fieldValueChanged('languageOverride')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.timeZoneOverride"
|
||||
:placeholder="locale().getBrowserTimeZoneName()"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('timeZoneOverride')"
|
||||
:label="$ay.t('TimeZone')"
|
||||
:error-messages="form().serverErrors(this, 'timeZoneOverride')"
|
||||
ref="timeZoneOverride"
|
||||
@input="fieldValueChanged('timeZoneOverride')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.timeZoneOverride"
|
||||
:placeholder="locale().getBrowserTimeZoneName()"
|
||||
:readonly="formState.readOnly"
|
||||
clearable
|
||||
@click:clear="fieldValueChanged('timeZoneOverride')"
|
||||
:label="$ay.t('TimeZone')"
|
||||
:error-messages="form().serverErrors(this, 'timeZoneOverride')"
|
||||
ref="timeZoneOverride"
|
||||
@input="fieldValueChanged('timeZoneOverride')"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,88 +1,86 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row align="center" justify="center" class="mx-auto mt-sm-12 mb-8">
|
||||
<v-col cols="12" offset-md="4">
|
||||
<form>
|
||||
<v-row>
|
||||
<v-col cols="12" class="hidden-md-and-up">
|
||||
<v-img
|
||||
:src="require('../assets/logo.svg')"
|
||||
contain
|
||||
height="64"
|
||||
></v-img>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" class="hidden-sm-and-down">
|
||||
<v-img
|
||||
:src="require('../assets/logo.svg')"
|
||||
contain
|
||||
height="128"
|
||||
></v-img>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" v-if="formState.errorBoxMessage">
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" v-if="trialMode">
|
||||
<v-select
|
||||
v-model="selectedTrialUserId"
|
||||
:items="selectLists.trialUsers"
|
||||
item-text="name"
|
||||
item-value="l"
|
||||
label="Trial mode example users"
|
||||
prepend-icon="fa-question-circle"
|
||||
@click:prepend="trialHelpClick"
|
||||
@input="trialUserSelected"
|
||||
return-object
|
||||
:data-cy="!!$ay.dev ? 'selecttrialuser' : false"
|
||||
>
|
||||
</v-select>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7">
|
||||
<v-text-field
|
||||
name="username"
|
||||
id="username"
|
||||
v-model="input.username"
|
||||
prepend-icon="fa-user"
|
||||
label="User"
|
||||
autofocus
|
||||
autocomplete="off"
|
||||
autocorrect="off"
|
||||
autocapitalize="off"
|
||||
spellcheck="false"
|
||||
:error="errorBadCreds"
|
||||
v-focus
|
||||
v-on:keyup.enter="onEnterUserName"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7">
|
||||
<v-text-field
|
||||
name="password"
|
||||
id="password"
|
||||
v-model="input.password"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
label="Password"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:error="errorBadCreds"
|
||||
v-on:keyup.enter="login"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" mt-1>
|
||||
<v-btn color="primary" v-on:click="login()" value="LOGIN">
|
||||
<v-icon>fa-sign-in-alt</v-icon>
|
||||
</v-btn>
|
||||
</v-col>
|
||||
<v-row align="center" justify="center" class="mx-auto mt-sm-12 mb-8">
|
||||
<v-col cols="12" offset-md="4">
|
||||
<form>
|
||||
<v-row>
|
||||
<v-col cols="12" class="hidden-md-and-up">
|
||||
<v-img
|
||||
:src="require('../assets/logo.svg')"
|
||||
contain
|
||||
height="64"
|
||||
></v-img>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" class="hidden-sm-and-down">
|
||||
<v-img
|
||||
:src="require('../assets/logo.svg')"
|
||||
contain
|
||||
height="128"
|
||||
></v-img>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" v-if="formState.errorBoxMessage">
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" v-if="trialMode">
|
||||
<v-select
|
||||
v-model="selectedTrialUserId"
|
||||
:items="selectLists.trialUsers"
|
||||
item-text="name"
|
||||
item-value="l"
|
||||
label="Trial mode example users"
|
||||
prepend-icon="fa-question-circle"
|
||||
@click:prepend="trialHelpClick"
|
||||
@input="trialUserSelected"
|
||||
return-object
|
||||
:data-cy="!!$ay.dev ? 'selecttrialuser' : false"
|
||||
>
|
||||
</v-select>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7">
|
||||
<v-text-field
|
||||
name="username"
|
||||
id="username"
|
||||
v-model="input.username"
|
||||
prepend-icon="fa-user"
|
||||
label="User"
|
||||
autofocus
|
||||
autocomplete="off"
|
||||
autocorrect="off"
|
||||
autocapitalize="off"
|
||||
spellcheck="false"
|
||||
:error="errorBadCreds"
|
||||
v-focus
|
||||
v-on:keyup.enter="onEnterUserName"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7">
|
||||
<v-text-field
|
||||
name="password"
|
||||
id="password"
|
||||
v-model="input.password"
|
||||
:append-outer-icon="reveal ? 'fa-eye' : 'fa-eye-slash'"
|
||||
prepend-icon="fa-key"
|
||||
label="Password"
|
||||
:type="reveal ? 'text' : 'password'"
|
||||
:error="errorBadCreds"
|
||||
v-on:keyup.enter="login"
|
||||
@click:append-outer="reveal = !reveal"
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" md="7" mt-1>
|
||||
<v-btn color="primary" v-on:click="login()" value="LOGIN">
|
||||
<v-icon>fa-sign-in-alt</v-icon>
|
||||
</v-btn>
|
||||
</v-col>
|
||||
|
||||
<template v-if="$ay.dev">
|
||||
<v-col cols="12">
|
||||
<span class="subtitle-2 secondary--text">DEVELOPMENT MODE</span>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
<template v-if="$ay.dev">
|
||||
<v-col cols="12">
|
||||
<span class="subtitle-2 secondary--text">DEVELOPMENT MODE</span>
|
||||
</v-col>
|
||||
</template>
|
||||
</v-row>
|
||||
</form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row justify-center>
|
||||
<v-col cols="12">
|
||||
<div class="text-center">
|
||||
<v-icon color="red" size="100">fa-dragon</v-icon>
|
||||
<div class="headline mt-8">
|
||||
{{ msg }}
|
||||
</div>
|
||||
<v-row justify-center>
|
||||
<v-col cols="12">
|
||||
<div class="text-center">
|
||||
<v-icon color="red" size="100">fa-dragon</v-icon>
|
||||
<div class="headline mt-8">
|
||||
{{ msg }}
|
||||
</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,44 +1,39 @@
|
||||
<template>
|
||||
<v-container fluid>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-radio-group
|
||||
v-model="obj.serverState"
|
||||
:mandatory="true"
|
||||
:readonly="formState.readOnly"
|
||||
>
|
||||
<v-radio
|
||||
:label="$ay.t('ServerStateOpen')"
|
||||
value="Open"
|
||||
></v-radio>
|
||||
<v-radio
|
||||
:label="$ay.t('ServerStateOps')"
|
||||
value="OpsOnly"
|
||||
></v-radio>
|
||||
</v-radio-group>
|
||||
</v-col>
|
||||
<v-col cols="12">
|
||||
<v-textarea
|
||||
v-model="obj.reason"
|
||||
:readonly="formState.readOnly"
|
||||
:label="$ay.t('ServerStateReason')"
|
||||
:error-messages="form().serverErrors(this, 'reason')"
|
||||
ref="reason"
|
||||
:data-cy="!!$ay.dev ? 'reason' : false"
|
||||
@input="fieldValueChanged('reason')"
|
||||
auto-grow
|
||||
clearable
|
||||
></v-textarea>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
<v-row v-if="formState.ready">
|
||||
<v-col>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-radio-group
|
||||
v-model="obj.serverState"
|
||||
:mandatory="true"
|
||||
:readonly="formState.readOnly"
|
||||
>
|
||||
<v-radio :label="$ay.t('ServerStateOpen')" value="Open"></v-radio>
|
||||
<v-radio
|
||||
:label="$ay.t('ServerStateOps')"
|
||||
value="OpsOnly"
|
||||
></v-radio>
|
||||
</v-radio-group>
|
||||
</v-col>
|
||||
<v-col cols="12">
|
||||
<v-textarea
|
||||
v-model="obj.reason"
|
||||
:readonly="formState.readOnly"
|
||||
:label="$ay.t('ServerStateReason')"
|
||||
:error-messages="form().serverErrors(this, 'reason')"
|
||||
ref="reason"
|
||||
:data-cy="!!$ay.dev ? 'reason' : false"
|
||||
@input="fieldValueChanged('reason')"
|
||||
auto-grow
|
||||
clearable
|
||||
></v-textarea>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,118 +1,11 @@
|
||||
<template>
|
||||
<UnderConstruction />
|
||||
<!-- <v-container fluid> -->
|
||||
<!-- <v-data-table
|
||||
:headers="headers"
|
||||
:items="desserts"
|
||||
:items-per-page="5"
|
||||
class="elevation-1"
|
||||
></v-data-table> -->
|
||||
<!-- </v-container> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UnderConstruction from "../components/underconstruction.vue";
|
||||
|
||||
export default {
|
||||
// data() {
|
||||
// return {
|
||||
// headers: [
|
||||
// {
|
||||
// text: "Dessert (100g serving)",
|
||||
// align: "left",
|
||||
// sortable: false,
|
||||
// value: "name"
|
||||
// },
|
||||
// { text: "Calories", value: "calories" },
|
||||
// { text: "Fat (g)", value: "fat" },
|
||||
// { text: "Carbs (g)", value: "carbs" },
|
||||
// { text: "Protein (g)", value: "protein" },
|
||||
// { text: "Iron (%)", value: "iron" }
|
||||
// ],
|
||||
// desserts: [
|
||||
// {
|
||||
// name: "Frozen Yogurt",
|
||||
// calories: 159,
|
||||
// fat: 6.0,
|
||||
// carbs: 24,
|
||||
// protein: 4.0,
|
||||
// iron: "1%"
|
||||
// },
|
||||
// {
|
||||
// name: "Ice cream sandwich",
|
||||
// calories: 237,
|
||||
// fat: 9.0,
|
||||
// carbs: 37,
|
||||
// protein: 4.3,
|
||||
// iron: "1%"
|
||||
// },
|
||||
// {
|
||||
// name: "Eclair",
|
||||
// calories: 262,
|
||||
// fat: 16.0,
|
||||
// carbs: 23,
|
||||
// protein: 6.0,
|
||||
// iron: "7%"
|
||||
// },
|
||||
// {
|
||||
// name: "Cupcake",
|
||||
// calories: 305,
|
||||
// fat: 3.7,
|
||||
// carbs: 67,
|
||||
// protein: 4.3,
|
||||
// iron: "8%"
|
||||
// },
|
||||
// {
|
||||
// name: "Gingerbread",
|
||||
// calories: 356,
|
||||
// fat: 16.0,
|
||||
// carbs: 49,
|
||||
// protein: 3.9,
|
||||
// iron: "16%"
|
||||
// },
|
||||
// {
|
||||
// name: "Jelly bean",
|
||||
// calories: 375,
|
||||
// fat: 0.0,
|
||||
// carbs: 94,
|
||||
// protein: 0.0,
|
||||
// iron: "0%"
|
||||
// },
|
||||
// {
|
||||
// name: "Lollipop",
|
||||
// calories: 392,
|
||||
// fat: 0.2,
|
||||
// carbs: 98,
|
||||
// protein: 0,
|
||||
// iron: "2%"
|
||||
// },
|
||||
// {
|
||||
// name: "Honeycomb",
|
||||
// calories: 408,
|
||||
// fat: 3.2,
|
||||
// carbs: 87,
|
||||
// protein: 6.5,
|
||||
// iron: "45%"
|
||||
// },
|
||||
// {
|
||||
// name: "Donut",
|
||||
// calories: 452,
|
||||
// fat: 25.0,
|
||||
// carbs: 51,
|
||||
// protein: 4.9,
|
||||
// iron: "22%"
|
||||
// },
|
||||
// {
|
||||
// name: "KitKat",
|
||||
// calories: 518,
|
||||
// fat: 26.0,
|
||||
// carbs: 65,
|
||||
// protein: 7,
|
||||
// iron: "6%"
|
||||
// }
|
||||
// ]
|
||||
// };
|
||||
// },
|
||||
components: {
|
||||
UnderConstruction
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user