@focuson/form_components
Version:
Components that can be used by @focuson/forms
40 lines (39 loc) • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssertState = exports.AssertPages = exports.MakeTest = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const focuson_1 = require("@focuson/focuson");
const pages_1 = require("@focuson/pages");
const utils_1 = require("@focuson/utils");
function MakeTest({ state }) {
function onClick() {
const traces = state.copyWithLens((0, focuson_1.traceL)()).optJson();
const result = (0, utils_1.safeArray)(traces).map((j, i) => `const step${i} = ${JSON.stringify(j, null, 2)}`);
const allTraces = `const allSteps = [${result.map((r, i) => `step${i}`).join(',')}]`;
navigator.clipboard.writeText(result.join('\n\n') + '\n\n' + allTraces);
}
return (0, jsx_runtime_1.jsx)("button", Object.assign({ onClick: onClick }, { children: "Make Test" }));
}
exports.MakeTest = MakeTest;
function AssertPages({ state }) {
function onClick() {
const pages = state.copyWithLens(state.context.pageSelectionL).optJson();
navigator.clipboard.writeText(JSON.stringify({ pages }));
}
return (0, jsx_runtime_1.jsx)("button", Object.assign({ onClick: onClick }, { children: "Assert Page" }));
}
exports.AssertPages = AssertPages;
function AssertState({ state }) {
function onChange(e) {
try {
let json = (0, pages_1.fromPathGivenState)(state)(e.target.value).getOption(state.main);
console.log(e.target.value, json);
navigator.clipboard.writeText(JSON.stringify({ assert: { focusOn: e.target.value, json } }));
}
catch (e) {
console.log(e);
}
}
return (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("input", { onChange: onChange, type: 'text' }) });
}
exports.AssertState = AssertState;