• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account Log out
  • Favorite
  • Project
  • Recent History
Loading...
  • Log in
  • Sign up
kadrians / Testing_for_YONA star
  • Project homeH
  • CodeC
  • IssueI 1
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB 2
  • Files
  • Commit
  • Branches
Testing_for_YONAsourcepublicjavascriptscommonyobi.CommentForm.js
Download as .zip file
File name
Commit message
Commit date
bin
Yona 1.16.0 Upload
02-04
lib
Yona 1.16.0 Upload
02-04
share/doc/api
Yona 1.16.0 Upload
02-04
source
Source Code Upload
02-04
README.md
Yona 1.16.0 Upload
02-04
File name
Commit message
Commit date
app
Source Code Upload
02-04
conf
Source Code Upload
02-04
docs
Source Code Upload
02-04
lib
Source Code Upload
02-04
project
Source Code Upload
02-04
public
Source Code Upload
02-04
support-script
Source Code Upload
02-04
test
Source Code Upload
02-04
.gitignore
Source Code Upload
02-04
.mailmap
Source Code Upload
02-04
.travis.yml
Source Code Upload
02-04
AUTHORS
Source Code Upload
02-04
LICENSE
Source Code Upload
02-04
NOTICE
Source Code Upload
02-04
README.md
Source Code Upload
02-04
build.sbt
Source Code Upload
02-04
dev.sh
Source Code Upload
02-04
dist.sh
Source Code Upload
02-04
is-alive-bot.sh
Source Code Upload
02-04
minify-js.sh
Source Code Upload
02-04
restart.sh
Source Code Upload
02-04
File name
Commit message
Commit date
bootstrap
Source Code Upload
02-04
help
Source Code Upload
02-04
images
Source Code Upload
02-04
javascripts
Source Code Upload
02-04
stylesheets
Source Code Upload
02-04
compiler.jar
Source Code Upload
02-04
File name
Commit message
Commit date
common
Source Code Upload
02-04
lib
Source Code Upload
02-04
service
Source Code Upload
02-04
template
Source Code Upload
02-04
yona-common.js
Source Code Upload
02-04
yona-layout.js
Source Code Upload
02-04
yona-lib.js
Source Code Upload
02-04
File name
Commit message
Commit date
yobi.Attachments.js
Source Code Upload
02-04
yobi.CodeCommentBlock.js
Source Code Upload
02-04
yobi.CodeCommentBox.js
Source Code Upload
02-04
yobi.Comment.js
Source Code Upload
02-04
yobi.CommentForm.js
Source Code Upload
02-04
yobi.Common.js
Source Code Upload
02-04
yobi.Files.js
Source Code Upload
02-04
yobi.Interval.js
Source Code Upload
02-04
yobi.LoginDialog.js
Source Code Upload
02-04
yobi.Markdown.js
Source Code Upload
02-04
yobi.Mention.js
Source Code Upload
02-04
yobi.OriginalMessage.js
Source Code Upload
02-04
yobi.Pagination.js
Source Code Upload
02-04
yobi.ShortcutKey.js
Source Code Upload
02-04
yobi.WatcherList.js
Source Code Upload
02-04
yobi.ui.Calendar.js
Source Code Upload
02-04
yobi.ui.Dialog.js
Source Code Upload
02-04
yobi.ui.Dropdown.js
Source Code Upload
02-04
yobi.ui.Mergely.js
Source Code Upload
02-04
yobi.ui.Select2.js
Source Code Upload
02-04
yobi.ui.Tabs.js
Source Code Upload
02-04
yobi.ui.Toast.js
Source Code Upload
02-04
yobi.ui.Typeahead.js
Source Code Upload
02-04
yona.CommentAttachmentsUpdate.js
Source Code Upload
02-04
yona.KeyControl.js
Source Code Upload
02-04
yona.ReceiverList.js
Source Code Upload
02-04
yona.Sha1.js
Source Code Upload
02-04
yona.SubComment.js
Source Code Upload
02-04
yona.Subtask.js
Source Code Upload
02-04
yona.Tasklist.js
Source Code Upload
02-04
yona.TitleHeadAutoCompletion.js
Source Code Upload
02-04
yona.Usermenu.js
Source Code Upload
02-04
Nell 02-04 2600fe6 Source Code Upload UNIX
Raw Open in browser Change history
/** * Yona, 21st Century Project Hosting SW * <p> * Copyright Yona & Yobi Authors & NAVER Corp. & NAVER LABS Corp. * https://yona.io **/ $(function(){ "use strict"; var elements = {}; /** * Initialize */ function init(){ _initElement(); _attachEvent(); } /** * Initialize element variables * @private */ function _initElement(){ elements.commentForm = $("#comment-form"); elements.textarea = elements.commentForm.find("textarea"); } /** * Attach event handlers */ function _attachEvent(){ elements.commentForm.submit(onSubmitCommentForm); $(window).on("keydown", onKeydownWindow); $(window).on("beforeunload", onBeforeUnloadWindow); temporarySaveHandler(elements.textarea); } /** * Handles submit event of commentForm * * @returns {boolean} */ function onSubmitCommentForm(event){ removeCurrentPageTemprarySavedContent(); elements.textarea.off(); clearTimeout(window.draftSavingTimeout); event.preventDefault(); var that = this; if(isCommentBodyEmpty()){ $yobi.notify(Messages("post.comment.empty"), 3000); elements.textarea.focus(); return false; } if(isOnSubmit()){ return false; } elements.commentForm.data("onsubmit", true); NProgress.start(); setTimeout(function () { that.submit(); }, 300); } /** * Returns true if comment body is empty * Space characters(\s) will be excluded from count string length. * * @returns {boolean} */ function isCommentBodyEmpty(){ return !(elements.textarea.val().trim().length); } /** * Returns true if comment form is marked as "onsubmit" * * @returns {*} */ function isOnSubmit(){ return elements.commentForm.data("onsubmit"); } /** * Handles keydown event of window * Hide spinner when form submit has cancelled with ESC key in WebBrowser. * * @param evt */ function onKeydownWindow(evt){ if (isEscapeKeyPressed(evt) && isOnSubmit()){ NProgress.done(); elements.commentForm.data("onsubmit", false); } } /** * Handles beforeunload event of window * In case of commentBody is not empty, show confirm to exit page. * Browser will shows confirm dialog with returned message string. */ function onBeforeUnloadWindow(){ if(!isCommentBodyEmpty() && !isOnSubmit()){ return Messages("common.comment.beforeunload.confirm"); } } /** * Returns whether ESC(keyCode: 27) has pressed from event * * @param weEvt * @returns {boolean} */ function isEscapeKeyPressed(evt){ return (evt.keyCode && evt.keyCode === 27); } init(); });

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
login with Google Sign in with Google
Reset password | Sign up