From 9417bbeb75b5d8cd5009c2963bef88b5dba3e692 Mon Sep 17 00:00:00 2001 From: Kyriakos Barbounakis Date: Thu, 16 Jan 2025 10:14:28 +0200 Subject: [PATCH] fix import inside procedures (#188) --- data-context.js | 5 ++--- data-listeners.js | 6 +++--- data-model.js | 9 ++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/data-context.js b/data-context.js index be12b37..1ca11ab 100644 --- a/data-context.js +++ b/data-context.js @@ -7,6 +7,7 @@ var {DataConfigurationStrategy} = require('./data-configuration'); var cfg = require('./data-configuration'); var Symbol = require('symbol'); var nameProperty = Symbol('name'); +var { DataModel } = require('./data-model'); /** * @classdesc Represents the default data context of MOST Data Applications. @@ -179,8 +180,7 @@ DefaultDataContext.prototype.model = function(name) { var obj = self.getConfiguration().getStrategy(DataConfigurationStrategy).model(modelName); if (_.isNil(obj)) return null; - var DataModel = require('./data-model').DataModel, - model = new DataModel(obj); + var model = new DataModel(obj); //set model context model.context = self; //return model @@ -354,7 +354,6 @@ NamedDataContext.prototype.model = function(name) { var obj = self.getConfiguration().getStrategy(DataConfigurationStrategy).model(modelName); if (_.isNil(obj)) return null; - var DataModel = require('./data-model').DataModel; var model = new DataModel(obj); //set model context model.context = self; diff --git a/data-listeners.js b/data-listeners.js index 08f7b79..b28846b 100644 --- a/data-listeners.js +++ b/data-listeners.js @@ -12,6 +12,7 @@ var {TraceUtils} = require('@themost/common'); var {TextUtils} = require('@themost/common'); var {DataCacheStrategy} = require('./data-cache'); var {DataFieldQueryResolver} = require('./data-field-query-resolver'); +var {FunctionContext} = require('./functions'); /** * @classdesc Represents an event listener for validating not nullable fields. This listener is automatically registered in all data models. @@ -222,8 +223,7 @@ function CalculatedValueListener() { */ CalculatedValueListener.prototype.beforeSave = function(event, callback) { //get function context - var functions = require('./functions'), - functionContext = functions.createContext(); + var functionContext = new FunctionContext(); _.assign(functionContext, event); functionContext.context = event.model.context; //find all attributes that have a default value @@ -555,7 +555,7 @@ DefaultValueListener.prototype.beforeSave = function(event, callback) { } else { //get function context - var functions = require('./functions'), functionContext = functions.createContext(); + var functionContext = new FunctionContext(); _.assign(functionContext, event); //find all attributes that have a default value var attrs = event.model.attributes.filter(function(x) { return (typeof x.value!== 'undefined'); }); diff --git a/data-model.js b/data-model.js index 4f60737..68d8bab 100644 --- a/data-model.js +++ b/data-model.js @@ -41,6 +41,8 @@ require('@themost/promise-sequence'); var DataObjectState = types.DataObjectState; var { OnJsonAttribute } = require('./OnJsonAttribute'); var { isObjectDeep } = require('./is-object'); +var { DataStateValidatorListener } = require('./data-state-validator'); +var resolver = require('./data-expand-resolver'); /** * @this DataModel * @param {DataField} field @@ -619,8 +621,7 @@ function unregisterContextListeners() { var DataCachingListener = dataListeners.DataCachingListener; var DataModelCreateViewListener = dataListeners.DataModelCreateViewListener; var DataModelSeedListener = dataListeners.DataModelSeedListener; - var DataStateValidatorListener = require('./data-state-validator').DataStateValidatorListener; - + //1. State validator listener this.on('before.save', DataStateValidatorListener.prototype.beforeSave); this.on('before.remove', DataStateValidatorListener.prototype.beforeRemove); @@ -1031,7 +1032,6 @@ function filterInternal(params, callback) { } // set expand if (typeof params === 'object' && params.$expand != null) { - var resolver = require('./data-expand-resolver'); var matches = resolver.testExpandExpression(params.$expand); if (matches && matches.length>0) { q.expand.apply(q, matches); @@ -1826,8 +1826,7 @@ DataModel.prototype.save = function(obj, callback) * @see DataObjectState */ DataModel.prototype.inferState = function(obj, callback) { - var self = this, - DataStateValidatorListener = require('./data-state-validator').DataStateValidatorListener; + var self = this; var e = { model:self, target:obj }; DataStateValidatorListener.prototype.beforeSave(e, function(err) { //if error return error