ミーティング編集時にイメージアップロード用ローダーを追加しました。

このコミットが含まれているのは:
dragon1211 2021-11-26 02:53:57 -08:00
コミット 005d96bacd
6個のファイルの変更60行の追加25行の削除

ファイルの表示

@ -16098,7 +16098,7 @@ input[type=radio] + .lbl::before {
font-weight: normal;
font-size: 11px;
color: #2091cf;
content: " ";
content: "";
background-color: #fff;
border: 1px solid #C3C3C3;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
@ -16136,6 +16136,13 @@ input[type=radio]:checked + .lbl::after {
transform: rotate(45deg);
}
input[type=checkbox]:active + .lbl::before,
input[type=radio]:active + .lbl::before,
input[type=checkbox]:checked:active + .lbl::before,
input[type=radio]:checked:active + .lbl::before {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px 1px 3px rgba(0, 0, 0, 0.1);
}
input[type=checkbox]:disabled + .lbl::before,
input[type=radio]:disabled + .lbl::before,
input[type=checkbox][disabled] + .lbl::before,

ファイルの表示

@ -35727,6 +35727,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var AdminLogin = function AdminLogin() {
console.log("version1: 2021/11/26");
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState2 = _slicedToArray(_useState, 2),
email = _useState2[0],
@ -36406,6 +36408,11 @@ var MeetingEdit = function MeetingEdit(props) {
children_temp = _useState30[0],
setChildrenTemp = _useState30[1];
var _useState31 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState32 = _slicedToArray(_useState31, 2),
image_sending = _useState32[0],
setImageSending = _useState32[1];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
if (!loaded) return; //if dont load data
@ -36570,20 +36577,26 @@ var MeetingEdit = function MeetingEdit(props) {
});
});
Promise.all(promises).then(function (images) {
set422Errors({
image: ''
});
var formdata = new FormData();
formdata.append('image', JSON.stringify(images));
setImageSending(true);
axios__WEBPACK_IMPORTED_MODULE_1___default().post("/api/admin/meeting/images/register", formdata, {
params: {
meeting_id: meeting_id
}
}).then(function (response) {
setImageSending(false);
switch (response.data.status_code) {
case 200:
setMeetingImages(response.data.params);
break;
case 400:
set400Error(response.data.error_messages);
set400Error("画像の登録に失敗しました。");
break;
case 422:
@ -36654,7 +36667,7 @@ var MeetingEdit = function MeetingEdit(props) {
style: {
minHeight: '500px'
},
children: [!loaded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_material_ui_core__WEBPACK_IMPORTED_MODULE_5__.default, {
children: [(!loaded || image_sending) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_material_ui_core__WEBPACK_IMPORTED_MODULE_5__.default, {
className: "css-loader"
}), loaded && meeting && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("article", {
className: "p-article__body",
@ -48401,6 +48414,11 @@ var MeetingEdit = function MeetingEdit(props) {
check_radio = _useState30[0],
setCheckRadio = _useState30[1];
var _useState31 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState32 = _slicedToArray(_useState31, 2),
image_sending = _useState32[0],
setImageSending = _useState32[1];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
setLoaded(false);
axios__WEBPACK_IMPORTED_MODULE_1___default().get("/api/fathers/meetings/detail/".concat(meeting_id), {
@ -48580,29 +48598,32 @@ var MeetingEdit = function MeetingEdit(props) {
});
});
Promise.all(promises).then(function (images) {
set422Errors({
image: ''
});
var formdata = new FormData();
formdata.append('image', JSON.stringify(images));
setImageSending(true);
axios__WEBPACK_IMPORTED_MODULE_1___default().post("/api/fathers/meeting/images/register", formdata, {
params: {
meeting_id: meeting_id
}
}).then(function (response) {
setImageSending(false);
setNotice(response.data.notice);
switch (response.data.status_code) {
case 200:
setMeetingImages(response.data.params);
break;
case 400:
set400Error("編集が失敗しました。");
set400Error("画像の登録に失敗しました。");
break;
case 422:
set422Errors(response.data.error_messages);
break;
case 200:
{
setMeetingImages(response.data.params);
break;
}
}
});
}, function (error) {
@ -48672,7 +48693,7 @@ var MeetingEdit = function MeetingEdit(props) {
style: {
minHeight: '500px'
},
children: [!loaded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_material_ui_core__WEBPACK_IMPORTED_MODULE_7__.default, {
children: [(!loaded || image_sending) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_material_ui_core__WEBPACK_IMPORTED_MODULE_7__.default, {
className: "css-loader"
}), loaded && meeting && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("article", {
className: "p-article__body",

ファイルの表示

@ -7,6 +7,7 @@ import Alert from '../../component/alert';
const AdminLogin = () => {
console.log("version1: 2021/11/26")
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');

ファイルの表示

@ -32,6 +32,7 @@ const MeetingEdit = (props) => {
const [check_radio, setCheckRadio] = useState(null);
const [children_temp, setChildrenTemp] = useState([]);
const [image_sending, setImageSending] = useState(false);
useEffect(()=>{
@ -146,13 +147,16 @@ const MeetingEdit = (props) => {
});
Promise.all(promises).then(images => {
set422Errors({image:''});
const formdata = new FormData();
formdata.append('image', JSON.stringify(images));
setImageSending(true);
axios.post(`/api/admin/meeting/images/register`, formdata, {params:{meeting_id: meeting_id}})
.then(response => {
setImageSending(false);
switch(response.data.status_code){
case 200: setMeetingImages(response.data.params); break;
case 400: set400Error(response.data.error_messages); break;
case 400: set400Error("画像の登録に失敗しました。"); break;
case 422: set422Errors(response.data.error_messages); break;
}
});
@ -207,7 +211,7 @@ const MeetingEdit = (props) => {
<div className="p-article">
<div className="p-article-wrap" style={{ minHeight:'500px'}}>
{
!loaded &&
(!loaded || image_sending) &&
<CircularProgress className="css-loader"/>
}
{

ファイルの表示

@ -36,6 +36,7 @@ const MeetingEdit = (props) => {
const [submit, setSubmit] = useState(false);
const [check_radio, setCheckRadio] = useState(null);
const [image_sending, setImageSending] = useState(false);
useEffect(() => {
@ -163,17 +164,18 @@ useEffect(()=>{
});
Promise.all(promises).then(images => {
set422Errors({image:''});
const formdata = new FormData();
formdata.append('image', JSON.stringify(images));
setImageSending(true);
axios.post(`/api/fathers/meeting/images/register`, formdata, {params:{meeting_id: meeting_id}})
.then(response=>{
setImageSending(false);
setNotice(response.data.notice);
switch(response.data.status_code){
case 400: set400Error("編集が失敗しました。"); break;
case 200: setMeetingImages(response.data.params); break;
case 400: set400Error("画像の登録に失敗しました。"); break;
case 422: set422Errors(response.data.error_messages); break;
case 200: {
setMeetingImages(response.data.params); break;
}
}
})
},
@ -226,7 +228,7 @@ useEffect(()=>{
<div className="p-article">
<div className="p-article-wrap position-relative" style={{ minHeight:'500px'}}>
{
!loaded &&
(!loaded || image_sending) &&
<CircularProgress className="css-loader"/>
}
{

ファイルの表示

@ -98,7 +98,7 @@ input[type=radio]+.lbl::before {
font-weight: normal;
font-size: 11px;
color: #2091cf;
content: "\a0";
content: "";
background-color: #fff;
border: 1px solid #C3C3C3;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
@ -136,12 +136,12 @@ input[type=radio]:checked+.lbl::after {
transform: rotate(45deg);
}
// input[type=checkbox]:active+.lbl::before,
// input[type=radio]:active+.lbl::before,
// input[type=checkbox]:checked:active+.lbl::before,
// input[type=radio]:checked:active+.lbl::before {
// box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px 1px 3px rgba(0, 0, 0, 0.1);
// }
input[type=checkbox]:active+.lbl::before,
input[type=radio]:active+.lbl::before,
input[type=checkbox]:checked:active+.lbl::before,
input[type=radio]:checked:active+.lbl::before {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px 1px 3px rgba(0, 0, 0, 0.1);
}
input[type=checkbox]:disabled+.lbl::before,
input[type=radio]:disabled+.lbl::before,