@personare/react-freshdesk-widget
Version:
A component of React for use the Freshdesk Widget
1 lines • 6.7 kB
JavaScript
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("react"));else if("function"==typeof define&&define.amd)define(["react"],t);else{var r=t("object"==typeof exports?require("react"):e.react);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){var r=[],n=!0,o=!1,i=void 0;try{for(var u,p=e[Symbol.iterator]();!(n=(u=p.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{!n&&p.return&&p.return()}finally{if(o)throw i}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=r(2),f=n(c);r(1);var l=function(e){function t(e){i(this,t);var r=u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.renderPopUp=r.renderPopUp.bind(r),r.renderWithChildren=r.renderWithChildren.bind(r),r.renderIncorporated=r.renderIncorporated.bind(r),r}return p(t,e),a(t,[{key:"componentWillMount",value:function(){function e(){var e=document.createElement("script");e.src="https://s3.amazonaws.com/assets.freshdesk.com/widget/freshwidget.js",e.type="text/javascript",document.body.appendChild(e)}return e}()},{key:"componentWillUnmount",value:function(){function e(){var e=this.props.type;"pop-up"===e&&window.FreshWidget&&window.FreshWidget.destroy()}return e}()},{key:"getAlignmentByPositionLabel",value:function(){function e(e){var t={left:4,right:2,top:1,bottom:3};return t[e]}return e}()},{key:"renderWithChildren",value:function(){function e(){var e=this.props,t=e.url,r=e.formTitle,n=e.formHeight,i=e.submitThanks,u=e.autofill,p=Object.entries(u).map(function(e){var t=s(e,2),r=t[0],n=t[1];return"helpdesk_ticket["+r+"]="+n}),a=["&widgetType=popup","formTitle="+r,"submitThanks="+i].concat(o(p)).join("&"),c={utf8:"✓",widgetType:"popup",url:t,formTitle:r,formHeight:n,submitThanks:i,queryString:a,offset:"-3000px"},l=function(){function e(){window.FreshWidget.init("",c),setTimeout(function(){window.FreshWidget.create(),window.FreshWidget.show()},100)}return e}(),d=f.default.cloneElement(this.props.children,{onClick:l.bind(this)});return f.default.createElement("div",null,d)}return e}()},{key:"renderPopUp",value:function(){function e(){var e=this.props,t=e.url,r=e.buttonType,n=e.buttonText,i=e.buttonColor,u=e.buttonBackgroundColor,p=e.buttonBackgroundImage,a=e.buttonPosition,c=e.buttonOffset,l=e.formTitle,d=e.submitThanks,y=e.formHeight,h=e.autofill,b=Object.entries(h).map(function(e){var t=s(e,2),r=t[0],n=t[1];return"helpdesk_ticket["+r+"]="+n}),m=["&widgetType=popup","formTitle="+l,"submitThanks="+d].concat(o(b)).join("&"),g={utf8:"✓",widgetType:"popup",alignment:this.getAlignmentByPositionLabel(a),offset:c,buttonBg:u,backgroundImage:p,url:t,buttonType:r,buttonText:n,buttonColor:i,submitThanks:d,formHeight:y,formTitle:l,queryString:m};return window.FreshWidget.init("",g),f.default.createElement("div",{id:"freshdesk"})}return e}()},{key:"renderIncorporated",value:function(){function e(){var e=this.props,t=e.url,r=e.formTitle,n=e.formHeight,i=e.submitThanks,u=e.autofill,p=t+"/widgets/feedback_widget/new?",a=Object.entries(u).map(function(e){var t=s(e,2),r=t[0],n=t[1];return"helpdesk_ticket["+r+"]="+n}),c=["widgetType=embedded","screenshot=no","formTitle="+r,"formHeight="+n,"submitThanks="+i].concat(o(a)).join("&");return f.default.createElement("div",null,f.default.createElement("iframe",{className:"freshwidget-embedded-form",frameBorder:"0",id:"freshwidget-embedded-form",src:p+c,scrolling:"no",height:n,width:"100%"}))}return e}()},{key:"render",value:function(){function e(){var e=this.props.type;if("incorporated"===e)return this.renderIncorporated();var t=f.default.Children.count(this.props.children)>=1;return t?this.renderWithChildren():this.renderPopUp()}return e}()}]),t}(c.Component);l.propTypes={url:c.PropTypes.string.isRequired,type:c.PropTypes.oneOf(["pop-up","incorporated"]),buttonType:c.PropTypes.oneOf(["text","image"]),buttonText:c.PropTypes.string,buttonColor:c.PropTypes.string,buttonBackgroundColor:c.PropTypes.string,buttonBackgroundImage:c.PropTypes.string,buttonPosition:c.PropTypes.oneOf(["left","right","top","bottom"]),buttonOffset:c.PropTypes.string,formTitle:c.PropTypes.string,submitThanks:c.PropTypes.string,formHeight:c.PropTypes.string,autofill:c.PropTypes.objectOf(c.PropTypes.string),children:c.PropTypes.oneOfType([c.PropTypes.arrayOf(c.PropTypes.node),c.PropTypes.node])},l.defaultProps={type:"incorporated",formTitle:"Help and support",submitThanks:"Thank you, one of our representatives will respond to you soon! =)",formHeight:"500px",buttonType:"text",buttonText:"Support",buttonColor:"white",buttonBackgroundColor:"#015453",buttonPosition:"top",buttonOffset:"235px",autofill:{},children:null},t.default=l},function(e,t){"use strict";var r=Function.bind.call(Function.call,Array.prototype.reduce),n=Function.bind.call(Function.call,Object.prototype.propertyIsEnumerable),o=Function.bind.call(Function.call,Array.prototype.concat),i=Reflect.ownKeys;Object.values||(Object.values=function(){function e(e){return r(i(e),function(t,r){return o(t,"string"==typeof r&&n(e,r)?[e[r]]:[])},[])}return e}()),Object.entries||(Object.entries=function(){function e(e){return r(i(e),function(t,r){return o(t,"string"==typeof r&&n(e,r)?[[r,e[r]]]:[])},[])}return e}())},function(t,r){t.exports=e}])});