This commit is contained in:
@@ -28,25 +28,32 @@ export default {
|
|||||||
//
|
//
|
||||||
// Fetches enum list from server
|
// Fetches enum list from server
|
||||||
// and puts in store. if necessary
|
// and puts in store. if necessary
|
||||||
|
// ACCEPTS an ARRAY or a single STRING KEY
|
||||||
//
|
//
|
||||||
async fetchEnumList(enumKey) {
|
async fetchEnumList(enumKey) {
|
||||||
//check if list
|
if (!window.$gz._.isArray(enumKey)) {
|
||||||
//if not then fetch it and store it
|
enumKey = [enumKey];
|
||||||
enumKey = enumKey.toLowerCase();
|
}
|
||||||
|
|
||||||
if (!window.$gz._.has(window.$gz.store.state.enums, enumKey)) {
|
for (var i = 0; i < enumKey.length; i++) {
|
||||||
var that = this;
|
//check if list
|
||||||
|
//if not then fetch it and store it
|
||||||
|
var k = enumKey[i].toLowerCase();
|
||||||
|
|
||||||
await that.fetch(enumKey).then(dat => {
|
if (!window.$gz._.has(window.$gz.store.state.enums, k)) {
|
||||||
//massage the data as necessary
|
var that = this;
|
||||||
var e = { enumKey: enumKey, items: {} };
|
|
||||||
for (var i = 0; i < dat.length; i++) {
|
await that.fetch(k).then(dat => {
|
||||||
var o = dat[i];
|
//massage the data as necessary
|
||||||
e.items[o.id] = o.name;
|
var e = { enumKey: k, items: {} };
|
||||||
}
|
for (var i = 0; i < dat.length; i++) {
|
||||||
//stuff the data into the store
|
var o = dat[i];
|
||||||
window.$gz.store.commit("setEnum", e);
|
e.items[o.id] = o.name;
|
||||||
});
|
}
|
||||||
|
//stuff the data into the store
|
||||||
|
window.$gz.store.commit("setEnum", e);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fetch(enumKey) {
|
fetch(enumKey) {
|
||||||
|
|||||||
@@ -356,8 +356,34 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- ENUM BUILDER -->
|
<!-- ENUM BUILDER -->
|
||||||
<div v-if="item.uiFieldDataType === 10">
|
<div v-if="item.uiFieldDataType === 10">
|
||||||
ENUM BUILDER
|
<v-select
|
||||||
{{ item.enumType }}
|
v-model="item.tempFilterOperator"
|
||||||
|
:items="pickLists.enumFilterOperators"
|
||||||
|
item-text="name"
|
||||||
|
item-value="id"
|
||||||
|
:label="lt('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="enumPickList(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>
|
</div>
|
||||||
|
|
||||||
@@ -485,7 +511,8 @@ export default {
|
|||||||
integerFilterOperators: [],
|
integerFilterOperators: [],
|
||||||
boolFilterOperators: [],
|
boolFilterOperators: [],
|
||||||
decimalFilterOperators: [],
|
decimalFilterOperators: [],
|
||||||
tagFilterOperators: []
|
tagFilterOperators: [],
|
||||||
|
enumFilterOperators: []
|
||||||
},
|
},
|
||||||
formState: {
|
formState: {
|
||||||
ready: false,
|
ready: false,
|
||||||
@@ -512,6 +539,9 @@ export default {
|
|||||||
lt: function(ltkey) {
|
lt: function(ltkey) {
|
||||||
return window.$gz.locale.get(ltkey);
|
return window.$gz.locale.get(ltkey);
|
||||||
},
|
},
|
||||||
|
enumPickList: function(enumKey) {
|
||||||
|
return window.$gz.enums.getPickList(enumKey);
|
||||||
|
},
|
||||||
includeChanged: function(item) {
|
includeChanged: function(item) {
|
||||||
//Note: stock items can't be changed so no need to take that into account
|
//Note: stock items can't be changed so no need to take that into account
|
||||||
if (item.required && item.visible == false) {
|
if (item.required && item.visible == false) {
|
||||||
@@ -858,6 +888,7 @@ function initForm(vm) {
|
|||||||
await fetchLocalizedFieldNames(vm);
|
await fetchLocalizedFieldNames(vm);
|
||||||
await setEffectiveListView(vm);
|
await setEffectiveListView(vm);
|
||||||
await initDataObject(vm);
|
await initDataObject(vm);
|
||||||
|
await fetchEnums(vm);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
@@ -1051,6 +1082,18 @@ function populatePickLists(vm) {
|
|||||||
name: vm.lt("GridRowFilterDropDownEquals"),
|
name: vm.lt("GridRowFilterDropDownEquals"),
|
||||||
id: "="
|
id: "="
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vm.pickLists.enumFilterOperators.push(
|
||||||
|
...[
|
||||||
|
{ name: vm.lt("GridRowFilterDropDownBlanksItem"), id: "*NOVALUE*" },
|
||||||
|
{
|
||||||
|
name: vm.lt("GridRowFilterDropDownNonBlanksItem"),
|
||||||
|
id: "*HASVALUE*"
|
||||||
|
},
|
||||||
|
{ name: vm.lt("GridRowFilterDropDownEquals"), id: "=" },
|
||||||
|
{ name: vm.lt("GridRowFilterDropDownNotEquals"), id: "!=" }
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////
|
////////////////////
|
||||||
@@ -1223,6 +1266,27 @@ function initDataObject(vm) {
|
|||||||
//eoc
|
//eoc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Ensures localized enum lists are available pre-cached
|
||||||
|
//
|
||||||
|
function fetchEnums(vm) {
|
||||||
|
//build an array of all enums then execute method
|
||||||
|
var enumKeys = [];
|
||||||
|
for (var i = 0; i < vm.fieldDefinitions.length; i++) {
|
||||||
|
var fld = vm.fieldDefinitions[i];
|
||||||
|
if (fld.uiFieldDataType == 10) {
|
||||||
|
enumKeys.push(fld.enumType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (enumKeys.length > 0) {
|
||||||
|
// console.log("fetchEnums::calling fetchenumlist for:");
|
||||||
|
// console.log(enumKeys);
|
||||||
|
return window.$gz.enums.fetchEnumList(enumKeys);
|
||||||
|
}
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
public const string OpEquality = "=";
|
public const string OpEquality = "=";
|
||||||
public const string OpGreaterThan = ">";
|
public const string OpGreaterThan = ">";
|
||||||
|
|||||||
Reference in New Issue
Block a user