Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Moecube Store
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Moecube Store
Commits
e3ba9477
Commit
e3ba9477
authored
Apr 02, 2013
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
72e2aa46
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
161 additions
and
153 deletions
+161
-153
assets/javascripts/decks.coffee
assets/javascripts/decks.coffee
+74
-75
assets/javascripts/decks.js
assets/javascripts/decks.js
+87
-78
No files found.
assets/javascripts/decks.coffee
View file @
e3ba9477
...
@@ -160,7 +160,7 @@ class Deck extends Spine.Model
...
@@ -160,7 +160,7 @@ class Deck extends Spine.Model
if
!
line
or
line
.
charAt
(
0
)
==
'#'
if
!
line
or
line
.
charAt
(
0
)
==
'#'
continue
continue
else
if
line
.
substr
(
0
,
5
)
==
'!side'
else
if
line
.
substr
(
0
,
5
)
==
'!side'
card_usages
.
push
{
card_id
:
last_id
,
side
:
side
,
count
:
count
}
if
last_id
card_usages
.
push
{
id
:
"
#{
result
.
cid
}
_
#{
side
}
_
#{
last_id
}
"
,
card_id
:
last_id
,
side
:
side
,
count
:
count
}
if
last_id
side
=
true
side
=
true
last_id
=
null
last_id
=
null
else
else
...
@@ -290,7 +290,12 @@ class DecksController extends Spine.Controller
...
@@ -290,7 +290,12 @@ class DecksController extends Spine.Controller
load_from_url
:
(
url
)
->
load_from_url
:
(
url
)
->
try
try
decks
.
deck
Deck
.
decode
$
.
url
(
url
).
param
(
'cards'
),
$
.
url
().
param
(
'name'
)
#there is a bug in old version deck editor.
cards_param
=
$
.
url
(
url
).
param
(
'cards'
)
if
cards_param
.
indexOf
(
'*'
)
>=
0
cards_param
=
cards_param
.
replace
/[\*\-]/g
,
(
char
)
->
{
'*'
:
'-'
,
'-'
:
'_'
}[
char
]
decks
.
deck
Deck
.
decode
cards_param
,
$
.
url
().
param
(
'name'
)
catch
error
catch
error
alert
error
alert
error
...
@@ -368,77 +373,71 @@ class CardsController extends Spine.Controller
...
@@ -368,77 +373,71 @@ class CardsController extends Spine.Controller
decks
=
new
DecksController
(
el
:
$
(
"#deck"
))
decks
=
new
DecksController
(
el
:
$
(
"#deck"
))
cards
=
new
CardsController
(
el
:
$
(
"#search_cards"
))
cards
=
new
CardsController
(
el
:
$
(
"#search_cards"
))
#there is a bug in old version deck editor.
decks
.
load_from_url
()
competition_convert
=
{
'*'
:
'-'
,
'-'
:
'_'
}
if
document
.
location
.
href
.
indexOf
(
'*'
)
>=
0
$
(
'#search'
).
submit
->
location
.
href
=
document
.
location
.
href
.
replace
/[\*\-]/g
,
(
char
)
->
competition_convert
[
char
]
cards
.
search
$
(
'.search_input'
).
val
()
return
false
$
(
document
).
ready
->
decks
.
load_from_url
()
#dialog
$
(
"#deck_share_dialog"
).
dialog
$
(
'#search'
).
submit
->
modal
:
true
cards
.
search
$
(
'.search_input'
).
val
()
autoOpen
:
$
.
url
().
attr
(
'fragment'
)
==
'share'
return
false
width
:
600
open
:
->
#dialog
$
(
"#deck_url"
).
val
decks
.
deck
().
url
()
$
(
"#deck_share_dialog"
).
dialog
$
(
"#deck_url"
)[
0
].
select
()
modal
:
true
$
(
"#deck_url_qrcode"
).
attr
'src'
,
'https://chart.googleapis.com/chart?chs=171x171&cht=qr&chld=|0&chl='
+
encodeURIComponent
(
decks
.
deck
().
url
())
autoOpen
:
$
.
url
().
attr
(
'fragment'
)
==
'share'
width
:
600
$
(
"#drop_upload_dialog"
).
dialog
open
:
->
dialogClass
:
'drop_upload'
$
(
"#deck_url"
).
val
decks
.
deck
().
url
()
draggable
:
false
resizable
:
false
modal
:
true
autoOpen
:
false
#share
$
(
'#deck_share'
).
click
->
$
(
"#deck_share_dialog"
).
dialog
(
'open'
)
$
(
'#deck_url_shorten'
).
click
->
$
(
'#deck_url_shorten'
).
attr
"disabled"
,
true
$
.
ajax
url
:
'https://www.googleapis.com/urlshortener/v1/url'
type
:
'POST'
data
:
JSON
.
stringify
{
longUrl
:
decks
.
deck
().
url
()}
contentType
:
'application/json; charset=utf-8'
success
:
(
data
)
->
$
(
"#deck_url"
).
val
data
.
id
$
(
"#deck_url"
)[
0
].
select
()
$
(
"#deck_url"
)[
0
].
select
()
$
(
"#deck_url_qrcode"
).
attr
'src'
,
'https://chart.googleapis.com/chart?chs=171x171&cht=qr&chld=|0&chl='
+
encodeURIComponent
(
decks
.
deck
().
url
())
$
(
'#deck_url_shorten'
).
attr
"disabled"
,
false
$
(
"#drop_upload_dialog"
).
dialog
#upload
dialogClass
:
'drop_upload'
$
(
'#deck_load'
).
change
->
draggable
:
false
decks
.
upload
(
@
files
)
resizable
:
false
modal
:
true
$
(
window
).
bind
'popstate'
,
(
ev
)
->
autoOpen
:
false
if
ev
.
state
deck
.
refresh
ev
.
state
,
false
#share
$
(
'#deck_share'
).
click
->
$
(
'.main_div'
).
bind
'dragover'
,
(
ev
)
->
$
(
"#deck_share_dialog"
).
dialog
(
'open'
)
ev
.
preventDefault
();
#$("#drop_upload_dialog").dialog('open')
$
(
'#deck_url_shorten'
).
click
->
$
(
'#deck_url_shorten'
).
attr
"disabled"
,
true
$
(
'.main_div'
).
bind
'drop'
,
(
ev
)
->
$
.
ajax
ev
.
preventDefault
();
url
:
'https://www.googleapis.com/urlshortener/v1/url'
$
(
"#drop_upload_dialog"
).
dialog
(
'close'
)
type
:
'POST'
decks
.
upload
event
.
dataTransfer
.
files
data
:
JSON
.
stringify
{
longUrl
:
decks
.
deck
().
url
()}
contentType
:
'application/json; charset=utf-8'
$
(
".switch"
).
click
->
success
:
(
data
)
->
$
(
".text,.graphic"
).
toggleClass
(
"graphic text"
)
$
(
"#deck_url"
).
val
data
.
id
decks
.
render
()
$
(
"#deck_url"
)[
0
].
select
()
$
(
'#deck_url_shorten'
).
attr
"disabled"
,
false
$
.
i18n
.
properties
#upload
name
:
'card'
$
(
'#deck_load'
).
change
->
path
:
'/locales/'
decks
.
upload
(
@
files
)
mode
:
'map'
cache
:
true
$
(
window
).
bind
'popstate'
,
(
ev
)
->
if
ev
.
state
addthis
.
init
()
deck
.
refresh
ev
.
state
,
false
\ No newline at end of file
$
(
'.main_div'
).
bind
'dragover'
,
(
ev
)
->
ev
.
preventDefault
();
#$("#drop_upload_dialog").dialog('open')
$
(
'.main_div'
).
bind
'drop'
,
(
ev
)
->
ev
.
preventDefault
();
$
(
"#drop_upload_dialog"
).
dialog
(
'close'
)
decks
.
upload
event
.
dataTransfer
.
files
$
(
".switch"
).
click
->
$
(
".text,.graphic"
).
toggleClass
(
"graphic text"
)
decks
.
render
()
$
.
i18n
.
properties
name
:
'card'
path
:
'/locales/'
mode
:
'map'
cache
:
true
addthis
.
init
()
\ No newline at end of file
assets/javascripts/decks.js
View file @
e3ba9477
// Generated by CoffeeScript 1.6.2
// Generated by CoffeeScript 1.6.2
(
function
()
{
(
function
()
{
var
Card
,
CardUsage
,
CardsController
,
Deck
,
DecksController
,
cards
,
competition_convert
,
decks
,
locale
,
_ref
,
_ref1
,
_ref2
,
_ref3
,
_ref4
,
var
Card
,
CardUsage
,
CardsController
,
Deck
,
DecksController
,
cards
,
decks
,
locale
,
_ref
,
_ref1
,
_ref2
,
_ref3
,
_ref4
,
__hasProp
=
{}.
hasOwnProperty
,
__hasProp
=
{}.
hasOwnProperty
,
__extends
=
function
(
child
,
parent
)
{
for
(
var
key
in
parent
)
{
if
(
__hasProp
.
call
(
parent
,
key
))
child
[
key
]
=
parent
[
key
];
}
function
ctor
()
{
this
.
constructor
=
child
;
}
ctor
.
prototype
=
parent
.
prototype
;
child
.
prototype
=
new
ctor
();
child
.
__super__
=
parent
.
prototype
;
return
child
;
},
__extends
=
function
(
child
,
parent
)
{
for
(
var
key
in
parent
)
{
if
(
__hasProp
.
call
(
parent
,
key
))
child
[
key
]
=
parent
[
key
];
}
function
ctor
()
{
this
.
constructor
=
child
;
}
ctor
.
prototype
=
parent
.
prototype
;
child
.
prototype
=
new
ctor
();
child
.
__super__
=
parent
.
prototype
;
return
child
;
},
__indexOf
=
[].
indexOf
||
function
(
item
)
{
for
(
var
i
=
0
,
l
=
this
.
length
;
i
<
l
;
i
++
)
{
if
(
i
in
this
&&
this
[
i
]
===
item
)
return
i
;
}
return
-
1
;
},
__indexOf
=
[].
indexOf
||
function
(
item
)
{
for
(
var
i
=
0
,
l
=
this
.
length
;
i
<
l
;
i
++
)
{
if
(
i
in
this
&&
this
[
i
]
===
item
)
return
i
;
}
return
-
1
;
},
...
@@ -392,6 +392,7 @@
...
@@ -392,6 +392,7 @@
}
else
if
(
line
.
substr
(
0
,
5
)
===
'
!side
'
)
{
}
else
if
(
line
.
substr
(
0
,
5
)
===
'
!side
'
)
{
if
(
last_id
)
{
if
(
last_id
)
{
card_usages
.
push
({
card_usages
.
push
({
id
:
""
+
result
.
cid
+
"
_
"
+
side
+
"
_
"
+
last_id
,
card_id
:
last_id
,
card_id
:
last_id
,
side
:
side
,
side
:
side
,
count
:
count
count
:
count
...
@@ -641,10 +642,19 @@
...
@@ -641,10 +642,19 @@
};
};
DecksController
.
prototype
.
load_from_url
=
function
(
url
)
{
DecksController
.
prototype
.
load_from_url
=
function
(
url
)
{
var
error
;
var
cards_param
,
error
;
try
{
try
{
return
decks
.
deck
(
Deck
.
decode
(
$
.
url
(
url
).
param
(
'
cards
'
),
$
.
url
().
param
(
'
name
'
)));
cards_param
=
$
.
url
(
url
).
param
(
'
cards
'
);
if
(
cards_param
.
indexOf
(
'
*
'
)
>=
0
)
{
cards_param
=
cards_param
.
replace
(
/
[\*\-]
/g
,
function
(
char
)
{
return
{
'
*
'
:
'
-
'
,
'
-
'
:
'
_
'
}[
char
];
});
}
return
decks
.
deck
(
Deck
.
decode
(
cards_param
,
$
.
url
().
param
(
'
name
'
)));
}
catch
(
_error
)
{
}
catch
(
_error
)
{
error
=
_error
;
error
=
_error
;
return
alert
(
error
);
return
alert
(
error
);
...
@@ -852,86 +862,85 @@
...
@@ -852,86 +862,85 @@
el
:
$
(
"
#search_cards
"
)
el
:
$
(
"
#search_cards
"
)
});
});
competition_convert
=
{
decks
.
load_from_url
();
'
*
'
:
'
-
'
,
'
-
'
:
'
_
'
};
if
(
document
.
location
.
href
.
indexOf
(
'
*
'
)
>=
0
)
{
$
(
'
#search
'
).
submit
(
function
()
{
location
.
href
=
document
.
location
.
href
.
replace
(
/
[\*\-]
/g
,
function
(
char
)
{
cards
.
search
(
$
(
'
.search_input
'
).
val
());
return
competition_convert
[
char
];
return
false
;
});
});
}
$
(
document
).
ready
(
function
()
{
$
(
"
#deck_share_dialog
"
).
dialog
({
decks
.
load_from_url
();
modal
:
true
,
$
(
'
#search
'
).
submit
(
function
()
{
autoOpen
:
$
.
url
().
attr
(
'
fragment
'
)
===
'
share
'
,
cards
.
search
(
$
(
'
.search_input
'
).
val
());
width
:
600
,
return
false
;
open
:
function
()
{
});
$
(
"
#deck_url
"
).
val
(
decks
.
deck
().
url
());
$
(
"
#deck_share_dialog
"
).
dialog
({
$
(
"
#deck_url
"
)[
0
].
select
();
modal
:
true
,
return
$
(
"
#deck_url_qrcode
"
).
attr
(
'
src
'
,
'
https://chart.googleapis.com/chart?chs=171x171&cht=qr&chld=|0&chl=
'
+
encodeURIComponent
(
decks
.
deck
().
url
()));
autoOpen
:
$
.
url
().
attr
(
'
fragment
'
)
===
'
share
'
,
}
width
:
600
,
});
open
:
function
()
{
$
(
"
#deck_url
"
).
val
(
decks
.
deck
().
url
());
$
(
"
#drop_upload_dialog
"
).
dialog
({
dialogClass
:
'
drop_upload
'
,
draggable
:
false
,
resizable
:
false
,
modal
:
true
,
autoOpen
:
false
});
$
(
'
#deck_share
'
).
click
(
function
()
{
return
$
(
"
#deck_share_dialog
"
).
dialog
(
'
open
'
);
});
$
(
'
#deck_url_shorten
'
).
click
(
function
()
{
$
(
'
#deck_url_shorten
'
).
attr
(
"
disabled
"
,
true
);
return
$
.
ajax
({
url
:
'
https://www.googleapis.com/urlshortener/v1/url
'
,
type
:
'
POST
'
,
data
:
JSON
.
stringify
({
longUrl
:
decks
.
deck
().
url
()
}),
contentType
:
'
application/json; charset=utf-8
'
,
success
:
function
(
data
)
{
$
(
"
#deck_url
"
).
val
(
data
.
id
);
$
(
"
#deck_url
"
)[
0
].
select
();
$
(
"
#deck_url
"
)[
0
].
select
();
return
$
(
"
#deck_url_qrcode
"
).
attr
(
'
src
'
,
'
https://chart.googleapis.com/chart?chs=171x171&cht=qr&chld=|0&chl=
'
+
encodeURIComponent
(
decks
.
deck
().
url
()));
return
$
(
'
#deck_url_shorten
'
).
attr
(
"
disabled
"
,
false
);
}
});
$
(
"
#drop_upload_dialog
"
).
dialog
({
dialogClass
:
'
drop_upload
'
,
draggable
:
false
,
resizable
:
false
,
modal
:
true
,
autoOpen
:
false
});
$
(
'
#deck_share
'
).
click
(
function
()
{
return
$
(
"
#deck_share_dialog
"
).
dialog
(
'
open
'
);
});
$
(
'
#deck_url_shorten
'
).
click
(
function
()
{
$
(
'
#deck_url_shorten
'
).
attr
(
"
disabled
"
,
true
);
return
$
.
ajax
({
url
:
'
https://www.googleapis.com/urlshortener/v1/url
'
,
type
:
'
POST
'
,
data
:
JSON
.
stringify
({
longUrl
:
decks
.
deck
().
url
()
}),
contentType
:
'
application/json; charset=utf-8
'
,
success
:
function
(
data
)
{
$
(
"
#deck_url
"
).
val
(
data
.
id
);
$
(
"
#deck_url
"
)[
0
].
select
();
return
$
(
'
#deck_url_shorten
'
).
attr
(
"
disabled
"
,
false
);
}
});
});
$
(
'
#deck_load
'
).
change
(
function
()
{
return
decks
.
upload
(
this
.
files
);
});
$
(
window
).
bind
(
'
popstate
'
,
function
(
ev
)
{
if
(
ev
.
state
)
{
return
deck
.
refresh
(
ev
.
state
,
false
);
}
}
});
});
$
(
'
.main_div
'
).
bind
(
'
dragover
'
,
function
(
ev
)
{
return
ev
.
preventDefault
();
});
$
(
'
.main_div
'
).
bind
(
'
drop
'
,
function
(
ev
)
{
ev
.
preventDefault
();
$
(
"
#drop_upload_dialog
"
).
dialog
(
'
close
'
);
return
decks
.
upload
(
event
.
dataTransfer
.
files
);
});
$
(
"
.switch
"
).
click
(
function
()
{
$
(
"
.text,.graphic
"
).
toggleClass
(
"
graphic text
"
);
return
decks
.
render
();
});
$
.
i18n
.
properties
({
name
:
'
card
'
,
path
:
'
/locales/
'
,
mode
:
'
map
'
,
cache
:
true
});
return
addthis
.
init
();
});
});
$
(
'
#deck_load
'
).
change
(
function
()
{
return
decks
.
upload
(
this
.
files
);
});
$
(
window
).
bind
(
'
popstate
'
,
function
(
ev
)
{
if
(
ev
.
state
)
{
return
deck
.
refresh
(
ev
.
state
,
false
);
}
});
$
(
'
.main_div
'
).
bind
(
'
dragover
'
,
function
(
ev
)
{
return
ev
.
preventDefault
();
});
$
(
'
.main_div
'
).
bind
(
'
drop
'
,
function
(
ev
)
{
ev
.
preventDefault
();
$
(
"
#drop_upload_dialog
"
).
dialog
(
'
close
'
);
return
decks
.
upload
(
event
.
dataTransfer
.
files
);
});
$
(
"
.switch
"
).
click
(
function
()
{
$
(
"
.text,.graphic
"
).
toggleClass
(
"
graphic text
"
);
return
decks
.
render
();
});
$
.
i18n
.
properties
({
name
:
'
card
'
,
path
:
'
/locales/
'
,
mode
:
'
map
'
,
cache
:
true
});
addthis
.
init
();
}).
call
(
this
);
}).
call
(
this
);
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