@figlinq/react-chart-editor
Version:
plotly.js chart editor react component UI
2 lines • 4.35 kB
JavaScript
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)}import PlotlySection from"../PlotlySection";import{TraceTypeSection}from"../derived";import{Flaglist,Info,Numeric}from"../../fields";import{TestEditor,fixtures}from"../../../lib/test-utils";import{connectTraceToPlot}from"../../../lib";import{mount}from"enzyme";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const TraceSection=connectTraceToPlot(PlotlySection);describe("PlotlySection",()=>{it("is visible if it contains any visible children",()=>{const wrapper=mount(_jsx(TestEditor,_objectSpread(_objectSpread({onUpdate:jest.fn()},fixtures.scatter()),{},{children:_jsxs(TraceSection,{name:"test-section",traceIndexes:[0],children:[_jsx(Flaglist,{attr:"mode",options:[{label:"Lines",value:"lines"},{label:"Points",value:"markers"}]}),_jsx(Numeric,{attr:"hole",min:0,max:1,step:0.1})]})}))).find(PlotlySection);expect(wrapper.children().length).toBe(1)});it("is visible if it contains any non attr children",()=>{const wrapper=mount(_jsx(TestEditor,_objectSpread(_objectSpread({onUpdate:jest.fn()},fixtures.scatter()),{},{children:_jsx(PlotlySection,{name:"test-section",children:_jsx("div",{className:"extra",children:"special extra"})})}))).find(PlotlySection);expect(wrapper.children().length).toBe(1);expect(wrapper.find(".extra").text()).toBe("special extra")});it("is not visible if it contains no visible children",()=>{const wrapper=mount(_jsx(TestEditor,_objectSpread(_objectSpread({onUpdate:jest.fn()},fixtures.scatter()),{},{children:_jsxs(TraceSection,{name:"test-section",traceIndexes:[0],children:[_jsx(Numeric,{attr:"pull",min:0,max:1,step:0.1,traceIndexes:[0]}),_jsx(Numeric,{attr:"hole",min:0,max:1,step:0.1,traceIndexes:[0]})]})}))).find(PlotlySection);expect(wrapper.find(Numeric).exists()).toBe(false)});it("will hide with Info children when attrs not defined",()=>{const TraceSection=connectTraceToPlot(PlotlySection);const wrapper=mount(_jsx(TestEditor,_objectSpread(_objectSpread({onUpdate:jest.fn()},fixtures.scatter()),{},{children:_jsxs(TraceSection,{name:"test-section",traceIndexes:[0],children:[_jsx(Numeric,{attr:"badattr",traceIndexes:[0]}),_jsx(Info,{children:"INFO"})]})}))).find(PlotlySection);expect(wrapper.find(Info).length).toBe(0)})});describe("TraceTypeSection",()=>{it("will show when the type is right",()=>{const TraceSection=connectTraceToPlot(TraceTypeSection);const wrapper=mount(_jsx(TestEditor,_objectSpread(_objectSpread({onUpdate:jest.fn()},fixtures.scatter()),{},{children:_jsx(TraceSection,{name:"test-section",traceIndexes:[0],traceTypes:["scatter"],children:_jsx(Flaglist,{attr:"mode",options:[{label:"Lines",value:"lines"},{label:"Points",value:"markers"}]})})}))).find(PlotlySection);expect(wrapper.find(Flaglist).length).toBe(1)});it("will hide when the type is wrong",()=>{const TraceSection=connectTraceToPlot(TraceTypeSection);const wrapper=mount(_jsx(TestEditor,_objectSpread(_objectSpread({onUpdate:jest.fn()},fixtures.scatter()),{},{children:_jsx(TraceSection,{name:"test-section",traceIndexes:[0],traceTypes:["heatmap"],children:_jsx(Flaglist,{attr:"mode",options:[{label:"Lines",value:"lines"},{label:"Points",value:"markers"}]})})}))).find(PlotlySection);expect(wrapper.find(Flaglist).length).toBe(0)})});
//# sourceMappingURL=PlotlySection-test.js.map