This commit is contained in:
2020-03-18 19:56:58 +00:00
parent 91d5570223
commit ebfd2b9dee
6 changed files with 55 additions and 78 deletions

View File

@@ -9,11 +9,11 @@ export default {
// //
// Used by forms to fetch picklist data // Used by forms to fetch picklist data
// //
getPickList(enumKey) { getSelectionList(enumKey) {
enumKey = enumKey.toLowerCase(); enumKey = enumKey.toLowerCase();
var e = window.$gz.store.state.enums[enumKey]; var e = window.$gz.store.state.enums[enumKey];
if (!e) { if (!e) {
throw "ERROR enums::getPickList -> enumKey " + throw "ERROR enums::getSelectionList -> enumKey " +
enumKey + enumKey +
" is missing from store"; " is missing from store";
} }

View File

@@ -14,7 +14,7 @@
<v-card-title> <v-card-title>
<v-select <v-select
v-model="listViewId" v-model="listViewId"
:items="pickLists.listViews" :items="selectLists.listViews"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('DataListView')" :label="lt('DataListView')"
@@ -330,7 +330,7 @@ export default {
lastDataTablePagingOptions: {}, lastDataTablePagingOptions: {},
listViewId: 0, listViewId: 0,
listView: undefined, listView: undefined,
pickLists: { selectLists: {
listViews: [] listViews: []
}, },
headers: [], headers: [],
@@ -444,13 +444,13 @@ export default {
//this example does remove from the array and does update a plain mustache rendition of it on the page but doesn't update the select itself //this example does remove from the array and does update a plain mustache rendition of it on the page but doesn't update the select itself
//whereas using the native javascript array splice function *does* update the select because vue wraps splice and other native methods specifically //whereas using the native javascript array splice function *does* update the select because vue wraps splice and other native methods specifically
//so it can properly update the dom //so it can properly update the dom
// window.$gz._.remove(vm.pickLists.listViews, function(n) { // window.$gz._.remove(vm.selectLists.listViews, function(n) {
// return n.id == -1; // return n.id == -1;
// }); // });
for (var i = vm.pickLists.listViews.length - 1; i >= 0; i--) { for (var i = vm.selectLists.listViews.length - 1; i >= 0; i--) {
if (vm.pickLists.listViews[i].id === -1) { if (vm.selectLists.listViews[i].id === -1) {
vm.pickLists.listViews.splice(i, 1); vm.selectLists.listViews.splice(i, 1);
} }
} }
@@ -758,7 +758,7 @@ function initForm(vm) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
(async function() { (async function() {
try { try {
await populatePickLists(vm); await populateSelectionLists(vm);
await loadFormSettings(vm); await loadFormSettings(vm);
} catch (err) { } catch (err) {
reject(err); reject(err);
@@ -770,7 +770,7 @@ function initForm(vm) {
//////////////////// ////////////////////
// //
function populatePickLists(vm) { function populateSelectionLists(vm) {
//http://localhost:7575/api/v8/DataListView/ViewList?ListKey=TestWidgetDataList //http://localhost:7575/api/v8/DataListView/ViewList?ListKey=TestWidgetDataList
return window.$gz.api return window.$gz.api
.get("DataListView/ViewList?ListKey=" + vm.dataListKey) .get("DataListView/ViewList?ListKey=" + vm.dataListKey)
@@ -778,8 +778,8 @@ function populatePickLists(vm) {
if (res.error != undefined) { if (res.error != undefined) {
window.$gz.errorHandler.handleFormError(res.error, vm); window.$gz.errorHandler.handleFormError(res.error, vm);
} else { } else {
vm.pickLists.listViews = res.data; vm.selectLists.listViews = res.data;
window.$gz.form.addNoSelectionItem(vm.pickLists.listViews); window.$gz.form.addNoSelectionItem(vm.selectLists.listViews);
} }
}); });
} }
@@ -855,7 +855,7 @@ function loadFormSettings(vm) {
if (formSettings.saved.dataTable.unsavedListView != null) { if (formSettings.saved.dataTable.unsavedListView != null) {
//add UNSAVED FILTER if -1 //add UNSAVED FILTER if -1
vm.pickLists.listViews.unshift({ vm.selectLists.listViews.unshift({
name: vm.lt("FilterUnsaved"), name: vm.lt("FilterUnsaved"),
id: -1 id: -1
}); });

View File

@@ -1,28 +1,5 @@
<template> <template>
<v-container> <v-container>
<!-- <div>
READY: {{ formState.ready }}
<br />
LOADING: {{ formState.loading }}
<br />
DIRTY: {{ formState.dirty }}
<br />
VALID: {{ formState.valid }}
<br />
READONLY: {{ formState.readOnly }}
<br />
</div> -->
<!-- FAF
{{ obj }}
<div>
{{ pickLists.uiFieldDataTypes }}
</div>
<v-divider></v-divider>
<div>
CUSTOM TEMPLATE
{{ tempTemplate }}
</div>
<v-divider></v-divider> -->
<v-row v-if="formState.ready"> <v-row v-if="formState.ready">
<v-col> <v-col>
<v-form ref="form"> <v-form ref="form">
@@ -69,7 +46,7 @@
v-if="item.custom" v-if="item.custom"
v-model="item.type" v-model="item.type"
:readOnly="formState.readOnly" :readOnly="formState.readOnly"
:items="pickLists.uiFieldDataTypes" :items="selectLists.uiFieldDataTypes"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('UiFieldDataType')" :label="lt('UiFieldDataType')"
@@ -138,7 +115,7 @@ export default {
obj: [], obj: [],
concurrencyToken: undefined, concurrencyToken: undefined,
formCustomTemplateKey: this.$route.params.formCustomTemplateKey, formCustomTemplateKey: this.$route.params.formCustomTemplateKey,
pickLists: { selectLists: {
uiFieldDataTypes: [] uiFieldDataTypes: []
}, },
formState: { formState: {
@@ -337,7 +314,7 @@ function initForm(vm) {
(async function() { (async function() {
try { try {
await fetchTranslatedText(vm); await fetchTranslatedText(vm);
await populatePickLists(vm); await populateSelectionLists(vm);
await ensureTemplateIsInStore(vm); await ensureTemplateIsInStore(vm);
await initDataObject(vm); await initDataObject(vm);
} catch (err) { } catch (err) {
@@ -373,8 +350,8 @@ function fetchTranslatedText(vm) {
///////////////////////////////// /////////////////////////////////
// //
// //
function populatePickLists(vm) { function populateSelectionLists(vm) {
vm.pickLists.uiFieldDataTypes.push( vm.selectLists.uiFieldDataTypes.push(
...[ ...[
{ name: vm.lt("UiFieldDataTypesDateTime"), id: 1 }, { name: vm.lt("UiFieldDataTypesDateTime"), id: 1 },
{ name: vm.lt("UiFieldDataTypesDateOnly"), id: 2 }, { name: vm.lt("UiFieldDataTypesDateOnly"), id: 2 },

View File

@@ -133,7 +133,7 @@
<div v-if="item.uiFieldDataType === 1"> <div v-if="item.uiFieldDataType === 1">
<v-select <v-select
v-model="item.tempFilterToken" v-model="item.tempFilterToken"
:items="pickLists.dateFilterTokens" :items="selectLists.dateFilterTokens"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -142,7 +142,7 @@
<div v-if="item.tempFilterToken == '*select*'"> <div v-if="item.tempFilterToken == '*select*'">
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.dateFilterOperators" :items="selectLists.dateFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
></v-select> ></v-select>
@@ -173,7 +173,7 @@
> >
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.stringFilterOperators" :items="selectLists.stringFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -201,7 +201,7 @@
<div v-if="item.uiFieldDataType === 5"> <div v-if="item.uiFieldDataType === 5">
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.integerFilterOperators" :items="selectLists.integerFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -229,7 +229,7 @@
<div v-if="item.uiFieldDataType === 6"> <div v-if="item.uiFieldDataType === 6">
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.boolFilterOperators" :items="selectLists.boolFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -267,7 +267,7 @@
<div v-if="item.uiFieldDataType === 7"> <div v-if="item.uiFieldDataType === 7">
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.decimalFilterOperators" :items="selectLists.decimalFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -294,7 +294,7 @@
<div v-if="item.uiFieldDataType === 8"> <div v-if="item.uiFieldDataType === 8">
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.decimalFilterOperators" :items="selectLists.decimalFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -321,7 +321,7 @@
<div v-if="item.uiFieldDataType === 9"> <div v-if="item.uiFieldDataType === 9">
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.tagFilterOperators" :items="selectLists.tagFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -345,7 +345,7 @@
<div v-if="item.uiFieldDataType === 10"> <div v-if="item.uiFieldDataType === 10">
<v-select <v-select
v-model="item.tempFilterOperator" v-model="item.tempFilterOperator"
:items="pickLists.enumFilterOperators" :items="selectLists.enumFilterOperators"
item-text="name" item-text="name"
item-value="id" item-value="id"
:label="lt('Filter')" :label="lt('Filter')"
@@ -359,7 +359,7 @@
item.tempFilterOperator != '*HASVALUE*' item.tempFilterOperator != '*HASVALUE*'
" "
v-model="item.tempFilterValue" v-model="item.tempFilterValue"
:items="enumPickList(item.enumType)" :items="enumSelectionList(item.enumType)"
item-text="name" item-text="name"
item-value="id" item-value="id"
></v-select> ></v-select>
@@ -492,7 +492,7 @@ export default {
fieldDefinitions: [], fieldDefinitions: [],
effectiveListView: undefined, effectiveListView: undefined,
concurrencyToken: undefined, concurrencyToken: undefined,
pickLists: { selectLists: {
dateFilterOperators: [], dateFilterOperators: [],
dateFilterTokens: [], dateFilterTokens: [],
stringFilterOperators: [], stringFilterOperators: [],
@@ -561,8 +561,8 @@ export default {
lt: function(ltkey) { lt: function(ltkey) {
return window.$gz.translation.get(ltkey); return window.$gz.translation.get(ltkey);
}, },
enumPickList: function(enumKey) { enumSelectionList: function(enumKey) {
return window.$gz.enums.getPickList(enumKey); return window.$gz.enums.getSelectionList(enumKey);
}, },
includeChanged: function(item) { includeChanged: function(item) {
if (item.required && item.visible == false) { if (item.required && item.visible == false) {
@@ -977,7 +977,7 @@ function initForm(vm) {
(async function() { (async function() {
try { try {
await fetchTranslatedText(vm); await fetchTranslatedText(vm);
await populatePickLists(vm); await populateSelectionLists(vm);
await populateFieldDefinitions(vm); await populateFieldDefinitions(vm);
await fetchTranslatedFieldNames(vm); await fetchTranslatedFieldNames(vm);
await setEffectiveListView(vm); await setEffectiveListView(vm);
@@ -1049,8 +1049,8 @@ function fetchTranslatedText(vm) {
///////////////////////////////// /////////////////////////////////
// //
// //
function populatePickLists(vm) { function populateSelectionLists(vm) {
vm.pickLists.dateFilterOperators.push( vm.selectLists.dateFilterOperators.push(
...[ ...[
{ name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" }, { name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" },
{ {
@@ -1069,7 +1069,7 @@ function populatePickLists(vm) {
] ]
); );
vm.pickLists.dateFilterTokens.push( vm.selectLists.dateFilterTokens.push(
...[ ...[
{ name: "(" + vm.lt("SelectItem") + ")", id: "*select*" }, //If select then use entry in date /time picker { name: "(" + vm.lt("SelectItem") + ")", id: "*select*" }, //If select then use entry in date /time picker
{ name: vm.lt("DateRangeYesterday"), id: "*yesterday*" }, { name: vm.lt("DateRangeYesterday"), id: "*yesterday*" },
@@ -1102,7 +1102,7 @@ function populatePickLists(vm) {
] ]
); );
vm.pickLists.stringFilterOperators.push( vm.selectLists.stringFilterOperators.push(
...[ ...[
{ name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" }, { name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" },
{ {
@@ -1125,7 +1125,7 @@ function populatePickLists(vm) {
] ]
); );
vm.pickLists.integerFilterOperators.push( vm.selectLists.integerFilterOperators.push(
...[ ...[
{ name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" }, { name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" },
{ {
@@ -1144,7 +1144,7 @@ function populatePickLists(vm) {
] ]
); );
vm.pickLists.boolFilterOperators.push( vm.selectLists.boolFilterOperators.push(
...[ ...[
{ name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" }, { name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" },
{ {
@@ -1156,7 +1156,7 @@ function populatePickLists(vm) {
] ]
); );
vm.pickLists.decimalFilterOperators.push( vm.selectLists.decimalFilterOperators.push(
...[ ...[
{ name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" }, { name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" },
{ {
@@ -1175,12 +1175,12 @@ function populatePickLists(vm) {
] ]
); );
//tags filter only by equals in initial release, see DataListSqlFilterCriteriaBuilder.cs line 523 for deets //tags filter only by equals in initial release, see DataListSqlFilterCriteriaBuilder.cs line 523 for deets
vm.pickLists.tagFilterOperators.push({ vm.selectLists.tagFilterOperators.push({
name: vm.lt("GridRowFilterDropDownEquals"), name: vm.lt("GridRowFilterDropDownEquals"),
id: "=" id: "="
}); });
vm.pickLists.enumFilterOperators.push( vm.selectLists.enumFilterOperators.push(
...[ ...[
{ name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" }, { name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" },
{ {
@@ -1430,20 +1430,20 @@ function getDisplayForFilter(
) { ) {
//BLANKS FILTER //BLANKS FILTER
if (filterOperator == "=" && filterValue == "*NULL*") { if (filterOperator == "=" && filterValue == "*NULL*") {
return window.$gz._.find(vm.pickLists.stringFilterOperators, { return window.$gz._.find(vm.selectLists.stringFilterOperators, {
id: "*NOVALUE*" id: "*NOVALUE*"
}).name; }).name;
} }
// NONBLANKS FILTER // NONBLANKS FILTER
if (filterOperator == "!=" && filterValue == "*NULL*") { if (filterOperator == "!=" && filterValue == "*NULL*") {
return window.$gz._.find(vm.pickLists.stringFilterOperators, { return window.$gz._.find(vm.selectLists.stringFilterOperators, {
id: "*HASVALUE*" id: "*HASVALUE*"
}).name; }).name;
} }
//DATE RELATIVE TOKEN FILTER //DATE RELATIVE TOKEN FILTER
if (uiFieldDataType === 1 && filterValue[0] == "*") { if (uiFieldDataType === 1 && filterValue[0] == "*") {
var valueDisplay = window.$gz._.find(vm.pickLists.dateFilterTokens, { var valueDisplay = window.$gz._.find(vm.selectLists.dateFilterTokens, {
id: filterValue id: filterValue
}).name; }).name;
var opDisplay = filterOperator; var opDisplay = filterOperator;
@@ -1486,7 +1486,7 @@ function getDisplayForFilter(
} }
//Operator //Operator
var opDisplay = window.$gz._.find(vm.pickLists.stringFilterOperators, { var opDisplay = window.$gz._.find(vm.selectLists.stringFilterOperators, {
id: filterOperator id: filterOperator
}).name; }).name;

View File

@@ -20,7 +20,7 @@
<v-col cols="12" sm="6" lg="4" xl="3"> <v-col cols="12" sm="6" lg="4" xl="3">
<v-select <v-select
v-model="obj.translationId" v-model="obj.translationId"
:items="pickLists.translations" :items="selectLists.translations"
item-text="name" item-text="name"
item-value="id" item-value="id"
:readonly="formState.readOnly" :readonly="formState.readOnly"
@@ -169,7 +169,7 @@ export default {
data() { data() {
return { return {
formCustomTemplateKey: FORM_CUSTOM_TEMPLATE_KEY, formCustomTemplateKey: FORM_CUSTOM_TEMPLATE_KEY,
pickLists: { selectLists: {
translations: [] translations: []
}, },
obj: { obj: {
@@ -421,7 +421,7 @@ function initForm(vm) {
(async function() { (async function() {
try { try {
await fetchTranslatedText(vm); await fetchTranslatedText(vm);
await populatePickLists(vm); await populateSelectionLists(vm);
} catch (err) { } catch (err) {
reject(err); reject(err);
} }
@@ -449,13 +449,13 @@ function fetchTranslatedText(vm) {
////////////////////// //////////////////////
// //
// //
function populatePickLists(vm) { function populateSelectionLists(vm) {
//http://localhost:7575/api/v8/Translation/List //http://localhost:7575/api/v8/Translation/List
return window.$gz.api.get("Translation/List").then(res => { return window.$gz.api.get("Translation/List").then(res => {
if (res.error != undefined) { if (res.error != undefined) {
window.$gz.errorHandler.handleFormError(res.error, vm); window.$gz.errorHandler.handleFormError(res.error, vm);
} else { } else {
vm.pickLists.translations = res.data; vm.selectLists.translations = res.data;
} }
}); });
} }

View File

@@ -143,7 +143,7 @@
> >
<v-select <v-select
v-model="obj.userType" v-model="obj.userType"
:items="pickLists.usertypes" :items="selectLists.usertypes"
item-text="name" item-text="name"
item-value="id" item-value="id"
:readonly="formState.readOnly" :readonly="formState.readOnly"
@@ -270,7 +270,7 @@ export default {
data() { data() {
return { return {
formCustomTemplateKey: FORM_CUSTOM_TEMPLATE_KEY, formCustomTemplateKey: FORM_CUSTOM_TEMPLATE_KEY,
pickLists: { selectLists: {
usertypes: [] usertypes: []
}, },
obj: { obj: {
@@ -654,7 +654,7 @@ function initForm(vm) {
try { try {
await fetchTranslatedText(vm); await fetchTranslatedText(vm);
await window.$gz.formCustomTemplate.get(FORM_CUSTOM_TEMPLATE_KEY); await window.$gz.formCustomTemplate.get(FORM_CUSTOM_TEMPLATE_KEY);
await populatePickLists(vm); await populateSelectionLists(vm);
} catch (err) { } catch (err) {
reject(err); reject(err);
} }
@@ -700,10 +700,10 @@ function fetchTranslatedText(vm) {
////////////////////// //////////////////////
// //
// //
function populatePickLists(vm) { function populateSelectionLists(vm) {
//ensure the pick lists required are pre-fetched //ensure the pick lists required are pre-fetched
return window.$gz.enums.fetchEnumList("usertype").then(() => { return window.$gz.enums.fetchEnumList("usertype").then(() => {
vm.pickLists.usertypes = window.$gz.enums.getPickList("usertype"); vm.selectLists.usertypes = window.$gz.enums.getSelectionList("usertype");
}); });
} }
</script> </script>