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
90cbc971
Commit
90cbc971
authored
Dec 06, 2012
by
Motohisa Nakano
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
20121205-2
parent
3c754480
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
502 additions
and
175 deletions
+502
-175
abvw/common/css/default.css
+3
-0
abvw/common/js/avweb.js
+81
-28
abvw/common/json/lang/lang-en.json
+82
-82
abvw/common/json/lang/lang-ja.json
+20
-20
abvw/common/json/lang/lang-ko.json
+10
-10
abvw/contentview.html
+28
-10
abvw/css/viewer.css
+11
-0
abvw/js/contentview.js
+249
-20
abvw/js/header.js
+18
-5
No files found.
abvw/common/css/default.css
View file @
90cbc971
...
...
@@ -11,6 +11,9 @@
/**
* システムエラーメッセージスタイル
*/
.toast-container
{
z-index
:
90001
;
}
.toast-item
{
border-radius
:
10px
;
}
...
...
abvw/common/js/avweb.js
View file @
90cbc971
...
...
@@ -79,36 +79,51 @@ var UserEnvironment = function() {
* User Settings Class Definition
*/
var
UserSetting
=
function
()
{
this
.
US_KEY
=
"AVWUS"
;
this
.
US_KEY
=
"AVWUS"
;
this
.
userSetting
=
this
.
load
();
};
/* get user setting from localStorage */
UserSetting
.
prototype
.
load
=
function
()
{
var
storage
=
window
.
localStorage
;
var
value
=
null
;
var
js
=
null
;
if
(
storage
)
{
var
value
=
storage
.
getItem
(
this
.
US_KEY
);
if
(
!
value
)
{
value
=
"{}"
;
// 空JSON文字列
}
js
=
JSON
.
parse
(
value
);
}
return
js
;
}
/* store user setting */
UserSetting
.
prototype
.
set
=
function
(
key
,
value
)
{
if
(
!
this
.
userSetting
)
{
this
.
userSetting
=
this
.
load
();
}
var
values
=
this
.
userSetting
;
if
(
!
values
)
{
values
=
{
key
:
value
};
}
else
{
values
[
key
]
=
value
;
}
var
storage
=
window
.
localStorage
;
if
(
storage
)
{
var
val
=
storage
.
getItem
(
this
.
US_KEY
);
var
js
=
null
;
if
(
!
val
)
{
js
=
{};
}
else
{
js
=
JSON
.
parse
(
val
);
}
js
[
key
]
=
value
;
storage
.
setItem
(
this
.
US_KEY
,
JSON
.
stringify
(
js
));
var
jsonStr
=
JSON
.
stringify
(
values
);
storage
.
setItem
(
this
.
US_KEY
,
jsonStr
);
}
this
.
userSetting
=
values
;
};
/* grab user setting */
UserSetting
.
prototype
.
get
=
function
(
key
)
{
var
storage
=
window
.
localStorage
;
var
value
=
null
;
if
(
storage
)
{
var
value
=
storage
.
getItem
(
this
.
US_KEY
);
if
(
!
value
)
{
return
value
;
}
var
js
=
JSON
.
parse
(
value
);
return
js
[
key
];
if
(
!
this
.
userSetting
)
{
this
.
userSetting
=
this
.
load
();
}
var
values
=
this
.
userSetting
;
if
(
values
)
{
return
values
[
key
];
}
return
value
;
return
null
;
};
/* show user setting object list */
UserSetting
.
prototype
.
show
=
function
(
elmid
)
{
...
...
@@ -282,6 +297,9 @@ $(function () {
alert
(
error
);
}
});
// ロード時に一旦エラー状態をクリアしておく
avwClearError
();
});
/* get system setting object */
...
...
@@ -723,18 +741,22 @@ function getByte(text) {
return
count
;
};
/* show system error message */
var
isShowErrorMessage
=
false
;
var
hasErrorKey
=
'AVW_HASERR'
;
function
showSystemError
()
{
// すでに表示されていたら次は表示しない
if
(
isShowErrorMessage
)
{
if
(
avwHasError
())
{
// すでにエラー状態であればエラーを表示しない
return
;
}
else
{
// エラー状態にセット
avwSetErrorState
();
}
//
エラーメッセージの表示
//
create DOM element for showing error message
var
errMes
=
i18nText
(
'sysErrorCallApi01'
);
var
tags
=
'<div id="avw-sys-error"></div>'
;
$
(
'body'
).
prepend
(
tags
);
//$('body').prepend(tags);
$
(
'body'
).
append
(
tags
);
$
(
'#avw-sys-error'
).
css
(
{
'opacity'
:
0.7
,
'position'
:
'fixed'
,
...
...
@@ -742,7 +764,8 @@ function showSystemError() {
'left'
:
'0'
,
'width'
:
$
(
window
).
width
(),
'height'
:
$
(
window
).
height
(),
'background'
:
'#999'
'background'
:
'#999'
,
'z-index'
:
90000
})
// resize error page
$
(
window
).
resize
(
function
()
{
...
...
@@ -751,15 +774,45 @@ function showSystemError() {
'height'
:
$
(
window
).
height
()
});
});
/
* show error messages */
/
/ show error messages
$
().
toastmessage
({
position
:
'middle-center'
});
$
().
toastmessage
(
'showToast'
,
{
type
:
'error'
,
sticky
:
true
,
text
:
errMes
});
/*
$().toastmessage('showToast', {
type: 'error',
sticky: true,
text: errMes,
close: function() { isShowErrorMessage = false; }
});
};
*/
};
/* エラー状態を取得 */
function
avwHasError
()
{
var
session
=
window
.
sessionStorage
;
var
isError
=
false
;
if
(
session
)
{
isError
=
session
.
getItem
(
hasErrorKey
);
}
return
(
isError
==
'true'
);
}
/* エラー状態にセット */
function
avwSetErrorState
()
{
var
session
=
window
.
sessionStorage
;
if
(
session
)
{
session
.
setItem
(
hasErrorKey
,
true
);
}
}
/* エラー状態をクリア */
function
avwClearError
()
{
var
session
=
window
.
sessionStorage
;
if
(
session
)
{
session
.
setItem
(
hasErrorKey
,
false
);
}
}
/* ブラウザunload時に警告メッセージの出力設定を行う関数 */
function
avwSetLogoutNortice
()
{
window
.
onbeforeunload
=
function
(
event
)
{
...
...
abvw/common/json/lang/lang-en.json
View file @
90cbc971
{
"sysErrorCallApi01"
:
"
EN:ご迷惑をおかけし申し訳ございません。<br />システムエラーが発生しました。<br />アプリケーションを終了し、管理者に連絡してください。
"
,
"sysInfoScrLock01"
:
"
EN:長時間操作されなかったため、画面をロックしています。<br />画面をクリックしてロックを解除してください。
"
,
"sysInfoWithoutLogout"
:
"
EN:ログアウトしておりませんが、このまま終了してもよろしいですか?
\n
※【注意】ログアウトしないと次回ログインできない場合がございます。
"
,
"sysErrorCallApi01"
:
"
System error.<br/>Please close this window and contact administrator.
"
,
"sysInfoScrLock01"
:
"
Click to unlock.
"
,
"sysInfoWithoutLogout"
:
"
Are you sure to close this window without logout?
\n
Incorrect logout will cause login problem next time.
"
,
"txtUsrCap"
:
"User Infomation"
,
"txtLastLoginTime"
:
"Last login
tim
e:"
,
"txtLastLoginTime"
:
"Last login
dat
e:"
,
"txtOpt"
:
"Option"
,
"txtOpt001"
:
"
Home default mode
"
,
"txtHondana"
:
"Bookself"
,
"txtOpt001"
:
"
Initial Screen
"
,
"txtHondana"
:
"Books
h
elf"
,
"txtList"
:
"List"
,
"txtOpt002"
:
"
Loop Video and Music
"
,
"txtOpt003"
:
"
EN:マーキング
"
,
"dspOptReset"
:
"Res
tore To Defaul
t"
,
"txtBkResCap"
:
"
EN:サーバにバックアップ/リストア
"
,
"txtOptBkCfm"
:
"
EN:毎回ログアウトの時、バックアップするかどうかは必ず確認する
"
,
"txtOpt002"
:
"
Repeat movie and audio
"
,
"txtOpt003"
:
"
Show marking when opening contents.
"
,
"dspOptReset"
:
"Res
e
t"
,
"txtBkResCap"
:
"
Backup / Restore
"
,
"txtOptBkCfm"
:
"
Confirm backup at every logout.
"
,
"dspOptBk"
:
"Backup"
,
"dspOptRes"
:
"Restore"
,
"dspSave"
:
"
Save
"
,
"txtBkMsg"
:
"
EN:サーバにバックアップしますか?
"
,
"txtResMsg"
:
"
EN:サーバからリストアしますか?
"
,
"msgPwdEmpty"
:
"
EN:パスワードが必要。
"
,
"msgPwdOldWrong"
:
"
EN:古いパスワードが間違っています。
"
,
"msgPwdNotMatch"
:
"
EN:パスワードが一致しません。
"
,
"msgLoginErrWrong"
:
"
EN:ログインできません。入力情報を確認してください。(Error Code:{0})
"
,
"dspPubDt2"
:
"D
elivery Date:
"
,
"dspSave"
:
"
Apply
"
,
"txtBkMsg"
:
"
Backup to server?
"
,
"txtResMsg"
:
"
Restore from Server?
"
,
"msgPwdEmpty"
:
"
Password is required.
"
,
"msgPwdOldWrong"
:
"
Current Password mismatch.
"
,
"msgPwdNotMatch"
:
"
New Password doesn't match.
"
,
"msgLoginErrWrong"
:
"
LoginId or Password wrong: {0}
"
,
"dspPubDt2"
:
"D
istributed Date:
"
,
"txtPage"
:
"Page:"
,
"dspDelete"
:
"Delete"
,
"dspShioriDelConf"
:
"
EN:選択されているしおりを削除しますか?
"
,
"dspRegDt"
:
"Register Date"
,
"dspShioriDelConf"
:
"
Are you sure to delete bookmark?
"
,
"dspRegDt"
:
"Register
ed
Date"
,
"dspLogin"
:
"Login"
,
"dspSkip"
:
"Skip"
,
"dspPwdUpd"
:
"
Change Password
"
,
"dspPwdUpd"
:
"
Apply
"
,
"txtLoginAccPath"
:
"Account Path:"
,
"txtLoginId"
:
"Login Id:"
,
"txtLoginPwd"
:
"Password:"
,
"txtLoginPwdRbr"
:
"
EN:アカウントパスとログインIDを記憶する
"
,
"txtLoginPwdRbr"
:
"
Remember Account Path and Login Id.
"
,
"txtPwdCurr"
:
"Current Password"
,
"txtPwdNew"
:
"New Password"
,
"txtPwdNewRe"
:
"
EN:(再)変更パスワード
"
,
"txtPwdRemind"
:
"
EN:スキップを選択すると、30日以内にこのメッセージが表示されせん
"
,
"txtPwdNewRe"
:
"
Again
"
,
"txtPwdRemind"
:
"
This message won't be shown during 30days if skip selected.
"
,
"txtSearch"
:
"Search"
,
"dspShiori"
:
"Bookmark"
,
"dspSetting"
:
"Setting"
,
"dspLogout"
:
"Logout"
,
"txtRead"
:
"Read"
,
"txtSort"
:
"
Order By
"
,
"dspTitleNm"
:
"Title
Name
"
,
"dspTitleNmKn"
:
"Title
Name
(Kana)"
,
"txtPubDt"
:
"
EN:公開日
"
,
"txtRecordNum"
:
"
EN:件
"
,
"txtRecordTotal"
:
"
EN:件 表示
"
,
"dspViewMore"
:
"
EN:>>次の{0}件を表示
"
,
"txtGen"
:
"
Category
"
,
"txtSort"
:
"
Sort
"
,
"dspTitleNm"
:
"Title"
,
"dspTitleNmKn"
:
"Title(Kana)"
,
"txtPubDt"
:
"
Released Date
"
,
"txtRecordNum"
:
""
,
"txtRecordTotal"
:
""
,
"dspViewMore"
:
"
>> Next {0} contents
"
,
"txtGen"
:
"
Genre
"
,
"txtGr"
:
"Group"
,
"txtViewDt"
:
"
View
Date"
,
"txtViewDt"
:
"
Accessed
Date"
,
"txtDetailPage"
:
"Detail"
,
"txtCtnNm"
:
"Content Name"
,
"txtTag"
:
"Tag"
,
"txtContTxt"
:
"
EN:本文
"
,
"txtLogoutBkMsg"
:
"
EN:ログアウトする前にバックアップしますか?
"
,
"txtLogoutOptBkCfm"
:
"
EN:今回の行動を記憶し、次回から確認せずに、同じことをする。
"
,
"dspBkOK"
:
"
EN:バックアップしてログアウト
"
,
"dspBkCancel"
:
"
EN:バックアップしないでログアウト
"
,
"txtSearchResult"
:
"
Search
Result"
,
"txtContTxt"
:
"
Body Text
"
,
"txtLogoutBkMsg"
:
"
Backup before logout?
"
,
"txtLogoutOptBkCfm"
:
"
Remember this operation
"
,
"dspBkOK"
:
"
Backup and Logout
"
,
"dspBkCancel"
:
"
Logout
"
,
"txtSearchResult"
:
"Result"
,
"dspHome"
:
"Home"
,
"txtLoginUser"
:
"(Ver.2012120
5-1)EN:ログイン中:
"
,
"txtLoginUser"
:
"(Ver.2012120
6-1)User:
"
,
"txtAll"
:
"All"
,
"txtMkgSize"
:
"
EN:太さ
"
,
"txtMkgS"
:
"
EN:小
"
,
"txtMkgM"
:
"
EN:中
"
,
"txtMkgB"
:
"
EN:大
"
,
"txtMkgSB"
:
"
EN:特大
"
,
"txtMkgSize"
:
"
Size
"
,
"txtMkgS"
:
"
S
"
,
"txtMkgM"
:
"
M
"
,
"txtMkgB"
:
"
L
"
,
"txtMkgSB"
:
"
LL
"
,
"dspOK"
:
"OK"
,
"dspCancel"
:
"Cancel"
,
"txtMkToolBar"
:
"
EN:マーキング
"
,
"dspPgClear"
:
"
EN:
Clear this page"
,
"txtMkToolBar"
:
"
Marking Toolbar
"
,
"dspPgClear"
:
"Clear this page"
,
"txtColor"
:
"Color"
,
"txtIndex"
:
"Index"
,
"txtShioriCtnLs"
:
"Bookmark
L
ist"
,
"txtTextCopy"
:
"
EN:テキストコピー
"
,
"txtNoTextCopy"
:
"
EN:テキストがありません。
"
,
"txtNoSearchResult"
:
"
EN:検索結果がありません。
"
,
"msgShioriNotExists"
:
"
EN:しおりがありません。
"
,
"msgPwdChangeOK"
:
"
EN:パスワード変更は成功しました。
"
,
"msgPwdChangeNG"
:
"
EN:パスワード変更は失敗しましたので、すみませんが、もう一度してください。※注意:新規パスワードには英字および数字両方を含める必要があります。
"
,
"msgSearchNotExist"
:
"
EN:条件と該当するコンテンツがありません
"
,
"txtTooltipBack"
:
"
EN:戻る
"
,
"txtTooltipBookmark"
:
"
EN:しおり追加・削除
"
,
"txtTooltipShowMemo"
:
"
EN:メモ表示・非表示
"
,
"txtTooltipAddMemo"
:
"
EN:メモ追加
"
,
"txtTooltipShowMarking"
:
"
EN:マーキング表示・非表示
"
,
"txtTooltipShowMarkingTool"
:
"
EN:マーキングツールバーを表示・非表示
"
,
"msgShioriDeleted"
:
"
EN:しおりのページが削除しました。
"
,
"dspViewHistory"
:
"
View
History"
,
"msgLoginEmpty"
:
"
EN:入力してください
"
,
"msgSaveOk"
:
"
EN:保存しました
"
,
"msgPlaceHolder"
:
"
EN:キーワードを入力してください
"
,
"txtOpt004"
:
"
EN:※コンテンツを開いた時に表示する
"
,
"txtRestoreTitle"
:
"
EN:リストア確認
"
,
"txtBackupTitle"
:
"
EN:バックアップ確認
"
,
"txtResMsgNotice"
:
"
EN:※リストアしたら、現時点のローカルのデータでサーバのバックアップデータを上書きします。リストア後、元の状態に復元できませんので、ご注意ください
"
,
"txtShioriCtnLs"
:
"Bookmark
l
ist"
,
"txtTextCopy"
:
"
Copy Body Text
"
,
"txtNoTextCopy"
:
"
No Text
"
,
"txtNoSearchResult"
:
"
No Result
"
,
"msgShioriNotExists"
:
"
no Bookmark
"
,
"msgPwdChangeOK"
:
"
Success.
"
,
"msgPwdChangeNG"
:
"
Failed.<br/>Password requires at least both of character and numeric.
"
,
"msgSearchNotExist"
:
"
No content
"
,
"txtTooltipBack"
:
"
Back
"
,
"txtTooltipBookmark"
:
"
Add/Delete Bookmark
"
,
"txtTooltipShowMemo"
:
"
Show/Hide memo
"
,
"txtTooltipAddMemo"
:
"
Add memo
"
,
"txtTooltipShowMarking"
:
"
Show/Hide Marking
"
,
"txtTooltipShowMarkingTool"
:
"
Show/Hide Marking Panel
"
,
"msgShioriDeleted"
:
"
Page was deleted.
"
,
"dspViewHistory"
:
"History"
,
"msgLoginEmpty"
:
"
Please fill empty field.
"
,
"msgSaveOk"
:
"
Saved
"
,
"msgPlaceHolder"
:
"
Keyword
"
,
"txtOpt004"
:
"
Show when content will be opened.
"
,
"txtRestoreTitle"
:
"
Restore confirmation
"
,
"txtBackupTitle"
:
"
Backup confirmation
"
,
"txtResMsgNotice"
:
"
This operation will override current data and all of your data will be lost.
"
,
"dspChange"
:
"Change"
,
"msgNoIndex"
:
"
EN:インデックスがありません
"
,
"msgBackupSuccess"
:
"
EN:バックアップが正常に終了しました
"
,
"msgBackupFailed"
:
"
EN:バックアップが失敗しました
"
,
"msgRestoreSuccess"
:
"
EN:リストアが正常に終了しました
"
,
"msgRestoreFailed"
:
"
EN:リストアが失敗しました
"
,
"txtDeleteConfirmTitle"
:
"
EN:しおり削除確認
"
,
"msgHistoryNotExist"
:
"
EN:閲覧履歴はありません。
"
,
"msgChangePassword"
:
"
EN:パスワード変更
"
,
"txtMemoEdit"
:
"Edit"
,
"msgNoIndex"
:
"
No index.
"
,
"msgBackupSuccess"
:
"
Backup success.
"
,
"msgBackupFailed"
:
"
Backup failed.
"
,
"msgRestoreSuccess"
:
"
Restore success.
"
,
"msgRestoreFailed"
:
"
Restore failed.
"
,
"txtDeleteConfirmTitle"
:
"
Delete confirmation
"
,
"msgHistoryNotExist"
:
"
No history
"
,
"msgChangePassword"
:
"
Change Password
"
,
"txtMemoEdit"
:
"Edit
memo
"
,
"txtMemoCopy"
:
"Copy"
,
"msgPageImgErr"
:
"
EN:コンテンツを表示することができません。コンテンツが削除された可能性があります。ホーム画面に戻り異なるコンテンツを選択してください。
"
,
"sysAppTitle"
:
"
EN:ABook閲覧ウェブ版
"
"msgPageImgErr"
:
"
Unable to show contents. Maybe it was deleted at server. Back home and choose another content.
"
,
"sysAppTitle"
:
"
ABook Viewer for Web
"
}
abvw/common/json/lang/lang-ja.json
View file @
90cbc971
{
"sysErrorCallApi01"
:
"ご迷惑をおかけし申し訳ございません。<br />システムエラーが発生しました。<br />アプリケーションを終了し、管理者に連絡してください。"
,
"sysInfoScrLock01"
:
"長時間操作されなかったため、画面をロックしています。<br />画面をクリックしてロックを解除してください。"
,
"sysInfoWithoutLogout"
:
"ログアウトして
おり
ませんが、このまま終了してもよろしいですか?
\n
※【注意】ログアウトしないと次回ログインできない場合がございます。"
,
"sysInfoWithoutLogout"
:
"ログアウトして
い
ませんが、このまま終了してもよろしいですか?
\n
※【注意】ログアウトしないと次回ログインできない場合がございます。"
,
"txtUsrCap"
:
"ユーザ情報"
,
"txtLastLoginTime"
:
"最終ログイン時間:"
,
"txtOpt"
:
"オプション"
,
"txtOpt001"
:
"
最初の画面を選択
"
,
"txtOpt001"
:
"
初期表示
"
,
"txtHondana"
:
"本棚"
,
"txtList"
:
"リスト"
,
"txtOpt002"
:
"動画
、音楽繰り返し
"
,
"txtOpt002"
:
"動画
・音楽を繰り返し再生する
"
,
"txtOpt003"
:
"マーキング"
,
"dspOptReset"
:
"初期設定に戻る"
,
"txtBkResCap"
:
"サーバにバックアップ/リストア"
,
"txtOptBkCfm"
:
"
毎回ログアウトの時、バックアップするかどうか必ず
確認する"
,
"txtOptBkCfm"
:
"
ログアウトの時、バックアップするかどうか
確認する"
,
"dspOptBk"
:
"バックアップ"
,
"dspOptRes"
:
"リストア"
,
"dspSave"
:
"保存"
,
"txtBkMsg"
:
"サーバにバックアップしますか?"
,
"txtResMsg"
:
"サーバからデータを
復旧しますか?※復旧すると現在のデータが上書きされます。復旧後は直前の状態に戻すことはできませんのでご注意ください。
"
,
"msgPwdEmpty"
:
"パスワード
が必要。
"
,
"msgPwdOldWrong"
:
"現在のパスワード
は誤りにあります。
"
,
"txtBkMsg"
:
"サーバに
データを
バックアップしますか?"
,
"txtResMsg"
:
"サーバからデータを
リストアしますか?
"
,
"msgPwdEmpty"
:
"パスワード
を入力してください
"
,
"msgPwdOldWrong"
:
"現在のパスワード
に誤りがあります
"
,
"msgPwdNotMatch"
:
"変更パスワードが一致していません。"
,
"msgLoginErrWrong"
:
"ログインできません。入力情報を確認してください。(エラーコード:{0})"
,
"dspPubDt2"
:
"発行日:"
,
...
...
@@ -45,12 +45,12 @@
"dspLogout"
:
"ログアウト"
,
"txtRead"
:
"読む"
,
"txtSort"
:
"並べ替え"
,
"dspTitleNm"
:
"タイトル
名
"
,
"dspTitleNmKn"
:
"タイトル
名(かな
)"
,
"dspTitleNm"
:
"タイトル"
,
"dspTitleNmKn"
:
"タイトル
(カナ
)"
,
"txtPubDt"
:
"公開日"
,
"txtRecordNum"
:
"件"
,
"txtRecordTotal"
:
"件 表示"
,
"dspViewMore"
:
">>次の{0}件を表示"
,
"dspViewMore"
:
">>
次の{0}件を表示"
,
"txtGen"
:
"ジャンル"
,
"txtGr"
:
"グループ"
,
"txtViewDt"
:
"閲覧日"
,
...
...
@@ -61,10 +61,10 @@
"txtLogoutBkMsg"
:
"ログアウトする前にバックアップしますか?"
,
"txtLogoutOptBkCfm"
:
"今回の行動を記憶する。"
,
"dspBkOK"
:
"バックアップしてログアウト"
,
"dspBkCancel"
:
"バックアップ
しないで
ログアウト"
,
"dspBkCancel"
:
"バックアップ
せずに
ログアウト"
,
"txtSearchResult"
:
"検索結果"
,
"dspHome"
:
"ホーム"
,
"txtLoginUser"
:
"(Ver.2012120
5
-1)ログイン中:"
,
"txtLoginUser"
:
"(Ver.2012120
6
-1)ログイン中:"
,
"txtAll"
:
"すべて"
,
"txtMkgSize"
:
"太さ"
,
"txtMkgS"
:
"小"
,
...
...
@@ -81,8 +81,8 @@
"txtTextCopy"
:
"テキストコピー"
,
"txtNoTextCopy"
:
"テキストがありません。"
,
"txtNoSearchResult"
:
"検索結果がありません。"
,
"msgShioriNotExists"
:
"しおりがありません
。
"
,
"msgPwdChangeOK"
:
"パスワード
変更は成功
しました。"
,
"msgShioriNotExists"
:
"しおりがありません"
,
"msgPwdChangeOK"
:
"パスワード
を変更
しました。"
,
"msgPwdChangeNG"
:
"パスワード変更に失敗しました。再入力してください。※注意:新規パスワードには英字および数字両方を含める必要があります。"
,
"msgSearchNotExist"
:
"条件に該当するコンテンツがありません。"
,
"txtTooltipBack"
:
"戻る"
,
...
...
@@ -93,24 +93,24 @@
"txtTooltipShowMarkingTool"
:
"マーキングツールバーを表示・非表示"
,
"msgShioriDeleted"
:
"ページが削除しました。"
,
"dspViewHistory"
:
"閲覧履歴"
,
"msgLoginEmpty"
:
"入力してください"
,
"msgLoginEmpty"
:
"
ログイン情報を
入力してください"
,
"msgSaveOk"
:
"保存しました"
,
"msgPlaceHolder"
:
"キーワードを入力してください"
,
"txtOpt004"
:
"※コンテンツを開いた時に表示する"
,
"txtRestoreTitle"
:
"リストア確認"
,
"txtBackupTitle"
:
"バックアップ確認"
,
"txtResMsgNotice"
:
"※リストア
したら
、現時点のローカルのデータでサーバのバックアップデータを上書きします。リストア後、元の状態に復元できませんので、ご注意ください"
,
"txtResMsgNotice"
:
"※リストア
すると
、現時点のローカルのデータでサーバのバックアップデータを上書きします。リストア後、元の状態に復元できませんので、ご注意ください"
,
"dspChange"
:
"変更"
,
"msgNoIndex"
:
"インデックスがありません"
,
"msgBackupSuccess"
:
"バックアップが正常に終了しました"
,
"msgBackupFailed"
:
"バックアップ
が
失敗しました"
,
"msgBackupFailed"
:
"バックアップ
に
失敗しました"
,
"msgRestoreSuccess"
:
"リストアが正常に終了しました"
,
"msgRestoreFailed"
:
"リストア
が
失敗しました"
,
"msgRestoreFailed"
:
"リストア
に
失敗しました"
,
"txtDeleteConfirmTitle"
:
"しおり削除確認"
,
"msgHistoryNotExist"
:
"閲覧履歴はありません。"
,
"msgChangePassword"
:
"パスワード変更"
,
"txtMemoEdit"
:
"編集"
,
"txtMemoCopy"
:
"コピー"
,
"msgPageImgErr"
:
"コンテンツを表示することができません。コンテンツが削除された可能性があります。ホーム画面に戻り異なるコンテンツを選択してください。"
,
"msgPageImgErr"
:
"コンテンツを表示することができません。コンテンツが削除された可能性があります。ホーム画面に戻り
、
異なるコンテンツを選択してください。"
,
"sysAppTitle"
:
"ABook閲覧ウェブ版"
}
abvw/common/json/lang/lang-ko.json
View file @
90cbc971
{
"sysErrorCallApi01"
:
"시스템 에러가 발생했습니다. 이용에 불편을 드려 죄송합니다."
,
"sysInfoScrLock01"
:
"장시간 조작이 없었으므로, 화면이 잠겼습니다.<br/>잠김을 해제하려면 화면을 클릭하십시오."
,
"sysInfoWithoutLogout"
:
"로그아웃하지 않은 상태로 창을 닫으면, 다음에 로그인되지 않는 경우도 있습니다. 이대로 창을 닫으시겠습니까?"
,
"sysInfoWithoutLogout"
:
"로그아웃하지 않은 상태로 창을 닫으면, 다음에 로그인되지 않는 경우도 있습니다. 이대로 창을 닫으시겠습니까?
\n
(이 메세지는 브라우저를 '새로 고침' 할 때에도 표시됩니다.)
"
,
"txtUsrCap"
:
"사용자 정보"
,
"txtLastLoginTime"
:
"최종 로그인 시간:"
,
"txtOpt"
:
"옵션"
,
"txtOpt001"
:
"기본 화면 선택"
,
"txtHondana"
:
"
갤러리
"
,
"txtHondana"
:
"
그리드
"
,
"txtList"
:
"리스트"
,
"txtOpt002"
:
"동영상, 음악 반복 재생"
,
"txtOpt003"
:
"마킹"
,
...
...
@@ -18,7 +18,7 @@
"dspOptRes"
:
"복원"
,
"dspSave"
:
"저장"
,
"txtBkMsg"
:
"서버에 백업하시겠습니까?"
,
"txtResMsg"
:
"
서버에서 복원하시겠습니까? ※복원하면, 사용자 디바이스(PC, 태블릿 등)에 저장된 데이터를 서버의 데이터로 덮어씁니다. 복원 후 취소할 수 없습니다.
"
,
"txtResMsg"
:
"
기존에 서버에 백업한 데이터를 복원하시겠습니까?
"
,
"msgPwdEmpty"
:
"패스워드를 입력해 주십시오."
,
"msgPwdOldWrong"
:
"기존 패스워드를 바르게 입력해 주십시오."
,
"msgPwdNotMatch"
:
"신규 패스워드와 신규 패스워드 확인이 일치하지 않습니다."
,
...
...
@@ -64,7 +64,7 @@
"dspBkCancel"
:
"로그아웃"
,
"txtSearchResult"
:
"검색 결과"
,
"dspHome"
:
"홈"
,
"txtLoginUser"
:
"(Ver.2012120
5
-1)로그인 중:"
,
"txtLoginUser"
:
"(Ver.2012120
6
-1)로그인 중:"
,
"txtAll"
:
"전체"
,
"txtMkgSize"
:
"두께"
,
"txtMkgS"
:
"소"
,
...
...
@@ -83,7 +83,7 @@
"txtNoSearchResult"
:
"검색 결과가 없습니다."
,
"msgShioriNotExists"
:
"북마크가 없습니다."
,
"msgPwdChangeOK"
:
"패스워드가 변경되었습니다."
,
"msgPwdChangeNG"
:
"패스워드를 변경하지 못했습니다. 다시 시도하시기 바랍니다.※주의 : 패스워드에는 영/숫자를 1개 이상씩 사용해야 합니다."
,
"msgPwdChangeNG"
:
"패스워드를 변경하지 못했습니다. 다시 시도하시기 바랍니다.
<br/>
※주의 : 패스워드에는 영/숫자를 1개 이상씩 사용해야 합니다."
,
"msgSearchNotExist"
:
"조건에 맞는 컨텐츠가 없습니다."
,
"txtTooltipBack"
:
"뒤로 가기"
,
"txtTooltipBookmark"
:
"북마크 추가/삭제"
,
...
...
@@ -93,13 +93,13 @@
"txtTooltipShowMarkingTool"
:
"마킹 툴바 표시/비표시"
,
"msgShioriDeleted"
:
"북마크한 페이지가 삭제되었습니다."
,
"dspViewHistory"
:
"열람 이력"
,
"msgLoginEmpty"
:
"입력해 주십시오."
,
"msgLoginEmpty"
:
"
로그인 정보를
입력해 주십시오."
,
"msgSaveOk"
:
"저장했습니다."
,
"msgPlaceHolder"
:
"키워드를 입력해 주십시오."
,
"txtOpt004"
:
"컨텐츠를 열 때 표시"
,
"txtRestoreTitle"
:
"복원 확인"
,
"txtBackupTitle"
:
"백업 확인"
,
"txtResMsgNotice"
:
"
서버에서 복원하시겠습니까? ※복원하면, 사용자 디바이스(PC, 태블릿 등)에 저장된 데이터를 서버의
데이터로 덮어씁니다. 복원 후 취소할 수 없습니다."
,
"txtResMsgNotice"
:
"
※복원하면, 사용자 디바이스(PC, 태블릿 등)에 저장된 데이터를 마지막으로 백업한
데이터로 덮어씁니다. 복원 후 취소할 수 없습니다."
,
"dspChange"
:
"변경"
,
"msgNoIndex"
:
"목차가 없습니다."
,
"msgBackupSuccess"
:
"백업했습니다."
,
...
...
@@ -108,9 +108,9 @@
"msgRestoreFailed"
:
"복원을 실패했습니다."
,
"txtDeleteConfirmTitle"
:
"북마크 삭제 확인"
,
"msgHistoryNotExist"
:
"열람 이력이 없습니다."
,
"msgChangePassword"
:
"패스워드 변경"
,
"msgChangePassword"
:
"패스워드 변경
를 변경해 주십시오.
"
,
"txtMemoEdit"
:
"편집"
,
"txtMemoCopy"
:
"복사"
,
"msgPageImgErr"
:
"
KO:コンテンツを表示することができません。コンテンツが削除された可能性があります。ホーム画面に戻り異なるコンテンツを選択してください。
"
,
"sysAppTitle"
:
"
KO:ABook閲覧ウェブ版
"
"msgPageImgErr"
:
"
컨텐츠를 표시할 수 없습니다. 이 컨텐츠는 삭제되었을 가능성이 있습니다.
"
,
"sysAppTitle"
:
"
ABook : 멀티미디어 컨텐츠 플랫폼
"
}
abvw/contentview.html
View file @
90cbc971
...
...
@@ -1081,6 +1081,8 @@
}
}
else
{
/* fit page */
screenFit
();
ClientData
.
IsAddingMarking
(
true
);
ClientData
.
IsDisplayMarking
(
true
);
...
...
@@ -1100,8 +1102,7 @@
/* draw again */
drawCanvas
();
/* fit page */
screenFit
();
displayCanvasDraw
();
disableAllControl
();
...
...
@@ -1216,7 +1217,11 @@
$
(
'#lastpage'
).
unbind
(
'click'
);
$
(
'#zoomfit'
).
unbind
(
'click'
);
$
(
'#zoomin'
).
unbind
(
'click'
);
$
(
'#zoomout'
).
unbind
(
'click'
);
$
(
'#zoomin'
).
removeClass
();
$
(
'#zoomin'
).
addClass
(
'expansion_off'
);
$
(
'#zoomout'
).
unbind
(
'click'
);
$
(
'#zoomout'
).
removeClass
();
$
(
'#zoomout'
).
addClass
(
'reduction_off'
);
$
(
"#slider_page"
).
slider
(
"option"
,
"disabled"
,
true
);
disable
(
'#txtSearch'
,
'#txtSlider'
);
...
...
@@ -1245,8 +1250,8 @@
$
(
"#nextpage"
).
css
(
'cursor'
,
'pointer'
);
$
(
"#lastpage"
).
css
(
'cursor'
,
'pointer'
);
$
(
"#zoomfit"
).
css
(
'cursor'
,
'pointer'
);
$
(
"#zoomin"
).
css
(
'cursor'
,
'pointer'
);
$
(
"#zoomout"
).
css
(
'cursor'
,
'pointer'
);
//
$("#zoomin").css('cursor', 'pointer');
//
$("#zoomout").css('cursor', 'pointer');
$
(
"#control_screen"
).
css
(
'cursor'
,
'pointer'
);
$
(
"#control_screen_2"
).
css
(
'cursor'
,
'pointer'
);
$
(
"#slider_page"
).
css
(
'cursor'
,
'pointer'
);
...
...
@@ -1335,8 +1340,12 @@
$
(
'#nextpage'
).
bind
(
'click'
,
nextPage_click
);
$
(
'#lastpage'
).
bind
(
'click'
,
lastPage_click
);
$
(
'#zoomfit'
).
bind
(
'click'
,
screenFit
);
$
(
'#zoomin'
).
bind
(
'click'
,
zoomIn
);
$
(
'#zoomout'
).
bind
(
'click'
,
zoomOut
);
// $('#zoomin').bind('click',zoomIn);
// $('#zoomin').addClass('expansion');
// $("#zoomin").css('cursor', 'pointer');
// $('#zoomout').bind('click',zoomOut);
// $('#zoomout').addClass('reduction');
// $("#zoomout").css('cursor', 'pointer'); checkDisableButtonZoom();
$
(
"#slider_page"
).
slider
(
"option"
,
"disabled"
,
false
);
enable
(
'#txtSearch'
,
'#txtSlider'
);
...
...
@@ -1921,8 +1930,15 @@
}
else
{
/* create data on dialog */
$
(
'#divCopyText'
).
children
().
remove
();
//$('#divCopyText').append('
<
li
class
=
"last"
>
' + sPageText + '
<
/li>'
)
;
$
(
'#divCopyText'
).
append
(
'<label class="last" style="word-wrap:break-word">'
+
sPageText
+
'</label>'
);
//$('#divCopyText').append('
<
li
class
=
"last"
>
' + sPageText + '
<
/li>'
)
;
var
strPattern
=
"
\
n"
;
var
strTemp
=
sPageText
;
strTemp
=
strTemp
.
replace
(
strPattern
,
"<br/>"
);
strTemp
+=
"<br/>"
;
$
(
'#divCopyText'
).
append
(
'<div class="last" id="txtTextCopy" style="word-wrap:break-word">'
+
strTemp
+
'</div>'
);
/* display dialog */
// $("#divCopyText").dialog({
// show: "blind",
...
...
@@ -3341,7 +3357,9 @@ function oldContent_Back(){
/* handle from bookmark page */
handleFromBookMarkPage
();
trackTransforms
(
context_main
);
nAjaxLoad
=
0
;
...
...
abvw/css/viewer.css
View file @
90cbc971
...
...
@@ -911,6 +911,14 @@ aside.bookmarkBox label{
line-height
:
15px
;
vertical-align
:
middle
;
}
aside
.bookmarkBox
div
{
padding
:
4px
;
border-bottom
:
solid
1px
#444
;
overflow
:
hidden
;
font-size
:
11px
;
line-height
:
15px
;
vertical-align
:
middle
;
}
aside
.bookmarkBox
li
.imgbox
{
/*
...
...
@@ -1079,6 +1087,9 @@ aside.bookmarkBox .last{
.sizing
.reduction
{
width
:
56px
;
background-position
:
-117px
0
;}
.sizing
a
:hover
.reduction
{
background-position
:
-117px
-33px
;}
.sizing
.expansion_off
{
width
:
59px
;
background-position
:
0
0
;}
.sizing
.reduction_off
{
width
:
56px
;
background-position
:
-117px
0
;}
/*----------------------------*/
/* 14. toolbar setting */
/*----------------------------*/
...
...
abvw/js/contentview.js
View file @
90cbc971
...
...
@@ -1205,16 +1205,23 @@ function mouseMove_canvasMain(event){
mx
=
event
.
targetTouches
[
0
].
pageX
-
px
;
my
=
event
.
targetTouches
[
0
].
pageY
-
py
;
}
// scaling
var
sx
=
(
destRect
.
right
-
destRect
.
left
)
/
(
srcRect
.
right
-
srcRect
.
left
);
var
sy
=
(
destRect
.
bottom
-
destRect
.
top
)
/
(
srcRect
.
bottom
-
srcRect
.
top
);
// var sx = (destRect.right - destRect.left) / (srcRect.right - srcRect.left);
// var sy = (destRect.bottom - destRect.top) / (srcRect.bottom - srcRect.top);
var
sx
=
1
/
userScale
;
var
sy
=
1
/
userScale
;
// calc scaling moving distance
moveX
=
Math
.
round
(
-
mx
*
sx
);
moveY
=
Math
.
round
(
-
my
*
sy
);
// store current mouse point
if
(
avwUserEnvObj
.
os
!=
"ipad"
&&
avwUserEnvObj
.
os
!=
"android"
)
{
px
=
event
.
pageX
;
...
...
@@ -1228,6 +1235,37 @@ function mouseMove_canvasMain(event){
flip
();
zoomVideo
();
// lastX = event.offsetX || (event.pageX - canvas_main.offsetLeft);
// lastY = event.offsetY || (event.pageY - canvas_main.offsetTop);
//
// if (dragStart){
// var pt = context_main.transformedPoint(lastX,lastY);
//
//
//
// if(yPos < maxposY){
// xPos += pt.x-dragStart.x;
// yPos += pt.y-dragStart.y;
//
// context_main.translate(pt.x-dragStart.x,pt.y-dragStart.y);
//
// // Clear the entire canvas
// var p1 = context_main.transformedPoint(0,0);
// var p2 = context_main.transformedPoint(canvas_main.width,canvas_main.height);
// context_main.clearRect(p1.x,p1.y,p2.x-p1.x,p2.y-p1.y);
//
// flip();
// }else{
//
// }
//
//
//
//
// }
}
var
cwMain
=
$
(
'#main'
).
width
();
...
...
@@ -1295,12 +1333,18 @@ function mouseDown_CanvasMain(event){
py
=
event
.
targetTouches
[
0
].
pageY
;
}
// document.body.style.mozUserSelect = document.body.style.webkitUserSelect = document.body.style.userSelect = 'none';
// lastX = event.offsetX || (event.pageX - canvas_main.offsetLeft);
// lastY = event.offsetY || (event.pageY - canvas_main.offsetTop);
// dragStart = context_main.transformedPoint(lastX,lastY);
}
function
mouseUp_CanvasMain
(
event
){
moveFlag
=
false
;
}
/* View Component setDefaultEvent */
function
setDefaultEvent
()
{
document
.
getElementById
(
'main'
).
addEventListener
(
'click'
,
onClick_CanvasMain
,
false
);
...
...
@@ -1779,6 +1823,25 @@ function flip() {
var
size
=
canvas
.
height
/
height
;
height
=
canvas
.
height
;
width
=
width
*
size
;
}
if
(
userScale
!=
1
&&
width
<
canvas
.
width
){
width
=
width
*
userScale
;
if
(
width
>
canvas
.
width
){
//var size = canvas.width / width;
width
=
canvas
.
width
;
//height = height * size;
}
}
else
if
(
userScale
!=
1
&&
height
<
canvas
.
height
){
height
=
width
*
userScale
;
if
(
height
>
canvas
.
height
){
//var size = canvas.height / height;
height
=
canvas
.
height
;
//width = width * size;
}
}
var
destX
=
0
,
destY
=
0
;
...
...
@@ -1801,6 +1864,8 @@ function flip() {
destRect
=
new
Rect
(
destX
,
destY
,
width
,
height
);
/* get position for drawing canvas*/
if
(
isFirstLoad
==
true
){
nPositionCanvas
.
left
=
destRect
.
left
;
...
...
@@ -1822,14 +1887,17 @@ function flip() {
scaleX
=
offscreen
.
width
/
width
;
scaleY
=
offscreen
.
height
/
height
;
// draw canvas
context
.
clearRect
(
0
,
0
,
canvas
.
width
,
canvas
.
height
);
context
.
save
();
context
.
drawImage
(
offscreen
,
srcRect
.
left
,
srcRect
.
top
,
srcRect
.
right
-
srcRect
.
left
,
srcRect
.
bottom
-
srcRect
.
top
,
destRect
.
left
,
destRect
.
top
,
width
,
height
);
context
.
restore
();
};
/* mediaType = 1 and actionType = 0 linkURL object*/
...
...
@@ -2443,7 +2511,12 @@ function sizingNotFull(width, height) {
.
css
(
'top'
,
marginY
);
}
$
(
"#draw_canvas"
).
css
(
'cursor'
,
'default'
);
$
(
"#draw_canvas"
).
css
(
'cursor'
,
'default'
);
if
(
userScale
!=
1
){
changeScale
(
userScale
);
flip
();
}
};
/* Adjust Component size */
...
...
@@ -2463,6 +2536,10 @@ function sizingFullSize(width, height) {
$
(
"#draw_canvas"
).
css
(
'cursor'
,
'default'
);
if
(
userScale
!=
1
){
changeScale
(
userScale
);
flip
();
}
};
/* zoom video */
...
...
@@ -2505,9 +2582,78 @@ function zoomVideo(){
}
}
var
scaleFactor
=
1.1
;
var
zoom
=
function
(
clicks
){
var
pt
=
context_main
.
transformedPoint
(
lastX
,
lastY
);
context_main
.
translate
(
lastX
,
lastY
);
var
factor
=
Math
.
pow
(
scaleFactor
,
clicks
);
context_main
.
scale
(
factor
,
factor
);
maxposY
+=
canvas_main
.
width
*
(
factor
-
1
);
context_main
.
translate
(
-
lastX
,
-
lastY
);
}
// Adds ctx.getTransform() - returns an SVGMatrix
// Adds ctx.transformedPoint(x,y) - returns an SVGPoint
function
trackTransforms
(
ctx
){
var
svg
=
document
.
createElementNS
(
"http://www.w3.org/2000/svg"
,
'svg'
);
var
xform
=
svg
.
createSVGMatrix
();
ctx
.
getTransform
=
function
(){
return
xform
;
};
var
savedTransforms
=
[];
var
save
=
ctx
.
save
;
ctx
.
save
=
function
(){
savedTransforms
.
push
(
xform
.
translate
(
0
,
0
));
return
save
.
call
(
ctx
);
};
var
restore
=
ctx
.
restore
;
ctx
.
restore
=
function
(){
xform
=
savedTransforms
.
pop
();
return
restore
.
call
(
ctx
);
};
var
scale
=
ctx
.
scale
;
ctx
.
scale
=
function
(
sx
,
sy
){
xform
=
xform
.
scaleNonUniform
(
sx
,
sy
);
return
scale
.
call
(
ctx
,
sx
,
sy
);
};
var
rotate
=
ctx
.
rotate
;
ctx
.
rotate
=
function
(
radians
){
xform
=
xform
.
rotate
(
radians
*
180
/
Math
.
PI
);
return
rotate
.
call
(
ctx
,
radians
);
};
var
translate
=
ctx
.
translate
;
ctx
.
translate
=
function
(
dx
,
dy
){
xform
=
xform
.
translate
(
dx
,
dy
);
return
translate
.
call
(
ctx
,
dx
,
dy
);
};
var
transform
=
ctx
.
transform
;
ctx
.
transform
=
function
(
a
,
b
,
c
,
d
,
e
,
f
){
var
m2
=
svg
.
createSVGMatrix
();
m2
.
a
=
a
;
m2
.
b
=
b
;
m2
.
c
=
c
;
m2
.
d
=
d
;
m2
.
e
=
e
;
m2
.
f
=
f
;
xform
=
xform
.
multiply
(
m2
);
return
transform
.
call
(
ctx
,
a
,
b
,
c
,
d
,
e
,
f
);
};
var
setTransform
=
ctx
.
setTransform
;
ctx
.
setTransform
=
function
(
a
,
b
,
c
,
d
,
e
,
f
){
xform
.
a
=
a
;
xform
.
b
=
b
;
xform
.
c
=
c
;
xform
.
d
=
d
;
xform
.
e
=
e
;
xform
.
f
=
f
;
return
setTransform
.
call
(
ctx
,
a
,
b
,
c
,
d
,
e
,
f
);
};
var
pt
=
svg
.
createSVGPoint
();
ctx
.
transformedPoint
=
function
(
x
,
y
){
pt
.
x
=
x
;
pt
.
y
=
y
;
return
pt
.
matrixTransform
(
xform
.
inverse
());
}
}
/* zoomIn event */
function
zoomIn
()
{
userScale
+=
scaleDelta
;
userScale
+=
scaleDelta
;
if
(
userScale
>
4
){
userScale
=
4
;
...
...
@@ -2516,11 +2662,47 @@ function zoomIn() {
changeScale
(
userScale
);
flip
();
/* zoom video */
zoomVideo
();
zoomVideo
();
checkDisableButtonZoom
();
};
function
checkDisableButtonZoom
(){
if
(
userScale
>=
4
){
$
(
'#zoomin'
).
unbind
(
'click'
);
$
(
'#zoomin'
).
removeClass
();
$
(
'#zoomin'
).
addClass
(
'expansion_off'
);
$
(
"#zoomin"
).
css
(
'cursor'
,
'default'
);
}
else
{
$
(
'#zoomin'
).
unbind
(
'click'
);
$
(
'#zoomin'
).
bind
(
'click'
,
zoomIn
);
$
(
'#zoomin'
).
removeClass
();
$
(
'#zoomin'
).
addClass
(
'expansion'
);
$
(
"#zoomin"
).
css
(
'cursor'
,
'pointer'
);
}
if
(
userScale
<=
1
){
$
(
'#zoomout'
).
unbind
(
'click'
);
$
(
'#zoomout'
).
removeClass
();
$
(
'#zoomout'
).
addClass
(
'reduction_off'
);
$
(
"#zoomout"
).
css
(
'cursor'
,
'default'
);
}
else
{
$
(
'#zoomout'
).
unbind
(
'click'
);
$
(
'#zoomout'
).
bind
(
'click'
,
zoomOut
);
$
(
'#zoomout'
).
removeClass
();
$
(
'#zoomout'
).
addClass
(
'reduction'
);
$
(
"#zoomout"
).
css
(
'cursor'
,
'pointer'
);
}
}
/* zoomOut event */
function
zoomOut
()
{
userScale
-=
scaleDelta
;
...
...
@@ -2533,6 +2715,8 @@ function zoomOut() {
/* zoom video */
zoomVideo
()
checkDisableButtonZoom
();
};
/* restore screen size */
...
...
@@ -2540,16 +2724,18 @@ function screenFit() {
var
canvas
=
document
.
getElementById
(
'main'
);
var
offScreen
=
document
.
getElementById
(
'offscreen'
);
context_main
.
clearRect
(
0
,
0
,
canvas_main
.
width
,
canvas_main
.
height
);
srcRect
=
new
Rect
(
0
,
0
,
offScreen
.
width
,
offScreen
.
height
);
userScale
=
1
;
moveX
=
0
;
moveY
=
0
;
moveY
=
0
;
flip
();
/* zoom video */
zoomVideo
();
checkDisableButtonZoom
();
};
...
...
@@ -2561,21 +2747,64 @@ function changeScale(scale) {
var
sc
=
srcRect
.
center
();
var
sw
=
offScreen
.
width
,
sh
=
offScreen
.
height
;
sw
/=
scale
;
sh
/=
scale
;
// srcRect.left = sc.x - Math.floor(sw / 2);
// srcRect.top = sc.y - Math.floor(sh / 2);
// srcRect.right = srcRect.left + sw;
// srcRect.bottom = srcRect.top + sh;
// srcRect.width = sw;
// srcRect.height = sh;
var
width
=
offscreen
.
width
;
var
height
=
offscreen
.
height
;
var
aspect
=
offscreen
.
width
/
offscreen
.
height
;
if
(
canvas
.
width
>
canvas
.
height
)
{
height
=
canvas
.
height
;
width
=
height
*
aspect
;
if
(
width
>
canvas
.
width
)
{
width
=
canvas
.
width
;
height
=
width
/
aspect
;
}
if
(
height
>
canvas
.
height
){
height
=
canvas
.
height
;
width
=
height
/
aspect
;
}
}
else
{
width
=
canvas
.
width
;
height
=
width
/
aspect
;
}
if
(
width
<
canvas
.
width
){
//if(width >= height){
width
=
width
*
scale
;
if
(
width
>
canvas
.
width
){
sw
/=
scale
;
sh
=
sw
/
(
canvas
.
width
/
canvas
.
height
);
}
else
{
sh
/=
scale
;
}
//}else if(height <= canvas.height){
}
else
if
(
height
<
canvas
.
height
){
height
=
height
*
scale
;
if
(
height
>
canvas
.
height
){
sh
/=
scale
;
sw
=
sh
/
(
canvas
.
height
/
canvas
.
width
);
}
else
{
sw
/=
scale
;
}
}
else
{
sh
/=
scale
;
sw
/=
scale
;
}
srcRect
.
left
=
sc
.
x
-
Math
.
round
(
sw
/
2
);
srcRect
.
top
=
sc
.
y
-
Math
.
round
(
sh
/
2
);
srcRect
.
right
=
Math
.
round
(
srcRect
.
left
+
sw
);
srcRect
.
bottom
=
Math
.
round
(
srcRect
.
top
+
sh
);
srcRect
.
width
=
srcRect
.
right
-
srcRect
.
left
;
srcRect
.
height
=
srcRect
.
bottom
-
srcRect
.
top
;
srcRect
.
height
=
srcRect
.
bottom
-
srcRect
.
top
;
};
/* change Scale screen*/
...
...
abvw/js/header.js
View file @
90cbc971
...
...
@@ -91,15 +91,28 @@ function bodyClickFunction(event) {
// Check mouse is in rectangle of searching panel
if
(
$
(
'#header-searchbox'
).
css
(
'display'
)
!=
"none"
)
{
if
(
event
.
targetTouches
[
0
].
clientX
>=
$
(
'#header-searchbox'
).
position
().
left
&&
event
.
targetTouches
[
0
].
clientX
<=
(
$
(
'#header-searchbox'
).
position
().
left
+
$
(
'#header-searchbox'
).
width
())
&&
event
.
targetTouches
[
0
].
clientY
>=
$
(
'#header-searchbox'
).
position
().
top
&&
event
.
targetTouches
[
0
].
clientY
<=
(
$
(
'#header-searchbox'
).
position
().
top
+
$
(
'#header-searchbox'
).
height
()))
{
isHoverOn
=
true
;
var
currPosX
,
currPosY
;
var
avwUserEnvObj
=
new
UserEnvironment
();
if
(
avwUserEnvObj
.
os
==
'android'
)
{
//$("#searchbox-key").val(event.targetTouches[0].pageX + "_" + $('#header-searchbox').position().left + ":" + ($('#header-searchbox').position().left + $('#header-searchbox').width()));
currPosX
=
event
.
targetTouches
[
0
].
pageX
;
currPosY
=
event
.
targetTouches
[
0
].
pageY
;
}
else
{
currPosX
=
event
.
targetTouches
[
0
].
clientX
;
currPosY
=
event
.
targetTouches
[
0
].
clientY
;
}
if
(
currPosX
>=
$
(
'#header-searchbox'
).
position
().
left
&&
currPosX
<=
(
$
(
'#header-searchbox'
).
position
().
left
+
$
(
'#header-searchbox'
).
width
())
&&
currPosY
>=
$
(
'#header-searchbox'
).
position
().
top
&&
currPosY
<=
(
$
(
'#header-searchbox'
).
position
().
top
+
$
(
'#header-searchbox'
).
height
()))
{
isHoverOn
=
true
;
}
else
{
isHoverOn
=
false
;
$
(
'#header-searchbox'
).
hide
();
}
...
...
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