UNPKG

@eeacms/react-chart-editor

Version:

plotly.js chart editor react component UI

2 lines 6.11 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.UnconnectedTextPosition=void 0;var _Dropdown=_interopRequireDefault(require("./Dropdown"));var _RadioBlocks=_interopRequireDefault(require("../widgets/RadioBlocks"));var _Field=_interopRequireDefault(require("./Field"));var _propTypes=_interopRequireDefault(require("prop-types"));var _react=_interopRequireWildcard(require("react"));var _lib=require("../../lib");var _Info=_interopRequireDefault(require("./Info"));var _DataSelector=_interopRequireDefault(require("./DataSelector"));function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?o(f,t,i):f[t]=e[t]);return f})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(function(){var enterModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.enterModule:undefined;enterModule&&enterModule(module)})();function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==typeof i?i:i+""}function _toPrimitive(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}var __signature__=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default.signature:function(a){return a};class UnconnectedTextPosition extends _react.Component{constructor(props){super(props);this.state={posType:typeof props.fullValue==="string"?"simple":"custom"}}render(){const _=this.context.localize;const radioOptions=[{label:_("All"),value:"simple"},{label:_("Custom"),value:"custom"}];const control=this.state.posType==="simple"?_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_Info.default,null,_("This will position all text values on the plot according to the selected position.")),_react.default.createElement(_Dropdown.default,{options:this.props.options,attr:"textposition",clearable:false})):_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_Info.default,null,_react.default.createElement("div",null,_("This will position text values individually, according to the provided data positions array. "))),_react.default.createElement(_DataSelector.default,{attr:"textposition"}),_react.default.createElement(_Info.default,null,_react.default.createElement("div",null,_("(\"Top\", \"Middle\", \"Bottom\") + (\"Left\", \"Center\", \"Right\")"))));return _react.default.createElement(_Field.default,this.props,_react.default.createElement(_RadioBlocks.default,{options:radioOptions,activeOption:this.state.posType,onOptionChange:value=>{this.setState({posType:value});if(value==="simple"){this.props.updatePlot("middle center")}else{this.props.updateContainer({textpositionsrc:null})}}}),control)}__reactstandin__regenerateByEval(key,code){this[key]=eval(code)}}exports.UnconnectedTextPosition=UnconnectedTextPosition;UnconnectedTextPosition.propTypes=_objectSpread(_objectSpread({},_Field.default.propTypes),{},{options:_propTypes.default.array,fullValue:_propTypes.default.oneOfType([_propTypes.default.array,_propTypes.default.string])});UnconnectedTextPosition.contextTypes={localize:_propTypes.default.func};UnconnectedTextPosition.displayName="UnconnectedTextPosition";const _default=(0,_lib.connectToContainer)(UnconnectedTextPosition,{modifyPlotProps:(props,context,plotProps)=>{const{localize:_}=context;let options=[{label:_("Top Left"),value:"top left"},{label:_("Top Center"),value:"top center"},{label:_("Top Right"),value:"top right"},{label:_("Middle Left"),value:"middle left"},{label:_("Middle Center"),value:"middle center"},{label:_("Middle Right"),value:"middle right"},{label:_("Bottom Left"),value:"bottom left"},{label:_("Bottom Center"),value:"bottom center"},{label:_("Bottom Right"),value:"bottom right"}];if(["pie","bar","funnel","waterfall"].includes(context.container.type)){options=[{label:_("Inside"),value:"inside"},{label:_("Outside"),value:"outside"},{label:_("Auto"),value:"auto"},{label:_("None"),value:"none"}]}if(["funnelarea"].includes(context.container.type)){options=[{label:_("Inside"),value:"inside"},{label:_("None"),value:"none"}]}plotProps.options=options;plotProps.clearable=false}});var _default2=exports.default=_default;;(function(){var reactHotLoader=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default:undefined;if(!reactHotLoader){return}reactHotLoader.register(UnconnectedTextPosition,"UnconnectedTextPosition","/react-chart-editor/src/components/fields/TextPosition.js");reactHotLoader.register(_default,"default","/react-chart-editor/src/components/fields/TextPosition.js")})();;(function(){var leaveModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.leaveModule:undefined;leaveModule&&leaveModule(module)})(); //# sourceMappingURL=TextPosition.js.map