aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/views/collections/collectionSchema/SchemaCellField.tsx7
-rw-r--r--src/client/views/collections/collectionSchema/SchemaRowBox.tsx2
-rw-r--r--src/client/views/collections/collectionSchema/SchemaTableCell.tsx8
3 files changed, 11 insertions, 6 deletions
diff --git a/src/client/views/collections/collectionSchema/SchemaCellField.tsx b/src/client/views/collections/collectionSchema/SchemaCellField.tsx
index fc191014c..aa6c382ef 100644
--- a/src/client/views/collections/collectionSchema/SchemaCellField.tsx
+++ b/src/client/views/collections/collectionSchema/SchemaCellField.tsx
@@ -53,7 +53,7 @@ export class SchemaCellField extends ObservableReactComponent<SchemaCellFieldPro
if (this._inputref?.innerText.startsWith('=') || this._inputref?.innerText.startsWith(':=')) {
this._overlayDisposer?.();
this._overlayDisposer = OverlayView.Instance.addElement(<DocumentIconContainer />, { x: 0, y: 0 });
- this._props.highlightCells?.(this._props.GetValue() ?? '');
+ this._props.highlightCells?.(this._unrenderedContent);
this.setContent(this._unrenderedContent, true);
}
});
@@ -98,15 +98,18 @@ export class SchemaCellField extends ObservableReactComponent<SchemaCellFieldPro
while ((match = pattern.exec(content)) !== null) {
const cell = this._props.getCells(match[0]);
+ //console.log(cell)
if (cell.length) {
matches.push(match[0]);
cells.set(match[0], cell[0])
}
}
+ //console.log(cells)
+
let matchNum = 0;
matches.forEach((match: string) => {
- // const refToUse = docRef === 'this' ? `${this.docIndex}` : docRef;
+ const adjMatch = match.replace('this.', `d${this.docIndex}`)
chunkedText = chunkedText.replace(match, `<span style="color: ${cells.get(match)?.style.borderTop.replace('2px solid', '')}">${match}</span>`);
++matchNum;
})
diff --git a/src/client/views/collections/collectionSchema/SchemaRowBox.tsx b/src/client/views/collections/collectionSchema/SchemaRowBox.tsx
index f4320dc09..45f178815 100644
--- a/src/client/views/collections/collectionSchema/SchemaRowBox.tsx
+++ b/src/client/views/collections/collectionSchema/SchemaRowBox.tsx
@@ -22,6 +22,7 @@ import { ContextMenu } from '../../ContextMenu';
import { CollectionFreeFormView } from '../collectionFreeForm';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { IconProp } from '@fortawesome/fontawesome-svg-core';
+import { infoState } from '../collectionFreeForm/CollectionFreeFormInfoState';
interface SchemaRowBoxProps extends FieldViewProps {
rowIndex: number;
@@ -129,6 +130,7 @@ export class SchemaRowBox extends ViewBoxBaseComponent<SchemaRowBoxProps>() {
const info = this.schemaView.findCellRefs(text);
const cells: HTMLDivElement[] = [];
info.forEach(info => {cells.push(this.schemaView.getCellElement(info[0], info[1]))})
+ console.log('info: ' + info + ' cells: ' + cells);
return cells;
};
render() {
diff --git a/src/client/views/collections/collectionSchema/SchemaTableCell.tsx b/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
index ab384a487..6ccada48c 100644
--- a/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
+++ b/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
@@ -144,10 +144,10 @@ export class SchemaTableCell extends ObservableReactComponent<SchemaTableCellPro
return { color, textDecoration, fieldProps, cursor, pointerEvents };
}
- adjustedHighlight = (field: string) => {
+ adjustSelfReference = (field: string) => {
const pattern = /\bthis.\b/g;
const modField = field.replace(pattern, `d${this.docIndex}.`);
- this._props.highlightCells(modField);
+ return modField;
}
// parses a field from the "idToDoc(####)" format to DocumentId (d#) format for readability
@@ -183,8 +183,8 @@ export class SchemaTableCell extends ObservableReactComponent<SchemaTableCellPro
}}>
<SchemaCellField
Document={this._props.Document}
- highlightCells={this.adjustedHighlight}
- getCells={this._props.func}
+ highlightCells={(text: string) => this._props.highlightCells(this.adjustSelfReference(text))}
+ getCells={(text: string) => this._props.func(this.adjustSelfReference(text))}
ref={r => selectedCell(this._props) && this._props.autoFocus && r?.setIsFocused(true)}
oneLine={this._props.oneLine}
contents={undefined}