From 0b219ffbd1eb2ed12ce71f11d8dd05df70fb9c42 Mon Sep 17 00:00:00 2001 From: Worth Lutz Date: Fri, 6 Jul 2018 10:44:29 -0400 Subject: [PATCH 1/3] refactor flattened nodes to contain more info --- .gitignore | 1 + examples/dist/index.js | 18 ++--- src/js/CheckboxTree.js | 148 ++++++++++++++++++++++++++++------------- src/js/TreeNode.js | 22 ++---- test/CheckboxTree.js | 8 ++- test/TreeNode.js | 13 ++-- 6 files changed, 132 insertions(+), 78 deletions(-) diff --git a/.gitignore b/.gitignore index d6569411..e2890874 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /lib /node_modules yarn.lock +package-lock.json diff --git a/examples/dist/index.js b/examples/dist/index.js index 8cb36287..e2f4eac6 100644 --- a/examples/dist/index.js +++ b/examples/dist/index.js @@ -1,33 +1,33 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ReactCheckboxTree=t():e.ReactCheckboxTree=t()}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=123)}([function(e,t,n){"use strict";e.exports=n(122)},function(e,t,n){var r=n(24),o="object"==typeof self&&self&&self.Object===Object&&self,a=r||o||Function("return this")();e.exports=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t0?n.children=t.getFormattedNodes(n.children):n.children=null,n})}},{key:"getCheckState",value:function(e,t){return null===e.children||t?e.checked?1:0:this.isEveryChildChecked(e)?1:this.isSomeChildChecked(e)?2:0}},{key:"getDisabledState",value:function(e,t,n,r){return!!n||(!(r||!t.disabled)||Boolean(e.disabled))}},{key:"toggleChecked",value:function(e,t,n){var r=this;null===e.children||n?this.toggleNode("checked",e,t):e.children.forEach(function(e){r.toggleChecked(e,t)})}},{key:"toggleNode",value:function(e,t,n){this.nodes[t.value][e]=n}},{key:"flattenNodes",value:function(e){var t=this;Array.isArray(e)&&0!==e.length&&e.forEach(function(e){t.nodes[e.value]={},t.flattenNodes(e.children)})}},{key:"unserializeLists",value:function(e){var t=this;Object.keys(this.nodes).forEach(function(n){Object.keys(e).forEach(function(e){t.nodes[n][e]=!1})}),Object.keys(e).forEach(function(n){e[n].forEach(function(e){void 0!==t.nodes[e]&&(t.nodes[e][n]=!0)})})}},{key:"serializeList",value:function(e){var t=this,n=[];return Object.keys(this.nodes).forEach(function(r){t.nodes[r][e]&&n.push(r)}),n}},{key:"isEveryChildChecked",value:function(e){var t=this;return e.children.every(function(e){return null!==e.children?t.isEveryChildChecked(e):e.checked})}},{key:"isSomeChildChecked",value:function(e){var t=this;return e.children.some(function(e){return null!==e.children?t.isSomeChildChecked(e):e.checked})}},{key:"renderTreeNodes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.props,o=r.disabled,a=r.expandDisabled,i=r.expandOnClick,l=r.noCascade,c=r.onlyLeafCheckboxes,f=r.optimisticToggle,p=r.showNodeIcon,d=r.onClick,h=e.map(function(e){var r=""+e.value,h=t.getCheckState(e,l),v=null===e.children,m=t.renderChildNodes(e),y=t.getDisabledState(e,n,o,l),b=c?v:e.showCheckbox;return u.default.createElement(s.default,{key:r,checked:h,className:e.className,disabled:y,expandDisabled:a,expandOnClick:i,expanded:e.expanded,icon:e.icon,label:e.label,optimisticToggle:f,rawChildren:e.children,showCheckbox:b,showNodeIcon:p,treeId:t.id,value:e.value,onCheck:t.onCheck,onClick:d,onExpand:t.onExpand},m)});return u.default.createElement("ol",null,h)}},{key:"renderChildNodes",value:function(e){return null!==e.children&&e.expanded?this.renderTreeNodes(e.children,e):null}},{key:"renderHiddenInput",value:function(){return void 0===this.props.name?null:this.props.nameAsArray?this.renderArrayHiddenInput():this.renderJoinedHiddenInput()}},{key:"renderArrayHiddenInput",value:function(){var e=this;return this.props.checked.map(function(t){var n=e.props.name+"[]";return u.default.createElement("input",{key:t,name:n,type:"hidden",value:t})})}},{key:"renderJoinedHiddenInput",value:function(){var e=this.props.checked.join(",");return u.default.createElement("input",{name:this.props.name,type:"hidden",value:e})}},{key:"render",value:function(){var e=this.getFormattedNodes(this.props.nodes),t=this.renderTreeNodes(e),n=(0,a.default)({"react-checkbox-tree":!0,"rct-disabled":this.props.disabled,"rct-native-display":this.props.nativeCheckboxes});return u.default.createElement("div",{className:n},this.renderHiddenInput(),t)}}]),t}();d.propTypes={nodes:l.default.arrayOf(f.default).isRequired,checked:l.default.arrayOf(l.default.string),disabled:l.default.bool,expandDisabled:l.default.bool,expandOnClick:l.default.bool,expanded:l.default.arrayOf(l.default.string),name:l.default.string,nameAsArray:l.default.bool,nativeCheckboxes:l.default.bool,noCascade:l.default.bool,onlyLeafCheckboxes:l.default.bool,optimisticToggle:l.default.bool,showNodeIcon:l.default.bool,onCheck:l.default.func,onClick:l.default.func,onExpand:l.default.func},d.defaultProps={checked:[],disabled:!1,expandDisabled:!1,expandOnClick:!1,expanded:[],name:void 0,nameAsArray:!1,nativeCheckboxes:!1,noCascade:!1,onlyLeafCheckboxes:!1,optimisticToggle:!0,showNodeIcon:!0,onCheck:function(){},onClick:function(){},onExpand:function(){}},t.default=d},function(e,t,n){var r=n(98),o=n(92);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){e.exports=n(43)()},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r=n(83);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(3)(Object,"create");e.exports=r},function(e,t,n){var r=n(12),o=n(96),a=n(95),i="[object Null]",l="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?l:i:u&&u in Object(e)?o(e):a(e)}},function(e,t,n){var r=n(26);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(108),o=n(107),a=n(106),i=n(105),l=n(104);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=n}},function(e,t,n){var r=n(56),o=n(55),a=n(54),i=a&&a.isTypedArray,l=i?o(i):r;e.exports=l},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){(function(e){var r=n(1),o=n(58),a="object"==typeof t&&t&&!t.nodeType&&t,i=a&&"object"==typeof e&&e&&!e.nodeType&&e,l=i&&i.exports===a?r.Buffer:void 0,u=(l?l.isBuffer:void 0)||o;e.exports=u}).call(this,n(18)(e))},function(e,t,n){var r=n(79),o=n(76),a=n(75),i=1,l=2;e.exports=function(e,t,n,u,c,s){var f=n&i,p=e.length,d=t.length;if(p!=d&&!(f&&d>p))return!1;var h=s.get(e);if(h&&s.get(t))return h==t;var v=-1,m=!0,y=n&l?new r:void 0;for(s.set(e,t),s.set(t,e);++v0?n.children=t.getFormattedNodes(n.children):n.children=null,n})}},{key:"getCheckState",value:function(e,t){return null===e.children||t?e.checked?1:0:this.isEveryChildChecked(e)?1:this.isSomeChildChecked(e)?2:0}},{key:"getShallowCheckState",value:function(e,t){var n=this,r=this.flatNodes[e.value];return r.isLeaf||t?r.checked?1:0:e.children.every(function(e){return 1===n.flatNodes[e.value].checkState})?1:e.children.some(function(e){return n.flatNodes[e.value].checkState>0})?2:0}},{key:"getDisabledState",value:function(e,t,n,r){return!!n||(!(r||!t.disabled)||Boolean(e.disabled))}},{key:"toggleChecked",value:function(e,t,n){var r=this,o=this.flatNodes[e.value];o.isLeaf||n?this.toggleNode("checked",e,t):o.self.children.forEach(function(e){r.toggleChecked(e,t,n)})}},{key:"toggleNode",value:function(e,t,n){this.flatNodes[t.value][e]=n}},{key:"flattenNodes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Array.isArray(e)&&0!==e.length&&e.forEach(function(e){t.flatNodes[e.value]={parent:n,self:e,isLeaf:!Array.isArray(e.children)||0===e.children.length,showCheckbox:void 0===e.showCheckbox||e.showCheckbox},t.flattenNodes(e.children,e)})}},{key:"unserializeLists",value:function(e){var t=this;Object.keys(this.flatNodes).forEach(function(n){Object.keys(e).forEach(function(e){t.flatNodes[n][e]=!1})}),Object.keys(e).forEach(function(n){e[n].forEach(function(e){void 0!==t.flatNodes[e]&&(t.flatNodes[e][n]=!0)})})}},{key:"serializeList",value:function(e){var t=this,n=[];return Object.keys(this.flatNodes).forEach(function(r){t.flatNodes[r][e]&&n.push(r)}),n}},{key:"isEveryChildChecked",value:function(e){var t=this;return e.children.every(function(e){return null!==e.children?t.isEveryChildChecked(e):e.checked})}},{key:"isSomeChildChecked",value:function(e){var t=this;return e.children.some(function(e){return null!==e.children?t.isSomeChildChecked(e):e.checked})}},{key:"renderTreeNodes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.props,o=r.disabled,a=r.expandDisabled,l=r.expandOnClick,i=r.noCascade,c=r.onlyLeafCheckboxes,f=r.optimisticToggle,d=r.showNodeIcon,p=r.onClick,h=e.map(function(e){var r=""+e.value,h=t.flatNodes[e.value],v=null;h.isLeaf||(v=t.renderTreeNodes(e.children,e)),h.checkState=t.getShallowCheckState(e,i);var m=t.getDisabledState(e,n,o,i),y=c?h.isLeaf:h.showCheckbox;return!n.value||t.flatNodes[n.value].expanded?u.default.createElement(s.default,{key:r,checked:h.checkState,className:e.className,disabled:m,expandDisabled:a,expandOnClick:l,expanded:h.expanded,icon:e.icon,label:e.label,optimisticToggle:f,isLeaf:h.isLeaf,showCheckbox:y,showNodeIcon:d,treeId:t.id,value:e.value,onCheck:t.onCheck,onClick:p,onExpand:t.onExpand},v):null});return u.default.createElement("ol",null,h)}},{key:"renderChildNodes",value:function(e){return null!==e.children&&e.expanded?this.renderTreeNodes(e.children,e):null}},{key:"renderHiddenInput",value:function(){return void 0===this.props.name?null:this.props.nameAsArray?this.renderArrayHiddenInput():this.renderJoinedHiddenInput()}},{key:"renderArrayHiddenInput",value:function(){var e=this;return this.props.checked.map(function(t){var n=e.props.name+"[]";return u.default.createElement("input",{key:t,name:n,type:"hidden",value:t})})}},{key:"renderJoinedHiddenInput",value:function(){var e=this.props.checked.join(",");return u.default.createElement("input",{name:this.props.name,type:"hidden",value:e})}},{key:"render",value:function(){var e=this.renderTreeNodes(this.props.nodes),t=(0,a.default)({"react-checkbox-tree":!0,"rct-disabled":this.props.disabled,"rct-native-display":this.props.nativeCheckboxes});return u.default.createElement("div",{className:t},this.renderHiddenInput(),e)}}]),t}();p.propTypes={nodes:i.default.arrayOf(f.default).isRequired,checked:i.default.arrayOf(i.default.string),disabled:i.default.bool,expandDisabled:i.default.bool,expandOnClick:i.default.bool,expanded:i.default.arrayOf(i.default.string),name:i.default.string,nameAsArray:i.default.bool,nativeCheckboxes:i.default.bool,noCascade:i.default.bool,onlyLeafCheckboxes:i.default.bool,optimisticToggle:i.default.bool,showNodeIcon:i.default.bool,onCheck:i.default.func,onClick:i.default.func,onExpand:i.default.func},p.defaultProps={checked:[],disabled:!1,expandDisabled:!1,expandOnClick:!1,expanded:[],name:void 0,nameAsArray:!1,nativeCheckboxes:!1,noCascade:!1,onlyLeafCheckboxes:!1,optimisticToggle:!0,showNodeIcon:!0,onCheck:function(){},onClick:function(){},onExpand:function(){}},t.default=p},function(e,t,n){var r=n(98),o=n(92);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){e.exports=n(43)()},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r=n(83);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(3)(Object,"create");e.exports=r},function(e,t,n){var r=n(12),o=n(96),a=n(95),l="[object Null]",i="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?i:l:u&&u in Object(e)?o(e):a(e)}},function(e,t,n){var r=n(24);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(108),o=n(107),a=n(106),l=n(105),i=n(104);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=n}},function(e,t,n){var r=n(56),o=n(55),a=n(54),l=a&&a.isTypedArray,i=l?o(l):r;e.exports=i},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){(function(e){var r=n(1),o=n(58),a="object"==typeof t&&t&&!t.nodeType&&t,l=a&&"object"==typeof e&&e&&!e.nodeType&&e,i=l&&l.exports===a?r.Buffer:void 0,u=(i?i.isBuffer:void 0)||o;e.exports=u}).call(this,n(16)(e))},function(e,t,n){var r=n(79),o=n(76),a=n(75),l=1,i=2;e.exports=function(e,t,n,u,c,s){var f=n&l,d=e.length,p=t.length;if(d!=p&&!(f&&p>d))return!1;var h=s.get(e);if(h&&s.get(t))return h==t;var v=-1,m=!0,y=n&i?new r:void 0;for(s.set(e,t),s.set(t,e);++v-1&&e%1==0&&e-1}},function(e,t,n){var r=n(9);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(9),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():o.call(t,n,1),--this.size,0))}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(10),o=n(103),a=n(102),i=n(101),l=n(100),u=n(99);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=i,c.prototype.has=l,c.prototype.set=u,e.exports=c},function(e,t,n){var r=n(109),o=n(20),a=n(74),i=n(70),l=n(48),u=n(11),c=n(19),s=n(17),f=1,p="[object Arguments]",d="[object Array]",h="[object Object]",v=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,m,y,b){var g=u(e),x=u(t),k=g?d:l(e),C=x?d:l(t),_=(k=k==p?h:k)==h,w=(C=C==p?h:C)==h,E=k==C;if(E&&c(e)){if(!c(t))return!1;g=!0,_=!1}if(E&&!_)return b||(b=new r),g||s(e)?o(e,t,n,m,y,b):a(e,t,k,n,m,y,b);if(!(n&f)){var T=_&&v.call(e,"__wrapped__"),P=w&&v.call(t,"__wrapped__");if(T||P){var S=T?e.value():e,O=P?t.value():t;return b||(b=new r),y(S,O,n,m,b)}}return!!E&&(b||(b=new r),i(e,t,n,m,y,b))}},function(e,t,n){var r=n(110),o=n(5);e.exports=function e(t,n,a,i,l){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,a,i,e,l))}},function(e,t,n){var r=n(111);e.exports=function(e,t){return r(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n-1&&e%1==0&&e-1}},function(e,t,n){var r=n(9);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(9),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():o.call(t,n,1),--this.size,0))}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(10),o=n(103),a=n(102),l=n(101),i=n(100),u=n(99);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=l,c.prototype.has=i,c.prototype.set=u,e.exports=c},function(e,t,n){var r=n(109),o=n(18),a=n(74),l=n(70),i=n(48),u=n(11),c=n(17),s=n(15),f=1,d="[object Arguments]",p="[object Array]",h="[object Object]",v=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,m,y,b){var g=u(e),k=u(t),x=g?p:i(e),_=k?p:i(t),w=(x=x==d?h:x)==h,E=(_=_==d?h:_)==h,C=x==_;if(C&&c(e)){if(!c(t))return!1;g=!0,w=!1}if(C&&!w)return b||(b=new r),g||s(e)?o(e,t,n,m,y,b):a(e,t,x,n,m,y,b);if(!(n&f)){var T=w&&v.call(e,"__wrapped__"),P=E&&v.call(t,"__wrapped__");if(T||P){var S=T?e.value():e,O=P?t.value():t;return b||(b=new r),y(S,O,n,m,b)}}return!!C&&(b||(b=new r),l(e,t,n,m,y,b))}},function(e,t,n){var r=n(110),o=n(5);e.exports=function e(t,n,a,l,i){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,a,l,e,i))}},function(e,t,n){var r=n(111);e.exports=function(e,t){return r(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;nthis.eventPool.length&&this.eventPool.push(e)}function pe(e){e.eventPool=[],e.getPooled=se,e.release=fe}a(ce.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=i.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=ye),xe=String.fromCharCode(32),ke={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},Ce=!1;function _e(e,t){switch(e){case"topKeyUp":return-1!==ve.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function we(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Ee=!1;var Te={eventTypes:ke,extractEvents:function(e,t,n,r){var o=void 0,a=void 0;if(me)e:{switch(e){case"topCompositionStart":o=ke.compositionStart;break e;case"topCompositionEnd":o=ke.compositionEnd;break e;case"topCompositionUpdate":o=ke.compositionUpdate;break e}o=void 0}else Ee?_e(e,n)&&(o=ke.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(o=ke.compositionStart);return o?(ge&&(Ee||o!==ke.compositionStart?o===ke.compositionEnd&&Ee&&(a=ae()):(oe._root=r,oe._startText=ie(),Ee=!0)),o=de.getPooled(o,t,n,r),a?o.data=a:null!==(a=we(n))&&(o.data=a),Z(o),a=o):a=null,(e=be?function(e,t){switch(e){case"topCompositionEnd":return we(t);case"topKeyPress":return 32!==t.which?null:(Ce=!0,xe);case"topTextInput":return(e=t.data)===xe&&Ce?null:e;default:return null}}(e,n):function(e,t){if(Ee)return"topCompositionEnd"===e||!me&&_e(e,t)?(e=ae(),oe._root=null,oe._startText=null,oe._fallbackText=null,Ee=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1