gdidc/webedit/Editor.html
2021-10-26 18:19:06 +09:00

108 lines
3.3 KiB
HTML

<?
// 웹에디터 필드명
if($edit_name == "") $edit_name = "contents";
if($edit_width == "") $edit_width="100%";
if($edit_height == "") $edit_height="400";
if($edit_skin == "") $edit_skin="";
if($edit_lang == "") $edit_lang="en-US";
?>
<?if($edit_skin=="summernote"){?>
<input type="hidden" id="<?=$edit_name?>" name="<?=$edit_name?>">
<div id="summernote_<?=$edit_name?>"><?=$edit_content?></div>
<script>
$(document).ready(function() {
$('#summernote_<?=$edit_name?>').summernote({
placeholder: '내용을 입력해 주세요.',
tabsize: 2,
width: '<?=$edit_width?>',
height: '<?=$edit_height?>',
lang: '<?=$edit_lang?>',
minHeight: null,
maxHeight: null,
focus: false,
shortcuts: false,
dialogsInBody: true,
callbacks: {
onImageUpload: function(files, editor, welEditable) {
for (var i = 0; i < files.length; i++) {
sendFile(files[i], this);
}
}
}
});
});
function sendFile(file, el) {
var form_data = new FormData();
form_data.append('file', file);
$.ajax({
data: form_data,
type: "POST",
url: '/common/lib/summernote/upload.php',
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
async: false,
success: function(url) {
$(el).summernote('editor.insertImage', url);
}
});
}
</script>
<?}else{?>
<script type="text/javascript" src="/webedit/js/service/HuskyEZCreator.js" charset="utf-8"></script>
<textarea name="<?=$edit_name?>" id="<?=$edit_name?>" rows="10" cols="100" style="width:<?=$edit_width?>; height:<?=$edit_height?>px; display:none;"><?=$edit_content?></textarea>
<script type="text/javascript">
var oEditors_<?=$edit_name?> = [];
var sLang = "ko_KR"; // 언어 (ko_KR/ en_US/ ja_JP/ zh_CN/ zh_TW), default = ko_KR
// 추가 글꼴 목록
var aAdditionalFontSet = [["Noto Sans KR", "Noto Sans KR"]];
nhn.husky.EZCreator.createInIFrame({
oAppRef: oEditors_<?=$edit_name?>,
elPlaceHolder: "<?=$edit_name?>",
sSkinURI: "/webedit/SmartEditor2Skin.html",
htParams : {
bUseToolbar : true, // 툴바 사용 여부 (true:사용/ false:사용하지 않음)
bUseVerticalResizer : true, // 입력창 크기 조절바 사용 여부 (true:사용/ false:사용하지 않음)
bUseModeChanger : true, // 모드 탭(Editor | HTML | TEXT) 사용 여부 (true:사용/ false:사용하지 않음)
bSkipXssFilter : true, // client-side xss filter 무시 여부 (true:사용하지 않음 / 그외:사용)
aAdditionalFontList : aAdditionalFontSet, // 추가 글꼴 목록
fOnBeforeUnload : function(){
//alert("완료!");
},
I18N_LOCALE : sLang
}, //boolean
fOnAppLoad : function(){
setDefaultFont_<?=$edit_name?>();
//예제 코드
//oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
},
fCreator: "createSEditor2"
});
function submitContents(elClickedObj) {
oEditors_<?=$edit_name?>.getById["<?=$edit_name?>"].exec("UPDATE_CONTENTS_FIELD", []); // 에디터의 내용이 textarea에 적용됩니다.
// 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다.
try {
elClickedObj.form.submit();
} catch(e) {}
}
function setDefaultFont_<?=$edit_name?>() {
var sDefaultFont = '나눔고딕';
var nFontSize = '9';
oEditors_<?=$edit_name?>.getById["<?=$edit_name?>"].setDefaultFont(sDefaultFont, nFontSize);
}
</script>
<?}?>