# HG changeset patch # User ymh # Date 1426261598 -3600 # Node ID e02e58fc07cf4e4cce9ee1f27684896b74d5473b # Parent 7d11d49fd3550efbdb50a7fcb58c7ef76cfefd2e correct version diff -r 7d11d49fd355 -r e02e58fc07cf client/bower.json --- a/client/bower.json Fri Mar 13 16:36:57 2015 +0100 +++ b/client/bower.json Fri Mar 13 16:46:38 2015 +0100 @@ -1,6 +1,6 @@ { "name": "renkan", - "version": "0.8.3", + "version": "0.8.4", "authors": [ "IRI " ], diff -r 7d11d49fd355 -r e02e58fc07cf client/package.json --- a/client/package.json Fri Mar 13 16:36:57 2015 +0100 +++ b/client/package.json Fri Mar 13 16:46:38 2015 +0100 @@ -1,6 +1,6 @@ { "name": "renkan", - "version": "0.8.3", + "version": "0.8.4", "description": "Renkan client application", "repository": { "type": "hg", diff -r 7d11d49fd355 -r e02e58fc07cf server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/FileSaver.js --- a/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/FileSaver.js Fri Mar 13 16:36:57 2015 +0100 +++ b/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/FileSaver.js Fri Mar 13 16:46:38 2015 +0100 @@ -1,6 +1,6 @@ /* FileSaver.js * A saveAs() FileSaver implementation. - * 2014-12-17 + * 2015-03-04 * * By Eli Grey, http://eligrey.com * License: X11/MIT @@ -135,6 +135,10 @@ revoke(object_url); return; } + // prepend BOM for UTF-8 XML and text/plain types + if (/^\s*(?:text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) { + blob = new Blob(["\ufeff", blob], {type: blob.type}); + } // Object and web filesystem URLs have a problem saving in Google Chrome when // viewed in a tab, so I force save with application/octet-stream // http://code.google.com/p/chromium/issues/detail?id=91158 @@ -236,7 +240,7 @@ // with an attribute `content` that corresponds to the window if (typeof module !== "undefined" && module.exports) { - module.exports = saveAs; + module.exports.saveAs = saveAs; } else if ((typeof define !== "undefined" && define !== null) && (define.amd != null)) { define([], function() { return saveAs; diff -r 7d11d49fd355 -r e02e58fc07cf server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/FileSaver.min.js --- a/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/FileSaver.min.js Fri Mar 13 16:36:57 2015 +0100 +++ b/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/FileSaver.min.js Fri Mar 13 16:46:38 2015 +0100 @@ -1,2 +1,2 @@ /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ -var saveAs=saveAs||typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(view){"use strict";if(typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link="download"in save_link,click=function(node){var event=doc.createEvent("MouseEvents");event.initMouseEvent("click",true,false,view,0,0,0,0,0,false,false,false,false,0,null);node.dispatchEvent(event)},webkit_req_fs=view.webkitRequestFileSystem,req_fs=view.requestFileSystem||webkit_req_fs||view.mozRequestFileSystem,throw_outside=function(ex){(view.setImmediate||view.setTimeout)(function(){throw ex},0)},force_saveable_type="application/octet-stream",fs_min_size=0,arbitrary_revoke_timeout=500,revoke=function(file){var revoker=function(){if(typeof file==="string"){get_URL().revokeObjectURL(file)}else{file.remove()}};if(view.chrome){revoker()}else{setTimeout(revoker,arbitrary_revoke_timeout)}},dispatch=function(filesaver,event_types,event){event_types=[].concat(event_types);var i=event_types.length;while(i--){var listener=filesaver["on"+event_types[i]];if(typeof listener==="function"){try{listener.call(filesaver,event||filesaver)}catch(ex){throw_outside(ex)}}}},FileSaver=function(blob,name){var filesaver=this,type=blob.type,blob_changed=false,object_url,target_view,dispatch_all=function(){dispatch(filesaver,"writestart progress write writeend".split(" "))},fs_error=function(){if(blob_changed||!object_url){object_url=get_URL().createObjectURL(blob)}if(target_view){target_view.location.href=object_url}else{var new_tab=view.open(object_url,"_blank");if(new_tab==undefined&&typeof safari!=="undefined"){view.location.href=object_url}}filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url)},abortable=function(func){return function(){if(filesaver.readyState!==filesaver.DONE){return func.apply(this,arguments)}}},create_if_not_found={create:true,exclusive:false},slice;filesaver.readyState=filesaver.INIT;if(!name){name="download"}if(can_use_save_link){object_url=get_URL().createObjectURL(blob);save_link.href=object_url;save_link.download=name;click(save_link);filesaver.readyState=filesaver.DONE;dispatch_all();revoke(object_url);return}if(view.chrome&&type&&type!==force_saveable_type){slice=blob.slice||blob.webkitSlice;blob=slice.call(blob,0,blob.size,force_saveable_type);blob_changed=true}if(webkit_req_fs&&name!=="download"){name+=".download"}if(type===force_saveable_type||webkit_req_fs){target_view=view}if(!req_fs){fs_error();return}fs_min_size+=blob.size;req_fs(view.TEMPORARY,fs_min_size,abortable(function(fs){fs.root.getDirectory("saved",create_if_not_found,abortable(function(dir){var save=function(){dir.getFile(name,create_if_not_found,abortable(function(file){file.createWriter(abortable(function(writer){writer.onwriteend=function(event){target_view.location.href=file.toURL();filesaver.readyState=filesaver.DONE;dispatch(filesaver,"writeend",event);revoke(file)};writer.onerror=function(){var error=writer.error;if(error.code!==error.ABORT_ERR){fs_error()}};"writestart progress write abort".split(" ").forEach(function(event){writer["on"+event]=filesaver["on"+event]});writer.write(blob);filesaver.abort=function(){writer.abort();filesaver.readyState=filesaver.DONE};filesaver.readyState=filesaver.WRITING}),fs_error)}),fs_error)};dir.getFile(name,{create:false},abortable(function(file){file.remove();save()}),abortable(function(ex){if(ex.code===ex.NOT_FOUND_ERR){save()}else{fs_error()}}))}),fs_error)}),fs_error)},FS_proto=FileSaver.prototype,saveAs=function(blob,name){return new FileSaver(blob,name)};FS_proto.abort=function(){var filesaver=this;filesaver.readyState=filesaver.DONE;dispatch(filesaver,"abort")};FS_proto.readyState=FS_proto.INIT=0;FS_proto.WRITING=1;FS_proto.DONE=2;FS_proto.error=FS_proto.onwritestart=FS_proto.onprogress=FS_proto.onwrite=FS_proto.onabort=FS_proto.onerror=FS_proto.onwriteend=null;return saveAs}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!=null){define([],function(){return saveAs})} +var saveAs=saveAs||"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(e){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var t=e.document,n=function(){return e.URL||e.webkitURL||e},o=t.createElementNS("http://www.w3.org/1999/xhtml","a"),r="download"in o,i=function(n){var o=t.createEvent("MouseEvents");o.initMouseEvent("click",!0,!1,e,0,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(o)},a=e.webkitRequestFileSystem,c=e.requestFileSystem||a||e.mozRequestFileSystem,s=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},u="application/octet-stream",f=0,d=500,l=function(t){var o=function(){"string"==typeof t?n().revokeObjectURL(t):t.remove()};e.chrome?o():setTimeout(o,d)},v=function(e,t,n){t=[].concat(t);for(var o=t.length;o--;){var r=e["on"+t[o]];if("function"==typeof r)try{r.call(e,n||e)}catch(i){s(i)}}},p=function(t,s){var d,p,w,y=this,m=t.type,S=!1,h=function(){v(y,"writestart progress write writeend".split(" "))},O=function(){if((S||!d)&&(d=n().createObjectURL(t)),p)p.location.href=d;else{var o=e.open(d,"_blank");void 0==o&&"undefined"!=typeof safari&&(e.location.href=d)}y.readyState=y.DONE,h(),l(d)},b=function(e){return function(){return y.readyState!==y.DONE?e.apply(this,arguments):void 0}},g={create:!0,exclusive:!1};return y.readyState=y.INIT,s||(s="download"),r?(d=n().createObjectURL(t),o.href=d,o.download=s,i(o),y.readyState=y.DONE,h(),void l(d)):(/^\s*(?:text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)&&(t=new Blob(["",t],{type:t.type})),e.chrome&&m&&m!==u&&(w=t.slice||t.webkitSlice,t=w.call(t,0,t.size,u),S=!0),a&&"download"!==s&&(s+=".download"),(m===u||a)&&(p=e),c?(f+=t.size,void c(e.TEMPORARY,f,b(function(e){e.root.getDirectory("saved",g,b(function(e){var n=function(){e.getFile(s,g,b(function(e){e.createWriter(b(function(n){n.onwriteend=function(t){p.location.href=e.toURL(),y.readyState=y.DONE,v(y,"writeend",t),l(e)},n.onerror=function(){var e=n.error;e.code!==e.ABORT_ERR&&O()},"writestart progress write abort".split(" ").forEach(function(e){n["on"+e]=y["on"+e]}),n.write(t),y.abort=function(){n.abort(),y.readyState=y.DONE},y.readyState=y.WRITING}),O)}),O)};e.getFile(s,{create:!1},b(function(e){e.remove(),n()}),b(function(e){e.code===e.NOT_FOUND_ERR?n():O()}))}),O)}),O)):void O())},w=p.prototype,y=function(e,t){return new p(e,t)};return w.abort=function(){var e=this;e.readyState=e.DONE,v(e,"abort")},w.readyState=w.INIT=0,w.WRITING=1,w.DONE=2,w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null,y}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs}); \ No newline at end of file diff -r 7d11d49fd355 -r e02e58fc07cf server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/LICENSE.md --- a/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/LICENSE.md Fri Mar 13 16:36:57 2015 +0100 +++ b/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/LICENSE.md Fri Mar 13 16:46:38 2015 +0100 @@ -1,4 +1,4 @@ -Copyright © 2014 [Eli Grey][1]. +Copyright © 2015 [Eli Grey][1]. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff -r 7d11d49fd355 -r e02e58fc07cf server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/README.md --- a/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/README.md Fri Mar 13 16:36:57 2015 +0100 +++ b/server/python/django/renkanmanager/static/renkanmanager/lib/FileSaver/README.md Fri Mar 13 16:46:38 2015 +0100 @@ -10,7 +10,7 @@ sent to an external server. Looking for `canvas.toBlob()` for saving canvases? Check out -[canvas-toBlob.js](https://github.com/eligrey/canvas-toBlob.js) for a cross-browser implementation. +[canvas-toBlob.js][2] for a cross-browser implementation. Supported browsers ------------------ @@ -19,10 +19,10 @@ | -------------- | ------------- | ------------ | ------------- | ------------ | | Firefox 20+ | Blob | Yes | 800 MiB | None | | Firefox < 20 | data: URI | No | n/a | [Blob.js](https://github.com/eligrey/Blob.js) | -| Chrome | Blob | Yes | 345 MiB | None | -| Chrome for Android | Blob | Yes | 345 MiB | None | +| Chrome | Blob | Yes | [500 MiB][3] | None | +| Chrome for Android | Blob | Yes | [500 MiB][3] | None | | IE 10+ | Blob | Yes | 600 MiB | None | -| Opera 15+ | Blob | Yes | 345 MiB | None | +| Opera 15+ | Blob | Yes | 500 MiB | None | | Opera < 15 | data: URI | No | n/a | [Blob.js](https://github.com/eligrey/Blob.js) | | Safari 6.1+* | Blob | No | ? | None | | Safari < 6 | data: URI | No | n/a | [Blob.js](https://github.com/eligrey/Blob.js) | @@ -66,8 +66,8 @@ saveAs(blob, "hello world.txt"); ``` -The standard W3C File API [`Blob`][3] interface is not available in all browsers. -[Blob.js][4] is a cross-browser `Blob` implementation that solves this. +The standard W3C File API [`Blob`][4] interface is not available in all browsers. +[Blob.js][5] is a cross-browser `Blob` implementation that solves this. ### Saving a canvas @@ -80,15 +80,17 @@ ``` Note: The standard HTML5 `canvas.toBlob()` method is not available in all browsers. -[canvas-toBlob.js][5] is a cross-browser `canvas.toBlob()` that polyfills this. +[canvas-toBlob.js][6] is a cross-browser `canvas.toBlob()` that polyfills this. ![Tracking image](https://in.getclicky.com/212712ns.gif) [1]: http://eligrey.com/demos/FileSaver.js/ - [3]: https://developer.mozilla.org/en-US/docs/DOM/Blob - [4]: https://github.com/eligrey/Blob.js - [5]: https://github.com/eligrey/canvas-toBlob.js + [2]: https://github.com/eligrey/canvas-toBlob.js + [3]: https://code.google.com/p/chromium/codesearch#chromium/src/storage/browser/blob/blob_storage_context.cc&type=cs&sq=package:chromium&l=37&rcl=1418672972 + [4]: https://developer.mozilla.org/en-US/docs/DOM/Blob + [5]: https://github.com/eligrey/Blob.js + [6]: https://github.com/eligrey/canvas-toBlob.js Contributing ------------ diff -r 7d11d49fd355 -r e02e58fc07cf server/python/django/renkanmanager/static/renkanmanager/lib/jquery-ui/jquery-ui.js --- a/server/python/django/renkanmanager/static/renkanmanager/lib/jquery-ui/jquery-ui.js Fri Mar 13 16:36:57 2015 +0100 +++ b/server/python/django/renkanmanager/static/renkanmanager/lib/jquery-ui/jquery-ui.js Fri Mar 13 16:46:38 2015 +0100 @@ -1,7 +1,7 @@ -/*! jQuery UI - v1.11.2 - 2014-10-16 +/*! jQuery UI - v1.11.4 - 2015-03-11 * http://jqueryui.com * Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js -* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ (function( factory ) { if ( typeof define === "function" && define.amd ) { @@ -15,10 +15,10 @@ } }(function( $ ) { /*! - * jQuery UI Core 1.11.2 + * jQuery UI Core 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -30,7 +30,7 @@ $.ui = $.ui || {}; $.extend( $.ui, { - version: "1.11.2", + version: "1.11.4", keyCode: { BACKSPACE: 8, @@ -103,7 +103,7 @@ img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; return !!img && visible( img ); } - return ( /input|select|textarea|button|object/.test( nodeName ) ? + return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? !element.disabled : "a" === nodeName ? element.href || isTabIndexNotNaN : @@ -309,10 +309,10 @@ /*! - * jQuery UI Widget 1.11.2 + * jQuery UI Widget 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -490,11 +490,6 @@ args = widget_slice.call( arguments, 1 ), returnValue = this; - // allow multiple hashes to be passed on init - options = !isMethodCall && args.length ? - $.widget.extend.apply( null, [ options ].concat(args) ) : - options; - if ( isMethodCall ) { this.each(function() { var methodValue, @@ -519,6 +514,12 @@ } }); } else { + + // Allow multiple hashes to be passed on init + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat(args) ); + } + this.each(function() { var instance = $.data( this, fullName ); if ( instance ) { @@ -856,10 +857,10 @@ /*! - * jQuery UI Mouse 1.11.2 + * jQuery UI Mouse 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -873,7 +874,7 @@ }); var mouse = $.widget("ui.mouse", { - version: "1.11.2", + version: "1.11.4", options: { cancel: "input,textarea,button,select,option", distance: 1, @@ -1042,10 +1043,10 @@ /*! - * jQuery UI Position 1.11.2 + * jQuery UI Position 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -1481,12 +1482,12 @@ newOverBottom; if ( overTop < 0 ) { newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; - if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) { + if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { position.top += myOffset + atOffset + offset; } } else if ( overBottom > 0 ) { newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; - if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) { + if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { position.top += myOffset + atOffset + offset; } } @@ -1549,10 +1550,10 @@ /*! - * jQuery UI Accordion 1.11.2 + * jQuery UI Accordion 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -1561,7 +1562,7 @@ var accordion = $.widget( "ui.accordion", { - version: "1.11.2", + version: "1.11.4", options: { active: 0, animate: {}, @@ -2019,7 +2020,10 @@ toHide.attr({ "aria-hidden": "true" }); - toHide.prev().attr( "aria-selected", "false" ); + toHide.prev().attr({ + "aria-selected": "false", + "aria-expanded": "false" + }); // if we're switching panels, remove the old header from the tab order // if we're opening from collapsed state, remove the previous header from the tab order // if we're collapsing, then keep the collapsing header in the tab order @@ -2030,7 +2034,7 @@ }); } else if ( toShow.length ) { this.headers.filter(function() { - return $( this ).attr( "tabIndex" ) === 0; + return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; }) .attr( "tabIndex", -1 ); } @@ -2040,8 +2044,8 @@ .prev() .attr({ "aria-selected": "true", - tabIndex: 0, - "aria-expanded": "true" + "aria-expanded": "true", + tabIndex: 0 }); }, @@ -2049,6 +2053,7 @@ var total, easing, duration, that = this, adjust = 0, + boxSizing = toShow.css( "box-sizing" ), down = toShow.length && ( !toHide.length || ( toShow.index() < toHide.index() ) ), animate = this.options.animate || {}, @@ -2091,7 +2096,9 @@ step: function( now, fx ) { fx.now = Math.round( now ); if ( fx.prop !== "height" ) { - adjust += fx.now; + if ( boxSizing === "content-box" ) { + adjust += fx.now; + } } else if ( that.options.heightStyle !== "content" ) { fx.now = Math.round( total - toHide.outerHeight() - adjust ); adjust = 0; @@ -2119,10 +2126,10 @@ /*! - * jQuery UI Menu 1.11.2 + * jQuery UI Menu 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -2131,7 +2138,7 @@ var menu = $.widget( "ui.menu", { - version: "1.11.2", + version: "1.11.4", defaultElement: "