1"use strict";(self.webpackChunkdomshop=self.webpackChunkdomshop||[]).push([[5878],{15878:(V,g,r)=>{r.r(g),r.d(g,{CodeEditorComponent:()=>O});var t=r(4020),m=r(60177),C=r(85770),v=r(77477),c=r(89417),D=r(72114),p=r(98006),f=r(87583),M=r(68691);function _(l,o){if(1&l&&(t.j41(0,"p",4),t.EFF(1),t.k0s()),2&l){const n=t.XpG(2);t.R7$(),t.JRh(n.errorMessage)}}function E(l,o){if(1&l){const n=t.RV6();t.j41(0,"c365-label-wrapper",1)(1,"ngx-monaco-editor",2),t.mxI("ngModelChange",function(i){t.eBV(n);const s=t.XpG();return t.DH7(s.currentValue,i)||(s.currentValue=i),t.Njj(i)}),t.bIt("onInit",function(i){t.eBV(n);const s=t.XpG();return t.Njj(s.onEditorInit(i))})("ngModelChange",function(){t.eBV(n);const i=t.XpG();return t.Njj(i.onEditorChange())}),t.k0s(),t.DNE(2,_,2,1,"p",3),t.k0s()}if(2&l){const n=t.XpG();t.Y8G("property",n.property)("propertyLabel",n.propertyLabel),t.R7$(),t.Y8G("options",n.editorOptions),t.R50("ngModel",n.currentValue),t.R7$(),t.Y8G("ngIf",!n.jsonValid)}}let O=(()=>{class l extends v.A{constructor(){super(...arguments),this.editorOptions={theme:"vs-light",language:"json",automaticLayout:!0},this.code="",this.jsonValid=!0,this.errorMessage="",this.editorInitialized=!1,this.cdr=(0,t.WQX)(t.gRc),this.bs=(0,t.WQX)(f.xM),this.layoutService=(0,t.WQX)(M.C365LayoutService)}ngOnInit(){super.ngOnInit(),this.currentValue=this.getInitialValue()?this.getInitialValue():""}changeEditorOptions(){const n="dark"===this.layoutService.config.colorScheme?"vs-dark":"vs-light";this.editorOptions.theme!==n&&setTimeout(()=>{this.monaco.editor.setTheme(n)},100);const e=this.property.controlOptions?.automaticLayout;this.editorOptions.automaticLayout!==e&&setTimeout(()=>{this._editor.updateOptions({automaticLayout:!0})},100);const i=this.property.controlOptions?.language||"json";this.editorOptions.language!==i&&setTimeout(()=>{this.monaco.editor.setModelLanguage(this._editor.getModel(),i)},100),this.cdr.detectChanges()}onEditorInit(n){this.editorInitialized=!0,this._editor=n,this.monaco=window.monaco,this._editor.getModel()?.onDidChangeContent(()=>this.checkValidation()),this.changeEditorOptions(),this.checkValidation(),this.property.controlOptions?.suggestions&&this.createCustomSuggestions(this._editor.getModel())}createCustomSuggestions(n){const e=this.monaco.languages.registerCompletionItemProvider(this.property.controlOptions?.language||"json",{provideCompletionItems:(i,s)=>i!==n?{suggestions:[]}:new Promise((u,d)=>{let a="/cockpit/service/rest/data/"+this.property.interactiveForm.instanceSelfClass+"/"+this.property.interactiveForm.instanceCockpitId+"/suggestions?formId="+this.property.interactiveForm.formCockpitId+"&propertyId="+this.property.itemIdentifier+"&row="+s.lineNumber+"&col="+s.column;null!=this.property.subformItemIdentifier&&""!=this.property.subformItemIdentifier&&(a+="&propertyIdSub="+this.property.subformItemIdentifier),this.bs.post(a,JSON.stringify(this.getCurrentValue())).subscribe(h=>{const I=h?.result?.map(T=>({label:T.label,kind:this.monaco.languages.CompletionItemKind.Property,insertText:T.insertText,insertTextRules:this.monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,detail:T.documentation}));u({suggestions:I})},h=>{console.error("Error fetching suggestions:",h),d(h)})})});n.onWillDispose(()=>{e.dispose()})}onChange(n){console.warn(n),super.onChange(n)}onEditorChange(){this.modelChanged$.next(this.getCurrentValue())}checkValidation(){if(!this.property.controlOptions?.syntaxcheck)return!0;try{this.getCurrentValue()&&"json"===this.property.controlOptions?.language?(JSON.parse(this.getCurrentValue()),this.errorMessage="",this.jsonValid=!0,this.cdr.detectChanges()):this.jsonValid=!0}catch{this.jsonValid=!1,setTimeout(()=>{const e=this.monaco.editor.getModelMarkers({owner:"json"});e.length>0&&(this.errorMessage="Invalid JSON ("+e[0].message+")",this.jsonValid=!1),this.cdr.detectChanges()},1500)}return this.jsonValid}getCurrentValue(){return this.currentValue}handleValueChange(n){this.currentValue=n.value,this.prettyPrint()}validate(){return!(!super.validate()||(this.checkValidation()?!this.property.required||null!=this.currentValue&&""!=this.currentValue?(this.errorMessage="",this.cdr.detectChanges(),0):(this.property.invalid=!0,this.errorMessage="No value provided",this.cdr.detectChanges(),1):(this.property.invalid=!0,this.errorMessage="Invalid JSON(",this.cdr.detectChanges(),1)))}fill(n){this.currentValue?n[this.property?.itemIdentifier]=this.currentValue:this.setNullValue(n,"")}prettyPrint(){setTimeout(()=>{this._editor.getAction("editor.action.formatDocument").run()},300)}static{this.\u0275fac=(()=>{let n;return function(i){return(n||(n=t.xGo(l)))(i||l)}})()}static{this.\u0275cmp=t.VBU({type:l,selectors:[["c365-codeeditor"]],features:[t.Vt3],decls:1,vars:1,consts:[[3,"property","propertyLabel",4,"ngIf"],[3,"property","propertyLabel"],[3,"ngModelChange","onInit","o
1ptions","ngModel"],["class","text-xs","style","color: red;",4,"ngIf"],[1,"text-xs",2,"color","red"]],template:function(e,i){1&e&&t.DNE(0,E,3,5,"c365-label-wrapper",0),2&e&&t.Y8G("ngIf",i.property)},dependencies:[m.MD,m.bT,C.UX,c.YN,c.BC,c.vS,D.V,p.Vv,p.xn],encapsulation:2})}}return l})()},33726:(V,g,r)=>{r.d(g,{R:()=>_});var t=r(58750),m=r(71985),C=r(73028),v=r(47441),c=r(98071),D=r(6450);const p=["addListener","removeListener"],f=["addEventListener","removeEventListener"],M=["on","off"];function _(o,n,e,i){if((0,c.T)(e)&&(i=e,e=void 0),i)return _(o,n,e).pipe((0,D.I)(i));const[s,u]=function l(o){return(0,c.T)(o.addEventListener)&&(0,c.T)(o.removeEventListener)}(o)?f.map(d=>a=>o[d](n,a,e)):function y(o){return(0,c.T)(o.addListener)&&(0,c.T)(o.removeListener)}(o)?p.map(E(o,n)):function O(o){return(0,c.T)(o.on)&&(0,c.T)(o.off)}(o)?M.map(E(o,n)):[];if(!s&&(0,v.X)(o))return(0,C.Z)(d=>_(d,n,e))((0,t.Tg)(o));if(!s)throw new TypeError("Invalid event target");return new m.c(d=>{const a=(...h)=>d.next(1<h.length?h:h[0]);return s(a),()=>u(a)})}function E(o,n){return e=>i=>o[e](n,i)}},98006:(V,g,r)=>{r.d(g,{Vv:()=>O,xn:()=>E});var t=r(4020),m=r(89417),C=r(33726),v=r(60177);const c=["editorContainer"],p=new t.nKC("NGX_MONACO_EDITOR_CONFIG");let M,f=!1,_=(()=>{class o{constructor(){this.config=(0,t.WQX)(p),this.onInit=new t.bkB,this._insideNg=!1}set insideNg(e){this._insideNg=e,this._editor&&(this._editor.dispose(),this.initMonaco(this._options,this.insideNg))}get insideNg(){return this._insideNg}ngAfterViewInit(){f?M.then(()=>{this.initMonaco(this._options,this.insideNg)}):(f=!0,M=new Promise(e=>{let i=this.config.baseUrl;if(("assets"===i||!i)&&(i="./assets/monaco/min/vs"),"object"==typeof window.monaco)return this.initMonaco(this._options,this.insideNg),void e();const s=a=>{let h=a||window.require,I={paths:{vs:`${i}`}};Object.assign(I,this.config.requireConfig||{}),h.config(I),h(["vs/editor/editor.main"],()=>{"function"==typeof this.config.onMonacoLoad&&this.config.onMonacoLoad(),this.initMonaco(this._options,this.insideNg),e()})};if(this.config.monacoRequire)s(this.config.monacoRequire);else if(window.require)if(window.require.config)s();else{var u=`${i}/loader.js`,d=new XMLHttpRequest;d.addEventListener("load",()=>{let a=document.createElement("script");a.type="text/javascript",a.text=["var nodeRequire = require;",d.responseText.replace('"use strict";',""),"var monacoAmdRequire = require;","require = nodeRequire;","require.nodeRequire = require;"].join("\n"),document.body.appendChild(a),s(window.monacoAmdRequire)}),d.open("GET",u),d.send()}else{const a=document.createElement("script");a.type="text/javascript",a.src=`${i}/loader.js`,a.addEventListener("load",()=>{s()}),document.body.appendChild(a)}}))}ngOnDestroy(){this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._editor&&(this._editor.dispose(),this._editor=void 0)}static{this.\u0275fac=function(i){return new(i||o)}}static{this.\u0275cmp=t.VBU({type:o,selectors:[["ng-component"]],viewQuery:function(i,s){if(1&i&&t.GBs(c,7),2&i){let u;t.mGM(u=t.lsd())&&(s._editorContainer=u.first)}},inputs:{insideNg:"insideNg"},outputs:{onInit:"onInit"},standalone:!1,decls:0,vars:0,template:function(i,s){},encapsulation:2})}}return o})(),E=(()=>{class o extends _{constructor(){super(...arguments),this.zone=(0,t.WQX)(t.SKi),this._value="",this.propagateChange=e=>{},this.onTouched=()=>{}}set options(e){this._options=Object.assign({},this.config.defaultOptions,e),this._editor&&(this._editor.dispose(),this.initMonaco(e,this.insideNg))}get options(){return this._options}set model(e){this.options.model=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}writeValue(e){this._value=e||"",setTimeout(()=>{this._editor&&!this.options.model&&this._editor.setValue(this._value)})}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}initMonaco(e,i){const s=!!e.model;if(s){const u=monaco.editor.getModel(e.model.uri||"");u?(e.model=u,e.model.setValue(this._value)):e.model=monaco.editor.createModel(e.model.value,e.model.language,e.model.uri)}i?this._editor=monaco.editor.create(this._editorContainer.nativeElement,e):this.zone.runOutsideAngular(()=>{this._editor=monaco.editor.create(this._editorContainer.nativeElement,e)}),s||this._editor.setValue(this._value),this._editor.onDidChangeModelContent(u=>{const d=this._editor.getValue();this.zone.run(()=>
1{this.propagateChange(d),this._value=d})}),this._editor.onDidBlurEditorWidget(()=>{this.onTouched()}),this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=(0,C.R)(window,"resize").subscribe(()=>this._editor.layout()),this.onInit.emit(this._editor)}static{this.\u0275fac=(()=>{let e;return function(s){return(e||(e=t.xGo(o)))(s||o)}})()}static{this.\u0275cmp=t.VBU({type:o,selectors:[["ngx-monaco-editor"]],inputs:{options:"options",model:"model"},features:[t.Jv_([{provide:m.kq,useExisting:(0,t.Rfq)(()=>o),multi:!0}]),t.Vt3],decls:2,vars:0,consts:[["editorContainer",""],[1,"editor-container"]],template:function(i,s){1&i&&t.nrm(0,"div",1,0)},styles:["[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}"],changeDetection:0})}}return o})(),O=(()=>{class o{static forRoot(e={}){return{ngModule:o,providers:[{provide:p,useValue:e}]}}static{this.\u0275fac=function(i){return new(i||o)}}static{this.\u0275mod=t.$C({type:o})}static{this.\u0275inj=t.G2t({imports:[v.MD]})}}return o})()}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.