UNPKG

react-chart-editor

Version:

plotly.js chart editor react component UI

2 lines 12.6 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.UnconnectedAxisInterval=void 0;var _react=_interopRequireWildcard(require("react"));var _Field=_interopRequireDefault(require("./Field"));var _Dropdown=_interopRequireDefault(require("../widgets/Dropdown"));var _NumericInput=_interopRequireDefault(require("../widgets/NumericInput"));var _propTypes=_interopRequireDefault(require("prop-types"));var _lib=require("../../lib");var _lib2=require("plotly.js/src/lib");var _dates=require("plotly.js/src/lib/dates");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r})(e)}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u]}return n.default=e,t&&t.set(e,n),n}(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 _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor}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)}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(typeof call==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var __signature__=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default.signature:function(a){return a};var MILLISECONDS_IN_SECOND=1000;var MILLISECONDS_IN_MINUTE=MILLISECONDS_IN_SECOND*60;var MILLISECONDS_IN_DAY=MILLISECONDS_IN_MINUTE*60*24;var DAYS_IN_MONTH=30;var MONTHS_IN_YEAR=12;function twoDecimalsRound(value){return Math.round(value*100)/100}function getSmallestUnit(milliseconds){var units={seconds:MILLISECONDS_IN_SECOND,minutes:MILLISECONDS_IN_MINUTE,days:MILLISECONDS_IN_DAY};var smallestUnit="milliseconds";["seconds","minutes","days"].forEach(function(unit){if(milliseconds%units[unit]===0&&(smallestUnit==="milliseconds"||smallestUnit!=="milliseconds"&&milliseconds/units[smallestUnit]>milliseconds/units[unit])){smallestUnit=unit}});return smallestUnit}var UnconnectedAxisInterval=exports.UnconnectedAxisInterval=function(_Component){_inherits(UnconnectedAxisInterval,_Component);var _super=_createSuper(UnconnectedAxisInterval);function UnconnectedAxisInterval(props){var _this;_classCallCheck(this,UnconnectedAxisInterval);_this=_super.call(this,props);var initialUnit=props.fullValue&&typeof props.fullValue==="string"&&props.fullValue[0]==="M"?parseInt(props.fullValue.substring(1),10)%MONTHS_IN_YEAR===0?"years":"months":getSmallestUnit(props.fullValue);_this.state={units:initialUnit};return _this}_createClass(UnconnectedAxisInterval,[{key:"update",value:function update(value){var adjustedValue=value<0?0:value;var isValueInteger=adjustedValue%1===0;if(this.state.units==="years"){if(isValueInteger){adjustedValue="M"+adjustedValue*MONTHS_IN_YEAR}else{adjustedValue=adjustedValue*MONTHS_IN_YEAR*DAYS_IN_MONTH*MILLISECONDS_IN_DAY}}if(this.state.units==="months"){if(isValueInteger){adjustedValue="M"+adjustedValue}else{adjustedValue=adjustedValue*DAYS_IN_MONTH*MILLISECONDS_IN_DAY}}if(this.state.units==="days"){adjustedValue=adjustedValue*MILLISECONDS_IN_DAY}if(this.state.units==="minutes"){adjustedValue=adjustedValue*MILLISECONDS_IN_MINUTE}if(this.state.units==="seconds"){adjustedValue=adjustedValue*MILLISECONDS_IN_SECOND}this.props.updatePlot(adjustedValue)}},{key:"onUnitChange",value:function onUnitChange(value){var isFullValueMonthFormat=typeof this.props.fullValue==="string"&&this.props.fullValue[0]==="M";var milliseconds=isFullValueMonthFormat?parseInt(this.props.fullValue.substring(1),10)*DAYS_IN_MONTH*MILLISECONDS_IN_DAY:this.props.fullValue;this.setState({units:value});if(["years","months"].includes(value)){var nbMonths=milliseconds/MILLISECONDS_IN_DAY/DAYS_IN_MONTH;if(nbMonths%1===0){this.props.updatePlot("M"+nbMonths)}else{this.props.updatePlot(milliseconds)}}else{this.props.updatePlot(milliseconds)}}},{key:"getDisplayValue",value:function getDisplayValue(value){var numericValue=typeof value==="string"&&value[0]==="M"?parseInt(value.substring(1),10):value;if(this.state.units==="years"){if(typeof value==="string"){return twoDecimalsRound(numericValue/MONTHS_IN_YEAR)}return twoDecimalsRound(numericValue/MILLISECONDS_IN_DAY/DAYS_IN_MONTH/MONTHS_IN_YEAR)}if(this.state.units==="months"){if(typeof value==="string"){return twoDecimalsRound(numericValue)}return twoDecimalsRound(numericValue/MILLISECONDS_IN_DAY/DAYS_IN_MONTH)}if(this.state.units==="days"){return twoDecimalsRound(numericValue/MILLISECONDS_IN_DAY)}if(this.state.units==="minutes"){return twoDecimalsRound(numericValue/MILLISECONDS_IN_MINUTE)}if(this.state.units==="seconds"){return twoDecimalsRound(numericValue/MILLISECONDS_IN_SECOND)}if(this.state.units==="milliseconds"){return numericValue}return null}},{key:"render",value:function render(){var _this2=this;var _=this.context.localize;var attrHead=this.props.attr.split(".")[0];var binStartValue=this.props.fullContainer[attrHead].start;var BinStartIsDate=typeof binStartValue==="string"&&((0,_lib2.isDateTime)(binStartValue)||(0,_dates.isJSDate)(binStartValue));var tick0=this.props.fullContainer.tick0&&(this.props.fullContainer.tick0||this.props.fullContainer.colorbar.tick0);var tick0IsDate=tick0&&((0,_lib2.isDateTime)(tick0)||(0,_dates.isJSDate)(tick0));return BinStartIsDate||tick0IsDate?_react.default.createElement(_Field.default,this.props,_react.default.createElement(_Dropdown.default,{options:[{value:"years",label:_("Years")},{value:"months",label:_("Months")},{value:"days",label:_("Days")},{value:"minutes",label:_("Minutes")},{value:"seconds",label:_("Seconds")},{value:"milliseconds",label:_("Milliseconds")}],clearable:false,onChange:function onChange(value){return _this2.onUnitChange(value)},value:this.state.units}),_react.default.createElement("div",{style:{width:"100%",display:"block"}}," "),_react.default.createElement(_NumericInput.default,{value:this.getDisplayValue(this.props.fullValue),onUpdate:function onUpdate(value){return _this2.update(value)},editableClassName:"AxisInterval-milliseconds"})):_react.default.createElement(_Field.default,this.props,_react.default.createElement(_NumericInput.default,{value:this.props.fullValue,onUpdate:function onUpdate(value){return _this2.props.updatePlot(value)}}))}},{key:"__reactstandin__regenerateByEval",value:function __reactstandin__regenerateByEval(key,code){this[key]=eval(code)}}]);return UnconnectedAxisInterval}(_react.Component);UnconnectedAxisInterval.contextTypes={localize:_propTypes.default.func};UnconnectedAxisInterval.propTypes=_objectSpread({fullValue:_propTypes.default.oneOfType([_propTypes.default.number,_propTypes.default.string]),updatePlot:_propTypes.default.func,attr:_propTypes.default.string,fullContainer:_propTypes.default.object},_Field.default.propTypes);var _default=(0,_lib.connectToContainer)(UnconnectedAxisInterval);var _default2=exports.default=_default;;(function(){var reactHotLoader=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default:undefined;if(!reactHotLoader){return}reactHotLoader.register(MILLISECONDS_IN_SECOND,"MILLISECONDS_IN_SECOND","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(MILLISECONDS_IN_MINUTE,"MILLISECONDS_IN_MINUTE","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(MILLISECONDS_IN_DAY,"MILLISECONDS_IN_DAY","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(DAYS_IN_MONTH,"DAYS_IN_MONTH","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(MONTHS_IN_YEAR,"MONTHS_IN_YEAR","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(twoDecimalsRound,"twoDecimalsRound","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(getSmallestUnit,"getSmallestUnit","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(UnconnectedAxisInterval,"UnconnectedAxisInterval","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js");reactHotLoader.register(_default,"default","/Users/dima/plotly/react-chart-editor/src/components/fields/AxisInterval.js")})();;(function(){var leaveModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.leaveModule:undefined;leaveModule&&leaveModule(module)})(); //# sourceMappingURL=AxisInterval.js.map