Open ezzle opened 1 month ago
What handler are you using? Something like an afterSave
? Is the handler in the same module, or some other module? What is the result when you try the above?
The context. 1° A specific dedicated piece module to Manage and trigger update and insertion bulk tasks on other piece modules. The handler ”beforeInsert” is in this module. The handler calls dedicated methods in the the same module to insertion or update of other pieces. All update tasks worksfine for primitive or relationship value. I only have issue with area field.
/Users/kiansmacmini/Documents/Documents - Mac mini de
Tshitshi/my-projects/ApoX/apos-esse/modules/frames/update/index.js:227 const area = @.***/rich-text'].newInstance(); ^
TypeError: Cannot read properties of undefined (reading 'newInstance') at Object.updateDocumentation (/Users/kiansmacmini/Documents/Documents
- Mac mini de Tshitshi/my-projects/ApoX/apos-esse/modules/frames/update/index.js:227:70) at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Node.js v22.5.1
Le mar. 13 août 2024 à 14:07, Robert Means @.***> a écrit :
What handler are you using? Something like an afterSave? Is the handler in the same module, or some other module? What is the result when you try the above?
— Reply to this email directly, view it on GitHub https://github.com/apostrophecms/apostrophe/issues/4686#issuecomment-2286090401, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALX32WN3MGEGO6R6UGEOLCLZRHZI3AVCNFSM6AAAAABMODDWA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBWGA4TANBQGE . You are receiving this because you authored the thread.Message ID: @.***>
I'll have to do some testing, I was wondering if it has something to do with the area items needing a unique id, but in looking at your error message - shouldn't it be const area = self.apos.modules['@apostrophecms/rich-text-widget'].newInstance()
? Note the module name has the -widget
at the end. Although I'm not sure I fully follow the logic.
If you're unsure how to proceed with a problem and are not sure if it is a bug, please provide some information so we can help you. You can also use the Apostrophe Discord chat and Github Discussions to ask questions as well.
Question or comment
Please include as much detail as possible so we can help more quickly.
What are you trying to do? Insert/update content of instance with area field inside an handler method. Schema
fields: { add: { ........ documentation: { // label: 'Documentation', htmlHelp: '<i>Frame documentation, stored under ”:DOCUMENTATION” slot. Distinct from ”description” or ”...description”</i>', type: 'area', options: { widgets: { '@apostrophecms/rich-text': {}, '@apostrophecms/image': {}, '@apostrophecms/video': {}, '@apostrophecms/html': {} } } }, ....
What have you already tried? inside the handler
..... t.documentation.items.push({ metaType: 'widget', type: '@apostrophecms/rich-text', aposPlaceholder: false, content: '<p>fValue.short_value</p>', permalinkIds: [], imageIds: [] }); self.apos.modules[t.type].update(req, t); ....
or
.... const area = self.apos.modules['@apostrophecms/rich-text'].newInstance(); const richText = self.apos.modules['@apostrophecms/rich-text'].newInstance(); richText.content = ...<p>${fValue.short_value}</p>...; area.items = [ richText ]; t.documentation.items.push(richText); ....
Details
Version of Node.js: PLEASE NOTE: Only stable LTS versions (10.x and 12.x) are fully supported but we will do our best with newer versions. v22.5.1 Server Operating System: The server (which might be your dev laptop) on which Apostrophe is running. Linux? MacOS X? Windows? Is Docker involved? MacOs Sonoma 14.5
Additional context:
Screenshots If applicable, add screenshots to help explain your problem.