mirror of
https://github.com/skishore/makemeahanzi.git
synced 2025-11-02 21:41:28 +08:00
Hack at metadata contenteditable until it works
This commit is contained in:
@ -75,7 +75,8 @@
|
|||||||
{{#each items}}
|
{{#each items}}
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<label class="control-label">{{label}}</label>
|
<label class="control-label">{{label}}</label>
|
||||||
<span class="value" contenteditable="true">{{value}}</span>
|
<span class="value" contenteditable="true"
|
||||||
|
data-field="{{field}}">{{value}}</span>
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -89,12 +89,16 @@ Template.metadata.events({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const glyph = Session.get('editor.glyph');
|
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('');
|
$(event.target).text('');
|
||||||
glyph.metadata[this.field] = value;
|
glyph.metadata[this.field] = value;
|
||||||
Session.set('editor.glyph', glyph);
|
Session.set('editor.glyph', glyph);
|
||||||
} else {
|
} else {
|
||||||
$(event.target).text(value || unknown);
|
$(event.target).text(value || defaults[this.field] || unknown);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@ -110,10 +114,17 @@ Template.metadata.helpers({
|
|||||||
if (!glyph) return;
|
if (!glyph) return;
|
||||||
const defaults = cjklib.getCharacterData(glyph.character);
|
const defaults = cjklib.getCharacterData(glyph.character);
|
||||||
const fields = ['definition', 'pinyin', 'strokes']
|
const fields = ['definition', 'pinyin', 'strokes']
|
||||||
return fields.map((x) => ({
|
const result = fields.map((x) => ({
|
||||||
field: x,
|
field: x,
|
||||||
label: `${x[0].toUpperCase()}${x.substr(1)}:`,
|
label: `${x[0].toUpperCase()}${x.substr(1)}:`,
|
||||||
value: glyph.metadata[x] || defaults[x] || unknown,
|
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;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user