Skip to content

Instantly share code, notes, and snippets.

@huydx
Created January 5, 2015 11:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save huydx/7defd564455e7394168c to your computer and use it in GitHub Desktop.
Save huydx/7defd564455e7394168c to your computer and use it in GitHub Desktop.
ngg.js
function trace() {
"use strict";
var a = window.env || window.setting.env;
if ("STAGING" !== a && "PRODUCT" !== a) {
for (var b = [], c = 0; c < arguments.length; c++) b.push(arguments[c]);
window.console.log(b)
}
}! function() {
"use strict";
var a = new UAParser,
b = a.getOS().name;
angular.module("ngg.config", []), angular.module("ngg.filter", []), angular.module("ngg.utils", ["ngg.config"]), angular.module("ngg.core", ["ngCollection", "ngg.config", "ngg.utils"]), angular.module("ngg.service", ["ngg.config", "ngg.core", "ngg.utils"]), angular.module("ngg.template.pc", []), angular.module("ngg.template.sp", []);
var c = "iOS" !== b && "Android" !== b ? "ngg.template.pc" : "ngg.template.sp";
c = "pg-cp-2015cm" === $("body").attr("id") ? "ngg.template.sp" : c, angular.module("ngg.directive", ["ngSanitize", "ngg.config", "ngg.utils", "ngg.service", "ngg.filter", c]), angular.module("ngg.controller", ["ngg.config", "ngg.filter", "ngg.service", "ngg.directive"]), angular.module("nanagogo", ["ngg.controller"])
}(), angular.module("ngg.config").factory("ApiService", ["$http", "Setting", "Const", function(a, b, c) {
"use strict";
var d = 2e4;
return {
talk: {
talkInfo: {
fetch: function(c) {
var e = {};
return e.url = b.get("apiBase") + "/api/talk/info", e.method = "GET", e.responseType = "json", e.timeout = d, e.params = {}, e.params = {
talkIds: b.get("talkId")
}, c && angular.extend(e.params, c), a(e)
}
},
posts: {
fetch: function(e) {
var f = {};
return f.url = b.get("apiBase") + "/api/talk/post/list", f.method = "GET", f.responseType = "json", f.timeout = d, f.params = {
talkId: b.get("talkId"),
postId: 0,
direction: c.POST_LIST_API_DIRECTION_PREV,
size: 10
}, e && angular.extend(f.params, e), a(f)
}
},
post: {
fetch: function() {
var c = {};
return c.url = b.get("apiBase") + "/api/talk/post/detail/" + b.get("talkId") + "/" + b.get("postId"), c.method = "GET", c.responseType = "json", c.timeout = d, a(c)
}
},
joinTalkList: {}
},
official: {
hot: {
fetch: function(c) {
var e = {};
return e.url = b.get("apiBase") + "/published/hotOfficial/public", e.method = "GET", e.responseType = "json", e.timeout = d, e.params = {
limit: 4
}, c && angular.extend(e.params, c), a(e)
}
}
},
general: {
hot: {
fetch: function(c) {
var e = {};
return e.url = b.get("apiBase") + "/published/hotGeneral/public", e.method = "GET", e.responseType = "json", e.timeout = d, e.params = {
limit: 4
}, c && angular.extend(e.params, c), a(e)
}
}
},
ameba: {
newsFlash: {
fetch: function(c) {
var e = {};
return e.url = b.get("apiBase") + "/rss/rss20.xml", e.method = "GET", e.timeout = d, e.params = {}, c && angular.extend(e.params, c), a(e)
}
}
}
}
}]), angular.module("ngg.config").constant("Const", function() {
"use strict";
return {
POST_TYPE_TEXT: 1,
POST_TYPE_STAMP: 2,
POST_TYPE_IMAGE: 3,
POST_TYPE_QUOTATION: 4,
POST_TYPE_RETALK: 5,
BODY_TYPE_TEXT: 1,
BODY_TYPE_STAMP: 2,
BODY_TYPE_IMAGE: 3,
BODY_TYPE_QUOTATION: 4,
BODY_TYPE_TALKID: 5,
BODY_TYPE_USERID: 6,
PUBLISH_STATUS_COMING: 1,
PUBLISH_STATUS_PUBLIC: 2,
PUBLISH_STATUS_FINISH: 3,
PUBLISH_STATUS_LOCKED: 4,
OS_TYPE_ANDROID: "Android",
OS_TYPE_IOS: "iOS",
OS_TYPE_OTHER: "other",
SCHEME_LINK_TYPE_HELP: "help",
SCHEME_LINK_TYPE_STORE: "store",
SCHEME_LINK_TYPE_TALK: "talk",
ORIENTATION_PORTRAIT: "orientation_portrait",
ORIENTATION_LANDSCAPE: "orientation_landscape",
POST_LIST_API_DIRECTION_NEXT: "NEXT",
POST_LIST_API_DIRECTION_PREV: "PREV",
MAX_TWEET_TEXT_NUM: 140,
MAX_LINE_TEXT_NUM: 500
}
}()), angular.module("ngg.config").constant("Event", function() {
"use strict";
return {
RUN_LOAD_COMPELET: "run_load_complete",
LOAD_COMPELET: "load_complete",
LOAD_ERROR: "load_error",
SHOW_POPUP_ABOUT: "show_popup_about",
POST_COMPILE_COMPLETE: "post_compile_complete",
MOUSE_HOVER: "mouse_hover",
MOUSE_LEAVE: "mouse_leave",
ORIENTATION_PORTRAIT: "orientation_portrait",
ORIENTATION_LANDSCAPE: "orientation_landscape",
SCROLL_INFINITY_START: "scroll_infinity_start",
SCROLL_INFINITY_END: "scroll_infinity_end",
NG_REPEAT_FINISHED: "ngRepeatFinished"
}
}()), angular.module("ngg.config").factory("Setting", ["$window", function(a) {
"use strict";
var b = a.setting,
c = function() {
var a = {};
return a.index = b.contextPath + "/", a.posts = b.contextPath + "/lp", a.post = "WEB" === b.env ? b.contextPath + "/post" : b.contextPath + "/post", a.official = b.contextPath + "/official", a
},
d = {
paths: c(),
talkId: "",
postId: "",
env: "",
contextPath: "",
version: "",
playUrl: "",
storeUrl: "",
stat: "",
webStatBase: "",
apiBase: "",
lpTalkType: ""
};
b && (d = angular.extend(d, b));
var e = function() {
this.set = function(a, b) {
d[a] = b
}, this.get = function(a) {
var b;
return a ? (b = d[a], (void 0 === b || null === b) && trace("縲 Attention!!!! 縲> [" + a + "]縺ョ繝��繧ソ繝シ縺ッ縺ゅj縺セ縺帙s", b)) : b = d, b
}
};
return trace("env > 螳溯。檎腸蠅", d.env), trace("webStatBase > stat縺ョ繝吶�繧ケurl", d.webStatBase), trace("apiBaseUrl > api縺ョ繝吶�繧ケurl", d.apiBase), new e
}]), angular.module("ngg.config").factory("UAParser", ["Const", function(a) {
"use strict";
var b = new UAParser,
c = b.getOS(),
d = b.getBrowser();
return angular.extend(b, {
isIE: function() {
return "IE" === d.name
},
isPC: function() {
return c.name !== a.OS_TYPE_IOS && c.name !== a.OS_TYPE_ANDROID
},
isSP: function() {
return c.name === a.OS_TYPE_IOS || c.name === a.OS_TYPE_ANDROID
},
isAndroid: function() {
return c.name === a.OS_TYPE_ANDROID
},
isiOS: function() {
return c.name === a.OS_TYPE_IOS
},
checkVersion: function(a) {
if (void 0 === a || null === a) throw new Error("utils/UAParser > version縺ョ謖�ョ壹′縺ゅj縺セ縺帙s");
var b = !0,
c = d.version.split("."),
e = a.split(".");
return angular.forEach(e, function(a, d) {
c[d] !== a && (b = !1)
}), b
}
}), b
}]), angular.module("ngg.config").factory("Urls", ["$window", function(a) {
"use strict";
var b = a.urls;
return {
getUrls: function(a) {
return b[a] || null
}
}
}]), angular.module("ngg.core").factory("CoreModel", ["$http", "$q", "ApiService", "ArrayUtil", function(a, b, c, d) {
"use strict";
var e = function(a) {
var c = this;
this.api = a, this.database = {}, this.get = function(a) {
return this.database[a]
}, this.set = function(a, b) {
this.database[a] = b
}, this.getData = function(a) {
return a ? this.database[a] : this.database
}, this._setData = function(a, b) {
this.set(a, b)
}, this.add = function(a, b) {
return this.database[a] = this.database[a].concat(b), this.database[a]
}, this.reduce = function(a, b) {
var c = this.database[a];
if (c.length > b) {
var d = c.length - b;
c.splice(0, d)
}
return c
}, this.merge = function(a, b, c) {
var e = d.merge(this.getData(a), b, c);
this.hasMergeDiffed = e.hasMergeDiffed
}, this.hasMergeDiffed = !1, this.fetch = function(a) {
if (!angular.isUndefined(this.api)) {
var d = b.defer();
return this.api.fetch(a).success(function(a) {
c._setData("data", a), d.resolve(a)
}).error(function(a, b) {
d.reject({
status: b
})
}), d.promise
}
}
};
return e
}]), angular.module("ngg.utils").factory("ArrayUtil", ["Const", "$filter", function(a, b) {
"use strict";
return {
isEmpty: function(a) {
return angular.isUndefined(a) || null === a ? !0 : a.length <= 0 ? !0 : !1
},
concat: function(a, b) {
return Array.prototype.push.apply(a, b)
},
merge: function(a, c, d) {
var e = null,
f = [],
g = null,
h = !1;
if (0 !== a.length) {
for (var i = 0, j = c.length; j > i; i++) {
e = c[i];
for (var k = {}, l = 0; l < d.length; l++) {
var m = d[l];
k[m] = e[m]
}
var n = b("filter")(a, d);
n.length <= 0 && (h = !0, f.push(e))
}
g = Array.prototype.push.apply(a, f)
} else 0 !== c.length && (h = !0), g = Array.prototype.push.apply(a, c);
return {
result: g,
hasMergeDiffed: h
}
},
shuffle: function(a) {
for (var b = a.length; b;) {
var c = Math.floor(Math.random() * b),
d = a[--b];
a[b] = a[c], a[c] = d
}
return a
}
}
}]).factory("ImageUtil", ["Const", function() {
"use strict";
var a = 200,
b = 200;
return {
getNaturalSize: function(a) {
if (void 0 !== a) {
if (void 0 !== a.naturalWidth && void 0 !== a.naturalHeight) return {
width: a.naturalWidth,
height: a.naturalHeight
};
a = a.cloneNode(!1), a.style.cssText = "", a.removeAttribute("width"), a.removeAttribute("height"), document.body.appendChild(a);
var b = a.width,
c = a.height;
return {
width: b,
height: c
}
}
},
resize: function(c, d) {
var e, f, g = void 0 === d.maxWidth ? a : d.maxWidth,
h = void 0 === d.maxHeight ? b : d.maxHeight,
i = this.getNaturalSize(c),
j = i.width,
k = i.height,
l = k / j,
m = !1;
if (l >= 1 ? (m = !0, e = g, f = k * g / j) : (e = j * h / k, f = h), $(c).css({
display: "block",
width: e + "px",
height: f + "px"
}), m)
if (void 0 !== d.startX) {
var n = f * d.startX,
o = f - (n + h);
c.style.marginTop = o >= 0 ? -Math.floor(n) + "px" : -Math.floor(f - h) + "px"
} else c.style.marginTop = -Math.floor((f - h) / 2) + "px";
else c.style.marginLeft = -Math.floor((e - g) / 2) + "px"
}
}
}]).factory("SNSUtil", ["$window", function(a) {
"use strict";
var b = !1,
c = !1;
return {
twitter: {
init: function() {
if (!b) {
{
(function(a, b, c) {
var d, e = a.getElementsByTagName(b)[0],
f = /^http:/.test(a.location) ? "http" : "https";
a.getElementById(c) || (d = a.createElement(b), d.id = c, d.src = f + "://platform.twitter.com/widgets.js", e.parentNode.insertBefore(d, e))
})(document, "script", "twitter-wjs")
}
b = !0
}
},
isInitialized: function() {
return b
}
},
fb: {
init: function() {
c || a.fbAsyncInit || (a.fbAsyncInit = function() {
FB.init({
appId: "580417242006396",
status: !0,
xfbml: !0,
version: "v2.1"
}), c = !0
})
},
isInitialized: function() {
return c
}
}
}
}]).factory("JqueryUtil", function() {
"use strict";
return {
rollover: function(a) {
var b = $.extend({
hoverSelector: ".hover",
postfix: "hover"
}, a);
$(b.hoverSelector).each(function() {
this.originalSrc = $(this).attr("src"), this.rolloverSrc = this.originalSrc.replace(new RegExp("(" + b.postfix + ")?(.gif|.jpg|.png)$"), b.postfix + "$2"), this.rolloverImg = new Image, this.rolloverImg.src = this.rolloverSrc
}), $(b.hoverSelector).hover(function() {
$(this).attr("src", this.rolloverSrc)
}, function() {
$(this).attr("src", this.originalSrc)
})
}
}
}), angular.module("ngg.utils").factory("ImageUtil", ["Const", function() {
"use strict";
var a = 200,
b = 200;
return {
getNaturalSize: function(a) {
if (void 0 !== a) {
if (void 0 !== a.naturalWidth && void 0 !== a.naturalHeight) return {
width: a.naturalWidth,
height: a.naturalHeight
};
a = a.cloneNode(!1), a.style.cssText = "", a.removeAttribute("width"), a.removeAttribute("height"), document.body.appendChild(a);
var b = a.width,
c = a.height;
return {
width: b,
height: c
}
}
},
resize: function(c, d) {
var e, f, g = void 0 === d.maxWidth ? a : d.maxWidth,
h = void 0 === d.maxHeight ? b : d.maxHeight,
i = this.getNaturalSize(c),
j = i.width,
k = i.height,
l = k / j,
m = !1;
if (l >= 1 ? (m = !0, e = g, f = k * g / j) : (e = j * h / k, f = h), $(c).css({
display: "block",
width: e + "px",
height: f + "px"
}), m)
if (void 0 !== d.startX) {
var n = f * d.startX,
o = f - (n + h);
c.style.marginTop = o >= 0 ? -Math.floor(n) + "px" : -Math.floor(f - h) + "px"
} else c.style.marginTop = -Math.floor((f - h) / 2) + "px";
else c.style.marginLeft = -Math.floor((e - g) / 2) + "px"
}
}
}]), angular.module("ngg.utils").factory("NumberUtil", function() {
"use strict";
return {
isEmpty: function(a) {
return !(void 0 !== a && null !== a)
}
}
}), angular.module("ngg.utils").factory("ObjectUtil", function() {
"use strict";
return {
isEmpty: function(a) {
return !(void 0 !== a && null !== a && a !== {})
}
}
}), angular.module("ngg.utils").factory("ProjectUtil", ["$filter", "Const", "Setting", "StringUtil", "UAParser", function(a, b, c, d, e) {
"use strict";
return {
convertToTagNameFromPostType: function(a) {
var c = "";
switch (a = angular.isNumber(a) ? a : Number(a), Number(a)) {
case b.POST_TYPE_TEXT:
c = "post";
break;
case b.POST_TYPE_STAMP:
c = "post";
break;
case b.POST_TYPE_IMAGE:
c = "post";
break;
case b.POST_TYPE_QUOTATION:
c = "quotation";
break;
case b.POST_TYPE_RETALK:
c = "retalk";
break;
default:
c = "post"
}
return c
},
searchUser: function(b, c) {
return a("filter")(b, c)[0]
},
searchUsers: function(a, b) {
var c = this,
d = [];
return angular.forEach(a, function(a) {
d.push(c.searchUser(b, {
userId: a
}))
}), d
},
searchOriginalPostData: function(b, c) {
return a("filter")(b, c)[0]
},
searchPostsDataFromPostType: function(b, c) {
return a("filter")(b, c)
},
isOfficial: function(a) {
return 1 === a ? !0 : !1
},
isDelete: function(a) {
var b = "string" == typeof a ? "true" : !0;
return a === b
},
searchComment: function(b, c) {
return a("filter")(b, c)[0]
},
searchCommentId: function(b) {
return a("filter")(b, {
bodyType: 4
})[0].commentId
},
createBodyContent: function(c, d, f, g) {
var h = c.bodyType,
i = "retalk" === d ? "rt" : "t",
j = i + ("post" === f ? "p" : "q");
if (h === b.BODY_TYPE_TEXT) {
var k = c.text,
l = k.length,
m = j + "__text",
n = m;
return l >= 86 ? n = m + " " + m + "--ss" : l >= 50 && 86 > l && (n = m + " " + m + "--s"), '<p class="' + n + '">' + a("linky")(k, "_blank") + "</p>"
}
if (h === b.BODY_TYPE_STAMP) return g === b.POST_TYPE_TEXT || g === b.POST_TYPE_QUOTATION ? '<img class="' + j + '__stamp--text" src=' + c.image + "></img>" : '<img class="' + j + '__stamp" src=' + c.image + "></img>";
if (h === b.BODY_TYPE_IMAGE) {
var o = e.isSP(),
p = '<img class="' + j + '__image" src=' + c.image + "></img>",
q = o ? p : '<a href="' + c.image + '" post-popup-img>' + p + "</a>";
return q
}
return ""
},
convertToShareUrl: function(a, b, d) {
var e, f = c.get("env");
return "WEB" === f && (b = "/lp/post"), "LOCAL" === f && (b = c.get("contextPath") + "/lp/" + b.split("/lp/")[1]), e = "post" === a || "lp-post" === a ? b + "/" + d : b
},
convertToNewsFlashJson: function(b) {
var c = $.parseXML(b),
d = $(c).find("item"),
e = [];
angular.forEach(d, function(b) {
var c = $(b),
d = c.find("title").text(),
f = c.find("link").text(),
g = c.find("description").text(),
h = a("convertToTimeAgo")(c.find("pubDate").text());
d.match(/: PR$/) || d.match(/^PR:/) || !f.match(/ameblo/) || e.push({
title: d,
link: f,
description: g,
pubDate: h
})
});
var f = $(c).find("link").eq(0).text();
return {
lastUpdateTime: e[0].pubDate,
moreLinkUrl: f,
articles: e
}
},
convertToOriginalData: function(a, b) {
var c = a.body[0],
d = {
talkId: c.talkId,
postId: c.postId
};
return this.searchOriginalPostData(b, d)
},
convertToShareUserId: function(a, c, d) {
var e = a.postType === b.POST_TYPE_RETALK ? this.convertToOriginalData(a, c) : a;
return this.searchUser(d, {
userId: e.sender
})
},
convertToShareDiscription: function(c, d, e, f) {
var g, h = c.postType === b.POST_TYPE_RETALK ? this.convertToOriginalData(c, d) : c,
i = h.postType,
j = f || " ",
k = {
photo: "蜀咏悄繧呈兜遞ソ縺励∪縺励◆",
textStampOnly: "繧ケ繧ソ繝ウ繝励r謚慕ィソ縺励∪縺励◆",
talkDetail: e
};
if (i === b.POST_TYPE_TEXT || i === b.POST_TYPE_QUOTATION) {
var l = a("filter")(h.body, {
bodyType: b.BODY_TYPE_TEXT
}),
m = [];
angular.forEach(l, function(a) {
m.push(a.text)
}), g = m.length > 0 ? m.join(j) : k.textStampOnly
} else i === b.POST_TYPE_STAMP ? g = k.talkDetail : i === b.POST_TYPE_IMAGE && (g = k.photo);
return g
},
createPostListApiParams: function(a, c) {
var d, e, f, g = {},
h = b.POST_LIST_API_DIRECTION_PREV;
return a.isInitialized ? (d = a.talkInfo.talkId, e = a.prevPostId, f = a.defaults.size.other, c ? (g.direction = c.direction || h, g.talkId = c.talkId || d, g.postId = c.postId || (g.direction === b.POST_LIST_API_DIRECTION_NEXT ? a.nextPostId : a.prevPostId), g.size = c.size || f) : (g.direction = h, g.talkId = d, g.postId = e, g.size = f)) : (d = a.talkInfo.talkId, e = a.talkInfo.lastPostId, f = a.defaults.size.init, c ? (g.talkId = c.talkId || d, g.postId = c.postId || e, g.size = c.size || f, g.direction = c.direction || h) : (g.talkId = d, g.postId = e, g.size = f, g.direction = h)), g
},
getSharePictureUrl: function(a) {
return d.isEmpty(a.bannerImageUrl) ? a.thumbnail : a.bannerImageUrl
},
getTemplateBasePath: function() {
var a = e.isPC() ? "/stat/pc/views" : "/stat/sp/views";
return a
}
}
}]), angular.module("ngg.utils").factory("SNSUtil", ["$window", function(a) {
"use strict";
var b = !1,
c = !1;
return {
twitter: {
init: function() {
if (!b) {
{
(function(a, b, c) {
var d, e = a.getElementsByTagName(b)[0],
f = /^http:/.test(a.location) ? "http" : "https";
a.getElementById(c) || (d = a.createElement(b), d.id = c, d.src = f + "://platform.twitter.com/widgets.js", e.parentNode.insertBefore(d, e))
})(document, "script", "twitter-wjs")
}
b = !0
}
},
isInitialized: function() {
return b
}
},
fb: {
init: function() {
c || a.fbAsyncInit || (a.fbAsyncInit = function() {
FB.init({
appId: "580417242006396",
status: !0,
xfbml: !0,
version: "v2.1"
}), c = !0
})
},
isInitialized: function() {
return c
}
}
}
}]), angular.module("ngg.utils").factory("StringUtil", function() {
"use strict";
return {
isEmpty: function(a) {
return !(void 0 !== a && null !== a && "" !== a)
}
}
}), angular.module("ngg.utils").factory("WindowUtil", ["Const", function(a) {
"use strict";
return {
getOrientation: function() {
var b = window;
return b ? b.innerHeight > b.innerWidth ? a.ORIENTATION_PORTRAIT : a.ORIENTATION_LANDSCAPE : null
},
getPageId: function() {
return $("body").attr("id")
},
getQueryString: function() {
if (1 < document.location.search.length) {
for (var a = document.location.search.substring(1), b = a.split("&"), c = {}, d = 0; d < b.length; d++) {
var e = b[d].split("="),
f = decodeURIComponent(e[0]),
g = decodeURIComponent(e[1]);
c[f] = decodeURIComponent(g)
}
return c
}
return null
}
}
}]), angular.module("ngg.filter").filter("convertToTimeAgo", ["$filter", function() {
"use strict";
return function(a, b) {
var c, d, e, f, g = "";
return "unixtime" === b ? c = new Date(1e3 * a) : (a = "" === a ? new Date : a.replace(/\-/g, "/"), c = new Date(a)), d = new Date, e = Math.floor((d.getTime() - c.getTime()) / 1e3), f = Math.floor(e / 86400), g = 60 > e ? "縺溘▲縺滉サ" : 3600 > e ? Math.floor(e / 60) + "蛻�燕" : 86400 > e ? Math.floor(e / 3600) + "譎る俣蜑" : 7 >= f ? f + "譌・蜑" : c.getMonth() + 1 + "譛" + c.getDate() + "譌・"
}
}]).filter("cut", ["$filter", function() {
"use strict";
return function(a, b, c) {
if (!angular.isUndefined(a)) {
var d = "",
e = a.length;
return c = angular.isUndefined(c) ? "窶ヲ" : c, b >= e ? a : d = a.substr(0, b) + c
}
}
}]).filter("lineBreak", function() {
"use strict";
return function(a) {
return a.replace(/\n|\r/g, "<br>")
}
}), angular.module("ngg.service").factory("ListService", ["CoreModel", function(a) {
"use strict";
var b = function() {
a.apply(this, arguments), this.set("data", [])
};
return b.prototype = new a, b
}]), angular.module("ngg.service").factory("PagerService", ["$window", "CoreModel", "ApiService", function() {
"use strict";
return function(a, b, c) {
var d = a,
e = d.length,
f = 0,
g = c ? c : 6,
h = b > e / g ? Math.ceil(e / g) : b;
this.getCurrentPageId = function() {
return f
}, this.getMaxPageNum = function() {
return h
}, this.getLength = function() {
return d.length
}, this.isNext = function() {
return 1 >= (f + 1) * g / (h * g)
}, this.next = function() {
var a = [];
if (this.isNext()) {
f++;
for (var b = (f - 1) * c, e = 0, h = 0; g > h; h++) {
var i = d[b + h];
null !== i && void 0 !== i && "" !== i && (a[e] = d[b + h], e++)
}
}
$(this).trigger("CHANGE_NEXT", [a])
}, this.on = function(a, b) {
$(this).on(a, b)
}, this.off = function(a) {
$(this).on(a)
}
}
}]), angular.module("ngg.service").factory("HotGeneralService", ["CoreModel", "ApiService", function(a, b) {
"use strict";
var c = b.general.hot,
d = function() {
a.apply(this, arguments), this.set("data", [])
};
return d.prototype = new a, new d(c)
}]), angular.module("ngg.service").factory("HotOfficialService", ["CoreModel", "ApiService", function(a, b) {
"use strict";
var c = b.official.hot,
d = function() {
a.apply(this, arguments), this.set("data", [])
};
return d.prototype = new a, new d(c)
}]), angular.module("ngg.service").factory("NewsFlashService", ["CoreModel", "ApiService", "ProjectUtil", function(a, b, c) {
"use strict";
var d = b.ameba.newsFlash,
e = function() {
a.apply(this, arguments), this.set("data", []), this._setData = function(a, b) {
var d = c.convertToNewsFlashJson(b);
this.set("data", d), this.set("articles", d.articles), this.set("lastUpdateTime", d.lastUpdateTime), this.set("moreLinkUrl", d.moreLinkUrl)
}
};
return e.prototype = new a, new e(d)
}]), angular.module("ngg.service").factory("CommentListService", ["CoreModel", function(a) {
"use strict";
var b = function() {
a.apply(this, arguments), this.set("data", [])
};
return b.prototype = new a, new b
}]), angular.module("ngg.service").factory("LatestPostListService", ["CoreModel", "ApiService", "TalkUserListService", "CommentListService", "PostListService", "SourcePostListService", function(a, b, c, d, e, f) {
"use strict";
var g = b.talk.posts,
h = function() {
a.apply(this, arguments);
var b = c,
g = d,
h = e,
i = f,
j = 500;
this.set("prevPostId", null), this.set("nextPostId", null), this._setData = function(a, c) {
b.merge("data", c.users, ["userId"]), g.merge("data", c.comments, ["commentId"]), h.merge("data", c.posts, ["postId"]), h.get("data").length > j && h.reduce("data", j), i.merge("data", c.sourcePosts, ["talkId", "postId"]), this.set("prevPostId", c.prevPostId), this.set("nextPostId", c.nextPostId)
}
};
return h.prototype = new a, new h(g)
}]), angular.module("ngg.service").factory("PostDetailService", ["CoreModel", "ApiService", "Const", "ProjectUtil", "ArrayUtil", "TalkUserListService", "CommentListService", "PostListService", "ListService", "SourcePostListService", function(a, b, c, d, e, f, g, h, i, j) {
"use strict";
var k = b.talk.post,
l = function(a) {
var b = {
"delete": !1,
postType: c.POST_TYPE_TEXT
};
return d.searchPostsDataFromPostType(a, b)
},
m = function(a) {
var b = {
"delete": !1,
postType: c.POST_TYPE_TEXT
};
return d.searchPostsDataFromPostType(a, b)
},
n = function() {
a.apply(this, arguments), this.set("talkUsers", f), this.set("comments", g), this.set("post", new i), this.set("prevPosts", new i), this.set("nextPosts", new i), this.set("prevPost", new i), this.set("nextPost", new i), this.set("sourcePosts", j), this._setData = function(a, b) {
var d = e.isEmpty(b.posts) ? null : b.posts[0];
if (this.get("talkUsers").merge("data", b.users, ["userId"]), this.get("comments").merge("data", b.comments, ["commentId"]), this.get("post").set("data", d), this.get("prevPost").set("data", b.prevPosts[0]), this.get("nextPost").set("data", b.nextPosts[0]), this.get("sourcePosts").merge("data", b.sourcePosts, ["talkId", "postId"]), d) {
var f = d.postType;
(f === c.POST_TYPE_IMAGE || f === c.POST_TYPE_RETALK) && (this.get("prevPosts").add("data", l(b.prevPosts)), this.get("nextPosts").add("data", m(b.nextPosts)))
}
}
};
return n.prototype = new a, new n(k)
}]), angular.module("ngg.service").factory("PostListService", ["CoreModel", function(a) {
"use strict";
var b = function() {
a.apply(this, arguments), this.set("data", [])
};
return b.prototype = new a, new b
}]), angular.module("ngg.service").factory("SourcePostListService", ["CoreModel", function(a) {
"use strict";
var b = function() {
a.apply(this, arguments), this.set("data", [])
};
return b.prototype = new a, new b
}]), angular.module("ngg.service").factory("TalkInfoService", ["CoreModel", "ApiService", function(a, b) {
"use strict";
var c = b.talk.talkInfo,
d = function() {
a.apply(this, arguments), this.getUsers = function() {
return this.getData().data.users
}
};
return d.prototype = new a, new d(c)
}]), angular.module("ngg.service").factory("TalkMemberListService", ["TalkInfoService", "ProjectUtil", function(a, b) {
"use strict";
var c = {
maxCol: 3,
maxRow: 3
},
d = 0,
e = [];
return function(f) {
f && angular.extend(c, f);
var g = c.maxCol,
h = c.maxRow,
i = a.get("data").users,
j = a.get("data").talks[0].members;
e.data = b.searchUsers(j, i), this.get = function(a) {
return e[a]
}, this.length = function() {
return this.get("data").length
}, this.isNext = function() {
return this.length() - d * g * h > 0
}, this.getNextPageData = function() {
if (!this.isNext()) return [];
var a = this.get("data"),
b = g * h,
c = d * b,
e = a.length,
f = c + b > e ? e : c + b,
i = a.slice(c, f),
j = b - i.length;
if (j > 0)
for (var k = 0; j % g > k; k++) i.push({
thumbnail: "",
name: "",
userOfficialStatus: 1e4
});
return this.updatePageId(), i
}, this.updatePageId = function() {
d++
}
}
}]), angular.module("ngg.service").factory("TalkUserListService", ["CoreModel", function(a) {
"use strict";
var b = function() {
a.apply(this, arguments), this.set("data", [])
};
return b.prototype = new a, new b
}]), angular.module("ngg.service").factory("joinTalkListService", ["$window", "CoreModel", "ApiService", function(a, b, c) {
"use strict";
var d = c.general.hot,
e = function() {
b.apply(this, arguments);
var c = a.joinTalks;
this.set("data", c)
};
return e.prototype = new b, new e(d)
}]), angular.module("ngg.directive").directive("mdFbLikeBox", ["ProjectUtil", function(a) {
"use strict";
var b = a.getTemplateBasePath();
return {
restrict: "A",
replace: !0,
scope: {},
templateUrl: b + "/modules/fbLikeBox.html"
}
}]), angular.module("ngg.directive").directive("mdHotGeneral", ["ProjectUtil", "HotGeneralService", function(a, b) {
"use strict";
var c = a.getTemplateBasePath();
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: c + "/modules/hotGeneral.html",
link: function() {},
controller: ["$scope", function(a) {
var c = 3,
d = a;
a.isLoading = !0, b.fetch().then(function() {
d.isLoading = !1;
var a = b.get("data").talks;
a && (d.articles = a.length > c ? a.splice(0, c) : a)
}, function(a) {
trace("error", a.status)
}).finally(function() {
d.isLoading = !1
})
}]
}
}]), angular.module("ngg.directive").directive("mdHotOfficial", ["ProjectUtil", "UAParser", "HotOfficialService", "Setting", "Event", "WindowUtil", function(a, b, c, d, e, f) {
"use strict";
var g = a.getTemplateBasePath();
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: g + "/modules/hotOfficial.html",
link: function() {},
controller: ["$scope", "$rootScope", function(a, g) {
var h = b.isPC(),
i = f.getPageId(),
j = h ? 4 : 3,
k = a;
a.isLoading = !0, a.isShow = !1, a.setting = d.get(), this.init = function() {
var a = this;
h && "pg-talk" === i ? g.$on(e.SCROLL_INFINITY_END, function() {
a.fetch()
}) : this.fetch()
}, this.fetch = function() {
a.isShow = !0, c.fetch().then(function() {
var a = c.get("data").talks;
k.articles = a.length > j ? a.splice(0, j) : a
}, function(a) {}).finally(function() {
k.isLoading = !1
})
}, this.init()
}]
}
}]), angular.module("ngg.directive").directive("mdNewsflash", ["ProjectUtil", "NewsFlashService", function(a, b) {
"use strict";
var c = a.getTemplateBasePath();
return {
restrict: "AE",
replace: !0,
templateUrl: c + "/modules/newsFlash.html",
scope: {},
link: function() {},
controller: ["$scope", function(a) {
var c = 5,
d = a;
a.isLoading = !0, b.fetch().then(function() {
var a = b.get("data"),
e = a.articles;
d.articles = e.length > c ? e.splice(0, c) : e, d.moreLinkUrl = a.moreLinkUrl, d.lastUpdateTime = a.lastUpdateTime, d.isLoading = !1
}, function(a) {
trace("error", a.status)
}).finally(function() {
d.isLoading = !1
})
}]
}
}]), angular.module("ngg.directive").directive("mdNewsflashTicker", ["ProjectUtil", "NewsFlashService", function(a, b) {
"use strict";
var c = a.getTemplateBasePath();
return {
restrict: "AE",
replace: !0,
templateUrl: c + "/modules/newsFlashTicker.html",
scope: {},
link: function() {},
controller: ["$scope", function(a) {
var c = 5,
d = a;
a.isLoading = !0, b.fetch().then(function() {
var a = b.get("data"),
e = a.articles;
d.articles = e.length > c ? e.splice(0, c) : e, d.moreLinkUrl = a.moreLinkUrl, d.lastUpdateTime = a.lastUpdateTime, d.isLoading = !1
}, function(a) {
trace("error", a.status)
}).finally(function() {
d.isLoading = !1
}), a.startTicker = function() {
var a = 1400,
b = 3500;
$.simpleTicker($("#js-newsflashTicker"), {
effectType: "roll",
speed: a,
delay: b,
easing: "easeInOutExpo"
})
}
}]
}
}]), angular.module("ngg.directive").directive("mdNewsflashTickerList", function() {
"use strict";
return {
restrict: "A",
link: function(a) {
a.$last && a.startTicker()
}
}
}), angular.module("ngg.directive").directive("mdOfficialLinks", ["ProjectUtil", "Setting", function(a, b) {
"use strict";
var c = a.getTemplateBasePath();
return {
restrict: "A",
replace: !0,
scope: {},
templateUrl: c + "/modules/officialLinks.html",
controller: ["$scope", "$element", "$attrs", function(a) {
a.setting = b.get()
}]
}
}]), angular.module("ngg.directive").directive("mdTwitterTimeline", ["ProjectUtil", "SNSUtil", function(a, b) {
"use strict";
var c = a.getTemplateBasePath();
return {
restrict: "A",
replace: !0,
scope: {},
templateUrl: c + "/modules/twitterTimeline.html",
controller: ["$scope", "$element", "$attrs", function() {
b.twitter.init()
}]
}
}]), angular.module("ngg.directive").directive("vipBanner", ["Event", "Const", "Setting", "ProjectUtil", "TalkInfoService", function(a, b, c, d, e) {
"use strict";
var f = d.getTemplateBasePath();
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: f + "/talkInfo/vipBanner.html",
link: function() {},
controller: ["$scope", "$element", "$filter", function(d) {
d.isLoading = !0, d.banner = {}, d.$on(a.RUN_LOAD_COMPELET, function() {
var a = e.get("data").talks[0],
f = a.publishStatus;
f === b.PUBLISH_STATUS_LOCKED ? (d.banner.imgPath = c.get().stat + "/img/common/not_reading.jpg", d.banner.name = "縺薙�繝医�繧ッ縺ッ髢イ隕ァ譛滄剞縺碁℃縺弱※縺�∪縺") : (d.banner.imgPath = a.bannerImageUrl, d.banner.name = a.name), d.isLoading = !1
})
}]
}
}]), angular.module("ngg.directive").directive("commentBodyContents", ["ProjectUtil", function(a) {
"use strict";
return {
restrict: "AE",
scope: {
comment: "="
},
link: function(b, c) {
a.isDelete(b.comment.delete) ? c.append('<p class="is-delete">縺薙�繧ウ繝。繝ウ繝医�蜑企勁縺輔l縺セ縺励◆</p>') : angular.forEach(b.comment.body, function(b) {
c.append(a.createBodyContent(b, "default", "quote", ""))
})
}
}
}]), angular.module("ngg.directive").directive("error", ["ProjectUtil", function(a) {
"use strict";
var b = a.getTemplateBasePath();
return {
restrict: "A",
replace: !0,
template: '<div ng-include="getContentUrl()"></div>',
link: function(a, c, d) {
a.getContentUrl = function() {
var a = "";
switch (d.errsorType) {
case "empty":
a = b + "/error/empty.html";
break;
default:
a = b + "/error/empty.html"
}
return a
}
},
controller: ["$scope", "$element", function() {}]
}
}]), angular.module("ngg.directive").directive("postBodyContents", ["$compile", "ProjectUtil", "Event", function(a, b, c) {
"use strict";
return {
restrict: "AE",
scope: {
post: "="
},
link: function(d, e) {
var f = d.post.postType;
angular.forEach(d.post.body, function(c) {
var g = b.createBodyContent(c, "default", "post", f);
e.append(a(g)(d))
}), d.$emit(c.POST_COMPILE_COMPLETE, [])
}
}
}]), angular.module("ngg.directive").directive("postType", ["$compile", "ProjectUtil", "StringUtil", "SourcePostListService", function(a, b, c, d) {
"use strict";
var e = d.get("data");
return {
restrict: "A",
link: function(d, f, g) {
d.$watch("post", function(h) {
if (h)
if (b.isDelete(d.post.delete)) f.append('<p class="is-delete">縺薙�繧ウ繝。繝ウ繝医�蜑企勁縺輔l縺セ縺励◆</p>');
else {
var i = b.convertToTagNameFromPostType(g.postType),
j = "",
k = "post-type-" + i;
if ("retalk" === i) {
var l = d.post,
m = b.convertToOriginalData(l, e),
n = b.convertToTagNameFromPostType(m.postType);
j = "quotation" === n ? "-" + n : "", k += j, m.hasShareUrl = !c.isEmpty(m.shareUrl), d.originalPost = m
}
d.postCategory = g.postCategory, d.postsType = g.postsType, f.append(a("<" + k + "></" + k + ">")(d))
}
})
}
}
}]), angular.module("ngg.directive").directive("postTypePost", ["TalkInfoService", "ProjectUtil", "TalkUserListService", function(a, b, c) {
"use strict";
var d = b.getTemplateBasePath();
return {
restrict: "E",
replace: !0,
template: '<div ng-include="getContentUrl()"></div>',
link: function(a) {
a.getContentUrl = function() {
var b = "";
switch (a.postCategory) {
case "single":
b = d + "/post/post.html";
break;
case "single-other":
b = d + "/post/post_other.html";
break;
default:
b = d + "/posts/post.html"
}
return b
}
},
controller: ["$scope", "$element", "Event", function(d) {
d.user = b.searchUser(c.get("data"), {
userId: d.post.sender
}), d.isOfficial = b.isOfficial(d.user.userOfficialStatus);
var e = a.get("data").talks[0];
if (d.linkTalk = b.convertToShareUrl("talk", e.shareUrl), d.talk = a.get("data").talks[0], d.isOffcialTalk = b.isOfficial(d.talk.talkOfficialStatus), "single-other" === d.postCategory) {
var f = "next" === d.postsType ? !0 : !1;
d.title = f ? "谺。縺ョ謚慕ィソ" : "蜑阪�謚慕ィソ", d.isPostsTypeNext = f
}
}]
}
}]), angular.module("ngg.directive").directive("postTypeQuotation", ["TalkInfoService", "ProjectUtil", "TalkUserListService", "CommentListService", function(a, b, c, d) {
"use strict";
var e = b.getTemplateBasePath();
return {
restrict: "E",
replace: !0,
template: '<div ng-include="getContentUrl()"></div>',
link: function(a) {
a.getContentUrl = function() {
var b = "";
switch (a.postCategory) {
case "single":
b = e + "/post/quotation.html";
break;
default:
b = e + "/posts/quotation.html"
}
return b
}
},
controller: ["$scope", function(e) {
var f = a.get("data").talks[0],
g = c.get("data");
e.user = b.searchUser(g, {
userId: e.post.sender
}), e.isOfficial = b.isOfficial(e.user.userOfficialStatus), e.isOffcialTalk = b.isOfficial(f.talkOfficialStatus);
var h = b.searchCommentId(e.post.body),
i = d.get("data");
e.comment = b.searchComment(i, {
commentId: h,
talkId: f.talkId
});
var j = e.comment.sender;
e.commenter = b.searchUser(g, {
userId: j
}), e.isOfficialForCommtenter = b.isOfficial(e.commenter.userOfficialStatus)
}]
}
}]), angular.module("ngg.directive").directive("postTypeRetalk", ["TalkInfoService", "ProjectUtil", "TalkUserListService", function(a, b, c) {
"use strict";
var d = b.getTemplateBasePath();
return {
restrict: "E",
replace: !0,
template: '<div ng-include="getContentUrl()"></div>',
link: function(a) {
a.getContentUrl = function() {
var b = "";
switch (a.postCategory) {
case "single":
b = d + "/post/retalk.html";
break;
default:
b = d + "/posts/retalk.html"
}
return b
}
},
controller: ["$scope", function(d) {
var e = a.get("data").talks[0],
f = c.get("data");
d.user = b.searchUser(f, {
userId: d.post.sender
}), d.isOfficial = b.isOfficial(d.user.userOfficialStatus), d.isOffcialTalk = b.isOfficial(e.talkOfficialStatus), d.originalUser = b.searchUser(f, {
userId: d.originalPost.sender
}), d.isOfficialForOriginalUser = b.isOfficial(d.originalUser.userOfficialStatus), d.retalkTitleLinkUrl = b.convertToShareUrl("post", d.originalPost.shareUrl, d.originalPost.postId)
}]
}
}]), angular.module("ngg.directive").directive("postTypeRetalkQuotation", ["TalkInfoService", "ProjectUtil", "TalkUserListService", "CommentListService", function(a, b, c, d) {
"use strict";
var e = b.getTemplateBasePath();
return {
restrict: "E",
replace: !0,
template: '<div ng-include="getContentUrl()"></div>',
link: function(a) {
a.getContentUrl = function() {
var b = "";
switch (a.postCategory) {
case "single":
b = e + "/post/retalk_quotation.html";
break;
default:
b = e + "/posts/retalk_quotation.html"
}
return b
}
},
controller: ["$scope", function(e) {
var f = c.get("data"),
g = a.get("data").talks[0];
e.user = b.searchUser(f, {
userId: e.post.sender
}), e.isOfficial = b.isOfficial(e.user.userOfficialStatus), e.isOffcialTalk = b.isOfficial(g.talkOfficialStatus), e.originalUser = b.searchUser(f, {
userId: e.originalPost.sender
}), e.isOfficialForOriginalUser = b.isOfficial(e.originalUser.userOfficialStatus);
var h = e.originalPost.talkId,
i = b.searchCommentId(e.originalPost.body),
j = d.get("data");
e.originalComment = b.searchComment(j, {
commentId: i,
talkId: h
});
var k = e.originalComment.sender;
e.originalCommenter = b.searchUser(f, {
userId: k
}), e.isOfficialForOriginalCommtenter = b.isOfficial(e.originalCommenter.userOfficialStatus), e.retalkTitleLinkUrl = b.convertToShareUrl("post", e.originalPost.shareUrl, e.originalPost.postId)
}]
}
}]), angular.module("ngg.directive").directive("retalkCommentBodyContents", ["$compile", "ProjectUtil", function(a, b) {
"use strict";
return {
restrict: "AE",
scope: {
originalComment: "="
},
link: function(c, d) {
b.isDelete(c.originalComment.delete) ? d.append('<p class="is-delete">縺薙�繧ウ繝。繝ウ繝医�蜑企勁縺輔l縺セ縺励◆</p>') : angular.forEach(c.originalComment.body, function(e) {
var f = b.createBodyContent(e, "retalk", "quote", "");
d.append(a(f)(c))
})
}
}
}]), angular.module("ngg.directive").directive("retalkPostBodyContents", ["$compile", "ProjectUtil", function(a, b) {
"use strict";
return {
restrict: "AE",
scope: {
originalPost: "="
},
link: function(c, d) {
if (b.isDelete(c.originalPost.delete)) d.append('<p class="is-delete">縺薙�繧ウ繝。繝ウ繝医�蜑企勁縺輔l縺セ縺励◆</p>');
else {
var e = c.originalPost.postType;
angular.forEach(c.originalPost.body, function(f) {
var g = b.createBodyContent(f, "retalk", "post", e);
d.append(a(g)(c))
})
}
}
}
}]), angular.module("ngg.directive").directive("snsFbShare", ["Event", "Const", "ProjectUtil", "TalkInfoService", "SNSUtil", "SourcePostListService", function(a, b, c, d, e, f) {
"use strict";
return {
restrict: "A",
replace: !0,
link: function() {},
controller: ["$scope", "$element", "$attrs", "$window", "$rootScope", function(b, g) {
e.fb.init();
var h = function() {
var a, h, i = d.get("data").talks[0],
j = b.shareType || b.$parent.shareType || "talk",
k = i.shareUrl,
l = i.name,
m = "",
n = c.getSharePictureUrl(i),
o = function() {
g.on("click", function() {
if (e.fb.isInitialized()) {
a = "lp-post" === j || "post" === j ? c.convertToShareDiscription(h, f.get("data"), i.detail) : i.detail;
var b = {
method: "feed",
name: l,
link: m,
picture: n,
description: a
};
trace("shareData", b), FB.ui(b, function() {})
}
})
};
if ("lp-post" === j || "post" === j) {
var p;
b.$parent.post ? (h = b.$parent.post, p = h.postId, m = c.convertToShareUrl(j, k, p), o()) : b.$parent.$watch("post", function(a) {
a && (h = b.$parent.post, p = h.postId, m = c.convertToShareUrl(j, k, p), o())
})
} else m = c.convertToShareUrl(j, k), o()
};
d.get("data") ? h() : b.$on(a.RUN_LOAD_COMPELET, function() {
h()
})
}]
}
}]), angular.module("ngg.directive").directive("snsGglShare", ["TalkInfoService", "Event", "ProjectUtil", function(a, b, c) {
"use strict";
return {
restrict: "A",
replace: !0,
link: function() {},
controller: ["$scope", "$element", "$attrs", function(d, e) {
var f = function() {
var b = a.get("data").talks[0],
f = d.$parent.shareType,
g = "https://plus.google.com/share?",
h = b.shareUrl,
i = "",
j = function() {
d.gglLink = [g, "url={" + i + "}"].join(""), e.on("click", function() {
return window.open(d.gglLink, "", "menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600"), !1
})
};
if ("lp-post" === f || "post" === f) {
var k;
d.$parent.post ? (k = d.$parent.post.postId, i = c.convertToShareUrl(f, h, k), j()) : d.$parent.$watch("post", function(a) {
a && (k = d.$parent.post.postId, i = c.convertToShareUrl(f, h, k), j())
})
} else i = c.convertToShareUrl(f, h), j()
};
a.get("data") ? f() : d.$on(b.RUN_LOAD_COMPELET, function() {
f()
})
}]
}
}]), angular.module("ngg.directive").directive("snsTwTweet", ["Const", "Event", "SNSUtil", "UAParser", "ProjectUtil", "TalkInfoService", "SourcePostListService", "TalkUserListService", function(a, b, c, d, e, f, g, h) {
"use strict";
return {
restrict: "A",
replace: !0,
link: function() {},
controller: ["$scope", "$element", "$attrs", "$filter", function(i, j, k, l) {
c.twitter.init();
var m = function() {
var b, c, j = f.get("data").talks[0],
k = i.shareType || i.$parent.shareType || "talk",
m = j.shareUrl,
n = j.name,
o = a.MAX_TWEET_TEXT_NUM,
p = "http://twitter.com/intent/tweet?",
q = "7gogo_Support",
r = "7gogo_Support",
s = "755繧「繝励Μ",
t = "",
u = "",
v = function() {
var a = d.isAndroid() || d.isIE() ? "" : "\n";
if ("lp-post" === k || "post" === k) {
var f = g.get("data"),
m = e.convertToShareUserId(c, f, h.get("data")),
v = m.name,
w = 22 + q.length + s.length + 15,
x = o - v.length - w;
b = e.convertToShareDiscription(c, f, j.detail, ""), b = l("cut")(b, x).replace(/[\n\r]/g, ""), u = v + " 縲" + b + "縲" + a
} else u = n;
i.twLink = [p, "text=" + encodeURI(u), "hashtags=" + s, "url=" + encodeURI(t), "related=" + q, "via=" + r].join("&")
};
if ("lp-post" === k || "post" === k) {
var w;
i.$parent.post ? (c = i.$parent.post, w = c.postId, t = e.convertToShareUrl(k, m, w), v()) : i.$parent.$watch("post", function(a) {
a && (c = i.$parent.post, w = c.postId, t = e.convertToShareUrl(k, m, w), v())
})
} else t = e.convertToShareUrl(k, m), v()
};
f.get("data") ? m() : i.$on(b.RUN_LOAD_COMPELET, function() {
m()
})
}]
}
}]), angular.module("ngg.directive").directive("joinTalkList", ["Event", "Const", "ProjectUtil", "ArrayUtil", "UAParser", "joinTalkListService", function(a, b, c, d, e, f) {
"use strict";
var g = c.getTemplateBasePath();
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: g + "/talkInfo/joinTalkList.html",
link: function() {},
controller: ["$scope", function(b) {
var c = e.isPC() ? 4 : 100;
b.$on(a.RUN_LOAD_COMPELET, function() {
var a = f.get("data");
b.isShow = !1, d.isEmpty(a) || (b.talks = a.length > c ? a.splice(0, c) : a, b.isShow = !0)
})
}]
}
}]), angular.module("ngg.directive").directive("talkInfo", ["Event", "UAParser", "ProjectUtil", "TalkInfoService", function(a, b, c, d) {
"use strict";
var e = c.getTemplateBasePath();
return {
restrict: "AE",
replace: !0,
scope: {},
template: '<div ng-include="getContentUrl()"></div>',
link: function(a, b, c) {
a.getContentUrl = function() {
var a = "";
switch (c.postCategory) {
case "single":
a = e + "/talkInfo/talkInfo_singlePost.html";
break;
default:
a = e + "/talkInfo/talkInfo.html"
}
return a
}
},
controller: ["$scope", function(e) {
e.$on(a.RUN_LOAD_COMPELET, function() {
var a = d.get("data").talks[0];
e.talk = a, e.shareType = "talk", e.isOfficial = 1 === a.talkOfficialStatus, e.linkTalk = c.convertToShareUrl("talk", a.shareUrl), b.isSP() && (e.isAndroid = b.isAndroid())
})
}]
}
}]), angular.module("ngg.directive").directive("imgFit", ["ImageUtil", function(a) {
"use strict";
return {
restrict: "A",
replace: !0,
scope: {},
link: function() {},
controller: ["$scope", "$element", "$attrs", function(b, c, d) {
var e = d.imageWidth,
f = d.imageHeight;
c.css("display", "none"), c.on("load", function(b) {
a.resize(b.target, {
maxWidth: e,
maxHeight: f
})
})
}]
}
}]).directive("imgFitFull", ["ImageUtil", function(a) {
"use strict";
var b = function(b) {
var c = b.parent(),
d = c.width(),
e = d;
a.resize(b[0], {
maxWidth: d,
maxHeight: e
})
},
c = function(a) {
a.height(a.width())
};
return {
restrict: "A",
replace: !0,
scope: {
thumbnail: "="
},
link: function() {},
controller: ["$scope", "$element", "$attrs", "$window", function(a, d, e, f) {
if (d.css("display", "none"), a.thumbnail) d.on("load", function() {
b(d)
}), angular.element(f).on("resize", function() {
b(d)
});
else {
var g = d.parent();
c(g), angular.element(f).on("resize", function() {
c(g)
})
}
}]
}
}]), angular.module("ngg.directive").directive("onRepeatFinishRender", ["$timeout", "Event", function(a, b) {
"use strict";
return {
restrict: "A",
link: function(c) {
c.$last === !0 && a(function() {
trace("ng-repeat render finish"), c.$emit(b.NG_REPEAT_FINISHED)
})
}
}
}]), angular.module("ngg.template.pc").run(["$templateCache", function(a) {
"use strict";
a.put("/stat/pc/views/common/footer.html", '<div class=l-footer ng-show=isShow><div class=footer><div class=ftr-cprt><img ng-src="{{setting.stat}}/img/common/copyright.png?v={{setting.version}}" width=221 height=12 alt="Copyright &copy; 7gogo. All Rights Reserved."></div><p class=ftr-attn>iPhone縺ッ 邀ウ蝗ス縺翫h縺ウ莉悶�蝗ス縲�〒逋サ骭イ縺輔l縺蘗pple Inc.縺ョ蝠�ィ吶〒縺吶ゅApp Store縺ッApple Inc.縺ョ繧オ繝シ繝薙せ繝槭�繧ッ縺ァ縺吶ゅGoogle Play縲、ndroid縺ッ縲;oogle Inc.縺ョ蝠�ィ吶∪縺溘�逋サ骭イ蝠�ィ吶〒縺吶</p></div></div>'), a.put("/stat/pc/views/common/header.html", '<div class=l-header><div class="header gp"><h1 class=hdr-heading><a href="/"><img class=hdr-logo ng-src="{{setting.stat}}/img/common/logo_s.png?v={{setting.version}}" width=74 height=42 alt="755"> <img class=hdr-disc ng-src="{{setting.stat}}/img/common/logo_discription_s.png?v={{setting.version}}" width=108 height=29 alt="闃ク閭ス莠コ縺ィ繧りゥア縺帙k�∵眠荳紋サ」繝医�繧ッ繧「繝励Μ"></a></h1><ul class=hdr-links><li class=hdr-links__list><a class=js-popup-about-755 ng-href="{{setting.stat}}/img/common/popup_about_755.png?v={{setting.version}}"><img ng-src="{{setting.stat}}/img/common/icon/icon_about755.png?v={{setting.version}}" width=48 height=20 alt="755縺ォ縺、縺�※"></a></li><li class=hdr-links__list><a href=https://twitter.com/7gogo_Support target=_blank><img ng-src="{{setting.stat}}/img/common/icon/icon_twitter.png?v={{setting.version}}" width=23 height=20 alt="蜈ャ蠑春witter繝壹�繧ク"></a></li><li class=hdr-links__list><a href=https://www.facebook.com/7gogo.jp target=_blank><img ng-src="{{setting.stat}}/img/common/icon/icon_facebook.png?v={{setting.version}}" width=10 height=20 alt="蜈ャ蠑叔acebook繝壹�繧ク"></a></li></ul></div></div>'), a.put("/stat/pc/views/common/header_official.html", '<div class=l-header><div class="header gp"><h1 class=hdr-heading><a href="/"><img class=hdr-logo ng-src="{{setting.stat}}/img/pages/official/logo.png?v={{setting.version}}" width=128 height=74 alt="755�医リ繝翫ざ繝シ繧エ繝シ�"> <img class=hdr-disc ng-src="{{setting.stat}}/img/pages/official/logo_discription.png?v={{setting.version}}" width=164 height=40 alt="縺ョ縺槭¢繧具シ√d縺倥l繧具シ√ヨ繝シ繧ッ繝ゥ繧、繝悶い繝励Μ"></a></h1><ul class=hdr-links><li class=hdr-links__list><a class="js-popup-about-755 btn-about" href="{{setting.stat}}/img/common/popup_about_755.png?v={{setting.version}}"><img class=btn-about-img ng-src="{{setting.stat}}/img/pages/official/btn_about.png?v={{setting.version}}" width=108 height=76 alt="755�医リ繝翫ざ繝シ繧エ繝シ�峨↓縺、縺�※"></a></li><li class=hdr-links__list><a href=https://twitter.com/7gogo_Support target=_blank><i class="hdr-btn-sns hdr-btn-sns-twitter"></i></a></li><li class=hdr-links__list><a href=https://www.facebook.com/7gogo.jp target=_blank><i class="hdr-btn-sns hdr-btn-sns-facebook"></i></a></li></ul></div></div>'), a.put("/stat/pc/views/error/empty.html", "<div class=error-empty><p class=error-empty__title>SORRY..</p><p class=error-empty__txt>縺セ縺謚慕ィソ縺後≠繧翫∪縺帙s</p></div>"), a.put("/stat/pc/views/index/indexContents.html", '<div><div class=hdr><div class="hdr-bdy box"><div class="hdr-cnt hdr-cnt-l box-body"><h1 class=hdr-hd><img ng-src="{{setting.stat}}/img/pages/index/logo.png?v={{setting.version}}" width=270 height=280 alt="谺。荳紋サ」繝医�繧ッ繧「繝励Μ 繝翫リ繧エ繝シ繧エ繝シ 闃ク閭ス莠コ縺ィ繧りゥア縺帙k�"></h1><div class=hdr-dl><div class="hdr-dl-btns gp"><p class=hdr-dl-txt><img ng-src="{{setting.stat}}/img/pages/index/txt_app_download.png?v={{setting.version}}" width=125 height=13 alt="繧「繝励Μ繝繧ヲ繝ウ繝ュ繝シ繝"></p><ul><li class="hdr-dl-btn fl"><a href="http://itunes.apple.com/jp/app/id736573849?mt=8" target=_blank><img ng-src="{{setting.stat}}/img/pages/index/btn_appStore.png?v={{setting.version}}" width=200 height=74 alt="App Store"></a></li><li class="hdr-dl-btn fr"><a href="https://play.google.com/store/apps/details?id=jp.nanagogo" target=_blank><img ng-src="{{setting.stat}}/img/pages/index/btn_googlePlay.png?v={{setting.version}}" width=200 height=74 alt="Google Play"></a></li></ul></div></div></div><div class="hdr-cnt hdr-cnt-r box-body"><p class=hdr-phone><img ng-src="{{setting.stat}}/img/pages/index/phone.png?v={{setting.version}}" width=554 height=510 alt="繝翫リ繧エ繝シ繧エ繝シ"></p></div></div></div><div class=cm ng-cloak><div class="cm-bdy box"><div class="cm-cnt cm-cnt-l box-body"><h3 class=cm-hd><img ng-src="{{setting.stat}}/img/pages/index/title_cm.png?v={{setting.version}}" width=222 height=46 alt="CM繧ョ繝」繝ゥ繝ェ繝シ"></h3></div><div class="cm-cnt cm-cnt-r box-body"><ul class="cm-cms box"><li ng-repeat="movie in movies" class=box-body><a ng-href={{movie.url}} class=cm-mv ng-class={&quot;is-new&quot;:movie.isNew} target=_blank><img class=cm-mv-th ng-src={{movie.img}} width=256 height=146 alt="{{movie.name}}"><p class=cm-mv-ttl>{{movie.name}}</p></a></li></ul></div></div></div><ul><li class="intro intro-1" ng-cloak><div class="intro-bdy box"><div class="intro-cnt intro-cnt-l box-body"><div><img ng-src="{{setting.stat}}/img/pages/index/content_1.png?v={{setting.version}}" width=431 height=489 alt="闡怜錐莠コ 鬮俶ゥ九∩縺ェ縺ソ縲∵沛譛ィ逕ア邏縲∝ー丞ウカ髯ス闖懊∵ク。霎コ鮗サ蜿"></div></div><div class="intro-cnt intro-cnt-r box-body"><div class=intro-hd-wrapper><h2 class=intro-hd><img ng-src="{{setting.stat}}/img/pages/index/title_1.png?v={{setting.version}}" width=477 height=133 alt="譛牙錐莠コ縺750蜷堺サ・荳奇シ∽セ九∴縺ー縲、KB48縺ィ繧りゥア縺帙k�"></h2><p class=intro-desc><img ng-src="{{setting.stat}}/img/pages/index/desc_1.png?v={{setting.version}}" width=316 height=42 alt="繧「繧、繝峨Ν繧�い繝シ繝�ぅ繧ケ繝医∫オ悟霧閠�↑縺ゥ讒倥�↑繧ク繝」繝ウ繝ォ縺ョ譛牙錐莠コ縺後ヨ繝シ繧ッ縺ォ蜿ょ刈荳ュ�"></p></div></div></div></li><li class="intro intro-2" ng-cloak><div class="intro-bdy box"><div class="intro-cnt intro-cnt-l box-body"><div class=intro-hd-wrapper><h2 class=intro-hd><img ng-src="{{setting.stat}}/img/pages/index/title_2.png?v={{setting.version}}" width=571 height=134 alt="逶エ謗・霑比ソ。縺後b繧峨∴繧具シ√�繝ェ繧ィ繝「繝ウ縺ォ繧りウェ蝠上@縺ヲ縺ソ繧医≧�"></h2><p class=intro-desc><img ng-src="{{setting.stat}}/img/pages/index/desc_2.png?v={{setting.version}}" width=440 height=43 alt="譛牙錐莠コ縺九i逶エ謗・縺ゅ↑縺溘↓霑比ソ。縺梧擂縺セ縺吶755縺縺代�迚ケ蛻・縺ェ菴馴ィ薙′縺ァ縺阪∪縺吶"></p></div></div><div class="intro-cnt intro-cnt-r box-body"><div><img class=intro-cnt-2 ng-src="{{setting.stat}}/img/pages/index/content_2.png?v={{setting.version}}" width=566 height=504 alt="繝帙Μ繧ィ繝「繝ウ縺九i霑比ソ。縺後¥繧具シ"></div></div></div></li><li class="intro intro-3" ng-cloak><div class="intro-bdy box"><div class="intro-cnt intro-cnt-l box-body"><div><img ng-src="{{setting.stat}}/img/pages/index/content_3.png?v={{setting.version}}" width=472 height=427 alt="E-girls縲、KB48縲∽シ願陸螟ァ霈昴√�繝ェ繧ィ繝「繝ウ縲√∩繧薙↑縺ィ隧ア縺帙k�"></div></div><div class="intro-cnt intro-cnt-r box-body"><div class=intro-hd-wrapper><h2 class=intro-hd><img ng-src="{{setting.stat}}/img/pages/index/title_3.png?v={{setting.version}}" width=358 height=139 alt="縺吶∋縺ヲ辟。譁呻シ∽サ翫☆縺仙ァ九a繧医≧�"></h2><p class=intro-desc><img ng-src="{{setting.stat}}/img/pages/index/desc_3.png?v={{setting.version}}" width=314 height=41 alt="閾ェ蛻��繝医�繧ッ縺ァ逋コ菫。縺励◆繧翫∵ー励�蜷医≧莉イ髢薙→繧ー繝ォ繝シ繝励ヨ繝シ繧ッ繧ゅ〒縺阪∪縺呻シ"></p></div></div></div></li></ul><div class=ftr><div class=ftr-bdy><h1 class=ftr-hd><img ng-src="{{setting.stat}}/img/pages/index/footer_logo.png?v={{setting.version}}" width=308 height=230 alt="譁ー荳紋サ」繝医�繧ッ繧「繝励Μ 繝翫リ繧エ繝シ繧エ繝シ 闃ク閭ス莠コ縺ィ繧りゥア縺帙k�"></h1><div class="ftr-dl-btns gp"><p class=ftr-dl-txt><img ng-src="{{setting.stat}}/img/pages/index/txt_app_download.png?v={{setting.version}}" width=125 height=13 alt="繧「繝励Μ繝繧ヲ繝ウ繝ュ繝シ繝"></p><ul><li class="ftr-dl-btn fl"><a href="http://itunes.apple.com/jp/app/id736573849?mt=8" target=_blank><img ng-src="{{setting.stat}}/img/pages/index/btn_appStore.png?v={{setting.version}}" width=200 height=74 alt="App Store"></a></li><li class="ftr-dl-btn fr"><a href="https://play.google.com/store/apps/details?id=jp.nanagogo" target=_blank><img ng-src="{{setting.stat}}/img/pages/index/btn_googlePlay.png?v={{setting.version}}" width=200 height=74 alt="Google Play"></a></li></ul></div></div></div></div>'), a.put("/stat/pc/views/modules/bannerDownload.html", '<div class=md-banner-download><h4><img ng-src="{{setting.stat}}/img/common/banner_download.png?v={{setting.version}}" width=658 height=132 alt="縺ョ縺槭¢繧具シ√d縺倥l繧具シ√ヨ繝シ繧ッ繝ゥ繧、繝悶い繝励Μ755縺ョ繝繧ヲ繝ウ繝ュ繝シ繝"></h4><ul class=md-banner-download__lists><li class=md-banner-download__list><a ng-href={{setting.storeUrl}} target=_blank><img ng-src="{{setting.stat}}/img/common/btn_appStore_sl.png?v={{setting.version}}" width=178 height=50 alt="App Store"></a></li><li class=md-banner-download__list><a ng-href={{setting.playUrl}} target=_blank><img ng-src="{{setting.stat}}/img/common/btn_googlePlay_sl.png?v={{setting.version}}" width=176 height=50 alt="Google Play"></a></li></ul></div>'), a.put("/stat/pc/views/modules/download.html", '<div class=md-download><h4 class=md-download__title><img ng-src="{{setting.stat}}/img/common/title_download.png?v={{setting.version}}" width=114 height=32 alt="繧「繝励Μ繝繧ヲ繝ウ繝ュ繝シ繝"></h4><p class=md-download__discription><img ng-src="{{setting.stat}}/img/common/discription_download.png?v={{setting.version}}" width=188 height=42 alt="闃ク閭ス莠コ縺ョ繝ェ繧「繝ォ繝医�繧ッ繧ゅ�縺槭¢繧具シ√d縺倥l繧具シ"></p><ul class=md-download__lists><li><a ng-href={{setting.storeUrl}} target=_blank><img ng-src="{{setting.stat}}/img/common/btn_appStore_s.png?v={{setting.version}}" width=194 height=60 alt="App Store"></a></li><li><a ng-href={{setting.playUrl}} target=_blank><img ng-src="{{setting.stat}}/img/common/btn_googlePlay_s.png?v={{setting.version}}" width=194 height=60 alt="Google Play"></a></li></ul></div>'), a.put("/stat/pc/views/modules/fbLikeBox.html", "<div class=fb-like-box data-href=https://www.facebook.com/7gogo.jp data-width=248 data-height=310 data-colorscheme=light data-show-faces=true data-header=false data-stream=false data-show-border=false></div>"), a.put("/stat/pc/views/modules/hotGeneral.html", '<div ng-class="{\'js-loading\': isLoading}" class="md-popularGeneral md-ramble"><div class=md-ramble__heading><h4 class=md-ramble__heading__title>莠コ豌励�荳闊ャ繝医�繧ッ</h4></div><div class=md-ramble__body><ul><li ng-repeat="article in articles" class=md-ramble__list--typeBox><a href={{article.shareUrl}}><div class="box box--md-ramble"><div class="box-th box-th--md-ramble"><div class=box-th--md-ramble__th><img ng-src={{article.thumbnail}} alt={{article.name}} img-fit image-width=58 image-height="58"></div></div><div class="box-body box-body--md-ramble"><p class=box-body--md-ramble__name>{{article.name | cut:22}}</p><p class=box-body--md-ramble__update>{{article.timeOrDay}}</p></div></div></a></li></ul></div></div>'), a.put("/stat/pc/views/modules/hotOfficial.html", '<div class="md-hotofficial md-ramble" ng-show=isShow><div><div class=md-ramble__heading><h4 ng-show=!isLoading class=md-ramble__heading__title>莠コ豌励�繧ェ繝輔ぅ繧キ繝」繝ォ繝医�繧ッ</h4></div><div class=md-ramble__body ng-class="{\'js-loading\': isLoading}"><ul class=md-ramble__lists><li ng-repeat="article in articles" class="md-ramble__body__list md-ramble__body__list--typeImage"><a href={{article.shareUrl}}><div class=md-ramble__body__list__th><img ng-src={{article.thumbnail}} alt={{article.name}} img-fit image-width=146 image-height="146"></div><p class=md-ramble__body__list__title>{{article.name}}</p></a></li></ul><a href={{setting.contextPath}}/official class=btn-more>莠コ豌励�繧ェ繝輔ぅ繧キ繝」繝ォ繝医�繧ッ荳隕ァ縺ッ縺薙■繧<i class="icon icon--list-btn-arrow"></i></a></div></div></div>'), a.put("/stat/pc/views/modules/mdSnsShareBtns.html", ""), a.put("/stat/pc/views/modules/mdSnsShareBtns_lpPost.html", '<ul class=sns-share-f post=post ng-show=isHover><li class=sns-share-f__li><a class="btn btn-sns btn-sns-s btn-sns-fb js-sns-target" href="" sns-fb-share><i class="icn icn-06 icn-sns-fb"></i></a></li><li class=sns-share-f__li><a class="btn btn-sns btn-sns-s btn-sns-tw js-sns-target" ng-href={{twLink}} sns-tw-tweet><i class="icn icn-05 icn-sns-tw"></i></a></li><li class=sns-share-f__li><a class="btn btn-sns btn-sns-s btn-sns-ggl js-sns-target" ng-href={{gglLink}} sns-ggl-share><i class="icn icn-10 icn-sns-ggl"></i></a></li></ul>'), a.put("/stat/pc/views/modules/mdSnsShareBtns_singlePost.html", '<ul class=sns-share post=post><li class=sns-share__li><a class="btn btn-sns btn-sns-l btn-sns-fb" href="" sns-fb-share><i class="icn icn-06 icn-sns-fb"></i> <span class=btn-sns-text>繧キ繧ァ繧「縺吶k</span></a></li><li class=sns-share__li><a class="btn btn-sns btn-sns-l btn-sns-tw" ng-href={{twLink}} sns-tw-tweet><i class="icn icn-05 icn-sns-tw"></i><span class=btn-sns-text>繝�う繝シ繝医☆繧</span></a></li><li class=sns-share__li><a class="btn btn-sns btn-sns-l btn-sns-ggl" ng-href={{gglLink}} sns-ggl-share><i class="icn icn-10 icn-sns-ggl"></i><span class=btn-sns-text>蜈ア譛峨☆繧</span></a></li></ul>'), a.put("/stat/pc/views/modules/newsFlash.html", '<div ng-class="{\'js-loading\': isLoading}" class="md-newsflash md-ramble"><div class=md-ramble__heading><h4 class=md-ramble__heading__title>755騾溷ア</h4><p class=md-ramble__heading__sub>{{lastUpdateTime}}</p></div><div class=md-ramble__body><ul><li ng-repeat="article in articles" class="md-ramble__body__list md-ramble__body__list--typeTxt"><a href={{article.link}} target=_blank>{{article.title}}</a></li></ul><a href={{moreLinkUrl}} class=btn-more target=_blank>繧ゅ▲縺ィ隕九k<i class="icon icon--list-btn-arrow"></i></a></div></div>'), a.put("/stat/pc/views/modules/newsFlashTicker.html", '<div ng-class="{\'js-loading\': isLoading}" class="md-newsflashTicker newsflasTicker"><h4 class=md-newsflashTicker__head>騾 蝣ア</h4><div id=js-newsflashTicker class=md-newsflashTicker__body><ul class=md-newsflashTicker__lists><li ng-repeat="article in articles" class=md-newsflashTicker__list md-newsflash-ticker-list><a href={{article.link}} target=_blank>{{article.title}}</a></li></ul></div></div>'), a.put("/stat/pc/views/modules/officialLinks.html", '<ul class=officialLinks><li class=officialLinks__list><a href="/lp/74W21m6keD1WkVIvojdMdG=="><img ng-src="{{setting.stat}}/img/common/btn_link_soft.png?v={{setting.version}}" width=250 height=70 alt="755霆溷シ上ヨ繝シ繧ッ"></a></li><li class=officialLinks__list><a href="/official/"><img ng-src="{{setting.stat}}/img/common/btn_link_official.png?v={{setting.version}}" width=250 height=70 alt="755蜈ャ蠑上ヨ繝シ繧ッ"></a></li><li class=officialLinks__list><a href=https://twitter.com/7gogo_Support target=_blank><img ng-src="{{setting.stat}}/img/common/btn_link_official_twitter.png?v={{setting.version}}" width=250 height=70 alt="755蜈ャ蠑週witter"></a></li></ul>'), a.put("/stat/pc/views/modules/twitterTimeline.html", '<div><a class="twitter-timeline clr-w" href=https://twitter.com/7gogo_Support data-widget-id=486457248294502400>@7gogo_Support 縺九i縺ョ繝�う繝シ繝</a></div>'), a.put("/stat/pc/views/post/post.html", '<div><div><div class="tp-th box-sub" ng-style="{\'background-image\': \'url({{user.thumbnail}})\'}"></div><div class="tp-info box-sub"><p><span class=tp-poster>{{user.name | cut:22}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-post"></i></p><span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div></div><div post-body-contents class=tp post=post></div></div>'), a.put("/stat/pc/views/post/post_other.html", '<div class="box sp-otp" post-accordion><p class="box-sub sp-otp-ttl">{{title}}</p><div class=box-sub><div post-body-contents class="js-post tp" post=post></div></div><div class="box-sub sp-otp-arw"><i class=icn></i></div></div>'), a.put("/stat/pc/views/post/quotation.html", '<div><div><div class="tp-th box-sub" ng-style="{\'background-image\': \'url({{user.thumbnail}})\'}"></div><div class="tp-info box-sub"><p><span class=tp-poster>{{user.name}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-post"></i></p><span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div></div><div post-body-contents class=tp post=post></div><div class=tq-contents><div class="box tq-body"><div class="box-sub tq-th"><div class=tq-th__img ng-style="{\'background-image\': \'url({{commenter.thumbnail}})\'}"></div></div><div class=box-sub><p class=tq-poster>{{commenter.name}}</p></div><div ng-if=isOfficialForCommtenter class="box-sub tq-official"><i class="icn icn-01 icn--official"></i></div><div comment-body-contents class="box-sub tq full" comment=comment></div><div class=tq-timestamp>{{comment.time | convertToTimeAgo: "unixtime"}}</div></div></div></div>'), a.put("/stat/pc/views/post/retalk.html", '<div><div><div class="tp-th box-sub" ng-style="{\'background-image\': \'url({{user.thumbnail}})\'}"></div><div class="tp-info box-sub"><p><span class=tp-poster>{{user.name}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-post"></i></p><span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div></div><div class=rt-content><p class=rt-title><i class="icon icon--rt"></i><span class=rt-title__text>縲<a ng-href={{retalkTitleLinkUrl}} ng-class="{\'disable\':!originalPost.hasShareUrl}">{{originalPost.talkName | cut:24}}</a>縲阪°繧峨Μ繝医�繧ッ</span></p><div class="box rt-body"><ul><li class=rt-list><div class="box rt-list__body"><div class="box-sub rtp-th"><div class=rtp-th__img ng-style="{\'background-image\':\'url({{originalUser.thumbnail}})\'}"></div></div><div class=box-sub><p class=rtp-poster>{{originalUser.name}}</p></div><div ng-if=isOfficialForOriginalUser class="box-sub rtp-poster-official"><i class="icn icn-01 icn--official-talk"></i></div><div class="box-sub rt full"><div retalk-post-body-contents class=rtp original-post=originalPost></div></div><div class=rtp-timestamp>{{originalPost.time | convertToTimeAgo: "unixtime"}}</div></div></li></ul></div></div></div>'), a.put("/stat/pc/views/post/retalk_quotation.html", '<div><div><div class="tp-th box-sub" ng-style="{\'background-image\': \'url({{user.thumbnail}})\'}"></div><div class="tp-info box-sub"><p><span class=tp-poster>{{user.name}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-post"></i></p><span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div></div><div class=rt-content><p class=rt-title><i class="icon icon--rt"></i><span class=rt-title__text>縲<a ng-href={{retalkTitleLinkUrl}} ng-class="{\'disable\':!originalPost.hasShareUrl}">{{originalPost.talkName | cut:24}}</a>縲阪°繧峨Μ繝医�繧ッ</span></p><div class="box rt-body"><ul><li class=rt-list><div class="box rt-list__body"><div class="box-sub rtp-th"><div class=rtp-th__img ng-style="{\'background-image\': \'url({{originalUser.thumbnail}})\'}"></div></div><div class=box-sub><p class=rtp-poster>{{originalUser.name}}</p></div><div ng-if=isOfficialForOriginalUser class="box-sub rtp-poster-official"><i class="icn icn-01 icn--official-talk"></i></div><div class="box-sub rt full"><div retalk-post-body-contents class=rtp original-post=originalPost></div><div class="box rtq-content"><div class="box-sub rtq-th"><div class=rtq-th__img style="background-image: url({{originalCommenter.thumbnail}})"></div></div><div class=box-sub><p class=rtq-poster>{{originalCommenter.name}}</p></div><div ng-if=isOfficialForOriginalCommtenter class="box-sub rtq-poster-official"><i class="icn icn-01 icn--official-talk"></i></div><div class="box-sub rtq full" retalk-comment-body-contents original-comment=originalComment></div><div class=rtq-timestamp>{{originalComment.time | convertToTimeAgo: "unixtime"}}</div></div></div><div class=rtp-timestamp>{{originalPost.time | convertToTimeAgo: "unixtime"}}</div></div></li></ul></div></div></div>'), a.put("/stat/pc/views/posts/post.html", '<div><ul class=tp-sns ng-show=isSnsShow><li class=tp-sns__list><a class="btn btn--sns btn--sns--facebook" href="" sns-facebook-share><i class="icn icn-06 icn--sns-facebook"></i> <span class=btn--sns__text>繧キ繧ァ繧「</span></a></li><li class=tp-sns__list><a class="btn btn--sns btn--sns--twitter" href="http://twitter.com/intent/tweet?text={{talk.name}}&amp;hashtags=755%e3%82%a2%e3%83%97%e3%83%aa&amp;url={{talk.shareUrl}}&amp;related=7gogo_Support&amp;via=7gogo_Support"><i class="icn icn-05 icn--sns-twitter"></i><span class=btn--sns__text>繝�う繝シ繝</span></a></li></ul><div class="box-sub tp-sub"><div class=tp-th ng-style="{\'background-image\': \'url({{user.thumbnail}})\'}"></div></div><div class="box-body tp-body"><div class=tp-info><span class=tp-poster>{{user.name}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-talk"></i> <span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div><div post-body-contents class=tp post=post></div></div></div>'), a.put("/stat/pc/views/posts/quotation.html", '<div><div class="box-sub tp-sub"><div class=tp-th ng-style="{\'background-image\':\'url({{user.thumbnail}})\'}"></div></div><div class="box-body tp-body"><div class=tp-info><span class=tp-poster>{{user.name}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-talk"></i> <span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div><div post-body-contents class=tp post=post></div><div class=tq-contents><div class="box tq-body"><div class="box-sub tq-th"><div class=tq-th__img ng-style="{\'background-image\': \'url({{commenter.thumbnail}})\'}"></div></div><div class=box-sub><p class=tq-poster>{{commenter.name}}</p></div><div ng-if=isOfficialForCommtenter class="box-sub tq-official"><i class="icn icn-01 icn--official"></i></div><div comment-body-contents class="box-sub tq full" comment=comment></div><div class=tq-timestamp>{{comment.time | convertToTimeAgo: "unixtime"}}</div></div></div></div></div>'), a.put("/stat/pc/views/posts/retalk.html", '<div><div class="box-sub tp-sub"><div class=tp-th ng-style="{\'background-image\': \'url({{user.thumbnail}})\'}"></div></div><div class="box-body tp-body"><div class=tp-info><span class=tp-poster>{{user.name}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-talk"></i> <span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div><div class=rt-content><p class=rt-title><i class="icon icon--rt"></i><span class=rt-title__text>縲<a ng-href={{retalkTitleLinkUrl}} ng-class="{\'disable\':!originalPost.hasShareUrl}">{{originalPost.talkName | cut:24}}</a>縲阪°繧峨Μ繝医�繧ッ</span></p><div class="box rt-body"><ul><li class=rt-list><div class="box rt-list__body"><div class="box-sub rtp-th"><div class=rtp-th__img ng-style="{\'background-image\': \'url({{originalUser.thumbnail}})\'}"></div></div><div class=box-sub><p class=rtp-poster>{{originalUser.name}}</p></div><div ng-if=isOfficialForOriginalUser class="box-sub rtp-poster-official"><i class="icn icn-01 icn--official-talk"></i></div><div class="box-sub rt full"><div retalk-post-body-contents class=rtp original-post=originalPost></div></div><div class=rtp-timestamp>{{originalPost.time | convertToTimeAgo: "unixtime"}}</div></div></li></ul></div></div></div></div>'), a.put("/stat/pc/views/posts/retalk_quotation.html", '<div><div class="box-sub tp-sub"><div class=tp-th ng-style="{\'background-image\':\'url({{user.thumbnail}})\'}"></div></div><div class="box-body tp-body"><div class=tp-info><span class=tp-poster>{{user.name}}</span> <i ng-if=isOfficial class="icn icn-01 icn--official-talk"></i> <span class=tp-timestamp>{{post.time | convertToTimeAgo: "unixtime"}}</span></div><div class=rt-content><p class=rt-title><i class="icon icon--rt"></i><span class=rt-title__text>縲<a ng-href={{retalkTitleLinkUrl}} ng-class="{\'disable\':!originalPost.hasShareUrl}">{{originalPost.talkName | cut:24}}</a>縲阪°繧峨Μ繝医�繧ッ</span></p><div class="box rt-body"><ul><li class=rt-list><div class="box rt-list__body"><div class="box-sub rtp-th"><div class=rtp-th__img ng-style="{\'background-image\':\'url({{originalUser.thumbnail}})\'}"></div></div><div class=box-sub><p class=rtp-poster>{{originalUser.name}}</p></div><div ng-if=isOfficialForOriginalUser class="box-sub rtp-poster-official"><i class="icn icn-01 icn--official-talk"></i></div><div class="box-sub rt full"><div retalk-post-body-contents class=rtp original-post=originalPost></div><div class="box rtq-content"><div class="box-sub rtq-th"><div class=rtq-th__img ng-style="{\'background-image\':\'url({{originalCommenter.thumbnail}})\'}"></div></div><div class=box-sub><p class=rtq-poster>{{originalCommenter.name}}</p></div><div ng-if=isOfficialForOriginalCommtenter class="box-sub rtq-poster-official"><i class="icn icn-01 icn--official-talk"></i></div><div class="box-sub rtq full" retalk-comment-body-contents original-comment=originalComment></div><div class=rtq-timestamp>{{originalComment.time | convertToTimeAgo: "unixtime"}}</div></div></div><div class=rtp-timestamp>{{originalPost.time | convertToTimeAgo: "unixtime"}}</div></div></li></ul></div></div></div></div>'), a.put("/stat/pc/views/talkInfo/QR.html", '<div class=talkQR><h3 class=talkQR__heading>QR繧ウ繝シ繝</h3><div class=talkQR__QR><img class=talkQR__QR__img ng-src={{qrImage}} alt=""></div></div>'), a.put("/stat/pc/views/talkInfo/joinTalks.html", '<div class=joinTalks ng-show=isShow><h3 class=joinTalks__heading>蜿ょ刈荳ュ縺ョ繝医�繧ッ</h3><ul class=joinTalks__lists><li ng-repeat="talk in talks" class=talk><a class=joinTalks__lists__link href={{talk.shareUrl}}><div class="box joinTalks__lists__talk"><div class="box-th joinTalks__lists__talk__th"><div class=joinTalks__lists__talk__th><img ng-src={{talk.thumbnail}} alt={{talk.name}} img-fit image-width=58 image-height="58"></div></div><div class="box-body joinTalks__lists__talk__body"><p class=joinTalks__lists__talk__name>{{talk.name | cut:19}}</p><p class=joinTalks__lists__talk__update>{{talk.timeOrDay}}</p></div></div></a></li></ul></div>'), a.put("/stat/pc/views/talkInfo/talkInfo.html", '<div class=talkInfo><div class=tki__th><a ng-href={{linkTalk}}><img ng-src={{talk.thumbnail}} alt={{talk.name}} img-fit image-width=226 image-height="226"></a></div><div class=tki__body><h2 class=tki-heading><a ng-href={{linkTalk}}>{{talk.name}}</a></h2><div class=tki-sup><i ng-if=isOfficial class=tki-iconOfficial></i><p class=tki-watch><span class=watch-num>{{talk.totalWatchCount | number:0}}</span>繧ヲ繧ゥ繝�メ</p></div><p class=tki-disc><span ng-bind-html="talk.detail | linky:\'_blank\'"></span></p><ul class=tki-sns><li class=tki-sns__list><a class="btn btn-sns btn-sns-m btn-sns-fb" href="" sns-fb-share><i class="icn icn-06 icn-sns-fb"></i> <span class=btn-sns-text>繧キ繧ァ繧「</span></a></li><li class=tki-sns__list><a class="btn btn-sns btn-sns-m btn-sns-tw" ng-href={{twLink}} sns-tw-tweet><i class="icn icn-05 icn-sns-tw"></i><span class=btn-sns-text>繝�う繝シ繝</span></a></li></ul></div></div>'), a.put("/stat/pc/views/talkInfo/talkMembers.html", '<div class=talkMembers><h3 class=talkMembers__heading>縺薙�繝医�繧ッ縺ョ蜿ょ刈繝。繝ウ繝舌�</h3><ul class="lists talkMembers__lists"><li ng-repeat="member in members" class="list talkMembers__lists__member"><a href="" member-popup member=member ng-class="{\'no-pointer\': member.thumbnail==\'\'}"><div ng-if=!!member.thumbnail class=member__popup><div class=member__popup__th><img ng-src={{member.thumbnail}} alt={{member.name}} img-fit image-width=120 image-height="120"></div><p class=member__popup__name><span class=member__popup__name__txt ng-class="{\'is-general\':member.userOfficialStatus != 1}">{{member.name}}</span> <i ng-show="member.userOfficialStatus == 1" class="icn icn-01 icn--official"></i></p><p class=member__popupr__detail><span class=member__popupr__detail__txt>{{member.detail}}</span></p></div><div class=member__th><img ng-if=!!member.thumbnail ng-src={{member.thumbnail}} alt={{member.name}} img-fit image-width=66 image-height="66"></div></a><p class=member__name><span class=member__name__txt ng-class="{\'is-general\':member.userOfficialStatus != 1}">{{member.name | cut:4}}</span> <i ng-show="member.userOfficialStatus == 1" class="icn icn-01 icn--official"></i></p></li></ul><button ng-show=isNext ng-click=next() class=talkMembers__moreBtn>繧ゅ▲縺ィ縺ソ繧</button></div>'), a.put("/stat/pc/views/talkInfo/vipBanner.html", '<div ng-class="{\'js-loading\': isLoading}"><img ng-src={{banner.imgPath}} alt={{banner.name}} width="658"></div>')
}]), angular.module("ngg.utils").factory("JqueryUtil", function() {
"use strict";
return {
rollover: function(a) {
var b = $.extend({
hoverSelector: ".hover",
postfix: "hover"
}, a);
$(b.hoverSelector).each(function() {
this.originalSrc = $(this).attr("src"), this.rolloverSrc = this.originalSrc.replace(new RegExp("(" + b.postfix + ")?(.gif|.jpg|.png)$"), b.postfix + "$2"), this.rolloverImg = new Image, this.rolloverImg.src = this.rolloverSrc
}), $(b.hoverSelector).hover(function() {
$(this).attr("src", this.rolloverSrc)
}, function() {
$(this).attr("src", this.originalSrc)
})
}
}
}), angular.module("ngg.directive").directive("mdFooter", ["$rootScope", "Setting", "Event", "WindowUtil", function(a, b, c, d) {
"use strict";
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: "/stat/pc/views/common/footer.html",
link: function() {},
controller: ["$scope", function(e) {
e.setting = b.get(), e.isShow = !1;
var f = d.getPageId();
"pg-talk" === f ? a.$on(c.SCROLL_INFINITY_END, function() {
e.isShow = !0
}) : e.isShow = !0
}]
}
}]), angular.module("ngg.directive").directive("mdHeader", ["Setting", "WindowUtil", "$http", "$templateCache", "$compile", function(a, b, c, d, e) {
"use strict";
return {
restrict: "AE",
replace: !0,
link: function() {},
controller: ["$scope", "$element", "$attrs", "$timeout", function(f, g) {
f.setting = a.get();
var h = function() {
var a = "";
switch (b.getPageId()) {
case "pg-official":
a = "/stat/pc/views/common/header_official.html";
break;
default:
a = "/stat/pc/views/common/header.html"
}
return a
};
c.get(h(), {
cache: d
}).success(function(a) {
g.append(e(a)(f));
var b = g.find(".js-popup-about-755").eq(0);
b.boxer().on("click", function() {
$(window).trigger("start.boxer")
})
})
}]
}
}]), angular.module("ngg.directive").directive("indexContents", ["Setting", "UAParser", function(a) {
"use strict";
var b = a.get(),
c = [{
id: 1,
name: "AKB48繝舌�繧ク繝ァ繝ウ [繧オ繧、繧ウ繝シ邱ィ]",
url: "http://youtu.be/AZPyqDI_8DM",
img: b.stat + "/img/pages/index/cm_1.png",
isNew: !0
}, {
id: 2,
name: "AKB48繝舌�繧ク繝ァ繝ウ [縺�¥繧育キィ]",
url: "http://youtu.be/VTuH74q0EIo",
img: b.stat + "/img/pages/index/cm_2.png",
isNew: !0
}, {
id: 3,
name: "E-girls繝舌�繧ク繝ァ繝ウ [辭ア縺上↑繧狗キィ]",
url: "http://youtu.be/oumO4Wf1rJk",
img: b.stat + "/img/pages/index/cm_3.png",
isNew: !0
}, {
id: 4,
name: "E-girls繝舌�繧ク繝ァ繝ウ [繧ク繝」繝ウ繝礼キィ]",
url: "http://youtu.be/3cEEelZVfog",
img: b.stat + "/img/pages/index/cm_4.png",
isNew: !0
}];
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: "/stat/pc/views/index/indexContents.html",
link: function() {},
controller: ["$scope", function(a) {
a.setting = b;
var d = Math.floor(2 * Math.random()),
e = Math.floor(2 * Math.random()) + 2;
a.movies = 0 === Math.floor(2 * Math.random()) ? [c[d], c[e]] : [c[e], c[d]]
}]
}
}]), angular.module("ngg.directive").directive("mdBannerDownload", ["Event", "Setting", function(a, b) {
"use strict";
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: "/stat/pc/views/modules/bannerDownload.html",
link: function() {},
controller: ["$scope", "$window", function(c) {
c.setting = b.get(), c.$on(a.RUN_LOAD_COMPELET, function() {})
}]
}
}]), angular.module("ngg.directive").directive("mdDownload", ["Event", "Setting", function(a, b) {
"use strict";
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: "/stat/pc/views/modules/download.html",
link: function() {},
controller: ["$scope", "$window", function(c) {
c.setting = b.get(), c.$on(a.RUN_LOAD_COMPELET, function() {
c.setting = b.get()
})
}]
}
}]), angular.module("ngg.directive").directive("mdSnsShareBtns", ["Event", "TalkInfoService", "ProjectUtil", function(a) {
"use strict";
return {
restrict: "AE",
replace: !0,
scope: {
post: "="
},
template: '<div ng-include="getContentUrl()" ng-class="getAddClass()"></div>',
link: function(a, b, c) {
a.shareType = c.shareType, a.getContentUrl = function() {
var a = "";
switch (c.shareType) {
case "post":
a = "/stat/pc/views/modules/mdSnsShareBtns_singlePost.html";
break;
case "lp-post":
a = "/stat/pc/views/modules/mdSnsShareBtns_lpPost.html";
break;
default:
a = "/stat/pc/views/modules/mdSnsShareBtns.html"
}
return a
}, a.getAddClass = function() {
var a = "";
switch (c.shareType) {
case "post":
a = "";
break;
case "lp-post":
a = "ltp-share";
break;
default:
a = ""
}
return a
}
},
controller: ["$scope", "$element", "$attrs", function(b, c, d) {
b.isHover = !1, "lp-post" === d.shareType && (b.$parent.$on(a.MOUSE_HOVER, function() {
b.isHover = !0, b.$apply()
}), b.$parent.$on(a.MOUSE_LEAVE, function() {
b.isHover = !1, b.$apply()
}))
}]
}
}]), angular.module("ngg.directive").directive("vipSlider", ["ImageUtil", function() {
"use strict";
var a = function() {
function a() {
if (1 >= E) return v = t.find("li"), t.height(j()), v.eq(0).css("left", B), t.addClass("isActive"), void $(".md-carousel .crsl-contents li a").borderEffect({
borderColor: "#fff",
speed: 200,
borderWidth: 10
});
3 >= E && (r(!0), i()), v = t.find("li"), w = u.find("li"), E = q(), E >= 2 && x.addClass("isActive"), k(), t.height(j()), $.each(v, function(a) {
var b = $(this);
b.attr("data-id", a), b.on("onAnimationComplete", function() {})
}), t.addClass("isActive");
var a = $(".crsl-ctrl-prev");
a.on({
click: function() {
c(), e()
},
mouseenter: function() {
c()
},
mouseleave: function() {
b()
}
});
var f = $(".crsl-ctrl-next");
f.on({
click: function() {
c(), d()
},
mouseenter: function() {
c()
},
mouseleave: function() {
b()
}
});
var g = $(".crsl-contents li");
g.on({
mouseenter: function() {
c()
},
mouseleave: function() {
b()
}
}), $(".md-carousel .crsl-contents li a").borderEffect({
borderColor: "#fff",
speed: 200,
borderWidth: 10
}), b()
}
function b() {
C && clearInterval(C), C = setInterval(function() {
d()
}, D)
}
function c() {
C && (clearInterval(C), C = null)
}
function d() {
if (p()) {
var a = n() + 1;
f(a)
}
}
function e() {
if (p()) {
var a = n() - 1;
f(a)
}
}
function f(a) {
g(a), m(a), h(a)
}
function g(a) {
var b = a - n(),
c = B * b;
o(!1), l(b), $.each(v, function(a) {
var b = $(this),
d = b.position().left,
e = d - c,
f = 1400,
g = "easeInOutQuint";
b.animate({
left: e + "px"
}, f, g, function() {
1 === a && b.trigger("onAnimationComplete"), o(!0)
})
})
}
function h() {
var a = "active";
w.each(function() {
var b = $(this);
b.hasClass(a) && b.removeClass(a)
});
var b = n() % (q() / 2),
c = s() ? 0 === b ? q() / 2 : b : n();
$(w[c - 1]).addClass(a)
}
function i() {
{
var a = t.find("li");
n()
}
$.each(a, function() {
$(this).clone(!0).appendTo(t)
})
}
function j() {
var a = 0;
return v.each(function() {
$(this).height() > a && (a = $(this).height())
}), a = 436
}
function k() {
for (var a = 0, b = q(); b > a; a++) {
var c = v[a],
d = B * (a + 1);
$(c).css("left", d)
}
l(0)
}
function l(a) {
$.each(v, function() {
var b = $(this),
c = b.position().left,
d = c - a * B;
0 >= a ? d >= 4 * B && b.css("left", c - q() * B) : (0 > c || 2 * -B >= d) && b.css("left", c + q() * B)
})
}
function m(a) {
var b = a % q();
0 >= b && (b += q()), y = b
}
function n() {
return y
}
function o(a) {
z = a
}
function p() {
return z
}
function q() {
return t.find("li").length
}
function r(a) {
A = a
}
function s() {
return A
}
var t = $(".crsl-contents"),
u = $(".crsl-nav"),
v = null,
w = null,
x = $(".crsl-ctrl"),
y = 1,
z = !0,
A = !1,
B = 1040,
C = null,
D = 5e3,
E = q();
a()
};
return {
restrict: "A",
replace: !0,
scope: {},
link: function() {},
controller: ["$scope", "$element", "$attrs", function(b, c) {
c.hasClass("is-hidden") && c.removeClass("is-hidden"), window.vipSlider = new a, b.isShow = !0
}]
}
}]), angular.module("ngg.directive").directive("postAccordion", ["UAParser", "Event", function(a, b) {
"use strict";
return {
restrict: "A",
link: function() {},
controller: ["$scope", "$element", function(c, d) {
c.isOpen = !1;
var e, f, g, h = d.find(".js-post").eq(0),
i = d.find(".icn").eq(0),
j = a.isIE();
c.$on(b.POST_COMPILE_COMPLETE, function() {
e = h.find("p.tp__text");
var b;
if (j && a.checkVersion("9")) b = Math.round(parseFloat(e.css("line-height")) * parseFloat(e.css("font-size")));
else if (j) {
var i = e[0].currentStyle || document.defaultView.getComputedStyle(e[0], "");
b = Math.round(i.lineHeight * parseInt(e.css("font-size")))
} else b = Math.round(parseFloat(e.css("line-height")));
g = b, f = h.height(), f > g && (c.changeIcon(c.isOpen), h.height(g), c.setBtn(), d.addClass("is-hover"))
}), c.changeIcon = function(a) {
a ? (i.removeClass("icn-14"), i.addClass("icn-13")) : (i.removeClass("icn-13"), i.addClass("icn-14"))
}, c.changeAccordion = function(a) {
h.height(a ? f : g)
}, c.setBtn = function() {
d.on("click", function() {
c.isOpen = !c.isOpen, c.changeIcon(c.isOpen), c.changeAccordion(c.isOpen)
})
}
}]
}
}]), angular.module("ngg.directive").directive("postLink", ["$compile", "TalkInfoService", "ProjectUtil", "Event", function(a, b, c, d) {
"use strict";
return {
restrict: "A",
link: function(b, d) {
if (!c.isDelete(b.post.delete)) {
b.isLink = !0, b.hover = !1;
var e = "md-sns-share-btns",
f = "lp-post",
g = e + " share-type=" + f + " post='post'";
d.append(a("<" + g + "></" + g + ">")(b))
}
},
controller: ["$scope", "$element", "$attrs", function(a, e) {
e.on("click", function(d) {
var e = $(d.target),
f = e.parent(),
g = e.hasClass("js-sns-target") || f.hasClass("js-sns-target");
if (!g) {
var h = c.convertToShareUrl("post", b.get("data").talks[0].shareUrl, a.post.postId);
location.href = h
}
}), e.on("mouseenter", function() {
a.$emit(d.MOUSE_HOVER, [])
}), e.on("mouseleave", function() {
a.$emit(d.MOUSE_LEAVE, [])
})
}]
}
}]), angular.module("ngg.directive").directive("postPopupImg", ["ProjectUtil", function() {
"use strict";
return {
restrict: "A",
scope: {
comment: "="
},
link: function(a, b) {
$(b).boxer()
}
}
}]), angular.module("ngg.directive").directive("memberPopup", ["StringUtil", "ProjectUtil", function(a) {
"use strict";
return {
restrict: "A",
replace: !0,
scope: {
member: "="
},
link: function() {},
controller: ["$scope", "$element", "$attrs", function(b, c) {
if (b.isMember = !a.isEmpty(b.member.thumbnail), b.isMember) {
var d = null;
c.on("mouseenter", function() {
d = d || $(this).find(".member__popup"), d.stop(!0, !0), d.fadeIn(150)
}), c.on("mouseleave", function() {
d = d || $(this).find(".member__popup"), d.stop(!0, !0), d.fadeOut(0)
}), c.on("mousemove", function(a) {
d = d || $(this).find(".member__popup");
var b = a.target || a.srcElement,
c = b.getBoundingClientRect(),
e = a.clientX - c.left,
f = a.clientY - c.top - d.height() - 50;
d.css({
top: f,
left: e
})
})
}
}]
}
}]), angular.module("ngg.directive").directive("talkMembers", ["Event", "TalkInfoService", "ProjectUtil", "TalkMemberListService", function(a, b, c, d) {
"use strict";
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: "/stat/pc/views/talkInfo/talkMembers.html",
link: function() {},
controller: ["$scope", "$element", "$filter", function(b) {
var c;
b.isNext = !1, b.members = [];
var e = {
maxCol: 3,
maxRow: 3
};
b.$on(a.RUN_LOAD_COMPELET, function() {
c = new d(e), b.next()
}), b.next = function() {
b.members = b.members.concat(c.getNextPageData()), b.isNext = c.isNext()
}
}]
}
}]), angular.module("ngg.directive").directive("talkQr", ["Event", "TalkInfoService", function(a, b) {
"use strict";
return {
restrict: "AE",
replace: !0,
scope: {},
templateUrl: "/stat/pc/views/talkInfo/QR.html",
link: function() {},
controller: ["$scope", "$window", function(c) {
c.$on(a.RUN_LOAD_COMPELET, function() {
var a = b.get("data").talks[0];
c.qrImage = a.qrImage
})
}]
}
}]), angular.module("ngg.directive").directive("scrollFollow", ["Event", "TalkInfoService", function(a) {
"use strict";
return {
restrict: "A",
replace: !0,
scope: {},
link: function(a, b) {
b.css({
marginTop: 30
})
},
controller: ["$scope", "$window", "$element", function(b, c, d) {
var e = d,
f = e.parent("div"),
g = $(".l-contents"),
h = $(window),
i = f.offset().top,
j = e.offset().top,
k = e.offset().top;
b.change = function() {
j = "static" === e.css("position") ? i + e.position().top : j;
var a = e.outerHeight(!0),
b = g.outerHeight(!0),
c = h.scrollTop() + 60,
d = 30;
c + a > k + b - d ? e.css({
position: "absolute",
top: b - a - 2 * d
}) : c >= j - d ? e.css({
position: "fixed",
top: d + 60
}) : e.css("position", "static")
}, b.start = function() {
angular.element(c).on("scroll", function() {
b.change()
})
}, b.stop = function() {
angular.element(c).off("scroll")
}, b.$on(a.RUN_LOAD_COMPELET, function() {})
}]
}
}]), angular.module("ngg.controller").controller("IndexPageController", ["$scope", "$rootScope", "Setting", "JqueryUtil", function(a, b, c, d) {
"use strict";
a.setting = c.get(), d.rollover(), $(".bxslider").bxSlider({
mode: "fade",
responsive: !1,
pager: !1,
controls: !1,
auto: !0,
speed: 1500,
autoHover: !1
}), $(".bxslider").closest(".fades").removeClass("is-unvisible")
}]), angular.module("ngg.controller").controller("OfficialHotController", ["$scope", "Setting", "PagerService", function(a, b, c) {
"use strict";
a.setting = b.get();
var d = window.dataPopular,
e = 3,
f = 10,
g = new c(d.talks, e, f);
d = [], a.talks = [], a.isNext = g.isNext(), g.on("CHANGE_NEXT", function(b, c) {
for (var d = 0; d < c.length; d++) a.talks.push(c[d]);
a.isNext = g.isNext()
}), a.next = function() {
g.isNext() && g.next()
}
}]), angular.module("ngg.controller").controller("OfficialPageController", ["$scope", "$rootScope", "Setting", "Event", function(a, b, c) {
"use strict";
a.setting = c.get(), this.init = function() {
$(".js-popup-about-755").boxer().on("click", function() {
$(window).trigger("start.boxer")
}), $(".sub-pickup-thumb").borderEffect({
borderColor: "rgba(0,0,0,0.8)",
speed: 150,
borderWidth: 3
}), $(".js-sub-talk").borderEffect({
borderColor: "rgba(0,0,0,0.8)",
speed: 50,
borderWidth: 1
}), $(".js-sub-talk-simple").borderEffect({
borderColor: "rgba(0,0,0,0.8)",
speed: 50,
borderWidth: 1
})
}, this.init()
}]), angular.module("ngg.controller").controller("OfficialUpdatingController", ["$scope", "Setting", "PagerService", function(a, b, c) {
"use strict";
a.setting = b.get();
var d = window.dataActive,
e = 3,
f = 10,
g = new c(d.talks, e, f);
d = [], a.talks = [], a.isNext = g.isNext(), $(document).on("mouseenter", ".js-over-slide", function() {
var a = $(this).find(".js-over-body"),
b = 400,
c = "easeOutExpo";
a.stop(), a.animate({
top: "30px",
paddingTop: "15px"
}, b, c, function() {})
}), $(document).on("mouseleave", ".js-over-slide", function() {
var a = $(this).find(".js-over-body"),
b = 600,
c = "easeOutExpo";
a.stop(), a.animate({
top: "160px",
paddingTop: "7px"
}, b, c, function() {})
}), a.moreBtnHover = function(a) {
var b = $(a.currentTarget),
c = 250,
d = "easeOutBack";
b.stop(), b.animate({
width: "100px",
height: "100px",
bottom: "-50px",
marginLeft: "-50px"
}, c, d, function() {})
}, a.moreBtnLeave = function(a) {
var b = $(a.currentTarget),
c = 350,
d = "easeOutBounce";
b.stop(), b.animate({
width: "80px",
height: "80px",
bottom: "-40px",
marginLeft: "-40px"
}, c, d, function() {})
}, g.on("CHANGE_NEXT", function(b, c) {
for (var d = 0; d < c.length; d++) a.talks.push(c[d]);
a.isNext = g.isNext(), $(window).trigger("resize")
}), a.next = function() {
g.isNext() && g.next()
}
}]), angular.module("ngg.controller").controller("PostDetailController", ["$scope", "Const", "Event", "Setting", "ProjectUtil", "ObjectUtil", "TalkInfoService", "PostDetailService", function(a, b, c, d, e, f, g, h) {
"use strict";
var i = a;
a.setting = d.get(), a.isInitialized = !1, a.isLoading = !0, a.isShowMoreBtn = !1, a.hasNext = !1, a.hasPrev = !1, a.talkInfo = {}, a.talkTitle = "", a.posts = [], a.post = null, a.isError = null, a.isOffcialTalk = !1, a.talk = null, a.init = function() {
this.showLoading(), a.$on(c.RUN_LOAD_COMPELET, function() {
a.talk = g.get("data").talks[0], a.isOffcialTalk = e.isOfficial(a.talk.talkOfficialStatus);
var c = a.talk.publishStatus;
c !== b.PUBLISH_STATUS_PUBLIC && c !== b.PUBLISH_STATUS_FINISH ? (i.hideLoading(), trace("髱槫�髢九□繧茨シ"), a.isError = !1) : i.next()
})
}, a.next = function() {
a.showLoading(), h.fetch().then(function() {
var b;
i.post = h.get("post").get("data"), i.post ? (i.nextPosts = h.get("nextPosts").get("data"), i.prevPosts = h.get("prevPosts").get("data"), i.nextPost = h.get("nextPost").get("data"), i.prevPost = h.get("prevPost").get("data"), trace("setting", i.setting), trace("post", i.post), trace("nextPosts", i.nextPosts), trace("prevPosts", i.prevPosts), trace("nextPost", i.nextPost), trace("prevPost", i.prevPost), trace("talkId", i.post.talkId), a.isError = !1, b = i.talk.shareUrl, f.isEmpty(i.nextPost) || (i.hasNext = !0, i.linkNext = e.convertToShareUrl("post", b, i.nextPost.postId)), f.isEmpty(i.prevPost) || (i.hasPrev = !0, i.linkPrev = e.convertToShareUrl("post", b, i.prevPost.postId))) : a.isError = !0, i.linkTalk = e.convertToShareUrl("talk", b)
}, function(b) {
trace("error | PostDetailController > PostDetailService", b.status), a.isError = !0
}).finally(function() {
a.isInitialized = !0, i.hideLoading()
})
}, a.showLoading = function() {
this.isLoading = !0
}, a.hideLoading = function() {
this.isLoading = !1
}, a.init()
}]), angular.module("ngg.controller").controller("PostListController", ["$scope", "$element", "$window", "$rootScope", "Const", "Event", "ProjectUtil", "TalkInfoService", "LatestPostListService", "PostListService", function(a, b, c, d, e, f, g, h, i, j) {
"use strict";
var k = a;
a.isInitialized = !1, a.isInitialLoading = !0, a.isLoading = !1, a.isShowMoreBtn = !1, a.talkInfo = {}, a.posts = [];
var l;
a.prevPostId = null, a.nextPostId = null, a.defaults = {
maxInfinityLoadNum: 10,
size: {
init: 10,
other: 10
}
};
var m = 0;
a.hasScrollEvent = !1, a.hasNgRepeatFinishEvent = !1, a.hasPrev = function() {
return a.prevPostId ? !0 : !1
}, a.hasNext = function() {
return a.nextPostId ? !0 : !1
}, a.getPrevLoadedNum = function() {
return m
}, a.addPrevLoadedNum = function() {
m++
}, a.subtractPrevLoadedNum = function() {
m--
}, a.init = function() {
this.showLoading(), a.$on(f.RUN_LOAD_COMPELET, function() {
a.talkInfo = h.get("data").talks[0], l = a.talkInfo.publishStatus, l !== e.PUBLISH_STATUS_PUBLIC && l !== e.PUBLISH_STATUS_FINISH ? k.renderPrivateTalk() : k.prev()
})
}, a.setScrollEvent = function() {
var a = this;
this.hasScrollEvent || (this.hasScrollEvent = !0, angular.element(c).on("scroll", function() {
if (!a.isLoading) {
var c = b.height() + b.offset().top,
d = $(document).scrollTop() + $(window).height();
d >= c && a.prev()
}
}))
}, a.setNgRepeatFinishEvent = function() {
a.hasNgRepeatFinishEvent || (a.hasNgRepeatFinishEvent = !0, a.$on(f.NG_REPEAT_FINISHED, function() {
a.changePrevLoadType()
}))
}, a.deleteScrollEvent = function() {
this.hasScrollEvent && (this.hasScrollEvent = !1, angular.element(c).off("scroll"))
}, a.checkInfinityScrollable = function() {
return a.getPrevLoadedNum() < this.defaults.maxInfinityLoadNum + 1
}, a.renderPrivateTalk = function() {
trace("髱槫�髢九□繧茨シ"), this.hideLoading(), this.posts = []
}, a.prev = function() {
this.addPrevLoadedNum();
var a = {
direction: e.POST_LIST_API_DIRECTION_PREV
};
this.fetch(g.createPostListApiParams(this, a))
}, a.next = function() {
var a = {
direction: e.POST_LIST_API_DIRECTION_NEXT
};
this.fetch(g.createPostListApiParams(this, a))
}, a.changePrevLoadType = function() {
this.hasPrev() ? this.checkInfinityScrollable() ? this.setScrollEvent() : (this.isShowMoreBtn = !0, d.$broadcast(f.SCROLL_INFINITY_END)) : (this.isShowMoreBtn = !1, d.$broadcast(f.SCROLL_INFINITY_END))
}, a.fetch = function(b) {
this.showLoading(), this.deleteScrollEvent(), i.fetch(b).then(function(b) {
trace("success | PostListController > LatestPostListService", b), k.posts = j.get("data"), a.prevPostId = i.get("prevPostId"), a.nextPostId = i.get("nextPostId"), j.hasMergeDiffed || k.setNgRepeatFinishEvent()
}, function(a) {
trace("error | PostListController > LatestPostListService", a.status), k.posts = []
}).finally(function() {
(!a.isInitialized && 0 === a.posts.length || !j.hasMergeDiffed) && a.changePrevLoadType(), k.setNgRepeatFinishEvent(), a.isInitialized = !0, k.hideLoading()
})
}, a.showLoading = function() {
this.isInitialized || (this.isInitialLoading = !0), this.isLoading = !0
}, a.hideLoading = function() {
this.isInitialLoading = !1, this.isLoading = !1
}, a.init()
}]), angular.module("ngg.controller").controller("PostPageController", ["$scope", "$rootScope", "Setting", "Event", "TalkInfoService", function(a, b, c, d, e) {
"use strict";
a.setting = c.get(), this.init = function() {
e.fetch().then(function(b) {
trace("success | PostPageController > TalkInfoService", b), a.$broadcast(d.RUN_LOAD_COMPELET)
}, function(a) {
trace("error | PostPageController > TalkInfoService", a.status)
})
}, $(document).on("contextmenu", "img", function() {
return !1
}), $(document).on("click", "a.disabled", function(a) {
a.preventDefault()
}), this.init()
}]), angular.module("ngg.controller").controller("TalkInfoController", ["$scope", "Event", "TalkInfoService", function() {
"use strict"
}]), angular.module("ngg.controller").controller("TalkPageController", ["$scope", "$rootScope", "Setting", "Event", "TalkInfoService", function(a, b, c, d, e) {
"use strict";
a.setting = c.get(), this.init = function() {
e.fetch().then(function(b) {
trace("success | TalkPageController > TalkInfoService", b), a.$broadcast(d.RUN_LOAD_COMPELET)
}, function(a) {
trace("error | TalkPageController > TalkInfoService", a.status)
})
}, $(document).on("contextmenu", "img", function() {
return !1
}), $(document).on("click", "a.disabled", function(a) {
a.preventDefault()
}), this.init()
}]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment