{"version":3,"file":"vanza007-ang-jsoneditor.mjs","sources":["../../../projects/jsoneditor/src/lib/jsoneditoroptions.ts","../../../projects/jsoneditor/src/lib/jsoneditor.component.ts","../../../projects/jsoneditor/src/public-api.ts","../../../projects/jsoneditor/src/vanza007-ang-jsoneditor.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\r\n\r\nexport type JsonEditorMode = 'tree' | 'view' | 'form' | 'code' | 'text';\r\n\r\nexport interface JsonEditorTreeNode {\r\n  field: String,\r\n  value: String,\r\n  path: String[]\r\n}\r\n\r\nexport interface IError {\r\n  path: (string | number)[];\r\n  message: string;\r\n}\r\n\r\nexport class JsonEditorOptions {\r\n  public ace: any;\r\n  public ajv: Object;\r\n\r\n\r\n  /**\r\n   *   {function} onChange  Callback method, triggered\r\n  on change of contents.\r\n  Does not pass the contents itself.\r\n  See also `onChangeJSON` and\r\n  `onChangeText`.\r\n   */\r\n  public onChange: () => void;\r\n\r\n  /**\r\n   *   // {function} onChangeJSON  Callback method, triggered\r\n//     in modes on change of contents,\r\n//     passing the changed contents\r\n//     as JSON.\r\n//     Only applicable for modes\r\n//     'tree', 'view', and 'form'.\r\n   */\r\n  public onChangeJSON?: () => void;\r\n\r\n\r\n  public onNodeName: () => void;\r\n  public onCreateMenu: (items: Array<any>, node: object) => Array<any>;\r\n  public onColorPicker: () => void;\r\n\r\n  /**\r\n  // {function} onChangeText  Callback method, triggered\r\n  //     in modes on change of contents,\r\n  //     passing the changed contents\r\n  //     as stringified JSON.\r\n   */\r\n  public onChangeText: (jsonstr: string) => void;\r\n\r\n\r\n  /**\r\n   *   {function} onSelectionChange Callback method,\r\n  triggered on node selection change\r\n  Only applicable for modes\r\n  'tree', 'view', and 'form'\r\n   */\r\n  public onSelectionChange: () => void;\r\n\r\n  /**\r\n   *     {function} onTextSelectionChange Callback method,\r\n  triggered on text selection change\r\n  Only applicable for modes\r\n   */\r\n  public onTextSelectionChange: () => void;\r\n\r\n\r\n  /**\r\n   *   // {function} onEvent Callback method, triggered\r\n    // when an event occurs in\r\n    // a JSON field or value.\r\n    // Only applicable for\r\n    // modes 'form', 'tree' and\r\n    // 'view'\r\n   */\r\n  public onEvent: () => void;\r\n\r\n  /**\r\n   * // *   {function} onFocus  Callback method, triggered\r\n//  when the editor comes into focus,\r\n//  passing an object {type, target},\r\n//  Applicable for all modes\r\n   */\r\n  public onFocus: () => void;\r\n\r\n  // *   {function} onBlur   Callback method, triggered\r\n  //  when the editor goes out of focus,\r\n  //  passing an object {type, target},\r\n  //  Applicable for all modes\r\n  public onBlur: () => void;\r\n\r\n  /**\r\n   *  // *   {function} onClassName Callback method, triggered\r\n// when a Node DOM is rendered. Function returns\r\n// a css class name to be set on a node.\r\n// Only applicable for\r\n// modes 'form', 'tree' and\r\n// 'view'\r\n   */\r\n  public onClassName: (node: JsonEditorTreeNode) => void;\r\n\r\n  public onEditable: (node: JsonEditorTreeNode | {}) => boolean | { field: boolean, value: boolean };\r\n\r\n  /**\r\n   *   {function} onError   Callback method, triggered\r\n  when an error occurs\r\n   */\r\n  public onError: (error: any) => void;\r\n  public onModeChange: (newMode: JsonEditorMode, oldMode: JsonEditorMode) => void;\r\n  public onValidate: (json: Object) => IError[];\r\n  public onValidationError: (errors: object[]) => void;\r\n\r\n  public enableSort: boolean;\r\n  public enableTransform: boolean;\r\n  public escapeUnicode: boolean;\r\n  public expandAll?: boolean;\r\n  public sortObjectKeys: boolean;\r\n  public history: boolean;\r\n  public mode: JsonEditorMode;\r\n  public modes: JsonEditorMode[];\r\n  public name: String;\r\n  public schema: Object;\r\n  public search: boolean;\r\n  public indentation: Number;\r\n  public templates: Object;\r\n  public theme: Number;\r\n  public language: String;\r\n  public languages: Object;\r\n  public limitDragging: boolean;\r\n\r\n  /**\r\n   * Adds main menu bar - Contains format, sort, transform, search etc. functionality. True\r\n   * by default. Applicable in all types of mode.\r\n   */\r\n  public mainMenuBar: boolean;\r\n\r\n  /**\r\n   * Adds navigation bar to the menu - the navigation bar visualize the current position on\r\n   * the tree structure as well as allows breadcrumbs navigation.\r\n   * True by default.\r\n   * Only applicable when mode is 'tree', 'form' or 'view'.\r\n   */\r\n  public navigationBar: boolean;\r\n\r\n  /**\r\n   * Adds status bar to the bottom of the editor - the status bar shows the cursor position\r\n   * and a count of the selected characters.\r\n   * True by default.\r\n   * Only applicable when mode is 'code' or 'text'.\r\n   */\r\n  public statusBar: boolean;\r\n\r\n  constructor() {\r\n    this.enableSort = true;\r\n    this.enableTransform = true;\r\n    this.escapeUnicode = false;\r\n    this.expandAll = false;\r\n    this.sortObjectKeys = false;\r\n    this.history = true;\r\n    this.mode = 'tree';\r\n    this.search = true;\r\n    this.indentation = 2;\r\n  }\r\n}\r\n","/* eslint-disable @typescript-eslint/ban-types */\r\n/* eslint-disable @angular-eslint/no-input-rename */\r\n/* eslint-disable @angular-eslint/no-output-native */\r\n\r\nimport JSONEditor from 'jsoneditor';\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n  forwardRef\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { IError, JsonEditorMode, JsonEditorOptions, JsonEditorTreeNode } from './jsoneditoroptions';\r\n\r\n@Component({\r\n  // eslint-disable-next-line @angular-eslint/component-selector\r\n  selector: 'json-editor',\r\n  standalone: true,\r\n  template: `<div [id]=\"id\" #jsonEditorContainer></div>`,\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => JsonEditorComponent),\r\n      multi: true\r\n    }\r\n  ],\r\n  preserveWhitespaces: false,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class JsonEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\r\n  @ViewChild('jsonEditorContainer', { static: true }) jsonEditorContainer: ElementRef;\r\n  @Input() options: JsonEditorOptions = new JsonEditorOptions();\r\n  @Output()\r\n  change: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output()\r\n  jsonChange: EventEmitter<any> = new EventEmitter<any>();\r\n  @Input() debug = false;\r\n  public optionsChanged = false;\r\n\r\n  disabled = false;\r\n  isFocused = false;\r\n\r\n  public id = 'angjsoneditor' + Math.floor(Math.random() * 1000000);\r\n  private _data: Object = {};\r\n  private editor: JSONEditor;\r\n\r\n  constructor() { }\r\n\r\n  @Input('data')\r\n  set data(value: Object) {\r\n    this._data = value;\r\n    if (this.editor) {\r\n      this.editor.destroy();\r\n      this.ngOnInit();\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    let optionsBefore = this.options;\r\n    if (!this.optionsChanged && this.editor) {\r\n      //TODO: check if this is needed\r\n      optionsBefore = (this.editor as any).options;\r\n    }\r\n\r\n    if (!this.options.onChangeJSON && this.jsonChange) {\r\n      this.options.onChangeJSON = this.onChangeJSON;\r\n    }\r\n    if (!this.options.onChange && this.change) {\r\n      this.options.onChange = this.onChange;\r\n    }\r\n    const optionsCopy = Object.assign({}, optionsBefore);\r\n\r\n    // expandAll is an option only supported by ang-jsoneditor and not by the the original jsoneditor.\r\n    delete optionsCopy.expandAll;\r\n    if (this.debug) {\r\n      console.log(optionsCopy, this._data);\r\n    }\r\n    if (!this.jsonEditorContainer.nativeElement) {\r\n      console.error(`Can't find the ElementRef reference for jsoneditor)`);\r\n    }\r\n\r\n    if (\r\n        optionsCopy.mode === 'text' || optionsCopy.mode === 'code' ||\r\n        (\r\n          optionsCopy.modes &&\r\n          (optionsCopy.modes.indexOf('text') !== -1 || optionsCopy.modes.indexOf('code') !== -1)\r\n        )\r\n      ) {\r\n      optionsCopy.onChangeJSON = undefined;\r\n    }\r\n    this.editor = new JSONEditor(this.jsonEditorContainer.nativeElement, optionsCopy as any, this._data);\r\n\r\n    if (this.options.expandAll) {\r\n      this.editor.expandAll();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.destroy();\r\n  }\r\n\r\n\r\n  /**\r\n   * ngModel\r\n   * ControlValueAccessor\r\n   */\r\n\r\n  // ControlValueAccessor implementation\r\n  writeValue(value: any) {\r\n    this.data = value;\r\n  }\r\n\r\n  // Implemented as part of ControlValueAccessor\r\n  registerOnChange(fn: any) {\r\n    this.onChangeModel = fn;\r\n  }\r\n\r\n  // Implemented as part of ControlValueAccessor.\r\n  registerOnTouched(fn: any) {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  // Implemented as part of ControlValueAccessor.\r\n  setDisabledState(isDisabled: boolean): void {\r\n    this.disabled = isDisabled;\r\n  }\r\n\r\n  public onChange = () => {\r\n    if (this.editor) {\r\n      try {\r\n        const json = this.editor.get();\r\n        this.onChangeModel(json);\r\n        this.change.emit(json);\r\n      } catch (error) {\r\n        if (this.debug) {\r\n          console.log(error);\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  public onChangeJSON = () => {\r\n    if (this.editor) {\r\n      try {\r\n        this.jsonChange.emit(this.editor.get());\r\n      } catch (error) {\r\n        if (this.debug) {\r\n          console.log(error);\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n\r\n  /**\r\n   * JSON EDITOR FUNCTIONS\r\n   */\r\n\r\n  public collapseAll() {\r\n    this.editor.collapseAll();\r\n  }\r\n\r\n  public expandAll() {\r\n    this.editor.expandAll();\r\n  }\r\n\r\n  public focus() {\r\n    this.editor.focus();\r\n  }\r\n\r\n  public get(): JSON {\r\n    return this.editor.get();\r\n  }\r\n\r\n  public getMode(): JsonEditorMode {\r\n    return this.editor.getMode() as JsonEditorMode;\r\n  }\r\n\r\n  public getName(): string {\r\n    return this.editor.getName()!;\r\n  }\r\n\r\n  public getText(): string {\r\n    return this.editor.getText();\r\n  }\r\n\r\n  public set(json: JSON) {\r\n    this.editor.set(json);\r\n  }\r\n\r\n  public setMode(mode: JsonEditorMode) {\r\n    this.editor.setMode(mode);\r\n  }\r\n\r\n  public setName(name: string) {\r\n    this.editor.setName(name);\r\n  }\r\n\r\n  public setSelection(start: any, end: any) {\r\n    this.editor.setSelection(start, end);\r\n  }\r\n\r\n  public getSelection(): any {\r\n    return this.editor.getSelection();\r\n  }\r\n\r\n  public getValidateSchema(): any {\r\n    //TODO: check if this is needed\r\n    return (this.editor as any).validateSchema;\r\n  }\r\n\r\n  public setSchema(schema: any, schemaRefs: any) {\r\n    this.editor.setSchema(schema, schemaRefs);\r\n  }\r\n\r\n  public search(query: string) {\r\n    //TODO: check if this is needed\r\n    (this.editor as any).search(query);\r\n  }\r\n\r\n  public setOptions(newOptions: JsonEditorOptions) {\r\n    if (this.editor) {\r\n      this.editor.destroy();\r\n    }\r\n    this.optionsChanged = true;\r\n    this.options = newOptions;\r\n    this.ngOnInit();\r\n  }\r\n\r\n  public update(json: JSON) {\r\n    this.editor.update(json);\r\n  }\r\n\r\n  public destroy() {\r\n    this.editor.destroy();\r\n  }\r\n\r\n  public getEditor(){\r\n    //TODO: made it any because of the missing type definition\r\n    return this.editor as any;\r\n  }\r\n\r\n  public isValidJson() {\r\n    try {\r\n      JSON.parse(this.getText());\r\n      return true;\r\n    } catch (e) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  // Implemented as part of ControlValueAccessor.\r\n  private onTouched = () => {\r\n  };\r\n\r\n  // Implemented as part of ControlValueAccessor.\r\n  private onChangeModel = (e: any) => {\r\n  };\r\n}\r\n\r\nexport { JsonEditorOptions, JsonEditorMode, JsonEditorTreeNode, IError };\r\n","/*\r\n * Public API Surface of jsoneditor\r\n */\r\n\r\nexport * from './lib/jsoneditor.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}