{"version":3,"sources":["Demo/AppPages/ToDo/Notes/Note.js","Demo/AppPages/ToDo/Notes/Board.js","Demo/AppPages/ToDo/Notes.js","App/components/Prism.js"],"names":["Note","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","state","editing","position","_ref","style","left","xPos","randomBetween","window","innerWidth","top","yPos","innerHeight","updatePosition","nextProps","e","index","dataTransfer","setData","min","max","Math","ceil","random","setState","onChange","newText","value","onRemove","content","save","_this2","react_default","a","createElement","draggable","onDragStart","onDoubleClick","edit","className","onClick","remove","children","renderNoteBody","_this3","ref","defaultValue","renderForm","renderDisplay","Component","initialNotes","note","Board","notes","JSON","parse","localStorage","getItem","length","map","single","add","setItem","stringify","uniqueId","text","push","id","nextId","saveToStorage","i","splice","Note_Note","key","update","bind","onDrag","preventDefault","noteId","getData","clientX","clientY","onDragOver","onDrop","renderNotes","mock","title","grid","x","y","w","h","isDraggable","contentEditable","timeStamp","Notes","showTape","showOutput","showTitle","showFooter","output","colors","showCustomColors","showMock","toggleValue","assertThisInitialized","fetchMock","defineProperty","target","name","default","wrapperStyle","showBound","height","width","background","border","overflow","padding","_Aux","Row","Col","Card","Header","Title","as","Body","Board_Board","md","Form","Group","Control","type","defaultChecked","Label","htmlFor","react_stickies_default","tape","float","undefined","footer","display","lib_default","Prism","code","language","React","defaultProps","react__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","react__WEBPACK_IMPORTED_MODULE_0___default","n","prism_react_renderer__WEBPACK_IMPORTED_MODULE_1__","prism","theme","require","assign","tokens","getLineProps","getTokenProps","line","token"],"mappings":"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","file":"static/js/114.f8fa522a.chunk.js","sourcesContent":["import React, { Component } from \"react\";\r\n\r\nconst saveText = \"SAVE\";\r\nconst removeToolTipText = \"Remove Note\";\r\n\r\nexport default class Note extends Component {\r\n\r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n            editing: false\r\n        };\r\n    }\r\n\r\n    updatePosition({position}) {\r\n        this.style = {\r\n            left: (position ? position.xPos : this.randomBetween(0, window.innerWidth - 280) + \"px\"),\r\n            top: (position ? position.yPos : this.randomBetween(0, window.innerHeight - 280) + \"px\")\r\n        };\r\n    }\r\n\r\n    componentWillMount() {\r\n        this.updatePosition(this.props);\r\n    }\r\n\r\n    componentWillUpdate(nextProps) {\r\n        this.updatePosition(nextProps);\r\n    }\r\n\r\n    onDragStart(e) {\r\n        const { index } = this.props;\r\n        e.dataTransfer.setData(\"application/x-note\", index);\r\n    }\r\n\r\n    // Get random position\r\n    randomBetween(min, max) {\r\n        return (min + Math.ceil(Math.random() * max));\r\n    }\r\n\r\n    // Turn on edit moge\r\n    edit() {\r\n        this.setState({editing: true});\r\n    }\r\n\r\n    // Save edits\r\n    save() {\r\n        const { index } = this.props;\r\n        this.props.onChange(this.newText.value, index);\r\n        this.setState({editing: false});\r\n    }\r\n\r\n    // Remove note\r\n    remove() {\r\n        const { index } = this.props;\r\n        this.props.onRemove(index);\r\n    }\r\n\r\n    // Render note body\r\n    renderNoteBody(content, save) {\r\n        return (\r\n            <div draggable=\"true\" onDragStart={(e) => this.onDragStart(e)} onDoubleClick={() => this.edit()} className=\"note\" style={this.style}>\r\n                <article>\r\n                    <header className=\"note__header\">\r\n                        <div className=\"wrapper-tooltip\">\r\n                            <span onClick={() => this.remove()} className=\"close hairline\"></span>\r\n                            <div className=\"tooltip\">{removeToolTipText}</div>\r\n                        </div>\r\n                    </header>\r\n                    <div className=\"note__content\">{content}</div>\r\n                    <footer className=\"note__footer\">\r\n                        <div className=\"note__fold\"></div>\r\n                        {save ? <div className=\"note__save\" onClick={() => this.save()}>{saveText}</div> : \"\"}\r\n                    </footer>\r\n                </article>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    // Render note preview\r\n    renderDisplay() {\r\n        const { children } = this.props;\r\n        return this.renderNoteBody(children);\r\n    }\r\n\r\n    // Render note edit mode\r\n    renderForm() {\r\n        const { children } = this.props;\r\n        const content = (\r\n            <div>\r\n                <textarea ref={ref => this.newText = ref} defaultValue={children} className=\"note__textarea\"/>\r\n            </div>\r\n        );\r\n\r\n        return this.renderNoteBody(content, true);\r\n    }\r\n\r\n    render() {\r\n        const { editing } = this.state;\r\n        return (editing ? this.renderForm() : this.renderDisplay());\r\n    }\r\n\r\n}","import React, { Component } from \"react\";\r\nimport Note from \"./Note\";\r\n\r\nconst newNoteText = \"New note :-)\";\r\nconst newNoteButtonText = \"ADD NEW NOTE\";\r\n\r\nconst initialNotes = [\r\n    {\r\n        note: \"Industry's standard dummy text ever since the 1500s\",\r\n        position: false\r\n    },\r\n    {\r\n        note: \"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.\",\r\n        position: false\r\n    },\r\n    {\r\n        note: \"The point of using Lorem Ipsum is that it has a more-or-less\",\r\n        position: false\r\n    },\r\n    {\r\n        note: \"A collection of textile samples lay spread out on the table One morning, when Gregor Samsa woke from troubled.\",\r\n        position: false\r\n    },\r\n    {\r\n        note: \"There are many variations of passages of Lorem Ipsum\",\r\n        position: false\r\n    }\r\n];\r\n\r\nexport default class Board extends Component {\r\n\r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n            notes: []\r\n        };\r\n    }\r\n\r\n    componentWillMount() {\r\n        // Get notes from local storage\r\n\r\n        const notes = JSON.parse(localStorage.getItem(\"notesStorage\")) || [];\r\n        if (notes.length > 0) {\r\n            notes.map(single => {\r\n                this.add(single.note, single.position);\r\n                return false;\r\n            });\r\n        } else {\r\n            initialNotes.map(single => {\r\n                this.add(single.note, single.position);\r\n                return false;\r\n            });\r\n        }\r\n    }\r\n\r\n    // Save to localStorage\r\n    saveToStorage(notes) {\r\n        this.setState({notes});\r\n        localStorage.setItem(\"notesStorage\", JSON.stringify(notes));\r\n    }\r\n\r\n    // Get next ID\r\n    nextId() {\r\n        this.uniqueId = this.uniqueId || 0;\r\n        return this.uniqueId++;\r\n    }\r\n\r\n    // Add note to localStorage and state\r\n    add(text, position) {\r\n        const { notes } = this.state;\r\n        notes.push({\r\n            id: this.nextId(this),\r\n            note: text,\r\n            position\r\n        });\r\n\r\n        this.saveToStorage(notes);\r\n    }\r\n\r\n    // Update note text\r\n    update(newText, i) {\r\n        const { notes } = this.state;\r\n        notes[i].note = newText;\r\n        this.saveToStorage(notes);\r\n    }\r\n\r\n    // Update note position\r\n    updatePosition(position, i) {\r\n        const { notes } = this.state;\r\n        notes[i].position = position;\r\n        this.saveToStorage(notes);\r\n    }\r\n\r\n    // Remove note\r\n    remove(i) {\r\n        const { notes } = this.state;\r\n        notes.splice(i, 1);\r\n        this.saveToStorage(notes);\r\n    }\r\n\r\n    // Render Notes\r\n    renderNotes(note, i) {\r\n        return (\r\n            <Note key={note.id}\r\n                  index={i}\r\n                  position={note.position}\r\n                  onChange={this.update.bind(this)}\r\n                  onDrag={this.updatePosition.bind(this)}\r\n                  onRemove={this.remove.bind(this)} >\r\n                {note.note}\r\n            </Note>\r\n        );\r\n    }\r\n\r\n    onDragOver(e) {\r\n        e.preventDefault();\r\n    }\r\n\r\n    onDrop(e) {\r\n        let noteId = e.dataTransfer.getData(\"application/x-note\");\r\n        let position = {xPos: e.clientX, yPos: e.clientY};\r\n        this.updatePosition(position, noteId);\r\n    }\r\n\r\n    render() {\r\n        const { notes } = this.state;\r\n        return (\r\n            <div className=\"board\" onDragOver={(e) => this.onDragOver(e)} onDrop={(e) => this.onDrop(e)}>\r\n                <header className=\"main-header\">\r\n                    <div className=\"main-header__text fadein\" onClick={this.add.bind(this, newNoteText, false)}>\r\n                        {newNoteButtonText}\r\n                    </div>\r\n                </header>\r\n                {notes.map(this.renderNotes.bind(this))}\r\n            </div>\r\n        );\r\n    }\r\n\r\n}","import React from 'react';\r\nimport {Row, Col, Card, Form} from 'react-bootstrap';\r\nimport Stickies from 'react-stickies';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\n\r\nimport Aux from \"../../../hoc/_Aux\";\r\nimport Prism from \"../../../App/components/Prism\";\r\nimport Board from \"../ToDo/Notes/Board\";\r\n\r\nconst mock = [\r\n    {\r\n        \"id\": \"3effea2c-fc90-98e0-51d0-22c32efb2177\",\r\n        \"text\": \"Hey I am Ajain... \",\r\n        \"title\": \"Hello\",\r\n        \"grid\": {\r\n            \"i\": \"3effea2c-fc90-98e0-51d0-22c32efb2177\",\r\n            \"x\": 0,\r\n            \"y\": null,\r\n            \"w\": 2,\r\n            \"h\" : 2,\r\n            \"isDraggable\": false\r\n        },\r\n        \"contentEditable\": true,\r\n        \"timeStamp\": \"13 Feb 2017 2:53 PM\"\r\n    },\r\n    {\r\n        \"id\": \"3effea2c-fc90-98e0-51d0-22c32efb2178\",\r\n        \"text\": \"If you liked stickies... contribute by liking it... \",\r\n        \"title\": \"Contribute\",\r\n        \"grid\": {\r\n            \"i\": \"3effea2c-fc90-98e0-51d0-22c32efb2178\",\r\n            \"x\": 4,\r\n            \"y\": 0,\r\n            \"w\": 4,\r\n            \"h\" : 4,\r\n            \"isDraggable\": false\r\n        },\r\n        \"contentEditable\": true,\r\n        \"timeStamp\": \"13 Feb 2017 2:53 PM\"\r\n    }\r\n];\r\n\r\nclass Notes extends React.Component {\r\n    static defaultProps = {\r\n    };\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.state = {\r\n            notes: [],\r\n            showTape: false,\r\n            showOutput: true,\r\n            showTitle: true,\r\n            showFooter: true,\r\n            output: '',\r\n            colors: ['#FFFFFF'],\r\n            showCustomColors: false,\r\n            showMock: false\r\n        };\r\n        this.toggleValue = this.toggleValue.bind(this);\r\n        this.onChange = this.onChange.bind(this);\r\n        this.fetchMock = this.fetchMock.bind(this);\r\n    }\r\n\r\n    toggleValue(e) {\r\n        this.setState({\r\n            [e.target.name]: !this.state[e.target.name]\r\n        });\r\n    }\r\n\r\n    onChange(notes) {\r\n        this.setState({\r\n            output: JSON.stringify(notes, null, 2),\r\n            notes\r\n        });\r\n    }\r\n\r\n    fetchMock() {\r\n        this.setState({\r\n            showMock: true\r\n        }, () => {\r\n            this.setState({\r\n                notes: mock.default\r\n            });\r\n        });\r\n    }\r\n\r\n    render() {\r\n        let wrapperStyle = {};\r\n        if (this.state.showBound) {\r\n            wrapperStyle = {\r\n                height: '700px',\r\n                width: '700px',\r\n                background: 'rgba(0, 0, 0, 0.2)',\r\n                border: '2px solid #fff',\r\n                overflow: 'auto',\r\n                padding: '10px'\r\n            };\r\n        }\r\n\r\n        return (\r\n            <Aux>\r\n                <Row>\r\n                    <Col>\r\n                        <Card>\r\n                            <Card.Header>\r\n                                <Card.Title as='h5'>Basic Notes</Card.Title>\r\n                            </Card.Header>\r\n                            <Card.Body>\r\n                                <Board/>\r\n                            </Card.Body>\r\n                        </Card>\r\n                        <Card>\r\n                            <Card.Header>\r\n                                <Card.Title as='h5'>Sticky Notes</Card.Title>\r\n                            </Card.Header>\r\n                            <Card.Body>\r\n                                <Row>\r\n                                    <Col md={3}>\r\n                                        <Form.Group>\r\n                                            <div className=\"checkbox d-inline checkbox-fill checkbox-info\">\r\n                                                <Form.Control type=\"checkbox\" name=\"showTitle\" id=\"show-title\" value=\"show_title\" defaultChecked={this.state.showTitle} onChange={this.toggleValue} />\r\n                                                <Form.Label htmlFor=\"show-title\" className=\"cr\">Show Title</Form.Label>\r\n                                            </div>\r\n                                        </Form.Group>\r\n                                        <Form.Group>\r\n                                            <div className=\"checkbox d-inline checkbox-fill checkbox-info\">\r\n                                                <Form.Control type=\"checkbox\" name=\"showCustomColors\" id=\"custom-color\" value=\"show_custom_colors\" defaultChecked={this.state.showCustomColors} onChange={this.toggleValue} />\r\n                                                <Form.Label htmlFor=\"custom-color\" className=\"cr\">Custom Colors</Form.Label>\r\n                                            </div>\r\n                                        </Form.Group>\r\n                                        <Form.Group>\r\n                                            <div className=\"checkbox d-inline checkbox-fill checkbox-info\">\r\n                                                <Form.Control type=\"checkbox\" name=\"showTape\" id=\"show-tape\" value=\"show_tape\" defaultChecked={this.state.showTape} onChange={this.toggleValue} />\r\n                                                <Form.Label htmlFor=\"show-tape\" className=\"cr\">Show Tape</Form.Label>\r\n                                            </div>\r\n                                        </Form.Group>\r\n                                        <Form.Group>\r\n                                            <div className=\"checkbox d-inline checkbox-fill checkbox-info\">\r\n                                                <Form.Control type=\"checkbox\" name=\"showOutput\" id=\"show-output\" value=\"show_output\" defaultChecked={this.state.showOutput} onChange={this.toggleValue} />\r\n                                                <Form.Label htmlFor=\"show-output\" className=\"cr\">Show Output</Form.Label>\r\n                                            </div>\r\n                                        </Form.Group>\r\n                                        <Form.Group>\r\n                                            <div className=\"checkbox d-inline checkbox-fill checkbox-info\">\r\n                                                <Form.Control type=\"checkbox\" name=\"showFooter\" id=\"show-footer\" value=\"show_title\" defaultChecked={this.state.showFooter} onChange={this.toggleValue} />\r\n                                                <Form.Label htmlFor=\"show-footer\" className=\"cr\">Show Footer</Form.Label>\r\n                                            </div>\r\n                                        </Form.Group>\r\n                                        <Form.Group>\r\n                                            <div className=\"checkbox d-inline checkbox-fill checkbox-info\">\r\n                                                <Form.Control type=\"checkbox\" name=\"showMock\" id=\"show-mock\" value=\"show_mock\" defaultChecked={this.state.showMock} onChange={this.fetchMock} />\r\n                                                <Form.Label htmlFor=\"show-mock\" className=\"cr\">Load Mock Data</Form.Label>\r\n                                            </div>\r\n                                        </Form.Group>\r\n                                    </Col>\r\n                                    <Col md={9}>\r\n                                        <Stickies\r\n                                            notes={this.state.notes}\r\n                                            tape={this.state.showTape}\r\n                                            style={{ float: 'left' }}\r\n                                            colors={this.state.showCustomColors ? this.state.colors : undefined}\r\n                                            title={this.state.showTitle}\r\n                                            footer={this.state.showFooter}\r\n                                            onChange={this.onChange}\r\n                                            wrapperStyle={wrapperStyle}\r\n                                        />\r\n                                    </Col>\r\n                                </Row>\r\n                                <Row>\r\n                                    <Col>\r\n                                        <div className=\"config\">\r\n                                            <div className=\"output\" style={{ display: this.state.showOutput ? 'block' : 'none' }}>\r\n                                                <h3>Output JSON</h3>\r\n                                                <hr/>\r\n                                                <div style={{height: '500px'}}>\r\n                                                    <PerfectScrollbar>\r\n                                                        <Prism code={this.state.output} language=\"json\" />\r\n                                                    </PerfectScrollbar>\r\n                                                </div>\r\n                                            </div>\r\n                                        </div>\r\n                                    </Col>\r\n                                </Row>\r\n                            </Card.Body>\r\n                        </Card>\r\n                    </Col>\r\n                </Row>\r\n            </Aux>\r\n        );\r\n    }\r\n}\r\n\r\nexport default Notes;","import React from 'react';\r\nimport Highlight, {defaultProps} from \"prism-react-renderer\";\r\n\r\nconst prism = (props) => {\r\n    const theme = require('prism-react-renderer/themes/dracula'); // dracula, duotoneDark, duotoneLight, nightOwl, oceanicNext, shadesOfPurple, vsDark, vsDarkPlus\r\n    return (\r\n        <Highlight {...defaultProps} theme={theme} code={props.code} language={props.language}>\r\n            {({ className, style, tokens, getLineProps, getTokenProps }) => (\r\n                <div className=\"m-t-15\">\r\n                    <pre className={className} style={style}>\r\n                        <code className=\"language-markup\">\r\n                            {tokens.map((line, i) => (\r\n                                <div {...getLineProps({ line, key: i })}>\r\n                                    {line.map((token, key) => (\r\n                                        <span {...getTokenProps({ token, key })} />\r\n                                    ))}\r\n                                </div>\r\n                            ))}\r\n                        </code>\r\n                    </pre>\r\n                </div>\r\n            )}\r\n        </Highlight>\r\n    );\r\n};\r\n\r\nexport default prism;"],"sourceRoot":""}