mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-21 13:23:04 +01:00
Styled columns and refresh config on save
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
{
|
{
|
||||||
"1.11.1": [
|
"1.11.1": [
|
||||||
|
{
|
||||||
|
"description": "Add option to show/hide columns in the all tests table.",
|
||||||
|
"link": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"description": "Add option to delete failed tests.",
|
"description": "Add option to delete failed tests.",
|
||||||
"link": ""
|
"link": ""
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class AddVisibleColumnsSetting extends Migration
|
|||||||
Setting::create([
|
Setting::create([
|
||||||
'name' => 'visible_columns',
|
'name' => 'visible_columns',
|
||||||
'value' => 'id,created_at,download,upload,ping',
|
'value' => 'id,created_at,download,upload,ping',
|
||||||
'description' => 'Columns visible in the "All Tests" table.'
|
'description' => 'Choose and order the columns shown in the "All Tests" table.'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
75
public/js/app.js
vendored
75
public/js/app.js
vendored
@@ -148426,7 +148426,8 @@ var SettingsIndex = /*#__PURE__*/function (_Component) {
|
|||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Navbar__WEBPACK_IMPORTED_MODULE_5__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Navbar__WEBPACK_IMPORTED_MODULE_5__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", {
|
||||||
className: "container my-5"
|
className: "container my-5"
|
||||||
}, loading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Loader__WEBPACK_IMPORTED_MODULE_4__["default"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_SettingsTabs__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
}, loading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Loader__WEBPACK_IMPORTED_MODULE_4__["default"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_SettingsTabs__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
||||||
data: data
|
data: data,
|
||||||
|
refreshConfig: this.props.refreshConfig
|
||||||
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Home_Footer__WEBPACK_IMPORTED_MODULE_3__["default"], null));
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_Home_Footer__WEBPACK_IMPORTED_MODULE_3__["default"], null));
|
||||||
}
|
}
|
||||||
}]);
|
}]);
|
||||||
@@ -148850,6 +148851,7 @@ var SettingsTabs = /*#__PURE__*/function (_Component) {
|
|||||||
case 'Tables':
|
case 'Tables':
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tabs_TableSettings__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tabs_TableSettings__WEBPACK_IMPORTED_MODULE_13__["default"], {
|
||||||
data: data.Tables,
|
data: data.Tables,
|
||||||
|
refreshConfig: _this.props.refreshConfig,
|
||||||
save: _this.save
|
save: _this.save
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -149578,6 +149580,18 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|||||||
|
|
||||||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||||
|
|
||||||
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
||||||
|
|
||||||
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
||||||
|
|
||||||
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
||||||
|
|
||||||
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
||||||
|
|
||||||
|
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
||||||
|
|
||||||
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||||
@@ -149621,26 +149635,39 @@ var TableSettings = /*#__PURE__*/function (_Component) {
|
|||||||
|
|
||||||
_defineProperty(_assertThisInitialized(_this), "handleOnDragEnd", function (result) {
|
_defineProperty(_assertThisInitialized(_this), "handleOnDragEnd", function (result) {
|
||||||
if (!result.destination) return;
|
if (!result.destination) return;
|
||||||
var data = _this.state.visible;
|
var visible = _this.state.visible;
|
||||||
var array = data.obj.value;
|
var hidden = _this.state.hidden;
|
||||||
var reorderedItem = array.splice(result.source.index, 1);
|
var from = result.source.droppableId == 'visibleColumns' ? visible.obj.value : hidden.obj.value;
|
||||||
array.splice(result.destination.index, 0, reorderedItem[0]);
|
var to = result.destination.droppableId == 'visibleColumns' ? visible.obj.value : hidden.obj.value;
|
||||||
data.obj.value = array;
|
|
||||||
console.log(array);
|
var _from$splice = from.splice(result.source.index, 1),
|
||||||
|
_from$splice2 = _slicedToArray(_from$splice, 1),
|
||||||
|
reorderedItem = _from$splice2[0];
|
||||||
|
|
||||||
|
to.splice(result.destination.index, 0, reorderedItem);
|
||||||
|
|
||||||
_this.setState({
|
_this.setState({
|
||||||
visible: data
|
visible: visible,
|
||||||
|
hidden: hidden
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
_defineProperty(_assertThisInitialized(_this), "save", function () {
|
_defineProperty(_assertThisInitialized(_this), "save", function () {
|
||||||
var url = 'api/settings?token=' + window.token;
|
var url = 'api/settings/bulk?token=' + window.token;
|
||||||
axios__WEBPACK_IMPORTED_MODULE_3___default.a.post(url, {
|
axios__WEBPACK_IMPORTED_MODULE_3___default.a.post(url, {
|
||||||
name: 'visible_columns',
|
data: [{
|
||||||
value: _this.state.data.obj.value
|
name: 'visible_columns',
|
||||||
|
value: _this.state.visible.obj.value
|
||||||
|
}, {
|
||||||
|
name: 'hidden_columns',
|
||||||
|
value: _this.state.hidden.obj.value
|
||||||
|
}]
|
||||||
}).then(function (resp) {
|
}).then(function (resp) {
|
||||||
console.log(resp);
|
react_toastify__WEBPACK_IMPORTED_MODULE_4__["toast"].success('Table settings updated');
|
||||||
|
|
||||||
|
_this.props.refreshConfig();
|
||||||
})["catch"](function (err) {
|
})["catch"](function (err) {
|
||||||
|
react_toastify__WEBPACK_IMPORTED_MODULE_4__["toast"].error('Something went wrong');
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -149661,11 +149688,13 @@ var TableSettings = /*#__PURE__*/function (_Component) {
|
|||||||
var hidden = this.state.hidden;
|
var hidden = this.state.hidden;
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Tab"].Content, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", null, visible.obj.description), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_5__["DragDropContext"], {
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Tab"].Content, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", null, visible.obj.description), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_5__["DragDropContext"], {
|
||||||
onDragEnd: this.handleOnDragEnd
|
onDragEnd: this.handleOnDragEnd
|
||||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_5__["Droppable"], {
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||||
|
className: "card pt-4 pb-2 px-4 mb-4"
|
||||||
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", null, "Visible Columns"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_5__["Droppable"], {
|
||||||
droppableId: "visibleColumns"
|
droppableId: "visibleColumns"
|
||||||
}, function (provided) {
|
}, function (provided) {
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", _extends({
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", _extends({
|
||||||
className: "visibleColumns"
|
className: "visibleColumns pl-0"
|
||||||
}, provided.droppableProps, {
|
}, provided.droppableProps, {
|
||||||
ref: provided.innerRef
|
ref: provided.innerRef
|
||||||
}), visible.obj.value.map(function (e, i) {
|
}), visible.obj.value.map(function (e, i) {
|
||||||
@@ -149675,16 +149704,19 @@ var TableSettings = /*#__PURE__*/function (_Component) {
|
|||||||
key: e
|
key: e
|
||||||
}, function (provided) {
|
}, function (provided) {
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", _extends({
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", _extends({
|
||||||
|
className: "card bg-secondary py-2 px-3 my-2",
|
||||||
key: e,
|
key: e,
|
||||||
ref: provided.innerRef
|
ref: provided.innerRef
|
||||||
}, provided.draggableProps, provided.dragHandleProps), e);
|
}, provided.draggableProps, provided.dragHandleProps), e);
|
||||||
});
|
});
|
||||||
}), provided.placeholder);
|
}), provided.placeholder);
|
||||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_5__["Droppable"], {
|
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||||
droppableId: "hiddenColumns"
|
className: "card pt-4 pb-2 px-4"
|
||||||
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", null, "Hidden Columns"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_beautiful_dnd__WEBPACK_IMPORTED_MODULE_5__["Droppable"], {
|
||||||
|
droppableId: "hiddenColumns pl-0"
|
||||||
}, function (provided) {
|
}, function (provided) {
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", _extends({
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", _extends({
|
||||||
className: "hiddenColumns"
|
className: "hiddenColumns pl-0"
|
||||||
}, provided.droppableProps, {
|
}, provided.droppableProps, {
|
||||||
ref: provided.innerRef
|
ref: provided.innerRef
|
||||||
}), hidden.obj.value.map(function (e, i) {
|
}), hidden.obj.value.map(function (e, i) {
|
||||||
@@ -149694,12 +149726,13 @@ var TableSettings = /*#__PURE__*/function (_Component) {
|
|||||||
key: e
|
key: e
|
||||||
}, function (provided) {
|
}, function (provided) {
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", _extends({
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", _extends({
|
||||||
|
className: "card bg-secondary py-2 px-3 my-2",
|
||||||
key: e,
|
key: e,
|
||||||
ref: provided.innerRef
|
ref: provided.innerRef
|
||||||
}, provided.draggableProps, provided.dragHandleProps), e);
|
}, provided.draggableProps, provided.dragHandleProps), e);
|
||||||
});
|
});
|
||||||
}), provided.placeholder);
|
}), provided.placeholder);
|
||||||
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||||
className: "mt-3"
|
className: "mt-3"
|
||||||
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
||||||
className: "btn btn-primary",
|
className: "btn btn-primary",
|
||||||
@@ -149931,6 +149964,8 @@ var Index = /*#__PURE__*/function (_Component) {
|
|||||||
}, {
|
}, {
|
||||||
key: "render",
|
key: "render",
|
||||||
value: function render() {
|
value: function render() {
|
||||||
|
var _this3 = this;
|
||||||
|
|
||||||
var loading = this.state.loading;
|
var loading = this.state.loading;
|
||||||
var redirect = this.state.redirect;
|
var redirect = this.state.redirect;
|
||||||
var baseSet = this.isset(window.config);
|
var baseSet = this.isset(window.config);
|
||||||
@@ -149959,7 +149994,9 @@ var Index = /*#__PURE__*/function (_Component) {
|
|||||||
exact: true,
|
exact: true,
|
||||||
path: window.config.base + 'settings',
|
path: window.config.base + 'settings',
|
||||||
render: function render(props) {
|
render: function render(props) {
|
||||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Settings_SettingsIndex__WEBPACK_IMPORTED_MODULE_10__["default"], null));
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Settings_SettingsIndex__WEBPACK_IMPORTED_MODULE_10__["default"], {
|
||||||
|
refreshConfig: _this3.getConfig
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], {
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Route"], {
|
||||||
exact: true,
|
exact: true,
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ export default class SettingsIndex extends Component {
|
|||||||
{loading ?
|
{loading ?
|
||||||
<Loader />
|
<Loader />
|
||||||
:
|
:
|
||||||
<SettingsTabs data={data} />
|
<SettingsTabs data={data} refreshConfig={this.props.refreshConfig} />
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
<Footer />
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ export default class SettingsTabs extends Component {
|
|||||||
case 'Tables':
|
case 'Tables':
|
||||||
return <TableSettings
|
return <TableSettings
|
||||||
data={data.Tables}
|
data={data.Tables}
|
||||||
|
refreshConfig={this.props.refreshConfig}
|
||||||
save={this.save} />
|
save={this.save} />
|
||||||
case 'Notifications':
|
case 'Notifications':
|
||||||
return <NotificationsSettings
|
return <NotificationsSettings
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ export default class TableSettings extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleOnDragEnd = (result) => {
|
handleOnDragEnd = (result) => {
|
||||||
console.log(result);
|
|
||||||
if (!result.destination) return;
|
if (!result.destination) return;
|
||||||
|
|
||||||
let visible = this.state.visible;
|
let visible = this.state.visible;
|
||||||
@@ -50,9 +49,11 @@ export default class TableSettings extends Component {
|
|||||||
],
|
],
|
||||||
})
|
})
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
console.log(resp);
|
toast.success('Table settings updated');
|
||||||
|
this.props.refreshConfig();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
toast.error('Something went wrong');
|
||||||
console.log(err);
|
console.log(err);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -67,38 +68,45 @@ export default class TableSettings extends Component {
|
|||||||
<p>{visible.obj.description}</p>
|
<p>{visible.obj.description}</p>
|
||||||
|
|
||||||
<DragDropContext onDragEnd={this.handleOnDragEnd}>
|
<DragDropContext onDragEnd={this.handleOnDragEnd}>
|
||||||
<Droppable droppableId="visibleColumns">
|
<div className="card pt-4 pb-2 px-4 mb-4">
|
||||||
{(provided) => (
|
<h4>Visible Columns</h4>
|
||||||
<ul className="visibleColumns" {...provided.droppableProps} ref={provided.innerRef}>
|
<Droppable droppableId="visibleColumns">
|
||||||
{visible.obj.value.map((e, i) => {
|
{(provided) => (
|
||||||
return (
|
<ul className="visibleColumns pl-0" {...provided.droppableProps} ref={provided.innerRef}>
|
||||||
<Draggable draggableId={e} index={i} key={e}>
|
{visible.obj.value.map((e, i) => {
|
||||||
{(provided) => (
|
return (
|
||||||
<li key={e} ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps}>{e}</li>
|
<Draggable draggableId={e} index={i} key={e}>
|
||||||
)}
|
{(provided) => (
|
||||||
</Draggable>
|
<li className="card bg-secondary py-2 px-3 my-2" key={e} ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps}>{e}</li>
|
||||||
);
|
)}
|
||||||
})}
|
</Draggable>
|
||||||
{provided.placeholder}
|
);
|
||||||
</ul>
|
})}
|
||||||
)}
|
{provided.placeholder}
|
||||||
</Droppable>
|
</ul>
|
||||||
<Droppable droppableId="hiddenColumns">
|
)}
|
||||||
{(provided) => (
|
</Droppable>
|
||||||
<ul className="hiddenColumns" {...provided.droppableProps} ref={provided.innerRef}>
|
</div>
|
||||||
{hidden.obj.value.map((e, i) => {
|
|
||||||
return (
|
<div className="card pt-4 pb-2 px-4">
|
||||||
<Draggable draggableId={e} index={i} key={e}>
|
<h4>Hidden Columns</h4>
|
||||||
{(provided) => (
|
<Droppable droppableId="hiddenColumns pl-0">
|
||||||
<li key={e} ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps}>{e}</li>
|
{(provided) => (
|
||||||
)}
|
<ul className="hiddenColumns pl-0" {...provided.droppableProps} ref={provided.innerRef}>
|
||||||
</Draggable>
|
{hidden.obj.value.map((e, i) => {
|
||||||
);
|
return (
|
||||||
})}
|
<Draggable draggableId={e} index={i} key={e}>
|
||||||
{provided.placeholder}
|
{(provided) => (
|
||||||
</ul>
|
<li className="card bg-secondary py-2 px-3 my-2" key={e} ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps}>{e}</li>
|
||||||
)}
|
)}
|
||||||
</Droppable>
|
</Draggable>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
{provided.placeholder}
|
||||||
|
</ul>
|
||||||
|
)}
|
||||||
|
</Droppable>
|
||||||
|
</div>
|
||||||
</DragDropContext>
|
</DragDropContext>
|
||||||
|
|
||||||
<div className="mt-3">
|
<div className="mt-3">
|
||||||
|
|||||||
2
resources/js/index.js
vendored
2
resources/js/index.js
vendored
@@ -94,7 +94,7 @@ export default class Index extends Component {
|
|||||||
)} />
|
)} />
|
||||||
<Route exact path={window.config.base + 'settings'} render={(props) => (
|
<Route exact path={window.config.base + 'settings'} render={(props) => (
|
||||||
<div>
|
<div>
|
||||||
<SettingsIndex />
|
<SettingsIndex refreshConfig={this.getConfig} />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
)} />
|
)} />
|
||||||
|
|||||||
Reference in New Issue
Block a user