UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

2 lines (1 loc) 3.28 kB
var f=Object.defineProperty;var h=(l,e)=>f(l,"name",{value:e,configurable:!0});var r,d=function(l,e,t,n){var o=arguments.length,i=o<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,n);else for(var s=l.length-1;s>=0;s--)(a=l[s])&&(i=(o<3?a(i):o>3?a(e,t,i):a(e,t))||i);return o>3&&i&&Object.defineProperty(e,t,i),i};import{component as g,watch as m}from"jodit/esm/core/decorators/index.js";import{UIElement as v}from"jodit/esm/core/ui/index.js";import{UISelect as S}from"jodit/esm/core/ui/form/inputs/select/select.js";import{UIRange as C}from"../../../../core/ui/form/range/range.js";let p=(r=class extends v{className(){return"UIDialogSettings"}constructor(e,t,n,o,i){super(e),this.getConversation=t,this.updateConversation=n,this.state=o,this.options=i,this.modelSelect=null,this.temperatureInput=null,this.build()}setParentView(e){var t,n;return(t=this.modelSelect)===null||t===void 0||t.setParentView(e),(n=this.temperatureInput)===null||n===void 0||n.setParentView(e),super.setParentView(e)}async build(){var e,t,n,o,i;const a=this.container,s=this.getConversation().options||{};if(this.options.dialogSettings.models&&this.options.dialogSettings.models.length>0){const u=this.parseModels(this.options.dialogSettings.models),c=(t=(e=s.model)!==null&&e!==void 0?e:this.state.defaultModel)!==null&&t!==void 0?t:u[0].value;this.modelSelect=new S(this.j,{label:"Model",name:"model",value:c,options:u,onChange:this.onModelChange.bind(this)}),a.appendChild(this.modelSelect.container)}if(this.options.dialogSettings.temperature){this.temperatureInput=new C(this.j,{label:"Temperature",name:"temperature",min:this.options.dialogSettings.temperature.min,max:this.options.dialogSettings.temperature.max,value:(o=(n=s.temperature)!==null&&n!==void 0?n:this.state.defaultTemperature)!==null&&o!==void 0?o:.5,onChange:this.onTemperatureChange.bind(this)});const u=this.temperatureInput.nativeInput;u&&u.setAttribute("step",String((i=this.options.dialogSettings.temperature.step)!==null&&i!==void 0?i:.1)),a.appendChild(this.temperatureInput.container)}}parseModels(e){return e.length===0?[]:typeof e[0]=="object"&&"title"in e[0]?e.map(t=>({text:t.title,value:t.value})):e.map(t=>({text:t,value:t}))}async onModelChange(){if(!this.modelSelect)return;const e=this.modelSelect.value;this.updateConversation({options:{...this.getConversation().options,model:e}}),this.state.defaultModel=e}async onTemperatureChange(){if(!this.temperatureInput)return;const e=parseFloat(this.temperatureInput.value);this.updateConversation({options:{...this.getConversation().options,temperature:e}}),this.state.defaultTemperature=e}onDefaultModelChange(){this.modelSelect&&this.state.defaultModel&&(this.modelSelect.value=this.state.defaultModel)}onDefaultTemperatureChange(){this.temperatureInput&&this.state.defaultTemperature!==void 0&&(this.temperatureInput.value=String(this.state.defaultTemperature))}destruct(){var e;(e=this.modelSelect)===null||e===void 0||e.destruct(),super.destruct()}},h(r,"UIDialogSettings"),r);d([m("state.defaultModel")],p.prototype,"onDefaultModelChange",null),d([m("state.defaultTemperature")],p.prototype,"onDefaultTemperatureChange",null),p=d([g],p);export{p as UIDialogSettings};