-
Notifications
You must be signed in to change notification settings - Fork 594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to programatically insert/update content for a Area field. #4686
Comments
What handler are you using? Something like an |
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
<#4686 (comment)>,
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 |
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.
The text was updated successfully, but these errors were encountered: