From 3209e4f838b3b669b055eaf3237b6e8a22bf5fc6 Mon Sep 17 00:00:00 2001 From: Matt Lott Date: Thu, 18 Sep 2014 09:47:29 -0700 Subject: [PATCH 01/31] Add loop statement to JavaScript and Python --- app/assets/lib/ace/mode-javascript.js | 2 +- app/assets/lib/ace/mode-python.js | 2 +- app/lib/aether_utils.coffee | 1 + bower.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/assets/lib/ace/mode-javascript.js b/app/assets/lib/ace/mode-javascript.js index 4623b3578..c444cc0d4 100644 --- a/app/assets/lib/ace/mode-javascript.js +++ b/app/assets/lib/ace/mode-javascript.js @@ -1 +1 @@ -ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_\xa1-\uffff][a-zA-Z\\d\\$_\xa1-\uffff]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file +ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|loop|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_\xa1-\uffff][a-zA-Z\\d\\$_\xa1-\uffff]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}) \ No newline at end of file diff --git a/app/assets/lib/ace/mode-python.js b/app/assets/lib/ace/mode-python.js index 2bda278b8..a72f4d1b0 100644 --- a/app/assets/lib/ace/mode-python.js +++ b/app/assets/lib/ace/mode-python.js @@ -1 +1 @@ -ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./python_highlight_rules").PythonHighlightRules,o=e("./folding/pythonic").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o("\\:")};r.inherits(a,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/python"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|set|apply|delattr|help|next|setattr|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")",m="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qqstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}) \ No newline at end of file +ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("./python_highlight_rules").PythonHighlightRules,o=e("./folding/pythonic").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o("\\:")};r.inherits(a,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[\:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new u(n,r.length-i.length,n,r.length))},this.$id="ace/mode/python"}.call(a.prototype),t.Mode=a}),ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|loop|not|or|pass|print|raise|return|try|while|with|yield",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|set|apply|delattr|help|next|setattr|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"constant.language":t,keyword:e},"identifier"),i="(?:r|u|ur|R|U|UR|Ur|uR)?",s="(?:(?:[1-9]\\d*)|(?:0))",o="(?:0[oO]?[0-7]+)",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:0[bB][01]+)",f="(?:"+s+"|"+o+"|"+u+"|"+a+")",l="(?:[eE][+-]?\\d+)",c="(?:\\.\\d+)",h="(?:\\d+)",p="(?:(?:"+h+"?"+c+")|(?:"+h+"\\.))",d="(?:(?:"+p+"|"+h+")"+l+")",v="(?:"+d+"|"+p+")",m="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"constant.numeric",regex:"(?:"+v+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:v},{token:"constant.numeric",regex:f+"[lL]\\b"},{token:"constant.numeric",regex:f+"\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"}],qqstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:m},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+e+")(?:\\s*)(?:#.*)?$")};r.inherits(s,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=r.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(e,i[1],n,i.index):i[2]?this.indentationBlock(e,n,i.index+i[2].length):this.indentationBlock(e,n)}}.call(s.prototype)}) \ No newline at end of file diff --git a/app/lib/aether_utils.coffee b/app/lib/aether_utils.coffee index ced51981e..0356aa89f 100644 --- a/app/lib/aether_utils.coffee +++ b/app/lib/aether_utils.coffee @@ -10,6 +10,7 @@ module.exports.createAetherOptions = (options) -> protectAPI: not options.skipProtectAPI includeFlow: false yieldConditionally: options.functionName is 'plan' + simpleLoops: true globals: ['Vector', '_'] problems: jshint_W040: {level: 'ignore'} diff --git a/bower.json b/bower.json index c37c71732..5dcb1f801 100644 --- a/bower.json +++ b/bower.json @@ -32,7 +32,7 @@ "firepad": "~0.1.2", "marked": "~0.3.0", "moment": "~2.5.0", - "aether": "~0.2.28", + "aether": "~0.2.32", "underscore.string": "~2.3.3", "firebase": "~1.0.2", "catiline": "~2.9.3", diff --git a/package.json b/package.json index 7bf7b7893..95d305bcd 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "redis": "", "webworker-threads": "~0.4.11", "node-gyp": "~0.13.0", - "aether": "~0.2.28", + "aether": "~0.2.32", "JASON": "~0.1.3", "JQDeferred": "~2.1.0" }, From 8e17a54dc3ac48da4acad493008129bbf65d872d Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Thu, 18 Sep 2014 15:13:09 -0700 Subject: [PATCH 02/31] Fixed not being able to add properties in the Systems tab Treemas. --- app/styles/editor/level/systems-tab-view.sass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/editor/level/systems-tab-view.sass b/app/styles/editor/level/systems-tab-view.sass index 1f7abe54a..a6736c7f5 100644 --- a/app/styles/editor/level/systems-tab-view.sass +++ b/app/styles/editor/level/systems-tab-view.sass @@ -29,7 +29,7 @@ z-index: 10 bottom: -35px - .treema-add-child + > .treema-children > .treema-add-child display: none .treema-children .treema-row * From 8042f27ba78c6339306a9d99f86f7665ae87aa18 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Thu, 18 Sep 2014 15:26:06 -0700 Subject: [PATCH 03/31] Added the rest of the custom TreemaNodes to the SystemsTabView as well. --- app/views/editor/level/LevelEditView.coffee | 2 +- .../level/systems/SystemsTabView.coffee | 27 +++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/views/editor/level/LevelEditView.coffee b/app/views/editor/level/LevelEditView.coffee index b9150d98a..1a5224e64 100644 --- a/app/views/editor/level/LevelEditView.coffee +++ b/app/views/editor/level/LevelEditView.coffee @@ -82,7 +82,7 @@ module.exports = class LevelEditView extends RootView @insertSubView new SettingsTabView supermodel: @supermodel @insertSubView new ScriptsTabView world: @world, supermodel: @supermodel, files: @files @insertSubView new ComponentsTabView supermodel: @supermodel - @insertSubView new SystemsTabView supermodel: @supermodel + @insertSubView new SystemsTabView supermodel: @supermodel, world: @world @insertSubView new RelatedAchievementsView supermodel: @supermodel, level: @level @insertSubView new ComponentsDocumentationView lazy: true # Don't give it the supermodel, it'll pollute it! @insertSubView new SystemsDocumentationView lazy: true # Don't give it the supermodel, it'll pollute it! diff --git a/app/views/editor/level/systems/SystemsTabView.coffee b/app/views/editor/level/systems/SystemsTabView.coffee index 8f7336946..8608578ef 100644 --- a/app/views/editor/level/systems/SystemsTabView.coffee +++ b/app/views/editor/level/systems/SystemsTabView.coffee @@ -5,7 +5,7 @@ LevelSystem = require 'models/LevelSystem' LevelSystemEditView = require './LevelSystemEditView' NewLevelSystemModal = require './NewLevelSystemModal' AddLevelSystemModal = require './AddLevelSystemModal' -{ThangTypeNode} = require './../treema_nodes' +nodes = require '../treema_nodes' module.exports = class SystemsTabView extends CocoView id: 'systems-tab-view' @@ -48,18 +48,41 @@ module.exports = class SystemsTabView extends CocoView systems = @buildDefaultSystems() insertedDefaults = true systems = @getSortedByName systems + thangs = if @level? then @level.get('thangs') else [] + thangIDs = _.filter(_.pluck(thangs, 'id')) + teams = _.filter(_.pluck(thangs, 'team')) + superteams = _.filter(_.pluck(thangs, 'superteam')) + superteams = _.union(teams, superteams) treemaOptions = supermodel: @supermodel schema: Level.schema.properties.systems data: systems readOnly: me.get('anonymous') + world: @options.world + view: @ + thangIDs: thangIDs + teams: teams + superteams: superteams callbacks: change: @onSystemsChanged select: @onSystemSelected nodeClasses: 'level-system': LevelSystemNode 'level-system-configuration': LevelSystemConfigurationNode - 'thang-type': ThangTypeNode # Not until we actually want CocoSprite IndieSprites + 'point2d': nodes.WorldPointNode + 'viewport': nodes.WorldViewportNode + 'bounds': nodes.WorldBoundsNode + 'radians': nodes.RadiansNode + 'team': nodes.TeamNode + 'superteam': nodes.SuperteamNode + 'meters': nodes.MetersNode + 'kilograms': nodes.KilogramsNode + 'seconds': nodes.SecondsNode + 'speed': nodes.SpeedNode + 'acceleration': nodes.AccelerationNode + 'thang-type': nodes.ThangTypeNode + 'item-thang-type': nodes.ItemThangTypeNode + @systemsTreema = @$el.find('#systems-treema').treema treemaOptions @systemsTreema.build() @systemsTreema.open() From 791c23c7e7648f93ff2af4edc374e4fe7ba6c152 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Thu, 18 Sep 2014 16:39:50 -0700 Subject: [PATCH 04/31] Fixed #1573. --- app/templates/docs/components-documentation-view.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/templates/docs/components-documentation-view.jade b/app/templates/docs/components-documentation-view.jade index 6b4eb8169..2a63a4161 100644 --- a/app/templates/docs/components-documentation-view.jade +++ b/app/templates/docs/components-documentation-view.jade @@ -11,7 +11,7 @@ li.list-group-item= component.get('system') + '.' + component.get('name') ul // .list-group for different layout - each doc in component.attributes.propertyDocumentation + each doc in (component.attributes.propertyDocumentation ? component.attributes.propertyDocumentation : []) a(href="##{component.get('name')}#{doc.name}") li.list-group-item | #{doc.name} @@ -24,7 +24,7 @@ div(class="panel-body") | #{component.get('description')} ul - each doc in component.attributes.propertyDocumentation + each doc in (component.attributes.propertyDocumentation ? component.attributes.propertyDocumentation : []) li.list-group-item(id="#{component.get('name')}#{doc.name}") | #{doc.name} ul.special-list From 121ff0a4affc59980915e561536c71bb9ff55f13 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Thu, 18 Sep 2014 18:25:33 -0700 Subject: [PATCH 05/31] Fixed a couple issues with DOM highlight pointer; removed the noise for now. Minor tweaks to the world map view; hiding the items for non-admins for now. --- app/styles/play/world-map-view.sass | 3 ++- app/templates/play/world-map-view.jade | 3 ++- app/views/play/WorldMapView.coffee | 6 +++++- app/views/play/level/PlayLevelView.coffee | 3 ++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/styles/play/world-map-view.sass b/app/styles/play/world-map-view.sass index 94212d574..993e83354 100644 --- a/app/styles/play/world-map-view.sass +++ b/app/styles/play/world-map-view.sass @@ -122,6 +122,7 @@ $gameControlMargin: 40px position: absolute right: 1% bottom: 1% + z-index: 3 button.btn &:not(:first-child) @@ -131,7 +132,7 @@ $gameControlMargin: 40px background: url(/images/pages/play/menu_icons.png) no-repeat background-size: cover @include transition(0.5s ease) - box-shadow: 0 0 0 #bbf + box-shadow: 2px 2px 4px black border: 0 border-radius: 12px diff --git a/app/templates/play/world-map-view.jade b/app/templates/play/world-map-view.jade index bd35f17f3..eb499f937 100644 --- a/app/templates/play/world-map-view.jade +++ b/app/templates/play/world-map-view.jade @@ -27,7 +27,8 @@ .campaign-label(style="color: #{campaign.color}")= campaign.name .game-controls - button.btn.items(data-toggle='coco-modal', data-target='play/modal/PlayItemsModal', data-i18n="[title]play.items") + if me.isAdmin() + button.btn.items(data-toggle='coco-modal', data-target='play/modal/PlayItemsModal', data-i18n="[title]play.items") button.btn.heroes(data-toggle='coco-modal', data-target='play/modal/PlayHeroesModal', data-i18n="[title]play.heroes") button.btn.achievements(data-toggle='coco-modal', data-target='play/modal/PlayAchievementsModal', data-i18n="[title]play.achievements") button.btn.account(data-toggle='coco-modal', data-target='play/modal/PlayAccountModal', data-i18n="[title]play.account") diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee index a73108f04..08c09d8f0 100644 --- a/app/views/play/WorldMapView.coffee +++ b/app/views/play/WorldMapView.coffee @@ -12,7 +12,7 @@ class LevelSessionsCollection extends CocoCollection super() @url = "/db/user/#{me.id}/level.sessions?project=state.complete,levelID" -module.exports = class MainPlayView extends RootView +module.exports = class WorldMapView extends RootView id: 'world-map-view' template: template @@ -32,6 +32,10 @@ module.exports = class MainPlayView extends RootView @getLevelPlayCounts() $(window).on 'resize', @onWindowResize + destroy: -> + $(window).off 'resize', @onWindowResize + super() + getLevelPlayCounts: -> success = (levelPlayCounts) => return if @destroyed diff --git a/app/views/play/level/PlayLevelView.coffee b/app/views/play/level/PlayLevelView.coffee index fafe1db1d..0e594cfda 100644 --- a/app/views/play/level/PlayLevelView.coffee +++ b/app/views/play/level/PlayLevelView.coffee @@ -383,6 +383,7 @@ module.exports = class PlayLevelView extends RootView onWindowResize: (s...) -> $('#pointer').css('opacity', 0.0) + clearInterval(@pointerInterval) onDisableControls: (e) -> return if e.controls and not ('level' in e.controls) @@ -505,7 +506,7 @@ module.exports = class PlayLevelView extends RootView pointer = $('#pointer') pointer.css('transition', 'all 0.6s ease-out') pointer.css('transform', "rotate(#{@pointerRotation}rad) translate(-3px, #{@pointerRadialDistance-50}px)") - Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'dom_highlight', volume: 0.75 + #Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'dom_highlight', volume: 0.75 # Never mind, this is currently so annoying setTimeout((=> pointer.css('transform', "rotate(#{@pointerRotation}rad) translate(-3px, #{@pointerRadialDistance}px)").css('transition', 'all 0.4s ease-in')), 800) From b9a511155e0ba29caf8af28f0bfdebf0fd213cbb Mon Sep 17 00:00:00 2001 From: David Beckley Date: Fri, 19 Sep 2014 02:26:18 -0700 Subject: [PATCH 06/31] Remove sendUnauthorizedError, as it merely returned the same value (HTTP 403) as sendForbiddenError --- .../achievements/achievement_handler.coffee | 4 +-- server/commons/Handler.coffee | 25 +++++++++---------- server/levels/level_handler.coffee | 2 +- .../sessions/level_session_handler.coffee | 2 +- server/patches/patch_handler.coffee | 6 ++--- server/users/user_handler.coffee | 12 ++++----- 6 files changed, 25 insertions(+), 26 deletions(-) diff --git a/server/achievements/achievement_handler.coffee b/server/achievements/achievement_handler.coffee index 211068bd1..3b9833836 100644 --- a/server/achievements/achievement_handler.coffee +++ b/server/achievements/achievement_handler.coffee @@ -16,7 +16,7 @@ class AchievementHandler extends Handler get: (req, res) -> # /db/achievement?related= if req.query.related - return @sendUnauthorizedError(res) if not @hasAccess(req) + return @sendForbiddenError(res) if not @hasAccess(req) Achievement.find {related: req.query.related}, (err, docs) => return @sendDatabaseError(res, err) if err docs = (@formatEntity(req, doc) for doc in docs) @@ -25,7 +25,7 @@ class AchievementHandler extends Handler super req, res delete: (req, res, slugOrID) -> - return @sendUnauthorizedError res unless req.user?.isAdmin() + return @sendForbiddenError res unless req.user?.isAdmin() @getDocumentForIdOrSlug slugOrID, (err, document) => # Check first return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless document? diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee index aea9810c1..f8392cf6e 100644 --- a/server/commons/Handler.coffee +++ b/server/commons/Handler.coffee @@ -55,7 +55,6 @@ module.exports = class Handler props # sending functions - sendUnauthorizedError: (res) -> errors.forbidden(res) #TODO: rename sendUnauthorizedError to sendForbiddenError sendForbiddenError: (res) -> errors.forbidden(res) sendNotFoundError: (res, message) -> errors.notFound(res, message) sendMethodNotAllowed: (res, message) -> errors.badMethod(res, @allowedMethods, message) @@ -86,7 +85,7 @@ module.exports = class Handler # generic handlers get: (req, res) -> - @sendUnauthorizedError(res) if not @hasAccess(req) + @sendForbiddenError(res) if not @hasAccess(req) specialParameters = ['term', 'project', 'conditions'] @@ -150,16 +149,16 @@ module.exports = class Handler @sendSuccess(res, documents) # regular users are only allowed text searches for now, without any additional filters or sorting else - return @sendUnauthorizedError(res) + return @sendForbiddenError(res) getById: (req, res, id) -> # return @sendNotFoundError(res) # for testing - return @sendUnauthorizedError(res) unless @hasAccess(req) + return @sendForbiddenError(res) unless @hasAccess(req) @getDocumentForIdOrSlug id, (err, document) => return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless document? - return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, document) + return @sendForbiddenError(res) unless @hasAccessToDocument(req, document) @sendSuccess(res, @formatEntity(req, document)) getByRelationship: (req, res, args...) -> @@ -211,7 +210,7 @@ module.exports = class Handler setWatching: (req, res, id) -> @getDocumentForIdOrSlug id, (err, document) => - return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, document, 'get') + return @sendForbiddenError(res) unless @hasAccessToDocument(req, document, 'get') return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless document? watchers = document.get('watchers') or [] @@ -263,7 +262,7 @@ module.exports = class Handler args.push projection @modelClass.findOne(args...).sort(sort).exec (err, doc) => return @sendNotFoundError(res) unless doc? - return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, doc) + return @sendForbiddenError(res) unless @hasAccessToDocument(req, doc) res.send(doc) res.end() @@ -273,12 +272,12 @@ module.exports = class Handler put: (req, res, id) -> return @postNewVersion(req, res) if @modelClass.schema.uses_coco_versions return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body) - return @sendUnauthorizedError(res) unless @hasAccess(req) + return @sendForbiddenError(res) unless @hasAccess(req) @getDocumentForIdOrSlug req.body._id or id, (err, document) => return @sendBadInputError(res, 'Bad id.') if err and err.name is 'CastError' return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless document? - return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, document) + return @sendForbiddenError(res) unless @hasAccessToDocument(req, document) @doWaterfallChecks req, document, (err, document) => return @sendError(res, err.code, err.res) if err @saveChangesToDocument req, document, (err) => @@ -295,7 +294,7 @@ module.exports = class Handler return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body) return @sendBadInputError(res, 'id should not be included.') if req.body._id - return @sendUnauthorizedError(res) unless @hasAccess(req) + return @sendForbiddenError(res) unless @hasAccess(req) document = @makeNewInstance(req) @saveChangesToDocument req, document, (err) => return @sendBadInputError(res, err.errors) if err?.valid is false @@ -314,7 +313,7 @@ module.exports = class Handler postFirstVersion: (req, res) -> return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body) return @sendBadInputError(res, 'id should not be included.') if req.body._id - return @sendUnauthorizedError(res) unless @hasAccess(req) + return @sendForbiddenError(res) unless @hasAccess(req) document = @makeNewInstance(req) document.set('original', document._id) document.set('creator', req.user._id) @@ -337,12 +336,12 @@ module.exports = class Handler """ return @sendBadInputError(res, 'This entity is not versioned') unless @modelClass.schema.uses_coco_versions return @sendBadInputError(res, 'No input.') if _.isEmpty(req.body) - return @sendUnauthorizedError(res) unless @hasAccess(req) + return @sendForbiddenError(res) unless @hasAccess(req) @getDocumentForIdOrSlug req.body._id, (err, parentDocument) => return @sendBadInputError(res, 'Bad id.') if err and err.name is 'CastError' return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless parentDocument? - return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, parentDocument) + return @sendForbiddenError(res) unless @hasAccessToDocument(req, parentDocument) editableProperties = @getEditableProperties req, parentDocument updatedObject = parentDocument.toObject() for prop in editableProperties diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index f51f6574f..c97c3d7fc 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -50,7 +50,7 @@ LevelHandler = class LevelHandler extends Handler @getDocumentForIdOrSlug id, (err, level) => return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless level? - return @sendUnauthorizedError(res) unless @hasAccessToDocument(req, level, 'get') + return @sendForbiddenError(res) unless @hasAccessToDocument(req, level, 'get') callback err, level getSession: (req, res, id) -> diff --git a/server/levels/sessions/level_session_handler.coffee b/server/levels/sessions/level_session_handler.coffee index 7d7e2886d..7e94efcaf 100644 --- a/server/levels/sessions/level_session_handler.coffee +++ b/server/levels/sessions/level_session_handler.coffee @@ -20,7 +20,7 @@ class LevelSessionHandler extends Handler return _.omit documentObject, @privateProperties getActiveSessions: (req, res) -> - return @sendUnauthorizedError(res) unless req.user.isAdmin() + return @sendForbiddenError(res) unless req.user.isAdmin() start = new Date() start = new Date(start.getTime() - TIMEOUT) query = @modelClass.find({'changed': {$gt: start}}) diff --git a/server/patches/patch_handler.coffee b/server/patches/patch_handler.coffee index fd316ce4b..3a6cd4ff7 100644 --- a/server/patches/patch_handler.coffee +++ b/server/patches/patch_handler.coffee @@ -42,13 +42,13 @@ PatchHandler = class PatchHandler extends Handler targetModel.findOne(query).sort(sort).exec (err, target) => return @sendDatabaseError(res, err) if err return @sendNotFoundError(res) unless target? - return @sendUnauthorizedError(res) unless targetHandler.hasAccessToDocument(req, target, 'get') + return @sendForbiddenError(res) unless targetHandler.hasAccessToDocument(req, target, 'get') if newStatus in ['rejected', 'accepted'] - return @sendUnauthorizedError(res) unless targetHandler.hasAccessToDocument(req, target, 'put') + return @sendForbiddenError(res) unless targetHandler.hasAccessToDocument(req, target, 'put') if newStatus is 'withdrawn' - return @sendUnauthorizedError(res) unless req.user.get('_id').equals patch.get('creator') + return @sendForbiddenError(res) unless req.user.get('_id').equals patch.get('creator') patch.set 'status', newStatus diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index 40eed11ea..3e106e081 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -193,7 +193,7 @@ UserHandler = class UserHandler extends Handler super(arguments...) agreeToCLA: (req, res) -> - return @sendUnauthorizedError(res) unless req.user + return @sendForbiddenError(res) unless req.user doc = user: req.user._id+'' email: req.user.get 'email' @@ -224,7 +224,7 @@ UserHandler = class UserHandler extends Handler res.end() getLevelSessionsForEmployer: (req, res, userID) -> - return @sendUnauthorizedError(res) unless req.user._id+'' is userID or req.user.isAdmin() or ('employer' in (req.user.get('permissions') ? [])) + return @sendForbiddenError(res) unless req.user._id+'' is userID or req.user.isAdmin() or ('employer' in (req.user.get('permissions') ? [])) query = creator: userID, levelID: {$in: ['gridmancer', 'greed', 'dungeon-arena', 'brawlwood', 'gold-rush']} projection = 'levelName levelID team playtime codeLanguage submitted code totalScore teamSpells level' LevelSession.find(query).select(projection).exec (err, documents) => @@ -281,7 +281,7 @@ UserHandler = class UserHandler extends Handler isMe = userID is req.user._id + '' isAuthorized = isMe or req.user.isAdmin() isAuthorized ||= ('employer' in (req.user.get('permissions') ? [])) and (activityName in ['viewed_by_employer', 'contacted_by_employer']) - return @sendUnauthorizedError res unless isAuthorized + return @sendForbiddenError res unless isAuthorized updateUser = (user) => activity = user.trackActivity activityName, increment user.update {activity: activity}, (err) => @@ -356,7 +356,7 @@ UserHandler = class UserHandler extends Handler true getEmployers: (req, res) -> - return @sendUnauthorizedError(res) unless req.user.isAdmin() + return @sendForbiddenError(res) unless req.user.isAdmin() query = {employerAt: {$exists: true, $ne: ''}} selection = 'name firstName lastName email activity signedEmployerAgreement photoURL employerAt' User.find(query).select(selection).lean().exec (err, documents) => @@ -379,7 +379,7 @@ UserHandler = class UserHandler extends Handler hash.digest('hex') getRemark: (req, res, userID) -> - return @sendUnauthorizedError(res) unless req.user.isAdmin() + return @sendForbiddenError(res) unless req.user.isAdmin() query = user: userID projection = null if req.query.project @@ -392,7 +392,7 @@ UserHandler = class UserHandler extends Handler searchForUser: (req, res) -> # TODO: also somehow search the CLAs to find a match amongst those fields and to find GitHub ids - return @sendUnauthorizedError(res) unless req.user.isAdmin() + return @sendForbiddenError(res) unless req.user.isAdmin() search = req.body.search query = email: {$exists: true}, $or: [ {emailLower: search} From 527c1ed79d761c94d32888f5e35175761fd0cdeb Mon Sep 17 00:00:00 2001 From: David Beckley Date: Fri, 19 Sep 2014 03:52:34 -0700 Subject: [PATCH 07/31] Fix issue #8 --- server/levels/level_handler.coffee | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index f51f6574f..905d007d9 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -308,5 +308,8 @@ LevelHandler = class LevelHandler extends Handler @playCountCache[cacheKey] = data @sendSuccess res, data + hasAccessToDocument: (req, document, method=null) -> + return true if method == null or method == 'get' + super(req, document, method) module.exports = new LevelHandler() From 6a5f8b810b1e938eca3d7b8c1cce043a39c97f15 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 19 Sep 2014 08:11:08 -0700 Subject: [PATCH 08/31] Fixed an issue with infinite loops polling workers who weren't working. --- app/lib/Angel.coffee | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/lib/Angel.coffee b/app/lib/Angel.coffee index 84a5dbf80..b4092c75f 100644 --- a/app/lib/Angel.coffee +++ b/app/lib/Angel.coffee @@ -143,6 +143,9 @@ module.exports = class Angel extends CocoClass @deserializationQueue = [] @running = false _.remove @shared.busyAngels, @ + clearTimeout @condemnTimeout + clearInterval @purgatoryTimer + @condemnTimeout = @purgatoryTimer = null @doWork() finalizePreload: -> From d610b1633f0a71e7e2f1596d8dc5e2ef1337ab4b Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 19 Sep 2014 08:17:30 -0700 Subject: [PATCH 09/31] A bit more CoffeeScripty on the style. Fixes #1558. --- server/levels/level_handler.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee index 905d007d9..14c9057d8 100644 --- a/server/levels/level_handler.coffee +++ b/server/levels/level_handler.coffee @@ -309,7 +309,7 @@ LevelHandler = class LevelHandler extends Handler @sendSuccess res, data hasAccessToDocument: (req, document, method=null) -> - return true if method == null or method == 'get' + return true if method is null or method is 'get' super(req, document, method) module.exports = new LevelHandler() From ec21637adfc393c092ea53e509987d2c8f305af4 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 19 Sep 2014 11:03:38 -0700 Subject: [PATCH 10/31] Showing the new hero levels instead of the old campaign levels on the /play-hero map. --- app/styles/mixins.sass | 14 ++ app/styles/play/level/tome/cast_button.sass | 16 +- app/styles/play/modal/play-level-modal.sass | 4 + app/styles/play/world-map-view.sass | 45 +++- .../play/modal/play-level-modal.jade | 11 + app/templates/play/world-map-view.jade | 9 +- app/views/play/WorldMapView.coffee | 206 +++++++++++++++++- app/views/play/modal/PlayLevelModal.coffee | 42 ++++ 8 files changed, 312 insertions(+), 35 deletions(-) create mode 100644 app/styles/play/modal/play-level-modal.sass create mode 100644 app/templates/play/modal/play-level-modal.jade create mode 100644 app/views/play/modal/PlayLevelModal.coffee diff --git a/app/styles/mixins.sass b/app/styles/mixins.sass index 4ce11a4fe..160178cef 100644 --- a/app/styles/mixins.sass +++ b/app/styles/mixins.sass @@ -38,3 +38,17 @@ background-image: none @include opacity(0.65) @include box-shadow(none) + +// keyframes mixin from https://gist.github.com/ericam/1607696 +=keyframes($name) + @-webkit-keyframes #{$name} + @content + @-moz-keyframes #{$name} + @content + @-ms-keyframes #{$name} + @content + @-o-keyframes #{$name} + @content + @keyframes #{$name} + @content + diff --git a/app/styles/play/level/tome/cast_button.sass b/app/styles/play/level/tome/cast_button.sass index 38e71cc3d..604b67d33 100644 --- a/app/styles/play/level/tome/cast_button.sass +++ b/app/styles/play/level/tome/cast_button.sass @@ -1,17 +1,5 @@ -@import "../../../bootstrap/mixins" - -// keyframes mixin from https://gist.github.com/ericam/1607696 -=keyframes($name) - @-webkit-keyframes #{$name} - @content - @-moz-keyframes #{$name} - @content - @-ms-keyframes #{$name} - @content - @-o-keyframes #{$name} - @content - @keyframes #{$name} - @content +@import "app/styles/bootstrap/mixins" +@import "app/styles/mixins" +keyframes(castablePulse) from diff --git a/app/styles/play/modal/play-level-modal.sass b/app/styles/play/modal/play-level-modal.sass new file mode 100644 index 000000000..b50637c5c --- /dev/null +++ b/app/styles/play/modal/play-level-modal.sass @@ -0,0 +1,4 @@ +#play-level-modal + h3 + color: black + diff --git a/app/styles/play/world-map-view.sass b/app/styles/play/world-map-view.sass index 993e83354..a8fc10766 100644 --- a/app/styles/play/world-map-view.sass +++ b/app/styles/play/world-map-view.sass @@ -1,5 +1,6 @@ @import "app/styles/bootstrap/mixins" @import "app/styles/bootstrap/variables" +@import "app/styles/mixins" $forestMapWidth: 2500 $forestMapHeight: 1536 @@ -14,13 +15,23 @@ $levelClickRadius: 40px $gameControlSize: 80px $gameControlMargin: 40px ++keyframes(levelStartedPulse) + from + @include box-shadow(0px 0px 4px #333) + margin-bottom: -$levelDotHeight / 3 + $levelDotZ + 50% + @include box-shadow(0px 0px 22px skyblue) + margin-bottom: -$levelDotHeight / 3 + ($levelDotHoverZ + $levelDotZ) / 2 + to + @include box-shadow(0px 0px 4px #333) + margin-bottom: -$levelDotHeight / 3 + $levelDotZ + #world-map-view width: 100% height: 100% background-color: $forestMapSeaBackground .map - //background: white url("/images/pages/play/map_forest.jpg") no-repeat center center position: relative .map-background @@ -44,12 +55,26 @@ $gameControlMargin: 40px &.disabled opacity: 0.7 - &.first + &.next width: 2 * $levelDotWidth height: 2 * $levelDotHeight margin-left: -0.5 * 2 * $levelDotWidth margin-bottom: -2 * $levelDotHeight / 3 + 2 * $levelDotZ + &.started, &.next + border: 3px solid lightgreen + @include box-shadow(0px 0px 35px skyblue) + + // Would be cool, but kills performance, since we have to re-render all the time. + //&:not(:hover) + // -webkit-animation-name: levelStartedPulse + // -webkit-animation-duration: 3s + // -webkit-animation-iteration-count: infinite + + &.complete + border: 3px solid gold + @include box-shadow(0px 0px 35px skyblue) + .level-shadow z-index: 1 width: $levelDotShadowWidth @@ -57,10 +82,10 @@ $gameControlMargin: 40px margin-left: -0.5 * $levelDotShadowWidth margin-bottom: -$levelDotShadowHeight / 3 background-color: black - box-shadow: 0px 0px 10px black + @include box-shadow(0px 0px 10px black) @include opacity(0.75) - &.first + &.next width: 2 * $levelDotShadowWidth height: 2 * $levelDotShadowHeight margin-left: -0.5 * 2 * $levelDotShadowWidth @@ -68,6 +93,10 @@ $gameControlMargin: 40px .level:hover margin-bottom: -$levelDotHeight / 3 + $levelDotHoverZ + @include box-shadow(0px 0px 35px skyblue) + + &.next + margin-bottom: -2 * $levelDotHeight / 3 + 2 * $levelDotHoverZ .level a @@ -77,7 +106,7 @@ $gameControlMargin: 40px margin-top: -0.5 * $levelClickRadius border-radius: $levelClickRadius - &.first a + &.next a padding: 2 * $levelClickRadius margin-left: 2 * -0.5 * $levelClickRadius margin-top: 2 * -0.5 * $levelClickRadius @@ -132,15 +161,15 @@ $gameControlMargin: 40px background: url(/images/pages/play/menu_icons.png) no-repeat background-size: cover @include transition(0.5s ease) - box-shadow: 2px 2px 4px black + @include box-shadow(2px 2px 4px black) border: 0 border-radius: 12px &:hover - box-shadow: 0 0 12px #bbf + @include box-shadow(0 0 12px #bbf) &:active - box-shadow: 0 0 20px white + @include box-shadow(0 0 20px white) &.heroes background-position-x: -1 * $gameControlSize diff --git a/app/templates/play/modal/play-level-modal.jade b/app/templates/play/modal/play-level-modal.jade new file mode 100644 index 000000000..a0458ddb4 --- /dev/null +++ b/app/templates/play/modal/play-level-modal.jade @@ -0,0 +1,11 @@ +extends /templates/modal/modal_base + +block modal-header-content + h3(data-i18n="play.todotodotodo") Play the Level Man: #{levelName} at #{levelPath}/#{levelID} + +block modal-body-content + p TODO: show dat hero selection view + + #choose-hero-view + + #inventory-view diff --git a/app/templates/play/world-map-view.jade b/app/templates/play/world-map-view.jade index eb499f937..4c4141655 100644 --- a/app/templates/play/world-map-view.jade +++ b/app/templates/play/world-map-view.jade @@ -1,11 +1,14 @@ .map img.map-background(src="/images/pages/play/map_forest.jpg", alt="") + - var seenNext = false; each campaign in campaigns each level in campaign.levels - div(style="left: #{level.x}%; bottom: #{level.y}%; background-color: #{campaign.color}", class="level" + (level.first ? " first" : "") + (level.disabled ? " disabled" : ""), data-level-id=level.id) - a(href=level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled, class=levelStatusMap[level.id] || "") - div(style="left: #{level.x}%; bottom: #{level.y}%", class="level-shadow" + (level.first ? " first" : "")) + - var next = !seenNext && levelStatusMap[level.id] != "complete"; + - seenNext = seenNext || next; + div(style="left: #{level.x}%; bottom: #{level.y}%; background-color: #{campaign.color}", class="level" + (next ? " next" : "") + (level.disabled ? " disabled" : "") + " " + levelStatusMap[level.id] || "", data-level-id=level.id) + a(href=level.type == 'hero' ? '#' : level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled, data-level-id=level.id, data-level-path=level.levelPath || 'level', data-level-name=level.name) + div(style="left: #{level.x}%; bottom: #{level.y}%", class="level-shadow" + (next ? " next" : "") + " " + levelStatusMap[level.id] || "") .level-info-container(data-level-id=level.id) if level.image img.level-image(src="#{level.image}", alt="#{level.name}") diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee index 08c09d8f0..9701937aa 100644 --- a/app/views/play/WorldMapView.coffee +++ b/app/views/play/WorldMapView.coffee @@ -3,6 +3,7 @@ template = require 'templates/play/world-map-view' LevelSession = require 'models/LevelSession' CocoCollection = require 'collections/CocoCollection' AudioPlayer = require 'lib/AudioPlayer' +PlayLevelModal = require 'views/play/modal/PlayLevelModal' class LevelSessionsCollection extends CocoCollection url: '' @@ -18,7 +19,7 @@ module.exports = class WorldMapView extends RootView events: 'click .map': 'onClickMap' - 'click .game-controls button': 'onClickGameControl' + 'click .level a': 'onClickLevel' 'mouseenter .level a': 'onMouseEnterLevel' 'mouseleave .level a': 'onMouseLeaveLevel' 'mousemove .map': 'onMouseMoveMap' @@ -82,8 +83,9 @@ module.exports = class WorldMapView extends RootView y = (1 - e.offsetY / @$el.find('.map-background').height()) console.log " x: #{(100 * x).toFixed(2)}\n y: #{(100 * y).toFixed(2)}\n" - onClickGameControl: (e) -> - + onClickLevel: (e) -> + playLevelModal = new PlayLevelModal supermodel: @options.supermodel, levelID: $(e.target).data('level-id'), levelPath: $(e.target).data('level-path'), levelName: $(e.target).data('level-name') + @openModalView playLevelModal onMouseEnterLevel: (e) -> levelID = $(e.target).parents('.level').data('level-id') @@ -137,7 +139,6 @@ tutorials = [ id: 'rescue-mission' image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png' description: 'Tharin has been captured! Start here.' - first: true x: 17.23 y: 36.94 } @@ -467,10 +468,195 @@ playerCreated = [ } ] -campaigns = [ - {id: 'beginner', name: 'Beginner Campaign', description: '... in which you learn the wizardry of programming.', levels: tutorials, color: "rgb(255, 80, 60)"} - {id: 'multiplayer', name: 'Multiplayer Arenas', description: '... in which you code head-to-head against other players.', levels: arenas, color: "rgb(80, 5, 60)"} - {id: 'dev', name: 'Random Harder Levels', description: '... in which you learn the interface while doing something a little harder.', levels: experienced, color: "rgb(80, 60, 255)"} - {id: 'classic' ,name: 'Classic Algorithms', description: '... in which you learn the most popular algorithms in Computer Science.', levels: classicAlgorithms, color: "rgb(110, 80, 120)"} - {id: 'player_created', name: 'Player-Created', description: '... in which you battle against the creativity of your fellow Artisan Wizards.', levels: playerCreated, color: "rgb(160, 160, 180)"} +hero = [ + { + name: 'Dungeons of Kithgard' + type: 'hero' + difficulty: 1 + id: 'dungeons-of-kithgard' + image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png' + description: 'Grab the gem, but touch nothing else. Start here.' + x: 17.23 + y: 36.94 + } + { + name: 'Gems in the Deep' + type: 'hero' + difficulty: 1 + id: 'gems-in-the-deep' + image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png' + description: 'Quickly collect the gems; you will need them.' + x: 22.6 + y: 35.1 + } + { + name: 'Shadow Guard' + type: 'hero' + difficulty: 1 + id: 'shadow-guard' + image: '/file/db/level/525dc5589a0765e496000006/drink_me_icon.png' + description: 'Evade the Kithgard minion.' + x: 27.74 + y: 35.17 + } + { + name: 'True Names' + type: 'hero' + difficulty: 1 + id: 'true-names' + image: '/file/db/level/5276c9bdcf83207a2801ff8f/taunt_icon.png' + description: 'Learn an enemy\'s true name to defeat it.' + x: 32.7 + y: 36.7 + } + { + name: 'The Raised Sword' + type: 'hero' + difficulty: 1 + id: 'the-raised-sword' + image: '/file/db/level/528aea2d7f37fc4e0700016b/its_a_trap_icon.png' + description: 'Learn to equip yourself for combat.' + x: 36.6 + y: 39.5 + } + { + name: 'The First Kithmaze' + type: 'hero' + difficulty: 1 + id: 'the-first-kithmaze' + image: '/file/db/level/5275272c69abdcb12401216e/break_the_prison_icon.png' + description: 'The builders of Kith constructed many mazes to confuse travelers.' + x: 38.4 + y: 43.5 + } + { + name: 'The Second Kithmaze' + type: 'hero' + difficulty: 1 + id: 'the-second-kithmaze' + image: '/file/db/level/525f150306e1ab0962000018/taunt_icon.png' + description: 'Many have tried, few have found their way through this maze.' + x: 38.9 + y: 48.1 + } + { + name: 'New Sight' + type: 'hero' + difficulty: 1 + id: 'new-sight' + image: '/file/db/level/525abfd9b12777d78e000009/cowardly_taunt_icon.png' + description: 'A true name can only be seen with the correct lenses.' + x: 39.3 + y: 53.1 + } + { + name: 'Lowest Kithmen' + type: 'hero' + difficulty: 1 + id: 'lowest-kithguards' + image: '/file/db/level/525ef8ef06e1ab0962000003/commanding_followers_icon.png' + description: 'Use your glasses to seek out and attack the Kithmen.' + x: 39.4 + y: 57.7 + } + { + name: 'A Bolt in the Dark' + type: 'hero' + difficulty: 1 + id: 'a-bolt-in-the-dark' + image: '/file/db/level/525085419851b83f4b000001/mobile_artillery_icon.png' + description: 'Kithmen are not the only ones to stand in your way.' + x: 40.0 + y: 63.2 + } + { + name: 'The Final Kithmaze' + type: 'hero' + difficulty: 2 + id: 'the-final-kithmaze' + image: '/file/db/level/526bda3fe79aefde2a003e36/mobile_artillery_icon.png' + description: 'To escape you must find your way through an Elder Kithman\'s maze.' + x: 42.67 + y: 67.98 + } + { + name: 'Kithgard Gates' + type: 'hero' + difficulty: 1 + id: 'kithgard-gates' + image: '/file/db/level/526fd3043c637ece50001bb2/the_herd_icon.png' + description: 'Board up Kithguard and escape into the forest.' + x: 47.38 + y: 70.55 + } + { + name: 'Defence of Plainswood' + type: 'hero' + difficulty: 1 + id: 'defence-of-plainswood' + image: '/file/db/level/525dc5589a0765e496000006/drink_me_icon.png' + description: 'Protect the peasants from the pursuing ogres.' + x: 52.66 + y: 69.66 + } + #{ + # name: '' + # type: 'hero' + # difficulty: 1 + # id: '' + # image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png' + # description: '' + # x: 58.46 + # y: 66.38 + # } + #{ + # name: '' + # type: 'hero' + # difficulty: 1 + # id: '' + # image: '/file/db/level/526ae95c1e5cd30000000008/zone_of_danger_icon.png' + # description: '' + # x: 63.11 + # y: 62.74 + # } + #{ + # name: '' + # type: 'hero' + # difficulty: 1 + # id: '' + # image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png' + # description: '' + # x: 69.19 + # y: 60.61 + # } + #{ + # name: '' + # type: 'hero' + # difficulty: 1 + # id: '' + # image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png' + # description: '' + # x: 77.54 + # y: 65.94 + #} + #{ + # name: '' + # type: 'hero' + # difficulty: 1 + # id: '' + # image: '/file/db/level/526711d9add4f8965f000002/hunter_triplets_icon.png' + # description: '' + # x: 84.29 + # y: 61.23 + #} + +] + +campaigns = [ + #{id: 'beginner', name: 'Beginner Campaign', description: '... in which you learn the wizardry of programming.', levels: tutorials, color: "rgb(255, 80, 60)"} + #{id: 'multiplayer', name: 'Multiplayer Arenas', description: '... in which you code head-to-head against other players.', levels: arenas, color: "rgb(80, 5, 60)"} + #{id: 'dev', name: 'Random Harder Levels', description: '... in which you learn the interface while doing something a little harder.', levels: experienced, color: "rgb(80, 60, 255)"} + #{id: 'classic' ,name: 'Classic Algorithms', description: '... in which you learn the most popular algorithms in Computer Science.', levels: classicAlgorithms, color: "rgb(110, 80, 120)"} + #{id: 'player_created', name: 'Player-Created', description: '... in which you battle against the creativity of your fellow Artisan Wizards.', levels: playerCreated, color: "rgb(160, 160, 180)"} + {id: 'beginner', name: 'Beginner Campaign', levels: hero, color: 'rgb(255, 80, 60)'} ] diff --git a/app/views/play/modal/PlayLevelModal.coffee b/app/views/play/modal/PlayLevelModal.coffee new file mode 100644 index 000000000..f978fac95 --- /dev/null +++ b/app/views/play/modal/PlayLevelModal.coffee @@ -0,0 +1,42 @@ +ModalView = require 'views/kinds/ModalView' +template = require 'templates/play/modal/play-level-modal' +ChooseHeroView = require 'views/game-menu/ChooseHeroView' +InventoryView = require 'views/game-menu/InventoryView' + +module.exports = class PlayLevelModal extends ModalView + className: 'modal fade play-modal' + template: template + modalWidthPercent: 90 + id: 'play-level-modal' + #instant: true + + #events: + # 'change input.select': 'onSelectionChanged' + + constructor: (options) -> + super options + @options.showDevBits = true + + getRenderData: (context={}) -> + context = super(context) + context.levelID = @options.levelID + context.levelPath = @options.levelPath + context.levelName = @options.levelName + context + + afterRender: -> + super() + return unless @supermodel.finished() + Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'game-menu-open', volume: 1 + @addChooseHeroView() + @addInventoryView() + + onHidden: -> + super() + Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'game-menu-close', volume: 1 + + addChooseHeroView: -> + @insertSubView new ChooseHeroView @options + + addInventoryView: -> + @insertSubView new InventoryView @options From bb8f5c41ba02daf35fb9b95b77861bc2838777cf Mon Sep 17 00:00:00 2001 From: keenanjohnson Date: Fri, 19 Sep 2014 13:25:48 -0500 Subject: [PATCH 11/31] #53 Adding more names --- app/lib/world/names.coffee | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/lib/world/names.coffee b/app/lib/world/names.coffee index 46413cbcc..38679fcfd 100644 --- a/app/lib/world/names.coffee +++ b/app/lib/world/names.coffee @@ -318,7 +318,7 @@ module.exports.thangNames = thangNames = 'Griffin Rider': [ 'Aeoldan' 'Bestarius' - + 'Letholdus' ] 'Potion Master': [ 'Snake' @@ -373,4 +373,6 @@ module.exports.thangNames = thangNames = 'Lia' 'Hardcastle' 'Leona' + 'Jarin' + 'Helena' ] From 43d027df455e34023ee3549807e7a4d5e94bf846 Mon Sep 17 00:00:00 2001 From: George Litos Date: Fri, 19 Sep 2014 23:37:16 +0300 Subject: [PATCH 12/31] Update el.coffee typographic and grammatical errors fix --- app/locale/el.coffee | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/locale/el.coffee b/app/locale/el.coffee index 8b57c8dff..f73a02657 100644 --- a/app/locale/el.coffee +++ b/app/locale/el.coffee @@ -1,12 +1,12 @@ -module.exports = nativeDescription: "ελληνικά", englishDescription: "Greek", translation: +module.exports = nativeDescription: "Ελληνικά", englishDescription: "Greek", translation: common: loading: "Φορτώνει..." - saving: "Γίνεται αποθήκευση" - sending: "Αποστολή ..." -# send: "Send" + saving: "Αποθήκευση..." + sending: "Αποστολή..." + send: "Στείλε" cancel: "Ακύρωση" save: "Αποθήκευση" - publish: "Δημοσιοποίηση" + publish: "Δημοσίευση" create: "Δημιουργία" delay_1_sec: "1 δευτερόλεπτο" delay_3_sec: "3 δευτερόλεπτα" @@ -44,22 +44,22 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre nav: play: "Επίπεδα" -# community: "Community" -# editor: "Editor" + community: "Κοινότητα" + editor: "Συγγραφέας" blog: "Μπλόγκ" forum: "Φόρουμ" account: "Λογαριασμός" -# profile: "Profile" -# stats: "Stats" -# code: "Code" + profile: "Προφίλ" + stats: "Στατιστικά" + code: "Κώδικας" admin: "Διαχειριστής" home: "Αρχική" - contribute: "Συμβάλλω" - legal: "Νόμιμο" + contribute: "Συνεισφέρω" + legal: "Νόμικά" about: "Σχετικά με" - contact: "Επικοίνωνω" - twitter_follow: "Follow" -# employers: "Employers" + contact: "Επικοινωνία" + twitter_follow: "Ακολούθησε" + employers: "Εργοδότες" # versions: # save_version_title: "Save New Version" From 71569d61e043fc8fbf9fc97c4dd18f0ea956a41c Mon Sep 17 00:00:00 2001 From: David Beckley Date: Fri, 19 Sep 2014 18:34:11 -0700 Subject: [PATCH 13/31] Fix issue #1472 --- scripts/copy-i18n-tags.coffee | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/copy-i18n-tags.coffee b/scripts/copy-i18n-tags.coffee index c7f49b975..2b234bcee 100644 --- a/scripts/copy-i18n-tags.coffee +++ b/scripts/copy-i18n-tags.coffee @@ -1,5 +1,16 @@ fs = require 'fs' +path = require 'path' en = require('../app/locale/en').translation + +en_source = fs.readFileSync(path.join(__dirname, '../app/locale/en.coffee'), encoding='utf8') +comments_map = {} + +comment_pattern = /^[\s\n]*([^:\n]+):\s*"[^#\n"]+"\s*#(.*)$/gm + +comment = [] +while (comment = comment_pattern.exec en_source)? + comments_map[comment[1]] = comment[2] + dir = fs.readdirSync 'app/locale' for file in dir when not (file in ['locale.coffee', 'en.coffee']) contents = require('../app/locale/' + file) @@ -16,6 +27,9 @@ for file in dir when not (file in ['locale.coffee', 'en.coffee']) tagMissing = not cat[enTag]? tag = (cat[enTag] ?= enString) tag = tag.replace /"/g, '\\"' - lines.push "#{if tagMissing then '#' else ''} #{enTag}: \"#{tag}\"" + comment = "" + comment = " \##{comments_map[enTag]}" if comments_map[enTag]? + + lines.push "#{if tagMissing then '#' else ''} #{enTag}: \"#{tag}\"#{comment}" newContents = lines.join('\n') + '\n' fs.writeFileSync 'app/locale/' + file, newContents From 624684f9c8d27672a5b6a4a1a6d1b459e53e9c9e Mon Sep 17 00:00:00 2001 From: David Beckley Date: Fri, 19 Sep 2014 19:25:33 -0700 Subject: [PATCH 14/31] Try to conform to guidelines --- scripts/copy-i18n-tags.coffee | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/copy-i18n-tags.coffee b/scripts/copy-i18n-tags.coffee index 2b234bcee..92dce432b 100644 --- a/scripts/copy-i18n-tags.coffee +++ b/scripts/copy-i18n-tags.coffee @@ -2,14 +2,14 @@ fs = require 'fs' path = require 'path' en = require('../app/locale/en').translation -en_source = fs.readFileSync(path.join(__dirname, '../app/locale/en.coffee'), encoding='utf8') -comments_map = {} +enSource = fs.readFileSync(path.join(__dirname, '../app/locale/en.coffee'), encoding='utf8') +commentsMap = {} -comment_pattern = /^[\s\n]*([^:\n]+):\s*"[^#\n"]+"\s*#(.*)$/gm +commentPattern = /^[\s\n]*([^:\n]+):\s*"[^#\n"]+"\s*#(.*)$/gm comment = [] -while (comment = comment_pattern.exec en_source)? - comments_map[comment[1]] = comment[2] +while (comment = commentPattern.exec enSource)? + commentsMap[comment[1]] = comment[2] dir = fs.readdirSync 'app/locale' for file in dir when not (file in ['locale.coffee', 'en.coffee']) @@ -28,7 +28,7 @@ for file in dir when not (file in ['locale.coffee', 'en.coffee']) tag = (cat[enTag] ?= enString) tag = tag.replace /"/g, '\\"' comment = "" - comment = " \##{comments_map[enTag]}" if comments_map[enTag]? + comment = " \##{commentsMap[enTag]}" if commentsMap[enTag]? lines.push "#{if tagMissing then '#' else ''} #{enTag}: \"#{tag}\"#{comment}" newContents = lines.join('\n') + '\n' From 81a5b73f93224706be4356dc7c3732eb05a4d95c Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 19 Sep 2014 11:18:33 -0700 Subject: [PATCH 15/31] Fixed a few misc bugs I noticed with the job profiles. --- app/templates/account/profile.jade | 2 +- app/templates/admin/candidates.jade | 8 ++++---- app/views/user/JobProfileView.coffee | 1 + server/users/user_handler.coffee | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/templates/account/profile.jade b/app/templates/account/profile.jade index c18a85917..cba785d15 100644 --- a/app/templates/account/profile.jade +++ b/app/templates/account/profile.jade @@ -192,7 +192,7 @@ block content span= session.levelName if session.team span.spl - #{session.team} - if session.codeLanguage != 'javascript' + if session.codeLanguage && session.codeLanguage != 'javascript' span.spl - #{{coffeescript: 'CoffeeScript', python: 'Python', lua: 'Lua', io: 'Io', clojure: 'Clojure'}[session.codeLanguage]} if !editing && !sessions.length h3(data-i18n="account_profile.player_code") Player Code diff --git a/app/templates/admin/candidates.jade b/app/templates/admin/candidates.jade index 0a2d85f96..c13f34702 100644 --- a/app/templates/admin/candidates.jade +++ b/app/templates/admin/candidates.jade @@ -43,17 +43,17 @@ block content ul.nav.nav-pills li.active a(href="#featured-candidates", data-toggle="tab") - span(data-i18n="employers.featured_developers") Featured Developers + span.spr(data-i18n="employers.featured_developers") Featured Developers | (#{featuredCandidates.length}) if otherCandidates.length li a(href="#other-candidates", data-toggle="tab") - span(data-i18n="employers.other_developers") Other Developers + span.spr(data-i18n="employers.other_developers") Other Developers | (#{otherCandidates.length}) if me.isAdmin() && inactiveCandidates.length li a(href="#inactive-candidates", data-toggle="tab") - span(data-i18n="employers.inactive_developers") Inactive Developers + span.spr(data-i18n="employers.inactive_developers") Inactive Developers | (#{inactiveCandidates.length}) div.tab-content for area, tabIndex in [{id: "featured-candidates", candidates: featuredCandidates}, {id: "other-candidates", candidates: otherCandidates}, {id: "inactive-candidates", candidates: inactiveCandidates}] @@ -74,7 +74,7 @@ block content th ✓? tbody for candidate, index in area.candidates - - var profile = candidate.get('jobProfile'); + - var profile = candidate.get('jobProfile', true); - var authorized = candidate.id; // If we have the id, then we are authorized. - var profileAge = (new Date() - new Date(profile.updated)) / 86400 / 1000; - var expired = profileAge > 2 * 30.4; diff --git a/app/views/user/JobProfileView.coffee b/app/views/user/JobProfileView.coffee index 9edc938fd..c910522fd 100644 --- a/app/views/user/JobProfileView.coffee +++ b/app/views/user/JobProfileView.coffee @@ -85,6 +85,7 @@ module.exports = class JobProfileView extends UserView $.post "/db/user/#{me.id}/track/view_candidate" $.post "/db/user/#{@userID}/track/viewed_by_employer" unless me.isAdmin() @sessions = @supermodel.loadCollection(new LevelSessionsCollection(@userID), 'candidate_sessions').model + @listenToOnce @sessions, 'sync', => @render?() if me.isAdmin() # Mimicking how the VictoryModal fetches LevelFeedback @remark = new UserRemark() diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee index 3e106e081..25f1335a3 100644 --- a/server/users/user_handler.coffee +++ b/server/users/user_handler.coffee @@ -225,7 +225,7 @@ UserHandler = class UserHandler extends Handler getLevelSessionsForEmployer: (req, res, userID) -> return @sendForbiddenError(res) unless req.user._id+'' is userID or req.user.isAdmin() or ('employer' in (req.user.get('permissions') ? [])) - query = creator: userID, levelID: {$in: ['gridmancer', 'greed', 'dungeon-arena', 'brawlwood', 'gold-rush']} + query = creator: userID, levelID: {$in: ['criss-cross', 'gridmancer', 'greed', 'dungeon-arena', 'brawlwood', 'gold-rush']} projection = 'levelName levelID team playtime codeLanguage submitted code totalScore teamSpells level' LevelSession.find(query).select(projection).exec (err, documents) => return @sendDatabaseError(res, err) if err From e3b75a69ea0112c1bd457991ff104e0617f4deb8 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Fri, 19 Sep 2014 22:15:58 -0700 Subject: [PATCH 16/31] Working on PlayLevelModal and ChooseHeroView. --- .../pages/game-menu/choose-hero-stub.png | Bin 120317 -> 0 bytes .../images/pages/game-menu/inventory-stub.png | Bin 154356 -> 0 bytes app/locale/en.coffee | 15 +- app/models/ThangType.coffee | 10 ++ app/schemas/subscriptions/misc.coffee | 4 + app/styles/base.sass | 1 + app/styles/game-menu/choose-hero-view.sass | 90 ++++++++++- app/styles/play/modal/play-level-modal.sass | 14 +- app/styles/play/world-map-view.sass | 5 +- app/templates/game-menu/choose-hero-view.jade | 62 ++++++-- .../play/modal/play-level-modal.jade | 11 +- app/templates/play/world-map-view.jade | 2 +- app/views/game-menu/ChooseHeroView.coffee | 150 +++++++++++++++++- app/views/game-menu/InventoryView.coffee | 2 +- app/views/play/WorldMapView.coffee | 4 +- app/views/play/modal/PlayLevelModal.coffee | 33 ++-- .../levels/thangs/thang_type_handler.coffee | 21 ++- 17 files changed, 383 insertions(+), 41 deletions(-) delete mode 100644 app/assets/images/pages/game-menu/choose-hero-stub.png delete mode 100644 app/assets/images/pages/game-menu/inventory-stub.png diff --git a/app/assets/images/pages/game-menu/choose-hero-stub.png b/app/assets/images/pages/game-menu/choose-hero-stub.png deleted file mode 100644 index 5711462a7e32ce8c39fa4beec8cd28a50fb46139..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120317 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 diff --git a/app/assets/images/pages/game-menu/inventory-stub.png b/app/assets/images/pages/game-menu/inventory-stub.png deleted file mode 100644 index 87963ebc426aa1d1b29cae979fdf2ec6df548178..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154356 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%0D*WGc%Ux;rAn4DW9E< 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 z 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

K7A+ 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℞PJnOb>RV(u`4CEG4V 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 i1TMC~#THmf3;cf<&6UR)J$T3f0000

- value = parseInt( elem.css( "zIndex" ), 10 ); - if ( !isNaN( value ) && value !== 0 ) { - return value; - } + scrollParent: function( includeHidden ) { + var position = this.css( "position" ), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter( function() { + var parent = $( this ); + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { + return false; } - elem = elem.parent(); - } - } + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); + }).eq( 0 ); - return 0; + return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; }, - uniqueId: function() { - return this.each(function() { - if ( !this.id ) { - this.id = "ui-id-" + (++uuid); - } - }); - }, + uniqueId: (function() { + var uuid = 0; + + return function() { + return this.each(function() { + if ( !this.id ) { + this.id = "ui-id-" + ( ++uuid ); + } + }); + }; + })(), removeUniqueId: function() { return this.each(function() { - if ( runiqueId.test( this.id ) ) { + if ( /^ui-id-\d+$/.test( this.id ) ) { $( this ).removeAttr( "id" ); } }); @@ -129,7 +100,7 @@ function focusable( element, isTabIndexNotNaN ) { if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { return false; } - img = $( "img[usemap=#" + mapName + "]" )[0]; + img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; return !!img && visible( img ); } return ( /input|select|textarea|button|object/.test( nodeName ) ? @@ -240,94 +211,137 @@ if ( $( "
" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { })( $.fn.removeData ); } - - - - // deprecated $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); -$.support.selectstart = "onselectstart" in document.createElement( "div" ); $.fn.extend({ - disableSelection: function() { - return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + - ".ui-disableSelection", function( event ) { + focus: (function( orig ) { + return function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + orig.apply( this, arguments ); + }; + })( $.fn.focus ), + + disableSelection: (function() { + var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart" : + "mousedown"; + + return function() { + return this.bind( eventType + ".ui-disableSelection", function( event ) { event.preventDefault(); }); - }, + }; + })(), enableSelection: function() { return this.unbind( ".ui-disableSelection" ); - } -}); - -$.extend( $.ui, { - // $.ui.plugin is deprecated. Use $.widget() extensions instead. - plugin: { - add: function( module, option, set ) { - var i, - proto = $.ui[ module ].prototype; - for ( i in set ) { - proto.plugins[ i ] = proto.plugins[ i ] || []; - proto.plugins[ i ].push( [ option, set[ i ] ] ); - } - }, - call: function( instance, name, args ) { - var i, - set = instance.plugins[ name ]; - if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) { - return; - } - - for ( i = 0; i < set.length; i++ ) { - if ( instance.options[ set[ i ][ 0 ] ] ) { - set[ i ][ 1 ].apply( instance.element, args ); - } - } - } }, - // only used by resizable - hasScroll: function( el, a ) { - - //If overflow is hidden, the element might have extra content, but the user wants to hide it - if ( $( el ).css( "overflow" ) === "hidden") { - return false; + zIndex: function( zIndex ) { + if ( zIndex !== undefined ) { + return this.css( "zIndex", zIndex ); } - var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", - has = false; - - if ( el[ scroll ] > 0 ) { - return true; + if ( this.length ) { + var elem = $( this[ 0 ] ), position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + //
+ value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } } - // TODO: determine which cases actually cause this to happen - // if the element doesn't have the scroll set, see if it's possible to - // set the scroll - el[ scroll ] = 1; - has = ( el[ scroll ] > 0 ); - el[ scroll ] = 0; - return has; + return 0; } }); -})( jQuery ); -(function( $, undefined ) { +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +$.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; -var uuid = 0, - slice = Array.prototype.slice, - _cleanData = $.cleanData; -$.cleanData = function( elems ) { - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { - try { - $( elem ).triggerHandler( "remove" ); - // http://bugs.jquery.com/ticket/8235 - } catch( e ) {} + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } } - _cleanData( elems ); }; + +/*! + * jQuery UI Widget 1.11.1 + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/jQuery.widget/ + */ + + +var widget_uuid = 0, + widget_slice = Array.prototype.slice; + +$.cleanData = (function( orig ) { + return function( elems ) { + var events, elem, i; + for ( i = 0; (elem = elems[i]) != null; i++ ) { + try { + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + + // http://bugs.jquery.com/ticket/8235 + } catch( e ) {} + } + orig( elems ); + }; +})( $.cleanData ); + $.widget = function( name, base, prototype ) { var fullName, existingConstructor, constructor, basePrototype, // proxiedPrototype allows the provided prototype to remain unmodified @@ -439,10 +453,12 @@ $.widget = function( name, base, prototype ) { } $.widget.bridge( name, constructor ); + + return constructor; }; $.widget.extend = function( target ) { - var input = slice.call( arguments, 1 ), + var input = widget_slice.call( arguments, 1 ), inputIndex = 0, inputLength = input.length, key, @@ -471,7 +487,7 @@ $.widget.bridge = function( name, object ) { var fullName = object.prototype.widgetFullName || name; $.fn[ name ] = function( options ) { var isMethodCall = typeof options === "string", - args = slice.call( arguments, 1 ), + args = widget_slice.call( arguments, 1 ), returnValue = this; // allow multiple hashes to be passed on init @@ -483,6 +499,10 @@ $.widget.bridge = function( name, object ) { this.each(function() { var methodValue, instance = $.data( this, fullName ); + if ( options === "instance" ) { + returnValue = instance; + return false; + } if ( !instance ) { return $.error( "cannot call methods on " + name + " prior to initialization; " + "attempted to call method '" + options + "'" ); @@ -502,7 +522,10 @@ $.widget.bridge = function( name, object ) { this.each(function() { var instance = $.data( this, fullName ); if ( instance ) { - instance.option( options || {} )._init(); + instance.option( options || {} ); + if ( instance._init ) { + instance._init(); + } } else { $.data( this, fullName, new object( options, this ) ); } @@ -529,7 +552,7 @@ $.Widget.prototype = { _createWidget: function( options, element ) { element = $( element || this.defaultElement || this )[ 0 ]; this.element = $( element ); - this.uuid = uuid++; + this.uuid = widget_uuid++; this.eventNamespace = "." + this.widgetName + this.uuid; this.options = $.widget.extend( {}, this.options, @@ -572,9 +595,6 @@ $.Widget.prototype = { // all event bindings should go through this._on() this.element .unbind( this.eventNamespace ) - // 1.9 BC for #7810 - // TODO remove dual storage - .removeData( this.widgetName ) .removeData( this.widgetFullName ) // support: jquery <1.6.3 // http://bugs.jquery.com/ticket/9413 @@ -650,20 +670,23 @@ $.Widget.prototype = { if ( key === "disabled" ) { this.widget() - .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value ) - .attr( "aria-disabled", value ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); + .toggleClass( this.widgetFullName + "-disabled", !!value ); + + // If the widget is becoming disabled, then nothing is interactive + if ( value ) { + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); + } } return this; }, enable: function() { - return this._setOption( "disabled", false ); + return this._setOptions({ disabled: false }); }, disable: function() { - return this._setOption( "disabled", true ); + return this._setOptions({ disabled: true }); }, _on: function( suppressDisabledCheck, element, handlers ) { @@ -683,7 +706,6 @@ $.Widget.prototype = { element = this.element; delegateElement = this.widget(); } else { - // accept selectors, DOM elements element = delegateElement = $( element ); this.bindings = this.bindings.add( element ); } @@ -708,7 +730,7 @@ $.Widget.prototype = { handler.guid || handlerProxy.guid || $.guid++; } - var match = event.match( /^(\w+)\s*(.*)$/ ), + var match = event.match( /^([\w:-]*)\s*(.*)$/ ), eventName = match[1] + instance.eventNamespace, selector = match[2]; if ( selector ) { @@ -823,16 +845,28 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { }; }); -})( jQuery ); -(function( $, undefined ) { +var widget = $.widget; + + +/*! + * jQuery UI Mouse 1.11.1 + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/mouse/ + */ + var mouseHandled = false; $( document ).mouseup( function() { mouseHandled = false; }); -$.widget("ui.mouse", { - version: "1.10.4", +var mouse = $.widget("ui.mouse", { + version: "1.11.1", options: { cancel: "input,textarea,button,select,option", distance: 1, @@ -842,10 +876,10 @@ $.widget("ui.mouse", { var that = this; this.element - .bind("mousedown."+this.widgetName, function(event) { + .bind("mousedown." + this.widgetName, function(event) { return that._mouseDown(event); }) - .bind("click."+this.widgetName, function(event) { + .bind("click." + this.widgetName, function(event) { if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { $.removeData(event.target, that.widgetName + ".preventClickEvent"); event.stopImmediatePropagation(); @@ -859,17 +893,19 @@ $.widget("ui.mouse", { // TODO: make sure destroying one instance of mouse doesn't mess with // other instances of mouse _mouseDestroy: function() { - this.element.unbind("."+this.widgetName); + this.element.unbind("." + this.widgetName); if ( this._mouseMoveDelegate ) { - $(document) - .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate) - .unbind("mouseup."+this.widgetName, this._mouseUpDelegate); + this.document + .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) + .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); } }, _mouseDown: function(event) { // don't let more than one widget handle mouseStart - if( mouseHandled ) { return; } + if ( mouseHandled ) { + return; + } // we may have missed mouseup (out of window) (this._mouseStarted && this._mouseUp(event)); @@ -912,9 +948,10 @@ $.widget("ui.mouse", { this._mouseUpDelegate = function(event) { return that._mouseUp(event); }; - $(document) - .bind("mousemove."+this.widgetName, this._mouseMoveDelegate) - .bind("mouseup."+this.widgetName, this._mouseUpDelegate); + + this.document + .bind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .bind( "mouseup." + this.widgetName, this._mouseUpDelegate ); event.preventDefault(); @@ -926,6 +963,10 @@ $.widget("ui.mouse", { // IE mouseup check - mouseup happened when mouse was out of window if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { return this._mouseUp(event); + + // Iframe mouseup check - mouseup occurred in another document + } else if ( !event.which ) { + return this._mouseUp( event ); } if (this._mouseStarted) { @@ -943,9 +984,9 @@ $.widget("ui.mouse", { }, _mouseUp: function(event) { - $(document) - .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate) - .unbind("mouseup."+this.widgetName, this._mouseUpDelegate); + this.document + .unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .unbind( "mouseup." + this.widgetName, this._mouseUpDelegate ); if (this._mouseStarted) { this._mouseStarted = false; @@ -957,6 +998,7 @@ $.widget("ui.mouse", { this._mouseStop(event); } + mouseHandled = false; return false; }, @@ -979,12 +1021,23 @@ $.widget("ui.mouse", { _mouseCapture: function(/* event */) { return true; } }); -})(jQuery); -(function( $, undefined ) { + +/*! + * jQuery UI Position 1.11.1 + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + +(function() { $.ui = $.ui || {}; -var cachedScrollbarWidth, +var cachedScrollbarWidth, supportsOffsetFractions, max = Math.max, abs = Math.abs, round = Math.round, @@ -1084,8 +1137,11 @@ $.position = { offset: withinElement.offset() || { left: 0, top: 0 }, scrollLeft: withinElement.scrollLeft(), scrollTop: withinElement.scrollTop(), - width: isWindow ? withinElement.width() : withinElement.outerWidth(), - height: isWindow ? withinElement.height() : withinElement.outerHeight() + + // support: jQuery 1.6.x + // jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows + width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(), + height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight() }; } }; @@ -1197,7 +1253,7 @@ $.fn.position = function( options ) { position.top += myOffset[ 1 ]; // if the browser doesn't support fractions, then round for consistent results - if ( !$.support.offsetFractions ) { + if ( !supportsOffsetFractions ) { position.left = round( position.left ); position.top = round( position.top ); } @@ -1221,7 +1277,7 @@ $.fn.position = function( options ) { my: options.my, at: options.at, within: within, - elem : elem + elem: elem }); } }); @@ -1375,8 +1431,7 @@ $.ui.position = { if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { position.left += myOffset + atOffset + offset; } - } - else if ( overRight > 0 ) { + } else if ( overRight > 0 ) { newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { position.left += myOffset + atOffset + offset; @@ -1410,8 +1465,7 @@ $.ui.position = { if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) { position.top += myOffset + atOffset + offset; } - } - else if ( overBottom > 0 ) { + } 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 ) ) { position.top += myOffset + atOffset + offset; @@ -1432,7 +1486,7 @@ $.ui.position = { }; // fraction support test -(function () { +(function() { var testElement, testElementParent, testElementStyle, offsetLeft, i, body = document.getElementsByTagName( "body" )[ 0 ], div = document.createElement( "div" ); @@ -1464,25 +1518,1434 @@ $.ui.position = { div.style.cssText = "position: absolute; left: 10.7432222px;"; offsetLeft = $( div ).offset().left; - $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11; + supportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11; testElement.innerHTML = ""; testElementParent.removeChild( testElement ); })(); -}( jQuery ) ); -(function( $, undefined ) { +})(); -function num(v) { - return parseInt(v, 10) || 0; -} +var position = $.ui.position; + + +/*! + * jQuery UI Draggable 1.11.1 + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/draggable/ + */ + + +$.widget("ui.draggable", $.ui.mouse, { + version: "1.11.1", + widgetEventPrefix: "drag", + options: { + addClasses: true, + appendTo: "parent", + axis: false, + connectToSortable: false, + containment: false, + cursor: "auto", + cursorAt: false, + grid: false, + handle: false, + helper: "original", + iframeFix: false, + opacity: false, + refreshPositions: false, + revert: false, + revertDuration: 500, + scope: "default", + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + snap: false, + snapMode: "both", + snapTolerance: 20, + stack: false, + zIndex: false, + + // callbacks + drag: null, + start: null, + stop: null + }, + _create: function() { + + if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) { + this.element[0].style.position = "relative"; + } + if (this.options.addClasses){ + this.element.addClass("ui-draggable"); + } + if (this.options.disabled){ + this.element.addClass("ui-draggable-disabled"); + } + this._setHandleClassName(); + + this._mouseInit(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "handle" ) { + this._removeHandleClassName(); + this._setHandleClassName(); + } + }, + + _destroy: function() { + if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) { + this.destroyOnClear = true; + return; + } + this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" ); + this._removeHandleClassName(); + this._mouseDestroy(); + }, + + _mouseCapture: function(event) { + + var document = this.document[ 0 ], + o = this.options; + + // support: IE9 + // IE9 throws an "Unspecified error" accessing document.activeElement from an