react-ui-basics 0.0.141 → 0.0.144
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/Animated.js +3 -3
- package/Animated.js.map +1 -1
- package/AutocompleteSelect.js +35 -32
- package/AutocompleteSelect.js.map +1 -1
- package/Button.js +3 -3
- package/Button.js.map +1 -1
- package/Checkbox.js +3 -3
- package/Checkbox.js.map +1 -1
- package/CircleProgress.js.map +1 -1
- package/DNDContainer.js.map +1 -1
- package/DNDDraggable.js +2 -2
- package/DNDDraggable.js.map +1 -1
- package/DNDDroppable.js +2 -2
- package/DNDDroppable.js.map +1 -1
- package/Dialog.js +4 -4
- package/Dialog.js.map +1 -1
- package/DropFileInput.js.map +1 -1
- package/DroppableHorizontalList.js +2 -2
- package/DroppableHorizontalList.js.map +1 -1
- package/DroppableList.js +10 -4
- package/DroppableList.js.map +1 -1
- package/Dropzone.js +2 -2
- package/Dropzone.js.map +1 -1
- package/FilteredList.js +6 -5
- package/FilteredList.js.map +1 -1
- package/FloatingActionButton.js.map +1 -1
- package/FormUploadProgress.js.map +1 -1
- package/ImageGallery.js +6 -6
- package/ImageGallery.js.map +1 -1
- package/MaterialIcon.js +1 -1
- package/MaterialIcon.js.map +1 -1
- package/Modal.js +3 -3
- package/Modal.js.map +1 -1
- package/ModalMenu.js +2 -2
- package/ModalMenu.js.map +1 -1
- package/ReactConstants.js.map +1 -1
- package/ReadyListener.js +3 -3
- package/ReadyListener.js.map +1 -1
- package/Scrollable.js +7 -4
- package/Scrollable.js.map +1 -1
- package/ScrollableTable.js +6 -2
- package/ScrollableTable.js.map +1 -1
- package/Size.js.map +1 -1
- package/Snackbar.js +2 -2
- package/Snackbar.js.map +1 -1
- package/SpinningProgress.js.map +1 -1
- package/Switch.js +3 -3
- package/Switch.js.map +1 -1
- package/Table.js.map +1 -1
- package/TextField.js +3 -3
- package/TextField.js.map +1 -1
- package/Tools.js +183 -205
- package/Tools.js.map +1 -1
- package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/bundle.css +464 -464
- package/package.json +30 -27
- package/router/HistoryTools.js.map +1 -1
- package/router/Link.js.map +1 -1
- package/router/NavLink.js.map +1 -1
- package/router/Route.js +3 -3
- package/router/Route.js.map +1 -1
- package/router/index.js.map +1 -1
- package/store/ProxyTools.js.map +1 -1
- package/store/Store.js +43 -57
- package/store/Store.js.map +1 -1
- package/types/Tools.d.ts +36 -0
- package/types/store/Store.d.ts +21 -0
package/DNDContainer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DNDContainer.js","sources":["../src/react-ui-basics/DNDContainer.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DNDContainer.css'\nimport {classNames, NOOP, orNoop, preventDefault, ref, DOCUMENT, WINDOW, addEventListener, removeEventListener, setTimeout, clearTimeout, requestAnimationFrame} from \"./Tools\";\n\nconst clearSelection = () => {\n const getSelection = WINDOW.getSelection;\n if (getSelection) {\n if (getSelection().empty) { // Chrome\n getSelection().empty();\n } else if (getSelection().removeAllRanges) { // Firefox\n getSelection().removeAllRanges();\n }\n } else if (DOCUMENT.selection) { // IE?\n DOCUMENT.selection.empty();\n }\n};\n\nconst droppables = 'ds';\nconst positionListener = 'pl';\n\nclass DNDContainer extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n draggable: null,\n };\n\n this[droppables] = [];\n this[positionListener] = NOOP;\n }\n\n render() {\n const {children, className} = this.props;\n const {draggable} = this.state;\n return <div className={classNames('DNDContainer', className)} ref={ref('container', this)}>\n {children}\n <div className=\"overlay\">{draggable}</div>\n </div>;\n };\n\n componentDidMount() {\n const {\n provideDraggableInitializer,\n provideDroppableInitializer,\n } = this.props;\n\n orNoop(provideDraggableInitializer)(this.draggableInitializer);\n orNoop(provideDroppableInitializer)(this.droppableInitializer);\n addEventListener(this.container, 'dragover', this.onDrag, {capture: true, passive: true})\n };\n\n draggableInitializer = (item) => {\n const handle = item.props.handle;\n const draggableElement = (handle && item.element.childNodes[0]) || item.element;\n draggableElement.draggable = true;\n\n const dragStartListener = (e) => {\n clearSelection();\n const container = this.container;\n this.data = item.props.data;\n this.draggable = item;\n this.scrollOffsetX = e.pageX - e.clientX;\n this.scrollOffsetY = e.pageY - e.clientY;\n const dataTransfer = e.dataTransfer;\n const itemOffset = item.element.getBoundingClientRect();\n\n item.width = itemOffset.width;\n item.height = itemOffset.height;\n\n let clone = orNoop(item.props.copy)((it) => {\n let style = it.element.style;\n\n const offsetLeft = totalOffsetLeft(container) + (e.clientX - itemOffset.left);\n const offsetTop = totalOffsetTop(container) + (e.clientY - itemOffset.top);\n this[positionListener] = orNoop(it.createPositionListener)(e, style, itemOffset, container) || ((e) => {\n if (e.pageX === 0)\n return;\n\n style.transform = 'translate(' + (e.pageX - offsetLeft) + 'px, ' + (e.pageY - offsetTop) + 'px)';\n });\n\n\n requestAnimationFrame(() => {\n if (dataTransfer && !dataTransfer.setDragImage) {\n style.opacity = '0'; // hide dragged element in ie and edge\n }\n if (it.initDraggedStyles)\n it.initDraggedStyles(style, itemOffset);\n else {\n style.position = 'absolute';\n style.pointerEvents = 'none';\n style.opacity = '1';\n style.top = '0px';\n style.left = '0px';\n style.width = itemOffset.width + 'px';\n style.height = itemOffset.height + 'px';\n }\n\n this.onDrag(e);\n it.setState({dragged: true});\n });\n return it;\n }, 'copy', item);\n\n dataTransfer && dataTransfer.setData && dataTransfer.setData('text', ''); // required by firefox\n dataTransfer && (dataTransfer.dropEffect = \"move\");\n if (clone) {\n if (dataTransfer && dataTransfer.setDragImage) {\n clone !== item && this.setState({draggable: clone});\n const img = document.createElement('img');\n img.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n dataTransfer.setDragImage(img, 0, 0);\n }\n }\n this.onDragStart(e);\n setTimeout(() => item.setState({placeholder: true}), 1)\n };\n addListener(draggableElement, item, 'dragend', (e) => {\n item.setState({placeholder: false});\n this.onDragEnd()\n });\n addListener(draggableElement, item, 'dragstart', dragStartListener);\n\n let longTouch;\n let dragStarted = false;\n let dragged = false;\n addListener(draggableElement, item, 'touchstart', e => {\n if (e.touches.length > 1)\n return;\n\n dragged = dragStarted = false;\n const touch = e.targetTouches[0];\n longTouch = setTimeout(() => longTouch && (dragStarted = true) && (longTouch = dragStartListener(touch)), !handle ? 500 : 0)\n });\n\n addListener(draggableElement, item, 'touchmove', e => {\n if (longTouch) {\n longTouch = clearTimeout(longTouch);\n return;\n }\n if (!dragStarted)\n return;\n\n if (e.touches.length > 1)\n return;\n\n preventDefault(e);\n dragged = true;\n const touch = e.targetTouches[0];\n this[positionListener](touch);\n this[droppables].forEach(it => it.isHover(touch, item))\n });\n\n addListener(draggableElement, item, 'touchend', e => {\n longTouch = clearTimeout(longTouch);\n if (!dragged)\n return;\n\n item.setState({placeholder: false});\n if (e.touches.length > 0)\n return;\n\n this[droppables].forEach(it => it.dropIfHover());\n this.onDragEnd();\n });\n };\n\n\n droppableInitializer = (item) => {\n this[droppables].push(item);\n\n addEventListener(item.element, 'drop', (e) => {\n preventDefault(e);\n this.data && orNoop(item.props.onDrop)(this.data);\n }, false);\n\n item.onDragStart = (e, draggable) => {\n item.bounds = item.element.getBoundingClientRect();\n item.setState({allow: true});\n orNoop(item.props.onDragStart)(e, draggable);\n };\n item.isHover = (e, draggable) => {\n const bounds = item.bounds;\n if (!bounds)\n return;\n\n let y = e.pageY - this.scrollOffsetY;\n let x = e.pageX - this.scrollOffsetX;\n let hover = bounds.left <= x && bounds.right >= x && bounds.top <= y && bounds.bottom >= y;\n\n hover && orNoop(item.props.onHover)(e, draggable);\n\n if (hover)\n !item.state.hover && item.setState({hover});\n else\n item.state.hover && item.setState({hover});\n };\n item.dropIfHover = () => {\n this.data && item.state.hover && orNoop(item.props.onDrop)(this.data);\n };\n item.onDragEnd = () => {\n orNoop(orNoop(this.draggable).onDragEnd)();\n item.setState({allow: false, hover: false});\n };\n item.onUnmount = () => this[droppables].splice(this[droppables].indexOf(item), 1);\n };\n\n onDrag = (e) => {\n if (!this.draggable)\n return;\n\n this[positionListener](e);\n this[droppables].forEach(it => it.isHover(e, this.draggable))\n };\n onDragStart = (e) => {\n this[droppables].forEach(it => it.onDragStart(e, this.draggable))\n };\n onDragEnd = () => {\n const draggable = this.draggable;\n if (draggable.element) {\n let style = draggable.element.style;\n style.position = '';\n style.pointerEvents = '';\n style.width = ``;\n style.height = ``;\n style.opacity = '';\n }\n draggable.setState({dragged: false});\n\n this.setState({draggable: null});\n\n this[droppables].forEach(it => {\n it.onDragEnd();\n orNoop(it.props.onDragEnd)(this.draggable)\n });\n this.data = null;\n this.draggable = null;\n };\n}\n\nexport const removeListener = (el, item, type) => item[type] && removeEventListener(el, type, item[type]);\nexport const addListener = (el, item, type, listener) => {\n removeListener(el, item, type);\n addEventListener(el, type, item[type] = listener);\n};\n\nconst totalOffsetTop = (el) => {\n return el.getBoundingClientRect().top + (WINDOW.pageYOffset || DOCUMENT.documentElement.scrollTop);\n};\nconst totalOffsetLeft = (el) => {\n return el.getBoundingClientRect().left + (WINDOW.pageXOffset || DOCUMENT.documentElement.scrollLeft);\n};\n\nexport default DNDContainer;"],"names":["clearSelection","getSelection","WINDOW","empty","removeAllRanges","DOCUMENT","selection","droppables","positionListener","DNDContainer","props","draggableInitializer","item","handle","draggableElement","element","childNodes","draggable","dragStartListener","e","container","data","scrollOffsetX","pageX","clientX","scrollOffsetY","pageY","clientY","dataTransfer","itemOffset","getBoundingClientRect","width","height","clone","orNoop","copy","it","style","offsetLeft","totalOffsetLeft","left","offsetTop","totalOffsetTop","top","createPositionListener","transform","requestAnimationFrame","setDragImage","opacity","initDraggedStyles","position","pointerEvents","onDrag","setState","dragged","setData","dropEffect","img","document","createElement","src","onDragStart","setTimeout","placeholder","addListener","onDragEnd","longTouch","dragStarted","touches","length","touch","targetTouches","clearTimeout","preventDefault","forEach","isHover","dropIfHover","droppableInitializer","push","addEventListener","onDrop","bounds","allow","y","x","hover","right","bottom","onHover","state","onUnmount","splice","indexOf","NOOP","children","className","classNames","ref","provideDraggableInitializer","provideDroppableInitializer","capture","passive","Component","removeListener","el","type","removeEventListener","listener","pageYOffset","documentElement","scrollTop","pageXOffset","scrollLeft"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DNDContainer.js","sources":["../src/react-ui-basics/DNDContainer.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DNDContainer.css'\nimport {classNames, NOOP, orNoop, preventDefault, ref, DOCUMENT, WINDOW, addEventListener, removeEventListener, setTimeout, clearTimeout, requestAnimationFrame} from \"./Tools\";\n\nconst clearSelection = () => {\n const getSelection = WINDOW.getSelection;\n if (getSelection) {\n if (getSelection().empty) { // Chrome\n getSelection().empty();\n } else if (getSelection().removeAllRanges) { // Firefox\n getSelection().removeAllRanges();\n }\n } else if (DOCUMENT.selection) { // IE?\n DOCUMENT.selection.empty();\n }\n};\n\nconst droppables = 'ds';\nconst positionListener = 'pl';\n\nclass DNDContainer extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n draggable: null,\n };\n\n this[droppables] = [];\n this[positionListener] = NOOP;\n }\n\n render() {\n const {children, className} = this.props;\n const {draggable} = this.state;\n return <div className={classNames('DNDContainer', className)} ref={ref('container', this)}>\n {children}\n <div className=\"overlay\">{draggable}</div>\n </div>;\n };\n\n componentDidMount() {\n const {\n provideDraggableInitializer,\n provideDroppableInitializer,\n } = this.props;\n\n orNoop(provideDraggableInitializer)(this.draggableInitializer);\n orNoop(provideDroppableInitializer)(this.droppableInitializer);\n addEventListener(this.container, 'dragover', this.onDrag, {capture: true, passive: true})\n };\n\n draggableInitializer = (item) => {\n const handle = item.props.handle;\n const draggableElement = (handle && item.element.childNodes[0]) || item.element;\n draggableElement.draggable = true;\n\n const dragStartListener = (e) => {\n clearSelection();\n const container = this.container;\n this.data = item.props.data;\n this.draggable = item;\n this.scrollOffsetX = e.pageX - e.clientX;\n this.scrollOffsetY = e.pageY - e.clientY;\n const dataTransfer = e.dataTransfer;\n const itemOffset = item.element.getBoundingClientRect();\n\n item.width = itemOffset.width;\n item.height = itemOffset.height;\n\n let clone = orNoop(item.props.copy)((it) => {\n let style = it.element.style;\n\n const offsetLeft = totalOffsetLeft(container) + (e.clientX - itemOffset.left);\n const offsetTop = totalOffsetTop(container) + (e.clientY - itemOffset.top);\n this[positionListener] = orNoop(it.createPositionListener)(e, style, itemOffset, container) || ((e) => {\n if (e.pageX === 0)\n return;\n\n style.transform = 'translate(' + (e.pageX - offsetLeft) + 'px, ' + (e.pageY - offsetTop) + 'px)';\n });\n\n\n requestAnimationFrame(() => {\n if (dataTransfer && !dataTransfer.setDragImage) {\n style.opacity = '0'; // hide dragged element in ie and edge\n }\n if (it.initDraggedStyles)\n it.initDraggedStyles(style, itemOffset);\n else {\n style.position = 'absolute';\n style.pointerEvents = 'none';\n style.opacity = '1';\n style.top = '0px';\n style.left = '0px';\n style.width = itemOffset.width + 'px';\n style.height = itemOffset.height + 'px';\n }\n\n this.onDrag(e);\n it.setState({dragged: true});\n });\n return it;\n }, 'copy', item);\n\n dataTransfer && dataTransfer.setData && dataTransfer.setData('text', ''); // required by firefox\n dataTransfer && (dataTransfer.dropEffect = \"move\");\n if (clone) {\n if (dataTransfer && dataTransfer.setDragImage) {\n clone !== item && this.setState({draggable: clone});\n const img = document.createElement('img');\n img.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n dataTransfer.setDragImage(img, 0, 0);\n }\n }\n this.onDragStart(e);\n setTimeout(() => item.setState({placeholder: true}), 1)\n };\n addListener(draggableElement, item, 'dragend', (e) => {\n item.setState({placeholder: false});\n this.onDragEnd()\n });\n addListener(draggableElement, item, 'dragstart', dragStartListener);\n\n let longTouch;\n let dragStarted = false;\n let dragged = false;\n addListener(draggableElement, item, 'touchstart', e => {\n if (e.touches.length > 1)\n return;\n\n dragged = dragStarted = false;\n const touch = e.targetTouches[0];\n longTouch = setTimeout(() => longTouch && (dragStarted = true) && (longTouch = dragStartListener(touch)), !handle ? 500 : 0)\n });\n\n addListener(draggableElement, item, 'touchmove', e => {\n if (longTouch) {\n longTouch = clearTimeout(longTouch);\n return;\n }\n if (!dragStarted)\n return;\n\n if (e.touches.length > 1)\n return;\n\n preventDefault(e);\n dragged = true;\n const touch = e.targetTouches[0];\n this[positionListener](touch);\n this[droppables].forEach(it => it.isHover(touch, item))\n });\n\n addListener(draggableElement, item, 'touchend', e => {\n longTouch = clearTimeout(longTouch);\n if (!dragged)\n return;\n\n item.setState({placeholder: false});\n if (e.touches.length > 0)\n return;\n\n this[droppables].forEach(it => it.dropIfHover());\n this.onDragEnd();\n });\n };\n\n\n droppableInitializer = (item) => {\n this[droppables].push(item);\n\n addEventListener(item.element, 'drop', (e) => {\n preventDefault(e);\n this.data && orNoop(item.props.onDrop)(this.data);\n }, false);\n\n item.onDragStart = (e, draggable) => {\n item.bounds = item.element.getBoundingClientRect();\n item.setState({allow: true});\n orNoop(item.props.onDragStart)(e, draggable);\n };\n item.isHover = (e, draggable) => {\n const bounds = item.bounds;\n if (!bounds)\n return;\n\n let y = e.pageY - this.scrollOffsetY;\n let x = e.pageX - this.scrollOffsetX;\n let hover = bounds.left <= x && bounds.right >= x && bounds.top <= y && bounds.bottom >= y;\n\n hover && orNoop(item.props.onHover)(e, draggable);\n\n if (hover)\n !item.state.hover && item.setState({hover});\n else\n item.state.hover && item.setState({hover});\n };\n item.dropIfHover = () => {\n this.data && item.state.hover && orNoop(item.props.onDrop)(this.data);\n };\n item.onDragEnd = () => {\n orNoop(orNoop(this.draggable).onDragEnd)();\n item.setState({allow: false, hover: false});\n };\n item.onUnmount = () => this[droppables].splice(this[droppables].indexOf(item), 1);\n };\n\n onDrag = (e) => {\n if (!this.draggable)\n return;\n\n this[positionListener](e);\n this[droppables].forEach(it => it.isHover(e, this.draggable))\n };\n onDragStart = (e) => {\n this[droppables].forEach(it => it.onDragStart(e, this.draggable))\n };\n onDragEnd = () => {\n const draggable = this.draggable;\n if (draggable.element) {\n let style = draggable.element.style;\n style.position = '';\n style.pointerEvents = '';\n style.width = ``;\n style.height = ``;\n style.opacity = '';\n }\n draggable.setState({dragged: false});\n\n this.setState({draggable: null});\n\n this[droppables].forEach(it => {\n it.onDragEnd();\n orNoop(it.props.onDragEnd)(this.draggable)\n });\n this.data = null;\n this.draggable = null;\n };\n}\n\nexport const removeListener = (el, item, type) => item[type] && removeEventListener(el, type, item[type]);\nexport const addListener = (el, item, type, listener) => {\n removeListener(el, item, type);\n addEventListener(el, type, item[type] = listener);\n};\n\nconst totalOffsetTop = (el) => {\n return el.getBoundingClientRect().top + (WINDOW.pageYOffset || DOCUMENT.documentElement.scrollTop);\n};\nconst totalOffsetLeft = (el) => {\n return el.getBoundingClientRect().left + (WINDOW.pageXOffset || DOCUMENT.documentElement.scrollLeft);\n};\n\nexport default DNDContainer;"],"names":["clearSelection","getSelection","WINDOW","empty","removeAllRanges","DOCUMENT","selection","droppables","positionListener","DNDContainer","props","draggableInitializer","item","handle","draggableElement","element","childNodes","draggable","dragStartListener","e","container","data","scrollOffsetX","pageX","clientX","scrollOffsetY","pageY","clientY","dataTransfer","itemOffset","getBoundingClientRect","width","height","clone","orNoop","copy","it","style","offsetLeft","totalOffsetLeft","left","offsetTop","totalOffsetTop","top","createPositionListener","transform","requestAnimationFrame","setDragImage","opacity","initDraggedStyles","position","pointerEvents","onDrag","setState","dragged","setData","dropEffect","img","document","createElement","src","onDragStart","setTimeout","placeholder","addListener","onDragEnd","longTouch","dragStarted","touches","length","touch","targetTouches","clearTimeout","preventDefault","forEach","isHover","dropIfHover","droppableInitializer","push","addEventListener","onDrop","bounds","allow","y","x","hover","right","bottom","onHover","state","onUnmount","splice","indexOf","NOOP","children","className","classNames","ref","provideDraggableInitializer","provideDroppableInitializer","capture","passive","Component","removeListener","el","type","removeEventListener","listener","pageYOffset","documentElement","scrollTop","pageXOffset","scrollLeft"],"mappings":"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"}
|
package/DNDDraggable.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
4
|
import { orNoop, classNames, ref } from './Tools.js';
|
|
@@ -41,7 +41,7 @@ var Draggable = function (_PureComponent) {
|
|
|
41
41
|
};
|
|
42
42
|
return _this;
|
|
43
43
|
}
|
|
44
|
-
return Draggable;
|
|
44
|
+
return _createClass(Draggable);
|
|
45
45
|
}(PureComponent);
|
|
46
46
|
var DNDDraggable = Draggable;
|
|
47
47
|
|
package/DNDDraggable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DNDDraggable.js","sources":["../src/react-ui-basics/DNDDraggable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref} from \"./Tools\";\nimport {componentDidUpdate, props, state, render, children, className, componentDidMount, componentWillUnmount, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n dragged = 'dragged',\n placeholder = 'placeholder',\n initializer = 'initializer',\n handle = 'handle'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Draggable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[handle] !== props(that)[handle] || prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n that[componentDidMount] = () => {\n init(that)\n };\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n that[render] = () => {\n const _state = state(that),\n _props = props(that);\n return <div className={classNames('Draggable', _props[className],\n _state[dragged] && dragged,\n _state[placeholder] && placeholder,\n _state[hover] && hover,\n )}\n onClick={_props.onClick}\n ref={ref('element', that)}\n >\n {_props[handle]}\n {_props[children]}\n </div>;\n }\n }\n}\n\n\nexport default Draggable;"],"names":["hover","dragged","placeholder","initializer","handle","init","that","orNoop","props","Draggable","properties","state","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_state","_props","classNames","className","onClick","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,OAAO,GAAG,SADd;AAAA,IAEIC,WAAW,GAAG,aAFlB;AAAA,IAGIC,WAAW,GAAG,aAHlB;AAAA,IAIIC,MAAM,GAAG,QAJb;AAOA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"DNDDraggable.js","sources":["../src/react-ui-basics/DNDDraggable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref} from \"./Tools\";\nimport {componentDidUpdate, props, state, render, children, className, componentDidMount, componentWillUnmount, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n dragged = 'dragged',\n placeholder = 'placeholder',\n initializer = 'initializer',\n handle = 'handle'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Draggable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[handle] !== props(that)[handle] || prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n that[componentDidMount] = () => {\n init(that)\n };\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n that[render] = () => {\n const _state = state(that),\n _props = props(that);\n return <div className={classNames('Draggable', _props[className],\n _state[dragged] && dragged,\n _state[placeholder] && placeholder,\n _state[hover] && hover,\n )}\n onClick={_props.onClick}\n ref={ref('element', that)}\n >\n {_props[handle]}\n {_props[children]}\n </div>;\n }\n }\n}\n\n\nexport default Draggable;"],"names":["hover","dragged","placeholder","initializer","handle","init","that","orNoop","props","Draggable","properties","state","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_state","_props","classNames","className","onClick","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,OAAO,GAAG,SADd;AAAA,IAEIC,WAAW,GAAG,aAFlB;AAAA,IAGIC,WAAW,GAAG,aAHlB;AAAA,IAIIC,MAAM,GAAG,QAJb,CAAA;AAOA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI,EAAA;AAAA,EAAA,OAAIC,MAAM,CAACC,KAAK,CAACF,IAAD,CAAL,CAAYH,WAAZ,CAAD,CAAN,CAAiCG,IAAjC,CAAJ,CAAA;AAAA,CAAjB,CAAA;IAEMG;;;AAEF,EAAA,SAAA,SAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMJ,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AACAA,IAAAA,IAAI,CAACK,KAAL,GAAa,EAAb,CAAA;AACAL,IAAAA,IAAI,CAACM,kBAAD,CAAJ,GAA2B,UAACC,SAAD,EAAe;AACtC,MAAA,IAAIA,SAAS,CAACT,MAAD,CAAT,KAAsBI,KAAK,CAACF,IAAD,CAAL,CAAYF,MAAZ,CAAtB,IAA6CS,SAAS,CAACV,WAAD,CAAT,KAA2BK,KAAK,CAACF,IAAD,CAAL,CAAYH,WAAZ,CAA5E,EACIE,IAAI,CAACC,IAAD,CAAJ,CAAA;AACP,KAHD,CAAA;AAIAA,IAAAA,IAAI,CAACQ,iBAAD,CAAJ,GAA0B,YAAM;AAC5BT,MAAAA,IAAI,CAACC,IAAD,CAAJ,CAAA;AACH,KAFD,CAAA;AAGAA,IAAAA,IAAI,CAACS,oBAAD,CAAJ,GAA6B,YAAM;AAC/BR,MAAAA,MAAM,CAACD,IAAI,CAACU,SAAN,CAAN,EAAA,CAAA;AACH,KAFD,CAAA;AAGAV,IAAAA,IAAI,CAACW,MAAD,CAAJ,GAAe,YAAM;AACjB,MAAA,IAAMC,MAAM,GAAGP,KAAK,CAACL,IAAD,CAApB;AAAA,UACIa,MAAM,GAAGX,KAAK,CAACF,IAAD,CADlB,CAAA;AAEA,MAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAEc,UAAU,CAAC,WAAD,EAAcD,MAAM,CAACE,SAAD,CAApB,EAC7BH,MAAM,CAACjB,OAAD,CAAN,IAAmBA,OADU,EAE7BiB,MAAM,CAAChB,WAAD,CAAN,IAAuBA,WAFM,EAG7BgB,MAAM,CAAClB,KAAD,CAAN,IAAiBA,KAHY,CAA1B;AAKK,QAAA,OAAO,EAAEmB,MAAM,CAACG,OALrB;AAMK,QAAA,GAAG,EAAEC,GAAG,CAAC,SAAD,EAAYjB,IAAZ,CAAA;AANb,OAQFa,EAAAA,MAAM,CAACf,MAAD,CARJ,EASFe,MAAM,CAACK,QAAD,CATJ,CAAP,CAAA;AAWH,KAdD,CAAA;AAdoB,IAAA,OAAA,KAAA,CAAA;AA6BvB,GAAA;;EA/BmBC;AAmCxB,mBAAehB,SAAf;;;;"}
|
package/DNDDroppable.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
4
|
import { orNoop, classNames, preventDefault, stopPropagation, ref } from './Tools.js';
|
|
@@ -41,7 +41,7 @@ var Droppable = function (_PureComponent) {
|
|
|
41
41
|
};
|
|
42
42
|
return _this;
|
|
43
43
|
}
|
|
44
|
-
return Droppable;
|
|
44
|
+
return _createClass(Droppable);
|
|
45
45
|
}(PureComponent);
|
|
46
46
|
var DNDDroppable = Droppable;
|
|
47
47
|
|
package/DNDDroppable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DNDDroppable.js","sources":["../src/react-ui-basics/DNDDroppable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref, preventDefault, stopPropagation} from \"./Tools\";\nimport {componentDidMount, componentDidUpdate, render, props, state, componentWillUnmount, children, className, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n allow = 'allow',\n initializer = 'initializer'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Droppable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n\n that[componentDidMount] = () => {\n init(that)\n };\n\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n\n that[render] = () => {\n const _props = props(that),\n _state = state(that);\n return <div className={\n classNames(\n 'Droppable',\n _props[className],\n _state[hover] && hover,\n _state[allow] && allow,\n )}\n onDragOver={e => {\n preventDefault(e);\n stopPropagation(e);\n }}\n ref={ref('element', that)}>\n {_props[children]}\n </div>;\n };\n }\n}\n\nexport default Droppable;"],"names":["hover","allow","initializer","init","that","orNoop","props","Droppable","properties","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_props","_state","state","classNames","className","e","preventDefault","stopPropagation","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,KAAK,GAAG,OADZ;AAAA,IAEIC,WAAW,GAAG,aAFlB;AAKA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"DNDDroppable.js","sources":["../src/react-ui-basics/DNDDroppable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref, preventDefault, stopPropagation} from \"./Tools\";\nimport {componentDidMount, componentDidUpdate, render, props, state, componentWillUnmount, children, className, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n allow = 'allow',\n initializer = 'initializer'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Droppable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n\n that[componentDidMount] = () => {\n init(that)\n };\n\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n\n that[render] = () => {\n const _props = props(that),\n _state = state(that);\n return <div className={\n classNames(\n 'Droppable',\n _props[className],\n _state[hover] && hover,\n _state[allow] && allow,\n )}\n onDragOver={e => {\n preventDefault(e);\n stopPropagation(e);\n }}\n ref={ref('element', that)}>\n {_props[children]}\n </div>;\n };\n }\n}\n\nexport default Droppable;"],"names":["hover","allow","initializer","init","that","orNoop","props","Droppable","properties","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_props","_state","state","classNames","className","e","preventDefault","stopPropagation","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,KAAK,GAAG,OADZ;AAAA,IAEIC,WAAW,GAAG,aAFlB,CAAA;AAKA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI,EAAA;AAAA,EAAA,OAAIC,MAAM,CAACC,KAAK,CAACF,IAAD,CAAL,CAAYF,WAAZ,CAAD,CAAN,CAAiCE,IAAjC,CAAJ,CAAA;AAAA,CAAjB,CAAA;IAEMG;;;AAEF,EAAA,SAAA,SAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMJ,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AAEAA,IAAAA,IAAI,CAACK,kBAAD,CAAJ,GAA2B,UAACC,SAAD,EAAe;AACtC,MAAA,IAAIA,SAAS,CAACR,WAAD,CAAT,KAA2BI,KAAK,CAACF,IAAD,CAAL,CAAYF,WAAZ,CAA/B,EACIC,IAAI,CAACC,IAAD,CAAJ,CAAA;AACP,KAHD,CAAA;AAKAA,IAAAA,IAAI,CAACO,iBAAD,CAAJ,GAA0B,YAAM;AAC5BR,MAAAA,IAAI,CAACC,IAAD,CAAJ,CAAA;AACH,KAFD,CAAA;AAIAA,IAAAA,IAAI,CAACQ,oBAAD,CAAJ,GAA6B,YAAM;AAC/BP,MAAAA,MAAM,CAACD,IAAI,CAACS,SAAN,CAAN,EAAA,CAAA;AACH,KAFD,CAAA;AAIAT,IAAAA,IAAI,CAACU,MAAD,CAAJ,GAAe,YAAM;AACjB,MAAA,IAAMC,MAAM,GAAGT,KAAK,CAACF,IAAD,CAApB;AAAA,UACIY,MAAM,GAAGC,KAAK,CAACb,IAAD,CADlB,CAAA;AAEA,MAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EACjBc,UAAU,CACN,WADM,EAENH,MAAM,CAACI,SAAD,CAFA,EAGNH,MAAM,CAAChB,KAAD,CAAN,IAAiBA,KAHX,EAINgB,MAAM,CAACf,KAAD,CAAN,IAAiBA,KAJX,CADP;AAOK,QAAA,UAAU,EAAE,SAAAmB,UAAAA,CAAAA,CAAC,EAAI;AACbC,UAAAA,cAAc,CAACD,CAAD,CAAd,CAAA;AACAE,UAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AACH,SAVN;AAWK,QAAA,GAAG,EAAEG,GAAG,CAAC,SAAD,EAAYnB,IAAZ,CAAA;AAXb,OAAA,EAYFW,MAAM,CAACS,QAAD,CAZJ,CAAP,CAAA;AAcH,KAjBD,CAAA;AAjBoB,IAAA,OAAA,KAAA,CAAA;AAmCvB,GAAA;;EArCmBC;AAwCxB,mBAAelB,SAAf;;;;"}
|
package/Dialog.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties, extends as _extends } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, createClass as _createClass, assertThisInitialized as _assertThisInitialized, slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties, extends as _extends } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { Component } from 'react';
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
4
|
import Button from './Button.js';
|
|
5
5
|
import Modal from './Modal.js';
|
|
6
|
-
import {
|
|
6
|
+
import { classNames, UNDEFINED, isUndefined, orNoop, createRef, preventDefault } from './Tools.js';
|
|
7
7
|
import { render, propsGetter, stateGSs, componentDidMount, PureComponent } from './ReactConstants.js';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
|
|
@@ -42,7 +42,7 @@ var Dialog = function (_PureComponent) {
|
|
|
42
42
|
};
|
|
43
43
|
return _this;
|
|
44
44
|
}
|
|
45
|
-
return Dialog;
|
|
45
|
+
return _createClass(Dialog);
|
|
46
46
|
}(PureComponent);
|
|
47
47
|
Dialog.defaultProps = {
|
|
48
48
|
accept: 'Accept',
|
|
@@ -144,7 +144,7 @@ var DialogWrapper = function (_Component) {
|
|
|
144
144
|
};
|
|
145
145
|
return _this2;
|
|
146
146
|
}
|
|
147
|
-
return DialogWrapper;
|
|
147
|
+
return _createClass(DialogWrapper);
|
|
148
148
|
}(Component);
|
|
149
149
|
var DialogWrapper$1 = DialogWrapper;
|
|
150
150
|
if (process.env.NODE_ENV !== 'production') {
|
package/Dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sources":["../src/react-ui-basics/Dialog.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Dialog.css'\nimport Button from \"./Button\";\nimport Modal from \"./Modal\";\nimport {isUndefined, orNoop, preventDefault, ref, UNDEFINED, classNames, createRef} from \"./Tools\";\nimport {PureComponent, render, componentDidMount, propsGetter, stateGSs} from \"./ReactConstants\";\nimport PropTypes from \"prop-types\";\n\nclass Dialog extends PureComponent {\n constructor(properties) {\n super(properties);\n\n this[render] = () => {\n const {title, description, accept, cancel, onAccept, onCancel, children} = this.props;\n return <div className=\"Dialog\">\n {title && <div className=\"title\">{title}</div>}\n {description && <div className=\"description\">{description}</div>}\n {children}\n <div className=\"row right\">\n {cancel && <Button flat={true} onClick={onCancel}>{cancel}</Button>}\n {accept && <Button flat={true} onClick={onAccept}>{accept}</Button>}\n </div>\n </div>\n }\n }\n}\n\nDialog.defaultProps = {\n accept: 'Accept',\n cancel: 'Decline',\n};\n\nconst throwIfPropExists = (key, props) => {\n if (props[key]) throw Error(key + \" was already set by props\")\n};\n\nclass DialogWrapper extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const openRef = createRef();\n const closeRef = createRef();\n\n const [titleState,\n descriptionState,\n onAcceptState,\n onCancelState,\n acceptState,\n cancelState\n ] = stateGSs(that, 6);\n\n const onCancel = (e) => {\n preventDefault(e);\n orNoop(props().onCancel || onCancelState())();\n closeRef()();\n };\n\n const onAccept = (e) => {\n preventDefault(e);\n orNoop(props().onAccept || onAcceptState())();\n closeRef()();\n };\n\n that[render] = () => {\n const {top, className, ...other} = props();\n return (\n <Modal\n top={top}\n className={classNames('DialogModal', className)}\n open={openRef}\n close={closeRef}\n onClose={onCancel}\n >\n <Dialog title={titleState()} description={descriptionState()} accept={acceptState()} cancel={cancelState()} {...other} onAccept={onAccept} onCancel={onCancel}/>\n </Modal>\n );\n };\n\n that.open = (onAccept, onCancel, title, description, accept, cancel) => {\n titleState(UNDEFINED);\n descriptionState(UNDEFINED);\n onAcceptState(UNDEFINED);\n onCancelState(UNDEFINED);\n acceptState(UNDEFINED);\n cancelState(UNDEFINED);\n\n const _props = props();\n if (!isUndefined(onAccept)) {\n throwIfPropExists(\"onAccept\", _props);\n onAcceptState(onAccept);\n }\n if (!isUndefined(onCancel)) {\n throwIfPropExists(\"onCancel\", _props);\n onCancelState(onCancel);\n }\n if (!isUndefined(title)) {\n throwIfPropExists(\"title\", _props);\n titleState(title);\n }\n if (!isUndefined(description)) {\n throwIfPropExists(\"description\", _props);\n descriptionState(description);\n }\n if (!isUndefined(accept)) {\n throwIfPropExists(\"accept\", _props);\n acceptState(accept);\n }\n if (!isUndefined(cancel)) {\n throwIfPropExists(\"cancel\", _props);\n cancelState(cancel);\n }\n openRef()();\n };\n\n that[componentDidMount] = () => {\n const _props = props();\n orNoop(_props.open)(that.open);\n orNoop(_props.close)(closeRef());\n _props.show && that.open();\n }\n }\n}\n\nexport default DialogWrapper;\n\nif (window.isNotProductionEnvironment) {\n DialogWrapper.propTypes = {\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n accept: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n cancel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n onAccept: PropTypes.func,\n onCancel: PropTypes.func,\n className: PropTypes.string,\n top: PropTypes.number,\n };\n}"],"names":["Dialog","properties","render","props","title","description","accept","cancel","onAccept","onCancel","children","PureComponent","defaultProps","throwIfPropExists","key","Error","DialogWrapper","that","state","propsGetter","openRef","createRef","closeRef","stateGSs","titleState","descriptionState","onAcceptState","onCancelState","acceptState","cancelState","e","preventDefault","orNoop","top","className","other","classNames","open","UNDEFINED","_props","isUndefined","componentDidMount","close","show","Component","window","isNotProductionEnvironment","propTypes","PropTypes","oneOfType","string","element","func","number"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dialog.js","sources":["../src/react-ui-basics/Dialog.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Dialog.css'\nimport Button from \"./Button\";\nimport Modal from \"./Modal\";\nimport {isUndefined, orNoop, preventDefault, ref, UNDEFINED, classNames, createRef} from \"./Tools\";\nimport {PureComponent, render, componentDidMount, propsGetter, stateGSs} from \"./ReactConstants\";\nimport PropTypes from \"prop-types\";\n\nclass Dialog extends PureComponent {\n constructor(properties) {\n super(properties);\n\n this[render] = () => {\n const {title, description, accept, cancel, onAccept, onCancel, children} = this.props;\n return <div className=\"Dialog\">\n {title && <div className=\"title\">{title}</div>}\n {description && <div className=\"description\">{description}</div>}\n {children}\n <div className=\"row right\">\n {cancel && <Button flat={true} onClick={onCancel}>{cancel}</Button>}\n {accept && <Button flat={true} onClick={onAccept}>{accept}</Button>}\n </div>\n </div>\n }\n }\n}\n\nDialog.defaultProps = {\n accept: 'Accept',\n cancel: 'Decline',\n};\n\nconst throwIfPropExists = (key, props) => {\n if (props[key]) throw Error(key + \" was already set by props\")\n};\n\nclass DialogWrapper extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const openRef = createRef();\n const closeRef = createRef();\n\n const [titleState,\n descriptionState,\n onAcceptState,\n onCancelState,\n acceptState,\n cancelState\n ] = stateGSs(that, 6);\n\n const onCancel = (e) => {\n preventDefault(e);\n orNoop(props().onCancel || onCancelState())();\n closeRef()();\n };\n\n const onAccept = (e) => {\n preventDefault(e);\n orNoop(props().onAccept || onAcceptState())();\n closeRef()();\n };\n\n that[render] = () => {\n const {top, className, ...other} = props();\n return (\n <Modal\n top={top}\n className={classNames('DialogModal', className)}\n open={openRef}\n close={closeRef}\n onClose={onCancel}\n >\n <Dialog title={titleState()} description={descriptionState()} accept={acceptState()} cancel={cancelState()} {...other} onAccept={onAccept} onCancel={onCancel}/>\n </Modal>\n );\n };\n\n that.open = (onAccept, onCancel, title, description, accept, cancel) => {\n titleState(UNDEFINED);\n descriptionState(UNDEFINED);\n onAcceptState(UNDEFINED);\n onCancelState(UNDEFINED);\n acceptState(UNDEFINED);\n cancelState(UNDEFINED);\n\n const _props = props();\n if (!isUndefined(onAccept)) {\n throwIfPropExists(\"onAccept\", _props);\n onAcceptState(onAccept);\n }\n if (!isUndefined(onCancel)) {\n throwIfPropExists(\"onCancel\", _props);\n onCancelState(onCancel);\n }\n if (!isUndefined(title)) {\n throwIfPropExists(\"title\", _props);\n titleState(title);\n }\n if (!isUndefined(description)) {\n throwIfPropExists(\"description\", _props);\n descriptionState(description);\n }\n if (!isUndefined(accept)) {\n throwIfPropExists(\"accept\", _props);\n acceptState(accept);\n }\n if (!isUndefined(cancel)) {\n throwIfPropExists(\"cancel\", _props);\n cancelState(cancel);\n }\n openRef()();\n };\n\n that[componentDidMount] = () => {\n const _props = props();\n orNoop(_props.open)(that.open);\n orNoop(_props.close)(closeRef());\n _props.show && that.open();\n }\n }\n}\n\nexport default DialogWrapper;\n\nif (window.isNotProductionEnvironment) {\n DialogWrapper.propTypes = {\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n accept: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n cancel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n onAccept: PropTypes.func,\n onCancel: PropTypes.func,\n className: PropTypes.string,\n top: PropTypes.number,\n };\n}"],"names":["Dialog","properties","render","props","title","description","accept","cancel","onAccept","onCancel","children","PureComponent","defaultProps","throwIfPropExists","key","Error","DialogWrapper","that","state","propsGetter","openRef","createRef","closeRef","stateGSs","titleState","descriptionState","onAcceptState","onCancelState","acceptState","cancelState","e","preventDefault","orNoop","top","className","other","classNames","open","UNDEFINED","_props","isUndefined","componentDidMount","close","show","Component","window","isNotProductionEnvironment","propTypes","PropTypes","oneOfType","string","element","func","number"],"mappings":"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"}
|
package/DropFileInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropFileInput.js","sources":["../src/react-ui-basics/DropFileInput.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DropFileInput.css'\nimport Dropzone from \"./Dropzone\";\nimport PropTypes from \"prop-types\";\nimport {classNames} from \"./Tools\";\nimport MaterialIcon from \"./MaterialIcon\";\n\nconst DropFileInput = ({icon, label, onDrop, droppable, multiple, accept}) => (\n <section className=\"DropFileInput\">\n <Dropzone droppable={droppable} onDrop={onDrop} accept={accept} multiple={multiple}>\n <MaterialIcon className={classNames(`icon`, label && 'withText')} icon={icon}/>\n {label && <div>{label}</div>}\n </Dropzone>\n </section>\n);\n\nDropFileInput.defaultProps = {\n icon: 'cloud_upload',\n droppable: false,\n multiple: true,\n};\n\nif (window.isNotProductionEnvironment) {\n DropFileInput.propTypes = {\n icon: MaterialIcon.propTypes.icon,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n droppable: PropTypes.bool,\n onDrop: PropTypes.func,\n multiple: PropTypes.bool,\n accept: PropTypes.string,\n };\n}\n\n\nexport default DropFileInput;\n"],"names":["DropFileInput","icon","label","onDrop","droppable","multiple","accept","classNames","defaultProps","window","isNotProductionEnvironment","propTypes","MaterialIcon","PropTypes","oneOfType","string","element","bool","func"],"mappings":";;;;;;;AAQA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;AAAA,
|
|
1
|
+
{"version":3,"file":"DropFileInput.js","sources":["../src/react-ui-basics/DropFileInput.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DropFileInput.css'\nimport Dropzone from \"./Dropzone\";\nimport PropTypes from \"prop-types\";\nimport {classNames} from \"./Tools\";\nimport MaterialIcon from \"./MaterialIcon\";\n\nconst DropFileInput = ({icon, label, onDrop, droppable, multiple, accept}) => (\n <section className=\"DropFileInput\">\n <Dropzone droppable={droppable} onDrop={onDrop} accept={accept} multiple={multiple}>\n <MaterialIcon className={classNames(`icon`, label && 'withText')} icon={icon}/>\n {label && <div>{label}</div>}\n </Dropzone>\n </section>\n);\n\nDropFileInput.defaultProps = {\n icon: 'cloud_upload',\n droppable: false,\n multiple: true,\n};\n\nif (window.isNotProductionEnvironment) {\n DropFileInput.propTypes = {\n icon: MaterialIcon.propTypes.icon,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n droppable: PropTypes.bool,\n onDrop: PropTypes.func,\n multiple: PropTypes.bool,\n accept: PropTypes.string,\n };\n}\n\n\nexport default DropFileInput;\n"],"names":["DropFileInput","icon","label","onDrop","droppable","multiple","accept","classNames","defaultProps","window","isNotProductionEnvironment","propTypes","MaterialIcon","PropTypes","oneOfType","string","element","bool","func"],"mappings":";;;;;;;AAQA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAA,IAAA,EAAA;AAAA,EAAEC,IAAAA,IAAF,QAAEA,IAAF;AAAA,MAAQC,KAAR,QAAQA,KAAR;AAAA,MAAeC,MAAf,QAAeA,MAAf;AAAA,MAAuBC,SAAvB,QAAuBA,SAAvB;AAAA,MAAkCC,QAAlC,QAAkCA,QAAlC;AAAA,MAA4CC,MAA5C,QAA4CA,MAA5C,CAAA;AAAA,EAClB,OAAA,kBAAA,CAAA,SAAA,EAAA;AAAS,IAAA,SAAS,EAAC,eAAA;AAAnB,GAAA,EACI,mBAAC,QAAD,EAAA;AAAU,IAAA,SAAS,EAAEF,SAArB;AAAgC,IAAA,MAAM,EAAED,MAAxC;AAAgD,IAAA,MAAM,EAAEG,MAAxD;AAAgE,IAAA,QAAQ,EAAED,QAAAA;AAA1E,GAAA,EACI,mBAAC,YAAD,EAAA;AAAc,IAAA,SAAS,EAAEE,UAAU,SAASL,KAAK,IAAI,UAAlB,CAAnC;AAAkE,IAAA,IAAI,EAAED,IAAAA;AAAxE,GAAA,CADJ,EAEKC,KAAK,IAAI,gCAAMA,KAAN,CAFd,CADJ,CADkB,CAAA;AAAA,CAAtB,CAAA;AASAF,aAAa,CAACQ,YAAd,GAA6B;AACzBP,EAAAA,IAAI,EAAE,cADmB;AAEzBG,EAAAA,SAAS,EAAE,KAFc;AAGzBC,EAAAA,QAAQ,EAAE,IAAA;AAHe,CAA7B,CAAA;AAMA,IAAII,MAAM,CAACC,0BAAX,EAAuC;AACnCV,EAAAA,aAAa,CAACW,SAAd,GAA0B;AACtBV,IAAAA,IAAI,EAAEW,YAAY,CAACD,SAAb,CAAuBV,IADP;AAEtBC,IAAAA,KAAK,EAAEW,SAAS,CAACC,SAAV,CAAoB,CACvBD,SAAS,CAACE,MADa,EAEvBF,SAAS,CAACG,OAFa,CAApB,CAFe;AAMtBZ,IAAAA,SAAS,EAAES,SAAS,CAACI,IANC;AAOtBd,IAAAA,MAAM,EAAEU,SAAS,CAACK,IAPI;AAQtBb,IAAAA,QAAQ,EAAEQ,SAAS,CAACI,IARE;AAStBX,IAAAA,MAAM,EAAEO,SAAS,CAACE,MAAAA;AATI,GAA1B,CAAA;AAWH,CAAA;AAGD,sBAAef,aAAf;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React, { Component } from 'react';
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
4
|
import DNDDroppable from './DNDDroppable.js';
|
|
@@ -162,7 +162,7 @@ var DroppableHorizontalList = function (_Component) {
|
|
|
162
162
|
};
|
|
163
163
|
return _this;
|
|
164
164
|
}
|
|
165
|
-
return DroppableHorizontalList;
|
|
165
|
+
return _createClass(DroppableHorizontalList);
|
|
166
166
|
}(Component);
|
|
167
167
|
var DroppableHorizontalList$1 = DroppableHorizontalList;
|
|
168
168
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DroppableHorizontalList.js","sources":["../src/react-ui-basics/DroppableHorizontalList.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DroppableList.css'\nimport DNDDroppable from \"./DNDDroppable\";\nimport {classNames, orNoop, setTimeout, NOOP} from \"./Tools\";\nimport DNDDraggable from \"./DNDDraggable\";\nimport {addListener} from \"./DNDContainer\";\nimport {stateGS, setState, propsGetter, props as getProps, render, componentDidUpdate, componentDidMount, children} from \"./ReactConstants\";\n\nclass DroppableHorizontalList extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const resetting = stateGS(that);\n const draggables = {};\n let list;\n\n const init = () => {\n list = [];\n React.Children.forEach(props()[children], child => {\n child && child.type === DNDDraggable && list.push(getProps(child).id);\n })\n };\n\n init();\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[children] !== props()[children]) {\n init();\n }\n };\n\n let dropped;\n let dragging;\n let oldIndex;\n let newIndex;\n\n that[componentDidMount] = () => {\n let inTransition = false;\n orNoop(props().provideDraggableEnhancer)(initializer => it => {\n orNoop(initializer)(it);\n it.createPositionListener = (e, style) => {\n const offset = e.pageX;\n return e => {\n e.pageX && (style.transform = 'translateX(' + (e.pageX - offset) + 'px)');\n };\n };\n it.initDraggedStyles = NOOP;\n it.onDragEnd = () => {\n const style = it.element.style;\n inTransition = true;\n setTimeout(() => {\n const droppingDuration = props().droppingDuration || 100;\n style.transition = 'transform ' + droppingDuration + 'ms linear';\n style.transform = '';\n style.zIndex = '10';\n setTimeout(() => {\n style.transition = '';\n style.zIndex = '';\n setTimeout(() => {\n inTransition = false;\n }, 50) // ignore mouseenter on the old position\n }, droppingDuration)\n }, 1);\n };\n addListener(it.element, it, 'mouseenter', (e) => {\n !(dragging || inTransition) && setState(it, {hover: true});\n });\n addListener(it.element, it, 'mouseleave', (e) => {\n !dragging && setState(it, {hover: false});\n });\n it.onUnmount = () => {\n delete draggables[getProps(it).id];\n };\n draggables[getProps(it).id] = it;\n })\n };\n\n const onHover = (e, draggable) => {\n const offset = e.pageX - that.scrollOffsetX;\n const transformLeft = 'translateX(' + draggable.width + 'px)';\n const transformRight = 'translateX(-' + draggable.width + 'px)';\n list.forEach((id, i) => {\n if (i !== oldIndex) {\n const d = draggables[id];\n const bounds = d.bounds;\n const style = d.element.style;\n if (i > oldIndex) {\n if (offset >= bounds.left)\n style.transform = transformRight;\n else\n style.transform = '';\n } else {\n if (offset <= bounds.right)\n style.transform = transformLeft;\n else\n style.transform = '';\n }\n }\n });\n\n let i = list.findIndex(id => {\n let bounds = draggables[id].bounds;\n return offset >= bounds.left && offset <= bounds.right\n });\n\n newIndex = i !== -1 ? i : list.length;\n };\n\n const onDragStart = (e, draggable) => {\n dragging = true;\n dropped = false;\n oldIndex = list.indexOf(getProps(draggable).id);\n that.scrollOffsetX = e.pageX - e.clientX;\n\n list.forEach((id) => {\n draggables[id].bounds = draggables[id].element.getBoundingClientRect();\n });\n };\n\n const reset = (ignoredIndex, transition) => {\n list.forEach((id, i) => {\n if (i !== ignoredIndex) {\n const s = draggables[id].element.style;\n s.transform = '';\n s.transition = transition;\n }\n });\n };\n\n const onDragEnd = (draggable) => {\n const index = list.indexOf(getProps(draggable).id);\n\n if (dropped) {\n reset(index, '');\n } else {\n resetting(true, () => {\n reset(index, '');\n });\n setTimeout(() => {\n resetting(false);\n }, props().droppingDuration || 100);\n }\n dragging = false;\n };\n const onDrop = (data) => {\n dropped = true;\n const draggable = draggables[list[oldIndex]];\n const style = draggable.element.style;\n\n const diff = (newIndex - oldIndex) * draggable.bounds.width;\n const transform = style.transform;\n const position = transform.substring(11, transform.length - 3);\n style.transform = 'translateX(' + (position - diff) + 'px)'; // set translateX against new position on the list to prevent long slide\n orNoop(props().onDrop)(data, oldIndex, newIndex);\n\n reset(newIndex, 'unset');\n };\n\n that[render] = () => {\n const _props = props();\n const {className, initializer} = _props;\n return <DNDDroppable className={classNames(\n 'DroppableList',\n className,\n resetting() && 'resetting',\n )}\n initializer={initializer}\n onHover={onHover}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n >\n {_props[children]}\n </DNDDroppable>;\n };\n }\n}\n\n\nexport default DroppableHorizontalList;"],"names":["DroppableHorizontalList","properties","that","state","props","propsGetter","resetting","stateGS","draggables","list","init","React","Children","forEach","children","child","type","DNDDraggable","push","getProps","id","componentDidUpdate","prevProps","dropped","dragging","oldIndex","newIndex","componentDidMount","inTransition","orNoop","provideDraggableEnhancer","initializer","it","createPositionListener","e","style","offset","pageX","transform","initDraggedStyles","NOOP","onDragEnd","element","setTimeout","droppingDuration","transition","zIndex","addListener","setState","hover","onUnmount","onHover","draggable","scrollOffsetX","transformLeft","width","transformRight","i","d","bounds","left","right","findIndex","length","onDragStart","indexOf","clientX","getBoundingClientRect","reset","ignoredIndex","s","index","onDrop","data","diff","position","substring","render","_props","className","classNames","Component"],"mappings":";;;;;;;;;IASMA;;;AAEF,mCAAYC,UAAZ,EAAwB;AAAA;AAAA;AACpB,8BAAMA,UAAN;AACA,QAAMC,IAAI,gCAAV;AACAA,IAAAA,IAAI,CAACC,KAAL,GAAa,EAAb;AAEA,QAAMC,OAAK,GAAGC,WAAW,CAACH,IAAD,CAAzB;AACA,QAAMI,SAAS,GAAGC,OAAO,CAACL,IAAD,CAAzB;AACA,QAAMM,UAAU,GAAG,EAAnB;AACA,QAAIC,IAAJ;AAEA,QAAMC,IAAI,GAAG,SAAPA,IAAO,GAAM;AACfD,MAAAA,IAAI,GAAG,EAAP;AACAE,MAAAA,KAAK,CAACC,QAAN,CAAeC,OAAf,CAAuBT,OAAK,GAAGU,QAAH,CAA5B,EAA0C,UAAAC,KAAK,EAAI;AAC/CA,QAAAA,KAAK,IAAIA,KAAK,CAACC,IAAN,KAAeC,YAAxB,IAAwCR,IAAI,CAACS,IAAL,CAAUC,KAAQ,CAACJ,KAAD,CAAR,CAAgBK,EAA1B,CAAxC;AACH,OAFD;AAGH,KALD;AAOAV,IAAAA,IAAI;AAEJR,IAAAA,IAAI,CAACmB,kBAAD,CAAJ,GAA2B,UAACC,SAAD,EAAe;AACtC,UAAIA,SAAS,CAACR,QAAD,CAAT,KAAwBV,OAAK,GAAGU,QAAH,CAAjC,EAA+C;AAC3CJ,QAAAA,IAAI;AACP;AACJ,KAJD;AAMA,QAAIa,OAAJ;AACA,QAAIC,QAAJ;AACA,QAAIC,QAAJ;AACA,QAAIC,QAAJ;AAEAxB,IAAAA,IAAI,CAACyB,iBAAD,CAAJ,GAA0B,YAAM;AAC5B,UAAIC,YAAY,GAAG,KAAnB;AACAC,MAAAA,MAAM,CAACzB,OAAK,GAAG0B,wBAAT,CAAN,CAAyC,UAAAC,WAAW;AAAA,eAAI,UAAAC,EAAE,EAAI;AAC1DH,UAAAA,MAAM,CAACE,WAAD,CAAN,CAAoBC,EAApB;AACAA,UAAAA,EAAE,CAACC,sBAAH,GAA4B,UAACC,CAAD,EAAIC,KAAJ,EAAc;AACtC,gBAAMC,MAAM,GAAGF,CAAC,CAACG,KAAjB;AACA,mBAAO,UAAAH,CAAC,EAAI;AACRA,cAAAA,CAAC,CAACG,KAAF,KAAYF,KAAK,CAACG,SAAN,GAAkB,iBAAiBJ,CAAC,CAACG,KAAF,GAAUD,MAA3B,IAAqC,KAAnE;AACH,aAFD;AAGH,WALD;AAMAJ,UAAAA,EAAE,CAACO,iBAAH,GAAuBC,IAAvB;AACAR,UAAAA,EAAE,CAACS,SAAH,GAAe,YAAM;AACjB,gBAAMN,KAAK,GAAGH,EAAE,CAACU,OAAH,CAAWP,KAAzB;AACAP,YAAAA,YAAY,GAAG,IAAf;AACAe,YAAAA,UAAU,CAAC,YAAM;AACb,kBAAMC,gBAAgB,GAAGxC,OAAK,GAAGwC,gBAAR,IAA4B,GAArD;AACAT,cAAAA,KAAK,CAACU,UAAN,GAAmB,eAAeD,gBAAf,GAAkC,WAArD;AACAT,cAAAA,KAAK,CAACG,SAAN,GAAkB,EAAlB;AACAH,cAAAA,KAAK,CAACW,MAAN,GAAe,IAAf;AACAH,cAAAA,UAAU,CAAC,YAAM;AACbR,gBAAAA,KAAK,CAACU,UAAN,GAAmB,EAAnB;AACAV,gBAAAA,KAAK,CAACW,MAAN,GAAe,EAAf;AACAH,gBAAAA,UAAU,CAAC,YAAM;AACbf,kBAAAA,YAAY,GAAG,KAAf;AACH,iBAFS,EAEP,EAFO,CAAV,CAHa;AAMhB,eANS,EAMPgB,gBANO,CAAV;AAOH,aAZS,EAYP,CAZO,CAAV;AAaH,WAhBD;AAiBAG,UAAAA,WAAW,CAACf,EAAE,CAACU,OAAJ,EAAaV,EAAb,EAAiB,YAAjB,EAA+B,UAACE,CAAD,EAAO;AAC7C,cAAEV,QAAQ,IAAII,YAAd,KAA+BoB,QAAQ,CAAChB,EAAD,EAAK;AAACiB,cAAAA,KAAK,EAAE;AAAR,aAAL,CAAvC;AACH,WAFU,CAAX;AAGAF,UAAAA,WAAW,CAACf,EAAE,CAACU,OAAJ,EAAaV,EAAb,EAAiB,YAAjB,EAA+B,UAACE,CAAD,EAAO;AAC7C,aAACV,QAAD,IAAawB,QAAQ,CAAChB,EAAD,EAAK;AAACiB,cAAAA,KAAK,EAAE;AAAR,aAAL,CAArB;AACH,WAFU,CAAX;AAGAjB,UAAAA,EAAE,CAACkB,SAAH,GAAe,YAAM;AACjB,mBAAO1C,UAAU,CAACW,KAAQ,CAACa,EAAD,CAAR,CAAaZ,EAAd,CAAjB;AACH,WAFD;AAGAZ,UAAAA,UAAU,CAACW,KAAQ,CAACa,EAAD,CAAR,CAAaZ,EAAd,CAAV,GAA8BY,EAA9B;AACH,SApCmD;AAAA,OAApD;AAqCH,KAvCD;AAyCA,QAAMmB,OAAO,GAAG,SAAVA,OAAU,CAACjB,CAAD,EAAIkB,SAAJ,EAAkB;AAC9B,UAAMhB,MAAM,GAAGF,CAAC,CAACG,KAAF,GAAUnC,IAAI,CAACmD,aAA9B;AACA,UAAMC,aAAa,GAAG,gBAAgBF,SAAS,CAACG,KAA1B,GAAkC,KAAxD;AACA,UAAMC,cAAc,GAAG,iBAAiBJ,SAAS,CAACG,KAA3B,GAAmC,KAA1D;AACA9C,MAAAA,IAAI,CAACI,OAAL,CAAa,UAACO,EAAD,EAAKqC,CAAL,EAAW;AACpB,YAAIA,CAAC,KAAKhC,QAAV,EAAoB;AAChB,cAAMiC,CAAC,GAAGlD,UAAU,CAACY,EAAD,CAApB;AACA,cAAMuC,MAAM,GAAGD,CAAC,CAACC,MAAjB;AACA,cAAMxB,KAAK,GAAGuB,CAAC,CAAChB,OAAF,CAAUP,KAAxB;AACA,cAAIsB,CAAC,GAAGhC,QAAR,EAAkB;AACd,gBAAIW,MAAM,IAAIuB,MAAM,CAACC,IAArB,EACIzB,KAAK,CAACG,SAAN,GAAkBkB,cAAlB,CADJ,KAGIrB,KAAK,CAACG,SAAN,GAAkB,EAAlB;AACP,WALD,MAKO;AACH,gBAAIF,MAAM,IAAIuB,MAAM,CAACE,KAArB,EACI1B,KAAK,CAACG,SAAN,GAAkBgB,aAAlB,CADJ,KAGInB,KAAK,CAACG,SAAN,GAAkB,EAAlB;AACP;AACJ;AACJ,OAjBD;AAmBA,UAAImB,CAAC,GAAGhD,IAAI,CAACqD,SAAL,CAAe,UAAA1C,EAAE,EAAI;AACzB,YAAIuC,MAAM,GAAGnD,UAAU,CAACY,EAAD,CAAV,CAAeuC,MAA5B;AACA,eAAOvB,MAAM,IAAIuB,MAAM,CAACC,IAAjB,IAAyBxB,MAAM,IAAIuB,MAAM,CAACE,KAAjD;AACH,OAHO,CAAR;AAKAnC,MAAAA,QAAQ,GAAG+B,CAAC,KAAK,CAAC,CAAP,GAAWA,CAAX,GAAehD,IAAI,CAACsD,MAA/B;AACH,KA7BD;AA+BA,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAAC9B,CAAD,EAAIkB,SAAJ,EAAkB;AAClC5B,MAAAA,QAAQ,GAAG,IAAX;AACAD,MAAAA,OAAO,GAAG,KAAV;AACAE,MAAAA,QAAQ,GAAGhB,IAAI,CAACwD,OAAL,CAAa9C,KAAQ,CAACiC,SAAD,CAAR,CAAoBhC,EAAjC,CAAX;AACAlB,MAAAA,IAAI,CAACmD,aAAL,GAAqBnB,CAAC,CAACG,KAAF,GAAUH,CAAC,CAACgC,OAAjC;AAEAzD,MAAAA,IAAI,CAACI,OAAL,CAAa,UAACO,EAAD,EAAQ;AACjBZ,QAAAA,UAAU,CAACY,EAAD,CAAV,CAAeuC,MAAf,GAAwBnD,UAAU,CAACY,EAAD,CAAV,CAAesB,OAAf,CAAuByB,qBAAvB,EAAxB;AACH,OAFD;AAGH,KATD;AAWA,QAAMC,KAAK,GAAG,SAARA,KAAQ,CAACC,YAAD,EAAexB,UAAf,EAA8B;AACxCpC,MAAAA,IAAI,CAACI,OAAL,CAAa,UAACO,EAAD,EAAKqC,CAAL,EAAW;AACpB,YAAIA,CAAC,KAAKY,YAAV,EAAwB;AACpB,cAAMC,CAAC,GAAG9D,UAAU,CAACY,EAAD,CAAV,CAAesB,OAAf,CAAuBP,KAAjC;AACAmC,UAAAA,CAAC,CAAChC,SAAF,GAAc,EAAd;AACAgC,UAAAA,CAAC,CAACzB,UAAF,GAAeA,UAAf;AACH;AACJ,OAND;AAOH,KARD;AAUA,QAAMJ,SAAS,GAAG,SAAZA,SAAY,CAACW,SAAD,EAAe;AAC7B,UAAMmB,KAAK,GAAG9D,IAAI,CAACwD,OAAL,CAAa9C,KAAQ,CAACiC,SAAD,CAAR,CAAoBhC,EAAjC,CAAd;AAEA,UAAIG,OAAJ,EAAa;AACT6C,QAAAA,KAAK,CAACG,KAAD,EAAQ,EAAR,CAAL;AACH,OAFD,MAEO;AACHjE,QAAAA,SAAS,CAAC,IAAD,EAAO,YAAM;AAClB8D,UAAAA,KAAK,CAACG,KAAD,EAAQ,EAAR,CAAL;AACH,SAFQ,CAAT;AAGA5B,QAAAA,UAAU,CAAC,YAAM;AACbrC,UAAAA,SAAS,CAAC,KAAD,CAAT;AACH,SAFS,EAEPF,OAAK,GAAGwC,gBAAR,IAA4B,GAFrB,CAAV;AAGH;AACDpB,MAAAA,QAAQ,GAAG,KAAX;AACH,KAdD;AAeA,QAAMgD,MAAM,GAAG,SAATA,MAAS,CAACC,IAAD,EAAU;AACrBlD,MAAAA,OAAO,GAAG,IAAV;AACA,UAAM6B,SAAS,GAAG5C,UAAU,CAACC,IAAI,CAACgB,QAAD,CAAL,CAA5B;AACA,UAAMU,KAAK,GAAGiB,SAAS,CAACV,OAAV,CAAkBP,KAAhC;AAEA,UAAMuC,IAAI,GAAG,CAAChD,QAAQ,GAAGD,QAAZ,IAAwB2B,SAAS,CAACO,MAAV,CAAiBJ,KAAtD;AACA,UAAMjB,SAAS,GAAGH,KAAK,CAACG,SAAxB;AACA,UAAMqC,QAAQ,GAAGrC,SAAS,CAACsC,SAAV,CAAoB,EAApB,EAAwBtC,SAAS,CAACyB,MAAV,GAAmB,CAA3C,CAAjB;AACA5B,MAAAA,KAAK,CAACG,SAAN,GAAkB,iBAAiBqC,QAAQ,GAAGD,IAA5B,IAAoC,KAAtD,CARqB;AASrB7C,MAAAA,MAAM,CAACzB,OAAK,GAAGoE,MAAT,CAAN,CAAuBC,IAAvB,EAA6BhD,QAA7B,EAAuCC,QAAvC;AAEA0C,MAAAA,KAAK,CAAC1C,QAAD,EAAW,OAAX,CAAL;AACH,KAZD;AAcAxB,IAAAA,IAAI,CAAC2E,MAAD,CAAJ,GAAe,YAAM;AACjB,UAAMC,MAAM,GAAG1E,OAAK,EAApB;AACA,UAAO2E,SAAP,GAAiCD,MAAjC,CAAOC,SAAP;AAAA,UAAkBhD,WAAlB,GAAiC+C,MAAjC,CAAkB/C,WAAlB;AACA,aAAO,mBAAC,YAAD;AAAc,QAAA,SAAS,EAAEiD,UAAU,CACtC,eADsC,EAEtCD,SAFsC,EAGtCzE,SAAS,MAAM,WAHuB,CAAnC;AAKc,QAAA,WAAW,EAAEyB,WAL3B;AAMc,QAAA,OAAO,EAAEoB,OANvB;AAOc,QAAA,WAAW,EAAEa,WAP3B;AAQc,QAAA,SAAS,EAAEvB,SARzB;AASc,QAAA,MAAM,EAAE+B;AATtB,SAWFM,MAAM,CAAChE,QAAD,CAXJ,CAAP;AAaH,KAhBD;AAxJoB;AAyKvB;;EA3KiCmE;AA+KtC,gCAAejF,uBAAf;;;;"}
|
|
1
|
+
{"version":3,"file":"DroppableHorizontalList.js","sources":["../src/react-ui-basics/DroppableHorizontalList.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DroppableList.css'\nimport DNDDroppable from \"./DNDDroppable\";\nimport {classNames, orNoop, setTimeout, NOOP} from \"./Tools\";\nimport DNDDraggable from \"./DNDDraggable\";\nimport {addListener} from \"./DNDContainer\";\nimport {stateGS, setState, propsGetter, props as getProps, render, componentDidUpdate, componentDidMount, children} from \"./ReactConstants\";\n\nclass DroppableHorizontalList extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const resetting = stateGS(that);\n const draggables = {};\n let list;\n\n const init = () => {\n list = [];\n React.Children.forEach(props()[children], child => {\n child && child.type === DNDDraggable && list.push(getProps(child).id);\n })\n };\n\n init();\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[children] !== props()[children]) {\n init();\n }\n };\n\n let dropped;\n let dragging;\n let oldIndex;\n let newIndex;\n\n that[componentDidMount] = () => {\n let inTransition = false;\n orNoop(props().provideDraggableEnhancer)(initializer => it => {\n orNoop(initializer)(it);\n it.createPositionListener = (e, style) => {\n const offset = e.pageX;\n return e => {\n e.pageX && (style.transform = 'translateX(' + (e.pageX - offset) + 'px)');\n };\n };\n it.initDraggedStyles = NOOP;\n it.onDragEnd = () => {\n const style = it.element.style;\n inTransition = true;\n setTimeout(() => {\n const droppingDuration = props().droppingDuration || 100;\n style.transition = 'transform ' + droppingDuration + 'ms linear';\n style.transform = '';\n style.zIndex = '10';\n setTimeout(() => {\n style.transition = '';\n style.zIndex = '';\n setTimeout(() => {\n inTransition = false;\n }, 50) // ignore mouseenter on the old position\n }, droppingDuration)\n }, 1);\n };\n addListener(it.element, it, 'mouseenter', (e) => {\n !(dragging || inTransition) && setState(it, {hover: true});\n });\n addListener(it.element, it, 'mouseleave', (e) => {\n !dragging && setState(it, {hover: false});\n });\n it.onUnmount = () => {\n delete draggables[getProps(it).id];\n };\n draggables[getProps(it).id] = it;\n })\n };\n\n const onHover = (e, draggable) => {\n const offset = e.pageX - that.scrollOffsetX;\n const transformLeft = 'translateX(' + draggable.width + 'px)';\n const transformRight = 'translateX(-' + draggable.width + 'px)';\n list.forEach((id, i) => {\n if (i !== oldIndex) {\n const d = draggables[id];\n const bounds = d.bounds;\n const style = d.element.style;\n if (i > oldIndex) {\n if (offset >= bounds.left)\n style.transform = transformRight;\n else\n style.transform = '';\n } else {\n if (offset <= bounds.right)\n style.transform = transformLeft;\n else\n style.transform = '';\n }\n }\n });\n\n let i = list.findIndex(id => {\n let bounds = draggables[id].bounds;\n return offset >= bounds.left && offset <= bounds.right\n });\n\n newIndex = i !== -1 ? i : list.length;\n };\n\n const onDragStart = (e, draggable) => {\n dragging = true;\n dropped = false;\n oldIndex = list.indexOf(getProps(draggable).id);\n that.scrollOffsetX = e.pageX - e.clientX;\n\n list.forEach((id) => {\n draggables[id].bounds = draggables[id].element.getBoundingClientRect();\n });\n };\n\n const reset = (ignoredIndex, transition) => {\n list.forEach((id, i) => {\n if (i !== ignoredIndex) {\n const s = draggables[id].element.style;\n s.transform = '';\n s.transition = transition;\n }\n });\n };\n\n const onDragEnd = (draggable) => {\n const index = list.indexOf(getProps(draggable).id);\n\n if (dropped) {\n reset(index, '');\n } else {\n resetting(true, () => {\n reset(index, '');\n });\n setTimeout(() => {\n resetting(false);\n }, props().droppingDuration || 100);\n }\n dragging = false;\n };\n const onDrop = (data) => {\n dropped = true;\n const draggable = draggables[list[oldIndex]];\n const style = draggable.element.style;\n\n const diff = (newIndex - oldIndex) * draggable.bounds.width;\n const transform = style.transform;\n const position = transform.substring(11, transform.length - 3);\n style.transform = 'translateX(' + (position - diff) + 'px)'; // set translateX against new position on the list to prevent long slide\n orNoop(props().onDrop)(data, oldIndex, newIndex);\n\n reset(newIndex, 'unset');\n };\n\n that[render] = () => {\n const _props = props();\n const {className, initializer} = _props;\n return <DNDDroppable className={classNames(\n 'DroppableList',\n className,\n resetting() && 'resetting',\n )}\n initializer={initializer}\n onHover={onHover}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n >\n {_props[children]}\n </DNDDroppable>;\n };\n }\n}\n\n\nexport default DroppableHorizontalList;"],"names":["DroppableHorizontalList","properties","that","state","props","propsGetter","resetting","stateGS","draggables","list","init","React","Children","forEach","children","child","type","DNDDraggable","push","getProps","id","componentDidUpdate","prevProps","dropped","dragging","oldIndex","newIndex","componentDidMount","inTransition","orNoop","provideDraggableEnhancer","initializer","it","createPositionListener","e","style","offset","pageX","transform","initDraggedStyles","NOOP","onDragEnd","element","setTimeout","droppingDuration","transition","zIndex","addListener","setState","hover","onUnmount","onHover","draggable","scrollOffsetX","transformLeft","width","transformRight","i","d","bounds","left","right","findIndex","length","onDragStart","indexOf","clientX","getBoundingClientRect","reset","ignoredIndex","s","index","onDrop","data","diff","position","substring","render","_props","className","classNames","Component"],"mappings":"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"}
|
package/DroppableList.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React, { Component } from 'react';
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
4
|
import DNDDroppable from './DNDDroppable.js';
|
|
@@ -44,7 +44,7 @@ var DroppableList = function (_Component) {
|
|
|
44
44
|
it.createPositionListener = function (e, style) {
|
|
45
45
|
var offsetTop = e.pageY;
|
|
46
46
|
return function (e) {
|
|
47
|
-
e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop) + 'px)');
|
|
47
|
+
e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop - that.scrollDiff) + 'px)');
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
it.initDraggedStyles = NOOP;
|
|
@@ -81,9 +81,13 @@ var DroppableList = function (_Component) {
|
|
|
81
81
|
draggables[props(it).id] = it;
|
|
82
82
|
};
|
|
83
83
|
});
|
|
84
|
+
orNoop(props$1().provideScrollListener)(function (e) {
|
|
85
|
+
if (!dragging) return;
|
|
86
|
+
that.scrollDiff = that.scroll - orNoop(props$1().getScrollPosition)() || 0;
|
|
87
|
+
});
|
|
84
88
|
};
|
|
85
89
|
var onHover = function onHover(e, draggable) {
|
|
86
|
-
var y = e.pageY - that.scrollOffsetY;
|
|
90
|
+
var y = e.pageY - that.scrollOffsetY - that.scrollDiff;
|
|
87
91
|
var transformUp = 'translateY(' + draggable.height + 'px)';
|
|
88
92
|
var transformDown = 'translateY(-' + draggable.height + 'px)';
|
|
89
93
|
list.forEach(function (id, i) {
|
|
@@ -109,6 +113,8 @@ var DroppableList = function (_Component) {
|
|
|
109
113
|
dropped = false;
|
|
110
114
|
oldIndex = list.indexOf(props(draggable).id);
|
|
111
115
|
that.scrollOffsetY = e.pageY - e.clientY;
|
|
116
|
+
that.scroll = orNoop(props$1().getScrollPosition)() || 0;
|
|
117
|
+
that.scrollDiff = 0;
|
|
112
118
|
list.forEach(function (id) {
|
|
113
119
|
draggables[id].bounds = draggables[id].element.getBoundingClientRect();
|
|
114
120
|
});
|
|
@@ -162,7 +168,7 @@ var DroppableList = function (_Component) {
|
|
|
162
168
|
};
|
|
163
169
|
return _this;
|
|
164
170
|
}
|
|
165
|
-
return DroppableList;
|
|
171
|
+
return _createClass(DroppableList);
|
|
166
172
|
}(Component);
|
|
167
173
|
var DroppableList$1 = DroppableList;
|
|
168
174
|
|
package/DroppableList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DroppableList.js","sources":["../src/react-ui-basics/DroppableList.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DroppableList.css'\nimport DNDDroppable from \"./DNDDroppable\";\nimport {classNames, orNoop, setTimeout, NOOP} from \"./Tools\";\nimport DNDDraggable from \"./DNDDraggable\";\nimport {addListener} from \"./DNDContainer\";\nimport {stateGS, setState, propsGetter, props as getProps, render, componentDidUpdate, componentDidMount, children} from \"./ReactConstants\";\n\nclass DroppableList extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const resetting = stateGS(that);\n const draggables = {};\n let list;\n\n const init = () => {\n list = [];\n React.Children.forEach(props()[children], child => {\n child && child.type === DNDDraggable && list.push(getProps(child).id);\n })\n };\n\n init();\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[children] !== props()[children]) {\n init();\n }\n };\n\n let dropped;\n let dragging;\n let oldIndex;\n let newIndex;\n\n that[componentDidMount] = () => {\n let inTransition = false;\n orNoop(props().provideDraggableEnhancer)(initializer => it => {\n orNoop(initializer)(it);\n it.createPositionListener = (e, style) => {\n const offsetTop = e.pageY;\n return e => {\n e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop) + 'px)');\n };\n };\n it.initDraggedStyles = NOOP;\n it.onDragEnd = () => {\n const style = it.element.style;\n inTransition = true;\n setTimeout(() => {\n const droppingDuration = props().droppingDuration || 100;\n style.transition = 'transform ' + droppingDuration + 'ms linear';\n style.transform = '';\n style.zIndex = '10';\n setTimeout(() => {\n style.transition = '';\n style.zIndex = '';\n setTimeout(() => {\n inTransition = false;\n }, 50) // ignore mouseenter on the old position\n }, droppingDuration)\n }, 1);\n };\n addListener(it.element, it, 'mouseenter', (e) => {\n !(dragging || inTransition) && setState(it, {hover: true});\n });\n addListener(it.element, it, 'mouseleave', (e) => {\n !dragging && setState(it, {hover: false});\n });\n it.onUnmount = () => {\n delete draggables[getProps(it).id];\n };\n draggables[getProps(it).id] = it;\n })\n };\n\n const onHover = (e, draggable) => {\n const y = e.pageY - that.scrollOffsetY;\n const transformUp = 'translateY(' + draggable.height + 'px)';\n const transformDown = 'translateY(-' + draggable.height + 'px)';\n list.forEach((id, i) => {\n if (i !== oldIndex) {\n const d = draggables[id];\n const bounds = d.bounds;\n const style = d.element.style;\n if (i > oldIndex) {\n if (y >= bounds.top)\n style.transform = transformDown;\n else\n style.transform = '';\n } else {\n if (y <= bounds.bottom)\n style.transform = transformUp;\n else\n style.transform = '';\n }\n }\n });\n\n let i = list.findIndex(id => {\n let bounds = draggables[id].bounds;\n return y >= bounds.top && y <= bounds.bottom\n });\n\n newIndex = i !== -1 ? i : list.length;\n };\n\n const onDragStart = (e, draggable) => {\n dragging = true;\n dropped = false;\n oldIndex = list.indexOf(getProps(draggable).id);\n that.scrollOffsetY = e.pageY - e.clientY;\n\n list.forEach((id) => {\n draggables[id].bounds = draggables[id].element.getBoundingClientRect();\n });\n };\n\n const reset = (ignoredIndex, transition) => {\n list.forEach((id, i) => {\n if (i !== ignoredIndex) {\n const s = draggables[id].element.style;\n s.transform = '';\n s.transition = transition;\n }\n });\n };\n\n const onDragEnd = (draggable) => {\n const index = list.indexOf(getProps(draggable).id);\n\n if (dropped) {\n reset(index, '');\n } else {\n resetting(true, () => {\n reset(index, '');\n });\n setTimeout(() => {\n resetting(false);\n }, props().droppingDuration || 100);\n }\n dragging = false;\n };\n const onDrop = (data) => {\n dropped = true;\n const draggable = draggables[list[oldIndex]];\n const style = draggable.element.style;\n\n const diff = (newIndex - oldIndex) * draggable.bounds.height;\n const transform = style.transform;\n const position = transform.substring(11, transform.length - 3);\n style.transform = 'translateY(' + (position - diff) + 'px)'; // set translateY against new position on the list to prevent long slide\n\n orNoop(props().onDrop)(data, oldIndex, newIndex);\n\n reset(newIndex, 'unset');\n };\n\n that[render] = () => {\n const _props = props();\n const {className, initializer} = _props;\n return <DNDDroppable className={classNames(\n 'DroppableList',\n className,\n resetting() && 'resetting',\n )}\n initializer={initializer}\n onHover={onHover}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n >\n {_props[children]}\n </DNDDroppable>;\n };\n }\n}\n\n\nexport default DroppableList;"],"names":["DroppableList","properties","that","state","props","propsGetter","resetting","stateGS","draggables","list","init","React","Children","forEach","children","child","type","DNDDraggable","push","getProps","id","componentDidUpdate","prevProps","dropped","dragging","oldIndex","newIndex","componentDidMount","inTransition","orNoop","provideDraggableEnhancer","initializer","it","createPositionListener","e","style","offsetTop","pageY","transform","initDraggedStyles","NOOP","onDragEnd","element","setTimeout","droppingDuration","transition","zIndex","addListener","setState","hover","onUnmount","onHover","draggable","y","scrollOffsetY","transformUp","height","transformDown","i","d","bounds","top","bottom","findIndex","length","onDragStart","indexOf","clientY","getBoundingClientRect","reset","ignoredIndex","s","index","onDrop","data","diff","position","substring","render","_props","className","classNames","Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DroppableList.js","sources":["../src/react-ui-basics/DroppableList.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DroppableList.css'\nimport DNDDroppable from \"./DNDDroppable\";\nimport {classNames, orNoop, setTimeout, NOOP} from \"./Tools\";\nimport DNDDraggable from \"./DNDDraggable\";\nimport {addListener} from \"./DNDContainer\";\nimport {stateGS, setState, propsGetter, props as getProps, render, componentDidUpdate, componentDidMount, children} from \"./ReactConstants\";\n\nclass DroppableList extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const resetting = stateGS(that);\n const draggables = {};\n let list;\n\n const init = () => {\n list = [];\n React.Children.forEach(props()[children], child => {\n child && child.type === DNDDraggable && list.push(getProps(child).id);\n })\n };\n\n init();\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[children] !== props()[children]) {\n init();\n }\n };\n\n let dropped;\n let dragging;\n let oldIndex;\n let newIndex;\n\n that[componentDidMount] = () => {\n let inTransition = false;\n orNoop(props().provideDraggableEnhancer)(initializer => it => {\n orNoop(initializer)(it);\n it.createPositionListener = (e, style) => {\n const offsetTop = e.pageY;\n return e => {\n e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop - that.scrollDiff) + 'px)');\n };\n };\n it.initDraggedStyles = NOOP;\n it.onDragEnd = () => {\n const style = it.element.style;\n inTransition = true;\n setTimeout(() => {\n const droppingDuration = props().droppingDuration || 100;\n style.transition = 'transform ' + droppingDuration + 'ms linear';\n style.transform = '';\n style.zIndex = '10';\n setTimeout(() => {\n style.transition = '';\n style.zIndex = '';\n setTimeout(() => {\n inTransition = false;\n }, 50) // ignore mouseenter on the old position\n }, droppingDuration)\n }, 1);\n };\n addListener(it.element, it, 'mouseenter', (e) => {\n !(dragging || inTransition) && setState(it, {hover: true});\n });\n addListener(it.element, it, 'mouseleave', (e) => {\n !dragging && setState(it, {hover: false});\n });\n it.onUnmount = () => {\n delete draggables[getProps(it).id];\n };\n draggables[getProps(it).id] = it;\n })\n\n orNoop(props().provideScrollListener)(e => {\n if (!dragging)\n return\n\n that.scrollDiff = that.scroll - orNoop(props().getScrollPosition)() || 0;\n })\n };\n\n const onHover = (e, draggable) => {\n const y = e.pageY - that.scrollOffsetY - that.scrollDiff;\n const transformUp = 'translateY(' + draggable.height + 'px)';\n const transformDown = 'translateY(-' + draggable.height + 'px)';\n list.forEach((id, i) => {\n if (i !== oldIndex) {\n const d = draggables[id];\n const bounds = d.bounds;\n const style = d.element.style;\n if (i > oldIndex) {\n if (y >= bounds.top)\n style.transform = transformDown;\n else\n style.transform = '';\n } else {\n if (y <= bounds.bottom)\n style.transform = transformUp;\n else\n style.transform = '';\n }\n }\n });\n\n let i = list.findIndex(id => {\n let bounds = draggables[id].bounds;\n return y >= bounds.top && y <= bounds.bottom\n });\n\n newIndex = i !== -1 ? i : list.length;\n };\n\n const onDragStart = (e, draggable) => {\n dragging = true;\n dropped = false;\n oldIndex = list.indexOf(getProps(draggable).id);\n that.scrollOffsetY = e.pageY - e.clientY;\n that.scroll = orNoop(props().getScrollPosition)() || 0;\n that.scrollDiff = 0;\n\n list.forEach((id) => {\n draggables[id].bounds = draggables[id].element.getBoundingClientRect();\n });\n };\n\n const reset = (ignoredIndex, transition) => {\n list.forEach((id, i) => {\n if (i !== ignoredIndex) {\n const s = draggables[id].element.style;\n s.transform = '';\n s.transition = transition;\n }\n });\n };\n\n const onDragEnd = (draggable) => {\n const index = list.indexOf(getProps(draggable).id);\n\n if (dropped) {\n reset(index, '');\n } else {\n resetting(true, () => {\n reset(index, '');\n });\n setTimeout(() => {\n resetting(false);\n }, props().droppingDuration || 100);\n }\n dragging = false;\n };\n const onDrop = (data) => {\n dropped = true;\n const draggable = draggables[list[oldIndex]];\n const style = draggable.element.style;\n\n const diff = (newIndex - oldIndex) * draggable.bounds.height;\n const transform = style.transform;\n const position = transform.substring(11, transform.length - 3);\n style.transform = 'translateY(' + (position - diff) + 'px)'; // set translateY against new position on the list to prevent long slide\n\n orNoop(props().onDrop)(data, oldIndex, newIndex);\n\n reset(newIndex, 'unset');\n };\n\n that[render] = () => {\n const _props = props();\n const {className, initializer} = _props;\n return <DNDDroppable className={classNames(\n 'DroppableList',\n className,\n resetting() && 'resetting',\n )}\n initializer={initializer}\n onHover={onHover}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n >\n {_props[children]}\n </DNDDroppable>;\n };\n }\n}\n\n\nexport default DroppableList;"],"names":["DroppableList","properties","that","state","props","propsGetter","resetting","stateGS","draggables","list","init","React","Children","forEach","children","child","type","DNDDraggable","push","getProps","id","componentDidUpdate","prevProps","dropped","dragging","oldIndex","newIndex","componentDidMount","inTransition","orNoop","provideDraggableEnhancer","initializer","it","createPositionListener","e","style","offsetTop","pageY","transform","scrollDiff","initDraggedStyles","NOOP","onDragEnd","element","setTimeout","droppingDuration","transition","zIndex","addListener","setState","hover","onUnmount","provideScrollListener","scroll","getScrollPosition","onHover","draggable","y","scrollOffsetY","transformUp","height","transformDown","i","d","bounds","top","bottom","findIndex","length","onDragStart","indexOf","clientY","getBoundingClientRect","reset","ignoredIndex","s","index","onDrop","data","diff","position","substring","render","_props","className","classNames","Component"],"mappings":"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"}
|
package/Dropzone.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
@@ -96,7 +96,7 @@ var Dropzone = function (_PureComponent) {
|
|
|
96
96
|
};
|
|
97
97
|
return _this;
|
|
98
98
|
}
|
|
99
|
-
return Dropzone;
|
|
99
|
+
return _createClass(Dropzone);
|
|
100
100
|
}(PureComponent);
|
|
101
101
|
Dropzone.defaultProps = {
|
|
102
102
|
clickable: true,
|
package/Dropzone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropzone.js","sources":["../src/react-ui-basics/Dropzone.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from \"prop-types\";\nimport ReactCreateElement from './ReactCreateElement';\nimport './Dropzone.css'\nimport {classNames, setOf, preventDefault, stopPropagation, UNDEFINED} from \"./Tools\";\nimport {propsGetter, PureComponent, render, stateGS} from \"./ReactConstants\";\n\nconst toArray = (o) => {\n if (o instanceof Array)\n return o;\n\n const l = [];\n for (let i = 0; i < o.length; i++) {\n l.push(o[i])\n }\n return l;\n};\n\nconst prevent = (e) => {\n preventDefault(e);\n stopPropagation(e);\n return false;\n};\n\nconst ignoredTypes = setOf([\n 'text',\n 'Text',\n 'text/plain',\n]);\n\nconst ignore = dt => dt && (!dt.types[0] || ignoredTypes[dt.types[0]]);\n\nclass Dropzone extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n let entries = [];\n\n const props = propsGetter(that);\n const isDragging = stateGS(that);\n\n const onDrop = (e) => {\n const dt = e.dataTransfer;\n const files = toArray(dt && dt.files || e.target.files);\n props().onDrop(files);\n isDragging(false);\n entries = [];\n prevent(e);\n };\n const onDragOver = (e) => {\n const dt = e.dataTransfer;\n if (ignore(dt)) return;\n\n dt && (dt.dropEffect = 'copy');\n !isDragging() && isDragging(true);\n prevent(e);\n };\n const onDragEnter = (e) => {\n const dt = e.dataTransfer;\n if (ignore(dt)) return;\n if (entries.indexOf(e.target) === -1) {\n entries.push(e.target)\n }\n\n dt && (dt.dropEffect = 'copy');\n !isDragging() && isDragging(true);\n prevent(e);\n };\n const onDragLeave = (e) => {\n entries = entries.filter(el => el !== e.target);\n\n if (entries.length === 0)\n isDragging(false);\n\n prevent(e)\n };\n\n that[render] = () => {\n const {children, className, disabled, clickable, multiple, droppable, overlayLabel, accept} = props();\n\n return <div className={classNames('Dropzone', className, isDragging() && 'dragging')}\n onDragLeave={!disabled && droppable && onDragLeave || UNDEFINED}\n onDragOver={!disabled && droppable && onDragOver || UNDEFINED}\n onDragEnter={!disabled && droppable && onDragEnter || UNDEFINED}\n onDrop={!disabled && droppable && onDrop || UNDEFINED}\n >\n {overlayLabel && <div className=\"overlay\">\n <div className={'drop'}>\n {overlayLabel}\n </div>\n </div>}\n {!disabled && clickable && <input className={'file'} type=\"file\" accept={accept} multiple={!!multiple} onChange={onDrop}/>}\n {children}\n </div>\n }\n }\n}\n\nDropzone.defaultProps = {\n clickable: true,\n multiple: true,\n droppable: true,\n};\n\nif (window.isNotProductionEnvironment) {\n Dropzone.propTypes = {\n className: PropTypes.string,\n overlayLabel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n clickable: PropTypes.bool,\n droppable: PropTypes.bool,\n multiple: PropTypes.bool,\n disabled: PropTypes.bool,\n onDrop: PropTypes.func.isRequired,\n accept: PropTypes.string,\n };\n}\n\nexport default Dropzone;"],"names":["toArray","o","Array","l","i","length","push","prevent","e","preventDefault","stopPropagation","ignoredTypes","setOf","ignore","dt","types","Dropzone","properties","that","state","entries","props","propsGetter","isDragging","stateGS","onDrop","dataTransfer","files","target","onDragOver","dropEffect","onDragEnter","indexOf","onDragLeave","filter","el","render","children","className","disabled","clickable","multiple","droppable","overlayLabel","accept","classNames","UNDEFINED","PureComponent","defaultProps","window","isNotProductionEnvironment","propTypes","PropTypes","string","oneOfType","element","bool","func","isRequired"],"mappings":";;;;;;;AAOA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,CAAD,EAAO;AACnB,
|
|
1
|
+
{"version":3,"file":"Dropzone.js","sources":["../src/react-ui-basics/Dropzone.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from \"prop-types\";\nimport ReactCreateElement from './ReactCreateElement';\nimport './Dropzone.css'\nimport {classNames, setOf, preventDefault, stopPropagation, UNDEFINED} from \"./Tools\";\nimport {propsGetter, PureComponent, render, stateGS} from \"./ReactConstants\";\n\nconst toArray = (o) => {\n if (o instanceof Array)\n return o;\n\n const l = [];\n for (let i = 0; i < o.length; i++) {\n l.push(o[i])\n }\n return l;\n};\n\nconst prevent = (e) => {\n preventDefault(e);\n stopPropagation(e);\n return false;\n};\n\nconst ignoredTypes = setOf([\n 'text',\n 'Text',\n 'text/plain',\n]);\n\nconst ignore = dt => dt && (!dt.types[0] || ignoredTypes[dt.types[0]]);\n\nclass Dropzone extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n let entries = [];\n\n const props = propsGetter(that);\n const isDragging = stateGS(that);\n\n const onDrop = (e) => {\n const dt = e.dataTransfer;\n const files = toArray(dt && dt.files || e.target.files);\n props().onDrop(files);\n isDragging(false);\n entries = [];\n prevent(e);\n };\n const onDragOver = (e) => {\n const dt = e.dataTransfer;\n if (ignore(dt)) return;\n\n dt && (dt.dropEffect = 'copy');\n !isDragging() && isDragging(true);\n prevent(e);\n };\n const onDragEnter = (e) => {\n const dt = e.dataTransfer;\n if (ignore(dt)) return;\n if (entries.indexOf(e.target) === -1) {\n entries.push(e.target)\n }\n\n dt && (dt.dropEffect = 'copy');\n !isDragging() && isDragging(true);\n prevent(e);\n };\n const onDragLeave = (e) => {\n entries = entries.filter(el => el !== e.target);\n\n if (entries.length === 0)\n isDragging(false);\n\n prevent(e)\n };\n\n that[render] = () => {\n const {children, className, disabled, clickable, multiple, droppable, overlayLabel, accept} = props();\n\n return <div className={classNames('Dropzone', className, isDragging() && 'dragging')}\n onDragLeave={!disabled && droppable && onDragLeave || UNDEFINED}\n onDragOver={!disabled && droppable && onDragOver || UNDEFINED}\n onDragEnter={!disabled && droppable && onDragEnter || UNDEFINED}\n onDrop={!disabled && droppable && onDrop || UNDEFINED}\n >\n {overlayLabel && <div className=\"overlay\">\n <div className={'drop'}>\n {overlayLabel}\n </div>\n </div>}\n {!disabled && clickable && <input className={'file'} type=\"file\" accept={accept} multiple={!!multiple} onChange={onDrop}/>}\n {children}\n </div>\n }\n }\n}\n\nDropzone.defaultProps = {\n clickable: true,\n multiple: true,\n droppable: true,\n};\n\nif (window.isNotProductionEnvironment) {\n Dropzone.propTypes = {\n className: PropTypes.string,\n overlayLabel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n clickable: PropTypes.bool,\n droppable: PropTypes.bool,\n multiple: PropTypes.bool,\n disabled: PropTypes.bool,\n onDrop: PropTypes.func.isRequired,\n accept: PropTypes.string,\n };\n}\n\nexport default Dropzone;"],"names":["toArray","o","Array","l","i","length","push","prevent","e","preventDefault","stopPropagation","ignoredTypes","setOf","ignore","dt","types","Dropzone","properties","that","state","entries","props","propsGetter","isDragging","stateGS","onDrop","dataTransfer","files","target","onDragOver","dropEffect","onDragEnter","indexOf","onDragLeave","filter","el","render","children","className","disabled","clickable","multiple","droppable","overlayLabel","accept","classNames","UNDEFINED","PureComponent","defaultProps","window","isNotProductionEnvironment","propTypes","PropTypes","string","oneOfType","element","bool","func","isRequired"],"mappings":"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"}
|