Files
vue3js-app-proposal-for-sdk…/static/store.js
c0dev0id 86b14dfaa3 Article export + Bootstrap toggle + export change log
- patchScore() now accepts articles[] and returns { text, log } instead
  of a plain string. Dirty articles are re-serialized into the articles:
  block (block style, replacing any existing flow-style entries). Clean
  articles bypass the patcher entirely.
- article.isDirty is set on direct property edits so the exporter can
  distinguish directly changed entities from propagated dirty state.
- patchScore() log collects { level:'changed', path } for each patched
  article/instrument/bar, and a { level:'info', message } entry for the
  count of bar documents passed through unchanged.
- CP pane shows the export log above the status poller after each export.
- Article scope toggle replaced with Bootstrap form-check form-switch;
  hand-rolled .se-toggle CSS removed.
- Test suite updated for { text, log } return; 11 new assertions (188 total).
2026-06-30 06:27:12 +02:00

30 lines
612 B
JavaScript

import { reactive } from 'vue';
export const store = reactive({
scoreModel: null,
rawScoreText: null,
focusPath: [],
credentials: null,
synthesisStatus: null,
isDirty: false,
errorMessage: '',
exportLog: [],
setFocus(path) {
this.focusPath = path;
},
pushFocus(node) {
const idx = this.focusPath.indexOf(node);
if (idx !== -1) {
this.focusPath = this.focusPath.slice(0, idx + 1);
} else {
this.focusPath = [...this.focusPath, node];
}
},
markDirty() {
this.isDirty = true;
},
});