From 279bd5c71ac3fa2734bb581c5650bef33ccadd91 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 29 Aug 2021 02:05:16 +0900 Subject: [PATCH] misc: Pooper export, summernote lang --- hwe/b_dipcenter.php | 8 +- hwe/ts/battle_simulator.ts | 3 +- hwe/ts/common_deprecated.ts | 3 + hwe/ts/common_legacy.ts | 5 - hwe/ts/dipcenter.ts | 4 +- hwe/ts/main.ts | 5 +- hwe/ts/summernote-image-flip.ts | 5 +- hwe/ts/summernote-ko-KR.ts | 159 ++++++++++++++++++++++++++++++++ ts/user_info.ts | 3 +- 9 files changed, 175 insertions(+), 20 deletions(-) create mode 100644 hwe/ts/summernote-ko-KR.ts diff --git a/hwe/b_dipcenter.php b/hwe/b_dipcenter.php index 564afe03..afd329f3 100644 --- a/hwe/b_dipcenter.php +++ b/hwe/b_dipcenter.php @@ -62,15 +62,9 @@ var storedData = - - - + diff --git a/hwe/ts/battle_simulator.ts b/hwe/ts/battle_simulator.ts index f307a6d4..1ce8ab5f 100644 --- a/hwe/ts/battle_simulator.ts +++ b/hwe/ts/battle_simulator.ts @@ -1,6 +1,6 @@ import $ from 'jquery'; import Popper from 'popper.js'; -(window as unknown as { Popper: unknown }).Popper = Popper;//XXX: 왜 popper를 이렇게 불러야 하는가? +exportWindow(Popper, 'Popper');//XXX: 왜 popper를 이렇게 불러야 하는가? import 'bootstrap'; import download from 'downloadjs'; import { unwrap } from "./util/unwrap"; @@ -9,6 +9,7 @@ import { combineArray, errUnknown, getNpcColor, isBrightColor, numberWithCommas import { unwrap_any } from './util/unwrap_any'; import { BasicGeneralListResponse, InvalidResponse } from './defs'; import { formatTime } from './util/formatTime'; +import { exportWindow } from './util/exportWindow'; type CityAttackerInfo = { level: number, diff --git a/hwe/ts/common_deprecated.ts b/hwe/ts/common_deprecated.ts index da2d74b4..bf98d673 100644 --- a/hwe/ts/common_deprecated.ts +++ b/hwe/ts/common_deprecated.ts @@ -5,6 +5,9 @@ import { escapeHtml } from "./legacy/escapeHtml"; import { nl2br } from "./util/nl2br"; import jQuery from "jquery"; import { exportWindow } from "./util/exportWindow"; +import Popper from 'popper.js'; +exportWindow(Popper, 'Popper');//XXX: 왜 popper를 이렇게 불러야 하는가? +import 'bootstrap'; exportWindow(jQuery, '$'); exportWindow(jQuery, 'jQuery'); diff --git a/hwe/ts/common_legacy.ts b/hwe/ts/common_legacy.ts index 754ed4d4..8b626815 100644 --- a/hwe/ts/common_legacy.ts +++ b/hwe/ts/common_legacy.ts @@ -1,10 +1,5 @@ import { unwrap } from "./util/unwrap"; - import $ from "jquery"; -import Popper from 'popper.js'; -(window as unknown as { Popper: unknown }).Popper = Popper;//XXX: 왜 popper를 이렇게 불러야 하는가? -import 'bootstrap'; - import axios from "axios"; axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; diff --git a/hwe/ts/dipcenter.ts b/hwe/ts/dipcenter.ts index 589206c5..0e7086ce 100644 --- a/hwe/ts/dipcenter.ts +++ b/hwe/ts/dipcenter.ts @@ -1,12 +1,14 @@ import $ from 'jquery'; import Popper from 'popper.js'; -(window as unknown as { Popper: unknown }).Popper = Popper;//XXX: 왜 popper를 이렇게 불러야 하는가? +exportWindow(Popper, 'Popper');//XXX: 왜 popper를 이렇게 불러야 하는가? import 'bootstrap'; import 'summernote/dist/summernote-bs4'; import 'summernote/dist/summernote-bs4.css'; import './summernote-image-flip'; +import './summernote-ko-KR'; import { activateFlip } from './common_legacy'; import { setAxiosXMLHttpRequest } from './util/setAxiosXMLHttpRequest'; +import { exportWindow } from './util/exportWindow'; declare const editable: boolean; diff --git a/hwe/ts/main.ts b/hwe/ts/main.ts index 6acf9cbe..1db1c1e5 100644 --- a/hwe/ts/main.ts +++ b/hwe/ts/main.ts @@ -1,12 +1,12 @@ import $ from 'jquery'; import Popper from 'popper.js'; -(window as unknown as { Popper: unknown }).Popper = Popper;//XXX: 왜 popper를 이렇게 불러야 하는가? +exportWindow(Popper, 'Popper');//XXX: 왜 popper를 이렇게 불러야 하는가? import 'bootstrap'; import { parseTime } from './util/parseTime'; import { addMilliseconds, addMinutes, differenceInMilliseconds } from 'date-fns'; import { formatTime } from './util/formatTime'; import { unwrap_any } from './util/unwrap_any'; -import { activateFlip, errUnknown } from './common_legacy'; +import { activateFlip, errUnknown, initTooltip } from './common_legacy'; import { unwrap } from './util/unwrap'; import { setAxiosXMLHttpRequest } from './util/setAxiosXMLHttpRequest'; import './msg.ts'; @@ -195,4 +195,5 @@ $(function ($) { setInterval(myclock, 500); reloadCommandList(); activateFlip(); + initTooltip(); }); \ No newline at end of file diff --git a/hwe/ts/summernote-image-flip.ts b/hwe/ts/summernote-image-flip.ts index 874b2053..67723ccd 100644 --- a/hwe/ts/summernote-image-flip.ts +++ b/hwe/ts/summernote-image-flip.ts @@ -3,7 +3,6 @@ import $ from 'jquery'; import 'summernote/dist/summernote-bs4.js'; $(function ($) { - console.log($.summernote); $.extend(true, $.summernote.lang, { 'en-US': { imageFlip: { @@ -33,7 +32,7 @@ $(function ($) { const $note = context.layoutInfo.note; const $editor = context.layoutInfo.editor; const $editable = context.layoutInfo.editable; - const $toolbar = context.layoutInfo.toolbar; + //const $toolbar = context.layoutInfo.toolbar; if (typeof context.options.imageFlip === 'undefined') { context.options.imageFlip = {}; @@ -47,7 +46,7 @@ $(function ($) { contents: ui.icon(options.icons.pencil), container: false, tooltip: lang.imageFlip.edit, - click: function (e: JQuery.Event) { + click: function (/*e: JQuery.Event*/) { context.invoke('imageFlip.show'); } }); diff --git a/hwe/ts/summernote-ko-KR.ts b/hwe/ts/summernote-ko-KR.ts new file mode 100644 index 00000000..8cffaded --- /dev/null +++ b/hwe/ts/summernote-ko-KR.ts @@ -0,0 +1,159 @@ +import $ from 'jquery'; + +$(function($) { + $.extend($.summernote.lang, { + 'ko-KR': { + font: { + bold: '굵게', + italic: '기울임꼴', + underline: '밑줄', + clear: '서식 지우기', + height: '줄 간격', + name: '글꼴', + superscript: '위 첨자', + subscript: '아래 첨자', + strikethrough: '취소선', + size: '글자 크기', + }, + image: { + image: '그림', + insert: '그림 삽입', + resizeFull: '100% 크기로 변경', + resizeHalf: '50% 크기로 변경', + resizeQuarter: '25% 크기로 변경', + resizeNone: '원본 크기', + floatLeft: '왼쪽 정렬', + floatRight: '오른쪽 정렬', + floatNone: '정렬하지 않음', + shapeRounded: '스타일: 둥근 모서리', + shapeCircle: '스타일: 원형', + shapeThumbnail: '스타일: 액자', + shapeNone: '스타일: 없음', + dragImageHere: '텍스트 혹은 사진을 이곳으로 끌어오세요', + dropImage: '텍스트 혹은 사진을 내려놓으세요', + selectFromFiles: '파일 선택', + maximumFileSize: '최대 파일 크기', + maximumFileSizeError: '최대 파일 크기를 초과했습니다.', + url: '사진 URL', + remove: '사진 삭제', + original: '원본', + }, + video: { + video: '동영상', + videoLink: '동영상 링크', + insert: '동영상 삽입', + url: '동영상 URL', + providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku 사용 가능)', + }, + link: { + link: '링크', + insert: '링크 삽입', + unlink: '링크 삭제', + edit: '수정', + textToDisplay: '링크에 표시할 내용', + url: '이동할 URL', + openInNewWindow: '새창으로 열기', + }, + table: { + table: '표', + addRowAbove: '위에 행 삽입', + addRowBelow: '아래에 행 삽입', + addColLeft: '왼쪽에 열 삽입', + addColRight: '오른쪽에 열 삽입', + delRow: '행 지우기', + delCol: '열 지우기', + delTable: '표 삭제', + }, + hr: { + insert: '구분선 삽입', + }, + style: { + style: '스타일', + p: '본문', + blockquote: '인용구', + pre: '코드', + h1: '제목 1', + h2: '제목 2', + h3: '제목 3', + h4: '제목 4', + h5: '제목 5', + h6: '제목 6', + }, + lists: { + unordered: '글머리 기호', + ordered: '번호 매기기', + }, + options: { + help: '도움말', + fullscreen: '전체 화면', + codeview: '코드 보기', + }, + paragraph: { + paragraph: '문단 정렬', + outdent: '내어쓰기', + indent: '들여쓰기', + left: '왼쪽 정렬', + center: '가운데 정렬', + right: '오른쪽 정렬', + justify: '양쪽 정렬', + }, + color: { + recent: '마지막으로 사용한 색', + more: '다른 색 선택', + background: '배경색', + foreground: '글자색', + transparent: '투명', + setTransparent: '투명으로 설정', + reset: '취소', + resetToDefault: '기본값으로 설정', + cpSelect: '고르다', + }, + shortcut: { + shortcuts: '키보드 단축키', + close: '닫기', + textFormatting: '글자 스타일 적용', + action: '기능', + paragraphFormatting: '문단 스타일 적용', + documentStyle: '문서 스타일 적용', + extraKeys: '추가 키', + }, + help: { + 'insertParagraph': '문단 삽입', + 'undo': '마지막 명령 취소', + 'redo': '마지막 명령 재실행', + 'tab': '탭', + 'untab': '탭 제거', + 'bold': '굵은 글자로 설정', + 'italic': '기울임꼴 글자로 설정', + 'underline': '밑줄 글자로 설정', + 'strikethrough': '취소선 글자로 설정', + 'removeFormat': '서식 삭제', + 'justifyLeft': '왼쪽 정렬하기', + 'justifyCenter': '가운데 정렬하기', + 'justifyRight': '오른쪽 정렬하기', + 'justifyFull': '좌우채움 정렬하기', + 'insertUnorderedList': '글머리 기호 켜고 끄기', + 'insertOrderedList': '번호 매기기 켜고 끄기', + 'outdent': '현재 문단 내어쓰기', + 'indent': '현재 문단 들여쓰기', + 'formatPara': '현재 블록의 포맷을 문단(P)으로 변경', + 'formatH1': '현재 블록의 포맷을 제목1(H1)로 변경', + 'formatH2': '현재 블록의 포맷을 제목2(H2)로 변경', + 'formatH3': '현재 블록의 포맷을 제목3(H3)로 변경', + 'formatH4': '현재 블록의 포맷을 제목4(H4)로 변경', + 'formatH5': '현재 블록의 포맷을 제목5(H5)로 변경', + 'formatH6': '현재 블록의 포맷을 제목6(H6)로 변경', + 'insertHorizontalRule': '구분선 삽입', + 'linkDialog.show': '링크 대화상자 열기', + }, + history: { + undo: '실행 취소', + redo: '재실행', + }, + specialChar: { + specialChar: '특수문자', + select: '특수문자를 선택하세요', + }, + }, + }); +}); diff --git a/ts/user_info.ts b/ts/user_info.ts index 84fe35e8..3a6e4171 100644 --- a/ts/user_info.ts +++ b/ts/user_info.ts @@ -1,7 +1,7 @@ import { setAxiosXMLHttpRequest } from "../hwe/ts/util/setAxiosXMLHttpRequest"; import $ from 'jquery'; import Popper from 'popper.js'; -(window as unknown as { Popper: unknown }).Popper = Popper;//XXX: 왜 popper를 이렇게 불러야 하는가? +exportWindow(Popper, 'Popper');//XXX: 왜 popper를 이렇게 불러야 하는가? import 'bootstrap'; import axios from 'axios'; import { subDays } from 'date-fns'; @@ -12,6 +12,7 @@ import { InvalidResponse } from "../hwe/ts/defs"; import { unwrap } from "../hwe/ts/util/unwrap"; import { parseTime } from "../hwe/ts/util/parseTime"; import { formatTime } from "../hwe/ts/util/formatTime"; +import { exportWindow } from "../hwe/ts/util/exportWindow"; type ResultUserInfo = { result: true,