2 lines
5.8 KiB
JavaScript
2 lines
5.8 KiB
JavaScript
import t,{createRef as e,Component as o}from"react";import{DomHandler as r,classNames as n,ObjectUtils as i}from"primereact/utils";import{tip as s}from"primereact/tooltip";function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(t[r]=o[r])}return t},p.apply(this,arguments)}function l(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function u(t,e){for(var o=0;o<e.length;o++){var r=e[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}function f(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&a(t,e)}function h(t){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h(t)}function y(t,e){if(e&&("object"===h(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return c(t)}function d(t){return d=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},d(t)}function b(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function m(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,r)}return o}function v(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?m(Object(o),!0).forEach((function(e){b(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):m(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}function g(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}var O=function(a){f(j,o);var h,b,m,O,R,w=(h=j,b=g(),function(){var t,e=d(h);if(b){var o=d(this).constructor;t=Reflect.construct(e,arguments,o)}else t=e.apply(this,arguments);return y(this,t)});function j(t){var o;return l(this,j),(o=w.call(this,t)).onFocus=o.onFocus.bind(c(o)),o.onBlur=o.onBlur.bind(c(o)),o.onKeyUp=o.onKeyUp.bind(c(o)),o.onInput=o.onInput.bind(c(o)),o.elementRef=e(o.props.forwardRef),o}return m=j,(O=[{key:"onFocus",value:function(t){this.props.autoResize&&this.resize(),this.props.onFocus&&this.props.onFocus(t)}},{key:"onBlur",value:function(t){this.props.autoResize&&this.resize(),this.props.onBlur&&this.props.onBlur(t)}},{key:"onKeyUp",value:function(t){this.props.autoResize&&this.resize(),this.props.onKeyUp&&this.props.onKeyUp(t)}},{key:"onInput",value:function(t){this.props.autoResize&&this.resize(),t.target.value.length>0?r.addClass(t.target,"p-filled"):r.removeClass(t.target,"p-filled"),this.props.onInput&&this.props.onInput(t)}},{key:"resize",value:function(t){var e=this.elementRef&&this.elementRef.current;e&&r.isVisible(e)&&(this.cachedScrollHeight||(this.cachedScrollHeight=e.scrollHeight,e.style.overflow="hidden"),(this.cachedScrollHeight!==e.scrollHeight||t)&&(e.style.height="",e.style.height=e.scrollHeight+"px",parseFloat(e.style.height)>=parseFloat(e.style.maxHeight)?(e.style.overflowY="scroll",e.style.height=e.style.maxHeight):e.style.overflow="hidden",this.cachedScrollHeight=e.scrollHeight))}},{key:"isFilled",value:function(){return null!=this.props.value&&this.props.value.toString().length>0||null!=this.props.defaultValue&&this.props.defaultValue.toString().length>0||this.elementRef&&this.elementRef.current&&this.elementRef.current.value.toString().length>0}},{key:"updateForwardRef",value:function(){var t=this.props.forwardRef;t&&("function"==typeof t?t(this.elementRef.current):t.current=this.elementRef.current)}},{key:"componentDidMount",value:function(){this.updateForwardRef(),this.props.tooltip&&this.renderTooltip(),this.props.autoResize&&this.resize(!0)}},{key:"componentDidUpdate",value:function(t){t.tooltip===this.props.tooltip&&t.tooltipOptions===this.props.tooltipOptions||(this.tooltip?this.tooltip.update(v({content:this.props.tooltip},this.props.tooltipOptions||{})):this.renderTooltip()),this.props.autoResize&&this.resize(!0)}},{key:"componentWillUnmount",value:function(){this.tooltip&&(this.tooltip.destroy(),this.tooltip=null)}},{key:"renderTooltip",value:function(){this.tooltip=s({target:this.elementRef.current,content:this.props.tooltip,options:this.props.tooltipOptions})}},{key:"render",value:function(){var e=n("p-inputtextarea p-inputtext p-component",{"p-disabled":this.props.disabled,"p-filled":this.isFilled(),"p-inputtextarea-resizable":this.props.autoResize},this.props.className),o=i.findDiffKeys(this.props,j.defaultProps);return t.createElement("textarea",p({ref:this.elementRef},o,{className:e,onFocus:this.onFocus,onBlur:this.onBlur,onKeyUp:this.onKeyUp,onInput:this.onInput}))}}])&&u(m.prototype,O),R&&u(m,R),Object.defineProperty(m,"prototype",{writable:!1}),j}();b(O,"defaultProps",{autoResize:!1,tooltip:null,tooltipOptions:null,onInput:null,forwardRef:null});var R=t.forwardRef((function(e,o){return t.createElement(O,p({forwardRef:o},e))}));export{R as InputTextarea};
|