This commit is contained in:
2020-04-04 19:39:59 +00:00
parent 823b1aa7e5
commit 977b313fcf
12 changed files with 46 additions and 58 deletions

View File

@@ -48,12 +48,6 @@ CURRENT TODOs
=-=-=-=-=-=-= =-=-=-=-=-=-=
@@@@@@@@@@@ ROADMAP STAGE 2: @@@@@@@@@@@ ROADMAP STAGE 2:
todo: global vue
- find all stuff defined in vue data objects as methods solely for the consumption of the template like translation (t()) and move to global vue object in main
- stuff not needed by templates should stay where it is in window
- Lodash might be an exception
- search and change this: if (window.$gz.errorHandler.devMode()) { if possible
- search change this: this.$root.$gz.translation.get("More") // if possible, also is it really needed to be on that root thing anyway now that I know how to do global
todo: change all testing data-cy attributes to conditional see ay-customize for example todo: change all testing data-cy attributes to conditional see ay-customize for example
- :data-cy="!!enableCypress ? item.key : false" - :data-cy="!!enableCypress ? item.key : false"

View File

@@ -19,7 +19,7 @@
:prepend-icon="item.icon" :prepend-icon="item.icon"
:value="false" :value="false"
:key="item.key" :key="item.key"
:data-cy="item.testid" :data-cy="!!$ay.dev ? item.testid : false"
> >
<template v-slot:activator> <template v-slot:activator>
<!--group activator --> <!--group activator -->
@@ -66,7 +66,7 @@
<div class="pl-3" :key="subitem.key"> <div class="pl-3" :key="subitem.key">
<v-list-item <v-list-item
:to="subitem.route" :to="subitem.route"
:data-cy="'nav' + subitem.route" :data-cy="!!$ay.dev ? 'nav' + subitem.route : false"
> >
<v-list-item-action> <v-list-item-action>
<v-icon v-if="subitem.icon">{{ subitem.icon }}</v-icon> <v-icon v-if="subitem.icon">{{ subitem.icon }}</v-icon>
@@ -112,7 +112,7 @@
> >
<v-app-bar-nav-icon <v-app-bar-nav-icon
@click.stop="drawer = !drawer" @click.stop="drawer = !drawer"
data-cy="navicon" :data-cy="!!$ay.dev ? 'navicon' : false"
></v-app-bar-nav-icon> ></v-app-bar-nav-icon>
<v-toolbar-title style="width: 300px" class="ml-0 pl-4"> <v-toolbar-title style="width: 300px" class="ml-0 pl-4">
<v-icon>{{ appBar.icon }}</v-icon <v-icon>{{ appBar.icon }}</v-icon
@@ -129,7 +129,7 @@
v-if="item.surface" v-if="item.surface"
:disabled="item.disabled" :disabled="item.disabled"
@click="clickMenuItem(item)" @click="clickMenuItem(item)"
:data-cy="item.key" :data-cy="!!$ay.dev ? item.key : false"
> >
<v-icon :color="item.color ? item.color : ''"> <v-icon :color="item.color ? item.color : ''">
{{ item.icon }} {{ item.icon }}
@@ -139,7 +139,12 @@
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-menu bottom float-left> <v-menu bottom float-left>
<template v-slot:activator="{ on }"> <template v-slot:activator="{ on }">
<v-btn text icon v-on="on" data-cy="contextmenu"> <v-btn
text
icon
v-on="on"
:data-cy="!!$ay.dev ? 'contextmenu' : false"
>
<v-icon>fa-ellipsis-v</v-icon> <v-icon>fa-ellipsis-v</v-icon>
</v-btn> </v-btn>
</template> </template>
@@ -159,7 +164,7 @@
:disabled="item.disabled" :disabled="item.disabled"
@click="clickMenuItem(item)" @click="clickMenuItem(item)"
v-bind:class="{ 'hidden-sm-and-up': item.surface }" v-bind:class="{ 'hidden-sm-and-up': item.surface }"
:data-cy="item.key" :data-cy="!!$ay.dev ? item.key : false"
> >
<v-list-item-action> <v-list-item-action>
<v-icon <v-icon

View File

@@ -1,6 +1,4 @@
/* xeslint-disable */ /* xeslint-disable */
let devModeShowErrors = false;
let lastMessageHash = 0; let lastMessageHash = 0;
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
@@ -21,11 +19,11 @@ function dealWithError(msg, vm) {
//In some cases the error may not be translatable, if this is not a debug run then it should show without the ?? that translating puts in keys not found //In some cases the error may not be translatable, if this is not a debug run then it should show without the ?? that translating puts in keys not found
//so it's not as weird looking to the user //so it's not as weird looking to the user
if (!devModeShowErrors && msg.includes("??")) { if (!vm.$ay.dev && msg.includes("??")) {
msg = msg.replace("??", ""); msg = msg.replace("??", "");
} }
window.$gz.store.commit("logItem", msg); window.$gz.store.commit("logItem", msg);
if (devModeShowErrors) { if (vm.$ay.dev) {
let errMsg = let errMsg =
"DEV ERROR errorHandler::devShowUnknownError - unexpected error: \r\n" + "DEV ERROR errorHandler::devShowUnknownError - unexpected error: \r\n" +
msg; msg;
@@ -54,12 +52,6 @@ function dealWithError(msg, vm) {
} }
} }
export default { export default {
developmentModeShowErrorsImmediately(showErrorsImmediately) {
devModeShowErrors = showErrorsImmediately;
},
devMode() {
return devModeShowErrors;
},
handleGeneralError(message, source, lineno, colno, error) { handleGeneralError(message, source, lineno, colno, error) {
let msg = "General error: \n" + message; let msg = "General error: \n" + message;
if (source) { if (source) {

View File

@@ -465,7 +465,7 @@ export default {
// //
serverErrors(vm, ref) { serverErrors(vm, ref) {
//CHECK PREREQUISITES IN DEV MODE TO ENSURE FORM ISN"T MISSING NEEDED DATA ATTRIBUTES ETC //CHECK PREREQUISITES IN DEV MODE TO ENSURE FORM ISN"T MISSING NEEDED DATA ATTRIBUTES ETC
if (window.$gz.errorHandler.devMode()) { if (vm.$ay.dev) {
//make sure formState.serverErrors is defined on data //make sure formState.serverErrors is defined on data
if (!window.$gz._.has(vm, "formState.serverError")) { if (!window.$gz._.has(vm, "formState.serverError")) {
throw "DEV ERROR gzform::formState.serverErrors -> formState.serverError seems to be missing from form's vue data object"; throw "DEV ERROR gzform::formState.serverErrors -> formState.serverError seems to be missing from form's vue data object";
@@ -696,7 +696,7 @@ export default {
// requires object with one or both keys {temp:{...tempformsettings...},saved:{...persistedformsettings...}} // requires object with one or both keys {temp:{...tempformsettings...},saved:{...persistedformsettings...}}
// //
setFormSettings(formKey, formSettings) { setFormSettings(formKey, formSettings) {
if (window.$gz.errorHandler.devMode()) { if (window.$gz.dev) {
if (!formSettings.saved && !formSettings.temp) { if (!formSettings.saved && !formSettings.temp) {
throw "gzform:setFormSettings - saved AND temp keys are both missing from form data!"; throw "gzform:setFormSettings - saved AND temp keys are both missing from form data!";
} }

View File

@@ -22,7 +22,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -42,7 +42,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -61,7 +61,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -80,7 +80,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -101,7 +101,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -124,7 +124,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -143,7 +143,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -162,7 +162,7 @@
:readonly="readOnly" :readonly="readOnly"
:label="$ay.t(item.fld)" :label="$ay.t(item.fld)"
:ref="item.fld" :ref="item.fld"
:data-cy="item.fld" :data-cy="!!$ay.dev ? item.fld : false"
:error-messages="form().serverErrors(parentVM, item.fld)" :error-messages="form().serverErrors(parentVM, item.fld)"
:rules="[ :rules="[
form().customFieldsCheck( form().customFieldsCheck(
@@ -466,14 +466,14 @@ export default {
}, },
beforeCreate() { beforeCreate() {
//check pre-requisites exist just in case //check pre-requisites exist just in case
if (window.$gz.errorHandler.devMode()) { if (this.$ay.dev) {
if (!window.$gz._) { if (!window.$gz._) {
throw "custom-fields-control: $gz._ (lodash) is required and missing"; throw "custom-fields-control: $gz._ (lodash) is required and missing";
} }
} }
}, },
created() { created() {
if (window.$gz.errorHandler.devMode()) { if (this.$ay.dev) {
//debugger; //debugger;
if (!this.formKey) { if (!this.formKey) {
throw "custom-fields-control: formKey property is required and missing"; throw "custom-fields-control: formKey property is required and missing";

View File

@@ -18,14 +18,14 @@
v-bind:rules="rules" v-bind:rules="rules"
readonly readonly
:error="!!error" :error="!!error"
:data-cy="'dtfpick:' + testId" :data-cy="!!$ay.dev ? 'dtfpick:' + testId : false"
></v-text-field> ></v-text-field>
</template> </template>
<v-date-picker <v-date-picker
v-model="dateOnly" v-model="dateOnly"
@input="dlgdate = false" @input="dlgdate = false"
:locale="defaultLocale" :locale="defaultLocale"
:data-cy="'dpick:' + testId" :data-cy="!!$ay.dev ? 'dpick:' + testId : false"
> >
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-btn text color="primary" @click="dlgdate = false">{{ <v-btn text color="primary" @click="dlgdate = false">{{
@@ -50,7 +50,7 @@
@click:prepend="dlgtime = true" @click:prepend="dlgtime = true"
readonly readonly
:error="!!error" :error="!!error"
:data-cy="'ttfpick:' + testId" :data-cy="!!$ay.dev ? 'ttfpick:' + testId : false"
></v-text-field> ></v-text-field>
</template> </template>
<v-time-picker <v-time-picker
@@ -58,7 +58,7 @@
ampm-in-title ampm-in-title
:format="hour12 ? 'ampm' : '24hr'" :format="hour12 ? 'ampm' : '24hr'"
v-model="timeOnly" v-model="timeOnly"
:data-cy="'tpick:' + testId" :data-cy="!!$ay.dev ? 'tpick:' + testId : false"
> >
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-btn text color="primary" @click="dlgtime = false">{{ <v-btn text color="primary" @click="dlgtime = false">{{

View File

@@ -19,17 +19,17 @@
item-value="id" item-value="id"
:label="$ay.t('DataListView')" :label="$ay.t('DataListView')"
@input="listViewChanged" @input="listViewChanged"
data-cy="selectlistview" :data-cy="!!$ay.dev ? 'selectlistview' : false"
> >
</v-select> </v-select>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<div> <div>
<v-btn @click="refresh"> <v-btn @click="refresh">
<v-icon data-cy="refresh">fa-sync</v-icon> <v-icon :data-cy="!!$ay.dev ? 'refresh' : false">fa-sync</v-icon>
</v-btn> </v-btn>
<v-btn class="ml-12" @click="editListView"> <v-btn class="ml-12" @click="editListView">
<v-icon data-cy="filter">fa-filter</v-icon> <v-icon :data-cy="!!$ay.dev ? 'filter' : false">fa-filter</v-icon>
</v-btn> </v-btn>
</div> </div>
</v-card-title> </v-card-title>
@@ -61,7 +61,7 @@
:loading-text="$ay.t('Loading')" :loading-text="$ay.t('Loading')"
:no-data-text="$ay.t('NoData')" :no-data-text="$ay.t('NoData')"
class="elevation-1" class="elevation-1"
data-cy="datatable-wide" :data-cy="!!$ay.dev ? 'datatable-wide' : false"
> >
<template v-slot:body="{ items }"> <template v-slot:body="{ items }">
<tbody> <tbody>
@@ -178,7 +178,7 @@
}" }"
:loading-text="$ay.t('Loading')" :loading-text="$ay.t('Loading')"
class="elevation-1" class="elevation-1"
data-cy="datatable-mobile" :data-cy="!!$ay.dev ? 'datatable-mobile' : false"
> >
<template v-slot:header="props"> <template v-slot:header="props">
<!-- Mimic the full width data table select all toggle :no-data-text="$ay.t('NoData')"--> <!-- Mimic the full width data table select all toggle :no-data-text="$ay.t('NoData')"-->

View File

@@ -27,7 +27,7 @@
v-model="isVisible" v-model="isVisible"
:max-width="options.width" :max-width="options.width"
@keydown.esc="cancel" @keydown.esc="cancel"
data-cy="gzconfirm" :data-cy="!!$ay.dev ? 'gzconfirm' : false"
> >
<v-card elevation="24"> <v-card elevation="24">
<v-card-title class="headline lighten-2" primary-title> <v-card-title class="headline lighten-2" primary-title>
@@ -47,14 +47,14 @@
color="primary darken-1" color="primary darken-1"
text text
@click.native="cancel" @click.native="cancel"
data-cy="gzconfirm:nobutton" :data-cy="!!$ay.dev ? 'gzconfirm:nobutton' : false"
>{{ options.noButtonText }}</v-btn >{{ options.noButtonText }}</v-btn
> >
<v-btn <v-btn
color="primary darken-1" color="primary darken-1"
text text
@click.native="agree" @click.native="agree"
data-cy="gzconfirm:yesbutton" :data-cy="!!$ay.dev ? 'gzconfirm:yesbutton' : false"
>{{ options.yesButtonText }}</v-btn >{{ options.yesButtonText }}</v-btn
> >
</v-card-actions> </v-card-actions>

View File

@@ -1,7 +1,7 @@
<template> <template>
<!-- <v-scale-transition> --> <!-- <v-scale-transition> -->
<v-snackbar <v-snackbar
data-cy="gznotify" :data-cy="!!$ay.dev ? 'gznotify' : false"
:value="isVisible" :value="isVisible"
:color="currentNotification.type" :color="currentNotification.type"
> >
@@ -9,7 +9,7 @@
{{ currentNotification.message }} {{ currentNotification.message }}
</v-alert> </v-alert>
<v-btn <v-btn
data-cy="gznotify:morebutton" :data-cy="!!$ay.dev ? 'gznotify:morebutton' : false"
text text
v-if="currentNotification.helpUrl" v-if="currentNotification.helpUrl"
@click="helpClick()" @click="helpClick()"

View File

@@ -1,7 +1,5 @@
/* Xeslint-disable */ /* Xeslint-disable */
//************************************************************
const DEV_MODE = true;
//************************************************************
import "@fortawesome/fontawesome-free/css/all.css"; import "@fortawesome/fontawesome-free/css/all.css";
import "typeface-roboto/index.css"; import "typeface-roboto/index.css";
import Vue from "vue"; import Vue from "vue";
@@ -84,9 +82,11 @@ window.$gz = {
//************************************************************** //**************************************************************
//************************************************************** //**************************************************************
//************************************************************** //**************************************************************
//DEVELOPMENT MODE HANDLER //DEVELOPMENT MODE
//THIS SHOULD BE FALSE IN RELEASE //THIS SHOULD BE FALSE IN RELEASE
errorHandler.developmentModeShowErrorsImmediately(true); //************************************************************
const DEV_MODE = true;
//************************************************************
//************************************************************** //**************************************************************
//************************************************************** //**************************************************************
//************************************************************** //**************************************************************

View File

@@ -1367,7 +1367,7 @@ function initDataObject(vm) {
} }
vm.obj.editView = ret; vm.obj.editView = ret;
if (window.$gz.errorHandler.devMode) { if (window.$gz.dev) {
if (vm.obj.editView.length != vm.fieldDefinitions.length) { if (vm.obj.editView.length != vm.fieldDefinitions.length) {
throw "ay-data-list-view::initDataObject - working array length not equal to total field definition length"; throw "ay-data-list-view::initDataObject - working array length not equal to total field definition length";
} }
@@ -1446,7 +1446,7 @@ function getDisplayForFilter(
//VALUE FILTER //VALUE FILTER
//Nothing more to do if there isn't both a value AND an operator at this point //Nothing more to do if there isn't both a value AND an operator at this point
if (filterOperator == null || filterValue == null) { if (filterOperator == null || filterValue == null) {
if (window.$gz.errorHandler.devMode()) { if (window.$gz.dev) {
throw "ay-data-list-view::getDisplayForFilter Value filter missing one ore more of Operator, Value"; throw "ay-data-list-view::getDisplayForFilter Value filter missing one ore more of Operator, Value";
} }
return ""; return "";

View File

@@ -374,9 +374,6 @@ export default {
} }
}, },
methods: { methods: {
translation() {
return window.$gz.translation;
},
ayaType: function() { ayaType: function() {
return window.$gz.type; return window.$gz.type;
}, },