detail.js 12.7 KB
Newer Older
1 2
/// コンテンツ詳細画面

Masaru Abe committed
3 4
//名前空間用のオブジェクトを用意する
var DETAIL = {};
5

Masaru Abe committed
6
DETAIL.displayData = {
7 8 9
    contentID: "",
    contentTitle: "",
    contentDetail: "",
10
    contentShare: "",
11 12 13 14 15 16 17 18 19 20 21 22
    contentThumbnail: "",
    deliveryDate: (new Date()),
    pages: []
};


// Init function of page
$(document).ready(function () {

});

// Show content detail
Masaru Abe committed
23 24
DETAIL.openContentDetail = function() {
	if(!COMMON.isPdfContent(ClientData.contentInfo_contentType())){
25
		$('#sectionContentDetail').removeClass().addClass('sectiondetailnopdf');
Masaru Abe committed
26 27
	}
	else {
28 29
		$('#sectionContentDetail').removeClass().addClass('sectiondetail');
	}
30

Masaru Abe committed
31 32 33 34
	DETAIL.displayData = {
			contentID: "",
			contentTitle: "",
			contentDetail: "",
35
			contentShare: "",
Masaru Abe committed
36 37 38 39
			contentThumbnail: "",
			deliveryDate: (new Date()),
			pages: []
	};
40

Masaru Abe committed
41 42
	// Clear childs
	$('#book_list').html('');
43 44

    // Clear display info
Masaru Abe committed
45 46
	$("#imgContentThumbnail").attr('src', "img/data_loading.gif");
	DETAIL.resetLoadingImageSize();
47

Masaru Abe committed
48 49 50
	$("#txtContentTitle").text('');
	$("#txtPubDt2_Dsp").text('');
	$("#txtContentDetail").text('');
51

52
	$("#contentDetailClose").unbind("click");
Masaru Abe committed
53
	$("#contentDetailClose").click(DETAIL.contentDetailClose_Click);
54
	$("#contentdetail_dspRead").unbind("click");
Masaru Abe committed
55
	$("#contentdetail_dspRead").click(DETAIL.contentdetail_dspRead_Click);
56

57 58 59 60
	//if( ClientData.serviceOpt_content_share() != '2'){
	//$("#contentdetail_dspShare").click(SHARE.openContentShare);
	$("#contentdetail_dspShare").hide();
	//}
61

Masaru Abe committed
62 63 64 65 66 67
	COMMON.lockLayout();
	$("#contentDetail").css('z-index', 101);
	$("#sectionContentDetail").show();
	$("#contentDetail").show();
	$("#contentDetail").center();
	if ($("#contentDetail").height() > $(window).height()){
68 69 70
		$("#contentDetail").css('top', '0');
	}

Masaru Abe committed
71 72
	// Get contentid, thumbnail from list screen
	DETAIL.displayData.contentID = ClientData.contentInfo_contentId();
73
	DETAIL.displayData.contentThumbnail = ClientData.contentInfo_contentThumbnail();
Masaru Abe committed
74

75 76 77 78 79
	var params = {
		sid: ClientData.userInfo_sid(),
		getType: '1',
		contentId: DETAIL.displayData.contentID
	};
80

Masaru Abe committed
81
	// Get content detail
82
	AVWEB.avwCmsApi(ClientData.userInfo_accountPath(), "webGetContent", "GET", params,
Masaru Abe committed
83 84 85 86 87
			function (data) {
				var contentType = ClientData.contentInfo_contentType();
				// Get content detail
				DETAIL.displayData.contentTitle = data.contentData.contentName;
				DETAIL.displayData.contentDetail = data.contentData.contentDetail;
88 89 90 91 92 93
				if( ClientData.serviceOpt_content_share() == '2'){
					if( data.contentData.readerShare ){
						//SHARE.contentId = DETAIL.displayData.contentID;
						DETAIL.displayData.contentShare = data.contentData.readerShare;
					}
				}
Masaru Abe committed
94
				DETAIL.displayData.deliveryDate = COMMON.convertToDate(data.contentData.deliveryStartDate);
95

Masaru Abe committed
96 97
				//Start Function : No.12 -- Editor : Viet Nguyen -- Date : 08/01/2013 -- Summary : Create new function to return content type of content.
				if(!COMMON.isPdfContent(contentType)){
98
					DETAIL.showContentNotPDF(DETAIL.displayData);
Masaru Abe committed
99 100 101
				}
				else{
					// Get pages
102
					AVWEB.avwCmsApiSync(ClientData.userInfo_accountPath(), "webContentPage", "GET", { contentId: ClientData.contentInfo_contentId(), sid: ClientData.userInfo_sid(), thumbnailFlg: 1, pageNos: '1,2,3,4,5,6'},
Masaru Abe committed
103 104 105 106 107 108 109 110
							function (data) {
								// Get pages
								for (var nIndex = 0; nIndex < data.pages.length; nIndex++) {
									if (nIndex < 6) {
										DETAIL.displayData.pages.push({ pageNo: data.pages[nIndex].pageNo, pageText: data.pages[nIndex].pageText, pageThumbnail: ("data:image/jpeg;base64," + data.pages[nIndex].pageThumbnail) });
									}
								}
								// Show to screen
111
								DETAIL.showContent(DETAIL.displayData);
Masaru Abe committed
112 113 114 115
							},
							null
					);
				}
116

Masaru Abe committed
117
				//End Function : No.12 -- Editor : Viet Nguyen -- Date : 08/01/2013 -- Summary : Create new function to return content type of content.
118

Masaru Abe committed
119 120 121
			},
			null
	);
122 123 124
};

// Close content detail
Masaru Abe committed
125
DETAIL.contentDetailClose_Click = function(e) {
126 127 128
	if( e != null ){
		e.preventDefault();
	}
Masaru Abe committed
129 130 131
	COMMON.unlockLayout();
	$("#contentDetail").hide();
	$("#sectionContentDetail").hide();
132
};
Masaru Abe committed
133

134 135 136 137 138 139
/*
----------------------------------------------------------------------------
Event groups [start]
----------------------------------------------------------------------------
*/

Masaru Abe committed
140 141 142
DETAIL.contentdetail_dspRead_Click = function(e) {
	e.preventDefault();
	var outputId = ClientData.contentInfo_contentId();
Masaru Abe committed
143
	LIMIT_ACCESS_CONTENT.checkLimitContent(outputId,
Masaru Abe committed
144 145 146 147 148 149 150
			function () {
				DETAIL.contentdetail_dspRead_Click_callback(outputId);
			},
			function(){
			},
			1
	);
151 152
};

Masaru Abe committed
153
DETAIL.contentdetail_dspRead_Click_callback = function(outputId) {
154

Masaru Abe committed
155 156 157 158 159 160
	var date = new Date();
	var month = date.getMonth() + 1;
	var day = date.getDate();
	var outputDate = COMMON.formatNormalDate(day, month, date.getFullYear());
	var contentIdArray = [];
	var checkflag = false;
161

Masaru Abe committed
162 163 164
	//Store Content id that user has read
	if (ClientData.ReadingContentIds().length > 0) {
		contentIdArray = ClientData.ReadingContentIds();
165

Masaru Abe committed
166 167 168 169 170 171 172 173 174 175 176 177 178
		for (var nIndex = 0; nIndex < contentIdArray.length; nIndex++) {
			if (contentIdArray[nIndex].contentid == outputId) {
				checkflag = true;
				if (contentIdArray[nIndex].viewdate == '' || contentIdArray[nIndex].viewdate == null || contentIdArray[nIndex].viewdate == 'undefined') {
					contentIdArray[nIndex].viewdate = outputDate;
					contentIdArray[nIndex].originviewdate = date;
				}
				break;
			}
			else {
				checkflag = false;
			}
		}
179

Masaru Abe committed
180 181 182 183 184 185 186
		if (!checkflag) {
			contentIdArray.push({ contentid: outputId, viewdate: outputDate, originviewdate: date });
		}
	}
	else {
		contentIdArray.push({ contentid: outputId, viewdate: outputDate, originviewdate: date });
	}
187

Masaru Abe committed
188 189 190
	//Renew ReadingContentID
	var newArray = [];
	ClientData.ReadingContentIds(newArray);
191

Masaru Abe committed
192 193
	//Set data for readingcontentid
	ClientData.ReadingContentIds(contentIdArray);
194

Masaru Abe committed
195 196
	//Set ResouceVersion for content
	COMMON.setResourceVersionData(outputId);
197

Masaru Abe committed
198 199
	//Set MetaVersion for content
	COMMON.setMetaVersionData(outputId);
200 201

	// Redirect to screen: contentview
Masaru Abe committed
202 203
	//$('body,html').animate({ scrollTop: 0 }, 0);
	ClientData.IsRefresh(false);
204

Masaru Abe committed
205 206 207 208 209 210 211 212 213
	if (ClientData.contentInfo_contentType() == COMMON.ContentTypeKeys.Type_Others) {
		// Get content detail
		HEADER.downloadResourceById(ClientData.contentInfo_contentId());
	}
	else if(ClientData.contentInfo_contentType() == COMMON.ContentTypeKeys.Type_Link){
		// Get content detail
		HEADER.viewLinkContentById(ClientData.contentInfo_contentId());
	}
	else {
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
		//AVWEB.avwScreenMove(COMMON.ScreenIds.ContentView);
    	//試験
		//詳細閉じる
		DETAIL.contentDetailClose_Click(null);
		if( $('#bookshelf').length || $('#list').length ){
			//ビューア表示
			HOME.showContentView();
		} else if( $('#bookmark').length ){
			//ビューア表示
			BOOKMARK.showContentView();
		} else if( $('#history').length ){
			//ビューア表示
			HISTORY.showContentView();
		} else if( $('#contentsearch').length ){
			//ビューア表示
			CONTENTSEARCH.showContentView();
		}
Masaru Abe committed
231
	}
232 233 234 235
};

//Start Function : No.12 -- Editor : Viet Nguyen -- Date : 08/01/2013 -- Summary : Create new function to return content type of content.

236 237 238 239 240
DETAIL.showContentNotPDF = function(displayData) {
    $("#txtPubDt2_Dsp").text(displayData.deliveryDate.jpDateString() + " " + displayData.deliveryDate.jpShortTimeString());
    $("#txtContentDetail").text(displayData.contentDetail);
    //$("#txtContentTitle").text(COMMON.truncate(displayData.contentTitle, 20));
    $("#txtContentTitle").text(displayData.contentTitle);
241

242 243 244 245 246
    //コンテンツ共有
    if( displayData.contentShare == '1' ){
        SHARE.contentId = displayData.contentID;
        SHARE.contentTitle = displayData.contentTitle;
        $("#contentdetail_dspShare").show();
247
    	$("#contentdetail_dspShare").unbind("click");
248 249
        $("#contentdetail_dspShare").click(SHARE.openContentShare);
    }
250

251
    var tempContentType = ClientData.contentInfo_contentType();
252

253
    if(displayData.contentThumbnail == '' || displayData.contentThumbnail == null || displayData.contentThumbnail == 'undefined'){
Masaru Abe committed
254
        if(!COMMON.isPdfContent(tempContentType)){
255
            var src = HEADER.getThumbnailForOtherType(contentType);
256
            if( src != '' ){
257
            	displayData.contentThumbnail = src;
258
            }
259
        }
260 261
        //}else{
        //contentThumbnail = contentThumbnail;
262
    }
263

264
    var imgTemp = new Image();
265
    $("#imgContentThumbnail").attr("src", displayData.contentThumbnail);
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
    imgTemp.onload = function () {

        //resize Image
        if (imgTemp.width > imgTemp.height) {

            $("#imgContentThumbnail").attr('height', '');
            $("#imgContentThumbnail").removeAttr('height');
            $("#imgContentThumbnail").attr('width', '120');
            var realHeight = (120 * imgTemp.height) / imgTemp.width;
            $("#imgContentThumbnail").css('padding-top', (145 - realHeight)/2 + "px");
        }
        else {
            $("#imgContentThumbnail").attr('width', '');
            $("#imgContentThumbnail").removeAttr('width');
            $("#imgContentThumbnail").attr('height', '120');
281

282 283 284 285
            $("#imgContentThumbnail").css('padding-top', "12px");
        }

    };
286

287
    imgTemp.src = displayData.contentThumbnail;
288 289 290 291 292
};

//End Function : No.12 -- Editor : Viet Nguyen -- Date : 08/01/2013 -- Summary : Create new function to return content type of content.

// Show detail content
293 294 295
DETAIL.showContent = function(displayData) {
    $("#txtPubDt2_Dsp").text(displayData.deliveryDate.jpDateString() + " " + displayData.deliveryDate.jpShortTimeString());
    $("#txtContentDetail").text(displayData.contentDetail);
296 297
    $("#txtContentTitle").text(displayData.contentTitle);

298 299 300 301 302
    //コンテンツ共有
    if( displayData.contentShare == '1' ){
        SHARE.contentId = displayData.contentID;
        SHARE.contentTitle = displayData.contentTitle;
        $("#contentdetail_dspShare").show();
303
    	$("#contentdetail_dspShare").unbind("click");
304 305
        $("#contentdetail_dspShare").click(SHARE.openContentShare);
    }
306

307
    $("#imgContentThumbnail").attr("src", displayData.contentThumbnail);
308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
    var imgTemp = new Image();

    imgTemp.onload = function () {

        //resize Image
        if (imgTemp.width > imgTemp.height) {

            $("#imgContentThumbnail").attr('height', '');
            $("#imgContentThumbnail").removeAttr('height');
            $("#imgContentThumbnail").attr('width', '120');
            var realHeight = (120 * imgTemp.height) / imgTemp.width;
            $("#imgContentThumbnail").css('padding-top', (145 - realHeight)/2 + "px");
        }
        else {
            $("#imgContentThumbnail").attr('width', '');
            $("#imgContentThumbnail").removeAttr('width');
            $("#imgContentThumbnail").attr('height', '120');

            $("#imgContentThumbnail").css('padding-top', "12px");
        }

    };
330

331
    imgTemp.src = displayData.contentThumbnail;
332

333 334
    //resizeThumbnailContentDetail(contentThumbnail, 120, 160);
    // Show pages
335
    for (var nIndex = 0; nIndex < displayData.pages.length; nIndex++) {
336
        //insertRow(imgSample, pages[nIndex].pageText, pages[nIndex].pageNo);
337
    	DETAIL.insertRow(displayData.pages[nIndex].pageThumbnail, COMMON.truncate(COMMON.getLines(displayData.pages[nIndex].pageText, 3), 45), displayData.pages[nIndex].pageNo); //55
338 339 340
    }
};

Masaru Abe committed
341
DETAIL.insertRow = function(pageThumbnail, pageText, pageNo) {
342 343 344
    var newRow = "";
    newRow += "<ul>";
    newRow += '<li class="list_img"><img src="' + pageThumbnail + '" alt="" width="90" /></li>';
Masaru Abe committed
345
    newRow += '<li class="list_title"><a href="#">' + COMMON.htmlEncode(pageText) + '</a></li>';
346
    newRow += '<li class="page"><label id="Label2" class="lang" lang="txtPage">' + I18N.i18nText('txtPage') + '</label>' + pageNo + '</li>';
347 348 349
    newRow += "</ul>";

    $('#book_list').append(newRow);
350
    I18N.i18nReplaceText();
351

352 353
    //Resize Image
    var imgTemp = new Image();
354

355
    imgTemp.onload = function(){
356

357
    	if(imgTemp.width > imgTemp.height) {
358

359 360 361 362 363 364 365 366 367 368
    		$("li.list_img img").attr('height', '');
    		$("li.list_img img").removeAttr('height');
    		$("li.list_img img").attr('width', '90');
    	}
    	else {
    		$("li.list_img img").attr('width', '');
    		$("li.list_img img").removeAttr('width');
    		$("li.list_img img").attr('height', '90');
    	}
	};
369

370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
    imgTemp.src = pageThumbnail;
};

/*
----------------------------------------------------------------------------
Event groups [ end ]
----------------------------------------------------------------------------
*/

/*
----------------------------------------------------------------------------
Setting dialog [start]
----------------------------------------------------------------------------
*/
/*
----------------------------------------------------------------------------
Setting dialog [ end ]
----------------------------------------------------------------------------
*/
Masaru Abe committed
389 390

DETAIL.resetLoadingImageSize = function(){
391 392 393
	$("#imgContentThumbnail").attr('height','25px');
	$("#imgContentThumbnail").attr('width','25px');
};