File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
/**
* Yobi, Project Hosting SW
*
* Copyright 2013 NAVER Corp.
* http://yobi.io
*
* @author Jihan Kim
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
(function(ns){
var oNS = $yobi.createNamespace(ns);
oNS.container[oNS.name] = function(htOptions){
var htVar = {};
var htElement = {};
/**
* initialize
* @param {Hash Table} htOptions
*/
function _init(htOptions){
_initVar(htOptions || {});
_initElement(htOptions || {});
_attachEvent();
_initFileUploader();
_initFileDownloader();
_affixIssueInfoWrap();
}
/**
* initialize variables except HTML Element
*/
function _initVar(htOptions){
htVar.sTplFileItem = $('#tplAttachedFile').text();
htVar.sAction = htOptions.sAction;
htVar.sWatchUrl = htOptions.sWatchUrl;
htVar.sUnwatchUrl = htOptions.sUnwatchUrl;
}
/**
* initialize HTML Element variables
*/
function _initElement(htOptions){
htElement.welUploader = $("#upload");
htElement.welTextarea = $('textarea[data-editor-mode="comment-body"]');
htElement.welAttachments = $(".attachments");
htElement.welBtnWatch = $('#watch-button');
htElement.issueInfoWrap = $(".issue-info");
}
/**
* attach event handler
*/
function _attachEvent(){
htElement.welBtnWatch.click(function(weEvt) {
var welTarget = $(weEvt.target);
var bWatched = (welTarget.attr("data-watching") === "true");
$yobi.sendForm({
"sURL": bWatched ? htVar.sUnwatchUrl : htVar.sWatchUrl,
"fOnLoad": function(){
welTarget
.attr("data-watching", !bWatched)
.toggleClass('ybtn-watching')
.html(Messages(!bWatched ? "post.unwatch" : "post.watch")).blur();
$yobi.notify(Messages(bWatched ? "post.unwatch.start" : "post.watch.start"), 3000);
}
});
});
}
/**
* initialize fileUploader
*/
function _initFileUploader(){
var oUploader = yobi.Files.getUploader(htElement.welUploader, htElement.welTextarea);
if(oUploader){
(new yobi.Attachments({
"elContainer" : htElement.welUploader,
"elTextarea" : htElement.welTextarea,
"sTplFileItem" : htVar.sTplFileItem,
"sUploaderId" : oUploader.attr("data-namespace")
}));
}
}
/**
* initialize fileDownloader
*/
function _initFileDownloader(){
htElement.welAttachments.each(function(i, elContainer){
if(!$(elContainer).data("isYobiAttachment")){
(new yobi.Attachments({"elContainer": elContainer}));
}
});
}
function _affixIssueInfoWrap(){
htElement.issueInfoWrap.affix({
"offset": {
"top": htElement.issueInfoWrap.offset().top - 10
}
});
}
_init(htOptions);
};
})("yobi.board.View");