When writing custom Javascript functions in your VBCS apps, you have to declare your functions in a certain way. That's because Oracle JET and VBCS use Require.js to handle modularity.
So if defining a new Page function, use the following format:
PageModule.prototype.getLOVMeaningValue = function(args) {};
For example:
define([], function () {
'use strict';
var PageModule = function PageModule() {};
PageModule.prototype.getLOVMeaningValue = function (key, lovs) {
var res;
var keyProperty = Object.keys(lovs[0])[0];
lovs.forEach(function(record) {
if (record[keyProperty] === key) {
res = record;
}
});
if (res) {
return res[Object.keys(res)[1]];
}
};
return PageModule;
});
For Flow level functions, use FlowModule.prototype, and for App level functions, use AppModule.prototype