Commit c7eb154a authored by 神楽坂玲奈's avatar 神楽坂玲奈

download

parent bd564459
...@@ -50,11 +50,11 @@ class CardUsage extends Spine.Model ...@@ -50,11 +50,11 @@ class CardUsage extends Spine.Model
@belongsTo 'card', Card @belongsTo 'card', Card
class Deck extends Spine.Controller class Deck extends Spine.Controller
deck_name: ""
events: events:
'mouseover .card_usage': 'show', 'mouseover .card_usage': 'show',
'click .card_usage': 'add', 'click .card_usage': 'add',
'contextmenu .card_usage': 'minus' 'contextmenu .card_usage': 'minus'
key: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-=" key: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*-="
constructor: -> constructor: ->
super super
...@@ -84,6 +84,8 @@ class Deck extends Spine.Controller ...@@ -84,6 +84,8 @@ class Deck extends Spine.Controller
@html $('#deck_template').tmpl({main: main, side: side, extra: extra, main_count: main_count, side_count: side_count, extra_count: extra_count, category_count: category_count}) @html $('#deck_template').tmpl({main: main, side: side, extra: extra, main_count: main_count, side_count: side_count, extra_count: extra_count, category_count: category_count})
@el.jscroll({W: "12px", Btn: @el.jscroll({W: "12px", Btn:
{btn: false}}); {btn: false}});
$('#deck_url').attr 'download', Deck.deck_name + '.ydk'
$('#deck_url').attr 'href', 'data:application/octet-stream,' + (card_usage.card_id for card_usage in main).concat((card_usage.card_id for card_usage in extra), ["!side"], (card_usage.card_id for card_usage in side)).join("%0a")
tab_control: -> tab_control: ->
$(".bottom_area div").click -> $(".bottom_area div").click ->
$(this).addClass("bottom_button_active").removeClass("bottom_button") $(this).addClass("bottom_button_active").removeClass("bottom_button")
...@@ -144,5 +146,6 @@ $(document).ready -> ...@@ -144,5 +146,6 @@ $(document).ready ->
cache: true cache: true
callback: -> callback: ->
deck = new Deck(el: $("#deck")) deck = new Deck(el: $("#deck"))
Deck.deck_name = name
deck.tab_control() deck.tab_control()
deck.parse cards_encoded deck.parse cards_encoded
\ No newline at end of file
...@@ -137,6 +137,8 @@ ...@@ -137,6 +137,8 @@
__extends(Deck, _super); __extends(Deck, _super);
Deck.prototype.deck_name = "";
Deck.prototype.events = { Deck.prototype.events = {
'mouseover .card_usage': 'show', 'mouseover .card_usage': 'show',
'click .card_usage': 'add', 'click .card_usage': 'add',
...@@ -152,7 +154,7 @@ ...@@ -152,7 +154,7 @@
} }
Deck.prototype.render = function() { Deck.prototype.render = function() {
var category, category_count, extra, extra_count, main, main_count, side, side_count, _i, _len, _ref; var card_usage, category, category_count, extra, extra_count, main, main_count, side, side_count, _i, _len, _ref;
main = []; main = [];
side = []; side = [];
extra = []; extra = [];
...@@ -211,12 +213,38 @@ ...@@ -211,12 +213,38 @@
extra_count: extra_count, extra_count: extra_count,
category_count: category_count category_count: category_count
})); }));
return this.el.jscroll({ this.el.jscroll({
W: "12px", W: "12px",
Btn: { Btn: {
btn: false btn: false
} }
}); });
$('#deck_url').attr('download', Deck.deck_name + '.ydk');
return $('#deck_url').attr('href', 'data:application/octet-stream,' + ((function() {
var _j, _len1, _results;
_results = [];
for (_j = 0, _len1 = main.length; _j < _len1; _j++) {
card_usage = main[_j];
_results.push(card_usage.card_id);
}
return _results;
})()).concat((function() {
var _j, _len1, _results;
_results = [];
for (_j = 0, _len1 = extra.length; _j < _len1; _j++) {
card_usage = extra[_j];
_results.push(card_usage.card_id);
}
return _results;
})(), ["!side"], (function() {
var _j, _len1, _results;
_results = [];
for (_j = 0, _len1 = side.length; _j < _len1; _j++) {
card_usage = side[_j];
_results.push(card_usage.card_id);
}
return _results;
})()).join("%0a"));
}; };
Deck.prototype.tab_control = function() { Deck.prototype.tab_control = function() {
...@@ -336,6 +364,7 @@ ...@@ -336,6 +364,7 @@
deck = new Deck({ deck = new Deck({
el: $("#deck") el: $("#deck")
}); });
Deck.deck_name = name;
deck.tab_control(); deck.tab_control();
return deck.parse(cards_encoded); return deck.parse(cards_encoded);
} }
......
...@@ -402,7 +402,7 @@ ...@@ -402,7 +402,7 @@
<div class="upload_inner"></div> <div class="upload_inner"></div>
</div> </div>
<!-- <img class="donwload_ope" src="/assets/images/decks/download.png" alt="" title="上传" /> --> <!-- <img class="donwload_ope" src="/assets/images/decks/download.png" alt="" title="上传" /> -->
<img class="save_ope" src="/assets/images/decks/save.png" alt="" title="保存"/> <a href="#" id="deck_url"><img class="save_ope" src="/assets/images/decks/save.png" alt="" title="保存"/></a>
</div> </div>
</div> </div>
...@@ -418,6 +418,7 @@ ...@@ -418,6 +418,7 @@
<script src="/vendor/javascripts/jquery.tmpl.min.js"></script> <script src="/vendor/javascripts/jquery.tmpl.min.js"></script>
<script src="/vendor/javascripts/jquery.mousewheel.js"></script> <script src="/vendor/javascripts/jquery.mousewheel.js"></script>
<script src="/vendor/javascripts/jquery.i18n.properties-min-1.0.9.js"></script> <script src="/vendor/javascripts/jquery.i18n.properties-min-1.0.9.js"></script>
<script src="/vendor/javascripts/jquery.base64.min.js"></script>
<script src="/vendor/javascripts/hScrollPane.js"></script> <script src="/vendor/javascripts/hScrollPane.js"></script>
<script src="/vendor/javascripts/jscroll.js"></script> <script src="/vendor/javascripts/jscroll.js"></script>
<script src="/vendor/javascripts/json2.js"></script> <script src="/vendor/javascripts/json2.js"></script>
......
"use strict";jQuery.base64=(function($){var _PADCHAR="=",_ALPHA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_VERSION="1.0";function _getbyte64(s,i){var idx=_ALPHA.indexOf(s.charAt(i));if(idx===-1){throw"Cannot decode base64"}return idx}function _decode(s){var pads=0,i,b10,imax=s.length,x=[];s=String(s);if(imax===0){return s}if(imax%4!==0){throw"Cannot decode base64"}if(s.charAt(imax-1)===_PADCHAR){pads=1;if(s.charAt(imax-2)===_PADCHAR){pads=2}imax-=4}for(i=0;i<imax;i+=4){b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12)|(_getbyte64(s,i+2)<<6)|_getbyte64(s,i+3);x.push(String.fromCharCode(b10>>16,(b10>>8)&255,b10&255))}switch(pads){case 1:b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12)|(_getbyte64(s,i+2)<<6);x.push(String.fromCharCode(b10>>16,(b10>>8)&255));break;case 2:b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12);x.push(String.fromCharCode(b10>>16));break}return x.join("")}function _getbyte(s,i){var x=s.charCodeAt(i);if(x>255){throw"INVALID_CHARACTER_ERR: DOM Exception 5"}return x}function _encode(s){if(arguments.length!==1){throw"SyntaxError: exactly one argument required"}s=String(s);var i,b10,x=[],imax=s.length-s.length%3;if(s.length===0){return s}for(i=0;i<imax;i+=3){b10=(_getbyte(s,i)<<16)|(_getbyte(s,i+1)<<8)|_getbyte(s,i+2);x.push(_ALPHA.charAt(b10>>18));x.push(_ALPHA.charAt((b10>>12)&63));x.push(_ALPHA.charAt((b10>>6)&63));x.push(_ALPHA.charAt(b10&63))}switch(s.length-imax){case 1:b10=_getbyte(s,i)<<16;x.push(_ALPHA.charAt(b10>>18)+_ALPHA.charAt((b10>>12)&63)+_PADCHAR+_PADCHAR);break;case 2:b10=(_getbyte(s,i)<<16)|(_getbyte(s,i+1)<<8);x.push(_ALPHA.charAt(b10>>18)+_ALPHA.charAt((b10>>12)&63)+_ALPHA.charAt((b10>>6)&63)+_PADCHAR);break}return x.join("")}return{decode:_decode,encode:_encode,VERSION:_VERSION}}(jQuery));
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment