UNPKG

amis-playground

Version:

amis-playground 是一个amis在线代码编辑器可实时预览运行效果

2 lines (1 loc) 6.58 kB
import{a as V,cB as b,cC as R,b2 as C,R as i,b3 as F,e as P,I as j,W as w,f as r,p as l,q as t,F as T}from"./index-7c288cb3.js";var B=function(d){V(n,d);function n(){var e=d!==null&&d.apply(this,arguments)||this;return e.state={isOpen:!1,inputValue:"",isFocused:!1,vendorIndex:0},e}return n.prototype.componentDidUpdate=function(e){var a=this.props;e.value!==a.value&&this.setState({inputValue:""})},n.prototype.changeVendor=function(e){this.setState({vendorIndex:e},this.formatOptions)},n.prototype.formatOptions=function(){var e=this.state.vendorIndex||0,a=b[e],s=a.prefix,p=a.icons;return p.map(function(u){return{label:s+u,value:s+u}})},n.prototype.getVendors=function(){return b.map(function(e){return e.name})},n.prototype.inputRef=function(e){this.input=e},n.prototype.focus=function(){if(this.input){this.input.focus();var e=this.input.value.length;e&&this.input.setSelectionRange(e,e)}},n.prototype.handleClick=function(){this.props.disabled||(this.focus(),this.setState({isOpen:!0}))},n.prototype.handleFocus=function(e){this.setState({isOpen:!0,isFocused:!0}),this.props.onFocus&&this.props.onFocus(e)},n.prototype.handleBlur=function(e){var a=this.props,s=a.onBlur,p=a.trimContents,u=a.value,o=a.onChange;this.setState({isFocused:!1},function(){p&&u&&typeof u=="string"&&o(u.trim())}),s&&s(e)},n.prototype.handleInputChange=function(e){var a=e.currentTarget.value;this.setState({inputValue:a})},n.prototype.handleKeyDown=function(e){var a=R(e.keyCode);if(a==="backspace"){var s=this.props.onChange;this.state.inputValue||(s(""),this.setState({inputValue:""}))}},n.prototype.handleChange=function(e){var a=this.props,s=a.onChange,p=a.disabled;p||(s(e),this.setState({isFocused:!1,inputValue:""}))},n.prototype.handleStateChange=function(e){switch(e.type){case C.stateChangeTypes.itemMouseEnter:case C.stateChangeTypes.changeInput:this.setState({isOpen:!0});break;default:var a={};typeof e.isOpen<"u"&&(a.isOpen=e.isOpen),this.state.isOpen&&e.isOpen===!1&&(a.inputValue=""),this.setState(a);break}},n.prototype.handleClear=function(){var e=this,a=this.props,s=a.onChange,p=a.resetValue;s==null||s(p),this.setState({inputValue:p,isFocused:!0},function(){e.focus()})},n.prototype.renderFontIcons=function(){var e=this,a=this.props,s=a.className,p=a.inputOnly,u=a.placeholder,o=a.classnames,N=a.name,c=a.value,S=a.noDataTip,I=a.disabled,E=a.clearable,_=a.translate,k=this.formatOptions(),g=this.getVendors();return i.createElement(C,{isOpen:this.state.isOpen,inputValue:this.state.inputValue,onChange:this.handleChange,onOuterClick:this.handleBlur,onStateChange:this.handleStateChange,selectedItem:[c]},function(m){var x=m.getInputProps,D=m.getItemProps,v=m.isOpen,f=m.inputValue,O=f&&v?F(k,f,{keys:["label","value"],threshold:F.rankings.CONTAINS}):k;return i.createElement("div",{className:o("IconPickerControl-input IconPickerControl-input--withAC",p?s:"",{"is-opened":v}),onClick:e.handleClick},i.createElement("div",{className:o("IconPickerControl-valueWrap")},u&&!c&&!e.state.inputValue?i.createElement("div",{className:o("IconPickerControl-placeholder")},u):null,!c||f&&v?null:i.createElement("div",{className:o("IconPickerControl-value")},i.createElement("i",{className:o(c)}),typeof c=="string"?c:""),i.createElement("input",P({},x({name:N,ref:e.inputRef,onFocus:e.handleFocus,onChange:e.handleInputChange,onKeyDown:e.handleKeyDown,value:e.state.inputValue}),{autoComplete:"off",disabled:I,size:10})),E&&!I&&c?i.createElement("a",{onClick:e.handleClear,className:o("IconPickerControl-clear")},i.createElement(j,{icon:"input-clear",className:"icon"})):null),v?i.createElement("div",{className:o("IconPickerControl-sugsPanel")},g.length>1?i.createElement("div",{className:o("IconPickerControl-tabs")},g.map(function(h,y){return i.createElement("div",{className:o("IconPickerControl-tab",{active:e.state.vendorIndex===y}),onClick:function(){return e.changeVendor(y)},key:y},h)})):null,O.length?i.createElement("div",{className:o("IconPickerControl-sugs",g.length>1?"IconPickerControl-multiVendor":"IconPickerControl-singleVendor")},O.map(function(h,y){return i.createElement("div",P({},D({item:h.value,className:o("IconPickerControl-sugItem",{"is-active":c===h.value})}),{key:y}),i.createElement("i",{className:o("".concat(h.value)),title:"".concat(h.value)}))})):i.createElement("div",{className:o(g.length>1?"IconPickerControl-multiVendor":"IconPickerControl-singleVendor")},_(S))):null)})},n.prototype.render=function(){var e=this.props,a=e.className;e.style;var s=e.classPrefix,p=e.inputOnly,u=e.disabled,o=this.renderFontIcons();return p?o:i.createElement("div",{className:w(a,"".concat(s,"IconPickerControl"),{"is-focused":this.state.isFocused,"is-disabled":u})},o)},n.defaultProps={resetValue:"",placeholder:"",noDataTip:"placeholder.noData"},r([l,t("design:type",Function),t("design:paramtypes",[Number]),t("design:returntype",void 0)],n.prototype,"changeVendor",null),r([l,t("design:type",Function),t("design:paramtypes",[]),t("design:returntype",void 0)],n.prototype,"formatOptions",null),r([l,t("design:type",Function),t("design:paramtypes",[]),t("design:returntype",void 0)],n.prototype,"getVendors",null),r([l,t("design:type",Function),t("design:paramtypes",[Object]),t("design:returntype",void 0)],n.prototype,"inputRef",null),r([l,t("design:type",Function),t("design:paramtypes",[]),t("design:returntype",void 0)],n.prototype,"focus",null),r([l,t("design:type",Function),t("design:paramtypes",[]),t("design:returntype",void 0)],n.prototype,"handleClick",null),r([l,t("design:type",Function),t("design:paramtypes",[Object]),t("design:returntype",void 0)],n.prototype,"handleFocus",null),r([l,t("design:type",Function),t("design:paramtypes",[Object]),t("design:returntype",void 0)],n.prototype,"handleBlur",null),r([l,t("design:type",Function),t("design:paramtypes",[Object]),t("design:returntype",void 0)],n.prototype,"handleInputChange",null),r([l,t("design:type",Function),t("design:paramtypes",[Object]),t("design:returntype",void 0)],n.prototype,"handleKeyDown",null),r([l,t("design:type",Function),t("design:paramtypes",[Object]),t("design:returntype",void 0)],n.prototype,"handleChange",null),r([l,t("design:type",Function),t("design:paramtypes",[Object]),t("design:returntype",void 0)],n.prototype,"handleStateChange",null),r([l,t("design:type",Function),t("design:paramtypes",[]),t("design:returntype",void 0)],n.prototype,"handleClear",null),n}(i.PureComponent),A=function(d){V(n,d);function n(){return d!==null&&d.apply(this,arguments)||this}return n=r([T({type:"icon-picker"})],n),n}(B);export{A as IconPickerControlRenderer,B as default};