Changeset View
Changeset View
Standalone View
Standalone View
lib/chip-types/calculated-field-type.js
const CalculatedFieldType = function(App, declaration) { | const CalculatedFieldType = function(App, declaration) { | ||||
this.App = App; | this.App = App; | ||||
if (typeof declaration === "string") { | if (typeof declaration === "string") { | ||||
return App.ChipManager.get_chip("calculated_field_type", declaration); | return App.ChipManager.get_chip("calculated_field_type", declaration); | ||||
} | } | ||||
this.declaration = declaration; | this.declaration = declaration; | ||||
this.name = declaration.name; | this.name = declaration.name; | ||||
}; | }; | ||||
CalculatedFieldType.type_name = "calculated_field_type"; | CalculatedFieldType.type_name = "calculated_field_type"; | ||||
CalculatedFieldType.pure = { | CalculatedFieldType.pure = { | ||||
get_value: function(declaration, context, params, item, db_document) { | get_value(declaration, context, params, item, db_document) { | ||||
return Promise.resolve( | return Promise.resolve( | ||||
declaration.calculate(context, params, item, db_document) | declaration.calculate(context, params, item, db_document) | ||||
); | ); | ||||
// cache not needed so far | // cache not needed so far | ||||
/* | /* | ||||
if(cached_value !== undefined){ | if(cached_value !== undefined){ | ||||
return Promise.resolve(cached_value); | return Promise.resolve(cached_value); | ||||
} else { | } else { | ||||
return Promise.resolve(declaration.calculate(context, params, item, db_document)); | return Promise.resolve(declaration.calculate(context, params, item, db_document)); | ||||
} | } | ||||
*/ | */ | ||||
}, | }, | ||||
}; | }; | ||||
// for brevity | // for brevity | ||||
const pure = CalculatedFieldType.pure; | const pure = CalculatedFieldType.pure; | ||||
CalculatedFieldType.prototype = { | CalculatedFieldType.prototype = { | ||||
get_value: function(context, params, item, raw_db_entry) { | get_value(context, params, item, raw_db_entry) { | ||||
return pure.get_value( | return pure.get_value( | ||||
this.declaration, | this.declaration, | ||||
context, | context, | ||||
params, | params, | ||||
item, | item, | ||||
raw_db_entry | raw_db_entry | ||||
); | ); | ||||
}, | }, | ||||
}; | }; | ||||
module.exports = CalculatedFieldType; | module.exports = CalculatedFieldType; |