PageRenderTime 241ms CodeModel.GetById 28ms RepoModel.GetById 2ms app.codeStats 0ms

/plugin/smarteditor2/js_src/attach/attach_photo/hp_SE2M_AttachQuickPhoto.js

https://github.com/rokmc820/g4dtd
JavaScript | 104 lines | 63 code | 17 blank | 24 comment | 7 complexity | 8333ac04e58a574e22c215ab14e2269c MD5 | raw file
Possible License(s): AGPL-3.0
  1. /**
  2. * @use 간단 포토 업로드용으로 제작되었습니다.
  3. * @author cielo
  4. * @See nhn.husky.SE2M_Configuration
  5. * @ 팝업 마크업은 SimplePhotoUpload.html과 SimplePhotoUpload_html5.html이 있습니다.
  6. */
  7. nhn.husky.SE2M_AttachQuickPhoto = jindo.$Class({
  8. name : "SE2M_AttachQuickPhoto",
  9. $init : function(){},
  10. $ON_MSG_APP_READY : function(){
  11. this.oApp.exec("REGISTER_UI_EVENT", ["photo_attach", "click", "ATTACHPHOTO_OPEN_WINDOW"]);
  12. },
  13. $LOCAL_BEFORE_FIRST : function(sMsg){
  14. if(!!this.oPopupMgr){ return; }
  15. // Popup Manager에서 사용할 param
  16. this.htPopupOption = {
  17. oApp : this.oApp,
  18. sName : this.name,
  19. bScroll : false,
  20. sProperties : "",
  21. sUrl : ""
  22. };
  23. this.oPopupMgr = nhn.husky.PopUpManager.getInstance(this.oApp);
  24. },
  25. /**
  26. * 포토 웹탑 오픈
  27. */
  28. $ON_ATTACHPHOTO_OPEN_WINDOW : function(){
  29. this.htPopupOption.sUrl = this.makePopupURL();
  30. this.htPopupOption.sProperties = "left=0,top=0,width=383,height=339,scrollbars=no,location=no,status=0,resizable=no";
  31. this.oPopupWindow = this.oPopupMgr.openWindow(this.htPopupOption);
  32. // 처음 로딩하고 IE에서 커서가 전혀 없는 경우
  33. // 복수 업로드시에 순서가 바뀜
  34. this.oApp.exec('FOCUS');
  35. return (!!this.oPopupWindow ? true : false);
  36. },
  37. /**
  38. * 서비스별로 팝업에 parameter를 추가하여 URL을 생성하는 함수
  39. * nhn.husky.SE2M_AttachQuickPhoto.prototype.makePopupURL로 덮어써서 사용하시면 됨.
  40. */
  41. makePopupURL : function(){
  42. var sPopupUrl = "./popup/quick_photo/Photo_Quick_UploadPopup.php";
  43. return sPopupUrl;
  44. },
  45. /**
  46. * 팝업에서 호출되는 메세지.
  47. */
  48. $ON_SET_PHOTO : function(aPhotoData){
  49. var sContents,
  50. aPhotoInfo,
  51. htData;
  52. if( !aPhotoData ){
  53. return;
  54. }
  55. try{
  56. sContents = "";
  57. for(var i = 0; i <aPhotoData.length; i++){
  58. htData = aPhotoData[i];
  59. if(!htData.sAlign){
  60. htData.sAlign = "";
  61. }
  62. aPhotoInfo = {
  63. sName : htData.sFileName || "",
  64. sOriginalImageURL : htData.sFileURL,
  65. bNewLine : htData.bNewLine || false
  66. };
  67. sContents += this._getPhotoTag(aPhotoInfo);
  68. }
  69. this.oApp.exec("PASTE_HTML", [sContents]); // 위즐 첨부 파일 부분 확인
  70. }catch(e){
  71. // upload시 error발생에 대해서 skip함
  72. return false;
  73. }
  74. },
  75. /**
  76. * @use 일반 포토 tag 생성
  77. */
  78. _getPhotoTag : function(htPhotoInfo){
  79. // id와 class는 썸네일과 연관이 많습니다. 수정시 썸네일 영역도 Test
  80. var sTag = '<img src="{=sOriginalImageURL}" title="{=sName}" >';
  81. if(htPhotoInfo.bNewLine){
  82. sTag += '<br style="clear:both;">';
  83. }
  84. sTag = jindo.$Template(sTag).process(htPhotoInfo);
  85. return sTag;
  86. }
  87. });