@eeacms/react-chart-editor
Version:
plotly.js chart editor react component UI
2 lines • 5.49 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _PlotlyFold=_interopRequireDefault(require("./PlotlyFold"));var _PlotlyPanel=_interopRequireDefault(require("./PlotlyPanel"));var _propTypes=_interopRequireDefault(require("prop-types"));var _react=_interopRequireWildcard(require("react"));var _lib=require("../../lib");var _PanelEmpty=require("./PanelEmpty");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)})();var __signature__=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default.signature:function(a){return a};const TransformFold=(0,_lib.connectTransformToTrace)(_PlotlyFold.default);class TransformAccordion extends _react.Component{render(){const{fullContainer:{transforms=[]},localize:_,container,dataSourceOptions}=this.context;const{children}=this.props;const transformTypes=[{label:_("Filter"),type:"filter"},{label:_("Split"),type:"groupby"},{label:_("Aggregate"),type:"aggregate"},{label:_("Sort"),type:"sort"}];const transformBy=container.transforms&&container.transforms.map(tr=>{let foldNameSuffix="";if(tr.groupssrc){const groupssrc=dataSourceOptions&&dataSourceOptions.find(d=>d.value===tr.groupssrc);foldNameSuffix=": ".concat(groupssrc&&groupssrc.label?groupssrc.label:tr.groupssrc)}else if(tr.targetsrc){const targetsrc=dataSourceOptions&&dataSourceOptions.find(d=>d.value===tr.targetsrc);foldNameSuffix=": ".concat(targetsrc&&targetsrc.label?targetsrc.label:tr.targetsrc)}return foldNameSuffix});const filteredTransforms=transforms.filter(_ref=>{let{type}=_ref;return Boolean(type)});const content=filteredTransforms.length&&filteredTransforms.map((tr,i)=>_react.default.createElement(TransformFold,{key:i,transformIndex:i,name:"".concat(transformTypes.filter(_ref2=>{let{type}=_ref2;return type===tr.type})[0].label).concat(transformBy&&transformBy[i]),canDelete:true},children));const addActionOptions=container.transforms&&container.transforms.some(t=>t.type==="groupby")?transformTypes.filter(t=>t.type!=="groupby"):transformTypes;const addAction={label:_("Transform"),handler:addActionOptions.map(_ref3=>{let{label,type}=_ref3;return{label,handler:context=>{const{fullContainer,updateContainer}=context;if(updateContainer){const transformIndex=Array.isArray(fullContainer.transforms)?fullContainer.transforms.length:0;const key="transforms[".concat(transformIndex,"]");const payload={type};if(type==="filter"){payload.target=[];payload.targetsrc=null}else if(type!=="sort"){payload.groupssrc=null;payload.groups=null}if(type==="groupby"){payload.styles=[]}updateContainer({[key]:payload})}}}})};return _react.default.createElement(_PlotlyPanel.default,{addAction:addAction},content?content:_react.default.createElement(_PanelEmpty.PanelMessage,{icon:null},_react.default.createElement("div",{style:{textAlign:"left"}},_react.default.createElement("p",null,_react.default.createElement("strong",null,_("Filter"))," ",_(" transforms allow you to filter data out from a trace.")),_react.default.createElement("p",null,_react.default.createElement("strong",null,_("Split"))," ",_(" transforms allow you to create multiple traces from one source trace, so as to style them differently.")),_react.default.createElement("p",null,_react.default.createElement("strong",null,_("Aggregate"))," ",_(" transforms allow you to summarize a trace using an aggregate function like \"average\" or \"minimum\".")),_react.default.createElement("p",null,_react.default.createElement("strong",null,_("Sort"))," ",_(" transforms allow you to sort a trace, so as to control marker overlay or line connection order."))),_react.default.createElement("p",null,_("Click on the + button above to add a transform."))))}__reactstandin__regenerateByEval(key,code){this[key]=eval(code)}}TransformAccordion.contextTypes={fullContainer:_propTypes.default.object,localize:_propTypes.default.func,container:_propTypes.default.object,dataSourceOptions:_propTypes.default.array};TransformAccordion.propTypes={children:_propTypes.default.node};const _default=TransformAccordion;var _default2=exports.default=_default;;(function(){var reactHotLoader=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default:undefined;if(!reactHotLoader){return}reactHotLoader.register(TransformFold,"TransformFold","/react-chart-editor/src/components/containers/TransformAccordion.js");reactHotLoader.register(TransformAccordion,"TransformAccordion","/react-chart-editor/src/components/containers/TransformAccordion.js");reactHotLoader.register(_default,"default","/react-chart-editor/src/components/containers/TransformAccordion.js")})();;(function(){var leaveModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.leaveModule:undefined;leaveModule&&leaveModule(module)})();
//# sourceMappingURL=TransformAccordion.js.map