devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
120 lines (119 loc) • 8.37 kB
JavaScript
import { boolToInt } from '@devexpress/utils/lib/utils/common';
import { ControlOptions } from '../../options/control';
import { JSONControlOptionsProperty } from '../enums/json-control-enums';
export class JSONControlOptionsConverter {
static convertFromJSON(obj) {
if (!obj)
return;
const result = new ControlOptions();
if (obj[JSONControlOptionsProperty.Copy] !== undefined)
result.copy = obj[JSONControlOptionsProperty.Copy];
if (obj[JSONControlOptionsProperty.CreateNew] !== undefined)
result.createNew = obj[JSONControlOptionsProperty.CreateNew];
if (obj[JSONControlOptionsProperty.Cut] !== undefined)
result.cut = obj[JSONControlOptionsProperty.Cut];
if (obj[JSONControlOptionsProperty.Drag] !== undefined)
result.drag = obj[JSONControlOptionsProperty.Drag];
if (obj[JSONControlOptionsProperty.Drop] !== undefined)
result.drop = obj[JSONControlOptionsProperty.Drop];
if (obj[JSONControlOptionsProperty.Open] !== undefined)
result.open = obj[JSONControlOptionsProperty.Open];
if (obj[JSONControlOptionsProperty.Paste] !== undefined)
result.paste = obj[JSONControlOptionsProperty.Paste];
if (obj[JSONControlOptionsProperty.Printing] !== undefined)
result.printing = obj[JSONControlOptionsProperty.Printing];
if (obj[JSONControlOptionsProperty.Save] !== undefined)
result.save = obj[JSONControlOptionsProperty.Save];
if (obj[JSONControlOptionsProperty.SaveAs] !== undefined)
result.saveAs = obj[JSONControlOptionsProperty.SaveAs];
if (obj[JSONControlOptionsProperty.FullScreen] !== undefined)
result.fullScreen = obj[JSONControlOptionsProperty.FullScreen];
if (obj[JSONControlOptionsProperty.Bookmarks] !== undefined)
result.bookmarks = obj[JSONControlOptionsProperty.Bookmarks];
if (obj[JSONControlOptionsProperty.CharacterFormatting] !== undefined)
result.characterFormatting = obj[JSONControlOptionsProperty.CharacterFormatting];
if (obj[JSONControlOptionsProperty.CharacterStyle] !== undefined)
result.characterStyle = obj[JSONControlOptionsProperty.CharacterStyle];
if (obj[JSONControlOptionsProperty.Fields] !== undefined)
result.fields = obj[JSONControlOptionsProperty.Fields];
if (obj[JSONControlOptionsProperty.Hyperlinks] !== undefined)
result.hyperlinks = obj[JSONControlOptionsProperty.Hyperlinks];
if (obj[JSONControlOptionsProperty.InlinePictures] !== undefined)
result.inlinePictures = obj[JSONControlOptionsProperty.InlinePictures];
if (obj[JSONControlOptionsProperty.ParagraphFormatting] !== undefined)
result.paragraphFormatting = obj[JSONControlOptionsProperty.ParagraphFormatting];
if (obj[JSONControlOptionsProperty.Paragraphs] !== undefined)
result.paragraphs = obj[JSONControlOptionsProperty.Paragraphs];
if (obj[JSONControlOptionsProperty.ParagraphStyle] !== undefined)
result.paragraphStyle = obj[JSONControlOptionsProperty.ParagraphStyle];
if (obj[JSONControlOptionsProperty.ParagraphTabs] !== undefined)
result.paragraphTabs = obj[JSONControlOptionsProperty.ParagraphTabs];
if (obj[JSONControlOptionsProperty.Sections] !== undefined)
result.sections = obj[JSONControlOptionsProperty.Sections];
if (obj[JSONControlOptionsProperty.TabSymbol] !== undefined)
result.tabSymbol = obj[JSONControlOptionsProperty.TabSymbol];
if (obj[JSONControlOptionsProperty.Undo] !== undefined)
result.undo = obj[JSONControlOptionsProperty.Undo];
if (obj[JSONControlOptionsProperty.NumberingBulleted] !== undefined)
result.numberingBulleted = obj[JSONControlOptionsProperty.NumberingBulleted];
if (obj[JSONControlOptionsProperty.NumberingMultiLevel] !== undefined)
result.numberingMultiLevel = obj[JSONControlOptionsProperty.NumberingMultiLevel];
if (obj[JSONControlOptionsProperty.NumberingSimple] !== undefined)
result.numberingSimple = obj[JSONControlOptionsProperty.NumberingSimple];
if (obj[JSONControlOptionsProperty.HeadersFooters] !== undefined)
result.headersFooters = obj[JSONControlOptionsProperty.HeadersFooters];
if (obj[JSONControlOptionsProperty.Tables] !== undefined)
result.tables = obj[JSONControlOptionsProperty.Tables];
if (obj[JSONControlOptionsProperty.TableStyle] !== undefined)
result.tableStyle = obj[JSONControlOptionsProperty.TableStyle];
if (obj[JSONControlOptionsProperty.TabMarker] !== undefined)
result.tabMarker = obj[JSONControlOptionsProperty.TabMarker];
if (obj[JSONControlOptionsProperty.PageBreakInsertMode] !== undefined)
result.pageBreakInsertMode = obj[JSONControlOptionsProperty.PageBreakInsertMode];
if (obj[JSONControlOptionsProperty.AcceptsTab] !== undefined)
result.acceptsTab = obj[JSONControlOptionsProperty.AcceptsTab];
if (obj[JSONControlOptionsProperty.Download] !== undefined)
result.download = obj[JSONControlOptionsProperty.Download];
result.raiseClientEventsOnModificationsViaAPI = !!obj[JSONControlOptionsProperty.RaiseClientEventsOnModificationsViaAPI];
return result;
}
static convertToJSON(source) {
const result = {};
result[JSONControlOptionsProperty.Copy] = source.copy;
result[JSONControlOptionsProperty.CreateNew] = source.createNew;
result[JSONControlOptionsProperty.Cut] = source.cut;
result[JSONControlOptionsProperty.Drag] = source.drag;
result[JSONControlOptionsProperty.Drop] = source.drop;
result[JSONControlOptionsProperty.Open] = source.open;
result[JSONControlOptionsProperty.Paste] = source.paste;
result[JSONControlOptionsProperty.Printing] = source.printing;
result[JSONControlOptionsProperty.Save] = source.save;
result[JSONControlOptionsProperty.SaveAs] = source.saveAs;
result[JSONControlOptionsProperty.FullScreen] = source.fullScreen;
result[JSONControlOptionsProperty.Bookmarks] = source.bookmarks;
result[JSONControlOptionsProperty.CharacterFormatting] = source.characterFormatting;
result[JSONControlOptionsProperty.CharacterStyle] = source.characterStyle;
result[JSONControlOptionsProperty.Fields] = source.fields;
result[JSONControlOptionsProperty.Hyperlinks] = source.hyperlinks;
result[JSONControlOptionsProperty.InlinePictures] = source.inlinePictures;
result[JSONControlOptionsProperty.ParagraphFormatting] = source.paragraphFormatting;
result[JSONControlOptionsProperty.Paragraphs] = source.paragraphs;
result[JSONControlOptionsProperty.ParagraphStyle] = source.paragraphStyle;
result[JSONControlOptionsProperty.ParagraphTabs] = source.paragraphTabs;
result[JSONControlOptionsProperty.Sections] = source.sections;
result[JSONControlOptionsProperty.TabSymbol] = source.tabSymbol;
result[JSONControlOptionsProperty.Undo] = source.undo;
result[JSONControlOptionsProperty.NumberingBulleted] = source.numberingBulleted;
result[JSONControlOptionsProperty.NumberingMultiLevel] = source.numberingMultiLevel;
result[JSONControlOptionsProperty.NumberingSimple] = source.numberingSimple;
result[JSONControlOptionsProperty.HeadersFooters] = source.headersFooters;
result[JSONControlOptionsProperty.Tables] = source.tables;
result[JSONControlOptionsProperty.TableStyle] = source.tableStyle;
result[JSONControlOptionsProperty.TabMarker] = source.tabMarker;
result[JSONControlOptionsProperty.PageBreakInsertMode] = source.pageBreakInsertMode;
result[JSONControlOptionsProperty.AcceptsTab] = boolToInt(source.acceptsTab);
result[JSONControlOptionsProperty.Download] = source.download;
result[JSONControlOptionsProperty.RaiseClientEventsOnModificationsViaAPI] = source.raiseClientEventsOnModificationsViaAPI;
return result;
}
}