From fc1e30ccc95291ce6da8f11f107daecb8653bcf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vi=CC=81t=CC=8Ca=20Pls=CC=8Cek?= Date: Tue, 13 Jan 2015 22:26:25 +0100 Subject: [PATCH 01/15] - removed report from git - actualized fake api - modified api and application for being able to create new records --- java-devstack-frontend/pom.xml | 1 - .../src/main/frontend/package.json | 2 +- .../default/default.spec.js.html | 388 --------------- .../default/index.html | 350 -------------- .../ordinalDate/index.html | 350 -------------- .../ordinalDate/ordinalDate.spec.js.html | 442 ------------------ .../PhantomJS 1.9.8 (Mac OS X)/prettify.css | 1 - .../PhantomJS 1.9.8 (Mac OS X)/prettify.js | 1 - .../src/main/frontend/src/api/orders/1 | 7 + .../src/main/frontend/src/api/orders/2 | 8 + .../src/main/frontend/src/api/orders/3 | 8 + .../src/main/frontend/src/api/orders/4 | 7 + .../src/main/frontend/src/api/orders/5 | 8 + .../main/frontend/src/api/orders/index.html | 37 ++ .../src/main/frontend/src/api/user/1 | 1 - .../src/main/frontend/src/api/user/2 | 1 - .../src/main/frontend/src/api/user/index.html | 1 - .../src/main/frontend/src/app/app.js | 7 +- .../src/app/orders/create/create.html | 21 + .../frontend/src/app/orders/create/create.js | 16 + .../src/app/orders/detail/detail.html | 14 +- .../frontend/src/app/orders/detail/detail.js | 5 +- .../frontend/src/app/orders/list/list.html | 48 +- .../main/frontend/src/app/orders/list/list.js | 33 +- .../main/frontend/src/app/orders/orders.js | 50 +- .../frontend/src/app/orders/ordersService.js | 12 +- .../frontend/src/app/orders/statusFilter.js | 18 + .../src/app/orders/statusFilter.spec.js | 27 ++ .../src/common/filters/default/default.js | 18 - .../common/filters/default/default.spec.js | 23 - .../src/common/filters/ordinalDate/README.md | 17 - .../common/filters/ordinalDate/ordinalDate.js | 63 --- .../filters/ordinalDate/ordinalDate.spec.js | 41 -- .../src/main/frontend/src/index.html | 4 +- .../main/frontend/test/scenarios/create.js | 39 ++ .../test/scenarios/{user.js => homepage.js} | 0 java-devstack-webapp/pom.xml | 10 +- .../java/cz/angular/ServletInitializer.java | 29 +- .../main/java/cz/angular/UserController.java | 48 +- .../main/java/cz/angular/user/Address.java | 42 -- .../main/java/cz/angular/user/DataLoader.java | 31 ++ .../src/main/java/cz/angular/user/User.java | 40 +- .../java/cz/angular/user/UserRepository.java | 6 + .../java/cz/angular/user/UserService.java | 64 --- pom.xml | 12 +- 45 files changed, 409 insertions(+), 1942 deletions(-) delete mode 100644 java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/default.spec.js.html delete mode 100644 java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/index.html delete mode 100644 java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/index.html delete mode 100644 java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/ordinalDate.spec.js.html delete mode 100644 java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.css delete mode 100644 java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.js create mode 100644 java-devstack-frontend/src/main/frontend/src/api/orders/1 create mode 100644 java-devstack-frontend/src/main/frontend/src/api/orders/2 create mode 100644 java-devstack-frontend/src/main/frontend/src/api/orders/3 create mode 100644 java-devstack-frontend/src/main/frontend/src/api/orders/4 create mode 100644 java-devstack-frontend/src/main/frontend/src/api/orders/5 create mode 100644 java-devstack-frontend/src/main/frontend/src/api/orders/index.html delete mode 100644 java-devstack-frontend/src/main/frontend/src/api/user/1 delete mode 100644 java-devstack-frontend/src/main/frontend/src/api/user/2 delete mode 100644 java-devstack-frontend/src/main/frontend/src/api/user/index.html create mode 100644 java-devstack-frontend/src/main/frontend/src/app/orders/create/create.html create mode 100644 java-devstack-frontend/src/main/frontend/src/app/orders/create/create.js create mode 100644 java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.js create mode 100644 java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.spec.js delete mode 100644 java-devstack-frontend/src/main/frontend/src/common/filters/default/default.js delete mode 100644 java-devstack-frontend/src/main/frontend/src/common/filters/default/default.spec.js delete mode 100644 java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/README.md delete mode 100644 java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.js delete mode 100644 java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.spec.js create mode 100644 java-devstack-frontend/src/main/frontend/test/scenarios/create.js rename java-devstack-frontend/src/main/frontend/test/scenarios/{user.js => homepage.js} (100%) delete mode 100644 java-devstack-webapp/src/main/java/cz/angular/user/Address.java create mode 100644 java-devstack-webapp/src/main/java/cz/angular/user/DataLoader.java create mode 100644 java-devstack-webapp/src/main/java/cz/angular/user/UserRepository.java delete mode 100644 java-devstack-webapp/src/main/java/cz/angular/user/UserService.java diff --git a/java-devstack-frontend/pom.xml b/java-devstack-frontend/pom.xml index 365c433..4faa5f5 100644 --- a/java-devstack-frontend/pom.xml +++ b/java-devstack-frontend/pom.xml @@ -17,7 +17,6 @@ com.github.eirslett frontend-maven-plugin - 0.0.19 src/main/frontend diff --git a/java-devstack-frontend/src/main/frontend/package.json b/java-devstack-frontend/src/main/frontend/package.json index db3d7be..c7635c9 100644 --- a/java-devstack-frontend/src/main/frontend/package.json +++ b/java-devstack-frontend/src/main/frontend/package.json @@ -49,7 +49,7 @@ "main-bower-files": "^1.0.0", "minimatch": "^0.4.0", "open": "0.0.5", - "protractor": "~0.20.1", + "protractor": "~1.3", "proxy-middleware": "~0.7.0", "run-sequence": "^0.3.6", "serve-static": "~1.7.1", diff --git a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/default.spec.js.html b/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/default.spec.js.html deleted file mode 100644 index 566c051..0000000 --- a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/default.spec.js.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - Code coverage report for default/default.spec.js - - - - - - - -
-

Code coverage report for default/default.spec.js

-

- - Statements: 100% (14 / 14)      - - - Branches: 100% (0 / 0)      - - - Functions: 100% (5 / 5)      - - - Lines: 100% (14 / 14)      - - Ignored: none      -

-
All files » default/ » default.spec.js
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -231 -  -1 -  -1 -1 -1 -1 -1 -1 -1 -  -  -  -1 -1 -1 -1 -1 -  -  -  - 
describe('defaultFilter', function() {
- 
-  beforeEach(module('common.filters.default'));
- 
-  it('should return defaultValue when value is empty', function() {
-    inject(function(defaultFilter) {
-      expect(defaultFilter('', 'defaultValue')).toEqual('defaultValue');
-      expect(defaultFilter(null, 'defaultValue')).toEqual('defaultValue');
-      expect(defaultFilter(undefined, "defaultValue")).toEqual('defaultValue');
-      expect(defaultFilter(' ', "defaultValue")).toEqual('defaultValue');
-      expect(defaultFilter('   ', "defaultValue")).toEqual('defaultValue');
-    });
-  });
- 
-  it('should return value when value is not empty', function() {
-    inject(function(defaultFilter) {
-      expect(defaultFilter('value', 'defaultValue')).toEqual('value');
-      expect(defaultFilter(0, "defaultValue")).toEqual(0);
-      expect(defaultFilter(1, "defaultValue")).toEqual(1);
-    });
-  });
- 
-});
- -
- - - - - - - - diff --git a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/index.html b/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/index.html deleted file mode 100644 index 5ce6f7d..0000000 --- a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/default/index.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - Code coverage report for default/ - - - - - - - -
-

Code coverage report for default/

-

- - Statements: 100% (14 / 14)      - - - Branches: 100% (0 / 0)      - - - Functions: 100% (5 / 5)      - - - Lines: 100% (14 / 14)      - - Ignored: none      -

-
All files » default/
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
default.spec.js100%(14 / 14)100%(0 / 0)100%(5 / 5)100%(14 / 14)
-
-
- - - - - - - - diff --git a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/index.html b/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/index.html deleted file mode 100644 index 2785193..0000000 --- a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/index.html +++ /dev/null @@ -1,350 +0,0 @@ - - - - Code coverage report for ordinalDate/ - - - - - - - -
-

Code coverage report for ordinalDate/

-

- - Statements: 100% (32 / 32)      - - - Branches: 100% (0 / 0)      - - - Functions: 100% (6 / 6)      - - - Lines: 100% (32 / 32)      - - Ignored: none      -

-
All files » ordinalDate/
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ordinalDate.spec.js100%(32 / 32)100%(0 / 0)100%(6 / 6)100%(32 / 32)
-
-
- - - - - - - - diff --git a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/ordinalDate.spec.js.html b/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/ordinalDate.spec.js.html deleted file mode 100644 index 57496dc..0000000 --- a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/ordinalDate/ordinalDate.spec.js.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - Code coverage report for ordinalDate/ordinalDate.spec.js - - - - - - - -
-

Code coverage report for ordinalDate/ordinalDate.spec.js

-

- - Statements: 100% (32 / 32)      - - - Branches: 100% (0 / 0)      - - - Functions: 100% (6 / 6)      - - - Lines: 100% (32 / 32)      - - Ignored: none      -

-
All files » ordinalDate/ » ordinalDate.spec.js
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -411 -1 -1 -  -1 -1 -3 -3 -  -  -  -1 -1 -1 -1 -  -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -  -  -1 -1 -1 -1 -  - 
describe('ordinalDate', function() {
-  var ordinalDateFilter;
-  var timestamp1 = 1384474920000; // 15th November 2013, 00:22:00
- 
-  beforeEach(module('angularUtils.filters.ordinalDate'));
-  beforeEach(function() {
-    inject(function($injector) {
-      ordinalDateFilter = $injector.get('ordinalDateFilter');
-    });
-  });
- 
-  it('should add an ordinal suffix to days of month', function() {
-    expect(ordinalDateFilter(timestamp1, 'd')).toEqual('15th');
-    expect(ordinalDateFilter(timestamp1, "EEEE 'the' d of MMMM")).toEqual('Friday the 15th of November');
-    expect(ordinalDateFilter(timestamp1, "d d")).toEqual('15th 15th');
-  });
-  it('should add the correct suffix for all possible variations', function() {
-    expect(ordinalDateFilter(1383265320000, 'd')).toEqual('1st');
-    expect(ordinalDateFilter(1383351720000, 'd')).toEqual('2nd');
-    expect(ordinalDateFilter(1383438120000, 'd')).toEqual('3rd');
-    expect(ordinalDateFilter(1383524520000, 'd')).toEqual('4th');
-    expect(ordinalDateFilter(1384042920000, 'd')).toEqual('10th');
-    expect(ordinalDateFilter(1384129320000, 'd')).toEqual('11th');
-    expect(ordinalDateFilter(1384215720000, 'd')).toEqual('12th');
-    expect(ordinalDateFilter(1384302120000, 'd')).toEqual('13th');
-    expect(ordinalDateFilter(1384906920000, 'd')).toEqual('20th');
-    expect(ordinalDateFilter(1384993320000, 'd')).toEqual('21st');
-    expect(ordinalDateFilter(1385079720000, 'd')).toEqual('22nd');
-    expect(ordinalDateFilter(1385079720000, 'd')).toEqual('22nd');
-    expect(ordinalDateFilter(1385166120000, 'd')).toEqual('23rd');
-    expect(ordinalDateFilter(1385252520000, 'd')).toEqual('24th');
-    expect(ordinalDateFilter(1385770920000, 'd')).toEqual('30th');
-    expect(ordinalDateFilter(1383178920000, 'd')).toEqual('31st');
- 
-  });
-  it('should leave the \'dd\' format day alone', function() {
-    expect(ordinalDateFilter(timestamp1, "dd/MM/yyyy")).toEqual('15/11/2013');
-    expect(ordinalDateFilter(timestamp1, "yyyy-MM-dd")).toEqual('2013-11-15');
-    expect(ordinalDateFilter(timestamp1, "'the' d 'day' of MMMM")).toEqual('the 15th day of November');
-  });
-});
- -
- - - - - - - - diff --git a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.css b/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.css deleted file mode 100644 index b317a7c..0000000 --- a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.js b/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.js deleted file mode 100644 index ef51e03..0000000 --- a/java-devstack-frontend/src/main/frontend/report/PhantomJS 1.9.8 (Mac OS X)/prettify.js +++ /dev/null @@ -1 +0,0 @@ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/java-devstack-frontend/src/main/frontend/src/api/orders/1 b/java-devstack-frontend/src/main/frontend/src/api/orders/1 new file mode 100644 index 0000000..192ed0a --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/api/orders/1 @@ -0,0 +1,7 @@ +{ + "id": 1, + "name": "Martin Novák", + "email": "martin@novak.cz", + "status": "NEW", + "date": null + } \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/orders/2 b/java-devstack-frontend/src/main/frontend/src/api/orders/2 new file mode 100644 index 0000000..7d4b4c3 --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/api/orders/2 @@ -0,0 +1,8 @@ + + { + "id": 2, + "name": "Karel Novák", + "email": "karel@novak.cz", + "status": "NEW", + "date": null + } \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/orders/3 b/java-devstack-frontend/src/main/frontend/src/api/orders/3 new file mode 100644 index 0000000..4fe403c --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/api/orders/3 @@ -0,0 +1,8 @@ + + { + "id": 3, + "name": "Karolína Nováková", + "email": "karolina@novak.cz", + "status": "CANCELLED", + "date": null + } \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/orders/4 b/java-devstack-frontend/src/main/frontend/src/api/orders/4 new file mode 100644 index 0000000..f66aa9a --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/api/orders/4 @@ -0,0 +1,7 @@ + { + "id": 4, + "name": "Petr Vyskocil", + "email": "petr@vyskocil.cz", + "status": "PAID", + "date": null + } \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/orders/5 b/java-devstack-frontend/src/main/frontend/src/api/orders/5 new file mode 100644 index 0000000..fe37e8e --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/api/orders/5 @@ -0,0 +1,8 @@ + + { + "id": 5, + "name": "Jarek Párek", + "email": "parek@seznam.cz", + "status": "SENT", + "date": 1421182182718 + } \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/orders/index.html b/java-devstack-frontend/src/main/frontend/src/api/orders/index.html new file mode 100644 index 0000000..c5a213a --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/api/orders/index.html @@ -0,0 +1,37 @@ +[ + { + "id": 1, + "name": "Martin Novák", + "email": "martin@novak.cz", + "status": "NEW", + "date": null + }, + { + "id": 2, + "name": "Karel Novák", + "email": "karel@novak.cz", + "status": "NEW", + "date": null + }, + { + "id": 3, + "name": "Karolína Nováková", + "email": "karolina@novak.cz", + "status": "CANCELLED", + "date": null + }, + { + "id": 4, + "name": "Petr Vyskocil", + "email": "petr@vyskocil.cz", + "status": "PAID", + "date": null + }, + { + "id": 5, + "name": "Jarek Párek", + "email": "parek@seznam.cz", + "status": "SENT", + "date": 1421182182718 + } +] \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/user/1 b/java-devstack-frontend/src/main/frontend/src/api/user/1 deleted file mode 100644 index 89f9d8a..0000000 --- a/java-devstack-frontend/src/main/frontend/src/api/user/1 +++ /dev/null @@ -1 +0,0 @@ -{"id":1,"name":"Víťa Plšek","email":"vita@angular.cz","status":"NEW","address":{"street":"Neznámá","city":"Neznámé","zip":"Zip"},"date":null} \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/user/2 b/java-devstack-frontend/src/main/frontend/src/api/user/2 deleted file mode 100644 index e28d60c..0000000 --- a/java-devstack-frontend/src/main/frontend/src/api/user/2 +++ /dev/null @@ -1 +0,0 @@ -{"id":2,"name":"Milan Lempera","email":"milan@angular.cz","status":"PAID","address":{"street":"Neznámá","city":"Neznámé","zip":"Zip"},"date":null} \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/api/user/index.html b/java-devstack-frontend/src/main/frontend/src/api/user/index.html deleted file mode 100644 index 0e77380..0000000 --- a/java-devstack-frontend/src/main/frontend/src/api/user/index.html +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"name":"Víťa Plšek","email":"vita@angular.cz","status":"NEW","address":{"street":"Neznámá","city":"Neznámé","zip":"Zip"},"date":null},{"id":2,"name":"Milan Lempera","email":"milan@angular.cz","status":"PAID","address":{"street":"Neznámá","city":"Neznámé","zip":"Zip"},"date":null}] \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/app/app.js b/java-devstack-frontend/src/main/frontend/src/app/app.js index 87e969a..b970d6d 100644 --- a/java-devstack-frontend/src/main/frontend/src/app/app.js +++ b/java-devstack-frontend/src/main/frontend/src/app/app.js @@ -6,10 +6,13 @@ 'ngRoute', 'administration.orders' ]) - .config(['$routeProvider', + + .constant('REST_URI', 'api') + + .config(['$routeProvider', function ($routeProvider) { $routeProvider.otherwise({ - redirectTo: '/user' + redirectTo: '/orders' }); }]); })(window.angular); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/create/create.html b/java-devstack-frontend/src/main/frontend/src/app/orders/create/create.html new file mode 100644 index 0000000..59df0ee --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/create/create.html @@ -0,0 +1,21 @@ +

Nový uživatel

+
+
+

+ Jméno: + +

+ +

+ Email: + +

+ +

+ +

+ + Zrušit +
+
+ diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/create/create.js b/java-devstack-frontend/src/main/frontend/src/app/orders/create/create.js new file mode 100644 index 0000000..3e5cf88 --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/create/create.js @@ -0,0 +1,16 @@ +(function(angular) { + 'use strict'; + + /* Controllers */ + + angular.module('administration.orders.create', []) + .controller('OrderCreateController', function($location, Orders) { + this.order = new Orders(); + + this.save = function(order) { + order.$save(function() { + $location.path("/detail/" + order.id); + }); + }; + }); +})(window.angular); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.html b/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.html index a489adf..60eb38f 100644 --- a/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.html +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.html @@ -1,5 +1,9 @@ -

Objednávka - {{order.name}}

-

Adresa

-

- {{order.address.street}}, {{order.address.zip}} {{order.address.city}} -

+

Objednávka - {{detail.order.name}}

+
+

Email: {{detail.order.email}}

+

Stav: {{detail.order.status|statusTranslation}} + ({{detail.order.date|date : "dd.MM.yyyy"}}) +

+
+ +Zpět diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.js b/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.js index 35baef0..32bd28c 100644 --- a/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.js +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/detail/detail.js @@ -4,9 +4,8 @@ /* Controllers */ angular.module('administration.orders.detail', []) - .controller('DetailCtrl', - function($scope, $routeParams, detail) { - $scope.order = detail; + .controller('OrderDetailController', function(orderData) { + this.order = orderData; }); })(window.angular); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.html b/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.html index 0a5f220..73f727e 100644 --- a/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.html +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.html @@ -1,50 +1,32 @@
+

Objednávky

-
-

Objednávky

-
- +

+ Vytvořit +

+ +
- - - + + + - - - - - - - - - + - - +
IdZákazníkEmailStavZákazníkEmailStav Datum odeslání Akce
- - - - - - - - -
{{order.email}} - - Odstranit - Detail + + Detail + Odstranit
diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.js b/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.js index d941e37..fcbb553 100644 --- a/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.js +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/list/list.js @@ -1,26 +1,23 @@ -(function (angular) { +(function(angular) { 'use strict'; angular.module('administration.orders.list', []) - .controller('ListCtrl', - function ($scope, Orders) { + .controller('OrderListController', function(Orders, $location, statuses) { + var orderCtrl = this; + this.orders = Orders.query(); - $scope.orders = Orders.query(); + this.statuses = statuses; - $scope.statuses = { - NEW: 'Nová', - CANCELLED: 'Zrušená', - PAID: 'Zaplacená', - SENT: 'Odeslaná' - }; + this.removeOrder = function(order) { + order.$remove(function() { + var index = orderCtrl.orders.indexOf(order); + orderCtrl.orders.splice(index, 1); + }); + }; - $scope.removeOrder = function (order) { - order.$remove(function () { - var index = $scope.orders.indexOf(order); - $scope.orders.splice(index, 1); - }); - }; - - }); + this.updateOrder = function(order) { + order.$save(); + }; + }); })(window.angular); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/orders.js b/java-devstack-frontend/src/main/frontend/src/app/orders/orders.js index 3033646..84f0ddc 100644 --- a/java-devstack-frontend/src/main/frontend/src/app/orders/orders.js +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/orders.js @@ -1,27 +1,37 @@ -(function (angular) { +(function(angular) { 'use strict'; angular.module('administration.orders', [ 'administration.orders.list', 'administration.orders.detail', - 'administration.orders.service' + 'administration.orders.create', + 'administration.orders.service', + 'administration.orders.filter.statuses' ]) - .config(function ($routeProvider) { - $routeProvider. - when('/', { - templateUrl: 'orders/list/list.html', - controller: 'ListCtrl' - }). - when('/detail/:id', { - templateUrl: 'orders/detail/detail.html', - controller: 'DetailCtrl', - resolve: { - detail: function (Orders, $route) { - return Orders.get({id: $route.current.params.id}).$promise.then(function (data) { - return data; - }); - } - } - }); - }); + .config(function($routeProvider) { + $routeProvider + .when('/orders', { + templateUrl: 'orders/list/list.html', + controller: 'OrderListController', + controllerAs: 'list' + }) + .when('/detail/:id', { + templateUrl: 'orders/detail/detail.html', + controller: 'OrderDetailController', + controllerAs: 'detail', + resolve: { + orderData: function(Orders, $route) { + var id = $route.current.params.id; + + return Orders.get({'id': id}).$promise; + } + } + }) + .when('/create', { + templateUrl: 'orders/create/create.html', + controller: 'OrderCreateController', + controllerAs: 'create' + }) + .otherwise('/orders'); + }); })(window.angular); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/ordersService.js b/java-devstack-frontend/src/main/frontend/src/app/orders/ordersService.js index 70b43f7..7d62711 100644 --- a/java-devstack-frontend/src/main/frontend/src/app/orders/ordersService.js +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/ordersService.js @@ -1,13 +1,11 @@ -(function (angular) { +(function(angular) { 'use strict'; - /* Services */ + angular.module('administration.orders.service', ['ngResource']) - var services = angular.module('administration.orders.service', ['ngResource']); - - services.factory('Orders', function ($resource) { - return $resource('api/user/:id', {id: '@id'}); - }); + .factory('Orders', function(REST_URI, $resource) { + return $resource(REST_URI + '/orders/:id', {"id": "@id"}); + }); })(window.angular); diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.js b/java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.js new file mode 100644 index 0000000..296cdca --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.js @@ -0,0 +1,18 @@ +(function(angular) { + 'use strict'; + + angular.module("administration.orders.filter.statuses", []) + .value("statuses", { + NEW: 'Nová', + CANCELLED: 'Zrušená', + PAID: 'Zaplacená', + SENT: 'Odeslaná' + }) + + .filter("statusTranslation", function(statuses) { + return function(status) { + return statuses[status]; + }; + }); +}) +(window.angular); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.spec.js b/java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.spec.js new file mode 100644 index 0000000..6db9c65 --- /dev/null +++ b/java-devstack-frontend/src/main/frontend/src/app/orders/statusFilter.spec.js @@ -0,0 +1,27 @@ +describe('statusFilter', function() { + + var filter; + beforeEach(module('administration.orders.filter.statuses')); + + beforeEach(inject(function(statusTranslationFilter){ + filter = statusTranslationFilter; + })); + + it('should be present', function() { + expect(filter).toBeDefined(); + }); + + describe('should return right translation', function() { + it('for status NEW', function() { + expect(filter("NEW")).toBe("Nová"); + }); + + it('for status SENT', function() { + expect(filter("SENT")).toBe("Odeslaná"); + }); + }); + + it('should return undefined for wrong status', function() { + expect(filter("WRONG")).not.toBeDefined(); + }); +}); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/common/filters/default/default.js b/java-devstack-frontend/src/main/frontend/src/common/filters/default/default.js deleted file mode 100644 index 5945ab1..0000000 --- a/java-devstack-frontend/src/main/frontend/src/common/filters/default/default.js +++ /dev/null @@ -1,18 +0,0 @@ -(function (angular) { - 'use strict'; - - angular.module('common.filters.default', []) - .filter('default', function () { - return function (value, defaultValue) { - if (angular.isUndefined(value) || - value === null || - (angular.isString(value) && value.trim().length === 0) - ) { - return defaultValue; - } - - return value; - }; - }); - -})(window.angular); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/common/filters/default/default.spec.js b/java-devstack-frontend/src/main/frontend/src/common/filters/default/default.spec.js deleted file mode 100644 index 31a0f36..0000000 --- a/java-devstack-frontend/src/main/frontend/src/common/filters/default/default.spec.js +++ /dev/null @@ -1,23 +0,0 @@ -describe('defaultFilter', function() { - - beforeEach(module('common.filters.default')); - - it('should return defaultValue when value is empty', function() { - inject(function(defaultFilter) { - expect(defaultFilter('', 'defaultValue')).toEqual('defaultValue'); - expect(defaultFilter(null, 'defaultValue')).toEqual('defaultValue'); - expect(defaultFilter(undefined, "defaultValue")).toEqual('defaultValue'); - expect(defaultFilter(' ', "defaultValue")).toEqual('defaultValue'); - expect(defaultFilter(' ', "defaultValue")).toEqual('defaultValue'); - }); - }); - - it('should return value when value is not empty', function() { - inject(function(defaultFilter) { - expect(defaultFilter('value', 'defaultValue')).toEqual('value'); - expect(defaultFilter(0, "defaultValue")).toEqual(0); - expect(defaultFilter(1, "defaultValue")).toEqual(1); - }); - }); - -}); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/README.md b/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/README.md deleted file mode 100644 index 5d5143e..0000000 --- a/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/README.md +++ /dev/null @@ -1,17 +0,0 @@ -taken from https://github.com/michaelbromley/angularUtils/tree/master/src/filters/ordinalDate - -# Ordinal Date Filter - -This is a wrapper filter around the built-in [Angular date filter](http://docs.angularjs.org/api/ng.filter:date), -which adds the facility to display the English ordinal date suffix to the 'day' part of the format string. - -## Example - -Given the timestamp 1384474920000 (15th November 2013, 00:22:00), and the date format string 'd MM yyyy', -the regular Angular date filter will return '15 November 2013'. This filter will return '15th November 2013'. Simple. - -## Usage - -Include the filter definition somewhere in your Angular app and then use it like any filter: - - {{ 1384474920000 | ordinalDate }} diff --git a/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.js b/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.js deleted file mode 100644 index 80a84ef..0000000 --- a/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.js +++ /dev/null @@ -1,63 +0,0 @@ -angular.module('angularUtils.filters.ordinalDate', []) - - .filter('ordinalDate', function($filter) { - - var getOrdinalSuffix = function(number) { - var suffixes = ["'th'", "'st'", "'nd'", "'rd'"]; - var relevantDigits = (number < 30) ? number % 20 : number % 30; - return (relevantDigits <= 3) ? suffixes[relevantDigits] : suffixes[0]; - }; - - /** - * Look through the format string for any possible match for 'd'. - * It needs to ignore 'dd' and also occurrences of the letter d inside - * string such as "d 'day of' MM'. - * @param format - */ - var getIndecesOfDayCharacter = function(format) { - var dayRegex = /(?:'(?:[^']|'')*')|(?:d+)/g; - var matchingIndices = []; - var finishedLooking = false; - - while (!finishedLooking) { - var matches = dayRegex.exec(format); - if (matches) { - dayRegex.lastIndex = matches.index + matches[0].length; - if (matches[0] === 'd') { - matchingIndices.push(matches.index + 1); - } - } else { - finishedLooking = true; - } - } - - return matchingIndices; - }; - - /** - * Insert a string at a given index of another string - * @param inputString - * @param index - * @param stringToInsert - * @returns {string} - */ - var insertAtIndex = function(inputString, index, stringToInsert) { - var partBeforeIndex = inputString.substring(0, index); - var partAfterIndex = inputString.substring(index, inputString.length); - return partBeforeIndex + stringToInsert + partAfterIndex; - }; - - return function(timestamp, format) { - var date = new Date(timestamp); - var dayOfMonth = date.getDate(); - var suffix = getOrdinalSuffix(dayOfMonth); - - var matchingIndices = getIndecesOfDayCharacter(format); - - // now we to insert the suffix at the index(-ces) that we found - for (var i = matchingIndices.length; i > 0; i--) { - format = insertAtIndex(format, matchingIndices[i - 1], suffix); - } - return $filter('date')(date, format); - }; - }); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.spec.js b/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.spec.js deleted file mode 100644 index 67d2fff..0000000 --- a/java-devstack-frontend/src/main/frontend/src/common/filters/ordinalDate/ordinalDate.spec.js +++ /dev/null @@ -1,41 +0,0 @@ -describe('ordinalDate', function() { - var ordinalDateFilter; - var timestamp1 = 1384474920000; // 15th November 2013, 00:22:00 - - beforeEach(module('angularUtils.filters.ordinalDate')); - beforeEach(function() { - inject(function($injector) { - ordinalDateFilter = $injector.get('ordinalDateFilter'); - }); - }); - - it('should add an ordinal suffix to days of month', function() { - expect(ordinalDateFilter(timestamp1, 'd')).toEqual('15th'); - expect(ordinalDateFilter(timestamp1, "EEEE 'the' d of MMMM")).toEqual('Friday the 15th of November'); - expect(ordinalDateFilter(timestamp1, "d d")).toEqual('15th 15th'); - }); - it('should add the correct suffix for all possible variations', function() { - expect(ordinalDateFilter(1383265320000, 'd')).toEqual('1st'); - expect(ordinalDateFilter(1383351720000, 'd')).toEqual('2nd'); - expect(ordinalDateFilter(1383438120000, 'd')).toEqual('3rd'); - expect(ordinalDateFilter(1383524520000, 'd')).toEqual('4th'); - expect(ordinalDateFilter(1384042920000, 'd')).toEqual('10th'); - expect(ordinalDateFilter(1384129320000, 'd')).toEqual('11th'); - expect(ordinalDateFilter(1384215720000, 'd')).toEqual('12th'); - expect(ordinalDateFilter(1384302120000, 'd')).toEqual('13th'); - expect(ordinalDateFilter(1384906920000, 'd')).toEqual('20th'); - expect(ordinalDateFilter(1384993320000, 'd')).toEqual('21st'); - expect(ordinalDateFilter(1385079720000, 'd')).toEqual('22nd'); - expect(ordinalDateFilter(1385079720000, 'd')).toEqual('22nd'); - expect(ordinalDateFilter(1385166120000, 'd')).toEqual('23rd'); - expect(ordinalDateFilter(1385252520000, 'd')).toEqual('24th'); - expect(ordinalDateFilter(1385770920000, 'd')).toEqual('30th'); - expect(ordinalDateFilter(1383178920000, 'd')).toEqual('31st'); - - }); - it('should leave the \'dd\' format day alone', function() { - expect(ordinalDateFilter(timestamp1, "dd/MM/yyyy")).toEqual('15/11/2013'); - expect(ordinalDateFilter(timestamp1, "yyyy-MM-dd")).toEqual('2013-11-15'); - expect(ordinalDateFilter(timestamp1, "'the' d 'day' of MMMM")).toEqual('the 15th day of November'); - }); -}); \ No newline at end of file diff --git a/java-devstack-frontend/src/main/frontend/src/index.html b/java-devstack-frontend/src/main/frontend/src/index.html index 7d2852e..bcf1e51 100644 --- a/java-devstack-frontend/src/main/frontend/src/index.html +++ b/java-devstack-frontend/src/main/frontend/src/index.html @@ -14,11 +14,11 @@