Hack at metadata contenteditable until it works

This commit is contained in:
Shaunak Kishore
2015-09-30 00:21:01 -04:00
parent 5b2b1d2e30
commit 0d7f3516c0
2 changed files with 16 additions and 4 deletions

View File

@ -75,7 +75,8 @@
{{#each items}}
<div class="field">
<label class="control-label">{{label}}</label>
<span class="value" contenteditable="true">{{value}}</span>
<span class="value" contenteditable="true"
data-field="{{field}}">{{value}}</span>
</div>
{{/each}}
</div>

View File

@ -89,12 +89,16 @@ Template.metadata.events({
}
}
const glyph = Session.get('editor.glyph');
if (glyph.metadata[this.field] !== value) {
const defaults = cjklib.getCharacterData(glyph.character);
if (value === defaults[this.field]) {
value = null;
}
if (value !== glyph.metadata[this.field]) {
$(event.target).text('');
glyph.metadata[this.field] = value;
Session.set('editor.glyph', glyph);
} else {
$(event.target).text(value || unknown);
$(event.target).text(value || defaults[this.field] || unknown);
}
},
});
@ -110,10 +114,17 @@ Template.metadata.helpers({
if (!glyph) return;
const defaults = cjklib.getCharacterData(glyph.character);
const fields = ['definition', 'pinyin', 'strokes']
return fields.map((x) => ({
const result = fields.map((x) => ({
field: x,
label: `${x[0].toUpperCase()}${x.substr(1)}:`,
value: glyph.metadata[x] || defaults[x] || unknown,
}));
for (let entry of result) {
const element = $(`.metadata .field [data-field="${entry.field}"]`);
if (element.text() != entry.value) {
element.text('');
}
}
return result;
},
});