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
//
getPickList(enumKey) {
getSelectionList(enumKey) {
enumKey = enumKey.toLowerCase();
var e = window.$gz.store.state.enums[enumKey];
if (!e) {
throw "ERROR enums::getPickList -> enumKey " +
throw "ERROR enums::getSelectionList -> enumKey " +
enumKey +
" is missing from store";
}

View File

@@ -14,7 +14,7 @@
<v-card-title>
<v-select
v-model="listViewId"
:items="pickLists.listViews"
:items="selectLists.listViews"
item-text="name"
item-value="id"
:label="lt('DataListView')"
@@ -330,7 +330,7 @@ export default {
lastDataTablePagingOptions: {},
listViewId: 0,
listView: undefined,
pickLists: {
selectLists: {
listViews: []
},
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
//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
// window.$gz._.remove(vm.pickLists.listViews, function(n) {
// window.$gz._.remove(vm.selectLists.listViews, function(n) {
// return n.id == -1;
// });
for (var i = vm.pickLists.listViews.length - 1; i >= 0; i--) {
if (vm.pickLists.listViews[i].id === -1) {
vm.pickLists.listViews.splice(i, 1);
for (var i = vm.selectLists.listViews.length - 1; i >= 0; i--) {
if (vm.selectLists.listViews[i].id === -1) {
vm.selectLists.listViews.splice(i, 1);
}
}
@@ -758,7 +758,7 @@ function initForm(vm) {
return new Promise(function(resolve, reject) {
(async function() {
try {
await populatePickLists(vm);
await populateSelectionLists(vm);
await loadFormSettings(vm);
} catch (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
return window.$gz.api
.get("DataListView/ViewList?ListKey=" + vm.dataListKey)
@@ -778,8 +778,8 @@ function populatePickLists(vm) {
if (res.error != undefined) {
window.$gz.errorHandler.handleFormError(res.error, vm);
} else {
vm.pickLists.listViews = res.data;
window.$gz.form.addNoSelectionItem(vm.pickLists.listViews);
vm.selectLists.listViews = res.data;
window.$gz.form.addNoSelectionItem(vm.selectLists.listViews);
}
});
}
@@ -855,7 +855,7 @@ function loadFormSettings(vm) {
if (formSettings.saved.dataTable.unsavedListView != null) {
//add UNSAVED FILTER if -1
vm.pickLists.listViews.unshift({
vm.selectLists.listViews.unshift({
name: vm.lt("FilterUnsaved"),
id: -1
});

View File

@@ -1,28 +1,5 @@
<template>
<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-col>
<v-form ref="form">
@@ -69,7 +46,7 @@
v-if="item.custom"
v-model="item.type"
:readOnly="formState.readOnly"
:items="pickLists.uiFieldDataTypes"
:items="selectLists.uiFieldDataTypes"
item-text="name"
item-value="id"
:label="lt('UiFieldDataType')"
@@ -138,7 +115,7 @@ export default {
obj: [],
concurrencyToken: undefined,
formCustomTemplateKey: this.$route.params.formCustomTemplateKey,
pickLists: {
selectLists: {
uiFieldDataTypes: []
},
formState: {
@@ -337,7 +314,7 @@ function initForm(vm) {
(async function() {
try {
await fetchTranslatedText(vm);
await populatePickLists(vm);
await populateSelectionLists(vm);
await ensureTemplateIsInStore(vm);
await initDataObject(vm);
} catch (err) {
@@ -373,8 +350,8 @@ function fetchTranslatedText(vm) {
/////////////////////////////////
//
//
function populatePickLists(vm) {
vm.pickLists.uiFieldDataTypes.push(
function populateSelectionLists(vm) {
vm.selectLists.uiFieldDataTypes.push(
...[
{ name: vm.lt("UiFieldDataTypesDateTime"), id: 1 },
{ name: vm.lt("UiFieldDataTypesDateOnly"), id: 2 },

View File

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

View File

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

View File

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