import * as React from "react"; import { observable, runInAction } from "mobx"; import { observer } from "mobx-react"; import { PastelSchemaPalette } from "../../../new_fields/SchemaHeaderField"; interface IKeyRestrictionProps { contains: boolean; script: (value: string) => void; } @observer export default class KeyRestrictionRow extends React.Component { @observable private _key = ""; @observable private _value = ""; @observable private _contains = this.props.contains; render() { if (this._key && this._value) { let parsedValue: string | number = `"${this._value}"`; let parsed = parseInt(this._value); if (!isNaN(parsed)) { parsedValue = parsed; } let scriptText = `(doc.${this._key} ${this._contains ? "===" : "!=="} ${parsedValue})`; this.props.script(scriptText); } return (
runInAction(() => this._key = e.target.value)} placeholder="KEY" /> runInAction(() => this._value = e.target.value)} placeholder="VALUE" />
); } }