@iobroker/adapter-react-v5 4.5.3 → 4.5.4
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/Components/404.js +5 -5
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js +2 -2
- package/Components/ColorPicker.js.map +1 -1
- package/Components/FileBrowser.d.ts +4 -1
- package/Components/FileBrowser.js +132 -51
- package/Components/FileBrowser.js.map +1 -1
- package/Components/Icon.js +2 -2
- package/Components/Icon.js.map +1 -1
- package/Components/JsonConfigComponent/ChipInput.js +2 -2
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAccordion.js +2 -2
- package/Components/JsonConfigComponent/ConfigAccordion.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js +2 -2
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +2 -2
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js +2 -2
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +2 -2
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/index.js +7 -7
- package/Components/JsonConfigComponent/index.js.map +1 -1
- package/Components/Logo.js +1 -1
- package/Components/Logo.js.map +1 -1
- package/Components/ObjectBrowser.js +3 -3
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/SaveCloseButtons.js +2 -2
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js +2 -2
- package/Components/Schedule.js.map +1 -1
- package/Components/TableResize.js +2 -2
- package/Components/TableResize.js.map +1 -1
- package/Components/TextWithIcon.js +2 -2
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/TreeTable.js +2 -2
- package/Components/TreeTable.js.map +1 -1
- package/Dialogs/SelectFile.d.ts +2 -0
- package/Dialogs/SelectFile.js +17 -16
- package/Dialogs/SelectFile.js.map +1 -1
- package/Dialogs/SelectID.js +2 -2
- package/Dialogs/SelectID.js.map +1 -1
- package/GenericApp.js +2 -2
- package/GenericApp.js.map +1 -1
- package/README.md +3 -0
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeTable.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_reactColorful","_material","_iconsMaterial","_SelectID","_Utils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getAttr","obj","attr","lookup","split","name","shift","setAttr","value","undefined","styles","theme","tableContainer","width","height","overflow","table","minWidth","maxWidth","cell","paddingTop","paddingBottom","paddingLeft","paddingRight","rowMainWithChildren","rowMainWithoutChildren","rowNoEdit","opacity","cellExpand","cellButton","cellHeader","fontWeight","background","palette","mode","color","wordBreak","whiteSpace","width_name_nicknames","width_ioType","width_type","width_displayTraits","width_roomHint","rowSecondary","fontStyle","cellSecondary","fontSize","visuallyHidden","border","clip","margin","padding","position","top","fieldEditWithButton","display","fieldEdit","lineHeight","verticalAlign","fieldButton","colorDialog","subText","glow","animation","descendingComparator","a","b","orderBy","_a","_b","getComparator","order","stableSort","array","comparator","stabilizedThis","map","el","index","sort","TreeTable","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","opened","window","_localStorage","localStorage","getItem","JSON","parse","Array","isArray","state","editMode","deleteMode","editData","update","columns","field","showSelectColor","_createClass2","renderCellEdit","item","col","val","renderCellEditSelect","editComponent","renderCellEditCustom","type","renderCellEditBoolean","renderCellEditColor","renderCellEditObjectID","renderCellEditNumber","renderCellEditString","_this2","createElement","Select","variant","onChange","setState","v","MenuItem","_this3","TextField","className","classes","fullWidth","_this4","_this5","EditComponent","stringify","rowData","newVal","_this6","Checkbox","checked","inputProps","renderSelectColorDialog","_this7","Dialog","root","paper","onClose","selectCallback","open","HexColorPicker","selectIdValue","_this8","_val","style","backgroundColor","Utils","isUseBright","IconButton","onClick","newColor","size","Colorize","renderSelectIdDialog","_this9","showSelectId","imagePrefix","dialogName","adapterName","themeType","socket","statesOnly","selected","onOk","_this10","ViewHeadline","renderCellNonEdit","disabled","renderCell","level","editable","TableCell","clsx","cellStyle","component","renderCellWithSubField","main","sub","subField","subLookup","mainText","subStyle","renderLine","_this11","levelShift","data","indexOf","parentId","includes","id","children","it","TableRow","concat","toString","replace","row","_opened","_toConsumableArray2","pos","splice","setItem","ExpandMore","NavigateNext","scope","ii","hidden","onUpdate","newData","onDelete","Check","Edit","Close","Delete","handleRequestSort","property","isAsc","renderHead","_this12","TableHead","headerStyle","sortDirection","noSort","TableSortLabel","active","direction","title","noAdd","Fab","Add","render","_this13","find","updateTimeout","clearTimeout","setTimeout","Table","stickyHeader","TableBody","getDerivedStateFromProps","glowOnChange","count","line","oldLine","React","Component","propTypes","PropTypes","isRequired","string","arrayOf","shape","func","bool","oneOf","number","_default","withStyles","exports"],"sources":["TreeTable.js"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport {\n Fab,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TableSortLabel,\n IconButton,\n Select,\n MenuItem,\n TextField,\n Checkbox,\n Dialog,\n} from '@mui/material';\n\nimport {\n Edit as IconEdit,\n Delete as IconDelete,\n NavigateNext as IconExpand,\n ExpandMore as IconCollapse,\n Check as IconCheck,\n Close as IconClose,\n Add as IconAdd,\n ViewHeadline as IconList,\n Colorize as IconColor,\n} from '@mui/icons-material';\n\nimport DialogSelectID from '../Dialogs/SelectID';\nimport Utils from './Utils';\n\nfunction getAttr(obj, attr, lookup) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n }\n return obj[attr[0]];\n }\n\n const name = attr.shift();\n return getAttr(obj[name], attr);\n}\n\nfunction setAttr(obj, attr, value) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return obj[attr[0]] = value;\n }\n const name = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n}\n\nconst styles = theme => ({\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {\n\n },\n rowMainWithoutChildren: {\n\n },\n rowNoEdit: {\n opacity: 0.3,\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: theme.palette.mode === 'dark' ? '#888' : '#888',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n fieldEditWithButton: {\n width: 'calc(100% - 33px)',\n display: 'inline-block',\n },\n fieldEdit: {\n width: '100%',\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate',\n },\n});\n\nfunction descendingComparator(a, b, orderBy, lookup) {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n }\n if (_b > _a) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy, lookup) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order) {\n return order;\n }\n return a[1] - b[1];\n });\n\n return stabilizedThis.map(el => el[0]);\n}\n\nclass TreeTable extends React.Component {\n constructor(props) {\n super(props);\n\n let opened = (window._localStorage || window.localStorage).getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch (e) {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n showSelectColor: false,\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.glowOnChange) {\n const update = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return { data: props.data, update };\n }\n return { data: props.data };\n }\n\n return { data: props.data };\n }\n\n renderCellEdit(item, col) {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(item, col, val);\n } if (col.editComponent) {\n return this.renderCellEditCustom(item, col, val);\n }\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(item, col, val);\n }\n if (col.type === 'color') {\n return this.renderCellEditColor(item, col, val);\n }\n if (col.type === 'oid') {\n return this.renderCellEditObjectID(item, col, val);\n }\n if (col.type === 'numeric') {\n return this.renderCellEditNumber(item, col, val);\n }\n\n return this.renderCellEditString(item, col, val);\n }\n\n renderCellEditSelect(item, col, val) {\n return <Select\n variant=\"standard\"\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n value={(this.state.editData && this.state.editData[col.field]) || val}\n >\n {Object.keys(col.lookup)\n .map((v, i) => <MenuItem key={i} value={v}>{col.lookup[v]}</MenuItem>)}\n </Select>;\n }\n\n renderCellEditString(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditNumber(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n type=\"number\"\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditCustom(item, col, val) {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return <EditComponent\n value={val}\n rowData={item}\n onChange={newVal => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newVal === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newVal;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditBoolean(item, col, val) {\n return <Checkbox\n checked={this.state.editData && this.state.editData[col.field] !== undefined ? !!this.state.editData[col.field] : !!val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.checked === !!val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.checked;\n }\n this.setState({ editData });\n }}\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n renderSelectColorDialog() {\n return <Dialog\n classes={{ root: this.props.classes.colorDialog, paper: this.props.classes.colorDialog }}\n onClose={() => {\n this.selectCallback = null;\n this.setState({ showSelectColor: false });\n }}\n open={this.state.showSelectColor}\n >\n <ColorPicker\n color={this.state.selectIdValue}\n onChange={color =>\n this.setState({ selectIdValue: color }, () =>\n this.selectCallback && this.selectCallback(color))}\n />\n </Dialog>;\n }\n\n renderCellEditColor(item, col, val) {\n const _val = this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={_val}\n inputProps={{ style: { backgroundColor: _val, color: Utils.isUseBright(_val, null) ? '#FFF' : '#000' } }}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = newColor => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newColor === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newColor;\n }\n this.setState({ editData });\n };\n\n this.setState({ showSelectColor: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconColor />\n </IconButton>\n </div>;\n }\n\n renderSelectIdDialog() {\n if (this.state.showSelectId) {\n return <DialogSelectID\n key=\"tableSelect\"\n imagePrefix=\"../..\"\n dialogName={this.props.adapterName}\n themeType={this.props.themeType}\n socket={this.props.socket}\n statesOnly\n selected={this.state.selectIdValue}\n onClose={() => this.setState({ showSelectId: false })}\n onOk={(selected /* , name*/) => {\n this.setState({ showSelectId: false, selectIdValue: null });\n this.selectCallback && this.selectCallback(selected);\n this.selectCallback = null;\n }}\n />;\n }\n\n return null;\n }\n\n renderCellEditObjectID(item, col, val) {\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = selected => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (selected === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = selected;\n }\n this.setState({ editData });\n };\n\n this.setState({ showSelectId: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconList />\n </IconButton>\n </div>;\n }\n\n renderCellNonEdit(item, col) {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return <Checkbox\n checked={!!val}\n disabled\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n return val;\n }\n\n renderCell(item, col, level, i) {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellEdit(item, col)}\n </TableCell>;\n }\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellNonEdit(item, col)}\n </TableCell>;\n }\n\n renderCellWithSubField(item, col) {\n const main = getAttr(item, col.field, col.lookup);\n const sub = getAttr(item, col.subField, col.subLookup);\n return <div>\n <div className={this.props.classes.mainText}>{main}</div>\n <div className={this.props.classes.subText} style={col.subStyle || {}}>{sub}</div>\n </div>;\n }\n\n renderLine(item, level) {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n }\n if (level && !item.parentId) {\n return null; // should never happen\n }\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n return [\n <TableRow\n key={item.id}\n className={Utils.clsx(\n `table-row-${(item.id || '').toString().replace(/[.$]/g, '_')}`,\n this.state.update && this.state.update.includes(item.id) && this.props.classes.glow,\n this.props.classes.row,\n level && this.props.classes.rowSecondary,\n !level && children.length && this.props.classes.rowMainWithChildren,\n !level && !children.length && this.props.classes.rowMainWithoutChildren,\n this.state.editMode !== false && this.state.editMode !== i && this.props.classes.rowNoEdit,\n this.state.deleteMode !== false && this.state.deleteMode !== i && this.props.classes.rowNoEdit,\n )}\n >\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellExpand, level && this.props.classes.cellSecondary)}>\n {children.length ? <IconButton\n onClick={() => {\n const _opened = [...this.state.opened];\n const pos = _opened.indexOf(item.id);\n if (pos === -1) {\n _opened.push(item.id);\n _opened.sort();\n } else {\n _opened.splice(pos, 1);\n }\n\n (window._localStorage || window.localStorage).setItem(this.props.name || 'iob-table', JSON.stringify(_opened));\n\n this.setState({ opened: _opened });\n }}\n size=\"small\"\n >\n {opened ? <IconCollapse /> : <IconExpand />}\n </IconButton> : null}\n </TableCell>\n <TableCell\n scope=\"row\"\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={{ ...this.props.columns[0].cellStyle, ...{ paddingLeft: levelShift * level } }}\n >\n {this.props.columns[0].subField ?\n this.renderCellWithSubField(item, this.props.columns[0])\n :\n getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)}\n </TableCell>\n\n {this.props.columns.map((col, ii) =>\n (!ii && !col.hidden ? null : this.renderCell(item, col, level, i)))}\n\n {this.props.onUpdate ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n Object.keys(this.state.editData).forEach(attr => setAttr(newData, attr, this.state.editData[attr]));\n this.setState({ editMode: false }, () => this.props.onUpdate(newData, item));\n } else {\n this.setState({ deleteMode: false }, () => this.props.onDelete(item));\n }\n }}\n size=\"large\"\n >\n <IconCheck />\n </IconButton>\n :\n <IconButton\n disabled={this.state.editMode !== false}\n onClick={() => this.setState({ editMode: i, editData: null })}\n size=\"large\"\n >\n <IconEdit />\n </IconButton>}\n </TableCell> : null}\n\n {this.props.onDelete && !this.props.onUpdate ?\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => this.setState({ deleteMode: false }, () => this.props.onDelete(item))}\n size=\"large\"\n >\n <IconCheck />\n </IconButton>\n :\n null}\n </TableCell> : null}\n\n {this.props.onUpdate || this.props.onDelete ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n onClick={() => this.setState({ editMode: false, deleteMode: false })}\n size=\"large\"\n >\n <IconClose />\n </IconButton>\n :\n (this.props.onDelete ? <IconButton\n disabled={this.state.deleteMode !== false}\n onClick={() => this.setState({ deleteMode: i })}\n size=\"large\"\n >\n <IconDelete />\n </IconButton> : null)}\n </TableCell> : null}\n </TableRow>,\n !level && opened ? children.map(it =>\n this.renderLine(it, level + 1)) : null,\n ];\n }\n\n handleRequestSort(property) {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({ order: isAsc ? 'desc' : 'asc', orderBy: property });\n }\n\n renderHead() {\n return <TableHead>\n <TableRow key=\"headerRow\">\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellExpand)}\n />\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes[`width_${this.props.columns[0].field.replace(/\\./g, '_')}`])}\n style={this.props.columns[0].headerStyle || this.props.columns[0].cellStyle}\n sortDirection={this.props.noSort ? false : (this.state.orderBy === this.props.columns[0].field ? this.state.order : false)}\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === this.props.columns[0].field}\n direction={this.state.orderBy === this.props.columns[0].field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel>}\n </TableCell>\n {this.props.columns.map((col, i) =>\n (!i && !col.hidden ? null : <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes[`width_${col.field.replace(/\\./g, '_')}`])}\n style={col.headerStyle || col.cellStyle}\n component=\"th\"\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === col.field}\n direction={this.state.orderBy === col.field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel> }\n </TableCell>))}\n {this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}>\n {!this.props.noAdd ? <Fab\n color=\"primary\"\n size=\"small\"\n disabled={this.state.editMode !== false}\n onClick={() => this.props.onUpdate(true)}\n >\n <IconAdd />\n </Fab> : null }\n </TableCell> : null}\n {this.props.onDelete || this.props.onUpdate ?\n <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)} /> : null}\n </TableRow>\n </TableHead>;\n }\n\n render() {\n const lookup = this.props.columns.find(col => col.field === this.state.orderBy).lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({ update: null });\n }, 500);\n }\n\n return <div className={Utils.clsx(this.props.classes.tableContainer, this.props.className)}>\n <Table className={this.props.classes.table} aria-label=\"simple table\" size=\"small\" stickyHeader>\n {this.renderHead()}\n <TableBody>\n {table.map(it => this.renderLine(it))}\n </TableBody>\n </Table>\n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n </div>;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n <div>Prefix{ <br/>\n <textarea\n rows={4}\n style={{width: '100%', resize: 'vertical'}}\n value={props.value}\n onChange={e => props.onChange(e.target.value)}\n />\n Suffix\n </div>,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return <div className={this.props.classes.tableDiv}>\n <TreeTable\n columns={this.columns}\n data={lines}\n onUpdate={(newData, oldData) => console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n </div>;\n}\n */\n\nTreeTable.propTypes = {\n data: PropTypes.array.isRequired,\n className: PropTypes.string,\n name: PropTypes.string, // name of table to save settings in localStorage\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n cellStyle: PropTypes.object,\n editComponent: PropTypes.func,\n field: PropTypes.string,\n headerStyle: PropTypes.object,\n hidden: PropTypes.bool,\n lookup: PropTypes.object,\n editable: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf([\n 'string',\n 'boolean',\n 'numeric',\n 'icon', // todo: not yet implemented\n 'oid',\n 'color',\n ]),\n }),\n ).isRequired,\n noSort: PropTypes.bool,\n onUpdate: PropTypes.func,\n onDelete: PropTypes.func,\n noAdd: PropTypes.bool, // hide add button\n themeType: PropTypes.string,\n glowOnChange: PropTypes.bool,\n socket: PropTypes.object, // only if an oid type is used\n levelShift: PropTypes.number, // Shift in pixels for every level\n};\n\nexport default withStyles(styles)(TreeTable);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeTable.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_reactColorful","_material","_iconsMaterial","_SelectID","_Utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","getAttr","obj","attr","lookup","split","name","shift","setAttr","value","undefined","styles","theme","tableContainer","width","height","overflow","table","minWidth","maxWidth","cell","paddingTop","paddingBottom","paddingLeft","paddingRight","rowMainWithChildren","rowMainWithoutChildren","rowNoEdit","opacity","cellExpand","cellButton","cellHeader","fontWeight","background","palette","mode","color","wordBreak","whiteSpace","width_name_nicknames","width_ioType","width_type","width_displayTraits","width_roomHint","rowSecondary","fontStyle","cellSecondary","fontSize","visuallyHidden","border","clip","margin","padding","position","top","fieldEditWithButton","display","fieldEdit","lineHeight","verticalAlign","fieldButton","colorDialog","subText","glow","animation","descendingComparator","a","b","orderBy","_a","_b","getComparator","order","stableSort","array","comparator","stabilizedThis","map","el","index","sort","TreeTable","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","opened","window","_localStorage","localStorage","getItem","JSON","parse","Array","isArray","state","editMode","deleteMode","editData","update","columns","field","showSelectColor","_createClass2","key","renderCellEdit","item","col","val","renderCellEditSelect","editComponent","renderCellEditCustom","type","renderCellEditBoolean","renderCellEditColor","renderCellEditObjectID","renderCellEditNumber","renderCellEditString","_this2","createElement","Select","variant","onChange","target","setState","v","i","MenuItem","_this3","TextField","className","classes","fullWidth","_this4","_this5","EditComponent","stringify","rowData","newVal","_this6","Checkbox","checked","inputProps","renderSelectColorDialog","_this7","Dialog","root","paper","onClose","selectCallback","open","HexColorPicker","selectIdValue","_this8","_val","style","backgroundColor","Utils","isUseBright","IconButton","onClick","newColor","size","Colorize","renderSelectIdDialog","_this9","showSelectId","imagePrefix","dialogName","adapterName","themeType","socket","statesOnly","selected","onOk","_this10","ViewHeadline","renderCellNonEdit","disabled","renderCell","level","editable","TableCell","clsx","cellStyle","component","renderCellWithSubField","main","sub","subField","subLookup","mainText","subStyle","renderLine","_this11","levelShift","data","indexOf","parentId","includes","id","children","it","TableRow","concat","toString","replace","row","_opened","_toConsumableArray2","pos","splice","setItem","ExpandMore","NavigateNext","scope","ii","hidden","onUpdate","newData","onDelete","Check","Edit","Close","Delete","handleRequestSort","property","isAsc","renderHead","_this12","TableHead","headerStyle","sortDirection","noSort","TableSortLabel","active","direction","title","noAdd","Fab","Add","render","_this13","find","updateTimeout","clearTimeout","setTimeout","Table","stickyHeader","TableBody","getDerivedStateFromProps","glowOnChange","count","line","oldLine","React","Component","propTypes","PropTypes","isRequired","string","arrayOf","shape","object","func","bool","oneOf","number","_default","withStyles","exports"],"sources":["TreeTable.js"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport {\n Fab,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TableSortLabel,\n IconButton,\n Select,\n MenuItem,\n TextField,\n Checkbox,\n Dialog,\n} from '@mui/material';\n\nimport {\n Edit as IconEdit,\n Delete as IconDelete,\n NavigateNext as IconExpand,\n ExpandMore as IconCollapse,\n Check as IconCheck,\n Close as IconClose,\n Add as IconAdd,\n ViewHeadline as IconList,\n Colorize as IconColor,\n} from '@mui/icons-material';\n\nimport DialogSelectID from '../Dialogs/SelectID';\nimport Utils from './Utils';\n\nfunction getAttr(obj, attr, lookup) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n }\n return obj[attr[0]];\n }\n\n const name = attr.shift();\n return getAttr(obj[name], attr);\n}\n\nfunction setAttr(obj, attr, value) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return obj[attr[0]] = value;\n }\n const name = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n}\n\nconst styles = theme => ({\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {\n\n },\n rowMainWithoutChildren: {\n\n },\n rowNoEdit: {\n opacity: 0.3,\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: theme.palette.mode === 'dark' ? '#888' : '#888',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n fieldEditWithButton: {\n width: 'calc(100% - 33px)',\n display: 'inline-block',\n },\n fieldEdit: {\n width: '100%',\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate',\n },\n});\n\nfunction descendingComparator(a, b, orderBy, lookup) {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n }\n if (_b > _a) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy, lookup) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order) {\n return order;\n }\n return a[1] - b[1];\n });\n\n return stabilizedThis.map(el => el[0]);\n}\n\nclass TreeTable extends React.Component {\n constructor(props) {\n super(props);\n\n let opened = (window._localStorage || window.localStorage).getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch (e) {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n showSelectColor: false,\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.glowOnChange) {\n const update = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return { data: props.data, update };\n }\n return { data: props.data };\n }\n\n return { data: props.data };\n }\n\n renderCellEdit(item, col) {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(item, col, val);\n } if (col.editComponent) {\n return this.renderCellEditCustom(item, col, val);\n }\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(item, col, val);\n }\n if (col.type === 'color') {\n return this.renderCellEditColor(item, col, val);\n }\n if (col.type === 'oid') {\n return this.renderCellEditObjectID(item, col, val);\n }\n if (col.type === 'numeric') {\n return this.renderCellEditNumber(item, col, val);\n }\n\n return this.renderCellEditString(item, col, val);\n }\n\n renderCellEditSelect(item, col, val) {\n return <Select\n variant=\"standard\"\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n value={(this.state.editData && this.state.editData[col.field]) || val}\n >\n {Object.keys(col.lookup)\n .map((v, i) => <MenuItem key={i} value={v}>{col.lookup[v]}</MenuItem>)}\n </Select>;\n }\n\n renderCellEditString(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditNumber(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n type=\"number\"\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditCustom(item, col, val) {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return <EditComponent\n value={val}\n rowData={item}\n onChange={newVal => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newVal === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newVal;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditBoolean(item, col, val) {\n return <Checkbox\n checked={this.state.editData && this.state.editData[col.field] !== undefined ? !!this.state.editData[col.field] : !!val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.checked === !!val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.checked;\n }\n this.setState({ editData });\n }}\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n renderSelectColorDialog() {\n return <Dialog\n classes={{ root: this.props.classes.colorDialog, paper: this.props.classes.colorDialog }}\n onClose={() => {\n this.selectCallback = null;\n this.setState({ showSelectColor: false });\n }}\n open={this.state.showSelectColor}\n >\n <ColorPicker\n color={this.state.selectIdValue}\n onChange={color =>\n this.setState({ selectIdValue: color }, () =>\n this.selectCallback && this.selectCallback(color))}\n />\n </Dialog>;\n }\n\n renderCellEditColor(item, col, val) {\n const _val = this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={_val}\n inputProps={{ style: { backgroundColor: _val, color: Utils.isUseBright(_val, null) ? '#FFF' : '#000' } }}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = newColor => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newColor === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newColor;\n }\n this.setState({ editData });\n };\n\n this.setState({ showSelectColor: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconColor />\n </IconButton>\n </div>;\n }\n\n renderSelectIdDialog() {\n if (this.state.showSelectId) {\n return <DialogSelectID\n key=\"tableSelect\"\n imagePrefix=\"../..\"\n dialogName={this.props.adapterName}\n themeType={this.props.themeType}\n socket={this.props.socket}\n statesOnly\n selected={this.state.selectIdValue}\n onClose={() => this.setState({ showSelectId: false })}\n onOk={(selected /* , name*/) => {\n this.setState({ showSelectId: false, selectIdValue: null });\n this.selectCallback && this.selectCallback(selected);\n this.selectCallback = null;\n }}\n />;\n }\n\n return null;\n }\n\n renderCellEditObjectID(item, col, val) {\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = selected => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (selected === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = selected;\n }\n this.setState({ editData });\n };\n\n this.setState({ showSelectId: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconList />\n </IconButton>\n </div>;\n }\n\n renderCellNonEdit(item, col) {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return <Checkbox\n checked={!!val}\n disabled\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n return val;\n }\n\n renderCell(item, col, level, i) {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellEdit(item, col)}\n </TableCell>;\n }\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellNonEdit(item, col)}\n </TableCell>;\n }\n\n renderCellWithSubField(item, col) {\n const main = getAttr(item, col.field, col.lookup);\n const sub = getAttr(item, col.subField, col.subLookup);\n return <div>\n <div className={this.props.classes.mainText}>{main}</div>\n <div className={this.props.classes.subText} style={col.subStyle || {}}>{sub}</div>\n </div>;\n }\n\n renderLine(item, level) {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n }\n if (level && !item.parentId) {\n return null; // should never happen\n }\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n return [\n <TableRow\n key={item.id}\n className={Utils.clsx(\n `table-row-${(item.id || '').toString().replace(/[.$]/g, '_')}`,\n this.state.update && this.state.update.includes(item.id) && this.props.classes.glow,\n this.props.classes.row,\n level && this.props.classes.rowSecondary,\n !level && children.length && this.props.classes.rowMainWithChildren,\n !level && !children.length && this.props.classes.rowMainWithoutChildren,\n this.state.editMode !== false && this.state.editMode !== i && this.props.classes.rowNoEdit,\n this.state.deleteMode !== false && this.state.deleteMode !== i && this.props.classes.rowNoEdit,\n )}\n >\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellExpand, level && this.props.classes.cellSecondary)}>\n {children.length ? <IconButton\n onClick={() => {\n const _opened = [...this.state.opened];\n const pos = _opened.indexOf(item.id);\n if (pos === -1) {\n _opened.push(item.id);\n _opened.sort();\n } else {\n _opened.splice(pos, 1);\n }\n\n (window._localStorage || window.localStorage).setItem(this.props.name || 'iob-table', JSON.stringify(_opened));\n\n this.setState({ opened: _opened });\n }}\n size=\"small\"\n >\n {opened ? <IconCollapse /> : <IconExpand />}\n </IconButton> : null}\n </TableCell>\n <TableCell\n scope=\"row\"\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={{ ...this.props.columns[0].cellStyle, ...{ paddingLeft: levelShift * level } }}\n >\n {this.props.columns[0].subField ?\n this.renderCellWithSubField(item, this.props.columns[0])\n :\n getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)}\n </TableCell>\n\n {this.props.columns.map((col, ii) =>\n (!ii && !col.hidden ? null : this.renderCell(item, col, level, i)))}\n\n {this.props.onUpdate ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n Object.keys(this.state.editData).forEach(attr => setAttr(newData, attr, this.state.editData[attr]));\n this.setState({ editMode: false }, () => this.props.onUpdate(newData, item));\n } else {\n this.setState({ deleteMode: false }, () => this.props.onDelete(item));\n }\n }}\n size=\"large\"\n >\n <IconCheck />\n </IconButton>\n :\n <IconButton\n disabled={this.state.editMode !== false}\n onClick={() => this.setState({ editMode: i, editData: null })}\n size=\"large\"\n >\n <IconEdit />\n </IconButton>}\n </TableCell> : null}\n\n {this.props.onDelete && !this.props.onUpdate ?\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => this.setState({ deleteMode: false }, () => this.props.onDelete(item))}\n size=\"large\"\n >\n <IconCheck />\n </IconButton>\n :\n null}\n </TableCell> : null}\n\n {this.props.onUpdate || this.props.onDelete ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n onClick={() => this.setState({ editMode: false, deleteMode: false })}\n size=\"large\"\n >\n <IconClose />\n </IconButton>\n :\n (this.props.onDelete ? <IconButton\n disabled={this.state.deleteMode !== false}\n onClick={() => this.setState({ deleteMode: i })}\n size=\"large\"\n >\n <IconDelete />\n </IconButton> : null)}\n </TableCell> : null}\n </TableRow>,\n !level && opened ? children.map(it =>\n this.renderLine(it, level + 1)) : null,\n ];\n }\n\n handleRequestSort(property) {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({ order: isAsc ? 'desc' : 'asc', orderBy: property });\n }\n\n renderHead() {\n return <TableHead>\n <TableRow key=\"headerRow\">\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellExpand)}\n />\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes[`width_${this.props.columns[0].field.replace(/\\./g, '_')}`])}\n style={this.props.columns[0].headerStyle || this.props.columns[0].cellStyle}\n sortDirection={this.props.noSort ? false : (this.state.orderBy === this.props.columns[0].field ? this.state.order : false)}\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === this.props.columns[0].field}\n direction={this.state.orderBy === this.props.columns[0].field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel>}\n </TableCell>\n {this.props.columns.map((col, i) =>\n (!i && !col.hidden ? null : <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes[`width_${col.field.replace(/\\./g, '_')}`])}\n style={col.headerStyle || col.cellStyle}\n component=\"th\"\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === col.field}\n direction={this.state.orderBy === col.field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel> }\n </TableCell>))}\n {this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}>\n {!this.props.noAdd ? <Fab\n color=\"primary\"\n size=\"small\"\n disabled={this.state.editMode !== false}\n onClick={() => this.props.onUpdate(true)}\n >\n <IconAdd />\n </Fab> : null }\n </TableCell> : null}\n {this.props.onDelete || this.props.onUpdate ?\n <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)} /> : null}\n </TableRow>\n </TableHead>;\n }\n\n render() {\n const lookup = this.props.columns.find(col => col.field === this.state.orderBy).lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({ update: null });\n }, 500);\n }\n\n return <div className={Utils.clsx(this.props.classes.tableContainer, this.props.className)}>\n <Table className={this.props.classes.table} aria-label=\"simple table\" size=\"small\" stickyHeader>\n {this.renderHead()}\n <TableBody>\n {table.map(it => this.renderLine(it))}\n </TableBody>\n </Table>\n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n </div>;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n <div>Prefix{ <br/>\n <textarea\n rows={4}\n style={{width: '100%', resize: 'vertical'}}\n value={props.value}\n onChange={e => props.onChange(e.target.value)}\n />\n Suffix\n </div>,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return <div className={this.props.classes.tableDiv}>\n <TreeTable\n columns={this.columns}\n data={lines}\n onUpdate={(newData, oldData) => console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n </div>;\n}\n */\n\nTreeTable.propTypes = {\n data: PropTypes.array.isRequired,\n className: PropTypes.string,\n name: PropTypes.string, // name of table to save settings in localStorage\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n cellStyle: PropTypes.object,\n editComponent: PropTypes.func,\n field: PropTypes.string,\n headerStyle: PropTypes.object,\n hidden: PropTypes.bool,\n lookup: PropTypes.object,\n editable: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf([\n 'string',\n 'boolean',\n 'numeric',\n 'icon', // todo: not yet implemented\n 'oid',\n 'color',\n ]),\n }),\n ).isRequired,\n noSort: PropTypes.bool,\n onUpdate: PropTypes.func,\n onDelete: PropTypes.func,\n noAdd: PropTypes.bool, // hide add button\n themeType: PropTypes.string,\n glowOnChange: PropTypes.bool,\n socket: PropTypes.object, // only if an oid type is used\n levelShift: PropTypes.number, // Shift in pixels for every level\n};\n\nexport default withStyles(styles)(TreeTable);\n"],"mappings":"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"}
|
package/Dialogs/SelectFile.d.ts
CHANGED
|
@@ -173,6 +173,8 @@ declare namespace DialogSelectFile {
|
|
|
173
173
|
let selectOnlyFolders: PropTypes.Requireable<boolean>;
|
|
174
174
|
let showViewTypeButton: PropTypes.Requireable<boolean>;
|
|
175
175
|
let showTypeSelector: PropTypes.Requireable<boolean>;
|
|
176
|
+
let restrictToFolder: PropTypes.Requireable<string>;
|
|
177
|
+
let allowNonRestricted: PropTypes.Requireable<boolean>;
|
|
176
178
|
let title: PropTypes.Requireable<string>;
|
|
177
179
|
let lang: PropTypes.Requireable<string>;
|
|
178
180
|
let themeName: PropTypes.Requireable<string>;
|
package/Dialogs/SelectFile.js
CHANGED
|
@@ -16,18 +16,13 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
16
16
|
var _react = _interopRequireDefault(require("react"));
|
|
17
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
18
|
var _styles = require("@mui/styles");
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
|
|
22
|
-
var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
|
|
23
|
-
var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
|
|
24
|
-
var _Cancel = _interopRequireDefault(require("@mui/icons-material/Cancel"));
|
|
25
|
-
var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
|
|
19
|
+
var _material = require("@mui/material");
|
|
20
|
+
var _iconsMaterial = require("@mui/icons-material");
|
|
26
21
|
var _Utils = _interopRequireDefault(require("../Components/Utils"));
|
|
27
22
|
var _i18n = _interopRequireDefault(require("../i18n"));
|
|
28
23
|
var _FileBrowser = _interopRequireDefault(require("../Components/FileBrowser"));
|
|
29
|
-
function ownKeys(
|
|
30
|
-
function _objectSpread(
|
|
24
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
26
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
32
27
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*
|
|
33
28
|
* Copyright 2022-2023 bluefox <dogafox@gmail.com>
|
|
@@ -167,7 +162,7 @@ var DialogSelectFile = /*#__PURE__*/function (_React$Component) {
|
|
|
167
162
|
} else {
|
|
168
163
|
title = this.props.title || _i18n["default"].t('ra_Please select file...');
|
|
169
164
|
}
|
|
170
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
165
|
+
return /*#__PURE__*/_react["default"].createElement(_material.Dialog, {
|
|
171
166
|
onClose: function onClose() {},
|
|
172
167
|
maxWidth: false,
|
|
173
168
|
classes: {
|
|
@@ -176,12 +171,12 @@ var DialogSelectFile = /*#__PURE__*/function (_React$Component) {
|
|
|
176
171
|
fullWidth: true,
|
|
177
172
|
open: !0,
|
|
178
173
|
"aria-labelledby": "ar_dialog_selectfile_title"
|
|
179
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
174
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.DialogTitle, {
|
|
180
175
|
id: "ar_dialog_selectfile_title",
|
|
181
176
|
classes: {
|
|
182
177
|
root: this.props.classes.titleRoot
|
|
183
178
|
}
|
|
184
|
-
}, title), /*#__PURE__*/_react["default"].createElement(
|
|
179
|
+
}, title), /*#__PURE__*/_react["default"].createElement(_material.DialogContent, {
|
|
185
180
|
className: _Utils["default"].clsx(this.props.classes.content, this.props.classes.contentMobile)
|
|
186
181
|
}, /*#__PURE__*/_react["default"].createElement(_FileBrowser["default"], {
|
|
187
182
|
ready: true,
|
|
@@ -198,6 +193,8 @@ var DialogSelectFile = /*#__PURE__*/function (_React$Component) {
|
|
|
198
193
|
filterFiles: this.props.filterFiles,
|
|
199
194
|
filterByType: this.props.filterByType,
|
|
200
195
|
selected: this.props.selected,
|
|
196
|
+
restrictToFolder: this.props.restrictToFolder,
|
|
197
|
+
allowNonRestricted: this.props.allowNonRestricted,
|
|
201
198
|
onSelect: function onSelect(selected, isDoubleClick, isFolder) {
|
|
202
199
|
_this2.setState({
|
|
203
200
|
selected: selected
|
|
@@ -213,21 +210,21 @@ var DialogSelectFile = /*#__PURE__*/function (_React$Component) {
|
|
|
213
210
|
showExpertButton: this.props.showExpertButton,
|
|
214
211
|
expertMode: this.props.expertMode,
|
|
215
212
|
showTypeSelector: this.props.showTypeSelector
|
|
216
|
-
})), /*#__PURE__*/_react["default"].createElement(
|
|
213
|
+
})), /*#__PURE__*/_react["default"].createElement(_material.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_material.Button, {
|
|
217
214
|
variant: "contained",
|
|
218
215
|
onClick: function onClick() {
|
|
219
216
|
return _this2.handleOk();
|
|
220
217
|
},
|
|
221
|
-
startIcon: /*#__PURE__*/_react["default"].createElement(
|
|
218
|
+
startIcon: /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Check, null),
|
|
222
219
|
disabled: !this.state.selected.length,
|
|
223
220
|
color: "primary"
|
|
224
|
-
}, this.props.ok || _i18n["default"].t('ra_Ok')), /*#__PURE__*/_react["default"].createElement(
|
|
221
|
+
}, this.props.ok || _i18n["default"].t('ra_Ok')), /*#__PURE__*/_react["default"].createElement(_material.Button, {
|
|
225
222
|
color: "grey",
|
|
226
223
|
variant: "contained",
|
|
227
224
|
onClick: function onClick() {
|
|
228
225
|
return _this2.handleCancel();
|
|
229
226
|
},
|
|
230
|
-
startIcon: /*#__PURE__*/_react["default"].createElement(
|
|
227
|
+
startIcon: /*#__PURE__*/_react["default"].createElement(_iconsMaterial.Cancel, null)
|
|
231
228
|
}, this.props.cancel || _i18n["default"].t('ra_Cancel'))));
|
|
232
229
|
}
|
|
233
230
|
}]);
|
|
@@ -263,6 +260,10 @@ DialogSelectFile.propTypes = {
|
|
|
263
260
|
// Allow switch views Table<=>Rows
|
|
264
261
|
showTypeSelector: _propTypes["default"].bool,
|
|
265
262
|
// If type selector should be shown
|
|
263
|
+
restrictToFolder: _propTypes["default"].string,
|
|
264
|
+
// If defined, allow selecting only files from this folder
|
|
265
|
+
allowNonRestricted: _propTypes["default"].bool,
|
|
266
|
+
// If restrictToFolder defined, allow selecting files outside of this folder
|
|
266
267
|
|
|
267
268
|
title: _propTypes["default"].string,
|
|
268
269
|
lang: _propTypes["default"].string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectFile.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Button","_DialogTitle","_DialogContent","_DialogActions","_Dialog","_Cancel","_Check","_Utils","_i18n","_FileBrowser","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","headerID","fontWeight","fontStyle","dialog","height","dialogMobile","padding","width","maxWidth","maxHeight","content","overflow","contentMobile","titleRoot","whiteSpace","display","textOverflow","DialogSelectFile","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","dialogName","concat","filters","window","_localStorage","localStorage","getItem","JSON","parse","selected","_typeof2","_toConsumableArray2","id","state","_createClass2","value","handleCancel","onClose","handleOk","onOk","multiSelect","Array","isArray","render","_this2","title","createElement","I18n","t","className","classes","paper","Utils","clsx","fullWidth","open","root","ready","imagePrefix","prefix","allowUpload","allowDownload","allowCreateFolder","allowDelete","allowView","showViewTypeButton","showToolbar","limitPath","filterFiles","filterByType","onSelect","isDoubleClick","isFolder","setState","selectOnlyFolders","lang","getLanguage","socket","themeType","themeName","showExpertButton","expertMode","showTypeSelector","variant","onClick","startIcon","disabled","color","ok","cancel","React","Component","propTypes","PropTypes","string","oneOfType","array","func","isRequired","bool","arrayOf","_export","withStyles","_default","exports"],"sources":["SelectFile.jsx"],"sourcesContent":["/*\n * Copyright 2022-2023 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\n\nimport IconCancel from '@mui/icons-material/Cancel';\nimport IconOk from '@mui/icons-material/Check';\n\nimport Utils from '../Components/Utils';\nimport I18n from '../i18n';\nimport FileBrowser from '../Components/FileBrowser';\n\nconst styles = () => ({\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n },\n dialog: {\n height: '95%',\n },\n dialogMobile: {\n padding: 4,\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n height: '100%',\n },\n content: {\n height: '100%',\n overflow: 'hidden',\n },\n contentMobile: {\n padding: '8px 4px',\n },\n titleRoot: {\n whiteSpace: 'nowrap',\n width: 'calc(100% - 72px)',\n overflow: 'hidden',\n display: 'inline-block',\n textOverflow: 'ellipsis',\n },\n});\n\n/**\n * @typedef {object} DialogSelectFileProps\n * @property {boolean} [dialogName] PropTypes.string, // where to store settings in localStorage * @property {string} [title] The dialog title; default: Please select object ID... (translated)\n * @property {boolean} [multiSelect] Set to true to allow the selection of multiple IDs.\n * @property {string} [imagePrefix] Prefix (default: '.')\n * @property {boolean} [showExpertButton] Show the expert button?\n * @property {ioBroker.Languages} [lang] The language.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {string} [themeName] Theme name.\n * @property {string} [themeType] Theme type.\n * @property {string | string[]} [selected] The selected IDs.\n * @property {string} [ok] The ok button text; default: OK (translated)\n * @property {string} [cancel] The cancel button text; default: Cancel (translated)\n * @property {boolean} [socket] Socket class (required)\n * @property {boolean} [allowUpload] If download of files enabled\n * @property {boolean} [allowDownload] If download of files enabled\n * @property {boolean} [allowCreateFolder] If creation of folders enabled\n * @property {boolean} [allowDelete] If creation of folders enabled\n * @property {boolean} [allowView] if tile view enabled (default true)\n * @property {boolean} [showToolbar] Show toolbar (default true)\n * @property {array} [limitPath] Limit file browser to one specific objectID of type meta and following path (like vis.0/main)\n * @property {array} [filterFiles] like `['png', 'svg', 'bmp', 'jpg', 'jpeg']`\n * @property {string} [filterByType] images, code, txt, audio, video\n * @property {bool} [selectOnlyFolders] allow only folder's selection * @property {() => void} onClose Close handler that is always called when the dialog is closed.\n * @property {(selected: string | string[] | undefined) => void} onOk Handler that is called when the user presses OK or by double click.\n * @property {{headerID: string; dialog: string; content: string}} [classes] The styling class names.\n *\n * @extends {React.Component<DialogSelectIDProps>}\n */\nclass DialogSelectFile extends React.Component {\n /**\n * @param {DialogSelectFileProps} props\n */\n constructor(props) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = `SelectFile.${this.dialogName}`;\n\n this.filters = (window._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(this.filters);\n } catch (e) {\n this.filters = {};\n }\n\n if (props.filters) {\n this.filters = { ...this.filters, ...props.filters };\n }\n\n let selected = this.props.selected || [];\n if (typeof selected !== 'object') {\n selected = [selected];\n } else {\n selected = [...selected];\n }\n selected = selected.filter(id => id);\n\n this.state = {\n selected,\n };\n }\n\n handleCancel() {\n this.props.onClose();\n }\n\n handleOk() {\n this.props.onOk(this.props.multiSelect || !Array.isArray(this.state.selected) ? this.state.selected : this.state.selected[0] || '');\n this.props.onClose();\n }\n\n render() {\n let title;\n if (this.state.selected.length) {\n if (!Array.isArray(this.state.selected) || this.state.selected.length === 1) {\n title = [\n <span key=\"selected\">\n {I18n.t('ra_Selected')}\n \n </span>,\n <span key=\"id\" className={this.props.classes.headerID}>\n {this.state.selected}\n </span>,\n ];\n } else {\n title = [\n <span key=\"selected\">\n {I18n.t('ra_Selected')}\n \n </span>,\n <span key=\"id\" className={this.props.classes.headerID}>\n {I18n.t('%s items', this.state.selected.length)}\n </span>,\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select file...');\n }\n\n return <Dialog\n onClose={() => {}}\n maxWidth={false}\n classes={{ paper: Utils.clsx(this.props.classes.dialog, this.props.classes.dialogMobile) }}\n fullWidth\n open={!0}\n aria-labelledby=\"ar_dialog_selectfile_title\"\n >\n <DialogTitle id=\"ar_dialog_selectfile_title\" classes={{ root: this.props.classes.titleRoot }}>{title}</DialogTitle>\n <DialogContent className={Utils.clsx(this.props.classes.content, this.props.classes.contentMobile)}>\n <FileBrowser\n ready\n imagePrefix={this.props.imagePrefix || this.props.prefix || '../'} // prefix is for back compatibility\n allowUpload={!!this.props.allowUpload}\n allowDownload={this.props.allowDownload !== false}\n allowCreateFolder={!!this.props.allowCreateFolder}\n allowDelete={!!this.props.allowDelete}\n allowView={this.props.allowView !== false}\n showViewTypeButton={this.props.showViewTypeButton !== false}\n showToolbar={this.props.showToolbar !== false}\n limitPath={this.props.limitPath}\n filterFiles={this.props.filterFiles}\n filterByType={this.props.filterByType}\n selected={this.props.selected}\n onSelect={(selected, isDoubleClick, isFolder) => {\n this.setState({ selected }, () =>\n isDoubleClick && (!this.props.selectOnlyFolders || isFolder) && this.handleOk());\n }}\n t={this.props.t || I18n.t}\n lang={this.props.lang || I18n.getLanguage()}\n socket={this.props.socket}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n showExpertButton={this.props.showExpertButton}\n expertMode={this.props.expertMode}\n showTypeSelector={this.props.showTypeSelector}\n />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => this.handleOk()} startIcon={<IconOk />} disabled={!this.state.selected.length} color=\"primary\">{this.props.ok || I18n.t('ra_Ok')}</Button>\n <Button color=\"grey\" variant=\"contained\" onClick={() => this.handleCancel()} startIcon={<IconCancel />}>{this.props.cancel || I18n.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogSelectFile.propTypes = {\n imagePrefix: PropTypes.string,\n dialogName: PropTypes.string, // where to store settings in localStorage\n selected: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array, // not implemented\n ]),\n classes: PropTypes.object,\n onClose: PropTypes.func.isRequired,\n onOk: PropTypes.func.isRequired,\n ok: PropTypes.string,\n cancel: PropTypes.string,\n socket: PropTypes.object.isRequired,\n allowUpload: PropTypes.bool,\n allowDownload: PropTypes.bool,\n allowCreateFolder: PropTypes.bool,\n allowDelete: PropTypes.bool,\n allowView: PropTypes.bool, // allow view of files\n showToolbar: PropTypes.bool,\n filterFiles: PropTypes.arrayOf(PropTypes.string), // array of extensions ['jpg', 'png]\n filterByType: PropTypes.string, // e.g. images\n limitPath: PropTypes.string,\n selectOnlyFolders: PropTypes.bool,\n showViewTypeButton: PropTypes.bool, // Allow switch views Table<=>Rows\n showTypeSelector: PropTypes.bool, // If type selector should be shown\n\n title: PropTypes.string,\n lang: PropTypes.string,\n\n themeName: PropTypes.string,\n themeType: PropTypes.string,\n showExpertButton: PropTypes.bool,\n expertMode: PropTypes.bool, // force expert mode\n multiSelect: PropTypes.bool, // not implemented\n};\n\n/** @type {typeof DialogSelectFile} */\nconst _export = withStyles(styles)(DialogSelectFile);\nexport default _export;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectFile.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_material","_iconsMaterial","_Utils","_i18n","_FileBrowser","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","styles","headerID","fontWeight","fontStyle","dialog","height","dialogMobile","padding","width","maxWidth","maxHeight","content","overflow","contentMobile","titleRoot","whiteSpace","display","textOverflow","DialogSelectFile","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","dialogName","concat","filters","window","_localStorage","localStorage","getItem","JSON","parse","selected","_typeof2","_toConsumableArray2","id","state","_createClass2","key","value","handleCancel","onClose","handleOk","onOk","multiSelect","Array","isArray","render","_this2","title","createElement","I18n","className","classes","Dialog","paper","Utils","clsx","fullWidth","open","DialogTitle","root","DialogContent","ready","imagePrefix","prefix","allowUpload","allowDownload","allowCreateFolder","allowDelete","allowView","showViewTypeButton","showToolbar","limitPath","filterFiles","filterByType","restrictToFolder","allowNonRestricted","onSelect","isDoubleClick","isFolder","setState","selectOnlyFolders","lang","getLanguage","socket","themeType","themeName","showExpertButton","expertMode","showTypeSelector","DialogActions","Button","variant","onClick","startIcon","Check","disabled","color","ok","Cancel","cancel","React","Component","propTypes","PropTypes","string","oneOfType","array","object","func","isRequired","bool","arrayOf","_export","withStyles","_default","exports"],"sources":["SelectFile.jsx"],"sourcesContent":["/*\n * Copyright 2022-2023 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport {\n Button,\n DialogTitle,\n DialogContent,\n DialogActions,\n Dialog,\n} from '@mui/material';\n\nimport {\n Cancel as IconCancel,\n Check as IconOk,\n} from '@mui/icons-material';\n\nimport Utils from '../Components/Utils';\nimport I18n from '../i18n';\nimport FileBrowser from '../Components/FileBrowser';\n\nconst styles = () => ({\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n },\n dialog: {\n height: '95%',\n },\n dialogMobile: {\n padding: 4,\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n height: '100%',\n },\n content: {\n height: '100%',\n overflow: 'hidden',\n },\n contentMobile: {\n padding: '8px 4px',\n },\n titleRoot: {\n whiteSpace: 'nowrap',\n width: 'calc(100% - 72px)',\n overflow: 'hidden',\n display: 'inline-block',\n textOverflow: 'ellipsis',\n },\n});\n\n/**\n * @typedef {object} DialogSelectFileProps\n * @property {boolean} [dialogName] PropTypes.string, // where to store settings in localStorage * @property {string} [title] The dialog title; default: Please select object ID... (translated)\n * @property {boolean} [multiSelect] Set to true to allow the selection of multiple IDs.\n * @property {string} [imagePrefix] Prefix (default: '.')\n * @property {boolean} [showExpertButton] Show the expert button?\n * @property {ioBroker.Languages} [lang] The language.\n * @property {import('../Connection').default} socket The socket connection.\n * @property {string} [themeName] Theme name.\n * @property {string} [themeType] Theme type.\n * @property {string | string[]} [selected] The selected IDs.\n * @property {string} [ok] The ok button text; default: OK (translated)\n * @property {string} [cancel] The cancel button text; default: Cancel (translated)\n * @property {boolean} [socket] Socket class (required)\n * @property {boolean} [allowUpload] If download of files enabled\n * @property {boolean} [allowDownload] If download of files enabled\n * @property {boolean} [allowCreateFolder] If creation of folders enabled\n * @property {boolean} [allowDelete] If creation of folders enabled\n * @property {boolean} [allowView] if tile view enabled (default true)\n * @property {boolean} [showToolbar] Show toolbar (default true)\n * @property {array} [limitPath] Limit file browser to one specific objectID of type meta and following path (like vis.0/main)\n * @property {array} [filterFiles] like `['png', 'svg', 'bmp', 'jpg', 'jpeg']`\n * @property {string} [filterByType] images, code, txt, audio, video\n * @property {bool} [selectOnlyFolders] allow only folder's selection * @property {() => void} onClose Close handler that is always called when the dialog is closed.\n * @property {(selected: string | string[] | undefined) => void} onOk Handler that is called when the user presses OK or by double click.\n * @property {{headerID: string; dialog: string; content: string}} [classes] The styling class names.\n *\n * @extends {React.Component<DialogSelectIDProps>}\n */\nclass DialogSelectFile extends React.Component {\n /**\n * @param {DialogSelectFileProps} props\n */\n constructor(props) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = `SelectFile.${this.dialogName}`;\n\n this.filters = (window._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(this.filters);\n } catch (e) {\n this.filters = {};\n }\n\n if (props.filters) {\n this.filters = { ...this.filters, ...props.filters };\n }\n\n let selected = this.props.selected || [];\n if (typeof selected !== 'object') {\n selected = [selected];\n } else {\n selected = [...selected];\n }\n selected = selected.filter(id => id);\n\n this.state = {\n selected,\n };\n }\n\n handleCancel() {\n this.props.onClose();\n }\n\n handleOk() {\n this.props.onOk(this.props.multiSelect || !Array.isArray(this.state.selected) ? this.state.selected : this.state.selected[0] || '');\n this.props.onClose();\n }\n\n render() {\n let title;\n if (this.state.selected.length) {\n if (!Array.isArray(this.state.selected) || this.state.selected.length === 1) {\n title = [\n <span key=\"selected\">\n {I18n.t('ra_Selected')}\n \n </span>,\n <span key=\"id\" className={this.props.classes.headerID}>\n {this.state.selected}\n </span>,\n ];\n } else {\n title = [\n <span key=\"selected\">\n {I18n.t('ra_Selected')}\n \n </span>,\n <span key=\"id\" className={this.props.classes.headerID}>\n {I18n.t('%s items', this.state.selected.length)}\n </span>,\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select file...');\n }\n\n return <Dialog\n onClose={() => {}}\n maxWidth={false}\n classes={{ paper: Utils.clsx(this.props.classes.dialog, this.props.classes.dialogMobile) }}\n fullWidth\n open={!0}\n aria-labelledby=\"ar_dialog_selectfile_title\"\n >\n <DialogTitle id=\"ar_dialog_selectfile_title\" classes={{ root: this.props.classes.titleRoot }}>{title}</DialogTitle>\n <DialogContent className={Utils.clsx(this.props.classes.content, this.props.classes.contentMobile)}>\n <FileBrowser\n ready\n imagePrefix={this.props.imagePrefix || this.props.prefix || '../'} // prefix is for back compatibility\n allowUpload={!!this.props.allowUpload}\n allowDownload={this.props.allowDownload !== false}\n allowCreateFolder={!!this.props.allowCreateFolder}\n allowDelete={!!this.props.allowDelete}\n allowView={this.props.allowView !== false}\n showViewTypeButton={this.props.showViewTypeButton !== false}\n showToolbar={this.props.showToolbar !== false}\n limitPath={this.props.limitPath}\n filterFiles={this.props.filterFiles}\n filterByType={this.props.filterByType}\n selected={this.props.selected}\n restrictToFolder={this.props.restrictToFolder}\n allowNonRestricted={this.props.allowNonRestricted}\n\n onSelect={(selected, isDoubleClick, isFolder) => {\n this.setState({ selected }, () =>\n isDoubleClick && (!this.props.selectOnlyFolders || isFolder) && this.handleOk());\n }}\n t={this.props.t || I18n.t}\n lang={this.props.lang || I18n.getLanguage()}\n socket={this.props.socket}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n showExpertButton={this.props.showExpertButton}\n expertMode={this.props.expertMode}\n showTypeSelector={this.props.showTypeSelector}\n />\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => this.handleOk()} startIcon={<IconOk />} disabled={!this.state.selected.length} color=\"primary\">{this.props.ok || I18n.t('ra_Ok')}</Button>\n <Button color=\"grey\" variant=\"contained\" onClick={() => this.handleCancel()} startIcon={<IconCancel />}>{this.props.cancel || I18n.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nDialogSelectFile.propTypes = {\n imagePrefix: PropTypes.string,\n dialogName: PropTypes.string, // where to store settings in localStorage\n selected: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array, // not implemented\n ]),\n classes: PropTypes.object,\n onClose: PropTypes.func.isRequired,\n onOk: PropTypes.func.isRequired,\n ok: PropTypes.string,\n cancel: PropTypes.string,\n socket: PropTypes.object.isRequired,\n allowUpload: PropTypes.bool,\n allowDownload: PropTypes.bool,\n allowCreateFolder: PropTypes.bool,\n allowDelete: PropTypes.bool,\n allowView: PropTypes.bool, // allow view of files\n showToolbar: PropTypes.bool,\n filterFiles: PropTypes.arrayOf(PropTypes.string), // array of extensions ['jpg', 'png]\n filterByType: PropTypes.string, // e.g. images\n limitPath: PropTypes.string,\n selectOnlyFolders: PropTypes.bool,\n showViewTypeButton: PropTypes.bool, // Allow switch views Table<=>Rows\n showTypeSelector: PropTypes.bool, // If type selector should be shown\n restrictToFolder: PropTypes.string, // If defined, allow selecting only files from this folder\n allowNonRestricted: PropTypes.bool, // If restrictToFolder defined, allow selecting files outside of this folder\n\n title: PropTypes.string,\n lang: PropTypes.string,\n\n themeName: PropTypes.string,\n themeType: PropTypes.string,\n showExpertButton: PropTypes.bool,\n expertMode: PropTypes.bool, // force expert mode\n multiSelect: PropTypes.bool, // not implemented\n};\n\n/** @type {typeof DialogSelectFile} */\nconst _export = withStyles(styles)(DialogSelectFile);\nexport default _export;\n"],"mappings":"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"}
|