| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- const _ = require('../utils/under-dash');
- class Note {
- constructor(note) {
- this.note = note;
- }
- get model() {
- let value = null;
- switch (typeof this.note) {
- case 'string':
- value = {
- type: 'note',
- note: {
- texts: [
- {
- text: this.note,
- },
- ],
- },
- };
- break;
- default:
- value = {
- type: 'note',
- note: this.note,
- };
- break;
- }
- // Suitable for all cell comments
- return _.deepMerge({}, Note.DEFAULT_CONFIGS, value);
- }
- set model(value) {
- const {note} = value;
- const {texts} = note;
- if (texts.length === 1 && Object.keys(texts[0]).length === 1) {
- this.note = texts[0].text;
- } else {
- this.note = note;
- }
- }
- static fromModel(model) {
- const note = new Note();
- note.model = model;
- return note;
- }
- }
- Note.DEFAULT_CONFIGS = {
- note: {
- margins: {
- insetmode: 'auto',
- inset: [0.13, 0.13, 0.25, 0.25],
- },
- protection: {
- locked: 'True',
- lockText: 'True',
- },
- editAs: 'absolute',
- },
- };
- module.exports = Note;
|