UNPKG

ang-json-editor-13

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.3.3.

1 lines 19.3 kB
{"version":3,"file":"ng-json-editor.mjs","sources":["../../../projects/ang-jsoneditor/src/lib/jsoneditoroptions.ts","../../../projects/ang-jsoneditor/src/lib/ang-jsoneditor.component.ts","../../../projects/ang-jsoneditor/src/lib/ang-jsoneditor.module.ts","../../../projects/ang-jsoneditor/src/public-api.ts","../../../projects/ang-jsoneditor/src/ng-json-editor.ts"],"sourcesContent":["\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: (e:any) => 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: unknown;\r\n\r\n\r\n public onNodeName: () => void;\r\n public onCreateMenu: () => void;\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: () => 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 template: Object;\r\n public theme: Number;\r\n public language: String;\r\n public languages: Object;\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","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { IError, JsonEditorMode, JsonEditorOptions, JsonEditorTreeNode } from './jsoneditoroptions';\n\nimport editor from 'jsoneditor';\n\n@Component({\n selector: 'ng-json-editor',\n template: `<div [id]=\"id\" #jsonEditorContainer></div>`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AngJsoneditorComponent),\n multi: true\n }\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AngJsoneditorComponent 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: boolean = false;\n\n @Output()\n change: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n jsonChange: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() { }\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 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 editor(this.jsonEditorContainer.nativeElement, optionsCopy as any, 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: (e: any) => void) {\n this.onChangeModel = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: () => void) {\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: any) => {\n };\n\n public onChange(e: any) {\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: any) {\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\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: any, end: any) {\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}\n\n\nexport { JsonEditorOptions, JsonEditorMode, JsonEditorTreeNode, IError };","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { AngJsoneditorComponent } from './ang-jsoneditor.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [\n AngJsoneditorComponent\n ],\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [\n AngJsoneditorComponent\n ]\n})\nexport class AngJsoneditorModule {\n public static forRoot(): ModuleWithProviders<any> {\n\n return {\n ngModule: AngJsoneditorModule,\n providers: [\n ]\n };\n }\n }\n","/*\n * Public API Surface of ang-jsoneditor\n */\n\nexport * from './lib/ang-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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"}