Comments (6)
hey @KudMath, thanks for the feedback, could you detail a way to reproduce the issue systematically?
from forest-express-mongoose.
Exemple of a field working:
const mongoose = require('mongoose')
const Liana = require('forest-express-mongoose')
const schema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
email: String,
emailValidation: Boolean,
phone: String,
admin: Boolean,
lang: String,
new_user: Boolean,
createdAt: Date,
updatedAt: Date,
subscription: String,
premium:{
subscription: String,
createdAt: Date,
updatedAt: Date,
stoppedAt: Date,
additionalDesigns: Number
},
apiKey: [String],
});
Liana.collection('Users',{
fields:[{
field: 'subscription',
type: String,
get: function(object){
const subscription = (object.premium ? object.premium.subscription : 'none') || 'none'
// console.log({subscription, premium: object.premium});
return subscription
}
}]
})
module.exports = mongoose.model('Users', schema, 'Users');
while those do not :
const mongoose = require('mongoose')
const Liana = require('forest-express-mongoose')
const SupplierBaseProducts = require('../models/baseProducts.js')
const schema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
createdAt: Date,
updatedAt: Date,
supplierBaseProductId:{
type: mongoose.Schema.Types.ObjectId,
ref: 'SupplierBaseProducts'
},
owner: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Users'
},
productType: String,
status: String,
name: String,
sellingPrice: Number,
design_ids:[{
id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Designs'
},
position: String
}],
shops:[{
type: mongoose.Schema.Types.ObjectId,
ref: 'Shops'
}],
pricing:{
margin: Number,
customizationPrice: Number
},
})
Liana.collection('Products',{
fields:[
{
field: 'sellingPrice',
type: Number,
get: function(object){
// return SupplierBaseProducts.findOne({_id: object.supplierBaseProductId}).exec()
// .then((bp)=>{
// const price = parseFloat(bp.unitPrice) + parseFloat(object.pricing.margin) + parseFloat(object.pricing.customizationPrice)
// console.log({price});
// return price
// })
}
},
{
field: 'productType',
type: String,
get: function(object){
return SupplierBaseProducts.findOne({_id: object.supplierBaseProductId}).exec()
.then((bp)=>{
// console.log({bp});
const type = bp.subCategory.fr + ' ' + (bp.category.fr.length > 1 ? 'Unisexe' : bp.category.fr[0])
console.log({type})
return type
})
}
}
]
})
module.exports = mongoose.model('Products', schema, 'Products');
from forest-express-mongoose.
BTW the issue occurs regardless of wether I define my smartfield in a /forest/ .js file or directly in the model...
from forest-express-mongoose.
And I just discovered that some of those are displayed properly in summary view but not in detail view:
from forest-express-mongoose.
Hey @KudMath, you should definitely follow the documentation steps to configure the Smart Fields.
It looks like you're not doing it the classical way.
Other point, the type
of a Smart Fields expects a string value as mentioned in the documentation.
from forest-express-mongoose.
The problem was indeed the js types in my smartfield instead of using a string. Thank you!
from forest-express-mongoose.
Related Issues (20)
- TypeError: Class constructor ObjectId cannot be invoked without 'new' HOT 4
- export ResourceSerializer in type definition
- Forest Admin UI incorrectly display nested field HOT 2
- Smart Ations fields hooks endpoint cannot authenticate HOT 5
- Is this still supported? HOT 2
- Update document example from documentation doesn't seem to work HOT 1
- TypeError: RecordsRemover is not a constructor HOT 3
- Forest Admin Dashboard display mongoose mixed data type as [object,object]
- Forestadmin with Typescript project and MongoDB Atlas Free Plan
- Should be able to specify location of .forestadmin-schema.json HOT 1
- Non-Date types that store Date values cannot be rendered as a time-based Chart HOT 1
- Nested Enum types do not have values in the schema and crash the Create page in the UI HOT 7
- Smart relationship does not query the route HOT 4
- Smart actions - primaryKeys not generated in forestadmin schema HOT 2
- Smart Relationships are all empty in 7.8.4 and after
- Weird behaviour with certain model names HOT 1
- Having trouble connecting HOT 2
- Impossible to delete values in array field
- Can't user react components for smart views
- Vulnerability Notice on moment-timezone. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from forest-express-mongoose.