Skip to content

Commit fa5b7b6

Browse files
committed
inline editor for page data output
This allows to use the double click action on the page data output table shown on pages.
1 parent 5ead018 commit fa5b7b6

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

meta/SchemaEditor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ protected function adminColumn($column_id, Column $col, $key = 'cols')
117117
$base = 'schema[' . $key . '][' . $column_id . ']'; // base name for all fields
118118

119119
$class = $col->isEnabled() ? '' : 'disabled';
120-
if($key === 'new') $class .= ' new';
120+
if ($key === 'new') $class .= ' new';
121121

122122
$html = "<tr class=\"$class\">";
123123

script.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jQuery(function () {
1010
EntryEditor(jQuery('#dw__editform, form.bureaucracy__plugin'));
1111
SchemaEditor();
1212
jQuery('div.structaggregationeditor table').each(AggregationEditor);
13-
InlineEditor(jQuery('div.structaggregation table'));
13+
InlineEditor(jQuery('div.structaggregation table, #plugin__struct_output table'));
1414
}
1515

1616
jQuery(init);

script/InlineEditor.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ var InlineEditor = function ($table) {
1212
var pid = $self.parent().data('pid');
1313
var rid = $self.parent().data('rid');
1414
var rev = $self.parent().data('rev');
15-
var field = $self.parents('table').find('tr th').eq($self.index()).data('field');
15+
var field = $self.parent().data('field') ||
16+
$self.parents('table').find('tr th').eq($self.index()).data('field');
1617

1718
if ((!pid && !rid) || !field) return;
1819

syntax/output.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* @author Andreas Gohr, Michael Große <dokuwiki@cosmocode.de>
88
*/
99

10+
use dokuwiki\plugin\struct\meta\Value;
1011
use dokuwiki\Extension\SyntaxPlugin;
1112
use dokuwiki\Extension\Event;
1213
use dokuwiki\plugin\struct\meta\AccessTable;
@@ -182,7 +183,18 @@ public function renderSchemaData($rendercontext)
182183

183184
$renderer->tabletbody_open();
184185
foreach ($data as $field) {
186+
/** @var Value $field */
185187
$renderer->tablerow_open();
188+
if ($format == 'xhtml') {
189+
// add data attributes to the row for inline editing
190+
$renderer->doc = substr(trim($renderer->doc), 0, -1); // remove the last >
191+
$renderer->doc .= ' data-pid="' . hsc($schemadata->getPid()) . '"';
192+
$renderer->doc .= ' data-rev="' . hsc($schemadata->getTimestamp()) . '"';
193+
$renderer->doc .= ' data-rid="' . hsc($schemadata->getRid()) . '"';
194+
$renderer->doc .= ' data-field="' . hsc($field->getColumn()->getFullQualifiedLabel()) . '"';
195+
$renderer->doc .= '">';
196+
}
197+
186198
$renderer->tableheader_open();
187199
$renderer->cdata($field->getColumn()->getTranslatedLabel());
188200
$renderer->tableheader_close();

0 commit comments

Comments
 (0)