react-chart-editor
Version:
plotly.js chart editor react component UI
2 lines • 4.36 kB
JavaScript
;var _react=_interopRequireDefault(require("react"));var _=require("..");var _fields=require("../../fields");var _testUtils=require("../../../lib/test-utils");var _lib=require("../../../lib");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}(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(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key)}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}var __signature__=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default.signature:function(a){return a};var LayoutPanel=(0,_lib.connectLayoutToPlot)(_.PlotlyPanel);describe("<AnnotationAccordion>",function(){it("generates annotation PlotlyFolds with name == text",function(){var fixture=_testUtils.fixtures.scatter({layout:{annotations:[{text:"hodor"},{text:"rodoh"}]}});var folds=(0,_testUtils.mount)(_react.default.createElement(_testUtils.TestEditor,_objectSpread(_objectSpread({},fixture),{},{onUpdate:jest.fn()}),_react.default.createElement(LayoutPanel,{name:"Annotations"},_react.default.createElement(_.AnnotationAccordion,null,_react.default.createElement(_fields.Numeric,{attr:"textangle"}))))).find(_.PlotlyFold);expect(folds.length).toBe(2);expect(folds.at(0).prop("name")).toBe("hodor");expect(folds.at(1).prop("name")).toBe("rodoh")});it("can add annotations",function(){var fixture=_testUtils.fixtures.scatter();var beforeUpdateLayout=jest.fn();var editor=(0,_testUtils.mount)(_react.default.createElement(_testUtils.TestEditor,_objectSpread(_objectSpread({},fixture),{},{beforeUpdateLayout}),_react.default.createElement(LayoutPanel,{name:"Annotations"},_react.default.createElement(_.AnnotationAccordion,{canAdd:true},_react.default.createElement(_fields.Numeric,{attr:"textangle"})))));editor.find("button.js-add-button").simulate("click");var payload=beforeUpdateLayout.mock.calls[0][0];expect(payload.update).toEqual({"annotations[0]":{text:"new text"}})});it("can delete annotations",function(){var fixture=_testUtils.fixtures.scatter({layout:{annotations:[{text:"hodor"},{text:"rodoh"}]}});var beforeDeleteAnnotation=jest.fn();var editor=(0,_testUtils.mount)(_react.default.createElement(_testUtils.TestEditor,_objectSpread(_objectSpread({},fixture),{},{beforeDeleteAnnotation}),_react.default.createElement(LayoutPanel,{name:"Annotations"},_react.default.createElement(_.AnnotationAccordion,{canAdd:true},_react.default.createElement(_fields.Numeric,{attr:"textangle"})))));editor.find(".js-fold__delete").at(0).simulate("click");var update=beforeDeleteAnnotation.mock.calls[0][0];expect(update.annotationIndex).toBe(0)})});;(function(){var reactHotLoader=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default:undefined;if(!reactHotLoader){return}reactHotLoader.register(LayoutPanel,"LayoutPanel","/Users/dima/plotly/react-chart-editor/src/components/containers/__tests__/AnnotationAccordion-test.js")})();;(function(){var leaveModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.leaveModule:undefined;leaveModule&&leaveModule(module)})();
//# sourceMappingURL=AnnotationAccordion-test.js.map