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