From 4bb02bb84245f3a8bad59f8140508dc369509b3a Mon Sep 17 00:00:00 2001 From: Rishav Date: Thu, 4 May 2017 18:11:17 +0530 Subject: [PATCH] new integration with apis --- app/css/custom.css | 88 ++- app/css/main.css | 3 - app/img/images.jpg | Bin 0 -> 6832 bytes app/index.html | 77 ++- app/js/angular-cookies.js | 320 ---------- app/js/angular-loader.js | 429 ------------- app/js/angular-resource.js | 668 --------------------- app/js/app.constant.js | 21 + app/js/app.js | 157 ++++- app/js/helpers.js | 21 + app/js/multi-step-modal.js | 127 ++++ app/js/plugins/example.js | 106 ++++ app/partials/Accept/Accept.controller.js | 11 + app/partials/Accept/Accept.html | 24 + app/partials/Accept/Accept.service.js | 13 + app/partials/AirList/AirList.controller.js | 10 + app/partials/AirList/AirList.html | 195 ++++++ app/partials/AirList/AirList.service.js | 13 + .../AntiochFlightDepartment.controller.js | 16 + .../AntiochFlightDepartment.html | 64 ++ .../AntiochFlightDepartment.service.js | 13 + app/partials/ContactView/ContactView.controller.js | 15 + app/partials/ContactView/ContactView.html | 243 ++++++++ app/partials/ContactView/ContactView.service.js | 13 + .../DispatchFuel/DispatchFuel.controller.js | 10 + app/partials/DispatchFuel/DispatchFuel.html | 57 ++ app/partials/DispatchFuel/DispatchFuel.service.js | 13 + app/partials/FuelVendors/FuelVendors.controller.js | 40 ++ app/partials/FuelVendors/FuelVendors.html | 222 +++++++ app/partials/FuelVendors/FuelVendors.service.js | 13 + app/partials/NewCompany/NewCompany.controller.js | 12 + app/partials/NewCompany/NewCompany.html | 121 ++++ app/partials/NewCompany/NewCompany.service.js | 13 + app/partials/NewCompany/addAircarft.html | 156 +++++ app/partials/account/account.service.js | 13 + app/partials/analytics/analytics.service.js | 13 + app/partials/charts/charts.service.js | 13 + app/partials/customers/customers.controller.js | 225 ++++++- app/partials/customers/customers.html | 508 ++++++++++++++-- app/partials/customers/customers.service.js | 77 +++ app/partials/dashboard/dashboard.html | 10 +- app/partials/dashboard/dashboard.service.js | 13 + app/partials/delselected/delselected.controller.js | 11 + app/partials/delselected/delselected.html | 20 + app/partials/delselected/delselected.service.js | 13 + app/partials/elements/elements.service.js | 13 + app/partials/error/error.service.js | 13 + app/partials/faq/faq.service.js | 13 + app/partials/forms/forms.service.js | 13 + app/partials/fuelManager/fuelManager.html | 2 +- app/partials/fuelManager/fuelManager.service.js | 13 + app/partials/fuelOrders/fuelOrders.controller.js | 11 + app/partials/fuelOrders/fuelOrders.html | 234 ++++++++ app/partials/fuelOrders/fuelOrders.service.js | 13 + app/partials/gallery/gallery.service.js | 13 + app/partials/jqueryui/jqueryui.service.js | 13 + app/partials/login/login.controller.js | 26 +- app/partials/login/login.service.js | 122 ++++ app/partials/main/main.html | 8 +- app/partials/main/main.service.js | 13 + app/partials/popups/popups.service.js | 13 + app/partials/pricing/pricing.service.js | 13 + .../pricingcontact/pricingcontact.controller.js | 11 + app/partials/pricingcontact/pricingcontact.html | 19 + .../pricingcontact/pricingcontact.service.js | 13 + app/partials/reports/reports.service.js | 13 + app/partials/scheduler/scheduler.html | 3 + app/partials/scheduler/scheduler.service.js | 13 + .../searchDispatchFuel.controller.js | 10 + .../searchDispatchFuel/searchDispatchFuel.html | 101 ++++ .../searchDispatchFuel.service.js | 13 + app/partials/signup/signup.service.js | 13 + .../updateFuelManager.controller.js | 14 +- .../updateFuelManager/updateFuelManager.html | 255 +++++++- .../updateFuelManager/updateFuelManager.service.js | 13 + app/partials/viewCompany/viewCompany.controller.js | 29 +- app/partials/viewCompany/viewCompany.html | 147 ++++- app/partials/viewCompany/viewCompany.service.js | 13 + .../widgetTemplate/widgetTemplate.service.js | 13 + bower.json | 9 +- 80 files changed, 3898 insertions(+), 1570 deletions(-) create mode 100644 app/img/images.jpg delete mode 100644 app/js/angular-cookies.js delete mode 100644 app/js/angular-loader.js delete mode 100644 app/js/angular-resource.js create mode 100644 app/js/app.constant.js create mode 100644 app/js/helpers.js create mode 100644 app/js/multi-step-modal.js create mode 100644 app/js/plugins/example.js create mode 100644 app/partials/Accept/Accept.controller.js create mode 100644 app/partials/Accept/Accept.html create mode 100644 app/partials/Accept/Accept.service.js create mode 100644 app/partials/AirList/AirList.controller.js create mode 100644 app/partials/AirList/AirList.html create mode 100644 app/partials/AirList/AirList.service.js create mode 100644 app/partials/AntiochFlightDepartment/AntiochFlightDepartment.controller.js create mode 100644 app/partials/AntiochFlightDepartment/AntiochFlightDepartment.html create mode 100644 app/partials/AntiochFlightDepartment/AntiochFlightDepartment.service.js create mode 100644 app/partials/ContactView/ContactView.controller.js create mode 100644 app/partials/ContactView/ContactView.html create mode 100644 app/partials/ContactView/ContactView.service.js create mode 100644 app/partials/DispatchFuel/DispatchFuel.controller.js create mode 100644 app/partials/DispatchFuel/DispatchFuel.html create mode 100644 app/partials/DispatchFuel/DispatchFuel.service.js create mode 100644 app/partials/FuelVendors/FuelVendors.controller.js create mode 100644 app/partials/FuelVendors/FuelVendors.html create mode 100644 app/partials/FuelVendors/FuelVendors.service.js create mode 100644 app/partials/NewCompany/NewCompany.controller.js create mode 100644 app/partials/NewCompany/NewCompany.html create mode 100644 app/partials/NewCompany/NewCompany.service.js create mode 100644 app/partials/NewCompany/addAircarft.html create mode 100644 app/partials/account/account.service.js create mode 100644 app/partials/analytics/analytics.service.js create mode 100644 app/partials/charts/charts.service.js create mode 100644 app/partials/customers/customers.service.js create mode 100644 app/partials/dashboard/dashboard.service.js create mode 100644 app/partials/delselected/delselected.controller.js create mode 100644 app/partials/delselected/delselected.html create mode 100644 app/partials/delselected/delselected.service.js create mode 100644 app/partials/elements/elements.service.js create mode 100644 app/partials/error/error.service.js create mode 100644 app/partials/faq/faq.service.js create mode 100644 app/partials/forms/forms.service.js create mode 100644 app/partials/fuelManager/fuelManager.service.js create mode 100644 app/partials/fuelOrders/fuelOrders.controller.js create mode 100644 app/partials/fuelOrders/fuelOrders.html create mode 100644 app/partials/fuelOrders/fuelOrders.service.js create mode 100644 app/partials/gallery/gallery.service.js create mode 100644 app/partials/jqueryui/jqueryui.service.js create mode 100644 app/partials/login/login.service.js create mode 100644 app/partials/main/main.service.js create mode 100644 app/partials/popups/popups.service.js create mode 100644 app/partials/pricing/pricing.service.js create mode 100644 app/partials/pricingcontact/pricingcontact.controller.js create mode 100644 app/partials/pricingcontact/pricingcontact.html create mode 100644 app/partials/pricingcontact/pricingcontact.service.js create mode 100644 app/partials/reports/reports.service.js create mode 100644 app/partials/scheduler/scheduler.service.js create mode 100644 app/partials/searchDispatchFuel/searchDispatchFuel.controller.js create mode 100644 app/partials/searchDispatchFuel/searchDispatchFuel.html create mode 100644 app/partials/searchDispatchFuel/searchDispatchFuel.service.js create mode 100644 app/partials/signup/signup.service.js create mode 100644 app/partials/updateFuelManager/updateFuelManager.service.js create mode 100644 app/partials/viewCompany/viewCompany.service.js create mode 100644 app/partials/widgetTemplate/widgetTemplate.service.js diff --git a/app/css/custom.css b/app/css/custom.css index 18a0990..cff2bda 100644 --- a/app/css/custom.css +++ b/app/css/custom.css @@ -69,4 +69,90 @@ table th, td{ background-color: #ff9900 !important; color: #fff !important; border: 1px solid #ff9900 !important; -} \ No newline at end of file +} +.pull-right-color{ + background-image: linear-gradient(to bottom, #1c84c6 0%, #1c84c6 100%); +} +.pull-right-setup{ + margin-bottom: 10px; + background-image: linear-gradient(to bottom, #1c84c6 0%, #1c84c6 100%); +} +.Airport{ + padding-top: 5px; +} +.src-image{ + width: 50px; + height: 50px; +} +.Accept{ + padding-top: 25px; +} +.dis{ + float: left; + margin-right:100px; +} +/*.email-password{ + width: 40px; + height: 24px; +}*/ +.email-password-icon{ + width: 10px; + height: 10px; +} +@media( max-width: 768px;){ +.btn{ +font-size: 10px !important; +} +.dis{ + float: none; + margin-right: 0px; +} +} +.Search-tabs{ + border-bottom: 0px solid #ddd; */ +} + +.customer-table table{ + width: 100%; +} +.customer-table input{ + border-radius: 0; + box-shadow: none; + border: 1px solid #e4e3e3; + padding: 0px; + font-size: 10px; + display: -webkit-inline-box; + display: inline-box; + height: 31px; +} +.customer-table select{ + border-radius: 0; + box-shadow: none; + border: 1px solid #e4e3e3; + padding: 0px; + font-size: 10px; + height: 31px; + display: -webkit-inline-box; + display: inline-box; +} +.customer-table th > label{ + font-weight: bold; + padding: 10px 5px 2px 5px; + margin-bottom: 0; +} +.customer-table td{ + padding: 5px !important; + height: auto !important; + vertical-align: middle !important; +} +.customer-table td > select{ + height: 22px !important; +} +.customer-table td > button{ + font-size: 10px; +} + +/*.new-input-label{ + margin-bottom: 0; + line-height: 34px; +}*/ \ No newline at end of file diff --git a/app/css/main.css b/app/css/main.css index 5f15297..192503f 100644 --- a/app/css/main.css +++ b/app/css/main.css @@ -24,9 +24,6 @@ background: #f3f3f3; } - - - .account-container { width: 390px; display: block; diff --git a/app/img/images.jpg b/app/img/images.jpg new file mode 100644 index 0000000000000000000000000000000000000000..17deb21b984051ca2656cd320113b3c4dba32b94 GIT binary patch literal 6832 zcmZ9Q2Rz$b8^`}0w0gU=MD43;3q|a8uNDX6t``-6G`FxU-&pGFLzQ6OF^Zd{M9QGc511>_fbhLnD#{l3M{R12h z0FMDC##0wBT{?I1;&~7&D=XU-wu@IltQSBW%$M0%K_Cz-JNp%G;a|Bq1UT7PuS#DP z5CKa_NU;4XqaY(LFASCtJ9g&Gne*q)b6&j2DJj4!APELbg2lk}A_l%r|CTzIP?fEl@0I{_xEIe&^p|sLP?wv_Fmh5Y~kz;s}xmAZ$ zG*i1XmE0$kk~JmfW`Z6N+$m{&#mtp(`}3NS49pRRcXSZE>#ZwdqdioX#}g+iiNBs~ zg7ZURWMazsyZU$j%cjI8_{H!;-6HG-BvV9JOd{O}120 zmsQj{Sd#FXx8;xAn}SEA3f41aqNDXx5s(grOhF;HfSaE-KHj|c&jO%VjEr>Ts7#*Y z4?BG(!|!CofO|?(x$Z}j&6kCTT$27q^0Vh zE=ZKG?2oVQAY5+m8+Y;Wgp2caj{jpD0M6oWw)B7s8!)?s&9`80Y}8aMhs?~%B!a-p zv#E7X|F#TSD6g)(Qzk&s)i(d?y1T$|CbhU#{e{Zjvap|$?l)X@*^2#4F^0lzYdo^s zny6^|$4~Pdi+)o#!TfKzge>392mBt|G0_6sP=1i8?2@nJKTq&x@j|^D)sFG@zmNfdsVz?!D)TtmnJvaD5VDnd z^V4ll74&7lry&D~3DAKnn1227AXqyp|EyaBfpC9R-<7e-olo>t6w$xppsU72*gv(@;}h+oZw7mcL0%`&4Q`T-rJKj ziKKyVuWJkve@{U0<=N6Qf7)S1>1ZIuYKa((_Rq2KtjlyV)>1!-^opdkKC{&iFH zb{Kj+5dQ@R>4@65$-<)Br#B37DPh@DlV6gNbVw1AYf12vC9A)A4=%JI7b{~U?wxhi z^chwwtZU+LpMe}a>^?x&&y;zO*)E9hnw#@NyQ3=x7Y+4(*6{a@suLei!GZZpnNI@MRwY zJ?$!}tp)Xi@S@2EDlI_6Vwa=i(O?E%;Q-Y+q>pLh&VIfF8BQypIJl_Qq~__jye{&E z#pK?A@>WGjs3(Pn`uRHJ&e^F9nc`}gOsCo=>UvyfS5VYUt{I<)-^H*jTrn92BZ2v+VTbB5KWO_z+etaVOK zGLSx+=$3EX+0mW&?W(_Gc~q!NMQJ!Sa+h62fOkk|zHYHbJ1%a+|y zsGsX7qV36Et+)8W2_JerfeQZukC{FMY$Ea+G_`fUO~k8q>;;8lRoPN;BAbnCQ)}=E zrSap4KkI$bB9%!mx(XIc@dj}Uvnbr~XNqBF-E={Hc=#r!b8@}UO{zn8ESa0tL<$D3H91}!pI7cC27Su=_`l%3*bo!7eJ%Ud#)uqR^&gJSxG z1SZ=z6ucXhH1EdAmMF@F`J;{XGm0OR96@77C7BZfIk|zehF0D2`@Qb)%JYeGqcu&n zNv6un9g~w-^UHZ)rD6did&q=HjiTI_-e*XCk=MBLppIZLR4K8yJF^19%&oU1y{k!t zD;QPfh>|#Kn=P6jgwx{tG~otpQLPDT9{uk9@a@B#*&6n^yFxNBfdYl!cNkH z6i^j610i*XRN%CJWYAO9232t!q`Vu{#~7@N+&hFr)omXmNz44z_`p?tWzDfDdiM%%JSG0J}BVu+U#(aP>RYT2-&F7A$x+B0beU$!I+- zsd*n$JZ5z%be#vst(@T>V!)7TW)<9+o_}LHHqQUU6!lIV`N@KXT>4u)sHDO4T279H zTMO?AFOC&EzC777@6XkKw@Qp30>`K!V$J7E^xvefJV?$_dlgt4sBy=R!7j7XDb>A4 z&r95U)pPRcjaO3}=QwA#LZO$|BBM8=Re7}sLYe2OJn(c_U3RKh$6my_!1?Ja3K7vZq+i(w`pd0ABuIZQpH=wXHJi_L^R)E ztfZjeix>{RUoYdK#+bXO%b|K&OrDseT7lM*$6tng5)f0aVSI^wd{$Q0)}HrKVT6rq zgPA>G!RAox7^%+}nauj45HUhXknuiS9=5P3A?B4lfcj?J8zHKlTZ?KNBdG9=Z?LNh zTH806X?4H+uJ!mPpG}Bzl2t1BmgAO9EEeyQzcJeAzAI44uqEA1?F~55Om>W#c#&w% zW;AAoUrR=rN69r>(6sx;ef77&YJIzebBI3xAaKyk&}K8jm($wi0r4`Y+<<3tNB0ae zor5oyF3O5e7~+7jV$#I3q_r{q{t|0HUne!8t+lgw#RN7lQv5C!HjEvHISk^+@YBog zzAM4S7Blbl!a{r>pb@=Y%D=a`BY5wgqQ#-@qi{{SjYD=Sznn*P?C7pggm?2Qv<;_M zmbDdk74L?xH9!2W3rNQeGDQX{v+V`>s0?pW3=VW(n#4;OM8jKgNPgG8Ntb|>w$s3| z39EM~+XlIk&vUljGWByV&*6{h$mhNzlQaxnAHQjPVdyHrs9|ed+ zjzd6?BW9ycUo65)8AHr9&r#~KlScQ{g4=9jRprF}8jlVzpPgGgN|OeX2{HX2en??C zA#?~_#$Gmf`_v#SUdg+*xb~aZQ(MnP` zif;C~IhrzKNnc7xiva=rfVy8nl9f#S$=mbI{C*^aPv2?CQ2^)*Ml+55Dt+1fl%u1M z$rAo3#;%iH?~TDR1r@Q+A|^0eYa}(~U)yS+bz$p{O}BbY-;nX`(&*5>8zFiGxww5X zmV7fdpIDueWnJs>n4m&$kJ0AU3ZfE$%#Fde=y|M!*vtR5!QsLDl*_!PhPqmjyq0ur zpt5qXfphTNPaOb1I40rds$c4M$RaLcFDv5^V1Iirqx#80``~zH`HZIg+;do3Dd@}| zrhj&M7QA+sQz`lV>Z?Z(4nAR$#+{#H=uwfT$L7&dY;>hw$L|Etm?OwBHILX20Uf-d zvIA+CbG@zFs&4u?BKYG}3ZzFRIE?%%1(Jj|#p=vBn*gU{;zRpHo}A z@u)sn_iN>J<&v)X$AIla04fpJSOOhxklT*%Os$nT|H`{|BV{FGaonLBsMp z#t#M)qdkQ(m~MDom~8yeh2`ZItOl1A1}oQBapD&oi2E_>t1X9sarEA4`eC$ffPN}f z-`+U@ZJVpPQ}3j(TQwv*jjm%Rgoa|{TUqlAd(zv2m3Q<86UhPT>0<+RWFiRq{vVZc zb`-E`#<)OKt|4aFjKsE+w5$-UwWlDc5?q6g&~_Z9Tpp=91bAEWd4i_}VwwR#Xacm%W2$-=`-u$xmBOll#1%#y@PpjBP@%>(@M6f}iu_h?7$Gvp%buLQp5_ ziou1cW%6{swPVuOK7OszSF}6(3sV-TK<|$p7FwEvf6B;Z&W83;MVL@!@J6q)jsYRDyhUYtiP44A8Eu``6B$C!L^* zu>Pu<(wr^%y}@X^7)o&#*XHVGZm==qMohsFWoXMcc1G(B6mj%?r0=93Y2imgn9+z* zqEd3=+$uTky|O*ZpKGzgvo&-SYN3H%USbthoCY5zdz=$T5{TtpZ|Xs~fQGfC^wF5fUX_06L`)|(3EZVmEofa-ZtM_vV^Rh_D0d`$ipe8PXehkr&t zz}M<+jGJ$g?M$H1)5*{?)o4nwBUixMCb&ZK6l<3Frk^&sty%LMaM~<`z2Q!xzO zDnj~-XrXSK^BF*pdLTA6y&MTR2S=} zQc3=Nm;B}bWkch{{m7|C4wY%$y+m`L6;SB|R$}NoX-1PcLOtiR{0F>2pVy6Y(9{65AJn9oIu&+HyA=!p_CLu-cEfdl*bXD7Pma-e!{%Kf3r zIJ-V$3jBVQ`)QIG7CWFad0S0y=~VaaLB zd>;e)B^5+Z)GI30Ht5*35MOL=J+f?ug(z&3I6$}eamr2uF~r6VP4|A_{Ly;!V6JzM zXDm-ACz)-yBB)$8(UqcCIfh*-Zk#j12ng#-NJqQtEa-V^r$3L@T4|be5iBCD{e}^~ z^!ILwyK8XCfmx=&EaVj^^<=m5gjd@mh!vkm8$RP}V$TDsUCB#zM)Hu{i$BHus#M}Q zxisIopP@F1M_l4o%(NK5G zrNl#kBxDy8-Y-^F6UJJ(0;Yt2xneQxheHNR_U(qVR_wE7AeH>-7a&+k`m3ddY))4B zvLpu3_)`?3VPeS1nWN~X;q)vB@<%KEDNdSk{F?A?I?1E_R&RIqZ$~}=;P}G_;-6a0 zxj8GJ%?)T=7#T6rMKM%*4PMXcnUf!8Rg>8ZdRL*YS<>ed%D=q|f1>g2`!JwWrVhdy zCQ6$T9cJ+pu-?_h?eCe!qim=5b!p+lPh3iG%&3Nj5o;zs&vsyJ@WN%yl1ze$ZiH60 zS5i_{!Y=gN$eZ*@y{^(PiEWJGy0ku&6 z%5X9?)si^eS+BOex@PN2;*98vS8babA3pQs!w)Wi@fSrI2Sk5+SaVK*3pO45iEK7T z)XT4CA4m=iQrNIkx`)`dZftESY|tXYRL^{^_3!O6}2DdJnr+#YMmJiFZe{R7KrH(kAFyqv18o}^t}kf&wEnghKwA`qp@(@>t){#q=MT2zrGsO*?RF<+&+3WO!T73bjO_+gQeBr1$dIEv~#u2Xw{Nf zOkfVO3W9j+1M~Q=N&w(7m+PF>{Fu(KK+e^X9siscVib_SAP$F8z)*>zpgxj|4 z(CBZKD+lbbRoD0R?Ln|E*WnrU8U}y6=z6aT{b7s!t>UElk5y4>6ph>=JeX}loGoWa zKeo;*q;aXB4vm*FFCrc6hW6^_Bm4{wGKz1leMQ^B47+T$7Wzn`gV@^mlw3;FAN{>v zeOZC00g?1FbfNr{g%aJeoTo*lITG%d>nLZ>nYAFvc{f9?VNV4rWnXW}m{~@L8J`o@ zirrn++rGhTL%*R%o>@)VAI93LAt+wnrPZOO9_8{y&CInud7{L~U4`aRQ<5; EKQ|oV + + + @@ -33,7 +36,7 @@ - + @@ -54,18 +57,27 @@ + + - + + + + + - - - - - - - - + + @@ -112,7 +118,58 @@ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/js/angular-cookies.js b/app/js/angular-cookies.js deleted file mode 100644 index aae5bb3..0000000 --- a/app/js/angular-cookies.js +++ /dev/null @@ -1,320 +0,0 @@ -/** - * @license AngularJS v1.4.0 - * (c) 2010-2015 Google, Inc. http://angularjs.org - * License: MIT - */ -(function(window, angular, undefined) {'use strict'; - -/** - * @ngdoc module - * @name ngCookies - * @description - * - * # ngCookies - * - * The `ngCookies` module provides a convenient wrapper for reading and writing browser cookies. - * - * - *
- * - * See {@link ngCookies.$cookies `$cookies`} and - * {@link ngCookies.$cookieStore `$cookieStore`} for usage. - */ - - -angular.module('ngCookies', ['ng']). - /** - * @ngdoc provider - * @name $cookiesProvider - * @description - * Use `$cookiesProvider` to change the default behavior of the {@link ngCookies.$cookies $cookies} service. - * */ - provider('$cookies', [function $CookiesProvider() { - /** - * @ngdoc property - * @name $cookiesProvider#defaults - * @description - * - * Object containing default options to pass when setting cookies. - * - * The object may have following properties: - * - * - **path** - `{string}` - The cookie will be available only for this path and its - * sub-paths. By default, this would be the URL that appears in your base tag. - * - **domain** - `{string}` - The cookie will be available only for this domain and - * its sub-domains. For obvious security reasons the user agent will not accept the - * cookie if the current domain is not a sub domain or equals to the requested domain. - * - **expires** - `{string|Date}` - String of the form "Wdy, DD Mon YYYY HH:MM:SS GMT" - * or a Date object indicating the exact date/time this cookie will expire. - * - **secure** - `{boolean}` - The cookie will be available only in secured connection. - * - * Note: by default the address that appears in your tag will be used as path. - * This is import so that cookies will be visible for all routes in case html5mode is enabled - * - **/ - var defaults = this.defaults = {}; - - function calcOptions(options) { - return options ? angular.extend({}, defaults, options) : defaults; - } - - /** - * @ngdoc service - * @name $cookies - * - * @description - * Provides read/write access to browser's cookies. - * - * BREAKING CHANGE: `$cookies` no longer exposes properties that represent the - * current browser cookie values. Now you must use the get/put/remove/etc. methods - * as described below. - * - * Requires the {@link ngCookies `ngCookies`} module to be installed. - * - * @example - * - * ```js - * angular.module('cookiesExample', ['ngCookies']) - * .controller('ExampleController', ['$cookies', function($cookies) { - * // Retrieving a cookie - * var favoriteCookie = $cookies.get('myFavorite'); - * // Setting a cookie - * $cookies.put('myFavorite', 'oatmeal'); - * }]); - * ``` - */ - this.$get = ['$$cookieReader', '$$cookieWriter', function($$cookieReader, $$cookieWriter) { - return { - /** - * @ngdoc method - * @name $cookies#get - * - * @description - * Returns the value of given cookie key - * - * @param {string} key Id to use for lookup. - * @returns {string} Raw cookie value. - */ - get: function(key) { - return $$cookieReader()[key]; - }, - - /** - * @ngdoc method - * @name $cookies#getObject - * - * @description - * Returns the deserialized value of given cookie key - * - * @param {string} key Id to use for lookup. - * @returns {Object} Deserialized cookie value. - */ - getObject: function(key) { - var value = this.get(key); - return value ? angular.fromJson(value) : value; - }, - - /** - * @ngdoc method - * @name $cookies#getAll - * - * @description - * Returns a key value object with all the cookies - * - * @returns {Object} All cookies - */ - getAll: function() { - return $$cookieReader(); - }, - - /** - * @ngdoc method - * @name $cookies#put - * - * @description - * Sets a value for given cookie key - * - * @param {string} key Id for the `value`. - * @param {string} value Raw value to be stored. - * @param {Object=} options Options object. - * See {@link ngCookies.$cookiesProvider#defaults $cookiesProvider.defaults} - */ - put: function(key, value, options) { - $$cookieWriter(key, value, calcOptions(options)); - }, - - /** - * @ngdoc method - * @name $cookies#putObject - * - * @description - * Serializes and sets a value for given cookie key - * - * @param {string} key Id for the `value`. - * @param {Object} value Value to be stored. - * @param {Object=} options Options object. - * See {@link ngCookies.$cookiesProvider#defaults $cookiesProvider.defaults} - */ - putObject: function(key, value, options) { - this.put(key, angular.toJson(value), options); - }, - - /** - * @ngdoc method - * @name $cookies#remove - * - * @description - * Remove given cookie - * - * @param {string} key Id of the key-value pair to delete. - * @param {Object=} options Options object. - * See {@link ngCookies.$cookiesProvider#defaults $cookiesProvider.defaults} - */ - remove: function(key, options) { - $$cookieWriter(key, undefined, calcOptions(options)); - } - }; - }]; - }]); - -angular.module('ngCookies'). -/** - * @ngdoc service - * @name $cookieStore - * @deprecated - * @requires $cookies - * - * @description - * Provides a key-value (string-object) storage, that is backed by session cookies. - * Objects put or retrieved from this storage are automatically serialized or - * deserialized by angular's toJson/fromJson. - * - * Requires the {@link ngCookies `ngCookies`} module to be installed. - * - *
- * **Note:** The $cookieStore service is deprecated. - * Please use the {@link ngCookies.$cookies `$cookies`} service instead. - *
- * - * @example - * - * ```js - * angular.module('cookieStoreExample', ['ngCookies']) - * .controller('ExampleController', ['$cookieStore', function($cookieStore) { - * // Put cookie - * $cookieStore.put('myFavorite','oatmeal'); - * // Get cookie - * var favoriteCookie = $cookieStore.get('myFavorite'); - * // Removing a cookie - * $cookieStore.remove('myFavorite'); - * }]); - * ``` - */ - factory('$cookieStore', ['$cookies', function($cookies) { - - return { - /** - * @ngdoc method - * @name $cookieStore#get - * - * @description - * Returns the value of given cookie key - * - * @param {string} key Id to use for lookup. - * @returns {Object} Deserialized cookie value, undefined if the cookie does not exist. - */ - get: function(key) { - return $cookies.getObject(key); - }, - - /** - * @ngdoc method - * @name $cookieStore#put - * - * @description - * Sets a value for given cookie key - * - * @param {string} key Id for the `value`. - * @param {Object} value Value to be stored. - */ - put: function(key, value) { - $cookies.putObject(key, value); - }, - - /** - * @ngdoc method - * @name $cookieStore#remove - * - * @description - * Remove given cookie - * - * @param {string} key Id of the key-value pair to delete. - */ - remove: function(key) { - $cookies.remove(key); - } - }; - - }]); - -/** - * @name $$cookieWriter - * @requires $document - * - * @description - * This is a private service for writing cookies - * - * @param {string} name Cookie name - * @param {string=} value Cookie value (if undefined, cookie will be deleted) - * @param {Object=} options Object with options that need to be stored for the cookie. - */ -function $$CookieWriter($document, $log, $browser) { - var cookiePath = $browser.baseHref(); - var rawDocument = $document[0]; - - function buildCookieString(name, value, options) { - var path, expires; - options = options || {}; - expires = options.expires; - path = angular.isDefined(options.path) ? options.path : cookiePath; - if (value === undefined) { - expires = 'Thu, 01 Jan 1970 00:00:00 GMT'; - value = ''; - } - if (angular.isString(expires)) { - expires = new Date(expires); - } - - var str = encodeURIComponent(name) + '=' + encodeURIComponent(value); - str += path ? ';path=' + path : ''; - str += options.domain ? ';domain=' + options.domain : ''; - str += expires ? ';expires=' + expires.toUTCString() : ''; - str += options.secure ? ';secure' : ''; - - // per http://www.ietf.org/rfc/rfc2109.txt browser must allow at minimum: - // - 300 cookies - // - 20 cookies per unique domain - // - 4096 bytes per cookie - var cookieLength = str.length + 1; - if (cookieLength > 4096) { - $log.warn("Cookie '" + name + - "' possibly not set or overflowed because it was too large (" + - cookieLength + " > 4096 bytes)!"); - } - - return str; - } - - return function(name, value, options) { - rawDocument.cookie = buildCookieString(name, value, options); - }; -} - -$$CookieWriter.$inject = ['$document', '$log', '$browser']; - -angular.module('ngCookies').provider('$$cookieWriter', function $$CookieWriterProvider() { - this.$get = $$CookieWriter; -}); - - -})(window, window.angular); diff --git a/app/js/angular-loader.js b/app/js/angular-loader.js deleted file mode 100644 index 04fa08f..0000000 --- a/app/js/angular-loader.js +++ /dev/null @@ -1,429 +0,0 @@ -/** - * @license AngularJS v1.4.0 - * (c) 2010-2015 Google, Inc. http://angularjs.org - * License: MIT - */ - -(function() {'use strict'; - -/** - * @description - * - * This object provides a utility for producing rich Error messages within - * Angular. It can be called as follows: - * - * var exampleMinErr = minErr('example'); - * throw exampleMinErr('one', 'This {0} is {1}', foo, bar); - * - * The above creates an instance of minErr in the example namespace. The - * resulting error will have a namespaced error code of example.one. The - * resulting error will replace {0} with the value of foo, and {1} with the - * value of bar. The object is not restricted in the number of arguments it can - * take. - * - * If fewer arguments are specified than necessary for interpolation, the extra - * interpolation markers will be preserved in the final string. - * - * Since data will be parsed statically during a build step, some restrictions - * are applied with respect to how minErr instances are created and called. - * Instances should have names of the form namespaceMinErr for a minErr created - * using minErr('namespace') . Error codes, namespaces and template strings - * should all be static strings, not variables or general expressions. - * - * @param {string} module The namespace to use for the new minErr instance. - * @param {function} ErrorConstructor Custom error constructor to be instantiated when returning - * error from returned function, for cases when a particular type of error is useful. - * @returns {function(code:string, template:string, ...templateArgs): Error} minErr instance - */ - -function minErr(module, ErrorConstructor) { - ErrorConstructor = ErrorConstructor || Error; - return function() { - var SKIP_INDEXES = 2; - - var templateArgs = arguments, - code = templateArgs[0], - message = '[' + (module ? module + ':' : '') + code + '] ', - template = templateArgs[1], - paramPrefix, i; - - message += template.replace(/\{\d+\}/g, function(match) { - var index = +match.slice(1, -1), - shiftedIndex = index + SKIP_INDEXES; - - if (shiftedIndex < templateArgs.length) { - return toDebugString(templateArgs[shiftedIndex]); - } - - return match; - }); - - message += '\nhttp://errors.angularjs.org/1.4.0/' + - (module ? module + '/' : '') + code; - - for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { - message += paramPrefix + 'p' + (i - SKIP_INDEXES) + '=' + - encodeURIComponent(toDebugString(templateArgs[i])); - } - - return new ErrorConstructor(message); - }; -} - -/** - * @ngdoc type - * @name angular.Module - * @module ng - * @description - * - * Interface for configuring angular {@link angular.module modules}. - */ - -function setupModuleLoader(window) { - - var $injectorMinErr = minErr('$injector'); - var ngMinErr = minErr('ng'); - - function ensure(obj, name, factory) { - return obj[name] || (obj[name] = factory()); - } - - var angular = ensure(window, 'angular', Object); - - // We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap - angular.$$minErr = angular.$$minErr || minErr; - - return ensure(angular, 'module', function() { - /** @type {Object.} */ - var modules = {}; - - /** - * @ngdoc function - * @name angular.module - * @module ng - * @description - * - * The `angular.module` is a global place for creating, registering and retrieving Angular - * modules. - * All modules (angular core or 3rd party) that should be available to an application must be - * registered using this mechanism. - * - * When passed two or more arguments, a new module is created. If passed only one argument, an - * existing module (the name passed as the first argument to `module`) is retrieved. - * - * - * # Module - * - * A module is a collection of services, directives, controllers, filters, and configuration information. - * `angular.module` is used to configure the {@link auto.$injector $injector}. - * - * ```js - * // Create a new module - * var myModule = angular.module('myModule', []); - * - * // register a new service - * myModule.value('appName', 'MyCoolApp'); - * - * // configure existing services inside initialization blocks. - * myModule.config(['$locationProvider', function($locationProvider) { - * // Configure existing providers - * $locationProvider.hashPrefix('!'); - * }]); - * ``` - * - * Then you can create an injector and load your modules like this: - * - * ```js - * var injector = angular.injector(['ng', 'myModule']) - * ``` - * - * However it's more likely that you'll just use - * {@link ng.directive:ngApp ngApp} or - * {@link angular.bootstrap} to simplify this process for you. - * - * @param {!string} name The name of the module to create or retrieve. - * @param {!Array.=} requires If specified then new module is being created. If - * unspecified then the module is being retrieved for further configuration. - * @param {Function=} configFn Optional configuration function for the module. Same as - * {@link angular.Module#config Module#config()}. - * @returns {module} new module with the {@link angular.Module} api. - */ - return function module(name, requires, configFn) { - var assertNotHasOwnProperty = function(name, context) { - if (name === 'hasOwnProperty') { - throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context); - } - }; - - assertNotHasOwnProperty(name, 'module'); - if (requires && modules.hasOwnProperty(name)) { - modules[name] = null; - } - return ensure(modules, name, function() { - if (!requires) { - throw $injectorMinErr('nomod', "Module '{0}' is not available! You either misspelled " + - "the module name or forgot to load it. If registering a module ensure that you " + - "specify the dependencies as the second argument.", name); - } - - /** @type {!Array.>} */ - var invokeQueue = []; - - /** @type {!Array.} */ - var configBlocks = []; - - /** @type {!Array.} */ - var runBlocks = []; - - var config = invokeLater('$injector', 'invoke', 'push', configBlocks); - - /** @type {angular.Module} */ - var moduleInstance = { - // Private state - _invokeQueue: invokeQueue, - _configBlocks: configBlocks, - _runBlocks: runBlocks, - - /** - * @ngdoc property - * @name angular.Module#requires - * @module ng - * - * @description - * Holds the list of modules which the injector will load before the current module is - * loaded. - */ - requires: requires, - - /** - * @ngdoc property - * @name angular.Module#name - * @module ng - * - * @description - * Name of the module. - */ - name: name, - - - /** - * @ngdoc method - * @name angular.Module#provider - * @module ng - * @param {string} name service name - * @param {Function} providerType Construction function for creating new instance of the - * service. - * @description - * See {@link auto.$provide#provider $provide.provider()}. - */ - provider: invokeLater('$provide', 'provider'), - - /** - * @ngdoc method - * @name angular.Module#factory - * @module ng - * @param {string} name service name - * @param {Function} providerFunction Function for creating new instance of the service. - * @description - * See {@link auto.$provide#factory $provide.factory()}. - */ - factory: invokeLater('$provide', 'factory'), - - /** - * @ngdoc method - * @name angular.Module#service - * @module ng - * @param {string} name service name - * @param {Function} constructor A constructor function that will be instantiated. - * @description - * See {@link auto.$provide#service $provide.service()}. - */ - service: invokeLater('$provide', 'service'), - - /** - * @ngdoc method - * @name angular.Module#value - * @module ng - * @param {string} name service name - * @param {*} object Service instance object. - * @description - * See {@link auto.$provide#value $provide.value()}. - */ - value: invokeLater('$provide', 'value'), - - /** - * @ngdoc method - * @name angular.Module#constant - * @module ng - * @param {string} name constant name - * @param {*} object Constant value. - * @description - * Because the constant are fixed, they get applied before other provide methods. - * See {@link auto.$provide#constant $provide.constant()}. - */ - constant: invokeLater('$provide', 'constant', 'unshift'), - - /** - * @ngdoc method - * @name angular.Module#decorator - * @module ng - * @param {string} The name of the service to decorate. - * @param {Function} This function will be invoked when the service needs to be - * instantiated and should return the decorated service instance. - * @description - * See {@link auto.$provide#decorator $provide.decorator()}. - */ - decorator: invokeLater('$provide', 'decorator'), - - /** - * @ngdoc method - * @name angular.Module#animation - * @module ng - * @param {string} name animation name - * @param {Function} animationFactory Factory function for creating new instance of an - * animation. - * @description - * - * **NOTE**: animations take effect only if the **ngAnimate** module is loaded. - * - * - * Defines an animation hook that can be later used with - * {@link $animate $animate} service and directives that use this service. - * - * ```js - * module.animation('.animation-name', function($inject1, $inject2) { - * return { - * eventName : function(element, done) { - * //code to run the animation - * //once complete, then run done() - * return function cancellationFunction(element) { - * //code to cancel the animation - * } - * } - * } - * }) - * ``` - * - * See {@link ng.$animateProvider#register $animateProvider.register()} and - * {@link ngAnimate ngAnimate module} for more information. - */ - animation: invokeLater('$animateProvider', 'register'), - - /** - * @ngdoc method - * @name angular.Module#filter - * @module ng - * @param {string} name Filter name - this must be a valid angular expression identifier - * @param {Function} filterFactory Factory function for creating new instance of filter. - * @description - * See {@link ng.$filterProvider#register $filterProvider.register()}. - * - *
- * **Note:** Filter names must be valid angular {@link expression} identifiers, such as `uppercase` or `orderBy`. - * Names with special characters, such as hyphens and dots, are not allowed. If you wish to namespace - * your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores - * (`myapp_subsection_filterx`). - *
- */ - filter: invokeLater('$filterProvider', 'register'), - - /** - * @ngdoc method - * @name angular.Module#controller - * @module ng - * @param {string|Object} name Controller name, or an object map of controllers where the - * keys are the names and the values are the constructors. - * @param {Function} constructor Controller constructor function. - * @description - * See {@link ng.$controllerProvider#register $controllerProvider.register()}. - */ - controller: invokeLater('$controllerProvider', 'register'), - - /** - * @ngdoc method - * @name angular.Module#directive - * @module ng - * @param {string|Object} name Directive name, or an object map of directives where the - * keys are the names and the values are the factories. - * @param {Function} directiveFactory Factory function for creating new instance of - * directives. - * @description - * See {@link ng.$compileProvider#directive $compileProvider.directive()}. - */ - directive: invokeLater('$compileProvider', 'directive'), - - /** - * @ngdoc method - * @name angular.Module#config - * @module ng - * @param {Function} configFn Execute this function on module load. Useful for service - * configuration. - * @description - * Use this method to register work which needs to be performed on module loading. - * For more about how to configure services, see - * {@link providers#provider-recipe Provider Recipe}. - */ - config: config, - - /** - * @ngdoc method - * @name angular.Module#run - * @module ng - * @param {Function} initializationFn Execute this function after injector creation. - * Useful for application initialization. - * @description - * Use this method to register work which should be performed when the injector is done - * loading all modules. - */ - run: function(block) { - runBlocks.push(block); - return this; - } - }; - - if (configFn) { - config(configFn); - } - - return moduleInstance; - - /** - * @param {string} provider - * @param {string} method - * @param {String=} insertMethod - * @returns {angular.Module} - */ - function invokeLater(provider, method, insertMethod, queue) { - if (!queue) queue = invokeQueue; - return function() { - queue[insertMethod || 'push']([provider, method, arguments]); - return moduleInstance; - }; - } - }); - }; - }); - -} - -setupModuleLoader(window); -})(window); - -/** - * Closure compiler type information - * - * @typedef { { - * requires: !Array., - * invokeQueue: !Array.>, - * - * service: function(string, Function):angular.Module, - * factory: function(string, Function):angular.Module, - * value: function(string, *):angular.Module, - * - * filter: function(string, Function):angular.Module, - * - * init: function(Function):angular.Module - * } } - */ -angular.Module; - diff --git a/app/js/angular-resource.js b/app/js/angular-resource.js deleted file mode 100644 index dc748e5..0000000 --- a/app/js/angular-resource.js +++ /dev/null @@ -1,668 +0,0 @@ -/** - * @license AngularJS v1.4.0 - * (c) 2010-2015 Google, Inc. http://angularjs.org - * License: MIT - */ -(function(window, angular, undefined) {'use strict'; - -var $resourceMinErr = angular.$$minErr('$resource'); - -// Helper functions and regex to lookup a dotted path on an object -// stopping at undefined/null. The path must be composed of ASCII -// identifiers (just like $parse) -var MEMBER_NAME_REGEX = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/; - -function isValidDottedPath(path) { - return (path != null && path !== '' && path !== 'hasOwnProperty' && - MEMBER_NAME_REGEX.test('.' + path)); -} - -function lookupDottedPath(obj, path) { - if (!isValidDottedPath(path)) { - throw $resourceMinErr('badmember', 'Dotted member path "@{0}" is invalid.', path); - } - var keys = path.split('.'); - for (var i = 0, ii = keys.length; i < ii && obj !== undefined; i++) { - var key = keys[i]; - obj = (obj !== null) ? obj[key] : undefined; - } - return obj; -} - -/** - * Create a shallow copy of an object and clear other fields from the destination - */ -function shallowClearAndCopy(src, dst) { - dst = dst || {}; - - angular.forEach(dst, function(value, key) { - delete dst[key]; - }); - - for (var key in src) { - if (src.hasOwnProperty(key) && !(key.charAt(0) === '$' && key.charAt(1) === '$')) { - dst[key] = src[key]; - } - } - - return dst; -} - -/** - * @ngdoc module - * @name ngResource - * @description - * - * # ngResource - * - * The `ngResource` module provides interaction support with RESTful services - * via the $resource service. - * - * - *
- * - * See {@link ngResource.$resource `$resource`} for usage. - */ - -/** - * @ngdoc service - * @name $resource - * @requires $http - * - * @description - * A factory which creates a resource object that lets you interact with - * [RESTful](http://en.wikipedia.org/wiki/Representational_State_Transfer) server-side data sources. - * - * The returned resource object has action methods which provide high-level behaviors without - * the need to interact with the low level {@link ng.$http $http} service. - * - * Requires the {@link ngResource `ngResource`} module to be installed. - * - * By default, trailing slashes will be stripped from the calculated URLs, - * which can pose problems with server backends that do not expect that - * behavior. This can be disabled by configuring the `$resourceProvider` like - * this: - * - * ```js - app.config(['$resourceProvider', function($resourceProvider) { - // Don't strip trailing slashes from calculated URLs - $resourceProvider.defaults.stripTrailingSlashes = false; - }]); - * ``` - * - * @param {string} url A parameterized URL template with parameters prefixed by `:` as in - * `/user/:username`. If you are using a URL with a port number (e.g. - * `http://example.com:8080/api`), it will be respected. - * - * If you are using a url with a suffix, just add the suffix, like this: - * `$resource('http://example.com/resource.json')` or `$resource('http://example.com/:id.json')` - * or even `$resource('http://example.com/resource/:resource_id.:format')` - * If the parameter before the suffix is empty, :resource_id in this case, then the `/.` will be - * collapsed down to a single `.`. If you need this sequence to appear and not collapse then you - * can escape it with `/\.`. - * - * @param {Object=} paramDefaults Default values for `url` parameters. These can be overridden in - * `actions` methods. If any of the parameter value is a function, it will be executed every time - * when a param value needs to be obtained for a request (unless the param was overridden). - * - * Each key value in the parameter object is first bound to url template if present and then any - * excess keys are appended to the url search query after the `?`. - * - * Given a template `/path/:verb` and parameter `{verb:'greet', salutation:'Hello'}` results in - * URL `/path/greet?salutation=Hello`. - * - * If the parameter value is prefixed with `@` then the value for that parameter will be extracted - * from the corresponding property on the `data` object (provided when calling an action method). For - * example, if the `defaultParam` object is `{someParam: '@someProp'}` then the value of `someParam` - * will be `data.someProp`. - * - * @param {Object.=} actions Hash with declaration of custom actions that should extend - * the default set of resource actions. The declaration should be created in the format of {@link - * ng.$http#usage $http.config}: - * - * {action1: {method:?, params:?, isArray:?, headers:?, ...}, - * action2: {method:?, params:?, isArray:?, headers:?, ...}, - * ...} - * - * Where: - * - * - **`action`** – {string} – The name of action. This name becomes the name of the method on - * your resource object. - * - **`method`** – {string} – Case insensitive HTTP method (e.g. `GET`, `POST`, `PUT`, - * `DELETE`, `JSONP`, etc). - * - **`params`** – {Object=} – Optional set of pre-bound parameters for this action. If any of - * the parameter value is a function, it will be executed every time when a param value needs to - * be obtained for a request (unless the param was overridden). - * - **`url`** – {string} – action specific `url` override. The url templating is supported just - * like for the resource-level urls. - * - **`isArray`** – {boolean=} – If true then the returned object for this action is an array, - * see `returns` section. - * - **`transformRequest`** – - * `{function(data, headersGetter)|Array.}` – - * transform function or an array of such functions. The transform function takes the http - * request body and headers and returns its transformed (typically serialized) version. - * By default, transformRequest will contain one function that checks if the request data is - * an object and serializes to using `angular.toJson`. To prevent this behavior, set - * `transformRequest` to an empty array: `transformRequest: []` - * - **`transformResponse`** – - * `{function(data, headersGetter)|Array.}` – - * transform function or an array of such functions. The transform function takes the http - * response body and headers and returns its transformed (typically deserialized) version. - * By default, transformResponse will contain one function that checks if the response looks like - * a JSON string and deserializes it using `angular.fromJson`. To prevent this behavior, set - * `transformResponse` to an empty array: `transformResponse: []` - * - **`cache`** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the - * GET request, otherwise if a cache instance built with - * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for - * caching. - * - **`timeout`** – `{number|Promise}` – timeout in milliseconds, or {@link ng.$q promise} that - * should abort the request when resolved. - * - **`withCredentials`** - `{boolean}` - whether to set the `withCredentials` flag on the - * XHR object. See - * [requests with credentials](https://developer.mozilla.org/en/http_access_control#section_5) - * for more information. - * - **`responseType`** - `{string}` - see - * [requestType](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType). - * - **`interceptor`** - `{Object=}` - The interceptor object has two optional methods - - * `response` and `responseError`. Both `response` and `responseError` interceptors get called - * with `http response` object. See {@link ng.$http $http interceptors}. - * - * @param {Object} options Hash with custom settings that should extend the - * default `$resourceProvider` behavior. The only supported option is - * - * Where: - * - * - **`stripTrailingSlashes`** – {boolean} – If true then the trailing - * slashes from any calculated URL will be stripped. (Defaults to true.) - * - * @returns {Object} A resource "class" object with methods for the default set of resource actions - * optionally extended with custom `actions`. The default set contains these actions: - * ```js - * { 'get': {method:'GET'}, - * 'save': {method:'POST'}, - * 'query': {method:'GET', isArray:true}, - * 'remove': {method:'DELETE'}, - * 'delete': {method:'DELETE'} }; - * ``` - * - * Calling these methods invoke an {@link ng.$http} with the specified http method, - * destination and parameters. When the data is returned from the server then the object is an - * instance of the resource class. The actions `save`, `remove` and `delete` are available on it - * as methods with the `$` prefix. This allows you to easily perform CRUD operations (create, - * read, update, delete) on server-side data like this: - * ```js - * var User = $resource('/user/:userId', {userId:'@id'}); - * var user = User.get({userId:123}, function() { - * user.abc = true; - * user.$save(); - * }); - * ``` - * - * It is important to realize that invoking a $resource object method immediately returns an - * empty reference (object or array depending on `isArray`). Once the data is returned from the - * server the existing reference is populated with the actual data. This is a useful trick since - * usually the resource is assigned to a model which is then rendered by the view. Having an empty - * object results in no rendering, once the data arrives from the server then the object is - * populated with the data and the view automatically re-renders itself showing the new data. This - * means that in most cases one never has to write a callback function for the action methods. - * - * The action methods on the class object or instance object can be invoked with the following - * parameters: - * - * - HTTP GET "class" actions: `Resource.action([parameters], [success], [error])` - * - non-GET "class" actions: `Resource.action([parameters], postData, [success], [error])` - * - non-GET instance actions: `instance.$action([parameters], [success], [error])` - * - * - * Success callback is called with (value, responseHeaders) arguments. Error callback is called - * with (httpResponse) argument. - * - * Class actions return empty instance (with additional properties below). - * Instance actions return promise of the action. - * - * The Resource instances and collection have these additional properties: - * - * - `$promise`: the {@link ng.$q promise} of the original server interaction that created this - * instance or collection. - * - * On success, the promise is resolved with the same resource instance or collection object, - * updated with data from server. This makes it easy to use in - * {@link ngRoute.$routeProvider resolve section of $routeProvider.when()} to defer view - * rendering until the resource(s) are loaded. - * - * On failure, the promise is resolved with the {@link ng.$http http response} object, without - * the `resource` property. - * - * If an interceptor object was provided, the promise will instead be resolved with the value - * returned by the interceptor. - * - * - `$resolved`: `true` after first server interaction is completed (either with success or - * rejection), `false` before that. Knowing if the Resource has been resolved is useful in - * data-binding. - * - * @example - * - * # Credit card resource - * - * ```js - // Define CreditCard class - var CreditCard = $resource('/user/:userId/card/:cardId', - {userId:123, cardId:'@id'}, { - charge: {method:'POST', params:{charge:true}} - }); - - // We can retrieve a collection from the server - var cards = CreditCard.query(function() { - // GET: /user/123/card - // server returns: [ {id:456, number:'1234', name:'Smith'} ]; - - var card = cards[0]; - // each item is an instance of CreditCard - expect(card instanceof CreditCard).toEqual(true); - card.name = "J. Smith"; - // non GET methods are mapped onto the instances - card.$save(); - // POST: /user/123/card/456 {id:456, number:'1234', name:'J. Smith'} - // server returns: {id:456, number:'1234', name: 'J. Smith'}; - - // our custom method is mapped as well. - card.$charge({amount:9.99}); - // POST: /user/123/card/456?amount=9.99&charge=true {id:456, number:'1234', name:'J. Smith'} - }); - - // we can create an instance as well - var newCard = new CreditCard({number:'0123'}); - newCard.name = "Mike Smith"; - newCard.$save(); - // POST: /user/123/card {number:'0123', name:'Mike Smith'} - // server returns: {id:789, number:'0123', name: 'Mike Smith'}; - expect(newCard.id).toEqual(789); - * ``` - * - * The object returned from this function execution is a resource "class" which has "static" method - * for each action in the definition. - * - * Calling these methods invoke `$http` on the `url` template with the given `method`, `params` and - * `headers`. - * When the data is returned from the server then the object is an instance of the resource type and - * all of the non-GET methods are available with `$` prefix. This allows you to easily support CRUD - * operations (create, read, update, delete) on server-side data. - - ```js - var User = $resource('/user/:userId', {userId:'@id'}); - User.get({userId:123}, function(user) { - user.abc = true; - user.$save(); - }); - ``` - * - * It's worth noting that the success callback for `get`, `query` and other methods gets passed - * in the response that came from the server as well as $http header getter function, so one - * could rewrite the above example and get access to http headers as: - * - ```js - var User = $resource('/user/:userId', {userId:'@id'}); - User.get({userId:123}, function(u, getResponseHeaders){ - u.abc = true; - u.$save(function(u, putResponseHeaders) { - //u => saved user object - //putResponseHeaders => $http header getter - }); - }); - ``` - * - * You can also access the raw `$http` promise via the `$promise` property on the object returned - * - ``` - var User = $resource('/user/:userId', {userId:'@id'}); - User.get({userId:123}) - .$promise.then(function(user) { - $scope.user = user; - }); - ``` - - * # Creating a custom 'PUT' request - * In this example we create a custom method on our resource to make a PUT request - * ```js - * var app = angular.module('app', ['ngResource', 'ngRoute']); - * - * // Some APIs expect a PUT request in the format URL/object/ID - * // Here we are creating an 'update' method - * app.factory('Notes', ['$resource', function($resource) { - * return $resource('/notes/:id', null, - * { - * 'update': { method:'PUT' } - * }); - * }]); - * - * // In our controller we get the ID from the URL using ngRoute and $routeParams - * // We pass in $routeParams and our Notes factory along with $scope - * app.controller('NotesCtrl', ['$scope', '$routeParams', 'Notes', - function($scope, $routeParams, Notes) { - * // First get a note object from the factory - * var note = Notes.get({ id:$routeParams.id }); - * $id = note.id; - * - * // Now call update passing in the ID first then the object you are updating - * Notes.update({ id:$id }, note); - * - * // This will PUT /notes/ID with the note object in the request payload - * }]); - * ``` - */ -angular.module('ngResource', ['ng']). - provider('$resource', function() { - var provider = this; - - this.defaults = { - // Strip slashes by default - stripTrailingSlashes: true, - - // Default actions configuration - actions: { - 'get': {method: 'GET'}, - 'save': {method: 'POST'}, - 'query': {method: 'GET', isArray: true}, - 'remove': {method: 'DELETE'}, - 'delete': {method: 'DELETE'} - } - }; - - this.$get = ['$http', '$q', function($http, $q) { - - var noop = angular.noop, - forEach = angular.forEach, - extend = angular.extend, - copy = angular.copy, - isFunction = angular.isFunction; - - /** - * We need our custom method because encodeURIComponent is too aggressive and doesn't follow - * http://www.ietf.org/rfc/rfc3986.txt with regards to the character set - * (pchar) allowed in path segments: - * segment = *pchar - * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" - * pct-encoded = "%" HEXDIG HEXDIG - * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" - * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" - * / "*" / "+" / "," / ";" / "=" - */ - function encodeUriSegment(val) { - return encodeUriQuery(val, true). - replace(/%26/gi, '&'). - replace(/%3D/gi, '='). - replace(/%2B/gi, '+'); - } - - - /** - * This method is intended for encoding *key* or *value* parts of query component. We need a - * custom method because encodeURIComponent is too aggressive and encodes stuff that doesn't - * have to be encoded per http://tools.ietf.org/html/rfc3986: - * query = *( pchar / "/" / "?" ) - * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" - * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" - * pct-encoded = "%" HEXDIG HEXDIG - * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" - * / "*" / "+" / "," / ";" / "=" - */ - function encodeUriQuery(val, pctEncodeSpaces) { - return encodeURIComponent(val). - replace(/%40/gi, '@'). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, (pctEncodeSpaces ? '%20' : '+')); - } - - function Route(template, defaults) { - this.template = template; - this.defaults = extend({}, provider.defaults, defaults); - this.urlParams = {}; - } - - Route.prototype = { - setUrlParams: function(config, params, actionUrl) { - var self = this, - url = actionUrl || self.template, - val, - encodedVal; - - var urlParams = self.urlParams = {}; - forEach(url.split(/\W/), function(param) { - if (param === 'hasOwnProperty') { - throw $resourceMinErr('badname', "hasOwnProperty is not a valid parameter name."); - } - if (!(new RegExp("^\\d+$").test(param)) && param && - (new RegExp("(^|[^\\\\]):" + param + "(\\W|$)").test(url))) { - urlParams[param] = true; - } - }); - url = url.replace(/\\:/g, ':'); - - params = params || {}; - forEach(self.urlParams, function(_, urlParam) { - val = params.hasOwnProperty(urlParam) ? params[urlParam] : self.defaults[urlParam]; - if (angular.isDefined(val) && val !== null) { - encodedVal = encodeUriSegment(val); - url = url.replace(new RegExp(":" + urlParam + "(\\W|$)", "g"), function(match, p1) { - return encodedVal + p1; - }); - } else { - url = url.replace(new RegExp("(\/?):" + urlParam + "(\\W|$)", "g"), function(match, - leadingSlashes, tail) { - if (tail.charAt(0) == '/') { - return tail; - } else { - return leadingSlashes + tail; - } - }); - } - }); - - // strip trailing slashes and set the url (unless this behavior is specifically disabled) - if (self.defaults.stripTrailingSlashes) { - url = url.replace(/\/+$/, '') || '/'; - } - - // then replace collapse `/.` if found in the last URL path segment before the query - // E.g. `http://url.com/id./format?q=x` becomes `http://url.com/id.format?q=x` - url = url.replace(/\/\.(?=\w+($|\?))/, '.'); - // replace escaped `/\.` with `/.` - config.url = url.replace(/\/\\\./, '/.'); - - - // set params - delegate param encoding to $http - forEach(params, function(value, key) { - if (!self.urlParams[key]) { - config.params = config.params || {}; - config.params[key] = value; - } - }); - } - }; - - - function resourceFactory(url, paramDefaults, actions, options) { - var route = new Route(url, options); - - actions = extend({}, provider.defaults.actions, actions); - - function extractParams(data, actionParams) { - var ids = {}; - actionParams = extend({}, paramDefaults, actionParams); - forEach(actionParams, function(value, key) { - if (isFunction(value)) { value = value(); } - ids[key] = value && value.charAt && value.charAt(0) == '@' ? - lookupDottedPath(data, value.substr(1)) : value; - }); - return ids; - } - - function defaultResponseInterceptor(response) { - return response.resource; - } - - function Resource(value) { - shallowClearAndCopy(value || {}, this); - } - - Resource.prototype.toJSON = function() { - var data = extend({}, this); - delete data.$promise; - delete data.$resolved; - return data; - }; - - forEach(actions, function(action, name) { - var hasBody = /^(POST|PUT|PATCH)$/i.test(action.method); - - Resource[name] = function(a1, a2, a3, a4) { - var params = {}, data, success, error; - - /* jshint -W086 */ /* (purposefully fall through case statements) */ - switch (arguments.length) { - case 4: - error = a4; - success = a3; - //fallthrough - case 3: - case 2: - if (isFunction(a2)) { - if (isFunction(a1)) { - success = a1; - error = a2; - break; - } - - success = a2; - error = a3; - //fallthrough - } else { - params = a1; - data = a2; - success = a3; - break; - } - case 1: - if (isFunction(a1)) success = a1; - else if (hasBody) data = a1; - else params = a1; - break; - case 0: break; - default: - throw $resourceMinErr('badargs', - "Expected up to 4 arguments [params, data, success, error], got {0} arguments", - arguments.length); - } - /* jshint +W086 */ /* (purposefully fall through case statements) */ - - var isInstanceCall = this instanceof Resource; - var value = isInstanceCall ? data : (action.isArray ? [] : new Resource(data)); - var httpConfig = {}; - var responseInterceptor = action.interceptor && action.interceptor.response || - defaultResponseInterceptor; - var responseErrorInterceptor = action.interceptor && action.interceptor.responseError || - undefined; - - forEach(action, function(value, key) { - if (key != 'params' && key != 'isArray' && key != 'interceptor') { - httpConfig[key] = copy(value); - } - }); - - if (hasBody) httpConfig.data = data; - route.setUrlParams(httpConfig, - extend({}, extractParams(data, action.params || {}), params), - action.url); - - var promise = $http(httpConfig).then(function(response) { - var data = response.data, - promise = value.$promise; - - if (data) { - // Need to convert action.isArray to boolean in case it is undefined - // jshint -W018 - if (angular.isArray(data) !== (!!action.isArray)) { - throw $resourceMinErr('badcfg', - 'Error in resource configuration for action `{0}`. Expected response to ' + - 'contain an {1} but got an {2} (Request: {3} {4})', name, action.isArray ? 'array' : 'object', - angular.isArray(data) ? 'array' : 'object', httpConfig.method, httpConfig.url); - } - // jshint +W018 - if (action.isArray) { - value.length = 0; - forEach(data, function(item) { - if (typeof item === "object") { - value.push(new Resource(item)); - } else { - // Valid JSON values may be string literals, and these should not be converted - // into objects. These items will not have access to the Resource prototype - // methods, but unfortunately there - value.push(item); - } - }); - } else { - shallowClearAndCopy(data, value); - value.$promise = promise; - } - } - - value.$resolved = true; - - response.resource = value; - - return response; - }, function(response) { - value.$resolved = true; - - (error || noop)(response); - - return $q.reject(response); - }); - - promise = promise.then( - function(response) { - var value = responseInterceptor(response); - (success || noop)(value, response.headers); - return value; - }, - responseErrorInterceptor); - - if (!isInstanceCall) { - // we are creating instance / collection - // - set the initial promise - // - return the instance / collection - value.$promise = promise; - value.$resolved = false; - - return value; - } - - // instance call - return promise; - }; - - - Resource.prototype['$' + name] = function(params, success, error) { - if (isFunction(params)) { - error = success; success = params; params = {}; - } - var result = Resource[name].call(this, params, this, success, error); - return result.$promise || result; - }; - }); - - Resource.bind = function(additionalParamDefaults) { - return resourceFactory(url, extend({}, paramDefaults, additionalParamDefaults), actions); - }; - - return Resource; - } - - return resourceFactory; - }]; - }); - - -})(window, window.angular); diff --git a/app/js/app.constant.js b/app/js/app.constant.js new file mode 100644 index 0000000..f115ddb --- /dev/null +++ b/app/js/app.constant.js @@ -0,0 +1,21 @@ +(function(){ +'use strict'; + + angular.module('acufuel') + + .constant('BASE_URL', { + //url: 'http://54.149.169.33:8080/ws' + url: 'http://192.168.1.226:8080/ws' + }) + + .constant('AUTH_EVENTS', { + updateUser: 'update-user', + notAuthorized: 'auth-not-authorized' + }) + + .constant('USER_ROLES', { + user : 'user', + admin: 'admin' + }); + +})(); \ No newline at end of file diff --git a/app/js/app.js b/app/js/app.js index a70df56..113695c 100644 --- a/app/js/app.js +++ b/app/js/app.js @@ -1,8 +1,58 @@ - 'use strict'; - angular.module('acufuel', ['ui.router', 'ngAnimate', 'ui.bootstrap']) + angular.module('acufuel', ['ngCookies', 'ngResource', 'ui.router', 'ngAnimate', 'ui.bootstrap', 'xeditable']) + + .config(['$httpProvider', function($httpProvider) { + $httpProvider.defaults.withCredentials = true; + $httpProvider.interceptors.push('myCSRF'); + $httpProvider.interceptors.push('httpRequestInterceptor'); + }]) + + + .factory('httpRequestInterceptor', ['$q', '$rootScope', '$location', function($q, $rootScope, $location) { + return { + request: function($config) { + return $config; + }, + responseError: function(rejection) { + if (rejection.status === 401) { + if($location.path() != "/login"){ + localStorage.clear(); + window.location.reload(); + } + } + return $q.reject(rejection); + } + } + }]) + + .provider('myCSRF',[function(){ + var headerName = 'X-CSRFToken'; + var cookieName = 'csrftoken'; + var allowedMethods = ['GET']; + + this.setHeaderName = function(n) { + headerName = n; + } + this.setCookieName = function(n) { + cookieName = n; + } + this.setAllowedMethods = function(n) { + allowedMethods = n; + } + this.$get = ['$cookies', function($cookies){ + return { + 'request': function(config) { + if(allowedMethods.indexOf(config.method) === -1) { + // do something on success + config.headers[headerName] = $cookies[cookieName]; + } + return config; + } + } + }]; + }]) .config( ['$locationProvider', '$stateProvider', '$urlRouterProvider', @@ -32,6 +82,16 @@ templateUrl: "partials/customers/customers.html", controller: "customersController" }) + .state("app.ContactView", { + url: "/ContactView", + templateUrl: "partials/ContactView/ContactView.html", + controller: "ContactViewController" + }) + .state("app.FuelVendors", { + url: "/FuelVendors", + templateUrl: "partials/FuelVendors/FuelVendors.html", + controller: "FuelVendorsController" + }) .state("app.analytics", { url: "/analytics", @@ -51,6 +111,11 @@ controller: "dashboardController" }) + .state("app.AirList", { + url: "/AirList", + templateUrl: "partials/AirList/AirList.html", + controller: "AirListController" + }) .state("app.elements", { url: "/elements", @@ -133,7 +198,10 @@ .state("app.updateFuelManager", { url: "/updateFuelManager", templateUrl: "partials/updateFuelManager/updateFuelManager.html", - controller: "updateFuelManagerController" + controller: "updateFuelManagerController", + // data: { + // authorizedRoles: ["fbo"], + // } }) .state("app.viewCompany", { @@ -147,8 +215,89 @@ templateUrl: "partials/widgetTemplate/widgetTemplate.html", controller: "widgetTemplateController" }) + + .state("app.fuelOrders", { + url: "/fuelOrders", + templateUrl: "partials/fuelOrders/fuelOrders.html", + controller: "fuelOrdersController" + }) + + .state("app.DispatchFuel", { + url: "/DispatchFuel", + templateUrl: "partials/DispatchFuel/DispatchFuel.html", + controller: "DispatchFuelController" + }) + + .state("app.searchDispatchFuel", { + url: "/searchDispatchFuel", + templateUrl: "partials/searchDispatchFuel/searchDispatchFuel.html", + controller: "searchDispatchFuelController" + }) + + .state("app.NewCompany", { + url: "/NewCompany", + templateUrl: "partials/NewCompany/NewCompany.html", + controller: "NewCompanyController" + }) + + .state("app.Accept", { + url: "/Accept", + templateUrl: "partials/Accept/Accept.html", + controller: "AcceptController" + }) + .state("app.delselected", { + url: "/delselected", + templateUrl: "partials/delselected/delselected.html", + controller: "delselectedController" + }) + + .state("app.pricingcontact", { + url: "/pricingcontact", + templateUrl: "partials/pricingcontact/pricingcontact.html", + controller: "pricingcontactController" + }) + + .state("app.AntiochFlightDepartment", { + url: "/AntiochFlightDepartment", + templateUrl: "partials/AntiochFlightDepartment/AntiochFlightDepartment.html", + controller: "AntiochFlightDepartmentcontroller" + }) } - ]); + ]) + + .run(['$rootScope', '$state', 'LoginService', 'AUTH_EVENTS', function($rootScope, $state, LoginService, AUTH_EVENTS) { + $rootScope.$on('$stateChangeStart', function (event, next, nextParams, fromState) { + $rootScope.currentUser = JSON.parse(window.localStorage.getItem('currentUser')); + + LoginService.isAuthorized = function (authorizedRoles) { + if (!angular.isArray(authorizedRoles)) { + authorizedRoles = [authorizedRoles]; + } + var userdata = JSON.parse(window.localStorage.getItem('currentUser')); + return (userdata? (authorizedRoles.indexOf(userdata.type) !== -1): false); + } + + if ('data' in next && 'authorizedRoles' in next.data) { + var authorizedRoles = next.data.authorizedRoles; + if (!LoginService.isAuthorized(authorizedRoles)) { + event.preventDefault(); + if($state.current.name.length == 0) { + $state.go('login') + } else { + $state.go($state.current, {}, {reload: true}); + $rootScope.$broadcast(AUTH_EVENTS.notAuthorized); + } + } + } + + if (LoginService.isAuthenticated()) { + if (next.name == 'login') { + event.preventDefault(); + $state.go('app.dashboard'); + } + } + }); + }]) diff --git a/app/js/helpers.js b/app/js/helpers.js new file mode 100644 index 0000000..299a5ce --- /dev/null +++ b/app/js/helpers.js @@ -0,0 +1,21 @@ +angular + .module('mwl.calendar.docs') + .factory('alert', function($uibModal) { + + function show(action, event) { + return $uibModal.open({ + templateUrl: 'modalContent.html', + controller: function() { + var vm = this; + vm.action = action; + vm.event = event; + }, + controllerAs: 'vm' + }); + } + + return { + show: show + }; + + }); diff --git a/app/js/multi-step-modal.js b/app/js/multi-step-modal.js new file mode 100644 index 0000000..488d708 --- /dev/null +++ b/app/js/multi-step-modal.js @@ -0,0 +1,127 @@ ++function($) { + 'use strict'; + + var modals = $('.modal.multi-step'); + + modals.each(function(idx, modal) { + var $modal = $(modal); + var $buttons = $modal.find('button.step'); + var total_num_steps = $buttons.length; + var $progress = $modal.find('.m-progress'); + var $progress_bar = $modal.find('.m-progress-bar'); + var $progress_stats = $modal.find('.m-progress-stats'); + var $progress_current = $modal.find('.m-progress-current'); + var $progress_total = $modal.find('.m-progress-total'); + var $progress_complete = $modal.find('.m-progress-complete'); + var reset_on_close = $modal.attr('reset-on-close') === 'true'; + + function reset() { + $modal.find('.step').hide(); + $modal.find('[data-step]').hide(); + } + + function completeSteps() { + $progress_stats.hide(); + $progress_complete.show(); + $modal.find('.progress-text').animate({ + top: '-2em' + }); + $modal.find('.complete-indicator').animate({ + top: '-2em' + }); + $progress_bar.addClass('completed'); + } + + function getPercentComplete(current_step, total_steps) { + return Math.min(current_step / total_steps * 100, 100) + '%'; + } + + function updateProgress(current, total) { + $progress_bar.animate({ + width: getPercentComplete(current, total) + }); + if (current - 1 >= total_num_steps) { + completeSteps(); + } else { + $progress_current.text(current); + } + + $progress.find('[data-progress]').each(function() { + var dp = $(this); + if (dp.data().progress <= current - 1) { + dp.addClass('completed'); + } else { + dp.removeClass('completed'); + } + }); + } + + function goToStep(step) { + reset(); + var to_show = $modal.find('.step-' + step); + if (to_show.length === 0) { + // at the last step, nothing else to show + return; + } + to_show.show(); + var current = parseInt(step, 10); + updateProgress(current, total_num_steps); + findFirstFocusableInput(to_show).focus(); + } + + function findFirstFocusableInput(parent) { + var candidates = [parent.find('input'), parent.find('select'), + parent.find('textarea'),parent.find('button')], + winner = parent; + $.each(candidates, function() { + if (this.length > 0) { + winner = this[0]; + return false; + } + }); + return $(winner); + } + + function bindEventsToModal($modal) { + var data_steps = []; + $('[data-step]').each(function() { + var step = $(this).data().step; + if (step && $.inArray(step, data_steps) === -1) { + data_steps.push(step); + } + }); + + $.each(data_steps, function(i, v) { + $modal.on('next.m.' + v, {step: v}, function(e) { + goToStep(e.data.step); + }); + }); + } + + function initialize() { + reset(); + updateProgress(1, total_num_steps); + $modal.find('.step-1').show(); + $progress_complete.hide(); + $progress_total.text(total_num_steps); + bindEventsToModal($modal, total_num_steps); + $modal.data({ + total_num_steps: $buttons.length, + }); + if (reset_on_close){ + //Bootstrap 2.3.2 + $modal.on('hidden', function () { + reset(); + $modal.find('.step-1').show(); + }) + //Bootstrap 3 + $modal.on('hidden.bs.modal', function () { + reset(); + $modal.find('.step-1').show(); + }) + } + } + + initialize(); + }) +}(jQuery); \ No newline at end of file diff --git a/app/js/plugins/example.js b/app/js/plugins/example.js new file mode 100644 index 0000000..2ec2af3 --- /dev/null +++ b/app/js/plugins/example.js @@ -0,0 +1,106 @@ +angular.module('mwl.calendar.docs', ['mwl.calendar', 'ngAnimate', 'ui.bootstrap', 'colorpicker.module']); +angular + .module('mwl.calendar.docs') //you will need to declare your module with the dependencies ['mwl.calendar', 'ui.bootstrap', 'ngAnimate'] + .controller('KitchenSinkCtrl', function(moment, alert, calendarConfig) { + + var vm = this; + + //These variables MUST be set as a minimum for the calendar to work + vm.calendarView = 'month'; + vm.viewDate = new Date(); + var actions = [{ + label: '', + onClick: function(args) { + alert.show('Edited', args.calendarEvent); + } + }, { + label: '', + onClick: function(args) { + alert.show('Deleted', args.calendarEvent); + } + }]; + vm.events = [ + { + title: 'An event', + color: calendarConfig.colorTypes.warning, + startsAt: moment().startOf('week').subtract(2, 'days').add(8, 'hours').toDate(), + endsAt: moment().startOf('week').add(1, 'week').add(9, 'hours').toDate(), + draggable: true, + resizable: true, + actions: actions + }, { + title: ' Another event, with a html title', + color: calendarConfig.colorTypes.info, + startsAt: moment().subtract(1, 'day').toDate(), + endsAt: moment().add(5, 'days').toDate(), + draggable: true, + resizable: true, + actions: actions + }, { + title: 'This is a really long event title that occurs on every year', + color: calendarConfig.colorTypes.important, + startsAt: moment().startOf('day').add(7, 'hours').toDate(), + endsAt: moment().startOf('day').add(19, 'hours').toDate(), + recursOn: 'year', + draggable: true, + resizable: true, + actions: actions + } + ]; + + vm.cellIsOpen = true; + + vm.addEvent = function() { + vm.events.push({ + title: 'New event', + startsAt: moment().startOf('day').toDate(), + endsAt: moment().endOf('day').toDate(), + color: calendarConfig.colorTypes.important, + draggable: true, + resizable: true + }); + }; + + vm.eventClicked = function(event) { + alert.show('Clicked', event); + }; + + vm.eventEdited = function(event) { + alert.show('Edited', event); + }; + + vm.eventDeleted = function(event) { + alert.show('Deleted', event); + }; + + vm.eventTimesChanged = function(event) { + alert.show('Dropped or resized', event); + }; + + vm.toggle = function($event, field, event) { + $event.preventDefault(); + $event.stopPropagation(); + event[field] = !event[field]; + }; + + vm.timespanClicked = function(date, cell) { + + if (vm.calendarView === 'month') { + if ((vm.cellIsOpen && moment(date).startOf('day').isSame(moment(vm.viewDate).startOf('day'))) || cell.events.length === 0 || !cell.inMonth) { + vm.cellIsOpen = false; + } else { + vm.cellIsOpen = true; + vm.viewDate = date; + } + } else if (vm.calendarView === 'year') { + if ((vm.cellIsOpen && moment(date).startOf('month').isSame(moment(vm.viewDate).startOf('month'))) || cell.events.length === 0) { + vm.cellIsOpen = false; + } else { + vm.cellIsOpen = true; + vm.viewDate = date; + } + } + + }; + + }); diff --git a/app/partials/Accept/Accept.controller.js b/app/partials/Accept/Accept.controller.js new file mode 100644 index 0000000..5e9dfdc --- /dev/null +++ b/app/partials/Accept/Accept.controller.js @@ -0,0 +1,11 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('AcceptController', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + + }]); \ No newline at end of file diff --git a/app/partials/Accept/Accept.html b/app/partials/Accept/Accept.html new file mode 100644 index 0000000..7f9a339 --- /dev/null +++ b/app/partials/Accept/Accept.html @@ -0,0 +1,24 @@ +
+
+
+
+ +
+
+
+
+ Title:
+
+ Content:
+ +
+
+
+ + +
+
+
+
+
+
\ No newline at end of file diff --git a/app/partials/Accept/Accept.service.js b/app/partials/Accept/Accept.service.js new file mode 100644 index 0000000..3d3fdfe --- /dev/null +++ b/app/partials/Accept/Accept.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('acceptService', ['$q', '$http', 'BE', acceptService]); + + function acceptService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/AirList/AirList.controller.js b/app/partials/AirList/AirList.controller.js new file mode 100644 index 0000000..bcc4684 --- /dev/null +++ b/app/partials/AirList/AirList.controller.js @@ -0,0 +1,10 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('AirListController', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + }]); \ No newline at end of file diff --git a/app/partials/AirList/AirList.html b/app/partials/AirList/AirList.html new file mode 100644 index 0000000..c64d2d4 --- /dev/null +++ b/app/partials/AirList/AirList.html @@ -0,0 +1,195 @@ +
+
+
+
+
+ + +

Add a New Company

+
+
+
+
+
+
+ +

Aircraft List

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TailMakeModelSizeMargin
+ + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + +
+
+
+
+
+ + + + +
+ +
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/app/partials/AirList/AirList.service.js b/app/partials/AirList/AirList.service.js new file mode 100644 index 0000000..810a610 --- /dev/null +++ b/app/partials/AirList/AirList.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('AirListService', ['$q', '$http', 'BE', AirListService]); + + function AirListService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.controller.js b/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.controller.js new file mode 100644 index 0000000..a547326 --- /dev/null +++ b/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.controller.js @@ -0,0 +1,16 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('AntiochFlightDepartmentcontroller', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + $(function() { + $('#toggle-five').bootstrapToggle(); + console.log("hello"); + }) + + + }]); diff --git a/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.html b/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.html new file mode 100644 index 0000000..d7dcac9 --- /dev/null +++ b/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.html @@ -0,0 +1,64 @@ +
+
+
+
+
+ + +

Antioch Flight Department

+
+
+
+
+
+
+
+ +

Contact Detail

+
+
+
+
+
+
+
+
+

+ Monica Smith +

+
+
+ + + +
+
+
+

Reviera State Rd32

+

(310) 2342-3433

+

freed@gmail.com

+
+
+
+

Company Notes

+

This is the test data. note will be written in this

+ +
+ +
+
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.service.js b/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.service.js new file mode 100644 index 0000000..1544413 --- /dev/null +++ b/app/partials/AntiochFlightDepartment/AntiochFlightDepartment.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('AntiochFlightDepartmentService', ['$q', '$http', 'BE', AntiochFlightDepartmentService]); + + function AntiochFlightDepartmentService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/ContactView/ContactView.controller.js b/app/partials/ContactView/ContactView.controller.js new file mode 100644 index 0000000..e4154c5 --- /dev/null +++ b/app/partials/ContactView/ContactView.controller.js @@ -0,0 +1,15 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('ContactViewController', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + $(function() { + $('#toggle-one12').bootstrapToggle(); + $('#toggle-two21').bootstrapToggle(); + }) + + }]); \ No newline at end of file diff --git a/app/partials/ContactView/ContactView.html b/app/partials/ContactView/ContactView.html new file mode 100644 index 0000000..6df3d20 --- /dev/null +++ b/app/partials/ContactView/ContactView.html @@ -0,0 +1,243 @@ + +
+
+
+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
colonyGerryEst LLC(310) 555-1212(310) 555-1212AcufuelUsel 1 + Password 123
colonyGerryEst LLC(310) 555-1212(310) 555-1212AcufuelUsel 1 + + Password 123
+
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Last Name First Name Company Name Work Phone Mobile Phone Title Pricing Email Username Password
Name and inc.303423233JemmyKIAD $123
Name and inc.303423233JemmyKIAD$123
+
+
+ + +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ + + + + + + + + + +
EngineBrowser
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ \ No newline at end of file diff --git a/app/partials/ContactView/ContactView.service.js b/app/partials/ContactView/ContactView.service.js new file mode 100644 index 0000000..ad322b2 --- /dev/null +++ b/app/partials/ContactView/ContactView.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('ContactViewService', ['$q', '$http', 'BE', ContactViewService]); + + function ContactViewService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/DispatchFuel/DispatchFuel.controller.js b/app/partials/DispatchFuel/DispatchFuel.controller.js new file mode 100644 index 0000000..cf911c5 --- /dev/null +++ b/app/partials/DispatchFuel/DispatchFuel.controller.js @@ -0,0 +1,10 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('DispatchFuelController', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + }]); diff --git a/app/partials/DispatchFuel/DispatchFuel.html b/app/partials/DispatchFuel/DispatchFuel.html new file mode 100644 index 0000000..b5de18f --- /dev/null +++ b/app/partials/DispatchFuel/DispatchFuel.html @@ -0,0 +1,57 @@ +
+
+
+
+
+ + +

Search & Dispatch Fuel

+
+ +
+
+
Company
+
+ +
+
+
+
Airport
+
+ + Formats: IATA,ICAO,City or Airport Name +
+
Aircraft
+
+ +
+
+
+
Requested
Volume
+
+ +
+
+
+
+
+ +
+ +
\ No newline at end of file diff --git a/app/partials/DispatchFuel/DispatchFuel.service.js b/app/partials/DispatchFuel/DispatchFuel.service.js new file mode 100644 index 0000000..c7b022b --- /dev/null +++ b/app/partials/DispatchFuel/DispatchFuel.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('DispatchFuelService', ['$q', '$http', 'BE', DispatchFuelService]); + + function DispatchFuelService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/FuelVendors/FuelVendors.controller.js b/app/partials/FuelVendors/FuelVendors.controller.js new file mode 100644 index 0000000..b3134fd --- /dev/null +++ b/app/partials/FuelVendors/FuelVendors.controller.js @@ -0,0 +1,40 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('FuelVendorsController', ['$scope',function($scope) { + + $scope.vendorList = [{ + "companyName": "Name and inc", + "phone":"1010101010", + "contact":"jimmy", + "status":'Active', + "source": "tenant", + "allIn" : "$123" + },{ + "companyName": "Name and inc", + "phone":"1010101010", + "contact":"jimmy", + "status":'Active', + "source": "tenant", + "allIn" : "$123" + },{ + "companyName": "Name and inc", + "Fleet": 3, + "phone":"1010101010", + "contact":"jimmy", + "Base":"Kiad", + "status":'Inactive', + "source": "tenant", + "allIn" : "$123" + },{ + "companyName": "Name and inc", + "phone":"1010101010", + "contact":"jimmy", + "status":'Active', + "source": "tenant", + "allIn" : "$123" + }] + + }]); \ No newline at end of file diff --git a/app/partials/FuelVendors/FuelVendors.html b/app/partials/FuelVendors/FuelVendors.html new file mode 100644 index 0000000..c47f41b --- /dev/null +++ b/app/partials/FuelVendors/FuelVendors.html @@ -0,0 +1,222 @@ + +
+
+
+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
{{vendor.companyName}}{{vendor.phone}}{{vendor.contact}} + + + {{vendor.source}} + + {{vendor.allIn}}
+
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Last Name First Name Company Name Work Phone Mobile Phone Title Pricing Email Username Password
Name and inc.303423233JemmyKIAD$123
Name and inc.303423233JemmyKIAD$123
+
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ + + + + + + + + + +
EngineBrowser
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ \ No newline at end of file diff --git a/app/partials/FuelVendors/FuelVendors.service.js b/app/partials/FuelVendors/FuelVendors.service.js new file mode 100644 index 0000000..c1f30a9 --- /dev/null +++ b/app/partials/FuelVendors/FuelVendors.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('FuelVendorsService', ['$q', '$http', 'BE', FuelVendorsService]); + + function FuelVendorsService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/NewCompany/NewCompany.controller.js b/app/partials/NewCompany/NewCompany.controller.js new file mode 100644 index 0000000..589378d --- /dev/null +++ b/app/partials/NewCompany/NewCompany.controller.js @@ -0,0 +1,12 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('NewCompanyController', ['$scope','$uibModal', function($scope , $uibModal) { + + + $(function() { + $('#toggle-one2').bootstrapToggle(); + }) + }]); \ No newline at end of file diff --git a/app/partials/NewCompany/NewCompany.html b/app/partials/NewCompany/NewCompany.html new file mode 100644 index 0000000..64bb989 --- /dev/null +++ b/app/partials/NewCompany/NewCompany.html @@ -0,0 +1,121 @@ +
+
+
+
+
+ + +

Add a New Company

+
+
Activate     + + +
+
+
+
+
+
+
+
+    +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+

+
+
+ Relationship +
+
Check here if this is a Base Tenant
+ Check here if this is a FuelerLinx Customer
+ Check here if this is a Contract Fuel Vendor +
+
+
+
+
+
+ Master Margin +
+
+ +
+
+ Certificate Type +
+
+ +
+
+
+
+
+
Address
+
+
+
+
+
+
Address2
+
+
+
+
+
+
City
+
+
State
+
+
Zip Code
+
+
+
+
+
+
Country
+
+
Internal Note
+
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/app/partials/NewCompany/NewCompany.service.js b/app/partials/NewCompany/NewCompany.service.js new file mode 100644 index 0000000..c3332f9 --- /dev/null +++ b/app/partials/NewCompany/NewCompany.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('NewCompanyService', ['$q', '$http', 'BE', NewCompanyService]); + + function NewCompanyService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/NewCompany/addAircarft.html b/app/partials/NewCompany/addAircarft.html new file mode 100644 index 0000000..995ea2c --- /dev/null +++ b/app/partials/NewCompany/addAircarft.html @@ -0,0 +1,156 @@ + +
+
+
+
+
+ + +

Add a New Company

+
+
Activate     + + +
+
+
+
+
+
+
+ +

Aircraft List

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
TailMakeModelSizeMargin
+ + + + + + + + + +
+
+
+
+
+
+
+ +
+
+
+ + + +
+
+
+
+
+
+
\ No newline at end of file diff --git a/app/partials/account/account.service.js b/app/partials/account/account.service.js new file mode 100644 index 0000000..ab39321 --- /dev/null +++ b/app/partials/account/account.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('accountService', ['$q', '$http', 'BE', accountService]); + + function accountService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/analytics/analytics.service.js b/app/partials/analytics/analytics.service.js new file mode 100644 index 0000000..cf7fb79 --- /dev/null +++ b/app/partials/analytics/analytics.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('analyticsService', ['$q', '$http', 'BE', analyticsService]); + + function analyticsService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/charts/charts.service.js b/app/partials/charts/charts.service.js new file mode 100644 index 0000000..6ac95c1 --- /dev/null +++ b/app/partials/charts/charts.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('chartsService', ['$q', '$http', 'BE', chartsService]); + + function chartsService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/customers/customers.controller.js b/app/partials/customers/customers.controller.js index ca0b985..7f59d05 100644 --- a/app/partials/customers/customers.controller.js +++ b/app/partials/customers/customers.controller.js @@ -2,9 +2,228 @@ //Load controller angular.module('acufuel') + .controller('customersController', ['$scope', '$rootScope', '$uibModal', '$filter', 'CustomersService', customersController]); - .controller('customersController', ['$scope',function($scope) { + function customersController($scope, $rootScope, $uibModal, $filter, CustomersService) { + $(document).ready(function() { + $('#example').DataTable(); + }); + $scope.data = {}; + $scope.aircraft = {}; + $scope.data.activate = true; + $scope.customerList = [{ + "companyName": "Name and inc", + "Fleet": 3, + "phone":"1010101010", + "contact":"jimmy", + "Base":"Kiad", + "status":'Active', + "source": "tenant", + "allIn" : "$123" + },{ + "companyName": "Name and inc", + "Fleet": 3, + "phone":"1010101010", + "contact":"jimmy", + "Base":"Kiad", + "status":'Inactive', + "source": "tenant", + "allIn" : "$123" + },{ + "companyName": "Name and inc", + "Fleet": 3, + "phone":"1010101010", + "contact":"jimmy", + "Base":"Kiad", + "status":'Active', + "source": "tenant", + "allIn" : "$123" + },{ + "companyName": "Name and inc", + "Fleet": 3, + "phone":"1010101010", + "contact":"jimmy", + "Base":"Kiad", + "status":'Active', + "source": "tenant", + "allIn" : "$123" + }] - $scope.test = "Testing..."; + $(function() { + $('#toggle-one2').bootstrapToggle(); + $('#toggle-one2').change(function() { + $('#console-event').html('Toggle: ' + $(this).prop('checked')); + $scope.data.activate = $(this).prop('checked'); + }) + }) - }]); \ No newline at end of file + + + getData(); + function getData(){ + CustomersService.getAircraftMake().then(function(result) { + console.log("result", result) + $scope.aircraftMakeList = result; + $scope.aircraft.make = $scope.aircraftMakeList[0]; + CustomersService.getModal($scope.aircraft.make).then(function(result) { + $scope.aircraftModalList = result; + $scope.aircraft.model = $scope.aircraftModalList[0]; + CustomersService.getAircraftSize($scope.aircraft.make, $scope.aircraft.model).then(function(result) { + $scope.aircraftSizeList = result; + $scope.aircraft.size = $scope.aircraftSizeList[0]; + }) + }) + + }) + } + + + $scope.getModal = function(){ + var makeId = $scope.aircraft.make; + CustomersService.getModal(makeId).then(function(result) { + $scope.aircraftModalList = result; + $scope.aircraft.model = $scope.aircraftModalList[0]; + CustomersService.getAircraftSize(makeId, $scope.aircraft.model).then(function(result) { + $scope.aircraftSizeList = result; + $scope.aircraft.size = $scope.aircraftSizeList[0]; + }) + }) + } + + $scope.getSize = function(){ + CustomersService.getAircraftSize($scope.aircraft.make, $scope.aircraft.model).then(function(result) { + $scope.aircraftSizeList = result; + $scope.aircraft.size = $scope.aircraftSizeList[0]; + }) + } + + $scope.addFirstData = function(sel, step){ + // console.log($scope.data) + + // var companyData = "companyName=" + $scope.data.companyName + "&masterMargin=" + $scope.data.masterMargin + // + "&addressOne=" + $scope.data.addressOne + "&addressTwo=" + $scope.data.addressTwo + "&city=" + $scope.data.city + "&state=" + // + $scope.data.state + "&country=" + $scope.data.country + "&zipcode=" + $scope.data.zipcode + "&internalNote=" + // + $scope.data.internalNote + "&certificateType=" + $scope.data.certificateType + "&baseTenant=" + $scope.data.baseTenant + // + "&fuelerlinxCustomer=" + $scope.data.fuelerlinxCustomer + "&contractFuelVendor=" + $scope.data.contractFuelVendor + // + "&activate=" + $scope.data.activate + "&baseIcao=" + $scope.data.baseIcao; + + // CustomersService.addCompany(companyData).then(function(result) { + // console.log(result) + // $scope.accountId = result; + //$scope.aircraft.accountId = $scope.accountId; + // }) + $(sel).trigger('next.m.' + step); + getData(); + } + + $scope.users = [ + {id: 1, name: 'awesome user1', status: 2, group: 4, groupName: 'admin'}, + {id: 2, name: 'awesome user2', status: undefined, group: 3, groupName: 'vip'}, + {id: 3, name: 'awesome user3', status: 2, group: null} + ]; + + $scope.statuses = [ + {value: 1, text: 'status1'}, + {value: 2, text: 'status2'}, + {value: 3, text: 'status3'}, + {value: 4, text: 'status4'} + ]; + + $scope.groups = []; + $scope.loadGroups = function() { + return $scope.groups.length ? null : $http.get('/groups').success(function(data) { + $scope.groups = data; + }); + }; + + $scope.showGroup = function(user) { + if(user.group && $scope.groups.length) { + var selected = $filter('filter')($scope.groups, {id: user.group}); + return selected.length ? selected[0].text : 'Not set'; + } else { + return user.groupName || 'Not set'; + } + }; + + $scope.showStatus = function(user) { + var selected = []; + if(user.status) { + selected = $filter('filter')($scope.statuses, {value: user.status}); + } + return selected.length ? selected[0].text : 'Not set'; + }; + + $scope.checkName = function(data, id) { + if (id === 2 && data !== 'awesome') { + return "Username 2 should be `awesome`"; + } + }; + + // filter users to show + $scope.filterUser = function(user) { + return user.isDeleted !== true; + }; + + // mark user as deleted + $scope.deleteUser = function(id) { + var filtered = $filter('filter')($scope.users, {id: id}); + if (filtered.length) { + filtered[0].isDeleted = true; + } + }; + + // add user + $scope.addUser = function() { + $scope.users.push({ + id: $scope.users.length+1, + name: '', + status: null, + group: null, + isNew: true + }); + }; + + // cancel all changes + $scope.cancel = function() { + for (var i = $scope.users.length; i--;) { + var user = $scope.users[i]; + // undelete + if (user.isDeleted) { + delete user.isDeleted; + } + // remove new + if (user.isNew) { + $scope.users.splice(i, 1); + } + }; + }; + + // save edits + $scope.saveTable = function() { + var results = []; + for (var i = $scope.users.length; i--;) { + var user = $scope.users[i]; + // actually delete user + if (user.isDeleted) { + $scope.users.splice(i, 1); + } + // mark as not new + if (user.isNew) { + user.isNew = false; + } + + // send on server + results.push($http.post('/saveUser', user)); + } + + return $q.all(results); + }; + + $scope.appendText = function() { + getData(); + var newRow = $(' '); + $('table.addRow').append(newRow); + } + + + } \ No newline at end of file diff --git a/app/partials/customers/customers.html b/app/partials/customers/customers.html index 835936a..0022d4d 100644 --- a/app/partials/customers/customers.html +++ b/app/partials/customers/customers.html @@ -2,6 +2,73 @@ .subnavbar .mainnav > li:nth-child(3) > a{ color: #ff9900; } + + .button1 { + display: inline-block; + height: 35px; + line-height: 35px; + padding-right: 15px; + padding-left: 50px; + position: relative; + background-color:rgb(41,127,184); + color:rgb(255,255,255); + text-decoration: none; + text-transform: uppercase; + letter-spacing: 1px; + margin-bottom: 15px; + border: 0; + + + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + text-shadow:0px 1px 0px rgba(0,0,0,0.5); + -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ff123852,Positive=true)";zoom:1; + filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ff123852,Positive=true); + + -moz-box-shadow:0px 2px 2px rgba(0,0,0,0.2); + -webkit-box-shadow:0px 2px 2px rgba(0,0,0,0.2); + box-shadow:0px 2px 2px rgba(0,0,0,0.2); + -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=2,Color=#33000000,Positive=true)"; + filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=2,Color=#33000000,Positive=true); + } + + .button1 span { + position: absolute; + left: 0; + top: 0; + width: 35px; + background-color:rgba(0,0,0,0.5); + + -webkit-border-top-left-radius: 5px; + -webkit-border-bottom-left-radius: 5px; + -moz-border-radius-topleft: 5px; + -moz-border-radius-bottomleft: 5px; + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + border-right: 1px solid rgba(0,0,0,0.15); + } + + .button1:hover span, .button1.active span { + background-color:rgb(0,102,26); + border-right: 1px solid rgba(0,0,0,0.3); + } + + .button1:active { + margin-top: 2px; + margin-bottom: 13px; + + -moz-box-shadow:0px 1px 0px rgba(255,255,255,0.5); + -webkit-box-shadow:0px 1px 0px rgba(255,255,255,0.5); + box-shadow:0px 1px 0px rgba(255,255,255,0.5); + -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ccffffff,Positive=true)"; + filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ccffffff,Positive=true); + } + + .button1.turquoise { + background: #449d44; + } +
@@ -12,96 +79,90 @@
-
-
+
+
- +
- - - - + - - - - - - - - + + + + + + - - - - - - - - - - - - - - - + +
- - Company Name - - - Fleet + + - - Main Phone + + - - Primary Contact + + - - Base + + - - Status + + - - Source + + - - Margin Setting + + - - All In + +
 
Name and inc.303423233JemmyKIADTenant
{{customer.companyName}}{{customer.Fleet}}{{customer.phone}}{{customer.contact}}{{customer.Base}} - + + + $123
Name and inc.303423233JemmyKIADTenant $123{{customer.allIn}} + +
@@ -237,4 +298,333 @@
- \ No newline at end of file + + + + + + + + + + diff --git a/app/partials/customers/customers.service.js b/app/partials/customers/customers.service.js new file mode 100644 index 0000000..0ad9d4a --- /dev/null +++ b/app/partials/customers/customers.service.js @@ -0,0 +1,77 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('CustomersService', ['$q', '$http', 'BASE_URL', CustomersService]); + + function CustomersService($q, $http, BASE_URL) { + + this.addCompany = function(data) { + + var deferred = $q.defer(); + $http({ + method : 'POST', + url : BASE_URL.url +'/company', + headers : {'Content-Type': 'application/json'}, + data: data + }) + .then(function (result){ + deferred.resolve(result.data); + },function (result){ + deferred.resolve(result.data); + }) + return deferred.promise; + } + + this.getAircraftMake = function(){ + var deferred = $q.defer(); + $http({ + method : 'GET', + url : BASE_URL.url +'/fuelerlinx/acufuel/getAircraftMake', + headers : {'Content-Type': 'application/json'}, + }) + .then(function (result){ + deferred.resolve(result.data); + },function (result){ + console.log(result) + deferred.resolve(result.data); + }) + return deferred.promise; + } + + this.getAircraftSize = function(makeId, modelId){ + var deferred = $q.defer(); + $http({ + method : 'GET', + url : BASE_URL.url +'/fuelerlinx/acufuel/getAircraftSize/' +makeId + '/' +modelId, + headers : {'Content-Type': 'application/json'}, + }) + .then(function (result){ + deferred.resolve(result.data); + },function (result){ + console.log(result) + deferred.resolve(result.data); + }) + return deferred.promise; + } + + this.getModal = function(id){ + var deferred = $q.defer(); + $http({ + method : 'GET', + url : BASE_URL.url +'/fuelerlinx/acufuel/getAircraftModel/' + id, + headers : {'Content-Type': 'application/json'}, + }) + .then(function (result){ + deferred.resolve(result.data); + },function (result){ + console.log(result) + deferred.resolve(result.data); + }) + return deferred.promise; + } + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/dashboard/dashboard.html b/app/partials/dashboard/dashboard.html index 6a536d3..3d03810 100644 --- a/app/partials/dashboard/dashboard.html +++ b/app/partials/dashboard/dashboard.html @@ -42,7 +42,7 @@
Pending -
@@ -90,8 +90,8 @@
- -

Chart

+ +

Chart

@@ -139,7 +139,7 @@
-

Quick Shortcuts

+

Price Manager

@@ -196,7 +196,7 @@
- +

Messages

diff --git a/app/partials/dashboard/dashboard.service.js b/app/partials/dashboard/dashboard.service.js new file mode 100644 index 0000000..d40a97e --- /dev/null +++ b/app/partials/dashboard/dashboard.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('dashboardService', ['$q', '$http', 'BE', dashboardService]); + + function dashboardService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/delselected/delselected.controller.js b/app/partials/delselected/delselected.controller.js new file mode 100644 index 0000000..ed364d8 --- /dev/null +++ b/app/partials/delselected/delselected.controller.js @@ -0,0 +1,11 @@ + +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('delselectedController', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + }]); diff --git a/app/partials/delselected/delselected.html b/app/partials/delselected/delselected.html new file mode 100644 index 0000000..d060d28 --- /dev/null +++ b/app/partials/delselected/delselected.html @@ -0,0 +1,20 @@ +
+
+
+
+ +
+
+
+

Aer you sure that you want to permanently delete the selected element

+
+
+ + + +
+
+
+
+
+
\ No newline at end of file diff --git a/app/partials/delselected/delselected.service.js b/app/partials/delselected/delselected.service.js new file mode 100644 index 0000000..08570a1 --- /dev/null +++ b/app/partials/delselected/delselected.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('delselectedService', ['$q', '$http', 'BE', delselectedService]); + + function delselectedService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/elements/elements.service.js b/app/partials/elements/elements.service.js new file mode 100644 index 0000000..883cfba --- /dev/null +++ b/app/partials/elements/elements.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('elementsService', ['$q', '$http', 'BE', elementsService]); + + function elementsService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/error/error.service.js b/app/partials/error/error.service.js new file mode 100644 index 0000000..846e6a8 --- /dev/null +++ b/app/partials/error/error.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('errorService', ['$q', '$http', 'BE', errorService]); + + function errorService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/faq/faq.service.js b/app/partials/faq/faq.service.js new file mode 100644 index 0000000..2e65819 --- /dev/null +++ b/app/partials/faq/faq.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('faqService', ['$q', '$http', 'BE', faqService]); + + function faqService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/forms/forms.service.js b/app/partials/forms/forms.service.js new file mode 100644 index 0000000..9580cb2 --- /dev/null +++ b/app/partials/forms/forms.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('formsService', ['$q', '$http', 'BE', formsService]); + + function formsService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/fuelManager/fuelManager.html b/app/partials/fuelManager/fuelManager.html index 1639b99..dd9ebd6 100644 --- a/app/partials/fuelManager/fuelManager.html +++ b/app/partials/fuelManager/fuelManager.html @@ -8,7 +8,7 @@
- +

Ramp Fee Manager

+
  • + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + Fueling date + + + Tail # + + + FBO Name + + + Volume + + + Quoted + + + Invoiced + + + Total + + + Status + + + Attachmens +
    04/05/2017N500HGTBase FBO1000$4.4500$0.000$691.42paid
    04/05/2017N968HGTBase FBO1000$4.4500$0.000$691.42pending
    04/05/2017N300HGTBase FBO1000$4.4500$0.000$691.42Cancelled
    04/05/2017N500HGTBase FBO1000$4.4500$0.000$691.42pending
    04/05/2017N600HGTBase FBO1000$4.4500$0.000$691.42paid
    04/05/2017N500HGTBase FBO1000$4.4500$0.000$691.42Cancelled
    04/05/2017N900HGTBase FBO1000$4.4500$0.000$691.42paid
    04/05/2017N500HGTBase FBO1000$4.4500$0.000$691.42pending
    04/05/2017N580HGTBase FBO1000$4.4500$0.000$691.42Cancelled
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    + +
    + +
    + +
    + +
    diff --git a/app/partials/fuelOrders/fuelOrders.service.js b/app/partials/fuelOrders/fuelOrders.service.js new file mode 100644 index 0000000..6333c3e --- /dev/null +++ b/app/partials/fuelOrders/fuelOrders.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('fuelOrdersService', ['$q', '$http', 'BE', fuelOrdersService]); + + function fuelOrdersService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/gallery/gallery.service.js b/app/partials/gallery/gallery.service.js new file mode 100644 index 0000000..d142af3 --- /dev/null +++ b/app/partials/gallery/gallery.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('galleryService', ['$q', '$http', 'BE', galleryService]); + + function galleryService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/jqueryui/jqueryui.service.js b/app/partials/jqueryui/jqueryui.service.js new file mode 100644 index 0000000..d4d76fc --- /dev/null +++ b/app/partials/jqueryui/jqueryui.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('jqueryuiService', ['$q', '$http', 'BE', jqueryuiService]); + + function jqueryuiService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/login/login.controller.js b/app/partials/login/login.controller.js index fa23d20..ca9fe08 100644 --- a/app/partials/login/login.controller.js +++ b/app/partials/login/login.controller.js @@ -3,23 +3,19 @@ 'use strict' angular.module('acufuel') - .controller('LoginController', [ '$scope', '$filter', '$rootScope', '$state', LoginController]); + .controller('LoginController', [ '$scope', '$filter', '$rootScope', '$state', 'LoginService', LoginController]); - function LoginController($scope, $filter, $rootScope, $state) { + function LoginController($scope, $filter, $rootScope, $state, LoginService) { $scope.data = {}; - $scope.submitLogin = function() { - - $scope.data.username; - $scope.data.password; - $state.go('app.dashboard'); - // if($scope.data.username == "acufuel" && $scope.data.password == "Acufuelelite123") { - // localStorage.setItem('loginStatus', true); - // $state.go('#/main/dashboard'); - // } else { - // alert('Invalid credentials'); - // } - - } + $scope.submitLogin = function() { + var loginData = "username=" + $scope.data.username + "&password=" + $scope.data.password; + LoginService.loginUser(loginData).then(function(result) { + LoginService.authenticate(); + //LoginService.setAuth(true); + + }) + //$state.go('app.dashboard'); + } } })(); diff --git a/app/partials/login/login.service.js b/app/partials/login/login.service.js new file mode 100644 index 0000000..59a0882 --- /dev/null +++ b/app/partials/login/login.service.js @@ -0,0 +1,122 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('LoginService', ['$rootScope', '$q', '$http', '$state', 'BASE_URL', 'AUTH_EVENTS', 'USER_ROLES', LoginService]); + + function LoginService($rootScope, $q, $http, $state, BASE_URL, AUTH_EVENTS, USER_ROLES) { + var authService = {}, + username = '', + role = '', + isAuthenticated = false; + + var currentUserDetail = JSON.parse(window.localStorage.getItem("currentUser")); + console.log(currentUserDetail) + if (currentUserDetail) { + console.log('aaya') + if(currentUserDetail.type == 'ADMIN' || currentUserDetail.type == 'FBO'){ + $rootScope.isAuthenticated = true; + role = USER_ROLES.admin; + }else if(currentUserDetail.type == 'FLIGHT_DEPT'){ + $rootScope.isAuthenticated = false; + role = USER_ROLES.user; + } + } + + authService.loginUser = function(data) { + + var deferred = $q.defer(); + $http({ + method : 'POST', + url : BASE_URL.url +'/login', + headers : {'Content-Type': 'application/x-www-form-urlencoded'}, + data : data + }) + .then(function (result){ + deferred.resolve(result.data); + },function (result){ + console.log(result.data) + deferred.resolve(result.data); + }) + return deferred.promise; + } + + authService.authenticate = function() { + var deferred = $q.defer(); + $http({ + method : 'GET', + url : BASE_URL.url+'/user/authenticate', + headers : {'Content-Type': 'application/x-www-form-urlencoded'} + }).then(function (result){ + if(result.data.userProfile.userType.type == 'ADMIN' || result.data.userProfile.userType.type == 'FBO' || result.data.userProfile.userType.type == 'FLIGHT_DEPT'){ + authService.setUser(result.data); + $state.go('app.dashboard') + }else{ + localStorage.clear(); + toastr.info("Please check username and password"); + } + deferred.resolve(result.data); + },function (result){ + deferred.resolve(result.data); + }); + return deferred.promise; + } + + // authService.setAuth = function(data) { + // localStorage.setItem('loginStatus', data); + // } + + authService.logout = function(data) { + + // localStorage.clear(); + // $rootScope.isAuthenticated = false; + // $rootScope.$broadcast(AUTH_EVENTS.updateUser); + + var deferred = $q.defer(); + $http({ + method : 'POST', + url : BASE_URL.url +'/user/logout', + headers : {'Content-Type': 'application/json'}, + data : data + }) + .success(function(result) { + deferred.resolve(result.data); + }) + return deferred.promise; + } + + + + authService.getUser = function () { + return JSON.parse(window.localStorage.getItem("currentUser")); + } + + authService.setUser = function (authData) { + window.localStorage.setItem("currentUser", JSON.stringify(authData.userProfile.userType)); + if(authData.userProfile.userType.type == 'ADMIN' || authData.userProfile.userType.type == 'FBO'){ + role = USER_ROLES.admin; + $rootScope.isAuthenticated = true; + }else if(authData.userProfile.userType.type == 'FLIGHT_DEPT'){ + role = USER_ROLES.user; + $rootScope.isAuthenticated = false; + } + } + + authService.isAuthenticated = function () { + return isAuthenticated; + } + + authService.role = function () { + return role; + } + + authService.isAuthorized = function (authorizedRoles) { + if (!angular.isArray(authorizedRoles)) { + authorizedRoles = [authorizedRoles]; + } + return (authService.isAuthenticated() && authorizedRoles.indexOf(role) !== -1); + } + + return authService; + } + +})(); \ No newline at end of file diff --git a/app/partials/main/main.html b/app/partials/main/main.html index d7562a4..1865d5e 100644 --- a/app/partials/main/main.html +++ b/app/partials/main/main.html @@ -65,10 +65,10 @@ diff --git a/app/partials/main/main.service.js b/app/partials/main/main.service.js new file mode 100644 index 0000000..e77e886 --- /dev/null +++ b/app/partials/main/main.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('mainService', ['$q', '$http', 'BE', mainService]); + + function mainService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/popups/popups.service.js b/app/partials/popups/popups.service.js new file mode 100644 index 0000000..27f6de1 --- /dev/null +++ b/app/partials/popups/popups.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('popupsService', ['$q', '$http', 'BE', popupsService]); + + function popupsService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/pricing/pricing.service.js b/app/partials/pricing/pricing.service.js new file mode 100644 index 0000000..b7d7ebd --- /dev/null +++ b/app/partials/pricing/pricing.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('pricingService', ['$q', '$http', 'BE', pricingService]); + + function pricingService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/pricingcontact/pricingcontact.controller.js b/app/partials/pricingcontact/pricingcontact.controller.js new file mode 100644 index 0000000..64e42db --- /dev/null +++ b/app/partials/pricingcontact/pricingcontact.controller.js @@ -0,0 +1,11 @@ + +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('pricingcontactController', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + }]); diff --git a/app/partials/pricingcontact/pricingcontact.html b/app/partials/pricingcontact/pricingcontact.html new file mode 100644 index 0000000..9ce6b29 --- /dev/null +++ b/app/partials/pricingcontact/pricingcontact.html @@ -0,0 +1,19 @@ +
    +
    +
    +
    + +
    +
    +
    +

    Aer you sure that you want to email pricing to everyone in your contact list

    +
    +
    + + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/app/partials/pricingcontact/pricingcontact.service.js b/app/partials/pricingcontact/pricingcontact.service.js new file mode 100644 index 0000000..e79ed57 --- /dev/null +++ b/app/partials/pricingcontact/pricingcontact.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('pricingcontactService', ['$q', '$http', 'BE', pricingcontactService]); + + function pricingcontactService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/reports/reports.service.js b/app/partials/reports/reports.service.js new file mode 100644 index 0000000..037d553 --- /dev/null +++ b/app/partials/reports/reports.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('reportsService', ['$q', '$http', 'BE', reportsService]); + + function reportsService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/scheduler/scheduler.html b/app/partials/scheduler/scheduler.html index 9a1b259..49de0b7 100644 --- a/app/partials/scheduler/scheduler.html +++ b/app/partials/scheduler/scheduler.html @@ -41,12 +41,14 @@
    +
    +
    @@ -63,6 +65,7 @@
    +
    diff --git a/app/partials/scheduler/scheduler.service.js b/app/partials/scheduler/scheduler.service.js new file mode 100644 index 0000000..ae81369 --- /dev/null +++ b/app/partials/scheduler/scheduler.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('schedulerService', ['$q', '$http', 'BE', schedulerService]); + + function schedulerService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/searchDispatchFuel/searchDispatchFuel.controller.js b/app/partials/searchDispatchFuel/searchDispatchFuel.controller.js new file mode 100644 index 0000000..92adbaf --- /dev/null +++ b/app/partials/searchDispatchFuel/searchDispatchFuel.controller.js @@ -0,0 +1,10 @@ +'use strict'; + + //Load controller + angular.module('acufuel') + + .controller('searchDispatchFuelController', ['$scope',function($scope) { + + $scope.test = "Testing..."; + + }]); \ No newline at end of file diff --git a/app/partials/searchDispatchFuel/searchDispatchFuel.html b/app/partials/searchDispatchFuel/searchDispatchFuel.html new file mode 100644 index 0000000..a163f1b --- /dev/null +++ b/app/partials/searchDispatchFuel/searchDispatchFuel.html @@ -0,0 +1,101 @@ +
    +
    +
    +
    +
    + + +

    Search & Dispatch Fuel

    +
    + +
    +
    +
    Company
    +
    + +
    +
    +
    +
    Airport
    +
    + + Formats: IATA,ICAO,City or Airport Name +
    +
    Aircraft
    +
    + +
    +
    +
    +
    Requested
    Volume
    +
    + +
    +
    +
    +
    FBO Name
    +
    + +
    +
    +
    +
    Tier Break
    +
    + +
    +
    +
    +
    Uplift Date
    +
    + +
    +
    Departing FBO
    +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    + +
    \ No newline at end of file diff --git a/app/partials/searchDispatchFuel/searchDispatchFuel.service.js b/app/partials/searchDispatchFuel/searchDispatchFuel.service.js new file mode 100644 index 0000000..2f5dddc --- /dev/null +++ b/app/partials/searchDispatchFuel/searchDispatchFuel.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('searchDispatchFuelService', ['$q', '$http', 'BE', searchDispatchFuelService]); + + function searchDispatchFuelService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/signup/signup.service.js b/app/partials/signup/signup.service.js new file mode 100644 index 0000000..6ab6724 --- /dev/null +++ b/app/partials/signup/signup.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('signupService', ['$q', '$http', 'BE', signupService]); + + function signupService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/updateFuelManager/updateFuelManager.controller.js b/app/partials/updateFuelManager/updateFuelManager.controller.js index 2b61e21..147d81f 100644 --- a/app/partials/updateFuelManager/updateFuelManager.controller.js +++ b/app/partials/updateFuelManager/updateFuelManager.controller.js @@ -4,9 +4,19 @@ //Load controller angular.module('acufuel') - .controller('updateFuelManagerController', ['$scope',function($scope) { - $scope.test = "Testing..."; + .controller('updateFuelManagerController', ['$scope','$uibModal', function($scope , $uibModal) { + console.log("$uibModal",$uibModal); + $scope.yes = function(data){ + console.log('========'); + console.log('value', data); + $uibModal.yes({ + templateUrl: 'partials/pricingcontact/pricingcontact.html', + backdrop: true, + scope: $scope, + }) + } + }]); diff --git a/app/partials/updateFuelManager/updateFuelManager.html b/app/partials/updateFuelManager/updateFuelManager.html index 407d1f4..e2d3577 100644 --- a/app/partials/updateFuelManager/updateFuelManager.html +++ b/app/partials/updateFuelManager/updateFuelManager.html @@ -8,13 +8,13 @@
    - +

    Price Manager

    - + + + +
    @@ -57,11 +57,15 @@
    +
    - +

    JET-A Customer Margin Template

    +
    + +
    @@ -234,13 +238,246 @@
    +
    +
    +
    +
    +
    + +

    Queue Future Pricing

    + +
    + +
    +
    Queue Future Fuel Pricing Here
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Product CostPAP(Total)DeployNext Expiration
    Name and inc.Jemmy
    Name and inc.Jemmy
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +

    JET-A Customer Margin Template

    +
    + +
    +
    + +
    + + +
    + +
    +
    +
    +
    +
    +
    +
    +
    Omit
    +
    +
    +
    AirCraft Size
    +
    +
    +
    Ramp/Facility Fee
    +
    +
    +
    Avoidance
    +
    +
    +
    +
    + +
    +
    +

    Very Light Jet +

    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    +

    Light Jet +

    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
    +
    +
    + +
    + +
    + +
    +
    +
    - --> \ No newline at end of file diff --git a/app/partials/updateFuelManager/updateFuelManager.service.js b/app/partials/updateFuelManager/updateFuelManager.service.js new file mode 100644 index 0000000..97cb3d4 --- /dev/null +++ b/app/partials/updateFuelManager/updateFuelManager.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('updateFuelManagerService', ['$q', '$http', 'BE', updateFuelManagerService]); + + function updateFuelManagerService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/viewCompany/viewCompany.controller.js b/app/partials/viewCompany/viewCompany.controller.js index b9c694f..4467b1a 100644 --- a/app/partials/viewCompany/viewCompany.controller.js +++ b/app/partials/viewCompany/viewCompany.controller.js @@ -4,10 +4,33 @@ //Load controller angular.module('acufuel') - .controller('viewCompanyController', ['$scope',function($scope) { + .controller('viewCompanyController', ['$scope','$uibModal', function($scope , $uibModal) { + console.log("$uibModal",$uibModal); + $scope.open = function(){ + console.log("asndfsahdasd"); + $scope.editSmsModal = $uibModal.open({ + templateUrl: 'partials/NewCompany/NewCompany.html', + backdrop: true, + scope: $scope, + }) + } + $(function() { + $('#toggle-one2').bootstrapToggle(); + }) - $scope.test = "Testing..."; + $(function() { + $('#toggle-one1').bootstrapToggle(); + }) + $(function() { + $('#toggle-two').bootstrapToggle(); + }) + $(function() { + $('#toggle-three').bootstrapToggle(); + }) + $(function() { + $('#toggle-four').bootstrapToggle(); + }) + }]); - diff --git a/app/partials/viewCompany/viewCompany.html b/app/partials/viewCompany/viewCompany.html index 3db8a53..53417df 100644 --- a/app/partials/viewCompany/viewCompany.html +++ b/app/partials/viewCompany/viewCompany.html @@ -2,47 +2,104 @@ .subnavbar .mainnav > li:nth-child(3) > a{ color: #ff9900; } + .widget-content{ + padding: 10px !important; + } + .widget-content input[type="text"], .widget-content select{ + height: 31px; + padding: 0; + } + .new-label span{ + float: left; + line-height: 31px; + } + .new-label span:first-child{ + margin-right: 5px; + font-weight: bold; + } + .new-label span:last-child{ + margin-left: 5px; + } + .new-label select{ + display: -webkit-inline-box; + display: inline-box; + float: left; + } + .new-address p{ + margin-bottom: 0; + } + .new-add-select{ + padding-left: 15px; + margin: 10px 0; + } + .new-add-select select{ + width: 100px; + } + .widget{ + -moz-box-shadow: 0px 3px 8px rgba(100,100,100, 0.7); + -webkit-box-shadow: 0px 3px 8px rgba(100,100,100, 0.7); + box-shadow: 0px 3px 8px rgba(100,100,100, 0.7); + } + .optionclass { + background: #fff; + } + .timess { + float: right !important; + margin-top: 10px !important; + margin-right: 10px !important; + color: #999 !important; + cursor: pointer !important; + } -
    +
    -
    +
    - -

    Schedule

    + +

    Antioch Flight Department

    +
    -
    +
    - +

    Company Details

    -
    +
    +
    +
    +
    -
    +

    Antioch Flight Department

    -
    - + + + + + +
    -

    - Master Margin Setting - - See Aircrart List + See Aircrart List +

    @@ -52,27 +109,37 @@ CAA Member

    -
    -

    Reviera State Rd32

    -

    (310) 2342-3433

    -

    freed@gmail.com

    +
    +

    Reviera State Rd32

    +

    (310) 2342-3433

    +

    freed@gmail.com

    +
    +
    +
    -
    -

    Company Notes

    +

    Company Notes

    This is the test data. note will be written in this

    -
    +
    +
    -
    +

    Aircraft List

    +
    + +
    @@ -83,8 +150,10 @@ Make Model JET-A - JET-A(All in) + All in AVGAS + All in + @@ -105,6 +174,8 @@ + $3659 + N817C6 @@ -123,6 +194,8 @@ + $3659 + N817C6 @@ -141,6 +214,8 @@ + $3659 + N817C6 @@ -159,6 +234,8 @@ + $3659 + @@ -169,10 +246,13 @@
    -
    +

    Contact List

    +
    + +
    @@ -187,25 +267,25 @@ - + Mark Otto Dispatcher - + Mark Otto Dispatcher - + Mark Otto Dispatcher - + Mark Otto Dispatcher @@ -217,7 +297,7 @@
    -
    +

    Price Manager Reference

    @@ -286,12 +366,13 @@
    +
    - --> \ No newline at end of file diff --git a/app/partials/viewCompany/viewCompany.service.js b/app/partials/viewCompany/viewCompany.service.js new file mode 100644 index 0000000..d481f13 --- /dev/null +++ b/app/partials/viewCompany/viewCompany.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('viewCompanyService', ['$q', '$http', 'BE', viewCompanyService]); + + function viewCompanyService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/app/partials/widgetTemplate/widgetTemplate.service.js b/app/partials/widgetTemplate/widgetTemplate.service.js new file mode 100644 index 0000000..9c4f9b2 --- /dev/null +++ b/app/partials/widgetTemplate/widgetTemplate.service.js @@ -0,0 +1,13 @@ +(function(){ + 'use strict'; + angular.module('acufuel') + .service('widgetTemplateService', ['$q', '$http', 'BE', widgetTemplateService]); + + function widgetTemplateService($q, $http, BE) { + var temp = {}; + + + + } + +})(); \ No newline at end of file diff --git a/bower.json b/bower.json index 99239ba..eb0f82b 100644 --- a/bower.json +++ b/bower.json @@ -25,6 +25,13 @@ "angular-ui-router": "^0.4.2", "bootstrap-toggle": "^2.2.2", "fullcalendar": "^3.2.0", - "toastr": "^2.1.3" + "toastr": "^2.1.3", + "angular-bootstrap": "^2.5.0", + "jqGrid": "^5.2.0", + "Autocomplete": "autocomplete#^2.0.5", + "DataTables": "~1.10.15", + "angular-cookies": "~1.6.4", + "angular-resource": "~1.6.4", + "angular-xeditable": "~0.7.1" } } -- 2.0.0