@eeacms/react-chart-editor
Version:
plotly.js chart editor react component UI
2 lines • 5.12 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireWildcard(require("react"));var _lib=require("../../lib");var _Field=_interopRequireDefault(require("./Field"));var _Dropdown=_interopRequireDefault(require("./Dropdown"));var _propTypes=_interopRequireDefault(require("prop-types"));var _Button=_interopRequireDefault(require("../widgets/Button"));var _plotlyIcons=require("plotly-icons");var _constants=require("../../lib/constants");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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(){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 UnconnectedGroupCreator extends _react.Component{getAllGroups(){return[...new Set(this.context.data.map(t=>t[this.props.attr]))].filter(g=>Boolean(g))}canAddGroup(){const{fullContainer,attr}=this.props;const currentGroup=fullContainer[attr];const currentTraceIndex=fullContainer.index;if(fullContainer.index===_constants.MULTI_VALUED){return this.getAllGroups().length===0}return!currentGroup||this.context.fullData.some(d=>d.index!==currentTraceIndex&&d[attr]===currentGroup)}addAndUpdateGroup(){const allGroups=this.context.fullData.map(t=>parseInt(t[this.props.attr],10)).filter(n=>Number.isInteger(n));allGroups.push(0);const lastGroupNumber=Math.max.apply(Math,allGroups);this.props.updatePlot(lastGroupNumber+1)}render(){const{localize:_}=this.context;const{attr,label,prefix,updatePlot}=this.props;const options=[{label:_("None"),value:""}];const allGroups=this.getAllGroups();allGroups.forEach(g=>options.push({label:"".concat(prefix," ").concat(g),value:g}));options.sort((a,b)=>a.value-b.value);const icon=_react.default.createElement(_plotlyIcons.PlusIcon,null);const addButton=this.canAddGroup()?_react.default.createElement(_Button.default,{variant:"no-text",icon:icon,onClick:()=>this.addAndUpdateGroup()}):_react.default.createElement(_Button.default,{variant:"no-text--disabled",icon:icon,onClick:()=>{}});return _react.default.createElement(_Dropdown.default,{label:label,attr:attr,clearable:false,options:options,updatePlot:updatePlot,extraComponent:addButton})}__reactstandin__regenerateByEval(key,code){this[key]=eval(code)}}UnconnectedGroupCreator.propTypes=_objectSpread({attr:_propTypes.default.string,fullContainer:_propTypes.default.object,prefix:_propTypes.default.string},_Field.default.propTypes);UnconnectedGroupCreator.contextTypes={localize:_propTypes.default.func,data:_propTypes.default.array,fullData:_propTypes.default.array};UnconnectedGroupCreator.displayName="UnconnectedGroupCreator";const _default=(0,_lib.connectToContainer)(UnconnectedGroupCreator);var _default2=exports.default=_default;;(function(){var reactHotLoader=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default:undefined;if(!reactHotLoader){return}reactHotLoader.register(UnconnectedGroupCreator,"UnconnectedGroupCreator","/react-chart-editor/src/components/fields/GroupCreator.js");reactHotLoader.register(_default,"default","/react-chart-editor/src/components/fields/GroupCreator.js")})();;(function(){var leaveModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.leaveModule:undefined;leaveModule&&leaveModule(module)})();
//# sourceMappingURL=GroupCreator.js.map