import Lightbox from 'react-image-lightbox'; import 'react-image-lightbox/style.css'; // This only needs to be imported once in your app import "./KeyValuePane.scss"; import React = require("react") import { FieldViewProps, FieldView } from './FieldView'; import { FieldWaiting, Opt, Field } from '../../../fields/Field'; import { observer } from "mobx-react" import { observable, action, IReactionDisposer, reaction, ObservableMap } from 'mobx'; import { KeyStore } from '../../../fields/KeyStore'; import { RichTextField } from "../../../fields/RichTextField"; import { element } from 'prop-types'; import { props } from 'bluebird'; import { EditorView } from 'prosemirror-view'; import { Transaction, EditorState } from 'prosemirror-state'; import { schema } from 'prosemirror-schema-basic'; import { keymap } from 'prosemirror-keymap'; import { undo, redo } from 'prosemirror-history'; import { baseKeymap } from 'prosemirror-commands'; import { KVPField } from '../../../fields/KVPField'; import { Document } from '../../../fields/Document'; import { Key } from '../../../fields/Key'; import { JSXElement } from 'babel-types'; import { KeyValuePair } from "./KeyValuePair" @observer export class KeyValuePane extends React.Component { public static LayoutString(fieldStr: string = "DataKey") { return FieldView.LayoutString(KeyValuePane, fieldStr) } private _ref: React.RefObject; private _editorView: Opt; private _reactionDisposer: Opt; constructor(props: FieldViewProps) { super(props); this._ref = React.createRef(); } shouldComponentUpdate() { return false; } onPointerDown = (e: React.PointerEvent): void => { if (e.buttons === 1 && this.props.isSelected()) { e.stopPropagation(); } } onPointerWheel = (e: React.WheelEvent): void => { e.stopPropagation(); } createTable = () => { let table: Array = [] let ret = "waiting" let doc = this.props.doc.GetT(KeyStore.Data, Document); if (!doc || doc == "") { return Loading... } let realDoc = doc; let ids: { [key: string]: string } = {}; let protos = doc.GetAllPrototypes(); for (const proto of protos) { proto._proxies.forEach((val, key) => { if (!(key in ids)) { ids[key] = key; } }) } let rows: JSX.Element[] = []; for (let key in ids) { rows.push() } return rows; } render() { return ( {this.createTable()}
Key Fields
) } }