Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
check
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abook_web
check
Commits
ed2bc92e
Commit
ed2bc92e
authored
Dec 20, 2012
by
Motohisa Nakano
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
20121219-3
parent
cd8ece9d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
518 additions
and
315 deletions
+518
-315
abvw/common/js/common.js
+2
-2
abvw/common/json/lang/lang-en.json
+5
-2
abvw/common/json/lang/lang-ja.json
+4
-2
abvw/common/json/lang/lang-ko.json
+4
-2
abvw/contentsearch.html
+1
-1
abvw/contentview.html
+0
-0
abvw/css/contentview.css
+31
-2
abvw/css/delete_shiori.css
+12
-0
abvw/history.html
+1
-1
abvw/home.html
+1
-1
abvw/js/bookmark.js
+45
-36
abvw/js/contentsearch.js
+65
-59
abvw/js/contentview.js
+132
-62
abvw/js/detail.js
+0
-0
abvw/js/header.js
+50
-3
abvw/js/history.js
+52
-46
abvw/js/home.js
+96
-90
abvw/js/login.js
+1
-1
abvw/js/settings.js
+16
-5
index.html
+0
-0
No files found.
abvw/common/js/common.js
View file @
ed2bc92e
...
...
@@ -2222,4 +2222,4 @@ function ToogleLogoutNortice() {
else
{
avwSetLogoutNortice
();
}
}
\ No newline at end of file
}
\ No newline at end of file
abvw/common/json/lang/lang-en.json
View file @
ed2bc92e
...
...
@@ -64,7 +64,7 @@
"dspBkCancel"
:
"Logout"
,
"txtSearchResult"
:
"Result"
,
"dspHome"
:
"Home"
,
"txtLoginUser"
:
"(Ver.2012121
8-1
)User:"
,
"txtLoginUser"
:
"(Ver.2012121
9-3
)User:"
,
"txtAll"
:
"All"
,
"txtMkgSize"
:
"Size"
,
"txtMkgS"
:
"S"
,
...
...
@@ -120,5 +120,8 @@
"txtMemoPaste"
:
"Paste"
,
"txtMemoClear"
:
"Clear"
,
"txtMemo"
:
"Memo"
,
"msgBGMPlayConfirm"
:
"EN:このコンテンツはBGMが流れるようになっています。BGMを再生してもよろしいですか?"
"msgBGMPlayConfirm"
:
"EN:このコンテンツはBGMが流れるようになっています。<br/>BGMを再生してもよろしいですか?"
,
"msgPWDNeedChange"
:
"EN:パスワード変更が必要ですので、設定変更画面に戻って変更してください。"
,
"msgBGMPagePlayConfirm"
:
"EN:このページはBGMが流れるようになっています。<br/>BGMを再生してもよろしいですか?"
}
abvw/common/json/lang/lang-ja.json
View file @
ed2bc92e
...
...
@@ -64,7 +64,7 @@
"dspBkCancel"
:
"バックアップせずにログアウト"
,
"txtSearchResult"
:
"検索結果"
,
"dspHome"
:
"ホーム"
,
"txtLoginUser"
:
"(Ver.2012121
8-1
)ログイン中:"
,
"txtLoginUser"
:
"(Ver.2012121
9-3
)ログイン中:"
,
"txtAll"
:
"すべて"
,
"txtMkgSize"
:
"太さ"
,
"txtMkgS"
:
"小"
,
...
...
@@ -120,5 +120,7 @@
"txtMemoPaste"
:
"貼り付け"
,
"txtMemoClear"
:
"クリア"
,
"txtMemo"
:
"メモ"
,
"msgBGMPlayConfirm"
:
"このコンテンツはBGMが流れるようになっています。BGMを再生してもよろしいですか?"
"msgBGMPlayConfirm"
:
"このコンテンツはBGMが流れるようになっています。<br/>BGMを再生してもよろしいですか?"
,
"msgPWDNeedChange"
:
"パスワード変更が必要ですので、設定変更画面に戻って変更してください。"
,
"msgBGMPagePlayConfirm"
:
"このページはBGMが流れるようになっています。<br/>BGMを再生してもよろしいですか?"
}
abvw/common/json/lang/lang-ko.json
View file @
ed2bc92e
...
...
@@ -64,7 +64,7 @@
"dspBkCancel"
:
"로그아웃"
,
"txtSearchResult"
:
"검색 결과"
,
"dspHome"
:
"홈"
,
"txtLoginUser"
:
"(Ver.2012121
8-1
)로그인 중:"
,
"txtLoginUser"
:
"(Ver.2012121
9-3
)로그인 중:"
,
"txtAll"
:
"전체"
,
"txtMkgSize"
:
"두께"
,
"txtMkgS"
:
"소"
,
...
...
@@ -120,5 +120,7 @@
"txtMemoPaste"
:
"붙여 넣기"
,
"txtMemoClear"
:
"클리어"
,
"txtMemo"
:
"메모"
,
"msgBGMPlayConfirm"
:
"KO:このコンテンツはBGMが流れるようになっています。BGMを再生してもよろしいですか?"
"msgBGMPlayConfirm"
:
"KO:このコンテンツはBGMが流れるようになっています。<br/>BGMを再生してもよろしいですか?"
,
"msgPWDNeedChange"
:
"KO:パスワード変更が必要ですので、設定変更画面に戻って変更してください。"
,
"msgBGMPagePlayConfirm"
:
"KO:このページはBGMが流れるようになっています。<br/>BGMを再生してもよろしいですか?"
}
abvw/contentsearch.html
View file @
ed2bc92e
...
...
@@ -34,7 +34,7 @@
<script
src=
"./common/js/gotop.js"
></script>
<script
src=
"common/js/tab.js"
></script>
<script
src=
"./common/js/screenLock.js"
type=
"text/javascript"
></script>
<script
src=
"js/
SCRCDL0100
.js"
type=
"text/javascript"
></script>
<script
src=
"js/
detail
.js"
type=
"text/javascript"
></script>
<!-- screen style definition area -->
<style>
...
...
abvw/contentview.html
View file @
ed2bc92e
This diff is collapsed.
Click to expand it.
abvw/css/contentview.css
View file @
ed2bc92e
html
{
overflow
:
hidden
;
}
body
{
margin
:
0
;
padding
:
0
;
...
...
@@ -8,7 +12,7 @@ body {
body
#wrapper
{
width
:
100%
;
height
:
100%
;
position
:
fixed
;
position
:
absolute
;
background-color
:
#666
;
box-shadow
:
2px
2px
8px
#000
inset
;
...
...
@@ -159,7 +163,7 @@ div .ui-slider-range, .ui-widget-header, .ui-slider-range-max {
/*CSS for dialog*/
.web_dialog_overlay
{
position
:
fixed
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
...
...
@@ -174,6 +178,25 @@ div .ui-slider-range, .ui-widget-header, .ui-slider-range-max {
z-index
:
101
;
display
:
none
;
}
/*CSS for dialog*/
.web_dialog_overlay_loading
{
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
margin
:
0
;
padding
:
0
;
opacity
:
.15
;
filter
:
alpha
(
opacity
=
15
);
-moz-opacity
:
.15
;
z-index
:
101
;
display
:
none
;
}
.web_dialog
{
padding-top
:
100px
;
...
...
@@ -797,3 +820,9 @@ aside.MemoIndexBox .indexBoxBody_off{
width
:
60px
;
height
:
60px
;
}
#bgmConfirm
{
position
:
absolute
;
display
:
none
;
}
abvw/css/delete_shiori.css
View file @
ed2bc92e
...
...
@@ -63,6 +63,18 @@
margin
:
-27px
0
0
135px
;
cursor
:
pointer
;
}
.sectionDeleteConfirm
.deletebtn
a
.ok_audio
{
position
:
relative
;
margin
:
0
168px
0
0
;
cursor
:
pointer
;
}
.sectionDeleteConfirm
.deletebtn
a
.cancel_audio
{
position
:
relative
;
margin
:
-27px
60px
0
135px
;
cursor
:
pointer
;
}
.sectionDeleteConfirm
.deletebtn
a
{
width
:
85px
;
height
:
21px
;
...
...
abvw/history.html
View file @
ed2bc92e
...
...
@@ -33,7 +33,7 @@
<script
src=
"./common/js/gotop.js"
></script>
<script
src=
"common/js/tab.js"
></script>
<script
src=
"./common/js/screenLock.js"
type=
"text/javascript"
></script>
<script
src=
"js/
SCRCDL0100
.js"
type=
"text/javascript"
></script>
<script
src=
"js/
detail
.js"
type=
"text/javascript"
></script>
<!-- screen style definition area -->
<style>
...
...
abvw/home.html
View file @
ed2bc92e
...
...
@@ -41,7 +41,7 @@
<script
src=
"./common/js/jquery.treeview.edit.js"
type=
"text/javascript"
></script>
<script
src=
"./common/js/jquery.treeview.js"
type=
"text/javascript"
></script>
<script
src=
"./common/js/screenLock.js"
type=
"text/javascript"
></script>
<script
src=
"js/
SCRCDL0100
.js"
type=
"text/javascript"
></script>
<script
src=
"js/
detail
.js"
type=
"text/javascript"
></script>
<!-- screen style definition area -->
...
...
abvw/js/bookmark.js
View file @
ed2bc92e
...
...
@@ -27,48 +27,57 @@ $(document).ready(function () {
LockScreen
();
// Synchronize bookmarks with server
SyncContent
();
// Collection all detail of pages
bookmark_collectAllPages
();
document
.
title
=
i18nText
(
'dspShiori'
)
+
' | '
+
i18nText
(
'sysAppTitle'
);
// Set bookmark screen
ClientData
.
BookmarkScreen
(
ScreenIds
.
BookmarkList
);
$
(
"#dspDelete"
).
click
(
dspDelete_Click
);
$
(
"#dspDelete1"
).
click
(
dspDelete1_Click
);
$
(
"#dspCancel"
).
click
(
dspCancel_Click
);
$
(
"#dspConfirmOK"
).
click
(
dspConfirmOK_Click
);
ClearGrid
();
if
(
ClientData
.
BookMarkData
().
length
==
0
)
{
// Show error
$
(
"#msgShioriNotExists"
).
show
();
$
(
"#dspDelete"
).
hide
();
$
(
"#dspDelete1"
).
hide
();
}
else
{
$
(
"#msgShioriNotExists"
).
hide
();
$
(
"#dspDelete"
).
show
();
$
(
"#dspDelete1"
).
show
();
}
// Show book in local storage
//ShowBookmark();
$
(
"a[name='dspRead']"
).
unbind
(
'click'
);
$
(
"a[name='dspRead']"
).
click
(
dspRead_Click
);
HideSorting
();
// Default sort is タイトル名, default is asc
ClientData
.
sortOpt_searchDivision
(
1
);
ClientData
.
sortOpt_sortType
(
2
);
dspTitleNm_Click
();
//Check if Force Change password
if
(
ClientData
.
requirePasswordChange
()
!=
1
){
// Synchronize bookmarks with server
SyncContent
();
// Collection all detail of pages
bookmark_collectAllPages
();
$
(
"#dspDelete"
).
click
(
dspDelete_Click
);
$
(
"#dspDelete1"
).
click
(
dspDelete1_Click
);
$
(
"#dspCancel"
).
click
(
dspCancel_Click
);
$
(
"#dspConfirmOK"
).
click
(
dspConfirmOK_Click
);
ClearGrid
();
if
(
ClientData
.
BookMarkData
().
length
==
0
)
{
// Show error
$
(
"#msgShioriNotExists"
).
show
();
$
(
"#dspDelete"
).
hide
();
$
(
"#dspDelete1"
).
hide
();
}
else
{
$
(
"#msgShioriNotExists"
).
hide
();
$
(
"#dspDelete"
).
show
();
$
(
"#dspDelete1"
).
show
();
}
// Show book in local storage
//ShowBookmark();
$
(
"a[name='dspRead']"
).
unbind
(
'click'
);
$
(
"a[name='dspRead']"
).
click
(
dspRead_Click
);
HideSorting
();
// Default sort is タイトル名, default is asc
ClientData
.
sortOpt_searchDivision
(
1
);
ClientData
.
sortOpt_sortType
(
2
);
dspTitleNm_Click
();
}
else
{
checkForceChangePassword
();
}
});
/*
...
...
abvw/js/contentsearch.js
View file @
ed2bc92e
...
...
@@ -50,69 +50,75 @@ $(document).ready(function(){
document
.
title
=
i18nText
(
'txtSearchResult'
)
+
' | '
+
i18nText
(
'sysAppTitle'
);
// Set bookmark screen ClientData.BookmarkScreen(ScreenIds.ContentSearch);
//Format text display more record
formatDisplayMoreRecord
();
//remove hover effect when is touch device
removeHoverCss
();
//InitScreen
initialScreen
();
//Render Grid
renderGridView
();
//Go To Details Page
$
(
'canvas'
).
live
(
'click'
,
canvasClickFunction
);
//$('canvas').live('touchstart', canvasClickFunction);
$
(
'canvas'
).
live
(
'touchend'
,
canvasClickFunction
);
$
(
'canvas'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Open dialog
$
(
'.dialog'
).
live
(
'click'
,
titleClickFunction
);
//$('.dialog').live('touchstart', titleClickFunction);
$
(
'.dialog'
).
live
(
'touchend'
,
titleClickFunction
);
$
(
'.dialog'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Show Next Record
$
(
'a#control-nextrecord'
).
click
(
showNextRecordFunction
);
//Sort Title
$
(
'#control-sort-title'
).
click
(
sortByTitleFunction
);
//Sort by title kana
$
(
'#control-sort-titlekana'
).
click
(
sortByTitleKanaFunction
);
//Check if Force Change password
if
(
ClientData
.
requirePasswordChange
()
!=
1
){
//Format text display more record
formatDisplayMoreRecord
();
//remove hover effect when is touch device
removeHoverCss
();
//InitScreen
initialScreen
();
//Render Grid
renderGridView
();
//Go To Details Page
$
(
'canvas'
).
live
(
'click'
,
canvasClickFunction
);
//$('canvas').live('touchstart', canvasClickFunction);
$
(
'canvas'
).
live
(
'touchend'
,
canvasClickFunction
);
$
(
'canvas'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//sort by release date
$
(
'#control-sort-releasedate'
).
click
(
sortByReleaseDateFunction
);
//Open dialog
$
(
'.dialog'
).
live
(
'click'
,
titleClickFunction
);
//$('.dialog').live('touchstart', titleClickFunction);
$
(
'.dialog'
).
live
(
'touchend'
,
titleClickFunction
);
$
(
'.dialog'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Go To Details Page
$
(
'.button-details'
).
live
(
'click'
,
readSubmenuFunction
);
//$('.button-details').live('touchstart', readSubmenuFunction);
$
(
'.button-details'
).
live
(
'touchend'
,
readSubmenuFunction
);
$
(
'.button-details'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
$
(
'#main-search'
).
click
(
searchEventButtonFunction
);
$
(
'#txtSearch'
).
keydown
(
mainSearchKeyDownFunction
);
$
(
'#main-search-content'
).
click
(
mainSearchContentClickFunction
);
//Show Next Record
$
(
'a#control-nextrecord'
).
click
(
showNextRecordFunction
);
//Sort Title
$
(
'#control-sort-title'
).
click
(
sortByTitleFunction
);
//Sort by title kana
$
(
'#control-sort-titlekana'
).
click
(
sortByTitleKanaFunction
);
//sort by release date
$
(
'#control-sort-releasedate'
).
click
(
sortByReleaseDateFunction
);
//Go To Details Page
$
(
'.button-details'
).
live
(
'click'
,
readSubmenuFunction
);
//$('.button-details').live('touchstart', readSubmenuFunction);
$
(
'.button-details'
).
live
(
'touchend'
,
readSubmenuFunction
);
$
(
'.button-details'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
$
(
'#main-search'
).
click
(
searchEventButtonFunction
);
$
(
'#txtSearch'
).
keydown
(
mainSearchKeyDownFunction
);
$
(
'#main-search-content'
).
click
(
mainSearchContentClickFunction
);
$
(
'#main-search-tag'
).
click
(
mainSearchTagClickFunction
);
$
(
'#main-search-body'
).
click
(
mainSearchBodyClickFunction
);
$
(
'#main-search-tag'
).
click
(
mainSearchTagClickFunction
);
$
(
'#control-nextrecord'
).
css
(
'visibility'
,
'hidden'
);
$
(
'#main-search-body'
).
click
(
mainSearchBodyClickFunction
);
$
(
'#control-nextrecord'
).
css
(
'visibility'
,
'hidden'
);
$
(
window
).
resize
(
function
()
{
if
(
$
(
"#contentDetail"
).
css
(
"display"
)
!=
"none"
)
{
// Refresh panel of detail to center.
$
(
"#contentDetail"
).
center
();
if
(
$
(
"#contentDetail"
).
height
()
>
$
(
window
).
height
()){
$
(
"#contentDetail"
).
css
(
'top'
,
'0'
);
}
}
}
);
$
(
window
).
resize
(
function
()
{
if
(
$
(
"#contentDetail"
).
css
(
"display"
)
!=
"none"
)
{
// Refresh panel of detail to center.
$
(
"#contentDetail"
).
center
();
if
(
$
(
"#contentDetail"
).
height
()
>
$
(
window
).
height
())
{
$
(
"#contentDetail"
).
css
(
'top'
,
'0'
);
}
}
});
}
else
{
//Check if Force Change password
checkForceChangePassword
();
}
});
...
...
abvw/js/contentview.js
View file @
ed2bc92e
...
...
@@ -852,7 +852,7 @@ Transition.prototype.flipNextPage = function() {
{
duration
:
'slow'
,
complete
:
function
(){
isFirstLoad
=
true
;
screenFit
();
screenFit
();
}
});
...
...
@@ -949,7 +949,7 @@ Transition.prototype.flipToPage = function(index) {
{
duration
:
'slow'
,
complete
:
function
(){
isFirstLoad
=
true
;
screenFit
();
screenFit
();
}
});
//change pageIndex and image bookmark
...
...
@@ -970,7 +970,7 @@ Transition.prototype.flipToPage = function(index) {
document
.
title
=
contentName
+
' | '
+
i18nText
(
'sysAppTitle'
);
}
/* set end log */
SetEndLog
(
contentID
);
SetEndLog
(
contentID
);
}
}
);
...
...
@@ -1025,6 +1025,7 @@ function removeObject(){
ClosePopupText
();
}
$
(
"#bgmConfirm"
).
hide
();
$
(
"#boxCopyText"
).
hide
();
$
(
"#boxSearching"
).
hide
();
$
(
"#boxIndex"
).
hide
();
...
...
@@ -1045,7 +1046,9 @@ function removeObject(){
$
(
'#playaudio'
).
children
().
remove
();
}
if
(
$
(
'#playaudiopage'
).
children
().
length
>
0
){
$
(
'#playaudiopage'
).
children
().
remove
();
if
(
avwUserEnvObj
.
os
!=
"ipad"
)
{
$
(
'#playaudiopage'
).
children
().
remove
();
}
}
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
...
...
@@ -2539,10 +2542,19 @@ function playAllAudio(){
}
}
else
{
if
(
document
.
getElementById
(
"play_audio_0"
)
!=
undefined
){
if
(
avwUserEnvObj
.
os
==
"ipad"
)
{
//document.getElementById("play_audio_0").load();
}
document
.
getElementById
(
"play_audio_0"
).
play
();
}
else
if
(
document
.
getElementById
(
"play_audio_2"
)
!=
undefined
){
}
else
if
(
document
.
getElementById
(
"play_audio_2"
)
!=
undefined
){
if
(
avwUserEnvObj
.
os
==
"ipad"
)
{
//document.getElementById("play_audio_2").load();
}
document
.
getElementById
(
"play_audio_2"
).
play
();
}
else
if
(
document
.
getElementById
(
"play_audio_1"
)
!=
undefined
){
}
else
if
(
document
.
getElementById
(
"play_audio_1"
)
!=
undefined
){
if
(
avwUserEnvObj
.
os
==
"ipad"
)
{
//document.getElementById("play_audio_1").load();
}
document
.
getElementById
(
"play_audio_1"
).
play
();
}
}
...
...
@@ -2596,71 +2608,129 @@ function createAudio(audio,type){
}
if
(
avwUserEnvObj
.
os
==
"ipad"
)
{
document
.
getElementById
(
"play_audio_0"
).
load
();
document
.
getElementById
(
"play_audio_0"
).
play
();
}
}
else
if
(
type
==
"1"
){
/* play all page */
TypeAudio1
=
type
;
srcAudioType1
=
audio
;
if
(
ClientData
.
userOpt_musicMode
()
==
"1"
){
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudioallpage'
).
html
(
' <embed id="play_audio_1" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" loop="true" hidden="true"> </embed>'
);
}
else
{
$
(
'#playaudioallpage'
).
html
(
' <audio id="play_audio_1" loop="loop" autoplay="autoplay" >'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
}
if
(
document
.
getElementById
(
"play_audio_1"
)
!=
undefined
){
if
(
ClientData
.
userOpt_musicMode
()
==
"1"
){
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudioallpage'
).
html
(
' <embed id="play_audio_1" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" loop="true" hidden="true"> </embed>'
);
}
else
{
document
.
getElementById
(
"play_audio_1"
).
play
();
}
}
else
{
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudioallpage'
).
html
(
' <embed id="play_audio_1" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" hidden="true"> </embed>'
);
}
else
{
document
.
getElementById
(
"play_audio_1"
).
play
();
}
}
}
else
{
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudioallpage'
).
html
(
' <embed id="play_audio_1" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" hidden="true"> </embed>'
);
TypeAudio1
=
type
;
srcAudioType1
=
audio
;
if
(
ClientData
.
userOpt_musicMode
()
==
"1"
){
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudioallpage'
).
html
(
' <embed id="play_audio_1" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" loop="true" hidden="true"> </embed>'
);
}
else
{
$
(
'#playaudioallpage'
).
html
(
' <audio id="play_audio_1" loop="loop" autoplay="autoplay" >'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
}
}
else
{
$
(
'#playaudioallpage'
).
html
(
' <audio id="play_audio_1" autoplay = "autoplay" >'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
}
}
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudioallpage'
).
html
(
' <embed id="play_audio_1" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" hidden="true"> </embed>'
);
}
else
{
$
(
'#playaudioallpage'
).
html
(
' <audio id="play_audio_1" autoplay = "autoplay" >'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
}
}
// Check to play BGM on ipad
if
(
avwUserEnvObj
.
os
==
"ipad"
)
{
// Show confim message to play background music
$
(
"#bgmConfirm_dspCancel"
).
unbind
(
'click'
);
$
(
"#bgmConfirm_dspCancel"
).
click
(
function
()
{
$
(
"#bgmConfirm"
).
hide
();
});
$
(
"#bgmConfirm_dspOK"
).
unbind
(
'click'
);
$
(
"#bgmConfirm_dspOK"
).
click
(
function
()
{
document
.
getElementById
(
'play_audio_1'
).
load
();
document
.
getElementById
(
'play_audio_1'
).
play
();
$
(
"#bgmConfirm"
).
hide
();
});
$
(
"#bgmConfirm"
).
show
();
$
(
"#bgmConfirm"
).
center
();
}
}
}
else
if
(
type
==
"2"
){
/* play on page */
stopAllAudio
();
TypeAudio2
=
type
;
srcAudioType2
=
audio
;
if
(
ClientData
.
userOpt_musicMode
()
==
"1"
){
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudiopage'
).
html
(
' <embed id="play_audio_2" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" loop="true" hidden="true"> </embed>'
);
}
else
{
$
(
'#playaudiopage'
).
html
(
' <audio id="play_audio_2" loop="loop" autoplay ="autoplay">'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
}
}
else
{
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
if
(
document
.
getElementById
(
"play_audio_2"
)
==
undefined
){
stopAllAudio
();
TypeAudio2
=
type
;
srcAudioType2
=
audio
;
if
(
ClientData
.
userOpt_musicMode
()
==
"1"
){
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudiopage'
).
html
(
' <embed id="play_audio_2" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" loop="true" hidden="true"> </embed>'
);
}
else
{
$
(
'#playaudiopage'
).
html
(
' <embed id="play_audio_2" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" hidden="true"> </embed>'
);
' <audio id="play_audio_2" loop="loop" autoplay ="autoplay">'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
}
}
else
{
$
(
'#playaudiopage'
).
html
(
' <audio id="play_audio_2" autoplay ="autoplay">'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
if
(
avwUserEnvObj
.
browser
==
'firefox'
){
$
(
'#playaudiopage'
).
html
(
' <embed id="play_audio_2" src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" autostart="true" hidden="true"> </embed>'
);
}
else
{
$
(
'#playaudiopage'
).
html
(
' <audio id="play_audio_2" autoplay ="autoplay">'
+
' <source src="'
+
audio
+
'&key='
+
(
new
Date
()).
toIdString
()
+
'" type="audio/mpeg" />'
+
' </audio>'
);
}
}
}
// Check to play BGM on ipad
if
(
avwUserEnvObj
.
os
==
"ipad"
)
{
// Show confim message to play background music
$
(
"#bgmConfirm_dspCancel_page"
).
unbind
(
'click'
);
$
(
"#bgmConfirm_dspCancel_page"
).
click
(
function
()
{
$
(
"#bgmConfirm_page"
).
hide
();
});
$
(
"#bgmConfirm_dspOK_page"
).
unbind
(
'click'
);
$
(
"#bgmConfirm_dspOK_page"
).
click
(
function
()
{
document
.
getElementById
(
'play_audio_2'
).
load
();
document
.
getElementById
(
'play_audio_2'
).
play
();
$
(
"#bgmConfirm_page"
).
hide
();
});
$
(
"#bgmConfirm_page"
).
show
();
$
(
"#bgmConfirm_page"
).
center
();
}
}
}
}
else
{
stopAllAudio
();
...
...
abvw/js/
SCRCDL0100
.js
→
abvw/js/
detail
.js
View file @
ed2bc92e
File moved
abvw/js/header.js
View file @
ed2bc92e
...
...
@@ -9,9 +9,13 @@ $(document).ready(function () {
if
(
!
avwCheckLogin
(
ScreenIds
.
Login
))
return
;
// Set event to prevent leave
//avwSetLogoutNortice();
ToogleLogoutNortice
();
if
(
ClientData
.
requirePasswordChange
()
!=
1
)
{
ToogleLogoutNortice
();
}
//Toggle Searchbox
$
(
'input#searchbox-key'
).
click
(
toggleSearchPanel
);
...
...
@@ -417,4 +421,48 @@ function DoBackup() {
$
(
'.toast-position-middle-center'
).
css
(
'margin-left'
,
'-250px'
);
$
(
'.toast-item-close'
).
live
(
'click'
,
webLogoutEvent
);
});
}
\ No newline at end of file
}
function
checkForceChangePassword
(){
if
(
ClientData
.
BookmarkScreen
()
!=
ScreenIds
.
Setting
){
if
(
ClientData
.
requirePasswordChange
()
==
1
){
//alert(i18nText('msgPWDNeedChange'));
showErrorScreenForceChangePassword
();
}
}
}
function
showErrorScreenForceChangePassword
(){
var
tags
=
'<div id="avw-auth-error">'
+
'<div style="display:table; width:100%; height:100%;">'
+
'<div style="display:table-cell; text-align:center; vertical-align:middle;">'
+
'<p>'
+
i18nText
(
'msgPWDNeedChange'
)
+
'</p>'
+
'<div><button id="avw-unauth-ok">OK</button></div>'
+
'</div></div></div>'
;
$
(
'body'
).
prepend
(
tags
);
$
(
'#avw-auth-error'
).
css
(
{
'color'
:
'#fff'
,
'opacity'
:
1
,
'position'
:
'fixed'
,
'top'
:
'0'
,
'left'
:
'0'
,
'width'
:
$
(
window
).
width
(),
'height'
:
$
(
window
).
height
(),
'background'
:
'#ccc'
,
'zIndex'
:
'10000'
})
// resize error page
$
(
window
).
resize
(
function
()
{
$
(
'#avw-auth-error'
).
css
(
{
'width'
:
$
(
window
).
width
(),
'height'
:
$
(
window
).
height
()
});
});
$
(
'#avw-unauth-ok'
).
click
(
function
()
{
ClientData
.
BookmarkScreen
(
ScreenIds
.
Setting
);
avwScreenMove
(
ScreenIds
.
Setting
);
});
}
abvw/js/history.js
View file @
ed2bc92e
...
...
@@ -49,59 +49,65 @@ $(document).ready(function(){
LockScreen
();
document
.
title
=
i18nText
(
'dspViewHistory'
)
+
' | '
+
i18nText
(
'sysAppTitle'
);
if
(
ClientData
.
ReadingContentIds
()
==
null
||
ClientData
.
ReadingContentIds
()
==
'undefined'
||
ClientData
.
ReadingContentIds
().
length
==
0
){
}
else
{
syncReadingContent
();
}
ClientData
.
BookmarkScreen
(
ScreenIds
.
History
);
//remove hover effect when is touch device
removeHoverCss
();
//Render Grid
renderGridView
();
if
(
ClientData
.
requirePasswordChange
()
!=
1
){
if
(
ClientData
.
ReadingContentIds
()
==
null
||
ClientData
.
ReadingContentIds
()
==
'undefined'
||
ClientData
.
ReadingContentIds
().
length
==
0
){
}
else
{
syncReadingContent
();
}
//remove hover effect when is touch device
removeHoverCss
();
//Render Grid
renderGridView
();
//Go To Details Page
$
(
'canvas'
).
live
(
'click'
,
canvasClickFunction
);
//$('canvas').live('touchstart', canvasClickFunction);
$
(
'canvas'
).
live
(
'touchend'
,
canvasClickFunction
);
$
(
'canvas'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Go To Details Page
$
(
'canvas'
).
live
(
'click'
,
canvasClickFunction
);
//$('canvas').live('touchstart', canvasClickFunction);
$
(
'canvas'
).
live
(
'touchend'
,
canvasClickFunction
);
$
(
'canvas'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Open dialog
$
(
'.dialog'
).
live
(
'click'
,
titleClickFunction
);
//$('.dialog').live('touchstart', titleClickFunction);
$
(
'.dialog'
).
live
(
'touchend'
,
titleClickFunction
);
$
(
'.dialog'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Sort Title
$
(
'#control-sort-title'
).
click
(
sortByTitleFunction
);
//Sort by title kana
$
(
'#control-sort-titlekana'
).
click
(
sortByTitleKanaFunction
);
//Open dialog
$
(
'.dialog'
).
live
(
'click'
,
titleClickFunction
);
//$('.dialog').live('touchstart', titleClickFunction);
$
(
'.dialog'
).
live
(
'touchend'
,
titleClickFunction
);
$
(
'.dialog'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Sort Title
$
(
'#control-sort-title'
).
click
(
sortByTitleFunction
);
//sort by release date
$
(
'#control-sort-releasedate'
).
click
(
sortByReleaseDateFunction
);
$
(
'#control-sort-viewdate'
).
click
(
sortByViewDateFunction
);
//Sort by title kana
$
(
'#control-sort-titlekana'
).
click
(
sortByTitleKanaFunction
);
//sort by release date
$
(
'#control-sort-releasedate'
).
click
(
sortByReleaseDateFunction
);
//Go To Details Page
$
(
'.button-details'
).
live
(
'click'
,
readSubmenuFunction
);
//$('.button-details').live('touchstart', readSubmenuFunction);
$
(
'.button-details'
).
live
(
'touchend'
,
readSubmenuFunction
);
$
(
'.button-details'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
$
(
window
).
resize
(
function
()
{
if
(
$
(
"#contentDetail"
).
css
(
"display"
)
!=
"none"
)
{
// Refresh panel of detail to center.
$
(
"#contentDetail"
).
center
();
if
(
$
(
"#contentDetail"
).
height
()
>
$
(
window
).
height
()){
$
(
"#contentDetail"
).
css
(
'top'
,
'0'
);
}
}
});
$
(
'#control-sort-viewdate'
).
click
(
sortByViewDateFunction
);
//Go To Details Page
$
(
'.button-details'
).
live
(
'click'
,
readSubmenuFunction
);
//$('.button-details').live('touchstart', readSubmenuFunction);
$
(
'.button-details'
).
live
(
'touchend'
,
readSubmenuFunction
);
$
(
'.button-details'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
$
(
window
).
resize
(
function
()
{
if
(
$
(
"#contentDetail"
).
css
(
"display"
)
!=
"none"
)
{
// Refresh panel of detail to center.
$
(
"#contentDetail"
).
center
();
if
(
$
(
"#contentDetail"
).
height
()
>
$
(
window
).
height
()){
$
(
"#contentDetail"
).
css
(
'top'
,
'0'
);
}
}
});
}
else
{
//Check if Force Change password
checkForceChangePassword
();
}
});
//Call API
...
...
abvw/js/home.js
View file @
ed2bc92e
...
...
@@ -58,100 +58,106 @@ $(document).ready(function () {
// Set bookmark screen
ClientData
.
BookmarkScreen
(
ScreenIds
.
Home
);
// Register log
RegisterLog
();
//Sync Data
if
(
ClientData
.
ReadingContentIds
()
==
null
||
ClientData
.
ReadingContentIds
()
==
'undefined'
||
ClientData
.
ReadingContentIds
().
length
==
0
)
{
ClientData
.
common_contentDataChkFlg
(
false
);
}
else
{
syncContentData
();
}
//remove hover css if is touch device
removeHoverCss
();
//Get default view mode for rendergrid view
setDefaultViewMode
();
//Check if Force Change password
if
(
ClientData
.
requirePasswordChange
()
!=
1
){
// Register log
RegisterLog
();
//Sync Data
if
(
ClientData
.
ReadingContentIds
()
==
null
||
ClientData
.
ReadingContentIds
()
==
'undefined'
||
ClientData
.
ReadingContentIds
().
length
==
0
)
{
ClientData
.
common_contentDataChkFlg
(
false
);
}
else
{
syncContentData
();
}
//remove hover css if is touch device
removeHoverCss
();
//Get default view mode for rendergrid view
setDefaultViewMode
();
//Toggle TreeView Disp
handleTreeViewDisp
();
//Toggle TreeView Disp
handleTreeViewDisp
();
//Format text display more record
formatDisplayMoreRecord
();
//Format text display more record
formatDisplayMoreRecord
();
//Render Grid
renderGridView
();
//Render Genre
getDataJsonFileGenre
();
getDataJsonFileGroup
();
//Render Grid
renderGridView
();
// Lock screen is here, because of in getDataJsonFileGroup() called click to expand speified nodes of treeview
LockScreen
();
//Render Genre
getDataJsonFileGenre
();
getDataJsonFileGroup
();
// Lock screen is here, because of in getDataJsonFileGroup() called click to expand speified nodes of treeview
LockScreen
();
//Change display type to bookshelf type
$
(
'#control-bookshelf-type'
).
click
(
changeDispBookShelfFunction
);
//Change display type to list type
$
(
'#control-list-type'
).
click
(
changeDispListFunction
);
//Go To Details Page
$
(
'canvas'
).
live
(
'click'
,
canvasClickFunction
);
//$('canvas').live('touchstart', canvasClickFunction);
$
(
'canvas'
).
live
(
'touchend'
,
canvasClickFunction
);
$
(
'canvas'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Open dialog
$
(
'.dialog'
).
live
(
'click'
,
openSubMenuDialogFunction
);
//$('.dialog').live('touchstart', openSubMenuDialogFunction);
$
(
'.dialog'
).
live
(
'touchend'
,
openSubMenuDialogFunction
);
$
(
'.dialog'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Render Genre TreeView
$
(
'#lnkbtnGenre'
).
click
(
genreSelectFunction
);
//Render Group TreeView
$
(
'#lnkbtnGroup'
).
click
(
groupSelectFunction
);
//Button details on dialog click event
$
(
'#dialog-detail'
).
click
(
detailsSubmenuFunction
);
//Button Read on dialog click event
$
(
'#dialog-read'
).
click
(
readSubmenuFunction
);
//Show Next Record
$
(
'a#control-nextrecord'
).
click
(
showNextRecordFunction
);
//Sort Title
$
(
'#control-sort-title'
).
click
(
sortByTitleFunction
);
//Sort by title kana
$
(
'#control-sort-titlekana'
).
click
(
sortByTitleKanaFunction
);
//sort by release date
$
(
'#control-sort-releasedate'
).
click
(
sortByReleaseDateFunction
);
//Go To Details Page
$
(
'.button-details'
).
live
(
'click'
,
readSubmenuFunction
);
//$('.button-details').live('touchstart', readSubmenuFunction);
$
(
'.button-details'
).
live
(
'touchend'
,
readSubmenuFunction
);
$
(
'.button-details'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
$
(
'#dlgSubMenu'
).
hover
(
subMenuHoverFunction
,
subMenuHoverOffFunction
);
$
(
'body'
).
click
(
bodyHomeClickFunction
);
//Change display type to bookshelf type
$
(
'#control-bookshelf-type'
).
click
(
changeDispBookShelfFunction
);
//Change display type to list type
$
(
'#control-list-type'
).
click
(
changeDispListFunction
);
//Go To Details Page
$
(
'canvas'
).
live
(
'click'
,
canvasClickFunction
);
//$('canvas').live('touchstart', canvasClickFunction);
$
(
'canvas'
).
live
(
'touchend'
,
canvasClickFunction
);
$
(
'canvas'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Open dialog
$
(
'.dialog'
).
live
(
'click'
,
openSubMenuDialogFunction
);
//$('.dialog').live('touchstart', openSubMenuDialogFunction);
$
(
'.dialog'
).
live
(
'touchend'
,
openSubMenuDialogFunction
);
$
(
'.dialog'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
//Render Genre TreeView
$
(
'#lnkbtnGenre'
).
click
(
genreSelectFunction
);
//Render Group TreeView
$
(
'#lnkbtnGroup'
).
click
(
groupSelectFunction
);
//Button details on dialog click event
$
(
'#dialog-detail'
).
click
(
detailsSubmenuFunction
);
//Button Read on dialog click event
$
(
'#dialog-read'
).
click
(
readSubmenuFunction
);
//Show Next Record
$
(
'a#control-nextrecord'
).
click
(
showNextRecordFunction
);
//Sort Title
$
(
'#control-sort-title'
).
click
(
sortByTitleFunction
);
//Sort by title kana
$
(
'#control-sort-titlekana'
).
click
(
sortByTitleKanaFunction
);
//sort by release date
$
(
'#control-sort-releasedate'
).
click
(
sortByReleaseDateFunction
);
//Go To Details Page
$
(
'.button-details'
).
live
(
'click'
,
readSubmenuFunction
);
//$('.button-details').live('touchstart', readSubmenuFunction);
$
(
'.button-details'
).
live
(
'touchend'
,
readSubmenuFunction
);
$
(
'.button-details'
).
live
(
'touchmove'
,
function
()
{
home_isMove
=
true
;
});
$
(
'#dlgSubMenu'
).
hover
(
subMenuHoverFunction
,
subMenuHoverOffFunction
);
$
(
window
).
resize
(
function
()
{
if
(
$
(
"#contentDetail"
).
css
(
"display"
)
!=
"none"
)
{
// Refresh panel of detail to center.
$
(
"#contentDetail"
).
center
();
if
(
$
(
"#contentDetail"
).
height
()
>
$
(
window
).
height
()){
$
(
"#contentDetail"
).
css
(
'top'
,
'0'
);
}
}
});
$
(
'body'
).
click
(
bodyHomeClickFunction
);
$
(
'body'
).
bind
(
'touchstart'
,
bodyHomeClickFunction
);
$
(
window
).
resize
(
function
()
{
if
(
$
(
"#contentDetail"
).
css
(
"display"
)
!=
"none"
)
{
// Refresh panel of detail to center.
$
(
"#contentDetail"
).
center
();
if
(
$
(
"#contentDetail"
).
height
()
>
$
(
window
).
height
()){
$
(
"#contentDetail"
).
css
(
'top'
,
'0'
);
}
}
});
}
else
{
checkForceChangePassword
();
}
});
function
subMenuHoverFunction
(){
...
...
abvw/js/login.js
View file @
ed2bc92e
...
...
@@ -78,7 +78,7 @@ function saveLoginInfo() {
}
ClientData
.
userInfo_lastLoginTime
(
date
.
jpDateTimeString
());
ClientData
.
requirePasswordChange
(
requirePasswordChange
);
//
ClientData.requirePasswordChange(requirePasswordChange);
//ClientData.userInfo_sid(userinfo_sid);
ClientData
.
userInfo_sid_local
(
userinfo_sid
);
saveServiceUserOption
();
...
...
abvw/js/settings.js
View file @
ed2bc92e
...
...
@@ -19,10 +19,13 @@
$
(
document
).
ready
(
function
()
{
if
(
!
avwCheckLogin
(
ScreenIds
.
Login
))
return
;
ToogleLogoutNortice
();
LockScreen
();
document
.
title
=
i18nText
(
'dspSetting'
)
+
' | '
+
i18nText
(
'sysAppTitle'
);
document
.
title
=
i18nText
(
'dspSetting'
)
+
' | '
+
i18nText
(
'sysAppTitle'
);
// Set bookmark screen
ClientData
.
BookmarkScreen
(
ScreenIds
.
Setting
);
InitScreen
();
...
...
@@ -81,6 +84,7 @@ $(document).ready(function () {
$
(
"#dspOptRes"
).
css
(
'visibility'
,
''
);
}
}
});
/*
...
...
@@ -116,13 +120,15 @@ function IsExistBackupFile() {
// Event success
function
avwCmsApi_requirePasswordChange_success
(
data
)
{
ClientData
.
requirePasswordChange
(
0
);
if
(
data
.
requirePasswordChange
==
1
)
{
if
(
ClientData
.
serviceOpt_force_pw_change_on_login
()
==
0
)
{
// No need to change password
// Skip this case
}
else
if
(
ClientData
.
serviceOpt_force_pw_change_on_login
()
==
1
)
{
// Recommend to change password
var
pwdSkipDt
=
ClientData
.
userInfo_pwdSkipDt
();
if
(
pwdSkipDt
)
{
// Check 30 days
var
currDate
=
new
Date
();
...
...
@@ -141,6 +147,7 @@ function avwCmsApi_requirePasswordChange_success(data) {
}
}
else
{
//alert('pwdSkipDt=null');
OpenChangePassword
();
...
...
@@ -151,8 +158,9 @@ function avwCmsApi_requirePasswordChange_success(data) {
}
else
if
(
ClientData
.
serviceOpt_force_pw_change_on_login
()
==
2
)
{
// Force to change password
ClientData
.
requirePasswordChange
(
1
);
OpenChangePassword
();
$
(
"#dspSkip"
).
hide
();
$
(
"#dspCancel"
).
hide
();
//$("#dspPwdUpd1").css('margin', $("#dspCancel").css('margin'));
...
...
@@ -189,6 +197,7 @@ function avwCmsApi_requirePasswordChange_success(data) {
}
else
{
//alert('pwdSkipDt=null');
OpenChangePassword
();
$
(
"#dspSkip"
).
show
();
...
...
@@ -198,6 +207,7 @@ function avwCmsApi_requirePasswordChange_success(data) {
}
else
if
(
ClientData
.
serviceOpt_force_pw_change_periodically
()
==
2
)
{
// Force to change password
ClientData
.
requirePasswordChange
(
1
);
OpenChangePassword
();
$
(
"#dspSkip"
).
hide
();
...
...
@@ -311,7 +321,7 @@ function avwCmsApi_getBackupFile_success(data) {
ClientData
.
isChangedBookmark
(
false
);
ClientData
.
isChangedMarkingData
(
false
);
ClientData
.
isChangedMemo
(
false
);
$
(
"#dspOptBk"
).
hide
();
// Show message: msgRestoreSuccess
$
().
toastmessage
({
position
:
'middle-center'
});
$
().
toastmessage
(
'showToast'
,
{
...
...
@@ -587,6 +597,7 @@ function avwCmsApi_passwordChange_success(data) {
msgError
.
show
();
}
else
{
ClientData
.
requirePasswordChange
(
0
);
msgError
.
html
(
''
);
closeChangePassword
();
/* show messages */
...
...
index.html
View file @
ed2bc92e
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment