PageSourceSearch

https://naemo.ai/_next/static/chunks/9355.c56f3fd703c4160a.js

js naemo.ai collected 2026-10-02 01:15:57 UTC 3,716 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9355],{79355:function(e,n,s){s.r(n),s.d(n,{default:function(){return c}});var i=s(57437),a=s(2265);s(83079);var r=(0,s(12119).$)("65cc9356e56008dc519bab1728f7906a0d13f8c4"),t=s(50647),l=s.n(t);function c(e){let{detail:n,schoolClass:s,row:t,busy:c,onBusyChange:d,onComplete:u,onClose:o}=e,[v,p]=(0,a.useState)("move"),[m,h]=(0,a.useState)(""),[b,f]=(0,a.useState)(""),[x,j]=(0,a.useState)(null),[w,N]=(0,a.useState)(""),[g,y]=(0,a.useState)(!1),k=(0,a.useRef)(!1),C=(0,a.useRef)(null);(0,a.useEffect)(()=>{var e;null===(e=C.current)||void 0===e||e.focus()},[]);let S=g||c,I=n.classes.find(e=>e.id===m),_=()=>{j(null),N("")};async function E(e){if(!k.current&&!c&&(!e||x)&&(e||"move"!==v||I&&b)){k.current=!0,y(!0),d(!0),N("");try{let i={spaceId:n.space.id,enrollmentId:t.id,revision:s.revision,destination:"leave"===v?null:{classId:I.id,revision:I.revision,number:Number(b)}},a=await r(e?{action:"confirm",...x.input,fingerprint:x.preview.fingerprint}:{action:"preview",...i});if(!a.success){N(a.error),j(null);return}"preview"===a.data.kind?j({input:i,preview:a.data.preview}):"completed"===a.data.kind&&(j(null),await u())}catch(e){N("결과를 확인하지 못했습니다. 학교 학생 명단을 새로고침해 확인해 주세요.")}finally{k.current=!1,y(!1),d(!1)}}}return n.me.operator?(0,i.jsxs)("section",{ref:C,tabIndex:-1,className:l().yearReview,"aria-label":"".concat(t.student.name," 학급 이동\xb7전출"),children:[(0,i.jsxs)("h4",{children:[t.number,"번 ",t.student.name," \xb7 학급 이동\xb7전출"]}),(0,i.jsxs)("form",{className:l().form,onSubmit:e=>{e.preventDefault(),E(!1)},children:[(0,i.jsxs)("label",{children:["처리 구분",(0,i.jsxs)("select",{disabled:S,value:v,onChange:e=>{p(e.target.value),_()},children:[(0,i.jsx)("option",{value:"move",children:"학교 안에서 반 이동"}),(0,i.jsx)("option",{value:"leave",children:"전출\xb7학교 학생 명단에서 제외"})]})]}),"move"===v&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("label",{children:["이동할 학급",(0,i.jsxs)("select",{required:!0,disabled:S,value:m,onChange:e=>{h(e.target.value),_()},children:[(0,i.jsx)("option",{value:"",children:"학급 선택"}),n.classes.filter(e=>
1e.id!==s.id).map(e=>(0,i.jsxs)("option",{value:e.id,children:[e.grade,"학년 ",e.classNum,"반"]},e.id))]})]}),(0,i.jsxs)("label",{children:["이동 후 번호",(0,i.jsx)("input",{type:"number",required:!0,min:1,max:999,disabled:S,value:b,onChange:e=>{f(e.target.value),_()}})]})]}),(0,i.jsxs)("div",{className:l().actions,children:[(0,i.jsx)("button",{className:l().secondary,disabled:S||"move"===v&&(!m||!b),children:"변경 내용 확인"}),(0,i.jsx)("button",{type:"button",className:l().link,disabled:S,onClick:o,children:"취소"})]})]}),w&&(0,i.jsx)("p",{role:"alert",className:l().error,children:w}),x&&(0,i.jsxs)("div",{children:[(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{children:x.preview.name})," \xb7 ",x.preview.source.grade,"학년 ",x.preview.source.classNum,"반 ",x.preview.source.number,"번 → ",x.preview.destination?"".concat(x.preview.destination.grade,"학년 ").concat(x.preview.destination.classNum,"반 ").concat(x.preview.destination.number,"번"):"전출\xb7학생 명단 제외"]}),(0,i.jsx)("p",{className:l().note,children:"학교의 기존 학업 자료는 유지됩니다. 이전 담임의 이 학생에 대한 공동 자료 조회는 종료됩니다. 다른 담당 역할이 있으면 그 범위의 조회 권한은 유지됩니다."}),(0,i.jsx)("button",{type:"button",className:l().primary,disabled:S,onClick:()=>void E(!0),children:x.preview.destination?"반 이동 확정":"전출 처리 확정"})]})]}):null}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.