@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 4.36 kB
JavaScript
module.exports=function(e){var i={};function o(t){if(i[t])return i[t].exports;var n=i[t]={exports:{},id:t,loaded:!1};return e[t].call(n.exports,n,n.exports,o),n.loaded=!0,n.exports}return o.m=e,o.c=i,o.p="",o(0)}({0:function(t,n,e){t.exports=e(19)},3:function(t,n){t.exports=function(){throw Error("define cannot be used indirect")}},19:function(t,n,e){var i;e(3),e=[e(20)],void 0===(n="function"==typeof(i=function(){var o=window.kendo.jQuery,l=void 0,s=window.kendo,e=s.ui.Widget,t=o.extend,n=".",i=".kendoChat",a=s.keys,r='<svg version="1.1" ixmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 16 16" xml:space="preserve"><path d="M0,14.3c-0.1,0.6,0.3,0.8,0.8,0.6l14.8-6.5c0.5-0.2,0.5-0.6,0-0.8L0.8,1.1C0.3,0.9-0.1,1.1,0,1.7l0.7,4.2C0.8,6.5,1.4,7,1.9,7.1l8.8,0.8c0.6,0.1,0.6,0.1,0,0.2L1.9,8.9C1.4,9,0.8,9.5,0.7,10.1L0,14.3z"/></svg>',u='<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"><g> <path d="M128,240c0-26.4-21.6-48-48-48s-48,21.6-48,48s21.6,48,48,48S128,266.4,128,240z"/> <path d="M192,240c0,26.4,21.6,48,48,48c26.4,0,48-21.6,48-48s-21.6-48-48-48C213.6,192,192,213.6,192,240z"/> <path d="M352,240c0,26.4,21.6,48,48,48c26.4,0,48-21.6,48-48s-21.6-48-48-48C373.6,192,352,213.6,352,240z"/></g></svg>',d={input:"k-input-inner",inputWrapper:"k-textbox k-input k-input-lg k-input-solid",button:"k-button",buttonFlat:"k-button-lg k-button-flat k-button-flat-base",iconButton:"k-icon-button",buttonIcon:"k-button-icon",buttonSend:"k-button-send",buttonToggle:"k-button-toggle",iconAdd:"k-icon k-i-add",hidden:"k-hidden",inputSuffix:"k-input-suffix"},p=e.extend({init:function(t,n){e.fn.init.call(this,t,n);this._wrapper();this._attachEvents();this._typing=false},events:[],options:{messages:{placeholder:"Type a message...",toggleButton:"Toggle toolbar",sendButton:"Send message"}},destroy:function(){e.fn.destroy.call(this);if(this.input){this.input.off(i);this.input.remove();this.input=null}this.element.off(i);this.element.empty()},_wrapper:function(){var t=p.styles;var n=this.options;var e=n.messages;var i="inputId_"+s.guid();o("<label>").addClass(t.hidden).html(e.placeholder).attr("for",i).appendTo(this.element);this.inputWrapper=this.element.addClass(t.inputWrapper).appendTo(this.element);this.input=o("<input type='text'>").addClass(t.input).attr("id",i).attr("placeholder",e.placeholder).appendTo(this.inputWrapper);this.inputSuffix=o("<span></span>").addClass(t.inputSuffix).appendTo(this.inputWrapper);if(n.toolbar&&n.toolbar.toggleable&&n.toolbar.buttons&&n.toolbar.buttons.length)o("<button>").addClass(t.button).addClass(t.buttonFlat).addClass(t.iconButton).addClass(t.buttonToggle).attr("type","button").append(o(u)).appendTo(this.inputSuffix).attr("title",e.toggleButton).attr("aria-label",e.toggleButton);o("<button>").addClass(t.button).addClass(t.buttonFlat).addClass(t.iconButton).addClass(t.buttonSend).append(o(r)).appendTo(this.inputSuffix).attr("title",e.sendButton).attr("aria-label",e.sendButton)},_attachEvents:function(){var t=p.styles;this.input.on("keydown"+i,this._keydown.bind(this)).on("input"+i,this._input.bind(this)).on("focusout"+i,this._inputFocusout.bind(this));this.element.on("click"+i,n+t.buttonSend,this._buttonClick.bind(this));this.element.on("click"+i,n+t.buttonToggle,this._toggleToolbar.bind(this))},_input:function(){var t=this.input.val();var n=t.length>0;this._triggerTyping(n)},_keydown:function(t){var n=t.keyCode;switch(n){case a.ENTER:t.preventDefault();this._sendMessage();break}},_buttonClick:function(t){t.preventDefault();this._sendMessage()},_sendMessage:function(){var t=this.input.val();if(!t.length)return;this._triggerTyping(false);var n={text:t};this.trigger("sendMessage",n);this.input.val("")},_inputFocusout:function(){this._triggerTyping(false)},_triggerTyping:function(t){if(t){if(!this._typing){this.trigger("typingStart",{});this._typing=true}}else if(this._typing){this.trigger("typingEnd",{});this._typing=false}},_toggleToolbar:function(t){this.trigger("toggleToolbar",{originalEvent:t})}});return t(true,p,{styles:d}),t(s,{chat:{ChatMessageBox:p}}),window.kendo})?i.apply(n,e):i)||(t.exports=n)},20:function(t,n){t.exports=require("../kendo.core")}});