88 id = 'reledit' |
88 id = 'reledit' |
89 __select__ = non_final_entity() & match_kwargs('rtype') |
89 __select__ = non_final_entity() & match_kwargs('rtype') |
90 |
90 |
91 # FIXME editableField class could be toggleable from userprefs |
91 # FIXME editableField class could be toggleable from userprefs |
92 |
92 |
93 onsubmit = ("return inlineValidateAttributeForm('%(divid)s-form', '%(rtype)s', " |
|
94 "'%(eid)s', '%(divid)s', %(reload)s, '%(default)s');") |
|
95 ondblclick = "showInlineEditionForm(%(eid)s, '%(rtype)s', '%(divid)s')" |
93 ondblclick = "showInlineEditionForm(%(eid)s, '%(rtype)s', '%(divid)s')" |
96 |
94 |
97 def cell_call(self, row, col, rtype=None, role='subject', reload=False, |
95 def cell_call(self, row, col, rtype=None, role='subject', reload=False, |
98 vid='textoutofcontext', default=None): |
96 vid='textoutofcontext', default=None): |
99 """display field to edit entity's `rtype` relation on double-click""" |
97 """display field to edit entity's `rtype` relation on double-click""" |
134 table_class='', button_bar_class='buttonbar', |
132 table_class='', button_bar_class='buttonbar', |
135 display_progress_div=False) |
133 display_progress_div=False) |
136 self.w(form.form_render(renderer=renderer)) |
134 self.w(form.form_render(renderer=renderer)) |
137 |
135 |
138 def _build_relation_form(self, entity, value, rtype, role, row, col, vid, default): |
136 def _build_relation_form(self, entity, value, rtype, role, row, col, vid, default): |
139 entity = self.entity(row, col) |
|
140 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
137 divid = 'd%s' % make_uid('%s-%s' % (rtype, entity.eid)) |
141 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : vid, |
138 event_data = {'divid' : divid, 'eid' : entity.eid, 'rtype' : rtype, 'vid' : vid, |
142 'default' : default, 'role' : role} |
139 'default' : default, 'role' : role} |
143 onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', " |
140 onsubmit = ("return inlineValidateRelationForm('%(divid)s-form', '%(rtype)s', " |
144 "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s');" |
141 "'%(role)s', '%(eid)s', '%(divid)s', '%(vid)s', '%(default)s');" |
161 def _build_attribute_form(self, entity, value, rtype, role, reload, row, col, default): |
158 def _build_attribute_form(self, entity, value, rtype, role, reload, row, col, default): |
162 eid = entity.eid |
159 eid = entity.eid |
163 divid = 'd%s' % make_uid('%s-%s' % (rtype, eid)) |
160 divid = 'd%s' % make_uid('%s-%s' % (rtype, eid)) |
164 event_data = {'divid' : divid, 'eid' : eid, 'rtype' : rtype, |
161 event_data = {'divid' : divid, 'eid' : eid, 'rtype' : rtype, |
165 'reload' : dumps(reload), 'default' : default} |
162 'reload' : dumps(reload), 'default' : default} |
|
163 onsubmit = ("return inlineValidateAttributeForm('%(divid)s-form', '%(rtype)s', " |
|
164 "'%(eid)s', '%(divid)s', %(reload)s, '%(default)s');") |
166 buttons = [SubmitButton(stdmsgs.BUTTON_OK), |
165 buttons = [SubmitButton(stdmsgs.BUTTON_OK), |
167 Button(stdmsgs.BUTTON_CANCEL, |
166 Button(stdmsgs.BUTTON_CANCEL, |
168 onclick="cancelInlineEdit(%s,\'%s\',\'%s\')" % ( |
167 onclick="cancelInlineEdit(%s,\'%s\',\'%s\')" % ( |
169 eid, rtype, divid))] |
168 eid, rtype, divid))] |
170 form = self.vreg.select_object('forms', 'edition', self.req, self.rset, |
169 form = self.vreg.select_object('forms', 'edition', self.req, self.rset, |
171 row=row, col=col, form_buttons=buttons, |
170 row=row, col=col, form_buttons=buttons, |
172 domid='%s-form' % divid, action='#', |
171 domid='%s-form' % divid, action='#', |
173 cssstyle='display: none', |
172 cssstyle='display: none', |
174 onsubmit=self.onsubmit % event_data) |
173 onsubmit=onsubmit % event_data) |
175 self.w(tags.div(value, klass='editableField', id=divid, |
174 self.w(tags.div(value, klass='editableField', id=divid, |
176 ondblclick=self.ondblclick % event_data)) |
175 ondblclick=self.ondblclick % event_data)) |
177 return form |
176 return form |
178 |
177 |
179 |
178 |