bugfixed admin-meeting-edit-approval
このコミットが含まれているのは:
コミット
5c061e4f66
|
@ -37798,6 +37798,12 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony import */ var react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-toastify/dist/ReactToastify.css */ "./node_modules/react-toastify/dist/ReactToastify.css");
|
||||
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../component/alert */ "./resources/js/component/alert.jsx");
|
||||
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
||||
|
||||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
||||
|
@ -37866,47 +37872,77 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
approval_list = _useState12[0],
|
||||
setApproval = _useState12[1];
|
||||
|
||||
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({
|
||||
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
|
||||
_useState14 = _slicedToArray(_useState13, 2),
|
||||
children_list = _useState14[0],
|
||||
setChildren = _useState14[1];
|
||||
|
||||
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({
|
||||
title: '',
|
||||
text: '',
|
||||
memo: '',
|
||||
pdf: '',
|
||||
image: ''
|
||||
}),
|
||||
_useState14 = _slicedToArray(_useState13, 2),
|
||||
_422errors = _useState14[0],
|
||||
set422Errors = _useState14[1];
|
||||
|
||||
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
|
||||
_useState16 = _slicedToArray(_useState15, 2),
|
||||
_400error = _useState16[0],
|
||||
set400Error = _useState16[1];
|
||||
_422errors = _useState16[0],
|
||||
set422Errors = _useState16[1];
|
||||
|
||||
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
|
||||
_useState18 = _slicedToArray(_useState17, 2),
|
||||
_success = _useState18[0],
|
||||
setSuccess = _useState18[1];
|
||||
_400error = _useState18[0],
|
||||
set400Error = _useState18[1];
|
||||
|
||||
var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
|
||||
var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
|
||||
_useState20 = _slicedToArray(_useState19, 2),
|
||||
loaded = _useState20[0],
|
||||
setLoaded = _useState20[1];
|
||||
_success = _useState20[0],
|
||||
setSuccess = _useState20[1];
|
||||
|
||||
var _useState21 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
|
||||
_useState22 = _slicedToArray(_useState21, 2),
|
||||
submit = _useState22[0],
|
||||
setSubmit = _useState22[1];
|
||||
loaded = _useState22[0],
|
||||
setLoaded = _useState22[1];
|
||||
|
||||
var _useState23 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
|
||||
_useState24 = _slicedToArray(_useState23, 2),
|
||||
check_radio = _useState24[0],
|
||||
setCheckRadio = _useState24[1];
|
||||
submit = _useState24[0],
|
||||
setSubmit = _useState24[1];
|
||||
|
||||
var _useState25 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
|
||||
var _useState25 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
|
||||
_useState26 = _slicedToArray(_useState25, 2),
|
||||
selectedIndex = _useState26[0],
|
||||
setSelectedIndex = _useState26[1];
|
||||
check_radio = _useState26[0],
|
||||
setCheckRadio = _useState26[1];
|
||||
|
||||
var _useState27 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
|
||||
_useState28 = _slicedToArray(_useState27, 2),
|
||||
children_temp = _useState28[0],
|
||||
setChildrenTemp = _useState28[1];
|
||||
|
||||
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
||||
if (!loaded) return; //if dont load data
|
||||
|
||||
var list = [];
|
||||
|
||||
if (check_radio == "false") {
|
||||
//send all children
|
||||
list = _toConsumableArray(children_temp);
|
||||
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
list[i].checked = true;
|
||||
}
|
||||
} else if (check_radio == "true") {
|
||||
//send pickup
|
||||
list = _toConsumableArray(children_temp);
|
||||
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
if (approval_list.findIndex(function (ele) {
|
||||
return ele.child_id == list[i].child_id;
|
||||
}) >= 0) list[i].checked = true;else list[i].checked = false;
|
||||
}
|
||||
}
|
||||
|
||||
setChildrenTemp(list);
|
||||
}, [check_radio]);
|
||||
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
||||
var _props$match$params;
|
||||
|
||||
|
@ -37916,7 +37952,7 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
console.log(response.data.params);
|
||||
|
||||
if (response.data.status_code == 200) {
|
||||
var _response$data$params, _response$data$params2, _response$data$params3, _response$data$params4, _response$data$params5, _response$data$params6;
|
||||
var _response$data$params, _response$data$params2, _response$data$params3, _response$data$params4, _response$data$params5, _response$data$params6, _response$data$params7, _response$data$params8;
|
||||
|
||||
setTitle((_response$data$params = response.data.params) === null || _response$data$params === void 0 ? void 0 : _response$data$params.title);
|
||||
setMemo((_response$data$params2 = response.data.params) === null || _response$data$params2 === void 0 ? void 0 : _response$data$params2.memo);
|
||||
|
@ -37924,6 +37960,19 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
setMeetingImages((_response$data$params4 = response.data.params) === null || _response$data$params4 === void 0 ? void 0 : _response$data$params4.meeting_image);
|
||||
setApproval((_response$data$params5 = response.data.params) === null || _response$data$params5 === void 0 ? void 0 : _response$data$params5.approval);
|
||||
setPdf((_response$data$params6 = response.data.params) === null || _response$data$params6 === void 0 ? void 0 : _response$data$params6.pdf);
|
||||
setChildren((_response$data$params7 = response.data.params) === null || _response$data$params7 === void 0 ? void 0 : _response$data$params7.children);
|
||||
|
||||
var list = _toConsumableArray((_response$data$params8 = response.data.params) === null || _response$data$params8 === void 0 ? void 0 : _response$data$params8.children);
|
||||
|
||||
var arr = [];
|
||||
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
arr.push(_objectSpread(_objectSpread({}, list[i]), {}, {
|
||||
checked: false
|
||||
}));
|
||||
}
|
||||
|
||||
setChildrenTemp(arr);
|
||||
} else if (response.data.status_code == 400) {//TODO
|
||||
}
|
||||
});
|
||||
|
@ -37938,6 +37987,45 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
pdf: '',
|
||||
image: ''
|
||||
});
|
||||
var approval_registerIndexes = [];
|
||||
var approval_deleteIndexes = [];
|
||||
|
||||
var _loop = function _loop(i) {
|
||||
if (children_temp[i].checked) {
|
||||
if (approval_list.findIndex(function (ele) {
|
||||
return ele.child_id == children_temp[i].child_id;
|
||||
}) < 0) approval_registerIndexes.push(children_temp[i].child_id);
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < children_temp.length; i++) {
|
||||
_loop(i);
|
||||
}
|
||||
|
||||
var _loop2 = function _loop2(_i2) {
|
||||
if (children_temp.findIndex(function (ele) {
|
||||
return ele.checked && ele.child_id == approval_list[_i2].child_id;
|
||||
}) < 0) approval_deleteIndexes.push(approval_list[_i2].child_id);
|
||||
};
|
||||
|
||||
for (var _i2 = 0; _i2 < approval_list.length; _i2++) {
|
||||
_loop2(_i2);
|
||||
}
|
||||
|
||||
console.log(approval_registerIndexes, approval_deleteIndexes);
|
||||
var formdata = new FormData();
|
||||
formdata.append('children', JSON.stringify(approval_registerIndexes));
|
||||
axios__WEBPACK_IMPORTED_MODULE_1___default().post('/api/admin/meeting/approvals/register', formdata, {
|
||||
params: {
|
||||
meeting_id: props.match.params.meeting_id
|
||||
}
|
||||
});
|
||||
axios__WEBPACK_IMPORTED_MODULE_1___default().delete('/api/admin/meeting/approvals/delete', {
|
||||
params: {
|
||||
children: approval_deleteIndexes,
|
||||
meeting_id: props.match.params.meeting_id
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
var _props$match$params2;
|
||||
|
@ -38009,7 +38097,6 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
var reader = new FileReader();
|
||||
var _file = e.target.files[0];
|
||||
if (!_file) return;
|
||||
console.log(_file.name);
|
||||
reader.readAsDataURL(_file);
|
||||
|
||||
reader.onloadend = function () {
|
||||
|
@ -38037,8 +38124,11 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
});
|
||||
};
|
||||
|
||||
var handleApproval = function handleApproval(e) {
|
||||
console.log(e.target.value);
|
||||
var handleCheck = function handleCheck(e, index) {
|
||||
var list = _toConsumableArray(children_temp);
|
||||
|
||||
list[index].checked = e.target.checked;
|
||||
setChildrenTemp(list);
|
||||
};
|
||||
|
||||
var notify_delete = function notify_delete() {
|
||||
|
@ -38266,8 +38356,8 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
})]
|
||||
})
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
|
||||
className: "checkbox-wrap edit-bg ".concat((approval_list.length == 0 || check_radio != "true") && 'd-none'),
|
||||
children: approval_list === null || approval_list === void 0 ? void 0 : approval_list.map(function (item, k) {
|
||||
className: "checkbox-wrap edit-bg ".concat(check_radio != "true" && 'd-none'),
|
||||
children: children_list.length != 0 ? children_temp === null || children_temp === void 0 ? void 0 : children_temp.map(function (item, k) {
|
||||
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
|
||||
className: "checkbox",
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("label", {
|
||||
|
@ -38276,10 +38366,16 @@ var MeetingEdit = function MeetingEdit(props) {
|
|||
className: "boolean optional",
|
||||
type: "checkbox",
|
||||
id: "user_name".concat(k),
|
||||
onChange: handleApproval
|
||||
}), "".concat(item.child.first_name, " ").concat(item.child.last_name)]
|
||||
checked: item.checked,
|
||||
onChange: function onChange(e) {
|
||||
return handleCheck(e, k);
|
||||
}
|
||||
}), "".concat(item.first_name, " ").concat(item.last_name)]
|
||||
})
|
||||
}, k);
|
||||
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("p", {
|
||||
className: "text-center",
|
||||
children: "\u5B50\u306F\u3042\u308A\u307E\u305B\u3093\u3002"
|
||||
})
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_10__.default, {
|
||||
type: "submit",
|
||||
|
|
|
@ -21,6 +21,7 @@ const MeetingEdit = (props) => {
|
|||
const [pdf, setPdf] = useState('');
|
||||
const [meeting_image, setMeetingImages] = useState([]);
|
||||
const [approval_list, setApproval] = useState([]);
|
||||
const [children_list, setChildren] = useState([]);
|
||||
|
||||
const [_422errors, set422Errors] = useState({title:'', text:'', memo:'', pdf:'', image:''})
|
||||
const [_400error, set400Error] = useState('');
|
||||
|
@ -29,8 +30,28 @@ const MeetingEdit = (props) => {
|
|||
const [loaded, setLoaded] = useState(false);
|
||||
const [submit, setSubmit] = useState(false);
|
||||
|
||||
const [check_radio, setCheckRadio] = useState(false);
|
||||
const [selectedIndex, setSelectedIndex] = useState([]);
|
||||
const [check_radio, setCheckRadio] = useState(null);
|
||||
const [children_temp, setChildrenTemp] = useState([]);
|
||||
|
||||
|
||||
useEffect(()=>{
|
||||
if(!loaded) return; //if dont load data
|
||||
var list = [];
|
||||
if(check_radio=="false"){ //send all children
|
||||
list = [...children_temp];
|
||||
for(var i=0; i<list.length; i++)
|
||||
list[i].checked = true;
|
||||
}
|
||||
else if(check_radio=="true"){ //send pickup
|
||||
list = [...children_temp];
|
||||
for(var i=0; i<list.length; i++){
|
||||
if(approval_list.findIndex(ele=>ele.child_id == list[i].child_id) >= 0)
|
||||
list[i].checked = true;
|
||||
else list[i].checked = false;
|
||||
}
|
||||
}
|
||||
setChildrenTemp(list);
|
||||
},[check_radio])
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
|
@ -46,6 +67,13 @@ const MeetingEdit = (props) => {
|
|||
setMeetingImages(response.data.params?.meeting_image);
|
||||
setApproval(response.data.params?.approval);
|
||||
setPdf(response.data.params?.pdf);
|
||||
setChildren(response.data.params?.children);
|
||||
var list = [...response.data.params?.children];
|
||||
var arr = [];
|
||||
for(var i=0; i<list.length; i++){
|
||||
arr.push({...list[i], checked:false});
|
||||
}
|
||||
setChildrenTemp(arr);
|
||||
}
|
||||
else if(response.data.status_code==400){
|
||||
//TODO
|
||||
|
@ -57,6 +85,26 @@ const MeetingEdit = (props) => {
|
|||
const handleSubmit = (e) => {
|
||||
e.preventDefault();
|
||||
set422Errors({title:'',memo:'',text:'',pdf:'',image:''});
|
||||
|
||||
var approval_registerIndexes = [];
|
||||
var approval_deleteIndexes = [];
|
||||
for(let i=0; i<children_temp.length; i++){
|
||||
if(children_temp[i].checked){
|
||||
if(approval_list.findIndex(ele=>ele.child_id == children_temp[i].child_id) < 0)
|
||||
approval_registerIndexes.push(children_temp[i].child_id);
|
||||
}
|
||||
}
|
||||
for(let i=0; i<approval_list.length; i++){
|
||||
if(children_temp.findIndex(ele=> ele.checked && ele.child_id == approval_list[i].child_id) < 0)
|
||||
approval_deleteIndexes.push(approval_list[i].child_id);
|
||||
}
|
||||
console.log(approval_registerIndexes, approval_deleteIndexes);
|
||||
|
||||
const formdata = new FormData();
|
||||
formdata.append('children', JSON.stringify(approval_registerIndexes));
|
||||
axios.post('/api/admin/meeting/approvals/register',formdata, {params:{meeting_id: props.match.params.meeting_id}})
|
||||
axios.delete('/api/admin/meeting/approvals/delete',{params:{children: approval_deleteIndexes, meeting_id: props.match.params.meeting_id}})
|
||||
|
||||
try {
|
||||
const request = { title: title, text: text, memo: memo, pdf: pdf };
|
||||
setSubmit(true);
|
||||
|
@ -101,7 +149,6 @@ const MeetingEdit = (props) => {
|
|||
let reader = new FileReader();
|
||||
let _file = e.target.files[0];
|
||||
if(!_file) return;
|
||||
console.log(_file.name);
|
||||
reader.readAsDataURL(_file);
|
||||
reader.onloadend = () => {
|
||||
setPdf(reader.result);
|
||||
|
@ -118,8 +165,10 @@ const MeetingEdit = (props) => {
|
|||
})
|
||||
}
|
||||
|
||||
const handleApproval = (e) => {
|
||||
console.log(e.target.value);
|
||||
const handleCheck = (e, index) => {
|
||||
var list = [...children_temp];
|
||||
list[index].checked = e.target.checked;
|
||||
setChildrenTemp(list);
|
||||
}
|
||||
|
||||
|
||||
|
@ -279,19 +328,22 @@ const MeetingEdit = (props) => {
|
|||
</label>
|
||||
</div>
|
||||
|
||||
<div className={`checkbox-wrap edit-bg ${(approval_list.length == 0 || check_radio!="true") && 'd-none'}`}>
|
||||
<div className={`checkbox-wrap edit-bg ${check_radio!="true" && 'd-none'}`}>
|
||||
{
|
||||
approval_list?.map((item, k)=>
|
||||
<div className="checkbox" key={k}>
|
||||
<label htmlFor={`user_name${k}`}>
|
||||
<input className="boolean optional"
|
||||
type="checkbox"
|
||||
id={`user_name${k}`}
|
||||
onChange={handleApproval}/>
|
||||
{`${item.child.first_name} ${item.child.last_name}`}
|
||||
</label>
|
||||
</div>
|
||||
)
|
||||
children_list.length != 0 ?
|
||||
children_temp?.map((item, k)=>
|
||||
<div className="checkbox" key={k}>
|
||||
<label htmlFor={`user_name${k}`}>
|
||||
<input className="boolean optional"
|
||||
type="checkbox"
|
||||
id={`user_name${k}`}
|
||||
checked = {item.checked}
|
||||
onChange={e=>handleCheck(e, k)}/>
|
||||
{`${item.first_name} ${item.last_name}`}
|
||||
</label>
|
||||
</div>
|
||||
)
|
||||
: <p className="text-center">子はありません。</p>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
|
新しいイシューから参照