PageSourceSearch

https://careerpark.jp/app-packs/chunk.5839.2f97c5ca3e4acbb32aae.js

js careerpark.jp collected 2026-10-02 14:40:39 UTC 7,632 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkchai_app=self.webpackChunkchai_app||[]).push([[5839,7144],{35839(e,t,o){o.r(t);var n=o(85829);const a=()=>{document.querySelector(".js_GeneratedResultCard")?.click()};describe("作成した自己PR・ガクチカのモーダル",(()=>{beforeEach((()=>{document.body.innerHTML='\n  <button type="button" class="js_GeneratedResultCard"\n    data-content="自己PRの本文"\n    data-created-at="2026/04/28 11:01"\n    data-tool-label="自己PR作成ツール"\n    data-tool-path="/tools/self_pr_ai"\n  >カード</button>\n  <div id="js_GeneratedResultModal" aria-hidden="true">\n    <div data-modal-close="true"></div>\n    <button type="button" class="p-generatedResultsModal__close" data-modal-close="true">閉じる</button>\n    <p class="js_GeneratedResultModalContent"></p>\n    <button type="button" class="js_GeneratedResultModalCopy">\n      <span class="js_GeneratedResultModalCopyLabel">コピーする</span>\n    </button>\n    <span class="js_GeneratedResultModalDate"></span>\n    <a class="js_GeneratedResultModalToolLink" href="#">
1\n      <span class="js_GeneratedResultModalToolLinkLabel"></span>\n    </a>\n  </div>\n',(0,n.default)()})),afterEach((()=>{document.body.innerHTML="",document.body.style.overflow="",document.body.style.paddingRight="",jest.restoreAllMocks()})),test("カードをクリックするとモーダルに本文・日時・遷移先が反映されて開く",(()=>{a();const e=document.getElementById("js_GeneratedResultModal");expect(e?.classList.contains("is-open")).toBe(!0),expect(e?.getAttribute("aria-hidden")).toBe("false"),expect(document.querySelector(".js_GeneratedResultModalContent")?.textContent).toBe("自己PRの本文"),expect(document.querySelector(".js_GeneratedResultModalDate")?.textContent).toBe("2026/04/28 11:01"),expect(document.querySelector(".js_GeneratedResultModalToolLinkLabel")?.textContent).toBe("自己PR作成ツールに移動する"),expect(document.querySelector(".js_GeneratedResultModalToolLink")?.href).toContain("/tools/self_pr_ai"),expect(document.body).toHaveStyle({overflow:"hidden"}),expect(document.querySelector(".p-generatedResultsModal__close")).toHaveFocus()})),test("モーダル表示中はスクロールバー幅を補正し、閉じた時に元へ戻す",(()=>{jest.replaceProperty(window,"innerWidth",1e3),jest.spyOn(document.documentElement,"clientWidth","get").mockReturnValue(985),document.body.style.paddingRight="4px",a(),expect(document.body).toHaveStyle({overflow:"hidden",paddingRight:"19px"}),document.querySelector("[data-modal-close]")?.click(),expect(document.body).not.toHaveStyle({overflow:"hidden"}),expect(document.body).toHaveStyle({paddingRight:"4px"})})),test("閉じる要素のクリックでモーダルが閉じる",(()=>{a(),document.querySelector("[data-modal-close]")?.click();const e=document.getElementById("js_GeneratedResultModal");expect(e?.classList.contains("is-open")).toBe(!1),expect(e?.getAttribute("aria-hidden")).toBe("true"),expect(document.body).not.toHaveStyle({overflow:"hidden"}),expect(document.querySelector(".js_GeneratedResultCard")).toHaveFocus()})),test("Escapeキーでモーダルが閉じる",(()=>{a(),document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape"})),expect(document.getElementById("js_GeneratedResultModal")?.classList.contains("is-open")).toBe(!1)})),test("コピーするボタンで本文がクリップボードにコピーされ、文言が一時的に変わる",(async()=>{jest.useFakeTimers();const e=jest.fn().mockResolvedValue(void 0);Object.defineProperty(navigator,"clipboard",{value:{writeText:e},configurable:!0}),a(),document.querySelector(".js_GeneratedResultModalCopy")?.click(),await Promise.resolve(),await Promise.resolve(),expect(e).toHaveBeenCalledWith("自己PRの本文"),expect(document.querySelector(".js_GeneratedResultModalCopyLabel")?.textContent).toBe("コピーしました"),jest.advanceTimersByTime(2e3),expect(document.querySelector(".js_GeneratedResultModalCopyLabel")?.textContent).toBe("コピーする"),jest.useRealTimers()}))})),describe("作成した自己PR・ガクチカのフィルター",(()=>{beforeEach((()=>{document.body.innerHTML='\n  <details class="p-generatedResultsFilter" open>\n    <summary class="p-generatedResultsFilter__summary">フィルター</summary>\n    <div class="p-generatedResultsFilter__panel">\n      <label>\n        <input type="checkbox" name="tool_types[]" value="ai_correction" checked />\n        AI添削ツール\n      </label>\n      <button type="submit">適用</button>\n    </div>\n  </details>\n  <button type="button" class="outsideButton">外側</button>\n',(0,n.default)()})),afterEach((()=>{document.body.innerHTML="",jest.restoreAllMocks()})),test("フィルター外をクリックするとフィルターが閉じる",(()=>{document.querySelector(".outsideButton")?.click(),expect(document.querySelector(".p-generatedResultsFilter")?.open).toBe(!1)})),test("フィルター内をクリックしてもフィルターは閉じない",(()=>{document.querySelector(".p-generatedResultsFilter__panel input")?.click(),expect(document.querySelector(".p-generatedResultsFilter")?.open).toBe(!0)}))}))},85829(e,t,o){o.r(t),o.d(t,{default:()=>l,setupGeneratedResultModal:()=>n,setupGeneratedResultsFilter:()=>a});const n=()=>{const e=(()=>{const e=document.getElementById("js_GeneratedResultModal");if(!e)return null;const t=e.querySelector(".js_GeneratedResultModalContent"),o=e.querySelector(".js_GeneratedResultModalDate"),n=e.querySelector(".p-generatedResultsModal__close"),a=e.querySelector(".js_GeneratedResultModalCopy"),l=e.querySelector(".js_GeneratedResultModalCopyLabel"),d=e.querySelector(".js_GeneratedResultModalToolLink"),s=e.querySelector(".js_GeneratedResultModalToolLinkLabel");return t&&o&&n&&a&&l&&d&&s?{modal:e,content:t,date:o,closeButton:n,copyButton:a,copyLabel:l,toolLink:d,toolLinkLabel:s}:null})();if(!e)return;const{modal:t,content:o,date:n,closeButton:a,copyButton:l,copyLabel:d,toolLink:s,toolLinkLabel:c}=e;let r,u=null,i="",p="";const y=e=>{u=e,o.textContent=e.dataset.content??"",n.textContent=e.dataset.createdAt??"",s.href=e.dataset.toolPath??"",c.textContent=`${e.dataset.toolLabel??""}に移動する`,d.textContent="コピーする",t.classList.add("is-open"),t.setAttribute("aria-hidden","false"),(()=>{i=document.body.style.overflow,p=document.body.style.paddingRight;const e=window.innerWidth-document.documentElement.clientWidth,t=Number.parseFloat(window.getComputedStyle(document.body).paddingRight)||0;e>0&&(document.body.style.paddingRight=`${t+e}px`),document.body.style.overflow="hidden"})(),a.focus()},m=()=>{t.classList.contains("is-open")&&(t.classList.remove("is-open"),t.setAttribute("aria-hidden","true"),document.body.style.overflow=i,document.body.style.paddingRight=p,u?.focus(),u=null)};document.querySelectorAll(".js_GeneratedResultCard").forEach((e=>{e.addEventListener("click",(()=>y(e)))})),t.querySelectorAll("[data-modal-close]").forEach((e=>{e.addEventListener("click",m)})),document.addEventListener("keydown",(e=>{"Escape"===e.key&&m()})),l.addEventListener("click",(()=>{(async()=>{const e=o.textContent??"";try{await navigator.clipboard.writeText(e),d.textContent="コピーしました",window.clearTimeout(r),r=window.setTimeout((()=>{d.textContent="コピーする"}),2e3)}catch{}})()}))},a=()=>{const e=document.querySelectorAll(".p-generatedResultsFilter");e.length&&document.addEventListener("click",(t=>{const{target:o}=t;o instanceof Node&&e.forEach((e=>{e.contains(o)||(e.open=!1)}))}))},l=()=>{n(),a()}}}]);
2//# sourceMappingURL=chunk.5839.2f97c5ca3e4acbb32aae.js.map

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.