react-ui-basics 0.0.251 → 0.0.253
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AutocompleteSelect.js +14 -3
- package/AutocompleteSelect.js.map +1 -1
- package/ReadyListener.d.ts +47 -13
- package/ReadyListener.js +9 -4
- package/ReadyListener.js.map +1 -1
- package/Tools.d.ts +1 -1
- package/Tools.js +1 -1
- package/Tools.js.map +1 -1
- package/bundle.css +581 -581
- package/package.json +1 -1
- package/src/AutocompleteSelect.js +14 -5
- package/src/AutocompleteSelect.test.js +103 -0
- package/src/ReadyListener.tsx +17 -7
- package/src/Tools.ts +1 -1
package/AutocompleteSelect.js
CHANGED
|
@@ -66,16 +66,27 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
66
66
|
_classCallCheck(this, AutocompleteSelect);
|
|
67
67
|
_this = _super.call(this, props);
|
|
68
68
|
_this.updateListPosition = function () {
|
|
69
|
-
if (__props(_this).listPortal && __state(_this).isActive) {
|
|
69
|
+
if (__props(_this).listPortal && __state(_this).isActive && _this.el) {
|
|
70
|
+
var _this$list, _this$list$el, _this$list2;
|
|
70
71
|
var rect = _this.el.getBoundingClientRect();
|
|
72
|
+
var listPortal = __props(_this).listPortal;
|
|
73
|
+
var portalRect = listPortal.getBoundingClientRect ? listPortal.getBoundingClientRect() : {
|
|
74
|
+
left: 0,
|
|
75
|
+
top: 0
|
|
76
|
+
};
|
|
77
|
+
var scrollLeft = __scrollLeft(listPortal) || 0;
|
|
78
|
+
var scrollTop = __scrollTop(listPortal) || 0;
|
|
79
|
+
var list = ((_this$list = _this.list) == null ? void 0 : (_this$list$el = _this$list.el) == null ? void 0 : _this$list$el.el) || ((_this$list2 = _this.list) == null ? void 0 : _this$list2.el) || _this.list;
|
|
80
|
+
var listRect = list != null && list.getBoundingClientRect ? list.getBoundingClientRect() : null;
|
|
81
|
+
var listWidth = listRect && __width(listRect) || __width(rect);
|
|
71
82
|
var listPortalPosition = __props(_this).listPortalPosition;
|
|
72
83
|
var listStyles = {
|
|
73
84
|
position: 'absolute',
|
|
74
|
-
top: rect.bottom + 'px',
|
|
85
|
+
top: rect.bottom - __top(portalRect) + scrollTop + 'px',
|
|
75
86
|
minWidth: __width(rect) + 'px',
|
|
76
87
|
maxHeight: '300px'
|
|
77
88
|
};
|
|
78
|
-
if (listPortalPosition === 'right') listStyles.
|
|
89
|
+
if (listPortalPosition === 'right') listStyles.left = rect.right - __left(portalRect) + scrollLeft - listWidth + 'px';else listStyles.left = __left(rect) - __left(portalRect) + scrollLeft + 'px';
|
|
79
90
|
_this.setState({
|
|
80
91
|
listStyles: listStyles
|
|
81
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteSelect.js","sources":["./src/AutocompleteSelect.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './AutocompleteSelect.css'\nimport TextField from \"./TextField\";\nimport FilteredList, {getLabel} from \"./FilteredList\";\nimport {\n classNames,\n continuousIncludes,\n getRandomId,\n ref,\n orNoop,\n preventDefault,\n stopPropagation,\n DOCUMENT,\n addEventListener,\n removeEventListener,\n isObject,\n isFunction,\n isString, UNDEFINED, memo\n} from \"./Tools\";\nimport Button from \"./Button\";\nimport MaterialIcon from \"./MaterialIcon\";\nimport {PureComponent} from \"./ReactConstants\";\nimport ReactDOM from \"react-dom\";\n\nexport const MODE_DEFAULT = 'default';\nexport const MODE_INLINE = 'inline';\nexport const MODE_INLINE_MULTIPLE = 'inline-multiple';\nexport const MODE_MULTIPLE_AUTO = 'multiple-auto';\nexport const MODE_MULTIPLE = 'multiple';\nexport const MODE_MULTIPLE_MINI = 'multiple-mini';\nexport const MODE_MINI = 'mini';\nexport const MODE_MULTIPLE_MINI_INLINE = 'multiple-mini-inline';\n\n\nconst DummyChild = ({id, label, dataConsumer, onClick}) => {\n orNoop(dataConsumer)(label || id);\n return <div className={`DummyChild`} onClick={onClick}>{label || id}</div>\n};\n\nconst ifString = (s) => isString(s) && s\n\nconst prepareSelected = (value) => {\n let result;\n if (value != null) {\n if (Array.isArray(value))\n result = value.reduce((map, obj) => {\n map[obj] = obj;\n return map;\n }, {});\n else if (isObject(value))\n result = value;\n else if (value)\n result = {[value]: value};\n else\n result = {}\n } else {\n result = {};\n }\n return result;\n};\n\nconst findParent = (el, tag) => {\n if (el != null) {\n const tagName = el.tagName;\n if (tagName && tagName.toUpperCase() === tag.toUpperCase()) {\n return el;\n } else {\n return findParent(el.parentNode, tag)\n }\n }\n return null;\n}\n\nfunction isMultipleSelect(mode) {\n return mode === MODE_MULTIPLE || mode === MODE_MULTIPLE_AUTO || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI || mode === MODE_MULTIPLE_MINI_INLINE;\n}\n\nclass AutocompleteSelect extends PureComponent {\n\n static propTypes = {\n mode: PropTypes.oneOf([MODE_DEFAULT, MODE_INLINE, MODE_MULTIPLE, MODE_MULTIPLE_AUTO, MODE_MULTIPLE_MINI, MODE_MULTIPLE_MINI_INLINE, MODE_INLINE_MULTIPLE, MODE_MINI]),\n listPortalPosition: PropTypes.oneOf(['left', 'right']),\n };\n\n constructor(props) {\n super(props);\n const that = this;\n that.state = {\n selected: prepareSelected(props.value),\n isActive: !!props.focused,\n\n };\n that.randomId = getRandomId('acs-');\n\n const {data, getSelected} = props;\n isFunction(data) && data(data => that.setState({data}));\n\n getSelected && getSelected(() => Object.values(that.state.selected));\n }\n\n componentDidMount() {\n addEventListener(DOCUMENT, 'mousedown', this.listener = (e) => {\n if (this.state.isActive && this.el && !this.el.contains(e.target)) {\n if(!this.props.listPortal || !this.list?.el?.el || !this.list.el.el.contains(e.target)){\n this.onClickOutside()\n }\n }\n })\n if (this.props.required) {\n const form = findParent(this.el.parentNode, 'form')\n if (form) {\n addEventListener(this.submitButton = form.querySelector('button[type=submit]'), 'click', this.formSubmitListener = (e) => {\n const errored = Object.keys(this.state.selected).length === 0;\n this.setState({errored: errored})\n })\n }\n }\n this.initSelected(this.props, this.state)\n this.updateListPosition()\n }\n\n updateListPosition = () => {\n if (this.props.listPortal && this.state.isActive) {\n var rect = this.el.getBoundingClientRect();\n let listPortalPosition = this.props.listPortalPosition;\n let listStyles = {\n position: 'absolute',\n top: rect.bottom + 'px',\n minWidth: rect.width + 'px',\n maxHeight: '300px',\n };\n if (listPortalPosition === 'right')\n listStyles.right = (window.innerWidth - rect.right) + 'px'\n else\n listStyles.left = rect.left + 'px'\n\n this.setState({\n listStyles: listStyles\n })\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.value !== prevProps.value)\n this.initSelected(this.props, this.state)\n if (this.state.isActive && !prevState.isActive)\n this.updateListPosition()\n if (this.state.isActive !== prevState.isActive)\n orNoop(this.props.onIsActiveChange)(this.state.isActive)\n }\n\n initSelected = ({value, mode, allowCustom, withFilter}, {filterValue = ''}) => {\n this.setState({\n selected: prepareSelected(value),\n filterValue: allowCustom && withFilter && isString(value) && !isMultipleSelect(mode) ? value : filterValue,\n });\n };\n\n componentWillUnmount() {\n removeEventListener(DOCUMENT, 'mousedown', this.listener)\n removeEventListener(this.submitButton, 'click', this.formSubmitListener)\n }\n\n static defaultProps = {\n childComponent: DummyChild,\n withArrow: true,\n withFilter: true,\n selectCustomOnClickOutside: true,\n withReset: false,\n scrollToValue: false,\n disabled: false,\n mode: MODE_DEFAULT,\n selectedMode: 'full',\n listPortalPosition: 'left',\n removeIcon: <MaterialIcon icon=\"close\"/>,\n };\n\n createFilter = memo((prefilter, filterValue, filterValueTrimmed, filter) => it => {\n if (!it) return false;\n if (prefilter && !prefilter(it)) return false;\n if (!filterValue) return true;\n\n if (filter) return filter(it, filterValueTrimmed);\n\n let value = (isString(it) ? it : (it.name || it.label || '')).toLowerCase().trim();\n return continuousIncludes(value, filterValueTrimmed);\n }\n )\n\n render() {\n const {\n childComponent,\n childProps,\n withArrow,\n withFilter,\n withReset,\n filter,\n label,\n inputLabel,\n mode,\n selectedMode,\n prefilter,\n className,\n scrollToValue,\n scroll,\n disabled,\n required,\n allowCustom,\n inlineSelected,\n removeIcon,\n listPortal,\n } = this.props;\n const id = this.props.id || this.randomId;\n const selectedComponent = this.props.selectedComponent || childComponent;\n const {selected = {}, filterValue = '', errored} = this.state;\n let {isActive, listStyles} = this.state;\n if (this.props.isActive !== UNDEFINED) {\n isActive = this.props.isActive\n }\n let {data = [], labels = {}} = this.props;\n if (this.state.data)\n data = this.state.data;\n\n if (!Array.isArray(data))\n data = [];\n\n const selectedIds = Object.values(selected);\n const hasSelected = selectedIds.length !== 0;\n const setActive = (e) => {\n if (!disabled) {\n stopPropagation(e);\n this.setState({isActive: true}, () => {\n scrollToValue && selectedIds.length > 0 && data.includes(selectedIds[0]) && this.list.selected(selectedIds[0]);\n });\n }\n };\n const toggle = (e) => {\n if (!disabled) {\n if (!this.state.isActive) {\n setActive(e);\n } else {\n stopPropagation(e);\n this.setState({isActive: false});\n }\n }\n };\n\n const isInline = mode === MODE_INLINE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE;\n const filterValueTrimmed = filterValue.trim();\n const dataFiltered = allowCustom && !scrollToValue ? [filterValueTrimmed, ...data.filter(suggestion => suggestion !== filterValueTrimmed)] : data;\n\n const filterFunction = !scrollToValue ? this.createFilter(prefilter, filterValue, filterValueTrimmed.toLowerCase(), filter) : UNDEFINED\n let filteredList = <FilteredList className={classNames(isActive && 'visible', listPortal && 'portal')}\n style={listStyles}\n ref={ref('list', this)}\n filter={filterFunction}\n selectSingle={!allowCustom}\n scroll={scroll}\n inline={isInline}\n nextProvider={ref('next', this)}\n prevProvider={ref('prev', this)}\n selectedProvider={ref('getSelected', this)}\n resetProvider={ref('reset', this)}\n onSelect={this.onSelect}\n selected={selected}\n childComponent={childComponent}\n childProps={childProps}\n data={dataFiltered}\n labels={labels}\n />;\n filteredList = listPortal ? ReactDOM.createPortal(filteredList, listPortal) : filteredList\n\n return (\n <div id={id}\n className={classNames(\n 'AutocompleteSelect',\n mode,\n isMultipleSelect(mode) && 'multi',\n className,\n withFilter ? 'withFilter' : 'withoutFilter',\n isActive && 'active',\n errored && 'errored',\n inlineSelected && 'inlineSelected',\n hasSelected && 'hasSelected',\n disabled && 'disabled',\n )}\n ref={ref('el', this)}>\n {label && <label className={classNames(`label`, (hasSelected || filterValue) && 'active', hasSelected && 'hasSelected')}\n htmlFor={'f-' + id}\n onClick={() => {\n if (mode === MODE_MULTIPLE_MINI_INLINE || !isActive) {\n toggle();\n }\n }}\n >\n {label}\n {required && ' *'}\n {withArrow && <span className=\"arrow\"/>}\n </label>}\n\n {(!isActive || mode === MODE_MULTIPLE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE || mode === MODE_MULTIPLE_AUTO || !withFilter) && !inlineSelected && hasSelected && (\n <div\n className={classNames('selected',\n !label && 'nolabel',\n disabled && 'disabled',\n (mode === MODE_MULTIPLE_MINI || mode === MODE_MINI || mode === MODE_MULTIPLE_MINI_INLINE) && 'clickable',\n selectedMode)}\n onClick={toggle}>\n\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n if (!disabled) {\n stopPropagation(e);\n this.remove(id);\n }\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n {!label && withArrow && <span className=\"arrow\"/>}\n {withReset && <Button className=\"reset\" disabled={disabled} raised={false} onClick={this.clean}>\n {removeIcon}\n </Button>}\n </div>\n )}\n\n {inlineSelected && hasSelected && <>\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n if (!disabled) {\n stopPropagation(e);\n this.remove(id);\n }\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n </>}\n\n {(isActive || (!hasSelected && mode !== MODE_MULTIPLE_MINI_INLINE) || mode === MODE_MULTIPLE || (mode === MODE_MULTIPLE_AUTO && selectedIds.length > 1) || mode === MODE_INLINE_MULTIPLE) && (\n <div className={`input`} data-value={filterValue}>\n {withFilter && <TextField autoComplete=\"new-password\" id={'f-' + id}\n ref={ref('input', this)}\n focused={isActive}\n value={filterValue}\n label={inputLabel}\n disabled={disabled}\n onChange={this.onChange}\n onFocus={e => this.setState({isActive: true})}\n check={this.props.filterCheck}\n onKeyDown={e => {\n const keyCode = e.keyCode;\n if (keyCode === 38/*up*/) {\n preventDefault(e);\n this.prev();\n } else if (keyCode === 40/*down*/) {\n preventDefault(e);\n this.next();\n } else if (keyCode === 13/*enter*/) {\n preventDefault(e);\n this.onSelect(this.getSelected())\n } else if (keyCode === 9/*tab*/) {\n this.onSelect(this.getSelected())\n } else if (keyCode === 8/*backspace*/) {\n if (!filterValue && (selectedIds.length !== 0) && isMultipleSelect(mode)) {\n this.remove(selectedIds[selectedIds.length - 1]);\n }\n this.reset()\n } else if (keyCode === 46/*delete*/) {\n this.reset()\n } else if (keyCode === 27/*esc*/) {\n this.setState({\n isActive: false,\n filterValue: isMultipleSelect(mode) ? '' : ifString(Object.values(selected)[0]) || '',\n });\n this.input.getInput().blur()\n this.onCancel();\n }\n // console.log('key pressed:', e.keyCode)\n }}\n />}\n {!withFilter && inputLabel && <label>{inputLabel}</label>}\n </div>\n )}\n\n {filteredList}\n </div>\n )\n }\n\n onClickOutside = () => {\n const {allowCustom, required, onFilterInputChange, mode, selectCustomOnClickOutside, withFilter} = this.props;\n let {filterValue, selected} = this.state;\n if (allowCustom && selectCustomOnClickOutside && (!!filterValue || !required)) {\n selected = this.onSelect()\n }\n\n filterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''\n\n this.setState({isActive: false, filterValue});\n onFilterInputChange && onFilterInputChange(filterValue);\n\n this.onCancel();\n };\n\n onCancel = () => {\n orNoop(this.props.onCancel)()\n };\n\n onSelect = (selectedId) => {\n const {mode, required, allowCustom, onSelect, onChange, default: defaultValue} = this.props;\n const {filterValue, selected: currentSelection} = this.state;\n const {labels = {}, onFilterInputChange, withFilter} = this.props;\n\n // debugger\n if (selectedId == null && (!!filterValue || !required) && allowCustom && (!this.input || !this.input.check()))\n selectedId = filterValue.trim();\n\n const isMultiSelect = isMultipleSelect(mode);\n\n if (!selectedId && isMultiSelect) {\n selectedId = null;\n }\n\n // debugger\n\n const isSelected = selectedId != null;\n\n let selected = {...currentSelection};\n if (selected[selectedId] && (defaultValue || isMultiSelect)) {\n delete selected[selectedId];\n if (defaultValue && Object.keys(selected).length === 0)\n selected[defaultValue] = defaultValue;\n } else if (isSelected && (isMultiSelect)) {\n selected[selectedId] = selectedId;\n } else if (isSelected) {\n selected = {[selectedId]: selectedId};\n }\n\n const errored = required && Object.keys(selected) === 0;\n\n const isActive = mode === MODE_MULTIPLE_MINI_INLINE || (isMultiSelect && isSelected)\n\n let customValue = '';\n if (allowCustom && selectedId) {\n let label\n if (isFunction(labels))\n label = labels(selectedId)\n else\n label = labels[selectedId]\n\n if (label && isString(label))\n customValue = label\n }\n\n let nextFilterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''\n this.setState({\n isActive: isActive,\n selected: selected,\n filterValue: nextFilterValue,\n errored,\n });\n\n if (nextFilterValue !== filterValue)\n orNoop(onFilterInputChange)(nextFilterValue)\n\n if (isActive && this.input)\n this.input.getInput().focus()\n\n orNoop(onSelect)(selectedId);\n orNoop(onChange)(Object.values(selected));\n return selected\n };\n\n clean = (e) => {\n preventDefault(e);\n stopPropagation(e);\n\n this.setState({\n isActive: false,\n selected: {},\n filterValue: '',\n });\n\n orNoop(this.props.onSelect)(null);\n orNoop(this.props.onChange)([]);\n\n this.initSelected(this.props, this.state);\n };\n\n remove = (id) => {\n let result = {\n ...this.state,\n selected: {...this.state.selected},\n filterValue: '',\n };\n delete result.selected[id];\n this.setState(result);\n orNoop(this.props.onChange)(Object.values(result.selected));\n };\n\n onChange = (event) => {\n const value = event.target.value;\n this.setState({filterValue: value});\n const data = this.state.data || this.props.data || []\n if (data.indexOf(value) !== -1) {\n this.list.selected(value)\n } else {\n this.list.reset()\n }\n\n this.props.onFilterInputChange?.(value);\n }\n}\n\nexport default AutocompleteSelect;\n"],"names":["MODE_DEFAULT","MODE_INLINE","MODE_INLINE_MULTIPLE","MODE_MULTIPLE_AUTO","MODE_MULTIPLE","MODE_MULTIPLE_MINI","MODE_MINI","MODE_MULTIPLE_MINI_INLINE","DummyChild","_ref","id","label","dataConsumer","onClick","orNoop","ReactCreateElement","className","ifString","s","isString","prepareSelected","value","result","Array","isArray","reduce","map","obj","isObject","_defineProperty","findParent","el","tag","tagName","toUpperCase","parentNode","isMultipleSelect","mode","AutocompleteSelect","_PureComponent","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","updateListPosition","listPortal","state","isActive","rect","getBoundingClientRect","listPortalPosition","listStyles","position","top","bottom","minWidth","width","maxHeight","right","window","innerWidth","left","setState","initSelected","_ref2","_ref3","allowCustom","withFilter","_ref3$filterValue","filterValue","selected","createFilter","memo","prefilter","filterValueTrimmed","filter","it","name","toLowerCase","trim","continuousIncludes","onClickOutside","_this$props","required","onFilterInputChange","selectCustomOnClickOutside","_this$state","onSelect","Object","values","onCancel","selectedId","_this$props2","onChange","defaultValue","_this$state2","currentSelection","_this$props3","_this$props3$labels","labels","input","check","isMultiSelect","isSelected","_objectSpread","keys","length","errored","isFunction","nextFilterValue","getInput","focus","clean","e","preventDefault","stopPropagation","remove","event","target","data","indexOf","list","reset","that","_assertThisInitialized","focused","randomId","getRandomId","getSelected","_createClass","key","componentDidMount","_this2","addEventListener","DOCUMENT","listener","contains","_this2$list","_this2$list$el","form","submitButton","querySelector","formSubmitListener","componentDidUpdate","prevProps","prevState","snapshot","onIsActiveChange","componentWillUnmount","removeEventListener","render","_this3","_this$props4","childComponent","childProps","withArrow","withReset","inputLabel","selectedMode","scrollToValue","scroll","disabled","inlineSelected","removeIcon","selectedComponent","_this$state3","_this$state3$selected","_this$state3$filterVa","_this$state4","UNDEFINED","_this$props5","_this$props5$data","_this$props5$labels","selectedIds","hasSelected","setActive","includes","toggle","isInline","dataFiltered","concat","_toConsumableArray","suggestion","filterFunction","filteredList","FilteredList","classNames","style","ref","selectSingle","inline","nextProvider","prevProvider","selectedProvider","resetProvider","ReactDOM","createPortal","htmlFor","React","createElement","getLabel","Fragment","Button","raised","TextField","autoComplete","onFocus","filterCheck","onKeyDown","keyCode","prev","next","blur","PureComponent","defaultProps","MaterialIcon","icon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutocompleteSelect.js","sources":["./src/AutocompleteSelect.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './AutocompleteSelect.css'\nimport TextField from \"./TextField\";\nimport FilteredList, {getLabel} from \"./FilteredList\";\nimport {\n classNames,\n continuousIncludes,\n getRandomId,\n ref,\n orNoop,\n preventDefault,\n stopPropagation,\n DOCUMENT,\n addEventListener,\n removeEventListener,\n isObject,\n isFunction,\n isString, UNDEFINED, memo\n} from \"./Tools\";\nimport Button from \"./Button\";\nimport MaterialIcon from \"./MaterialIcon\";\nimport {PureComponent} from \"./ReactConstants\";\nimport ReactDOM from \"react-dom\";\n\nexport const MODE_DEFAULT = 'default';\nexport const MODE_INLINE = 'inline';\nexport const MODE_INLINE_MULTIPLE = 'inline-multiple';\nexport const MODE_MULTIPLE_AUTO = 'multiple-auto';\nexport const MODE_MULTIPLE = 'multiple';\nexport const MODE_MULTIPLE_MINI = 'multiple-mini';\nexport const MODE_MINI = 'mini';\nexport const MODE_MULTIPLE_MINI_INLINE = 'multiple-mini-inline';\n\n\nconst DummyChild = ({id, label, dataConsumer, onClick}) => {\n orNoop(dataConsumer)(label || id);\n return <div className={`DummyChild`} onClick={onClick}>{label || id}</div>\n};\n\nconst ifString = (s) => isString(s) && s\n\nconst prepareSelected = (value) => {\n let result;\n if (value != null) {\n if (Array.isArray(value))\n result = value.reduce((map, obj) => {\n map[obj] = obj;\n return map;\n }, {});\n else if (isObject(value))\n result = value;\n else if (value)\n result = {[value]: value};\n else\n result = {}\n } else {\n result = {};\n }\n return result;\n};\n\nconst findParent = (el, tag) => {\n if (el != null) {\n const tagName = el.tagName;\n if (tagName && tagName.toUpperCase() === tag.toUpperCase()) {\n return el;\n } else {\n return findParent(el.parentNode, tag)\n }\n }\n return null;\n}\n\nfunction isMultipleSelect(mode) {\n return mode === MODE_MULTIPLE || mode === MODE_MULTIPLE_AUTO || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI || mode === MODE_MULTIPLE_MINI_INLINE;\n}\n\nclass AutocompleteSelect extends PureComponent {\n\n static propTypes = {\n mode: PropTypes.oneOf([MODE_DEFAULT, MODE_INLINE, MODE_MULTIPLE, MODE_MULTIPLE_AUTO, MODE_MULTIPLE_MINI, MODE_MULTIPLE_MINI_INLINE, MODE_INLINE_MULTIPLE, MODE_MINI]),\n listPortalPosition: PropTypes.oneOf(['left', 'right']),\n };\n\n constructor(props) {\n super(props);\n const that = this;\n that.state = {\n selected: prepareSelected(props.value),\n isActive: !!props.focused,\n\n };\n that.randomId = getRandomId('acs-');\n\n const {data, getSelected} = props;\n isFunction(data) && data(data => that.setState({data}));\n\n getSelected && getSelected(() => Object.values(that.state.selected));\n }\n\n componentDidMount() {\n addEventListener(DOCUMENT, 'mousedown', this.listener = (e) => {\n if (this.state.isActive && this.el && !this.el.contains(e.target)) {\n if(!this.props.listPortal || !this.list?.el?.el || !this.list.el.el.contains(e.target)){\n this.onClickOutside()\n }\n }\n })\n if (this.props.required) {\n const form = findParent(this.el.parentNode, 'form')\n if (form) {\n addEventListener(this.submitButton = form.querySelector('button[type=submit]'), 'click', this.formSubmitListener = (e) => {\n const errored = Object.keys(this.state.selected).length === 0;\n this.setState({errored: errored})\n })\n }\n }\n this.initSelected(this.props, this.state)\n this.updateListPosition()\n }\n\n updateListPosition = () => {\n if (this.props.listPortal && this.state.isActive && this.el) {\n const rect = this.el.getBoundingClientRect();\n const listPortal = this.props.listPortal;\n const portalRect = listPortal.getBoundingClientRect ? listPortal.getBoundingClientRect() : {left: 0, top: 0};\n const scrollLeft = listPortal.scrollLeft || 0;\n const scrollTop = listPortal.scrollTop || 0;\n\n const list = this.list?.el?.el || this.list?.el || this.list;\n const listRect = list?.getBoundingClientRect ? list.getBoundingClientRect() : null;\n const listWidth = (listRect && listRect.width) || rect.width;\n\n let listPortalPosition = this.props.listPortalPosition;\n let listStyles = {\n position: 'absolute',\n top: (rect.bottom - portalRect.top + scrollTop) + 'px',\n minWidth: rect.width + 'px',\n maxHeight: '300px',\n };\n if (listPortalPosition === 'right')\n listStyles.left = (rect.right - portalRect.left + scrollLeft - listWidth) + 'px'\n else\n listStyles.left = (rect.left - portalRect.left + scrollLeft) + 'px'\n\n this.setState({\n listStyles: listStyles\n })\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.value !== prevProps.value)\n this.initSelected(this.props, this.state)\n if (this.state.isActive && !prevState.isActive)\n this.updateListPosition()\n if (this.state.isActive !== prevState.isActive)\n orNoop(this.props.onIsActiveChange)(this.state.isActive)\n }\n\n initSelected = ({value, mode, allowCustom, withFilter}, {filterValue = ''}) => {\n this.setState({\n selected: prepareSelected(value),\n filterValue: allowCustom && withFilter && isString(value) && !isMultipleSelect(mode) ? value : filterValue,\n });\n };\n\n componentWillUnmount() {\n removeEventListener(DOCUMENT, 'mousedown', this.listener)\n removeEventListener(this.submitButton, 'click', this.formSubmitListener)\n }\n\n static defaultProps = {\n childComponent: DummyChild,\n withArrow: true,\n withFilter: true,\n selectCustomOnClickOutside: true,\n withReset: false,\n scrollToValue: false,\n disabled: false,\n mode: MODE_DEFAULT,\n selectedMode: 'full',\n listPortalPosition: 'left',\n removeIcon: <MaterialIcon icon=\"close\"/>,\n };\n\n createFilter = memo((prefilter, filterValue, filterValueTrimmed, filter) => it => {\n if (!it) return false;\n if (prefilter && !prefilter(it)) return false;\n if (!filterValue) return true;\n\n if (filter) return filter(it, filterValueTrimmed);\n\n let value = (isString(it) ? it : (it.name || it.label || '')).toLowerCase().trim();\n return continuousIncludes(value, filterValueTrimmed);\n }\n )\n\n render() {\n const {\n childComponent,\n childProps,\n withArrow,\n withFilter,\n withReset,\n filter,\n label,\n inputLabel,\n mode,\n selectedMode,\n prefilter,\n className,\n scrollToValue,\n scroll,\n disabled,\n required,\n allowCustom,\n inlineSelected,\n removeIcon,\n listPortal,\n } = this.props;\n const id = this.props.id || this.randomId;\n const selectedComponent = this.props.selectedComponent || childComponent;\n const {selected = {}, filterValue = '', errored} = this.state;\n let {isActive, listStyles} = this.state;\n if (this.props.isActive !== UNDEFINED) {\n isActive = this.props.isActive\n }\n let {data = [], labels = {}} = this.props;\n if (this.state.data)\n data = this.state.data;\n\n if (!Array.isArray(data))\n data = [];\n\n const selectedIds = Object.values(selected);\n const hasSelected = selectedIds.length !== 0;\n const setActive = (e) => {\n if (!disabled) {\n stopPropagation(e);\n this.setState({isActive: true}, () => {\n scrollToValue && selectedIds.length > 0 && data.includes(selectedIds[0]) && this.list.selected(selectedIds[0]);\n });\n }\n };\n const toggle = (e) => {\n if (!disabled) {\n if (!this.state.isActive) {\n setActive(e);\n } else {\n stopPropagation(e);\n this.setState({isActive: false});\n }\n }\n };\n\n const isInline = mode === MODE_INLINE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE;\n const filterValueTrimmed = filterValue.trim();\n const dataFiltered = allowCustom && !scrollToValue ? [filterValueTrimmed, ...data.filter(suggestion => suggestion !== filterValueTrimmed)] : data;\n\n const filterFunction = !scrollToValue ? this.createFilter(prefilter, filterValue, filterValueTrimmed.toLowerCase(), filter) : UNDEFINED\n let filteredList = <FilteredList className={classNames(isActive && 'visible', listPortal && 'portal')}\n style={listStyles}\n ref={ref('list', this)}\n filter={filterFunction}\n selectSingle={!allowCustom}\n scroll={scroll}\n inline={isInline}\n nextProvider={ref('next', this)}\n prevProvider={ref('prev', this)}\n selectedProvider={ref('getSelected', this)}\n resetProvider={ref('reset', this)}\n onSelect={this.onSelect}\n selected={selected}\n childComponent={childComponent}\n childProps={childProps}\n data={dataFiltered}\n labels={labels}\n />;\n filteredList = listPortal ? ReactDOM.createPortal(filteredList, listPortal) : filteredList\n\n return (\n <div id={id}\n className={classNames(\n 'AutocompleteSelect',\n mode,\n isMultipleSelect(mode) && 'multi',\n className,\n withFilter ? 'withFilter' : 'withoutFilter',\n isActive && 'active',\n errored && 'errored',\n inlineSelected && 'inlineSelected',\n hasSelected && 'hasSelected',\n disabled && 'disabled',\n )}\n ref={ref('el', this)}>\n {label && <label className={classNames(`label`, (hasSelected || filterValue) && 'active', hasSelected && 'hasSelected')}\n htmlFor={'f-' + id}\n onClick={() => {\n if (mode === MODE_MULTIPLE_MINI_INLINE || !isActive) {\n toggle();\n }\n }}\n >\n {label}\n {required && ' *'}\n {withArrow && <span className=\"arrow\"/>}\n </label>}\n\n {(!isActive || mode === MODE_MULTIPLE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE || mode === MODE_MULTIPLE_AUTO || !withFilter) && !inlineSelected && hasSelected && (\n <div\n className={classNames('selected',\n !label && 'nolabel',\n disabled && 'disabled',\n (mode === MODE_MULTIPLE_MINI || mode === MODE_MINI || mode === MODE_MULTIPLE_MINI_INLINE) && 'clickable',\n selectedMode)}\n onClick={toggle}>\n\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n if (!disabled) {\n stopPropagation(e);\n this.remove(id);\n }\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n {!label && withArrow && <span className=\"arrow\"/>}\n {withReset && <Button className=\"reset\" disabled={disabled} raised={false} onClick={this.clean}>\n {removeIcon}\n </Button>}\n </div>\n )}\n\n {inlineSelected && hasSelected && <>\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n if (!disabled) {\n stopPropagation(e);\n this.remove(id);\n }\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n </>}\n\n {(isActive || (!hasSelected && mode !== MODE_MULTIPLE_MINI_INLINE) || mode === MODE_MULTIPLE || (mode === MODE_MULTIPLE_AUTO && selectedIds.length > 1) || mode === MODE_INLINE_MULTIPLE) && (\n <div className={`input`} data-value={filterValue}>\n {withFilter && <TextField autoComplete=\"new-password\" id={'f-' + id}\n ref={ref('input', this)}\n focused={isActive}\n value={filterValue}\n label={inputLabel}\n disabled={disabled}\n onChange={this.onChange}\n onFocus={e => this.setState({isActive: true})}\n check={this.props.filterCheck}\n onKeyDown={e => {\n const keyCode = e.keyCode;\n if (keyCode === 38/*up*/) {\n preventDefault(e);\n this.prev();\n } else if (keyCode === 40/*down*/) {\n preventDefault(e);\n this.next();\n } else if (keyCode === 13/*enter*/) {\n preventDefault(e);\n this.onSelect(this.getSelected())\n } else if (keyCode === 9/*tab*/) {\n this.onSelect(this.getSelected())\n } else if (keyCode === 8/*backspace*/) {\n if (!filterValue && (selectedIds.length !== 0) && isMultipleSelect(mode)) {\n this.remove(selectedIds[selectedIds.length - 1]);\n }\n this.reset()\n } else if (keyCode === 46/*delete*/) {\n this.reset()\n } else if (keyCode === 27/*esc*/) {\n this.setState({\n isActive: false,\n filterValue: isMultipleSelect(mode) ? '' : ifString(Object.values(selected)[0]) || '',\n });\n this.input.getInput().blur()\n this.onCancel();\n }\n // console.log('key pressed:', e.keyCode)\n }}\n />}\n {!withFilter && inputLabel && <label>{inputLabel}</label>}\n </div>\n )}\n\n {filteredList}\n </div>\n )\n }\n\n onClickOutside = () => {\n const {allowCustom, required, onFilterInputChange, mode, selectCustomOnClickOutside, withFilter} = this.props;\n let {filterValue, selected} = this.state;\n if (allowCustom && selectCustomOnClickOutside && (!!filterValue || !required)) {\n selected = this.onSelect()\n }\n\n filterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''\n\n this.setState({isActive: false, filterValue});\n onFilterInputChange && onFilterInputChange(filterValue);\n\n this.onCancel();\n };\n\n onCancel = () => {\n orNoop(this.props.onCancel)()\n };\n\n onSelect = (selectedId) => {\n const {mode, required, allowCustom, onSelect, onChange, default: defaultValue} = this.props;\n const {filterValue, selected: currentSelection} = this.state;\n const {labels = {}, onFilterInputChange, withFilter} = this.props;\n\n // debugger\n if (selectedId == null && (!!filterValue || !required) && allowCustom && (!this.input || !this.input.check()))\n selectedId = filterValue.trim();\n\n const isMultiSelect = isMultipleSelect(mode);\n\n if (!selectedId && isMultiSelect) {\n selectedId = null;\n }\n\n // debugger\n\n const isSelected = selectedId != null;\n\n let selected = {...currentSelection};\n if (selected[selectedId] && (defaultValue || isMultiSelect)) {\n delete selected[selectedId];\n if (defaultValue && Object.keys(selected).length === 0)\n selected[defaultValue] = defaultValue;\n } else if (isSelected && (isMultiSelect)) {\n selected[selectedId] = selectedId;\n } else if (isSelected) {\n selected = {[selectedId]: selectedId};\n }\n\n const errored = required && Object.keys(selected) === 0;\n\n const isActive = mode === MODE_MULTIPLE_MINI_INLINE || (isMultiSelect && isSelected)\n\n let customValue = '';\n if (allowCustom && selectedId) {\n let label\n if (isFunction(labels))\n label = labels(selectedId)\n else\n label = labels[selectedId]\n\n if (label && isString(label))\n customValue = label\n }\n\n let nextFilterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''\n this.setState({\n isActive: isActive,\n selected: selected,\n filterValue: nextFilterValue,\n errored,\n });\n\n if (nextFilterValue !== filterValue)\n orNoop(onFilterInputChange)(nextFilterValue)\n\n if (isActive && this.input)\n this.input.getInput().focus()\n\n orNoop(onSelect)(selectedId);\n orNoop(onChange)(Object.values(selected));\n return selected\n };\n\n clean = (e) => {\n preventDefault(e);\n stopPropagation(e);\n\n this.setState({\n isActive: false,\n selected: {},\n filterValue: '',\n });\n\n orNoop(this.props.onSelect)(null);\n orNoop(this.props.onChange)([]);\n\n this.initSelected(this.props, this.state);\n };\n\n remove = (id) => {\n let result = {\n ...this.state,\n selected: {...this.state.selected},\n filterValue: '',\n };\n delete result.selected[id];\n this.setState(result);\n orNoop(this.props.onChange)(Object.values(result.selected));\n };\n\n onChange = (event) => {\n const value = event.target.value;\n this.setState({filterValue: value});\n const data = this.state.data || this.props.data || []\n if (data.indexOf(value) !== -1) {\n this.list.selected(value)\n } else {\n this.list.reset()\n }\n\n this.props.onFilterInputChange?.(value);\n }\n}\n\nexport default AutocompleteSelect;\n"],"names":["MODE_DEFAULT","MODE_INLINE","MODE_INLINE_MULTIPLE","MODE_MULTIPLE_AUTO","MODE_MULTIPLE","MODE_MULTIPLE_MINI","MODE_MINI","MODE_MULTIPLE_MINI_INLINE","DummyChild","_ref","id","label","dataConsumer","onClick","orNoop","ReactCreateElement","className","ifString","s","isString","prepareSelected","value","result","Array","isArray","reduce","map","obj","isObject","_defineProperty","findParent","el","tag","tagName","toUpperCase","parentNode","isMultipleSelect","mode","AutocompleteSelect","_PureComponent","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","updateListPosition","listPortal","state","isActive","_this$list","_this$list$el","_this$list2","rect","getBoundingClientRect","portalRect","left","top","scrollLeft","scrollTop","list","listRect","listWidth","width","listPortalPosition","listStyles","position","bottom","minWidth","maxHeight","right","setState","initSelected","_ref2","_ref3","allowCustom","withFilter","_ref3$filterValue","filterValue","selected","createFilter","memo","prefilter","filterValueTrimmed","filter","it","name","toLowerCase","trim","continuousIncludes","onClickOutside","_this$props","required","onFilterInputChange","selectCustomOnClickOutside","_this$state","onSelect","Object","values","onCancel","selectedId","_this$props2","onChange","defaultValue","_this$state2","currentSelection","_this$props3","_this$props3$labels","labels","input","check","isMultiSelect","isSelected","_objectSpread","keys","length","errored","isFunction","nextFilterValue","getInput","focus","clean","e","preventDefault","stopPropagation","remove","event","target","data","indexOf","reset","that","_assertThisInitialized","focused","randomId","getRandomId","getSelected","_createClass","key","componentDidMount","_this2","addEventListener","DOCUMENT","listener","contains","_this2$list","_this2$list$el","form","submitButton","querySelector","formSubmitListener","componentDidUpdate","prevProps","prevState","snapshot","onIsActiveChange","componentWillUnmount","removeEventListener","render","_this3","_this$props4","childComponent","childProps","withArrow","withReset","inputLabel","selectedMode","scrollToValue","scroll","disabled","inlineSelected","removeIcon","selectedComponent","_this$state3","_this$state3$selected","_this$state3$filterVa","_this$state4","UNDEFINED","_this$props5","_this$props5$data","_this$props5$labels","selectedIds","hasSelected","setActive","includes","toggle","isInline","dataFiltered","concat","_toConsumableArray","suggestion","filterFunction","filteredList","FilteredList","classNames","style","ref","selectSingle","inline","nextProvider","prevProvider","selectedProvider","resetProvider","ReactDOM","createPortal","htmlFor","React","createElement","getLabel","Fragment","Button","raised","TextField","autoComplete","onFocus","filterCheck","onKeyDown","keyCode","prev","next","blur","PureComponent","defaultProps","MaterialIcon","icon"],"mappings":"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"}
|
package/ReadyListener.d.ts
CHANGED
|
@@ -1,16 +1,49 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
2
|
export interface NotReadyIndicatorProps {
|
|
3
3
|
onChange?: (ready: boolean) => void;
|
|
4
|
-
render?: (ready: boolean) => JSX.Element | ReactNode;
|
|
4
|
+
render?: (ready: boolean, notReadyElements: string[]) => JSX.Element | ReactNode;
|
|
5
5
|
children?: ReactNode;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
8
|
-
|
|
7
|
+
export interface NotReadyProps {
|
|
8
|
+
name?: string;
|
|
9
|
+
}
|
|
10
|
+
interface NotReadyIndicatorState {
|
|
11
|
+
r: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const createReadyListener: () => ({
|
|
14
|
+
new (properties: any): {
|
|
15
|
+
context: any;
|
|
16
|
+
setState<K extends "r">(state: NotReadyIndicatorState | ((prevState: Readonly<NotReadyIndicatorState>, props: Readonly<NotReadyIndicatorProps>) => NotReadyIndicatorState | Pick<NotReadyIndicatorState, K>) | Pick<NotReadyIndicatorState, K>, callback?: () => void): void;
|
|
17
|
+
forceUpdate(callback?: () => void): void;
|
|
18
|
+
render(): React.ReactNode;
|
|
19
|
+
readonly props: Readonly<NotReadyIndicatorProps> & Readonly<{
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
}>;
|
|
22
|
+
state: Readonly<NotReadyIndicatorState>;
|
|
23
|
+
refs: {
|
|
24
|
+
[key: string]: React.ReactInstance;
|
|
25
|
+
};
|
|
26
|
+
componentDidMount?(): void;
|
|
27
|
+
shouldComponentUpdate?(nextProps: Readonly<NotReadyIndicatorProps>, nextState: Readonly<NotReadyIndicatorState>, nextContext: any): boolean;
|
|
28
|
+
componentWillUnmount?(): void;
|
|
29
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
30
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<NotReadyIndicatorProps>, prevState: Readonly<NotReadyIndicatorState>): any;
|
|
31
|
+
componentDidUpdate?(prevProps: Readonly<NotReadyIndicatorProps>, prevState: Readonly<NotReadyIndicatorState>, snapshot?: any): void;
|
|
32
|
+
componentWillMount?(): void;
|
|
33
|
+
UNSAFE_componentWillMount?(): void;
|
|
34
|
+
componentWillReceiveProps?(nextProps: Readonly<NotReadyIndicatorProps>, nextContext: any): void;
|
|
35
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<NotReadyIndicatorProps>, nextContext: any): void;
|
|
36
|
+
componentWillUpdate?(nextProps: Readonly<NotReadyIndicatorProps>, nextState: Readonly<NotReadyIndicatorState>, nextContext: any): void;
|
|
37
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<NotReadyIndicatorProps>, nextState: Readonly<NotReadyIndicatorState>, nextContext: any): void;
|
|
38
|
+
};
|
|
39
|
+
contextType?: React.Context<any>;
|
|
40
|
+
} | {
|
|
41
|
+
new (props: NotReadyProps): {
|
|
9
42
|
context: any;
|
|
10
|
-
setState<
|
|
43
|
+
setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<NotReadyProps>) => {} | Pick<{}, K_1>) | Pick<{}, K_1>, callback?: () => void): void;
|
|
11
44
|
forceUpdate(callback?: () => void): void;
|
|
12
45
|
render(): React.ReactNode;
|
|
13
|
-
readonly props: Readonly<
|
|
46
|
+
readonly props: Readonly<NotReadyProps> & Readonly<{
|
|
14
47
|
children?: React.ReactNode;
|
|
15
48
|
}>;
|
|
16
49
|
state: Readonly<{}>;
|
|
@@ -18,17 +51,18 @@ export declare const createReadyListener: () => {
|
|
|
18
51
|
[key: string]: React.ReactInstance;
|
|
19
52
|
};
|
|
20
53
|
componentDidMount?(): void;
|
|
21
|
-
shouldComponentUpdate?(nextProps: Readonly<
|
|
54
|
+
shouldComponentUpdate?(nextProps: Readonly<NotReadyProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
22
55
|
componentWillUnmount?(): void;
|
|
23
56
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
|
24
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<
|
|
25
|
-
componentDidUpdate?(prevProps: Readonly<
|
|
57
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<NotReadyProps>, prevState: Readonly<{}>): any;
|
|
58
|
+
componentDidUpdate?(prevProps: Readonly<NotReadyProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
26
59
|
componentWillMount?(): void;
|
|
27
60
|
UNSAFE_componentWillMount?(): void;
|
|
28
|
-
componentWillReceiveProps?(nextProps: Readonly<
|
|
29
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<
|
|
30
|
-
componentWillUpdate?(nextProps: Readonly<
|
|
31
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<
|
|
61
|
+
componentWillReceiveProps?(nextProps: Readonly<NotReadyProps>, nextContext: any): void;
|
|
62
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<NotReadyProps>, nextContext: any): void;
|
|
63
|
+
componentWillUpdate?(nextProps: Readonly<NotReadyProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
64
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<NotReadyProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
32
65
|
};
|
|
33
66
|
contextType?: React.Context<any>;
|
|
34
|
-
}[];
|
|
67
|
+
})[];
|
|
68
|
+
export {};
|
package/ReadyListener.js
CHANGED
|
@@ -2,7 +2,7 @@ import ReactConstants from "./ReactConstants"; import {clientHeight as __clientH
|
|
|
2
2
|
import { orNoop } from './Tools.js';
|
|
3
3
|
|
|
4
4
|
const createReadyListener = () => {
|
|
5
|
-
let indicator, count = 0;
|
|
5
|
+
let indicator, count = 0, notReadyElements = [];
|
|
6
6
|
class NotReadyIndicator extends PureComponent {
|
|
7
7
|
constructor(properties) {
|
|
8
8
|
super(properties);
|
|
@@ -12,12 +12,13 @@ const createReadyListener = () => {
|
|
|
12
12
|
that[ReactConstants[3]] = () => {
|
|
13
13
|
const _props = props(that), renderer = _props[ReactConstants[3]], ready = state(that).r;
|
|
14
14
|
if (renderer)
|
|
15
|
-
return renderer(ready);
|
|
15
|
+
return renderer(ready, notReadyElements);
|
|
16
16
|
else
|
|
17
17
|
return (!ready && _props[ReactConstants[4]]) || null;
|
|
18
18
|
};
|
|
19
19
|
that[ReactConstants[0]] = that[ReactConstants[2]] = () => {
|
|
20
|
-
|
|
20
|
+
// console.log('NotReadyIndicator.update.mounted', state(that).r, count)
|
|
21
|
+
orNoop(props(that)[ReactConstants[7]])(state(that).r && count === 0);
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
24
|
}
|
|
@@ -25,11 +26,15 @@ const createReadyListener = () => {
|
|
|
25
26
|
constructor(props) {
|
|
26
27
|
super(props);
|
|
27
28
|
const that = this;
|
|
29
|
+
count++;
|
|
30
|
+
// console.log('NotReady created')
|
|
28
31
|
that[ReactConstants[0]] = () => {
|
|
29
|
-
|
|
32
|
+
notReadyElements.push(__props(that).name || 'unknown');
|
|
30
33
|
setState(indicator, { r: false });
|
|
31
34
|
};
|
|
32
35
|
that[ReactConstants[1]] = () => {
|
|
36
|
+
let index = notReadyElements.indexOf(__props(that).name || 'unknown');
|
|
37
|
+
notReadyElements.splice(index, 1);
|
|
33
38
|
setState(indicator, { r: --count === 0 });
|
|
34
39
|
};
|
|
35
40
|
that[ReactConstants[3]] = () => null;
|
package/ReadyListener.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadyListener.js","sources":["./src/ReadyListener.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ReadyListener.js","sources":["./src/ReadyListener.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;AAmBO,MAAM,mBAAmB,GAAG,MAAK;IACpC,IAAI,SAAS,EACT,KAAK,GAAG,CAAC,EACT,gBAAgB,GAAa,EAAE,CAAC;IAEpC,MAAM,iBAAkB,SAAQ,aAA6D,CAAA;AACzF,QAAA,WAAA,CAAY,UAAU,EAAA;YAClB,KAAK,CAAC,UAAU,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,EAAC,CAAC,EAAE,IAAI,EAAC,CAAC;YACvB,SAAS,GAAG,IAAI,CAAC;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,MAAK;gBAChB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EACtB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EACzB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE1B,gBAAA,IAAI,QAAQ;AACR,oBAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;;oBAEzC,OAAO,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AACpD,aAAC,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAK;;gBAEtD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;AAC/D,aAAC,CAAA;SACJ;AACJ,KAAA;IAED,MAAM,QAAS,SAAQ,aAA4B,CAAA;AAC/C,QAAA,WAAA,CAAY,KAAoB,EAAA;YAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,YAAA,KAAK,EAAE,CAAC;;AAER,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,MAAK;gBAC3B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;gBACnD,QAAQ,CAAC,SAAS,EAAE,EAAC,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;AACpC,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,MAAK;AAC9B,gBAAA,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;AAClE,gBAAA,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACjC,gBAAA,QAAQ,CAAC,SAAS,EAAE,EAAC,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,EAAC,CAAC,CAAC;AAC5C,aAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC;SAC7B;AACJ,KAAA;AAED,IAAA,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;AACxC;;;;"}
|
package/Tools.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ type SortField<T> = keyof T | FieldGetter<T>;
|
|
|
41
41
|
export declare class Comparators {
|
|
42
42
|
static SORT_ASC: SortOrder;
|
|
43
43
|
static SORT_DESC: SortOrder;
|
|
44
|
-
static of: <T>(field: SortField<T> | SortField<T>[], order
|
|
44
|
+
static of: <T>(field: SortField<T> | SortField<T>[], order?: SortOrder | SortOrder[], data?: T[]) => Comparator<T>;
|
|
45
45
|
static chain: <T>(comparators: Comparator<T>[]) => Comparator<T>;
|
|
46
46
|
static inverse: <T>(comparator: Comparator<T>) => Comparator<T>;
|
|
47
47
|
}
|
package/Tools.js
CHANGED
|
@@ -156,7 +156,7 @@ const removeEventListener = (el, type, listener, options) => {
|
|
|
156
156
|
class Comparators {
|
|
157
157
|
static SORT_ASC = 'ASC';
|
|
158
158
|
static SORT_DESC = 'DESC';
|
|
159
|
-
static of = (field, order, data) => {
|
|
159
|
+
static of = (field, order = Comparators.SORT_ASC, data) => {
|
|
160
160
|
let comparator;
|
|
161
161
|
if (Array.isArray(field)) {
|
|
162
162
|
const isOrderArray = Array.isArray(order);
|
package/Tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tools.js","sources":["./src/Tools.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Tools.js","sources":["./src/Tools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|