dep: e_lib 디렉토리 정리

- select2 하나 남음
This commit is contained in:
2021-12-20 02:43:22 +09:00
parent 003ea3baa7
commit c383a5cc22
77 changed files with 0 additions and 23838 deletions
-326
View File
@@ -1,326 +0,0 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
// Type definitions for Summernote 0.8
// Project: https://github.com/summernote/summernote#readme
// Definitions by: Wouter Staelens <https://github.com/wstaelens>
// Denny Harijanto <https://github.com/nusantara-cloud>
// Corbin Crutchley <https://github.com/crutchcorn>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.7
/// <reference types="jquery"/>
declare global {
namespace Summernote {
type fontSizeUnitOptions = 'px' | 'pt';
interface Options {
airMode?: boolean | undefined;
tabDisable?: boolean | undefined;
codeviewFilter?: boolean | undefined;
codeviewFilterRegex?: string | undefined;
codeviewIframeWhitelistSrc?: string[] | undefined;
codeviewIframeFilter?: boolean | undefined;
callbacks?: SummernoteCallbacks | SummernoteUndocumentedCallbacks | undefined; // todo
codemirror?: CodemirrorOptions | undefined;
colors?: colorsDef | undefined;
dialogsInBody?: boolean | undefined;
dialogsFade?: boolean | undefined;
direction?: string | undefined;
disableDragAndDrop?: boolean | undefined;
focus?: boolean | undefined;
fontNames?: string[] | undefined;
fontNamesIgnoreCheck?: string[] | undefined;
fontSizes?: string[] | undefined;
fontSizeUnits?: fontSizeUnitOptions[] | undefined;
height?: number | undefined;
hint?: HintOptions | undefined;
icons?: IconsOptions | undefined;
insertTableMaxSize?: InsertTableMaxSizeOptions | undefined;
keyMap?: KeyMapOptions | undefined;
lang?: string | undefined;
lineHeights?: string[] | undefined;
minHeight?: number | undefined;
maxHeight?: number | undefined;
maximumImageFileSize?: any;
modules?: ModuleOptions | undefined;
popover?: PopoverOptions | undefined;
placeholder?: string | undefined;
shortcuts?: boolean | undefined;
styleTags?: styleTagsOptions[] | undefined;
styleWithSpan?: boolean | undefined;
tabsize?: number | undefined;
tableClassName?: string | undefined;
textareaAutoSync?: boolean | undefined;
toolbar?: toolbarDef | undefined;
width?: number | undefined;
}
type toolbarStyleGroupOptions = 'style' | 'bold' | 'italic' | 'underline' | 'clear';
type toolbarFontGroupOptions = 'fontname' | 'fontsize' | 'fontsizeunit' | 'color' | 'forecolor' | 'backcolor' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'superscript' |
'subscript' | 'clear';
type toolbarFontsizeGroupOptions = 'fontsize' | 'fontname' | 'color';
type toolbarColorGroupOptions = 'color';
type toolbarParaGroupOptions = 'ul' | 'ol' | 'paragraph' | 'style' | 'height';
type toolbarHeightGroupOptions = 'height';
type toolbarTableGroupOptions = 'table';
type toolbarInsertGroupOptions = 'link' | 'picture' | 'hr' | 'table' | 'video';
type toolbarViewGroupOptions = 'fullscreen' | 'codeview' | 'help';
type toolbarHelpGroupOptions = 'help';
type miscGroupOptions = 'fullscreen' | 'codeview' | 'undo' | 'redo' | 'help';
// type toolbarDef = [string, string[]][]
type toolbarDef = Array<
['style', toolbarStyleGroupOptions[]]
| ['font', toolbarFontGroupOptions[]]
| ['fontname', toolbarFontNameOptions[]]
| ['fontsize', toolbarFontsizeGroupOptions[]]
| ['color', toolbarColorGroupOptions[]]
| ['para', toolbarParaGroupOptions[]]
| ['height', toolbarHeightGroupOptions[]]
| ['table', toolbarTableGroupOptions[]]
| ['insert', toolbarInsertGroupOptions[]]
| ['view', toolbarViewGroupOptions[]]
| ['help', toolbarHelpGroupOptions[]]
| ['misc', miscGroupOptions[]]
>;
type colorsDef = Array<[string[]]>;
type styleTagsOptions = 'p' | 'blockquote' | 'pre' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
interface InsertTableMaxSizeOptions {
col: number;
row: number;
}
interface IconsOptions {
options?: any; // todo
}
interface KeyMapOptions {
pc?: KeyMapPcOptions | undefined;
mac?: KeyMapMacOptions | undefined;
}
interface KeyMapPcOptions {
options?: any; // todo
}
interface KeyMapMacOptions {
options?: any; // todo
}
type htmlElement = string;
interface HintOptions {
words?: string[] | undefined;
mentions?: string[] | undefined;
match: RegExp;
search: (keyword: string, callback: (plausibleItems: string[]) => void) => void;
template?: ((item: string) => htmlElement) | undefined;
content?: ((item: string) => htmlElement | JQuery.Node) | undefined;
}
interface CodemirrorOptions {
mode?: string | undefined;
htmlNode?: boolean | undefined;
lineNumbers?: boolean | undefined;
theme?: string | undefined;
}
type popoverImageOptionsImagesize = 'imageSize100' | 'imageSize50' | 'imageSize25';
type popoverImageOptionsFloat = 'floatLeft' | 'floatRight' | 'floatNone';
type popoverImageOptionsRemove = 'removeMedia';
type popoverImageDef = [
['imagesize', popoverImageOptionsImagesize[]],
['float', popoverImageOptionsFloat[]],
['remove', popoverImageOptionsRemove[]],
['custom', string[]]?,//NOTE: 이 부분이 바뀜(Hide_D)
];
type popoverLinkLinkOptions = 'linkDialogShow' | 'unlink';
type popoverLinkDef = [
['link', popoverLinkLinkOptions[]]
];
type popoverAirOptionsColor = 'color';
type popoverAirOptionsFont = 'bold' | 'underline' | 'clear';
type popoverAirOptionsPara = 'ul' | 'paragraph';
type popoverAirOptionsTable = 'table';
type popoverAirOptionsInsert = 'link' | 'picture';
type popoverAirDef = [
['color', popoverAirOptionsColor],
['font', popoverAirOptionsFont],
['para', popoverAirOptionsPara],
['table', popoverAirOptionsTable],
['insert', popoverAirOptionsInsert]
];
interface PopoverOptions {
image?: popoverImageDef | undefined;
link?: popoverLinkDef | undefined;
air?: popoverAirDef | undefined;
}
interface ModuleOptions {
options?: any; // todo
}
interface CreateLinkOptions {
text: string;
url: string;
newWindow: boolean;
}
type EditImageCallback = ($image: JQuery.Node) => void;
type toolbarFontNameOptions = string;
interface SummernoteCallbacks {
onBeforeCommand?: (contents: string) => void;
onChange?: (contents: string, $editable: JQuery) => void;
onChangeCodeview?: (code: string, $editor: JQuery) => void;
onDialogShown?: () => void;
onEnter?: (ev: Event) => void;
onFocus?: (ev: Event) => void;
onBlur?: (ev: Event) => void;
onBlurCodeview?: (code: string, ev: Event) => void;
onImageLinkInsert?: (url: string) => void;
onImageUpload?: (files: Blob[]) => void;
onImageUploadError?: (err: any) => void;
onInit?: () => void;
onKeyup?: (ev: KeyboardEvent) => void;
onKeydown?: (ev: KeyboardEvent) => void;
onMouseDown?: (ev: MouseEvent) => void;
onMouseUp?: (ev: MouseEvent) => void;
onPaste?: (e: Event) => void;
onScroll?: (e: Event) => void;
}
type SummernoteUndocumentedCallbacks = {
[key in Exclude<keyof SummernoteCallbacks, string>]: (...args: any[]) => void;
};
interface Plugin{
showLinkDialog(...args:any[]);
show: () => void;
bindEnterKey: ($input: JQuery<HTMLElement>, $btn: JQuery<HTMLElement>) => void;
destroy: () => void;
$dialog: JQuery<HTMLElement>;
initialize: () => void;
}
interface Context {
//src/js/base/Context.js
triggerEvent(namespace: string, ...args:any[]);
options: any;
invoke(arg0: string);
memo(arg0: string, arg1: () => any);
layoutInfo: {
note: JQuery<HTMLElement>,
editor: JQuery<HTMLElement>,
editable: JQuery<HTMLElement>,
toolbar: JQuery<HTMLElement>,
}
}
interface UI{
showDialog($dialog: JQuery<HTMLElement>);
onDialogHidden($dialog: JQuery<HTMLElement>, arg1: () => void);
onDialogShown($dialog: JQuery<HTMLElement>, arg1: () => void);
hideDialog($dialog: JQuery<HTMLElement>);
dialog(arg0: { title: any; body: string; footer: string; });
button: (...args:any[])=>any,
icon: (...args:any[])=>any,
}
}
interface JQueryStatic{
summernote: {
lang: Record<string, Record<string, any>>,
options: Record<string, any>,
plugins: Record<string, any>,
ui: Summernote.UI,
};
}
interface JQuery {
summernote(): JQuery;
summernote(command: string): JQuery;
summernote(options?: Summernote.Options): JQuery;
summernote(command: string, markupString: string): JQuery;
summernote(command: string, value: number): JQuery;
summernote(command: string, node: JQuery.Node): JQuery;
summernote(command: string, url: string, filename?: (string | Summernote.EditImageCallback)): JQuery;
summernote(command: 'destroy'): JQuery;
summernote(command: 'code'): string;
summernote(command: 'code', markupStr: string): undefined;
summernote(command: 'editor.pasteHTML' | 'pasteHTML', markup: string): JQuery;
// Basic API
summernote(command: 'editor.createRange' | 'createRange'): JQuery;
summernote(command: 'editor.saveRange' | 'saveRange'): JQuery;
summernote(command: 'editor.restoreRange' | 'restoreRange'): JQuery;
summernote(command: 'editor.undo' | 'undo'): JQuery;
summernote(command: 'editor.redo' | 'redo'): JQuery;
summernote(command: 'editor.focus' | 'focus'): JQuery;
summernote(command: 'editor.isEmpty' | 'isEmpty'): boolean;
summernote(command: 'reset'): JQuery;
summernote(command: 'disable'): JQuery;
summernote(command: 'enable'): JQuery;
// Font style API
summernote(fontStyle: 'editor.bold' | 'bold'): JQuery;
summernote(fontStyle: 'editor.italic' | 'italic'): JQuery;
summernote(fontStyle: 'editor.underline' | 'underline'): JQuery;
summernote(fontStyle: 'editor.strikethrough' | 'strikethrough'): JQuery;
summernote(command: 'editor.superscript' | 'superscript'): JQuery;
summernote(command: 'editor.subscript' | 'subscript'): JQuery;
summernote(command: 'editor.removeFormat' | 'removeFormat'): JQuery;
summernote(command: 'backColor', color: string): JQuery;
summernote(command: 'foreColor', color: string): JQuery;
summernote(command: 'fontName', fontName: string): JQuery;
summernote(command: 'editor.fontSize' | 'fontSize', fontSize: number): JQuery;
// Paragraph API
summernote(command: 'editor.justifyLeft' | 'justifyLeft'): JQuery;
summernote(command: 'editor.justifyRight' | 'justifyRight'): JQuery;
summernote(command: 'editor.justifyCenter' | 'justifyCenter'): JQuery;
summernote(command: 'editor.justifyFull' | 'justifyFull'): JQuery;
summernote(command: 'insertParagraph'): JQuery;
summernote(command: 'editor.insertOrderedList' | 'insertOrderedList'): JQuery;
summernote(command: 'editor.insertUnorderedList' | 'insertUnorderedList'): JQuery;
summernote(command: 'editor.indent' | 'indent'): JQuery;
summernote(command: 'editor.outdent' | 'outdent'): JQuery;
summernote(command: 'formatPara'): JQuery;
summernote(command: 'formatH1'): JQuery;
summernote(command: 'formatH2'): JQuery;
summernote(command: 'formatH3'): JQuery;
summernote(command: 'formatH4'): JQuery;
summernote(command: 'formatH5'): JQuery;
summernote(command: 'formatH6'): JQuery;
// Insertion API
summernote(command: 'editor.insertImage' | 'insertImage', url: string, filename?: (string | Summernote.EditImageCallback)): JQuery;
summernote(command: 'editor.insertNode' | 'insertNode', node: JQuery.Node): JQuery;
summernote(command: 'editor.insertText' | 'insertText', text: string): JQuery;
summernote(command: 'createLink', options: Summernote.CreateLinkOptions): JQuery;
// TODO: Callbacks
// TODO: Editor
// editor.insertImagesOrCallback ??
// editor.afterCommand ??
// editor.resizeTo ??
// editor.resize ??
// editor.saveTarget ??
// editor.isActivated ??
// editor.formatBlock ??
// editor.color ??
// editor.lineHeight ??
// editor.insertTable ??
// editor.insertHorizontalRule ??
// editor.floatMe ??
// editor.removeMedia ??
// editor.currentStyle ??
// editor.getLinkInfo ??
// editor.getSelectedText ??
}
}
export { };
-152
View File
@@ -1,152 +0,0 @@
/* Forked from https://github.com/asiffermann/summernote-image-title */
import $ from 'jquery';
import 'summernote/dist/summernote-bs5.js';
$(function ($) {
$.extend(true, $.summernote.lang, {
'en-US': {
imageFlip: {
edit: 'Flip image',
flipLabel: 'Alternative Image'
}
},
'ko-KR': {
imageFlip: {
edit: '이미지 전환',
flipLabel: '대체 이미지( , 로 구분)'
}
},
});
$.extend($.summernote.options, {
imageFlip: {
icon: '<i class="note-icon-pencil"/>',
tooltip: 'Image Flip'
}
});
$.extend($.summernote.plugins, {
'imageFlip': function (this: Summernote.Plugin, context: Summernote.Context) {
// eslint-disable-next-line @typescript-eslint/no-this-alias
const self = this;
const ui: Summernote.UI = $.summernote.ui;
const $note = context.layoutInfo.note;
const $editor = context.layoutInfo.editor;
const $editable = context.layoutInfo.editable;
//const $toolbar = context.layoutInfo.toolbar;
if (typeof context.options.imageFlip === 'undefined') {
context.options.imageFlip = {};
}
const options = context.options;
const lang = options.langInfo;
context.memo('button.imageFlip', function () {
const button = ui.button({
contents: ui.icon(options.icons.pencil),
container: false,
tooltip: lang.imageFlip.edit,
click: function (/*e: JQuery.Event*/) {
context.invoke('imageFlip.show');
}
});
return button.render();
});
this.initialize = function () {
const $container = options.dialogsInBody ? $(document.body) : $editor;
const body = '<div class="form-group">' +
'<label>' + lang.imageFlip.flipLabel + '</label>' +
'<input class="note-image-flip-text form-control" type="text" />' +
'</div>';
const footer = '<button href="#" class="btn btn-primary note-image-flip-btn">' + lang.imageFlip.edit + '</button>';
this.$dialog = ui.dialog({
title: lang.imageFlip.edit,
body: body,
footer: footer
}).render().appendTo($container);
};
this.destroy = function () {
ui.hideDialog(this.$dialog);
this.$dialog.remove();
};
this.bindEnterKey = function ($input, $btn) {
$input.on('keypress', function (event) {
if (event.keyCode === 13) {
$btn.trigger('click');
}
});
};
type ImgInfo = {
imgDom: JQuery<HTMLElement>;
flip: string;
}
this.show = function () {
const $img = $($editable.data('target'));
const imgInfo = {
imgDom: $img,
flip: $img.data('flip'),
};
this.showLinkDialog(imgInfo).then(function (imgInfo: ImgInfo) {
ui.hideDialog(self.$dialog);
const $img = imgInfo.imgDom;
if (imgInfo.flip) {
$img.attr('data-flip', imgInfo.flip);
}
else {
$img.removeData('flip');
}
$note.val(context.invoke('code'));
$note.change();
});
};
this.showLinkDialog = function (imgInfo: ImgInfo) {
return $.Deferred(function (deferred) {
const $imageFlip = self.$dialog.find('.note-image-flip-text');
const $editBtn = self.$dialog.find('.note-image-flip-btn');
ui.onDialogShown(self.$dialog, function () {
context.triggerEvent('dialog.shown');
$editBtn.click(function (event) {
event.preventDefault();
void deferred.resolve({
imgDom: imgInfo.imgDom,
flip: $imageFlip.val(),
});
});
$imageFlip.val(imgInfo.flip).trigger('focus');
self.bindEnterKey($imageFlip, $editBtn);
});
ui.onDialogHidden(self.$dialog, function () {
$editBtn.off('click');
if (deferred.state() === 'pending') {
void deferred.reject();
}
});
ui.showDialog(self.$dialog);
});
};
}
});
})
-159
View File
@@ -1,159 +0,0 @@
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: '특수문자를 선택하세요',
},
},
});
});
-132
View File
@@ -14,135 +14,3 @@ setAxiosXMLHttpRequest();
htmlReady(function(){
//activateFlip();
})
/*
function guiEditorInit($obj: JQuery<HTMLElement>, editable: boolean) {
const $submitBtn = $obj.find('.submit');
const $noticeInput = $obj.find('.input_form');
const globalVariableName: 'nationMsg' | 'scoutMsg' = $noticeInput.data('global');
const $editForm = $obj.find('.edit_form');
const $cancelEdit = $obj.find('.cancel_edit');
let editMode = false;
function enableEditor() {
editMode = true;
$cancelEdit.show();
let inputText = storedData[globalVariableName];
if (!inputText || inputText == '<p></p>') {
inputText = '<p><br></p>';
}
$editForm.removeClass('viewer').summernote({
minHeight: 200,
maxHeight: undefined,
focus: true,
lang: 'ko-KR',
toolbar: [
// [groupName, [list of button]]
['misc', ['undo', 'redo']],
['style', ['bold', 'italic', 'underline', 'clear']],
['fontname', ['fontname', 'fontsize']],
['font', ['strikethrough', 'superscript', 'subscript']],
['color', ['color']],
['insert', ['picture', 'link', 'video', 'table', 'hr']],
['para', ['ul', 'ol', 'paragraph']],
['height', ['height']],
['misc', ['codeview']]
],
popover: {
image: [
['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],
['float', ['floatLeft', 'floatRight', 'floatNone']],
['remove', ['removeMedia']],
['custom', ['imageFlip']],
],
},
fontNames: ['Pretendard', '맑은 고딕', 'Nanum Gothic', 'Nanum Myeongjo', 'Nanum Pen Script', '굴림', '굴림체', '바탕', '바탕체', '궁서', '궁서체'],
fontSizes: ['8', '9', '10', '11', '12', '14', '16', '20', '24', '28', '32', '36', '40', '46', '52', '60'],
callbacks: {
onImageUpload: function (files) {
$editForm.summernote('saveRange');
if (files.length == 0) {
alert('업로드된 파일이 없습니다.');
return false;
}
const formData = new FormData();
formData.append('img', files[0]);
$editForm.summernote("pasteHtml", '');
$.ajax({
type: 'post',
url: 'j_image_upload.php',
dataType: 'json',
contentType: false,
processData: false,
data: formData
}).then(function (result) {
if (!result.result) {
alert(result.reason);
return;
}
console.log($editForm.summernote('code'));
if ($editForm.summernote('isEmpty')) {
console.log('haha?');
const $img = $('<img>');
$img.attr('src', result.path);
$editForm.summernote('code', $img.html());
return;
}
$editForm.summernote("insertImage", result.path, result.path);
}, function () {
alert('알 수 없는 이유로 아이콘 업로드를 실패했습니다.');
});
}
}
}).summernote('code', inputText);
}
function disableEditor() {
editMode = false;
$editForm.summernote('destroy');
$cancelEdit.hide();
$editForm.html(storedData[globalVariableName]).addClass('viewer');
activateFlip($editForm);
}
$cancelEdit.hide();
$editForm.html(storedData[globalVariableName]);
activateFlip($editForm);
if (editable) {
$submitBtn.prop('disabled', false);
}
else {
$submitBtn.prop('disabled', true);
}
$submitBtn.click(function (e) {
if (!editMode) {
e.preventDefault();
enableEditor();
return false;
}
const text = $editForm.summernote('code');
storedData[globalVariableName] = text;
$noticeInput.val(text);
});
$cancelEdit.click(function (e) {
e.preventDefault();
disableEditor();
});
}
guiEditorInit($('#noticeForm'), editable);
guiEditorInit($('#scoutMsgForm'), editable);
activateFlip();
*/