UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines 6.33 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("kendo.core.min.js"),require("kendo.icons.min.js"),require("kendo.html.button.min.js")):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.icons.min`,`kendo.html.button.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Toolcall={}),e.kendo._globals.Core,e.kendo._globals.Icons,e.kendo._globals.HtmlButton))})(this,function(e,t,n,r){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let i={id:`toolcall`,name:`ToolCall`,category:`web`,description:`The ToolCall component.`,depends:[`core`,`html.button`,`icons`]};(function(e,t){let n=window.kendo,r=n.ui.Widget,i=n.htmlEncode,a=`.kendoToolCall`,o=`expandedChange`,s=`action`,c={active:`info`,completed:`success`,awaitingApproval:`warning`,error:`error`},l=r.extend({init:function(e,t){let i=this;r.fn.init.call(i,e,t),i._render(),i._bindEvents(),n.notify(i)},options:{name:`ToolCall`,svgIcon:`wrench`,label:null,secondaryLabel:null,state:`active`,expandable:!1,expanded:!1,parameters:null,result:null,approvalText:null,errorText:null,statusSVGIcon:null,parametersTemplate:null,approvalTemplate:null,resultTemplate:null,errorTemplate:null,messages:{states:{active:`Active`,completed:`Completed`,awaitingApproval:`Awaiting Approval`,error:`Error`},approve:`Approve`,reject:`Reject`,parametersLabel:`Parameters`,resultLabel:`Result`}},events:[o,s],_render:function(){let t=this,n=t.options;t.element.addClass(`k-agent-step k-tool-call`).toggleClass(`k-agent-completed`,n.state===`completed`),t.element.html(t._headHtml()),t._head=t.element.find(`.k-agent-step-head`),t._head.find(`.k-svg-icon`).attr(`aria-hidden`,`true`),t._body=e(`<div class="k-agent-step-body"></div>`),t._renderBody(),n.expanded&&t._body.appendTo(t.element)},_headHtml:function(){let e=this.options,t=e.expandable?` aria-expanded="${!!e.expanded}"`:``,r=e.label?`<span class="k-agent-step-label">${i(e.label)}</span>`:``,a=e.secondaryLabel?`<span class="k-agent-step-sep">·</span><span class="k-agent-step-secondary">${i(e.secondaryLabel)}</span>`:``,o=e.messages.states&&e.messages.states[e.state]||e.state,s=c[e.state]||`info`,l=``;if(e.state!==`active`){let t=e.statusSVGIcon||{completed:`check-circle`,awaitingApproval:`clock`,error:`exclamation-circle`}[e.state],r=t?n.ui.icon({icon:t,iconClass:`k-badge-icon`}):``;l=`<span class="k-badge k-badge-sm k-badge-${i(s)} k-rounded-full">${r}${i(o)}</span>`}let u=e.expandable?n.ui.icon({icon:e.expanded?`chevron-up`:`chevron-right`,iconClass:`k-agent-step-expand`}):``;return`<button class="k-agent-step-head"${t}>`+n.ui.icon({icon:e.svgIcon,iconClass:`k-agent-step-icon`})+`<span class="k-agent-step-content">`+r+a+l+u+`</span></button>`},_renderBody:function(){let e=this,t=e.options,n=``;t.parameters!==null&&(n+=e._parametersHtml()),t.state===`awaitingApproval`&&(n+=e._approvalHtml()),t.result!==null&&(n+=e._resultHtml()),t.state===`error`&&(n+=e._errorHtml()),e._body.html(n),e._body.find(`.k-svg-icon`).attr(`aria-hidden`,`true`)},_parametersHtml:function(){let e=this.options;if(e.parametersTemplate!==null){let t=e.parametersTemplate;return`<div class="k-tool-call-parameters"><div class="k-tool-call-label">${i(e.messages.parametersLabel)}</div>${t(e)}</div>`}return`<div class="k-tool-call-parameters"><div class="k-tool-call-label">${i(e.messages.parametersLabel)}</div><pre class="k-pre"><code class="k-code">${i(JSON.stringify(e.parameters,null,2))}</code></pre></div>`},_approvalHtml:function(){let e=this.options;return e.approvalTemplate===null?`<div class="k-tool-call-approval"><div class="k-card">${e.approvalText?`<div class="k-card-body"><p>${i(e.approvalText)}</p></div>`:``}<div class="k-actions k-actions-end k-actions-horizontal k-card-actions">${n.html.renderButton(`<button class="k-tool-call-reject" data-action="reject">${i(e.messages.reject||`Reject`)}</button>`,{fillMode:`outline`})}${n.html.renderButton(`<button class="k-tool-call-approve" data-action="approve">${i(e.messages.approve||`Approve`)}</button>`,{fillMode:`solid`,themeColor:`primary`})}</div></div></div>`:`<div class="k-tool-call-approval">${e.approvalTemplate(e)}</div>`},_resultHtml:function(){let e=this.options;if(e.resultTemplate!==null){let t=e.resultTemplate;return`<div class="k-tool-call-result"><div class="k-tool-call-label">${i(e.messages.resultLabel)}</div>${t(e)}</div>`}return`<div class="k-tool-call-result"><div class="k-tool-call-label">${i(e.messages.resultLabel)}</div><pre class="k-pre"><code class="k-code">${i(JSON.stringify(e.result,null,2))}</code></pre></div>`},_errorHtml:function(){let e=this.options;return e.errorTemplate===null?e.errorText?`<div class="k-messagebox k-messagebox-error">${i(e.errorText)}</div>`:``:`<div class="k-tool-call-error">${e.errorTemplate(e)}</div>`},_bindEvents:function(){let e=this;e.options.expandable&&e._head.on(`click.kendoToolCall`,e._onToggle.bind(e)).on(`keydown.kendoToolCall`,e._onKeydown.bind(e)),e._body.on(`click.kendoToolCall`,`[data-action]`,e._onAction.bind(e))},_onToggle:function(){let e=this,t=!e.options.expanded;e.trigger(o,{expanded:t})||e.toggle(t)},_onKeydown:function(e){let t=this;(e.keyCode===n.keys.ENTER||e.keyCode===n.keys.SPACEBAR)&&(t._onToggle(),e.preventDefault())},_onAction:function(t){let n=this,r=e(t.currentTarget).data(`action`);n.trigger(s,{action:r})},toggle:function(r){let i=this;if(r===t&&(r=!i.options.expanded),i.options.expanded=r,i.options.expandable){i._head.attr(`aria-expanded`,r);let t=e(n.ui.icon({icon:r?`chevron-up`:`chevron-right`,iconClass:`k-agent-step-expand`})).attr(`aria-hidden`,`true`);i._head.find(`.k-agent-step-expand`).replaceWith(t)}r?i._body.appendTo(i.element):i._body.detach()},expand:function(){this.options.expandable&&this.toggle(!0)},collapse:function(){this.toggle(!1)},setState:function(e){let t=this;t._head&&t._head.off(a),t._body&&(t._body.off(a),t._body.detach()),t.options.state=e,t.options.expanded=!1,t._render(),t._bindEvents()},destroy:function(){let e=this;e._head&&e._head.off(a),e._body&&e._body.off(a),e.element.off(a),r.fn.destroy.call(e)}});n.ui.plugin(l)})(window.kendo.jQuery);var a=kendo;e.__meta__=i,e.default=a}); //# sourceMappingURL=kendo.toolcall.min.js.map