Commit 956e0d9edc131752966d08172be0494789a4dd9e

Authored by Swarn Singh
1 parent ce8f52a122
Exists in master

contact view effect fix, select box issue fixed

app/css/animation.css
File was created 1 @charset "UTF-8";
2
3 /*!
4 Animate.css - http://daneden.me/animate
5 Licensed under the MIT license
6
7 Copyright (c) 2013 Daniel Eden
8
9 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12
13 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
14 */
15
16 .animated {
17 -webkit-animation-duration: 1s;
18 animation-duration: 1s;
19 -webkit-animation-fill-mode: both;
20 animation-fill-mode: both;
21 }
22
23 .animated.infinite {
24 -webkit-animation-iteration-count: infinite;
25 animation-iteration-count: infinite;
26 }
27
28 .animated.hinge {
29 -webkit-animation-duration: 2s;
30 animation-duration: 2s;
31 }
32
33 @-webkit-keyframes bounce {
34 0%, 20%, 50%, 80%, 100% {
35 -webkit-transform: translateY(0);
36 transform: translateY(0);
37 }
38
39 40% {
40 -webkit-transform: translateY(-30px);
41 transform: translateY(-30px);
42 }
43
44 60% {
45 -webkit-transform: translateY(-15px);
46 transform: translateY(-15px);
47 }
48 }
49
50 @keyframes bounce {
51 0%, 20%, 50%, 80%, 100% {
52 -webkit-transform: translateY(0);
53 -ms-transform: translateY(0);
54 transform: translateY(0);
55 }
56
57 40% {
58 -webkit-transform: translateY(-30px);
59 -ms-transform: translateY(-30px);
60 transform: translateY(-30px);
61 }
62
63 60% {
64 -webkit-transform: translateY(-15px);
65 -ms-transform: translateY(-15px);
66 transform: translateY(-15px);
67 }
68 }
69
70 .bounce {
71 -webkit-animation-name: bounce;
72 animation-name: bounce;
73 }
74
75 @-webkit-keyframes flash {
76 0%, 50%, 100% {
77 opacity: 1;
78 }
79
80 25%, 75% {
81 opacity: 0;
82 }
83 }
84
85 @keyframes flash {
86 0%, 50%, 100% {
87 opacity: 1;
88 }
89
90 25%, 75% {
91 opacity: 0;
92 }
93 }
94
95 .flash {
96 -webkit-animation-name: flash;
97 animation-name: flash;
98 }
99
100 /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
101
102 @-webkit-keyframes pulse {
103 0% {
104 -webkit-transform: scale(1);
105 transform: scale(1);
106 }
107
108 50% {
109 -webkit-transform: scale(1.1);
110 transform: scale(1.1);
111 }
112
113 100% {
114 -webkit-transform: scale(1);
115 transform: scale(1);
116 }
117 }
118
119 @keyframes pulse {
120 0% {
121 -webkit-transform: scale(1);
122 -ms-transform: scale(1);
123 transform: scale(1);
124 }
125
126 50% {
127 -webkit-transform: scale(1.1);
128 -ms-transform: scale(1.1);
129 transform: scale(1.1);
130 }
131
132 100% {
133 -webkit-transform: scale(1);
134 -ms-transform: scale(1);
135 transform: scale(1);
136 }
137 }
138
139 .pulse {
140 -webkit-animation-name: pulse;
141 animation-name: pulse;
142 }
143
144 @-webkit-keyframes rubberBand {
145 0% {
146 -webkit-transform: scale(1);
147 transform: scale(1);
148 }
149
150 30% {
151 -webkit-transform: scaleX(1.25) scaleY(0.75);
152 transform: scaleX(1.25) scaleY(0.75);
153 }
154
155 40% {
156 -webkit-transform: scaleX(0.75) scaleY(1.25);
157 transform: scaleX(0.75) scaleY(1.25);
158 }
159
160 60% {
161 -webkit-transform: scaleX(1.15) scaleY(0.85);
162 transform: scaleX(1.15) scaleY(0.85);
163 }
164
165 100% {
166 -webkit-transform: scale(1);
167 transform: scale(1);
168 }
169 }
170
171 @keyframes rubberBand {
172 0% {
173 -webkit-transform: scale(1);
174 -ms-transform: scale(1);
175 transform: scale(1);
176 }
177
178 30% {
179 -webkit-transform: scaleX(1.25) scaleY(0.75);
180 -ms-transform: scaleX(1.25) scaleY(0.75);
181 transform: scaleX(1.25) scaleY(0.75);
182 }
183
184 40% {
185 -webkit-transform: scaleX(0.75) scaleY(1.25);
186 -ms-transform: scaleX(0.75) scaleY(1.25);
187 transform: scaleX(0.75) scaleY(1.25);
188 }
189
190 60% {
191 -webkit-transform: scaleX(1.15) scaleY(0.85);
192 -ms-transform: scaleX(1.15) scaleY(0.85);
193 transform: scaleX(1.15) scaleY(0.85);
194 }
195
196 100% {
197 -webkit-transform: scale(1);
198 -ms-transform: scale(1);
199 transform: scale(1);
200 }
201 }
202
203 .rubberBand {
204 -webkit-animation-name: rubberBand;
205 animation-name: rubberBand;
206 }
207
208 @-webkit-keyframes shake {
209 0%, 100% {
210 -webkit-transform: translateX(0);
211 transform: translateX(0);
212 }
213
214 10%, 30%, 50%, 70%, 90% {
215 -webkit-transform: translateX(-10px);
216 transform: translateX(-10px);
217 }
218
219 20%, 40%, 60%, 80% {
220 -webkit-transform: translateX(10px);
221 transform: translateX(10px);
222 }
223 }
224
225 @keyframes shake {
226 0%, 100% {
227 -webkit-transform: translateX(0);
228 -ms-transform: translateX(0);
229 transform: translateX(0);
230 }
231
232 10%, 30%, 50%, 70%, 90% {
233 -webkit-transform: translateX(-10px);
234 -ms-transform: translateX(-10px);
235 transform: translateX(-10px);
236 }
237
238 20%, 40%, 60%, 80% {
239 -webkit-transform: translateX(10px);
240 -ms-transform: translateX(10px);
241 transform: translateX(10px);
242 }
243 }
244
245 .shake {
246 -webkit-animation-name: shake;
247 animation-name: shake;
248 }
249
250 @-webkit-keyframes swing {
251 20% {
252 -webkit-transform: rotate(15deg);
253 transform: rotate(15deg);
254 }
255
256 40% {
257 -webkit-transform: rotate(-10deg);
258 transform: rotate(-10deg);
259 }
260
261 60% {
262 -webkit-transform: rotate(5deg);
263 transform: rotate(5deg);
264 }
265
266 80% {
267 -webkit-transform: rotate(-5deg);
268 transform: rotate(-5deg);
269 }
270
271 100% {
272 -webkit-transform: rotate(0deg);
273 transform: rotate(0deg);
274 }
275 }
276
277 @keyframes swing {
278 20% {
279 -webkit-transform: rotate(15deg);
280 -ms-transform: rotate(15deg);
281 transform: rotate(15deg);
282 }
283
284 40% {
285 -webkit-transform: rotate(-10deg);
286 -ms-transform: rotate(-10deg);
287 transform: rotate(-10deg);
288 }
289
290 60% {
291 -webkit-transform: rotate(5deg);
292 -ms-transform: rotate(5deg);
293 transform: rotate(5deg);
294 }
295
296 80% {
297 -webkit-transform: rotate(-5deg);
298 -ms-transform: rotate(-5deg);
299 transform: rotate(-5deg);
300 }
301
302 100% {
303 -webkit-transform: rotate(0deg);
304 -ms-transform: rotate(0deg);
305 transform: rotate(0deg);
306 }
307 }
308
309 .swing {
310 -webkit-transform-origin: top center;
311 -ms-transform-origin: top center;
312 transform-origin: top center;
313 -webkit-animation-name: swing;
314 animation-name: swing;
315 }
316
317 @-webkit-keyframes tada {
318 0% {
319 -webkit-transform: scale(1);
320 transform: scale(1);
321 }
322
323 10%, 20% {
324 -webkit-transform: scale(0.9) rotate(-3deg);
325 transform: scale(0.9) rotate(-3deg);
326 }
327
328 30%, 50%, 70%, 90% {
329 -webkit-transform: scale(1.1) rotate(3deg);
330 transform: scale(1.1) rotate(3deg);
331 }
332
333 40%, 60%, 80% {
334 -webkit-transform: scale(1.1) rotate(-3deg);
335 transform: scale(1.1) rotate(-3deg);
336 }
337
338 100% {
339 -webkit-transform: scale(1) rotate(0);
340 transform: scale(1) rotate(0);
341 }
342 }
343
344 @keyframes tada {
345 0% {
346 -webkit-transform: scale(1);
347 -ms-transform: scale(1);
348 transform: scale(1);
349 }
350
351 10%, 20% {
352 -webkit-transform: scale(0.9) rotate(-3deg);
353 -ms-transform: scale(0.9) rotate(-3deg);
354 transform: scale(0.9) rotate(-3deg);
355 }
356
357 30%, 50%, 70%, 90% {
358 -webkit-transform: scale(1.1) rotate(3deg);
359 -ms-transform: scale(1.1) rotate(3deg);
360 transform: scale(1.1) rotate(3deg);
361 }
362
363 40%, 60%, 80% {
364 -webkit-transform: scale(1.1) rotate(-3deg);
365 -ms-transform: scale(1.1) rotate(-3deg);
366 transform: scale(1.1) rotate(-3deg);
367 }
368
369 100% {
370 -webkit-transform: scale(1) rotate(0);
371 -ms-transform: scale(1) rotate(0);
372 transform: scale(1) rotate(0);
373 }
374 }
375
376 .tada {
377 -webkit-animation-name: tada;
378 animation-name: tada;
379 }
380
381 /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
382
383 @-webkit-keyframes wobble {
384 0% {
385 -webkit-transform: translateX(0%);
386 transform: translateX(0%);
387 }
388
389 15% {
390 -webkit-transform: translateX(-25%) rotate(-5deg);
391 transform: translateX(-25%) rotate(-5deg);
392 }
393
394 30% {
395 -webkit-transform: translateX(20%) rotate(3deg);
396 transform: translateX(20%) rotate(3deg);
397 }
398
399 45% {
400 -webkit-transform: translateX(-15%) rotate(-3deg);
401 transform: translateX(-15%) rotate(-3deg);
402 }
403
404 60% {
405 -webkit-transform: translateX(10%) rotate(2deg);
406 transform: translateX(10%) rotate(2deg);
407 }
408
409 75% {
410 -webkit-transform: translateX(-5%) rotate(-1deg);
411 transform: translateX(-5%) rotate(-1deg);
412 }
413
414 100% {
415 -webkit-transform: translateX(0%);
416 transform: translateX(0%);
417 }
418 }
419
420 @keyframes wobble {
421 0% {
422 -webkit-transform: translateX(0%);
423 -ms-transform: translateX(0%);
424 transform: translateX(0%);
425 }
426
427 15% {
428 -webkit-transform: translateX(-25%) rotate(-5deg);
429 -ms-transform: translateX(-25%) rotate(-5deg);
430 transform: translateX(-25%) rotate(-5deg);
431 }
432
433 30% {
434 -webkit-transform: translateX(20%) rotate(3deg);
435 -ms-transform: translateX(20%) rotate(3deg);
436 transform: translateX(20%) rotate(3deg);
437 }
438
439 45% {
440 -webkit-transform: translateX(-15%) rotate(-3deg);
441 -ms-transform: translateX(-15%) rotate(-3deg);
442 transform: translateX(-15%) rotate(-3deg);
443 }
444
445 60% {
446 -webkit-transform: translateX(10%) rotate(2deg);
447 -ms-transform: translateX(10%) rotate(2deg);
448 transform: translateX(10%) rotate(2deg);
449 }
450
451 75% {
452 -webkit-transform: translateX(-5%) rotate(-1deg);
453 -ms-transform: translateX(-5%) rotate(-1deg);
454 transform: translateX(-5%) rotate(-1deg);
455 }
456
457 100% {
458 -webkit-transform: translateX(0%);
459 -ms-transform: translateX(0%);
460 transform: translateX(0%);
461 }
462 }
463
464 .wobble {
465 -webkit-animation-name: wobble;
466 animation-name: wobble;
467 }
468
469 @-webkit-keyframes bounceIn {
470 0% {
471 opacity: 0;
472 -webkit-transform: scale(.3);
473 transform: scale(.3);
474 }
475
476 50% {
477 opacity: 1;
478 -webkit-transform: scale(1.05);
479 transform: scale(1.05);
480 }
481
482 70% {
483 -webkit-transform: scale(.9);
484 transform: scale(.9);
485 }
486
487 100% {
488 opacity: 1;
489 -webkit-transform: scale(1);
490 transform: scale(1);
491 }
492 }
493
494 @keyframes bounceIn {
495 0% {
496 opacity: 0;
497 -webkit-transform: scale(.3);
498 -ms-transform: scale(.3);
499 transform: scale(.3);
500 }
501
502 50% {
503 opacity: 1;
504 -webkit-transform: scale(1.05);
505 -ms-transform: scale(1.05);
506 transform: scale(1.05);
507 }
508
509 70% {
510 -webkit-transform: scale(.9);
511 -ms-transform: scale(.9);
512 transform: scale(.9);
513 }
514
515 100% {
516 opacity: 1;
517 -webkit-transform: scale(1);
518 -ms-transform: scale(1);
519 transform: scale(1);
520 }
521 }
522
523 .bounceIn {
524 -webkit-animation-name: bounceIn;
525 animation-name: bounceIn;
526 }
527
528 @-webkit-keyframes bounceInDown {
529 0% {
530 opacity: 0;
531 -webkit-transform: translateY(-2000px);
532 transform: translateY(-2000px);
533 }
534
535 60% {
536 opacity: 1;
537 -webkit-transform: translateY(30px);
538 transform: translateY(30px);
539 }
540
541 80% {
542 -webkit-transform: translateY(-10px);
543 transform: translateY(-10px);
544 }
545
546 100% {
547 -webkit-transform: translateY(0);
548 transform: translateY(0);
549 }
550 }
551
552 @keyframes bounceInDown {
553 0% {
554 opacity: 0;
555 -webkit-transform: translateY(-2000px);
556 -ms-transform: translateY(-2000px);
557 transform: translateY(-2000px);
558 }
559
560 60% {
561 opacity: 1;
562 -webkit-transform: translateY(30px);
563 -ms-transform: translateY(30px);
564 transform: translateY(30px);
565 }
566
567 80% {
568 -webkit-transform: translateY(-10px);
569 -ms-transform: translateY(-10px);
570 transform: translateY(-10px);
571 }
572
573 100% {
574 -webkit-transform: translateY(0);
575 -ms-transform: translateY(0);
576 transform: translateY(0);
577 }
578 }
579
580 .bounceInDown {
581 -webkit-animation-name: bounceInDown;
582 animation-name: bounceInDown;
583 }
584
585 @-webkit-keyframes bounceInLeft {
586 0% {
587 opacity: 0;
588 -webkit-transform: translateX(-2000px);
589 transform: translateX(-2000px);
590 }
591
592 60% {
593 opacity: 1;
594 -webkit-transform: translateX(30px);
595 transform: translateX(30px);
596 }
597
598 80% {
599 -webkit-transform: translateX(-10px);
600 transform: translateX(-10px);
601 }
602
603 100% {
604 -webkit-transform: translateX(0);
605 transform: translateX(0);
606 }
607 }
608
609 @keyframes bounceInLeft {
610 0% {
611 opacity: 0;
612 -webkit-transform: translateX(-2000px);
613 -ms-transform: translateX(-2000px);
614 transform: translateX(-2000px);
615 }
616
617 60% {
618 opacity: 1;
619 -webkit-transform: translateX(30px);
620 -ms-transform: translateX(30px);
621 transform: translateX(30px);
622 }
623
624 80% {
625 -webkit-transform: translateX(-10px);
626 -ms-transform: translateX(-10px);
627 transform: translateX(-10px);
628 }
629
630 100% {
631 -webkit-transform: translateX(0);
632 -ms-transform: translateX(0);
633 transform: translateX(0);
634 }
635 }
636
637 .bounceInLeft {
638 -webkit-animation-name: bounceInLeft;
639 animation-name: bounceInLeft;
640 }
641
642 @-webkit-keyframes bounceInRight {
643 0% {
644 opacity: 0;
645 -webkit-transform: translateX(2000px);
646 transform: translateX(2000px);
647 }
648
649 60% {
650 opacity: 1;
651 -webkit-transform: translateX(-30px);
652 transform: translateX(-30px);
653 }
654
655 80% {
656 -webkit-transform: translateX(10px);
657 transform: translateX(10px);
658 }
659
660 100% {
661 -webkit-transform: translateX(0);
662 transform: translateX(0);
663 }
664 }
665
666 @keyframes bounceInRight {
667 0% {
668 opacity: 0;
669 -webkit-transform: translateX(2000px);
670 -ms-transform: translateX(2000px);
671 transform: translateX(2000px);
672 }
673
674 60% {
675 opacity: 1;
676 -webkit-transform: translateX(-30px);
677 -ms-transform: translateX(-30px);
678 transform: translateX(-30px);
679 }
680
681 80% {
682 -webkit-transform: translateX(10px);
683 -ms-transform: translateX(10px);
684 transform: translateX(10px);
685 }
686
687 100% {
688 -webkit-transform: translateX(0);
689 -ms-transform: translateX(0);
690 transform: translateX(0);
691 }
692 }
693
694 .bounceInRight {
695 -webkit-animation-name: bounceInRight;
696 animation-name: bounceInRight;
697 }
698
699 @-webkit-keyframes bounceInUp {
700 0% {
701 opacity: 0;
702 -webkit-transform: translateY(2000px);
703 transform: translateY(2000px);
704 }
705
706 60% {
707 opacity: 1;
708 -webkit-transform: translateY(-30px);
709 transform: translateY(-30px);
710 }
711
712 80% {
713 -webkit-transform: translateY(10px);
714 transform: translateY(10px);
715 }
716
717 100% {
718 -webkit-transform: translateY(0);
719 transform: translateY(0);
720 }
721 }
722
723 @keyframes bounceInUp {
724 0% {
725 opacity: 0;
726 -webkit-transform: translateY(2000px);
727 -ms-transform: translateY(2000px);
728 transform: translateY(2000px);
729 }
730
731 60% {
732 opacity: 1;
733 -webkit-transform: translateY(-30px);
734 -ms-transform: translateY(-30px);
735 transform: translateY(-30px);
736 }
737
738 80% {
739 -webkit-transform: translateY(10px);
740 -ms-transform: translateY(10px);
741 transform: translateY(10px);
742 }
743
744 100% {
745 -webkit-transform: translateY(0);
746 -ms-transform: translateY(0);
747 transform: translateY(0);
748 }
749 }
750
751 .bounceInUp {
752 -webkit-animation-name: bounceInUp;
753 animation-name: bounceInUp;
754 }
755
756 @-webkit-keyframes bounceOut {
757 0% {
758 -webkit-transform: scale(1);
759 transform: scale(1);
760 }
761
762 25% {
763 -webkit-transform: scale(.95);
764 transform: scale(.95);
765 }
766
767 50% {
768 opacity: 1;
769 -webkit-transform: scale(1.1);
770 transform: scale(1.1);
771 }
772
773 100% {
774 opacity: 0;
775 -webkit-transform: scale(.3);
776 transform: scale(.3);
777 }
778 }
779
780 @keyframes bounceOut {
781 0% {
782 -webkit-transform: scale(1);
783 -ms-transform: scale(1);
784 transform: scale(1);
785 }
786
787 25% {
788 -webkit-transform: scale(.95);
789 -ms-transform: scale(.95);
790 transform: scale(.95);
791 }
792
793 50% {
794 opacity: 1;
795 -webkit-transform: scale(1.1);
796 -ms-transform: scale(1.1);
797 transform: scale(1.1);
798 }
799
800 100% {
801 opacity: 0;
802 -webkit-transform: scale(.3);
803 -ms-transform: scale(.3);
804 transform: scale(.3);
805 }
806 }
807
808 .bounceOut {
809 -webkit-animation-name: bounceOut;
810 animation-name: bounceOut;
811 }
812
813 @-webkit-keyframes bounceOutDown {
814 0% {
815 -webkit-transform: translateY(0);
816 transform: translateY(0);
817 }
818
819 20% {
820 opacity: 1;
821 -webkit-transform: translateY(-20px);
822 transform: translateY(-20px);
823 }
824
825 100% {
826 opacity: 0;
827 -webkit-transform: translateY(2000px);
828 transform: translateY(2000px);
829 }
830 }
831
832 @keyframes bounceOutDown {
833 0% {
834 -webkit-transform: translateY(0);
835 -ms-transform: translateY(0);
836 transform: translateY(0);
837 }
838
839 20% {
840 opacity: 1;
841 -webkit-transform: translateY(-20px);
842 -ms-transform: translateY(-20px);
843 transform: translateY(-20px);
844 }
845
846 100% {
847 opacity: 0;
848 -webkit-transform: translateY(2000px);
849 -ms-transform: translateY(2000px);
850 transform: translateY(2000px);
851 }
852 }
853
854 .bounceOutDown {
855 -webkit-animation-name: bounceOutDown;
856 animation-name: bounceOutDown;
857 }
858
859 @-webkit-keyframes bounceOutLeft {
860 0% {
861 -webkit-transform: translateX(0);
862 transform: translateX(0);
863 }
864
865 20% {
866 opacity: 1;
867 -webkit-transform: translateX(20px);
868 transform: translateX(20px);
869 }
870
871 100% {
872 opacity: 0;
873 -webkit-transform: translateX(-2000px);
874 transform: translateX(-2000px);
875 }
876 }
877
878 @keyframes bounceOutLeft {
879 0% {
880 -webkit-transform: translateX(0);
881 -ms-transform: translateX(0);
882 transform: translateX(0);
883 }
884
885 20% {
886 opacity: 1;
887 -webkit-transform: translateX(20px);
888 -ms-transform: translateX(20px);
889 transform: translateX(20px);
890 }
891
892 100% {
893 opacity: 0;
894 -webkit-transform: translateX(-2000px);
895 -ms-transform: translateX(-2000px);
896 transform: translateX(-2000px);
897 }
898 }
899
900 .bounceOutLeft {
901 -webkit-animation-name: bounceOutLeft;
902 animation-name: bounceOutLeft;
903 }
904
905 @-webkit-keyframes bounceOutRight {
906 0% {
907 -webkit-transform: translateX(0);
908 transform: translateX(0);
909 }
910
911 20% {
912 opacity: 1;
913 -webkit-transform: translateX(-20px);
914 transform: translateX(-20px);
915 }
916
917 100% {
918 opacity: 0;
919 -webkit-transform: translateX(2000px);
920 transform: translateX(2000px);
921 }
922 }
923
924 @keyframes bounceOutRight {
925 0% {
926 -webkit-transform: translateX(0);
927 -ms-transform: translateX(0);
928 transform: translateX(0);
929 }
930
931 20% {
932 opacity: 1;
933 -webkit-transform: translateX(-20px);
934 -ms-transform: translateX(-20px);
935 transform: translateX(-20px);
936 }
937
938 100% {
939 opacity: 0;
940 -webkit-transform: translateX(2000px);
941 -ms-transform: translateX(2000px);
942 transform: translateX(2000px);
943 }
944 }
945
946 .bounceOutRight {
947 -webkit-animation-name: bounceOutRight;
948 animation-name: bounceOutRight;
949 }
950
951 @-webkit-keyframes bounceOutUp {
952 0% {
953 -webkit-transform: translateY(0);
954 transform: translateY(0);
955 }
956
957 20% {
958 opacity: 1;
959 -webkit-transform: translateY(20px);
960 transform: translateY(20px);
961 }
962
963 100% {
964 opacity: 0;
965 -webkit-transform: translateY(-2000px);
966 transform: translateY(-2000px);
967 }
968 }
969
970 @keyframes bounceOutUp {
971 0% {
972 -webkit-transform: translateY(0);
973 -ms-transform: translateY(0);
974 transform: translateY(0);
975 }
976
977 20% {
978 opacity: 1;
979 -webkit-transform: translateY(20px);
980 -ms-transform: translateY(20px);
981 transform: translateY(20px);
982 }
983
984 100% {
985 opacity: 0;
986 -webkit-transform: translateY(-2000px);
987 -ms-transform: translateY(-2000px);
988 transform: translateY(-2000px);
989 }
990 }
991
992 .bounceOutUp {
993 -webkit-animation-name: bounceOutUp;
994 animation-name: bounceOutUp;
995 }
996
997 @-webkit-keyframes fadeIn {
998 0% {
999 opacity: 0;
1000 }
1001
1002 100% {
1003 opacity: 1;
1004 }
1005 }
1006
1007 @keyframes fadeIn {
1008 0% {
1009 opacity: 0;
1010 }
1011
1012 100% {
1013 opacity: 1;
1014 }
1015 }
1016
1017 .fadeIn {
1018 -webkit-animation-name: fadeIn;
1019 animation-name: fadeIn;
1020 }
1021
1022 @-webkit-keyframes fadeInDown {
1023 0% {
1024 opacity: 0;
1025 -webkit-transform: translateY(-20px);
1026 transform: translateY(-20px);
1027 }
1028
1029 100% {
1030 opacity: 1;
1031 -webkit-transform: translateY(0);
1032 transform: translateY(0);
1033 }
1034 }
1035
1036 @keyframes fadeInDown {
1037 0% {
1038 opacity: 0;
1039 -webkit-transform: translateY(-20px);
1040 -ms-transform: translateY(-20px);
1041 transform: translateY(-20px);
1042 }
1043
1044 100% {
1045 opacity: 1;
1046 -webkit-transform: translateY(0);
1047 -ms-transform: translateY(0);
1048 transform: translateY(0);
1049 }
1050 }
1051
1052 .fadeInDown {
1053 -webkit-animation-name: fadeInDown;
1054 animation-name: fadeInDown;
1055 }
1056
1057 @-webkit-keyframes fadeInDownBig {
1058 0% {
1059 opacity: 0;
1060 -webkit-transform: translateY(-2000px);
1061 transform: translateY(-2000px);
1062 }
1063
1064 100% {
1065 opacity: 1;
1066 -webkit-transform: translateY(0);
1067 transform: translateY(0);
1068 }
1069 }
1070
1071 @keyframes fadeInDownBig {
1072 0% {
1073 opacity: 0;
1074 -webkit-transform: translateY(-2000px);
1075 -ms-transform: translateY(-2000px);
1076 transform: translateY(-2000px);
1077 }
1078
1079 100% {
1080 opacity: 1;
1081 -webkit-transform: translateY(0);
1082 -ms-transform: translateY(0);
1083 transform: translateY(0);
1084 }
1085 }
1086
1087 .fadeInDownBig {
1088 -webkit-animation-name: fadeInDownBig;
1089 animation-name: fadeInDownBig;
1090 }
1091
1092 @-webkit-keyframes fadeInLeft {
1093 0% {
1094 opacity: 0;
1095 -webkit-transform: translateX(-20px);
1096 transform: translateX(-20px);
1097 }
1098
1099 100% {
1100 opacity: 1;
1101 -webkit-transform: translateX(0);
1102 transform: translateX(0);
1103 }
1104 }
1105
1106 @keyframes fadeInLeft {
1107 0% {
1108 opacity: 0;
1109 -webkit-transform: translateX(-20px);
1110 -ms-transform: translateX(-20px);
1111 transform: translateX(-20px);
1112 }
1113
1114 100% {
1115 opacity: 1;
1116 -webkit-transform: translateX(0);
1117 -ms-transform: translateX(0);
1118 transform: translateX(0);
1119 }
1120 }
1121
1122 .fadeInLeft {
1123 -webkit-animation-name: fadeInLeft;
1124 animation-name: fadeInLeft;
1125 }
1126
1127 @-webkit-keyframes fadeInLeftBig {
1128 0% {
1129 opacity: 0;
1130 -webkit-transform: translateX(-2000px);
1131 transform: translateX(-2000px);
1132 }
1133
1134 100% {
1135 opacity: 1;
1136 -webkit-transform: translateX(0);
1137 transform: translateX(0);
1138 }
1139 }
1140
1141 @keyframes fadeInLeftBig {
1142 0% {
1143 opacity: 0;
1144 -webkit-transform: translateX(-2000px);
1145 -ms-transform: translateX(-2000px);
1146 transform: translateX(-2000px);
1147 }
1148
1149 100% {
1150 opacity: 1;
1151 -webkit-transform: translateX(0);
1152 -ms-transform: translateX(0);
1153 transform: translateX(0);
1154 }
1155 }
1156
1157 .fadeInLeftBig {
1158 -webkit-animation-name: fadeInLeftBig;
1159 animation-name: fadeInLeftBig;
1160 }
1161
1162 @-webkit-keyframes fadeInRight {
1163 0% {
1164 opacity: 0;
1165 -webkit-transform: translateX(20px);
1166 transform: translateX(20px);
1167 }
1168
1169 100% {
1170 opacity: 1;
1171 -webkit-transform: translateX(0);
1172 transform: translateX(0);
1173 }
1174 }
1175
1176 @keyframes fadeInRight {
1177 0% {
1178 opacity: 0;
1179 -webkit-transform: translateX(20px);
1180 -ms-transform: translateX(20px);
1181 transform: translateX(20px);
1182 }
1183
1184 100% {
1185 opacity: 1;
1186 -webkit-transform: translateX(0);
1187 -ms-transform: translateX(0);
1188 transform: translateX(0);
1189 }
1190 }
1191
1192 .fadeInRight {
1193 -webkit-animation-name: fadeInRight;
1194 animation-name: fadeInRight;
1195 }
1196
1197 @-webkit-keyframes fadeInRightBig {
1198 0% {
1199 opacity: 0;
1200 -webkit-transform: translateX(2000px);
1201 transform: translateX(2000px);
1202 }
1203
1204 100% {
1205 opacity: 1;
1206 -webkit-transform: translateX(0);
1207 transform: translateX(0);
1208 }
1209 }
1210
1211 @keyframes fadeInRightBig {
1212 0% {
1213 opacity: 0;
1214 -webkit-transform: translateX(2000px);
1215 -ms-transform: translateX(2000px);
1216 transform: translateX(2000px);
1217 }
1218
1219 100% {
1220 opacity: 1;
1221 -webkit-transform: translateX(0);
1222 -ms-transform: translateX(0);
1223 transform: translateX(0);
1224 }
1225 }
1226
1227 .fadeInRightBig {
1228 -webkit-animation-name: fadeInRightBig;
1229 animation-name: fadeInRightBig;
1230 }
1231
1232 @-webkit-keyframes fadeInUp {
1233 0% {
1234 opacity: 0;
1235 -webkit-transform: translateY(20px);
1236 transform: translateY(20px);
1237 }
1238
1239 100% {
1240 opacity: 1;
1241 -webkit-transform: translateY(0);
1242 transform: translateY(0);
1243 }
1244 }
1245
1246 @keyframes fadeInUp {
1247 0% {
1248 opacity: 0;
1249 -webkit-transform: translateY(20px);
1250 -ms-transform: translateY(20px);
1251 transform: translateY(20px);
1252 }
1253
1254 100% {
1255 opacity: 1;
1256 -webkit-transform: translateY(0);
1257 -ms-transform: translateY(0);
1258 transform: translateY(0);
1259 }
1260 }
1261
1262 .fadeInUp {
1263 -webkit-animation-name: fadeInUp;
1264 animation-name: fadeInUp;
1265 }
1266
1267 @-webkit-keyframes fadeInUpBig {
1268 0% {
1269 opacity: 0;
1270 -webkit-transform: translateY(2000px);
1271 transform: translateY(2000px);
1272 }
1273
1274 100% {
1275 opacity: 1;
1276 -webkit-transform: translateY(0);
1277 transform: translateY(0);
1278 }
1279 }
1280
1281 @keyframes fadeInUpBig {
1282 0% {
1283 opacity: 0;
1284 -webkit-transform: translateY(2000px);
1285 -ms-transform: translateY(2000px);
1286 transform: translateY(2000px);
1287 }
1288
1289 100% {
1290 opacity: 1;
1291 -webkit-transform: translateY(0);
1292 -ms-transform: translateY(0);
1293 transform: translateY(0);
1294 }
1295 }
1296
1297 .fadeInUpBig {
1298 -webkit-animation-name: fadeInUpBig;
1299 animation-name: fadeInUpBig;
1300 }
1301
1302 @-webkit-keyframes fadeOut {
1303 0% {
1304 opacity: 1;
1305 }
1306
1307 100% {
1308 opacity: 0;
1309 }
1310 }
1311
1312 @keyframes fadeOut {
1313 0% {
1314 opacity: 1;
1315 }
1316
1317 100% {
1318 opacity: 0;
1319 }
1320 }
1321
1322 .fadeOut {
1323 -webkit-animation-name: fadeOut;
1324 animation-name: fadeOut;
1325 }
1326
1327 @-webkit-keyframes fadeOutDown {
1328 0% {
1329 opacity: 1;
1330 -webkit-transform: translateY(0);
1331 transform: translateY(0);
1332 }
1333
1334 100% {
1335 opacity: 0;
1336 -webkit-transform: translateY(20px);
1337 transform: translateY(20px);
1338 }
1339 }
1340
1341 @keyframes fadeOutDown {
1342 0% {
1343 opacity: 1;
1344 -webkit-transform: translateY(0);
1345 -ms-transform: translateY(0);
1346 transform: translateY(0);
1347 }
1348
1349 100% {
1350 opacity: 0;
1351 -webkit-transform: translateY(20px);
1352 -ms-transform: translateY(20px);
1353 transform: translateY(20px);
1354 }
1355 }
1356
1357 .fadeOutDown {
1358 -webkit-animation-name: fadeOutDown;
1359 animation-name: fadeOutDown;
1360 }
1361
1362 @-webkit-keyframes fadeOutDownBig {
1363 0% {
1364 opacity: 1;
1365 -webkit-transform: translateY(0);
1366 transform: translateY(0);
1367 }
1368
1369 100% {
1370 opacity: 0;
1371 -webkit-transform: translateY(2000px);
1372 transform: translateY(2000px);
1373 }
1374 }
1375
1376 @keyframes fadeOutDownBig {
1377 0% {
1378 opacity: 1;
1379 -webkit-transform: translateY(0);
1380 -ms-transform: translateY(0);
1381 transform: translateY(0);
1382 }
1383
1384 100% {
1385 opacity: 0;
1386 -webkit-transform: translateY(2000px);
1387 -ms-transform: translateY(2000px);
1388 transform: translateY(2000px);
1389 }
1390 }
1391
1392 .fadeOutDownBig {
1393 -webkit-animation-name: fadeOutDownBig;
1394 animation-name: fadeOutDownBig;
1395 }
1396
1397 @-webkit-keyframes fadeOutLeft {
1398 0% {
1399 opacity: 1;
1400 -webkit-transform: translateX(0);
1401 transform: translateX(0);
1402 }
1403
1404 100% {
1405 opacity: 0;
1406 -webkit-transform: translateX(-20px);
1407 transform: translateX(-20px);
1408 }
1409 }
1410
1411 @keyframes fadeOutLeft {
1412 0% {
1413 opacity: 1;
1414 -webkit-transform: translateX(0);
1415 -ms-transform: translateX(0);
1416 transform: translateX(0);
1417 }
1418
1419 100% {
1420 opacity: 0;
1421 -webkit-transform: translateX(-20px);
1422 -ms-transform: translateX(-20px);
1423 transform: translateX(-20px);
1424 }
1425 }
1426
1427 .fadeOutLeft {
1428 -webkit-animation-name: fadeOutLeft;
1429 animation-name: fadeOutLeft;
1430 }
1431
1432 @-webkit-keyframes fadeOutLeftBig {
1433 0% {
1434 opacity: 1;
1435 -webkit-transform: translateX(0);
1436 transform: translateX(0);
1437 }
1438
1439 100% {
1440 opacity: 0;
1441 -webkit-transform: translateX(-2000px);
1442 transform: translateX(-2000px);
1443 }
1444 }
1445
1446 @keyframes fadeOutLeftBig {
1447 0% {
1448 opacity: 1;
1449 -webkit-transform: translateX(0);
1450 -ms-transform: translateX(0);
1451 transform: translateX(0);
1452 }
1453
1454 100% {
1455 opacity: 0;
1456 -webkit-transform: translateX(-2000px);
1457 -ms-transform: translateX(-2000px);
1458 transform: translateX(-2000px);
1459 }
1460 }
1461
1462 .fadeOutLeftBig {
1463 -webkit-animation-name: fadeOutLeftBig;
1464 animation-name: fadeOutLeftBig;
1465 }
1466
1467 @-webkit-keyframes fadeOutRight {
1468 0% {
1469 opacity: 1;
1470 -webkit-transform: translateX(0);
1471 transform: translateX(0);
1472 }
1473
1474 100% {
1475 opacity: 0;
1476 -webkit-transform: translateX(20px);
1477 transform: translateX(20px);
1478 }
1479 }
1480
1481 @keyframes fadeOutRight {
1482 0% {
1483 opacity: 1;
1484 -webkit-transform: translateX(0);
1485 -ms-transform: translateX(0);
1486 transform: translateX(0);
1487 }
1488
1489 100% {
1490 opacity: 0;
1491 -webkit-transform: translateX(20px);
1492 -ms-transform: translateX(20px);
1493 transform: translateX(20px);
1494 }
1495 }
1496
1497 .fadeOutRight {
1498 -webkit-animation-name: fadeOutRight;
1499 animation-name: fadeOutRight;
1500 }
1501
1502 @-webkit-keyframes fadeOutRightBig {
1503 0% {
1504 opacity: 1;
1505 -webkit-transform: translateX(0);
1506 transform: translateX(0);
1507 }
1508
1509 100% {
1510 opacity: 0;
1511 -webkit-transform: translateX(2000px);
1512 transform: translateX(2000px);
1513 }
1514 }
1515
1516 @keyframes fadeOutRightBig {
1517 0% {
1518 opacity: 1;
1519 -webkit-transform: translateX(0);
1520 -ms-transform: translateX(0);
1521 transform: translateX(0);
1522 }
1523
1524 100% {
1525 opacity: 0;
1526 -webkit-transform: translateX(2000px);
1527 -ms-transform: translateX(2000px);
1528 transform: translateX(2000px);
1529 }
1530 }
1531
1532 .fadeOutRightBig {
1533 -webkit-animation-name: fadeOutRightBig;
1534 animation-name: fadeOutRightBig;
1535 }
1536
1537 @-webkit-keyframes fadeOutUp {
1538 0% {
1539 opacity: 1;
1540 -webkit-transform: translateY(0);
1541 transform: translateY(0);
1542 }
1543
1544 100% {
1545 opacity: 0;
1546 -webkit-transform: translateY(-20px);
1547 transform: translateY(-20px);
1548 }
1549 }
1550
1551 @keyframes fadeOutUp {
1552 0% {
1553 opacity: 1;
1554 -webkit-transform: translateY(0);
1555 -ms-transform: translateY(0);
1556 transform: translateY(0);
1557 }
1558
1559 100% {
1560 opacity: 0;
1561 -webkit-transform: translateY(-20px);
1562 -ms-transform: translateY(-20px);
1563 transform: translateY(-20px);
1564 }
1565 }
1566
1567 .fadeOutUp {
1568 -webkit-animation-name: fadeOutUp;
1569 animation-name: fadeOutUp;
1570 }
1571
1572 @-webkit-keyframes fadeOutUpBig {
1573 0% {
1574 opacity: 1;
1575 -webkit-transform: translateY(0);
1576 transform: translateY(0);
1577 }
1578
1579 100% {
1580 opacity: 0;
1581 -webkit-transform: translateY(-2000px);
1582 transform: translateY(-2000px);
1583 }
1584 }
1585
1586 @keyframes fadeOutUpBig {
1587 0% {
1588 opacity: 1;
1589 -webkit-transform: translateY(0);
1590 -ms-transform: translateY(0);
1591 transform: translateY(0);
1592 }
1593
1594 100% {
1595 opacity: 0;
1596 -webkit-transform: translateY(-2000px);
1597 -ms-transform: translateY(-2000px);
1598 transform: translateY(-2000px);
1599 }
1600 }
1601
1602 .fadeOutUpBig {
1603 -webkit-animation-name: fadeOutUpBig;
1604 animation-name: fadeOutUpBig;
1605 }
1606
1607 @-webkit-keyframes flip {
1608 0% {
1609 -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1610 transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1611 -webkit-animation-timing-function: ease-out;
1612 animation-timing-function: ease-out;
1613 }
1614
1615 40% {
1616 -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1617 transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1618 -webkit-animation-timing-function: ease-out;
1619 animation-timing-function: ease-out;
1620 }
1621
1622 50% {
1623 -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1624 transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1625 -webkit-animation-timing-function: ease-in;
1626 animation-timing-function: ease-in;
1627 }
1628
1629 80% {
1630 -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1631 transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1632 -webkit-animation-timing-function: ease-in;
1633 animation-timing-function: ease-in;
1634 }
1635
1636 100% {
1637 -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1638 transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1639 -webkit-animation-timing-function: ease-in;
1640 animation-timing-function: ease-in;
1641 }
1642 }
1643
1644 @keyframes flip {
1645 0% {
1646 -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1647 -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1648 transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
1649 -webkit-animation-timing-function: ease-out;
1650 animation-timing-function: ease-out;
1651 }
1652
1653 40% {
1654 -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1655 -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1656 transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
1657 -webkit-animation-timing-function: ease-out;
1658 animation-timing-function: ease-out;
1659 }
1660
1661 50% {
1662 -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1663 -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1664 transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
1665 -webkit-animation-timing-function: ease-in;
1666 animation-timing-function: ease-in;
1667 }
1668
1669 80% {
1670 -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1671 -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1672 transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
1673 -webkit-animation-timing-function: ease-in;
1674 animation-timing-function: ease-in;
1675 }
1676
1677 100% {
1678 -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1679 -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1680 transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
1681 -webkit-animation-timing-function: ease-in;
1682 animation-timing-function: ease-in;
1683 }
1684 }
1685
1686 .animated.flip {
1687 -webkit-backface-visibility: visible;
1688 -ms-backface-visibility: visible;
1689 backface-visibility: visible;
1690 -webkit-animation-name: flip;
1691 animation-name: flip;
1692 }
1693
1694 @-webkit-keyframes flipInX {
1695 0% {
1696 -webkit-transform: perspective(400px) rotateX(90deg);
1697 transform: perspective(400px) rotateX(90deg);
1698 opacity: 0;
1699 }
1700
1701 40% {
1702 -webkit-transform: perspective(400px) rotateX(-10deg);
1703 transform: perspective(400px) rotateX(-10deg);
1704 }
1705
1706 70% {
1707 -webkit-transform: perspective(400px) rotateX(10deg);
1708 transform: perspective(400px) rotateX(10deg);
1709 }
1710
1711 100% {
1712 -webkit-transform: perspective(400px) rotateX(0deg);
1713 transform: perspective(400px) rotateX(0deg);
1714 opacity: 1;
1715 }
1716 }
1717
1718 @keyframes flipInX {
1719 0% {
1720 -webkit-transform: perspective(400px) rotateX(90deg);
1721 -ms-transform: perspective(400px) rotateX(90deg);
1722 transform: perspective(400px) rotateX(90deg);
1723 opacity: 0;
1724 }
1725
1726 40% {
1727 -webkit-transform: perspective(400px) rotateX(-10deg);
1728 -ms-transform: perspective(400px) rotateX(-10deg);
1729 transform: perspective(400px) rotateX(-10deg);
1730 }
1731
1732 70% {
1733 -webkit-transform: perspective(400px) rotateX(10deg);
1734 -ms-transform: perspective(400px) rotateX(10deg);
1735 transform: perspective(400px) rotateX(10deg);
1736 }
1737
1738 100% {
1739 -webkit-transform: perspective(400px) rotateX(0deg);
1740 -ms-transform: perspective(400px) rotateX(0deg);
1741 transform: perspective(400px) rotateX(0deg);
1742 opacity: 1;
1743 }
1744 }
1745
1746 .flipInX {
1747 -webkit-backface-visibility: visible !important;
1748 -ms-backface-visibility: visible !important;
1749 backface-visibility: visible !important;
1750 -webkit-animation-name: flipInX;
1751 animation-name: flipInX;
1752 }
1753
1754 @-webkit-keyframes flipInY {
1755 0% {
1756 -webkit-transform: perspective(400px) rotateY(90deg);
1757 transform: perspective(400px) rotateY(90deg);
1758 opacity: 0;
1759 }
1760
1761 40% {
1762 -webkit-transform: perspective(400px) rotateY(-10deg);
1763 transform: perspective(400px) rotateY(-10deg);
1764 }
1765
1766 70% {
1767 -webkit-transform: perspective(400px) rotateY(10deg);
1768 transform: perspective(400px) rotateY(10deg);
1769 }
1770
1771 100% {
1772 -webkit-transform: perspective(400px) rotateY(0deg);
1773 transform: perspective(400px) rotateY(0deg);
1774 opacity: 1;
1775 }
1776 }
1777
1778 @keyframes flipInY {
1779 0% {
1780 -webkit-transform: perspective(400px) rotateY(90deg);
1781 -ms-transform: perspective(400px) rotateY(90deg);
1782 transform: perspective(400px) rotateY(90deg);
1783 opacity: 0;
1784 }
1785
1786 40% {
1787 -webkit-transform: perspective(400px) rotateY(-10deg);
1788 -ms-transform: perspective(400px) rotateY(-10deg);
1789 transform: perspective(400px) rotateY(-10deg);
1790 }
1791
1792 70% {
1793 -webkit-transform: perspective(400px) rotateY(10deg);
1794 -ms-transform: perspective(400px) rotateY(10deg);
1795 transform: perspective(400px) rotateY(10deg);
1796 }
1797
1798 100% {
1799 -webkit-transform: perspective(400px) rotateY(0deg);
1800 -ms-transform: perspective(400px) rotateY(0deg);
1801 transform: perspective(400px) rotateY(0deg);
1802 opacity: 1;
1803 }
1804 }
1805
1806 .flipInY {
1807 -webkit-backface-visibility: visible !important;
1808 -ms-backface-visibility: visible !important;
1809 backface-visibility: visible !important;
1810 -webkit-animation-name: flipInY;
1811 animation-name: flipInY;
1812 }
1813
1814 @-webkit-keyframes flipOutX {
1815 0% {
1816 -webkit-transform: perspective(400px) rotateX(0deg);
1817 transform: perspective(400px) rotateX(0deg);
1818 opacity: 1;
1819 }
1820
1821 100% {
1822 -webkit-transform: perspective(400px) rotateX(90deg);
1823 transform: perspective(400px) rotateX(90deg);
1824 opacity: 0;
1825 }
1826 }
1827
1828 @keyframes flipOutX {
1829 0% {
1830 -webkit-transform: perspective(400px) rotateX(0deg);
1831 -ms-transform: perspective(400px) rotateX(0deg);
1832 transform: perspective(400px) rotateX(0deg);
1833 opacity: 1;
1834 }
1835
1836 100% {
1837 -webkit-transform: perspective(400px) rotateX(90deg);
1838 -ms-transform: perspective(400px) rotateX(90deg);
1839 transform: perspective(400px) rotateX(90deg);
1840 opacity: 0;
1841 }
1842 }
1843
1844 .flipOutX {
1845 -webkit-animation-name: flipOutX;
1846 animation-name: flipOutX;
1847 -webkit-backface-visibility: visible !important;
1848 -ms-backface-visibility: visible !important;
1849 backface-visibility: visible !important;
1850 }
1851
1852 @-webkit-keyframes flipOutY {
1853 0% {
1854 -webkit-transform: perspective(400px) rotateY(0deg);
1855 transform: perspective(400px) rotateY(0deg);
1856 opacity: 1;
1857 }
1858
1859 100% {
1860 -webkit-transform: perspective(400px) rotateY(90deg);
1861 transform: perspective(400px) rotateY(90deg);
1862 opacity: 0;
1863 }
1864 }
1865
1866 @keyframes flipOutY {
1867 0% {
1868 -webkit-transform: perspective(400px) rotateY(0deg);
1869 -ms-transform: perspective(400px) rotateY(0deg);
1870 transform: perspective(400px) rotateY(0deg);
1871 opacity: 1;
1872 }
1873
1874 100% {
1875 -webkit-transform: perspective(400px) rotateY(90deg);
1876 -ms-transform: perspective(400px) rotateY(90deg);
1877 transform: perspective(400px) rotateY(90deg);
1878 opacity: 0;
1879 }
1880 }
1881
1882 .flipOutY {
1883 -webkit-backface-visibility: visible !important;
1884 -ms-backface-visibility: visible !important;
1885 backface-visibility: visible !important;
1886 -webkit-animation-name: flipOutY;
1887 animation-name: flipOutY;
1888 }
1889
1890 @-webkit-keyframes lightSpeedIn {
1891 0% {
1892 -webkit-transform: translateX(100%) skewX(-30deg);
1893 transform: translateX(100%) skewX(-30deg);
1894 opacity: 0;
1895 }
1896
1897 60% {
1898 -webkit-transform: translateX(-20%) skewX(30deg);
1899 transform: translateX(-20%) skewX(30deg);
1900 opacity: 1;
1901 }
1902
1903 80% {
1904 -webkit-transform: translateX(0%) skewX(-15deg);
1905 transform: translateX(0%) skewX(-15deg);
1906 opacity: 1;
1907 }
1908
1909 100% {
1910 -webkit-transform: translateX(0%) skewX(0deg);
1911 transform: translateX(0%) skewX(0deg);
1912 opacity: 1;
1913 }
1914 }
1915
1916 @keyframes lightSpeedIn {
1917 0% {
1918 -webkit-transform: translateX(100%) skewX(-30deg);
1919 -ms-transform: translateX(100%) skewX(-30deg);
1920 transform: translateX(100%) skewX(-30deg);
1921 opacity: 0;
1922 }
1923
1924 60% {
1925 -webkit-transform: translateX(-20%) skewX(30deg);
1926 -ms-transform: translateX(-20%) skewX(30deg);
1927 transform: translateX(-20%) skewX(30deg);
1928 opacity: 1;
1929 }
1930
1931 80% {
1932 -webkit-transform: translateX(0%) skewX(-15deg);
1933 -ms-transform: translateX(0%) skewX(-15deg);
1934 transform: translateX(0%) skewX(-15deg);
1935 opacity: 1;
1936 }
1937
1938 100% {
1939 -webkit-transform: translateX(0%) skewX(0deg);
1940 -ms-transform: translateX(0%) skewX(0deg);
1941 transform: translateX(0%) skewX(0deg);
1942 opacity: 1;
1943 }
1944 }
1945
1946 .lightSpeedIn {
1947 -webkit-animation-name: lightSpeedIn;
1948 animation-name: lightSpeedIn;
1949 -webkit-animation-timing-function: ease-out;
1950 animation-timing-function: ease-out;
1951 }
1952
1953 @-webkit-keyframes lightSpeedOut {
1954 0% {
1955 -webkit-transform: translateX(0%) skewX(0deg);
1956 transform: translateX(0%) skewX(0deg);
1957 opacity: 1;
1958 }
1959
1960 100% {
1961 -webkit-transform: translateX(100%) skewX(-30deg);
1962 transform: translateX(100%) skewX(-30deg);
1963 opacity: 0;
1964 }
1965 }
1966
1967 @keyframes lightSpeedOut {
1968 0% {
1969 -webkit-transform: translateX(0%) skewX(0deg);
1970 -ms-transform: translateX(0%) skewX(0deg);
1971 transform: translateX(0%) skewX(0deg);
1972 opacity: 1;
1973 }
1974
1975 100% {
1976 -webkit-transform: translateX(100%) skewX(-30deg);
1977 -ms-transform: translateX(100%) skewX(-30deg);
1978 transform: translateX(100%) skewX(-30deg);
1979 opacity: 0;
1980 }
1981 }
1982
1983 .lightSpeedOut {
1984 -webkit-animation-name: lightSpeedOut;
1985 animation-name: lightSpeedOut;
1986 -webkit-animation-timing-function: ease-in;
1987 animation-timing-function: ease-in;
1988 }
1989
1990 @-webkit-keyframes rotateIn {
1991 0% {
1992 -webkit-transform-origin: center center;
1993 transform-origin: center center;
1994 -webkit-transform: rotate(-200deg);
1995 transform: rotate(-200deg);
1996 opacity: 0;
1997 }
1998
1999 100% {
2000 -webkit-transform-origin: center center;
2001 transform-origin: center center;
2002 -webkit-transform: rotate(0);
2003 transform: rotate(0);
2004 opacity: 1;
2005 }
2006 }
2007
2008 @keyframes rotateIn {
2009 0% {
2010 -webkit-transform-origin: center center;
2011 -ms-transform-origin: center center;
2012 transform-origin: center center;
2013 -webkit-transform: rotate(-200deg);
2014 -ms-transform: rotate(-200deg);
2015 transform: rotate(-200deg);
2016 opacity: 0;
2017 }
2018
2019 100% {
2020 -webkit-transform-origin: center center;
2021 -ms-transform-origin: center center;
2022 transform-origin: center center;
2023 -webkit-transform: rotate(0);
2024 -ms-transform: rotate(0);
2025 transform: rotate(0);
2026 opacity: 1;
2027 }
2028 }
2029
2030 .rotateIn {
2031 -webkit-animation-name: rotateIn;
2032 animation-name: rotateIn;
2033 }
2034
2035 @-webkit-keyframes rotateInDownLeft {
2036 0% {
2037 -webkit-transform-origin: left bottom;
2038 transform-origin: left bottom;
2039 -webkit-transform: rotate(-90deg);
2040 transform: rotate(-90deg);
2041 opacity: 0;
2042 }
2043
2044 100% {
2045 -webkit-transform-origin: left bottom;
2046 transform-origin: left bottom;
2047 -webkit-transform: rotate(0);
2048 transform: rotate(0);
2049 opacity: 1;
2050 }
2051 }
2052
2053 @keyframes rotateInDownLeft {
2054 0% {
2055 -webkit-transform-origin: left bottom;
2056 -ms-transform-origin: left bottom;
2057 transform-origin: left bottom;
2058 -webkit-transform: rotate(-90deg);
2059 -ms-transform: rotate(-90deg);
2060 transform: rotate(-90deg);
2061 opacity: 0;
2062 }
2063
2064 100% {
2065 -webkit-transform-origin: left bottom;
2066 -ms-transform-origin: left bottom;
2067 transform-origin: left bottom;
2068 -webkit-transform: rotate(0);
2069 -ms-transform: rotate(0);
2070 transform: rotate(0);
2071 opacity: 1;
2072 }
2073 }
2074
2075 .rotateInDownLeft {
2076 -webkit-animation-name: rotateInDownLeft;
2077 animation-name: rotateInDownLeft;
2078 }
2079
2080 @-webkit-keyframes rotateInDownRight {
2081 0% {
2082 -webkit-transform-origin: right bottom;
2083 transform-origin: right bottom;
2084 -webkit-transform: rotate(90deg);
2085 transform: rotate(90deg);
2086 opacity: 0;
2087 }
2088
2089 100% {
2090 -webkit-transform-origin: right bottom;
2091 transform-origin: right bottom;
2092 -webkit-transform: rotate(0);
2093 transform: rotate(0);
2094 opacity: 1;
2095 }
2096 }
2097
2098 @keyframes rotateInDownRight {
2099 0% {
2100 -webkit-transform-origin: right bottom;
2101 -ms-transform-origin: right bottom;
2102 transform-origin: right bottom;
2103 -webkit-transform: rotate(90deg);
2104 -ms-transform: rotate(90deg);
2105 transform: rotate(90deg);
2106 opacity: 0;
2107 }
2108
2109 100% {
2110 -webkit-transform-origin: right bottom;
2111 -ms-transform-origin: right bottom;
2112 transform-origin: right bottom;
2113 -webkit-transform: rotate(0);
2114 -ms-transform: rotate(0);
2115 transform: rotate(0);
2116 opacity: 1;
2117 }
2118 }
2119
2120 .rotateInDownRight {
2121 -webkit-animation-name: rotateInDownRight;
2122 animation-name: rotateInDownRight;
2123 }
2124
2125 @-webkit-keyframes rotateInUpLeft {
2126 0% {
2127 -webkit-transform-origin: left bottom;
2128 transform-origin: left bottom;
2129 -webkit-transform: rotate(90deg);
2130 transform: rotate(90deg);
2131 opacity: 0;
2132 }
2133
2134 100% {
2135 -webkit-transform-origin: left bottom;
2136 transform-origin: left bottom;
2137 -webkit-transform: rotate(0);
2138 transform: rotate(0);
2139 opacity: 1;
2140 }
2141 }
2142
2143 @keyframes rotateInUpLeft {
2144 0% {
2145 -webkit-transform-origin: left bottom;
2146 -ms-transform-origin: left bottom;
2147 transform-origin: left bottom;
2148 -webkit-transform: rotate(90deg);
2149 -ms-transform: rotate(90deg);
2150 transform: rotate(90deg);
2151 opacity: 0;
2152 }
2153
2154 100% {
2155 -webkit-transform-origin: left bottom;
2156 -ms-transform-origin: left bottom;
2157 transform-origin: left bottom;
2158 -webkit-transform: rotate(0);
2159 -ms-transform: rotate(0);
2160 transform: rotate(0);
2161 opacity: 1;
2162 }
2163 }
2164
2165 .rotateInUpLeft {
2166 -webkit-animation-name: rotateInUpLeft;
2167 animation-name: rotateInUpLeft;
2168 }
2169
2170 @-webkit-keyframes rotateInUpRight {
2171 0% {
2172 -webkit-transform-origin: right bottom;
2173 transform-origin: right bottom;
2174 -webkit-transform: rotate(-90deg);
2175 transform: rotate(-90deg);
2176 opacity: 0;
2177 }
2178
2179 100% {
2180 -webkit-transform-origin: right bottom;
2181 transform-origin: right bottom;
2182 -webkit-transform: rotate(0);
2183 transform: rotate(0);
2184 opacity: 1;
2185 }
2186 }
2187
2188 @keyframes rotateInUpRight {
2189 0% {
2190 -webkit-transform-origin: right bottom;
2191 -ms-transform-origin: right bottom;
2192 transform-origin: right bottom;
2193 -webkit-transform: rotate(-90deg);
2194 -ms-transform: rotate(-90deg);
2195 transform: rotate(-90deg);
2196 opacity: 0;
2197 }
2198
2199 100% {
2200 -webkit-transform-origin: right bottom;
2201 -ms-transform-origin: right bottom;
2202 transform-origin: right bottom;
2203 -webkit-transform: rotate(0);
2204 -ms-transform: rotate(0);
2205 transform: rotate(0);
2206 opacity: 1;
2207 }
2208 }
2209
2210 .rotateInUpRight {
2211 -webkit-animation-name: rotateInUpRight;
2212 animation-name: rotateInUpRight;
2213 }
2214
2215 @-webkit-keyframes rotateOut {
2216 0% {
2217 -webkit-transform-origin: center center;
2218 transform-origin: center center;
2219 -webkit-transform: rotate(0);
2220 transform: rotate(0);
2221 opacity: 1;
2222 }
2223
2224 100% {
2225 -webkit-transform-origin: center center;
2226 transform-origin: center center;
2227 -webkit-transform: rotate(200deg);
2228 transform: rotate(200deg);
2229 opacity: 0;
2230 }
2231 }
2232
2233 @keyframes rotateOut {
2234 0% {
2235 -webkit-transform-origin: center center;
2236 -ms-transform-origin: center center;
2237 transform-origin: center center;
2238 -webkit-transform: rotate(0);
2239 -ms-transform: rotate(0);
2240 transform: rotate(0);
2241 opacity: 1;
2242 }
2243
2244 100% {
2245 -webkit-transform-origin: center center;
2246 -ms-transform-origin: center center;
2247 transform-origin: center center;
2248 -webkit-transform: rotate(200deg);
2249 -ms-transform: rotate(200deg);
2250 transform: rotate(200deg);
2251 opacity: 0;
2252 }
2253 }
2254
2255 .rotateOut {
2256 -webkit-animation-name: rotateOut;
2257 animation-name: rotateOut;
2258 }
2259
2260 @-webkit-keyframes rotateOutDownLeft {
2261 0% {
2262 -webkit-transform-origin: left bottom;
2263 transform-origin: left bottom;
2264 -webkit-transform: rotate(0);
2265 transform: rotate(0);
2266 opacity: 1;
2267 }
2268
2269 100% {
2270 -webkit-transform-origin: left bottom;
2271 transform-origin: left bottom;
2272 -webkit-transform: rotate(90deg);
2273 transform: rotate(90deg);
2274 opacity: 0;
2275 }
2276 }
2277
2278 @keyframes rotateOutDownLeft {
2279 0% {
2280 -webkit-transform-origin: left bottom;
2281 -ms-transform-origin: left bottom;
2282 transform-origin: left bottom;
2283 -webkit-transform: rotate(0);
2284 -ms-transform: rotate(0);
2285 transform: rotate(0);
2286 opacity: 1;
2287 }
2288
2289 100% {
2290 -webkit-transform-origin: left bottom;
2291 -ms-transform-origin: left bottom;
2292 transform-origin: left bottom;
2293 -webkit-transform: rotate(90deg);
2294 -ms-transform: rotate(90deg);
2295 transform: rotate(90deg);
2296 opacity: 0;
2297 }
2298 }
2299
2300 .rotateOutDownLeft {
2301 -webkit-animation-name: rotateOutDownLeft;
2302 animation-name: rotateOutDownLeft;
2303 }
2304
2305 @-webkit-keyframes rotateOutDownRight {
2306 0% {
2307 -webkit-transform-origin: right bottom;
2308 transform-origin: right bottom;
2309 -webkit-transform: rotate(0);
2310 transform: rotate(0);
2311 opacity: 1;
2312 }
2313
2314 100% {
2315 -webkit-transform-origin: right bottom;
2316 transform-origin: right bottom;
2317 -webkit-transform: rotate(-90deg);
2318 transform: rotate(-90deg);
2319 opacity: 0;
2320 }
2321 }
2322
2323 @keyframes rotateOutDownRight {
2324 0% {
2325 -webkit-transform-origin: right bottom;
2326 -ms-transform-origin: right bottom;
2327 transform-origin: right bottom;
2328 -webkit-transform: rotate(0);
2329 -ms-transform: rotate(0);
2330 transform: rotate(0);
2331 opacity: 1;
2332 }
2333
2334 100% {
2335 -webkit-transform-origin: right bottom;
2336 -ms-transform-origin: right bottom;
2337 transform-origin: right bottom;
2338 -webkit-transform: rotate(-90deg);
2339 -ms-transform: rotate(-90deg);
2340 transform: rotate(-90deg);
2341 opacity: 0;
2342 }
2343 }
2344
2345 .rotateOutDownRight {
2346 -webkit-animation-name: rotateOutDownRight;
2347 animation-name: rotateOutDownRight;
2348 }
2349
2350 @-webkit-keyframes rotateOutUpLeft {
2351 0% {
2352 -webkit-transform-origin: left bottom;
2353 transform-origin: left bottom;
2354 -webkit-transform: rotate(0);
2355 transform: rotate(0);
2356 opacity: 1;
2357 }
2358
2359 100% {
2360 -webkit-transform-origin: left bottom;
2361 transform-origin: left bottom;
2362 -webkit-transform: rotate(-90deg);
2363 transform: rotate(-90deg);
2364 opacity: 0;
2365 }
2366 }
2367
2368 @keyframes rotateOutUpLeft {
2369 0% {
2370 -webkit-transform-origin: left bottom;
2371 -ms-transform-origin: left bottom;
2372 transform-origin: left bottom;
2373 -webkit-transform: rotate(0);
2374 -ms-transform: rotate(0);
2375 transform: rotate(0);
2376 opacity: 1;
2377 }
2378
2379 100% {
2380 -webkit-transform-origin: left bottom;
2381 -ms-transform-origin: left bottom;
2382 transform-origin: left bottom;
2383 -webkit-transform: rotate(-90deg);
2384 -ms-transform: rotate(-90deg);
2385 transform: rotate(-90deg);
2386 opacity: 0;
2387 }
2388 }
2389
2390 .rotateOutUpLeft {
2391 -webkit-animation-name: rotateOutUpLeft;
2392 animation-name: rotateOutUpLeft;
2393 }
2394
2395 @-webkit-keyframes rotateOutUpRight {
2396 0% {
2397 -webkit-transform-origin: right bottom;
2398 transform-origin: right bottom;
2399 -webkit-transform: rotate(0);
2400 transform: rotate(0);
2401 opacity: 1;
2402 }
2403
2404 100% {
2405 -webkit-transform-origin: right bottom;
2406 transform-origin: right bottom;
2407 -webkit-transform: rotate(90deg);
2408 transform: rotate(90deg);
2409 opacity: 0;
2410 }
2411 }
2412
2413 @keyframes rotateOutUpRight {
2414 0% {
2415 -webkit-transform-origin: right bottom;
2416 -ms-transform-origin: right bottom;
2417 transform-origin: right bottom;
2418 -webkit-transform: rotate(0);
2419 -ms-transform: rotate(0);
2420 transform: rotate(0);
2421 opacity: 1;
2422 }
2423
2424 100% {
2425 -webkit-transform-origin: right bottom;
2426 -ms-transform-origin: right bottom;
2427 transform-origin: right bottom;
2428 -webkit-transform: rotate(90deg);
2429 -ms-transform: rotate(90deg);
2430 transform: rotate(90deg);
2431 opacity: 0;
2432 }
2433 }
2434
2435 .rotateOutUpRight {
2436 -webkit-animation-name: rotateOutUpRight;
2437 animation-name: rotateOutUpRight;
2438 }
2439
2440 @-webkit-keyframes slideInDown {
2441 0% {
2442 opacity: 0;
2443 -webkit-transform: translateY(-2000px);
2444 transform: translateY(-2000px);
2445 }
2446
2447 100% {
2448 -webkit-transform: translateY(0);
2449 transform: translateY(0);
2450 }
2451 }
2452
2453 @keyframes slideInDown {
2454 0% {
2455 opacity: 0;
2456 -webkit-transform: translateY(-2000px);
2457 -ms-transform: translateY(-2000px);
2458 transform: translateY(-2000px);
2459 }
2460
2461 100% {
2462 -webkit-transform: translateY(0);
2463 -ms-transform: translateY(0);
2464 transform: translateY(0);
2465 }
2466 }
2467
2468 .slideInDown {
2469 -webkit-animation-name: slideInDown;
2470 animation-name: slideInDown;
2471 }
2472
2473 @-webkit-keyframes slideInLeft {
2474 0% {
2475 opacity: 0;
2476 -webkit-transform: translateX(-2000px);
2477 transform: translateX(-2000px);
2478 }
2479
2480 100% {
2481 -webkit-transform: translateX(0);
2482 transform: translateX(0);
2483 }
2484 }
2485
2486 @keyframes slideInLeft {
2487 0% {
2488 opacity: 0;
2489 -webkit-transform: translateX(-2000px);
2490 -ms-transform: translateX(-2000px);
2491 transform: translateX(-2000px);
2492 }
2493
2494 100% {
2495 -webkit-transform: translateX(0);
2496 -ms-transform: translateX(0);
2497 transform: translateX(0);
2498 }
2499 }
2500
2501 .slideInLeft {
2502 -webkit-animation-name: slideInLeft;
2503 animation-name: slideInLeft;
2504 }
2505
2506 @-webkit-keyframes slideInRight {
2507 0% {
2508 opacity: 0;
2509 -webkit-transform: translateX(2000px);
2510 transform: translateX(2000px);
2511 }
2512
2513 100% {
2514 -webkit-transform: translateX(0);
2515 transform: translateX(0);
2516 }
2517 }
2518
2519 @keyframes slideInRight {
2520 0% {
2521 opacity: 0;
2522 -webkit-transform: translateX(2000px);
2523 -ms-transform: translateX(2000px);
2524 transform: translateX(2000px);
2525 }
2526
2527 100% {
2528 -webkit-transform: translateX(0);
2529 -ms-transform: translateX(0);
2530 transform: translateX(0);
2531 }
2532 }
2533
2534 .slideInRight {
2535 -webkit-animation-name: slideInRight;
2536 animation-name: slideInRight;
2537 }
2538
2539 @-webkit-keyframes slideOutLeft {
2540 0% {
2541 -webkit-transform: translateX(0);
2542 transform: translateX(0);
2543 }
2544
2545 100% {
2546 opacity: 0;
2547 -webkit-transform: translateX(-2000px);
2548 transform: translateX(-2000px);
2549 }
2550 }
2551
2552 @keyframes slideOutLeft {
2553 0% {
2554 -webkit-transform: translateX(0);
2555 -ms-transform: translateX(0);
2556 transform: translateX(0);
2557 }
2558
2559 100% {
2560 opacity: 0;
2561 -webkit-transform: translateX(-2000px);
2562 -ms-transform: translateX(-2000px);
2563 transform: translateX(-2000px);
2564 }
2565 }
2566
2567 .slideOutLeft {
2568 -webkit-animation-name: slideOutLeft;
2569 animation-name: slideOutLeft;
2570 }
2571
2572 @-webkit-keyframes slideOutRight {
2573 0% {
2574 -webkit-transform: translateX(0);
2575 transform: translateX(0);
2576 }
2577
2578 100% {
2579 opacity: 0;
2580 -webkit-transform: translateX(2000px);
2581 transform: translateX(2000px);
2582 }
2583 }
2584
2585 @keyframes slideOutRight {
2586 0% {
2587 -webkit-transform: translateX(0);
2588 -ms-transform: translateX(0);
2589 transform: translateX(0);
2590 }
2591
2592 100% {
2593 opacity: 0;
2594 -webkit-transform: translateX(2000px);
2595 -ms-transform: translateX(2000px);
2596 transform: translateX(2000px);
2597 }
2598 }
2599
2600 .slideOutRight {
2601 -webkit-animation-name: slideOutRight;
2602 animation-name: slideOutRight;
2603 }
2604
2605 @-webkit-keyframes slideOutUp {
2606 0% {
2607 -webkit-transform: translateY(0);
2608 transform: translateY(0);
2609 }
2610
2611 100% {
2612 opacity: 0;
2613 -webkit-transform: translateY(-2000px);
2614 transform: translateY(-2000px);
2615 }
2616 }
2617
2618 @keyframes slideOutUp {
2619 0% {
2620 -webkit-transform: translateY(0);
2621 -ms-transform: translateY(0);
2622 transform: translateY(0);
2623 }
2624
2625 100% {
2626 opacity: 0;
2627 -webkit-transform: translateY(-2000px);
2628 -ms-transform: translateY(-2000px);
2629 transform: translateY(-2000px);
2630 }
2631 }
2632
2633 .slideOutUp {
2634 -webkit-animation-name: slideOutUp;
2635 animation-name: slideOutUp;
2636 }
2637
2638 @-webkit-keyframes slideInUp {
2639 0% {
2640 -webkit-transform: translateY(2000px);
2641 transform: translateY(2000px);
2642 }
2643
2644 100% {
2645 opacity: 0;
2646 -webkit-transform: translateY(0);
2647 transform: translateY(0);
2648 }
2649 }
2650
2651 @keyframes slideInUp {
2652 0% {
2653 -webkit-transform: translateY(2000px);
2654 -ms-transform: translateY(2000px);
2655 transform: translateY(2000px);
2656 }
2657
2658 100% {
2659 opacity: 0;
2660 -webkit-transform: translateY(0);
2661 -ms-transform: translateY(0);
2662 transform: translateY(0);
2663 }
2664 }
2665
2666 .slideInUp {
2667 -webkit-animation-name: slideInUp;
2668 animation-name: slideInUp;
2669 }
2670
2671 @-webkit-keyframes slideOutDown {
2672 0% {
2673 -webkit-transform: translateY(0);
2674 transform: translateY(0);
2675 }
2676
2677 100% {
2678 opacity: 0;
2679 -webkit-transform: translateY(2000px);
2680 transform: translateY(2000px);
2681 }
2682 }
2683
2684 @keyframes slideOutDown {
2685 0% {
2686 -webkit-transform: translateY(0);
2687 -ms-transform: translateY(0);
2688 transform: translateY(0);
2689 }
2690
2691 100% {
2692 opacity: 0;
2693 -webkit-transform: translateY(2000px);
2694 -ms-transform: translateY(2000px);
2695 transform: translateY(2000px);
2696 }
2697 }
2698
2699 .slideOutDown {
2700 -webkit-animation-name: slideOutDown;
2701 animation-name: slideOutDown;
2702 }
2703
2704 @-webkit-keyframes hinge {
2705 0% {
2706 -webkit-transform: rotate(0);
2707 transform: rotate(0);
2708 -webkit-transform-origin: top left;
2709 transform-origin: top left;
2710 -webkit-animation-timing-function: ease-in-out;
2711 animation-timing-function: ease-in-out;
2712 }
2713
2714 20%, 60% {
2715 -webkit-transform: rotate(80deg);
2716 transform: rotate(80deg);
2717 -webkit-transform-origin: top left;
2718 transform-origin: top left;
2719 -webkit-animation-timing-function: ease-in-out;
2720 animation-timing-function: ease-in-out;
2721 }
2722
2723 40% {
2724 -webkit-transform: rotate(60deg);
2725 transform: rotate(60deg);
2726 -webkit-transform-origin: top left;
2727 transform-origin: top left;
2728 -webkit-animation-timing-function: ease-in-out;
2729 animation-timing-function: ease-in-out;
2730 }
2731
2732 80% {
2733 -webkit-transform: rotate(60deg) translateY(0);
2734 transform: rotate(60deg) translateY(0);
2735 -webkit-transform-origin: top left;
2736 transform-origin: top left;
2737 -webkit-animation-timing-function: ease-in-out;
2738 animation-timing-function: ease-in-out;
2739 opacity: 1;
2740 }
2741
2742 100% {
2743 -webkit-transform: translateY(700px);
2744 transform: translateY(700px);
2745 opacity: 0;
2746 }
2747 }
2748
2749 @keyframes hinge {
2750 0% {
2751 -webkit-transform: rotate(0);
2752 -ms-transform: rotate(0);
2753 transform: rotate(0);
2754 -webkit-transform-origin: top left;
2755 -ms-transform-origin: top left;
2756 transform-origin: top left;
2757 -webkit-animation-timing-function: ease-in-out;
2758 animation-timing-function: ease-in-out;
2759 }
2760
2761 20%, 60% {
2762 -webkit-transform: rotate(80deg);
2763 -ms-transform: rotate(80deg);
2764 transform: rotate(80deg);
2765 -webkit-transform-origin: top left;
2766 -ms-transform-origin: top left;
2767 transform-origin: top left;
2768 -webkit-animation-timing-function: ease-in-out;
2769 animation-timing-function: ease-in-out;
2770 }
2771
2772 40% {
2773 -webkit-transform: rotate(60deg);
2774 -ms-transform: rotate(60deg);
2775 transform: rotate(60deg);
2776 -webkit-transform-origin: top left;
2777 -ms-transform-origin: top left;
2778 transform-origin: top left;
2779 -webkit-animation-timing-function: ease-in-out;
2780 animation-timing-function: ease-in-out;
2781 }
2782
2783 80% {
2784 -webkit-transform: rotate(60deg) translateY(0);
2785 -ms-transform: rotate(60deg) translateY(0);
2786 transform: rotate(60deg) translateY(0);
2787 -webkit-transform-origin: top left;
2788 -ms-transform-origin: top left;
2789 transform-origin: top left;
2790 -webkit-animation-timing-function: ease-in-out;
2791 animation-timing-function: ease-in-out;
2792 opacity: 1;
2793 }
2794
2795 100% {
2796 -webkit-transform: translateY(700px);
2797 -ms-transform: translateY(700px);
2798 transform: translateY(700px);
2799 opacity: 0;
2800 }
2801 }
2802
2803 .hinge {
2804 -webkit-animation-name: hinge;
2805 animation-name: hinge;
2806 }
2807
2808 /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2809
2810 @-webkit-keyframes rollIn {
2811 0% {
2812 opacity: 0;
2813 -webkit-transform: translateX(-100%) rotate(-120deg);
2814 transform: translateX(-100%) rotate(-120deg);
2815 }
2816
2817 100% {
2818 opacity: 1;
2819 -webkit-transform: translateX(0px) rotate(0deg);
2820 transform: translateX(0px) rotate(0deg);
2821 }
2822 }
2823
2824 @keyframes rollIn {
2825 0% {
2826 opacity: 0;
2827 -webkit-transform: translateX(-100%) rotate(-120deg);
2828 -ms-transform: translateX(-100%) rotate(-120deg);
2829 transform: translateX(-100%) rotate(-120deg);
2830 }
2831
2832 100% {
2833 opacity: 1;
2834 -webkit-transform: translateX(0px) rotate(0deg);
2835 -ms-transform: translateX(0px) rotate(0deg);
2836 transform: translateX(0px) rotate(0deg);
2837 }
2838 }
2839
2840 .rollIn {
2841 -webkit-animation-name: rollIn;
2842 animation-name: rollIn;
2843 }
2844
2845 /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2846
2847 @-webkit-keyframes rollOut {
2848 0% {
2849 opacity: 1;
2850 -webkit-transform: translateX(0px) rotate(0deg);
2851 transform: translateX(0px) rotate(0deg);
2852 }
2853
2854 100% {
2855 opacity: 0;
2856 -webkit-transform: translateX(100%) rotate(120deg);
2857 transform: translateX(100%) rotate(120deg);
2858 }
2859 }
2860
2861 @keyframes rollOut {
2862 0% {
2863 opacity: 1;
2864 -webkit-transform: translateX(0px) rotate(0deg);
2865 -ms-transform: translateX(0px) rotate(0deg);
2866 transform: translateX(0px) rotate(0deg);
2867 }
2868
2869 100% {
2870 opacity: 0;
2871 -webkit-transform: translateX(100%) rotate(120deg);
2872 -ms-transform: translateX(100%) rotate(120deg);
2873 transform: translateX(100%) rotate(120deg);
2874 }
2875 }
2876
2877 .rollOut {
2878 -webkit-animation-name: rollOut;
2879 animation-name: rollOut;
2880 }
1 <html ng-app="acufuel"> 1 <html ng-app="acufuel">
2 <head lang="en"> 2 <head lang="en">
3 <meta charset="utf-8"> 3 <meta charset="utf-8">
4 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 4 <meta name="viewport" content="width=device-width, initial-scale=1.0">
5 <meta name="description" content=""> 5 <meta name="description" content="">
6 <meta name="author" content=""> 6 <meta name="author" content="">
7 7
8 <link rel="stylesheet" href="bower_components/nvd3/build/nv.d3.css"> 8 <link rel="stylesheet" href="bower_components/nvd3/build/nv.d3.css">
9 9
10 10
11 11
12 <title>Acufuel</title> 12 <title>Acufuel</title>
13 <!-- styles --> 13 <!-- styles -->
14 <link rel="stylesheet" href="css/ui-lightness/jquery-ui-1.10.0.custom.min.css"/> 14 <link rel="stylesheet" href="css/ui-lightness/jquery-ui-1.10.0.custom.min.css"/>
15 <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"/> 15 <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"/>
16 <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css"/> 16 <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css"/>
17 <link rel="stylesheet" href="bower_components/bootstrap-toggle/css/bootstrap-toggle.min.css" /> 17 <link rel="stylesheet" href="bower_components/bootstrap-toggle/css/bootstrap-toggle.min.css" />
18 <!-- <link rel="stylesheet" href="bower_components/fullcalendar/dist/fullcalendar.min.css"/> 18 <!-- <link rel="stylesheet" href="bower_components/fullcalendar/dist/fullcalendar.min.css"/>
19 <link rel="stylesheet" href="bower_components/fullcalendar/dist/fullcalendar.print.min.css"/> --> 19 <link rel="stylesheet" href="bower_components/fullcalendar/dist/fullcalendar.print.min.css"/> -->
20 <link rel="stylesheet" href="bower_components/toastr/toastr.min.css"/> 20 <link rel="stylesheet" href="bower_components/toastr/toastr.min.css"/>
21 <link rel="stylesheet" href="bower_components/angular-bootstrap/ui-bootstrap-csp.css"/> 21 <link rel="stylesheet" href="bower_components/angular-bootstrap/ui-bootstrap-csp.css"/>
22 <link href="bower_components/jqGrid/css/ui.jqgrid.css" rel="stylesheet"> 22 <link href="bower_components/jqGrid/css/ui.jqgrid.css" rel="stylesheet">
23 <link href="bower_components/angular-xeditable/dist/css/xeditable.css" rel="stylesheet"> 23 <link href="bower_components/angular-xeditable/dist/css/xeditable.css" rel="stylesheet">
24 <link href="bower_components/angular-bootstrap-toggle/dist/angular-bootstrap-toggle.min.css" 24 <link href="bower_components/angular-bootstrap-toggle/dist/angular-bootstrap-toggle.min.css"
25 rel="stylesheet"> 25 rel="stylesheet">
26 26
27 27
28 <link rel="stylesheet" href="css/main.css"/> 28 <link rel="stylesheet" href="css/main.css"/>
29 <link rel="stylesheet" href="css/base-admin-3.css"/> 29 <link rel="stylesheet" href="css/base-admin-3.css"/>
30 <link rel="stylesheet" href="css/base-admin-3-responsive.css"/> 30 <link rel="stylesheet" href="css/base-admin-3-responsive.css"/>
31 <link rel="stylesheet" href="css/custom.css"/> 31 <link rel="stylesheet" href="css/custom.css"/>
32 32
33 <link href="css/bootstrap-responsive.min.css" rel="stylesheet"> 33 <link href="css/bootstrap-responsive.min.css" rel="stylesheet">
34 <link href="http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600" rel="stylesheet"> 34 <link href="http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600" rel="stylesheet">
35 <link href="js/plugins/cirque/cirque.css" rel="stylesheet"> 35 <link href="js/plugins/cirque/cirque.css" rel="stylesheet">
36 36
37 <link href="css/pages/dashboard.css" rel="stylesheet"> 37 <link href="css/pages/dashboard.css" rel="stylesheet">
38 <link href="js/plugins/faq/faq.css" rel="stylesheet"> 38 <link href="js/plugins/faq/faq.css" rel="stylesheet">
39 <link href="css/pages/plans.css" rel="stylesheet"> 39 <link href="css/pages/plans.css" rel="stylesheet">
40 40
41 <link href="js/plugins/lightbox/themes/evolution-dark/jquery.lightbox.css" rel="stylesheet"> 41 <link href="js/plugins/lightbox/themes/evolution-dark/jquery.lightbox.css" rel="stylesheet">
42 <link href="js/plugins/msgGrowl/css/msgGrowl.css" rel="stylesheet"> 42 <link href="js/plugins/msgGrowl/css/msgGrowl.css" rel="stylesheet">
43 <link href="js/plugins/msgbox/jquery.msgbox.css" rel="stylesheet"> 43 <link href="js/plugins/msgbox/jquery.msgbox.css" rel="stylesheet">
44 <link href="css/pages/pricing.css" rel="stylesheet"> 44 <link href="css/pages/pricing.css" rel="stylesheet">
45 <link href="css/pages/reports.css" rel="stylesheet"> 45 <link href="css/pages/reports.css" rel="stylesheet">
46 46
47 <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.min.css" rel="stylesheet" type="text/css" /> 47 <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.min.css" rel="stylesheet" type="text/css" />
48 48
49 <link rel="stylesheet" type="text/css" href="css/ngTable.css"> 49 <link rel="stylesheet" type="text/css" href="css/ngTable.css">
50 <link rel="stylesheet" href="bower_components/select2/select2.css"> 50 <link rel="stylesheet" href="bower_components/select2/select2.css">
51 51
52 <!-- <link rel="stylesheet" type="text/css" href="css/fullcalender.css"> 52 <!-- <link rel="stylesheet" type="text/css" href="css/fullcalender.css">
53 <link rel="stylesheet" type="text/css" href="css/fullcalenderprint.css"> --> 53 <link rel="stylesheet" type="text/css" href="css/fullcalenderprint.css"> -->
54 54
55 <!-- <link rel="stylesheet"; href="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.css"> --> 55 <!-- <link rel="stylesheet"; href="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.css"> -->
56 56
57 <!-- <link href='https://fullcalendar.io/js/fullcalendar-3.4.0/fullcalendar.min.css' rel='stylesheet' /> 57 <!-- <link href='https://fullcalendar.io/js/fullcalendar-3.4.0/fullcalendar.min.css' rel='stylesheet' />
58 <link href='https://fullcalendar.io/js/fullcalendar-3.4.0/fullcalendar.print.min.css' rel='stylesheet' media='print' /> 58 <link href='https://fullcalendar.io/js/fullcalendar-3.4.0/fullcalendar.print.min.css' rel='stylesheet' media='print' />
59 <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/lib/moment.min.js'></script> 59 <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/lib/moment.min.js'></script>
60 <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/lib/jquery.min.js'></script> 60 <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/lib/jquery.min.js'></script>
61 <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/lib/jquery-ui.min.js'></script> --> 61 <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/lib/jquery-ui.min.js'></script> -->
62 <link rel="stylesheet" href="bower_components/fullcalendar/dist/fullcalendar.css"/> 62 <link rel="stylesheet" href="bower_components/fullcalendar/dist/fullcalendar.css"/>
63 <link rel="stylesheet" type="text/css" href="css/animation.css">
63 64
64 </head> 65 </head>
65 <body> 66 <body>
66 <!-- views --> 67 <!-- views -->
67 68
68 <!-- scripts --> 69 <!-- scripts -->
69 70
70 <script src="bower_components/jquery/dist/jquery.min.js"></script> 71 <script src="bower_components/jquery/dist/jquery.min.js"></script>
71 <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> 72 <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
72 <script src="js/libs/jquery-ui-1.10.0.custom.min.js"></script> 73 <script src="js/libs/jquery-ui-1.10.0.custom.min.js"></script>
73 <!--<script src="js/plugins/flot/jquery.flot.js"></script> 74 <!--<script src="js/plugins/flot/jquery.flot.js"></script>
74 <script src="js/plugins/flot/jquery.flot.pie.js"></script> 75 <script src="js/plugins/flot/jquery.flot.pie.js"></script>
75 <script src="js/plugins/flot/jquery.flot.resize.js"></script> 76 <script src="js/plugins/flot/jquery.flot.resize.js"></script>
76 <script src="js/plugins/flot/jquery.flot.orderBars.js"></script>--> 77 <script src="js/plugins/flot/jquery.flot.orderBars.js"></script>-->
77 <script src="js/plugins/hoverIntent/jquery.hoverIntent.minified.js"></script> 78 <script src="js/plugins/hoverIntent/jquery.hoverIntent.minified.js"></script>
78 <script src="js/plugins/lightbox/jquery.lightbox.min.js"></script> 79 <script src="js/plugins/lightbox/jquery.lightbox.min.js"></script>
79 <script src="js/plugins/validate/jquery.validate.js"></script> 80 <script src="js/plugins/validate/jquery.validate.js"></script>
80 <script src="js/plugins/msgbox/jquery.msgbox.min.js"></script> 81 <script src="js/plugins/msgbox/jquery.msgbox.min.js"></script>
81 82
82 <script src="bower_components/angular/angular.min.js"></script> 83 <script src="bower_components/angular/angular.min.js"></script>
83 <script src="bower_components/angular-route/angular-route.js"></script> 84 <script src="bower_components/angular-route/angular-route.js"></script>
84 <script src="bower_components/angular-cookies/angular-cookies.min.js"></script> 85 <script src="bower_components/angular-cookies/angular-cookies.min.js"></script>
85 <script src="bower_components/angular-resource/angular-resource.min.js"></script> 86 <script src="bower_components/angular-resource/angular-resource.min.js"></script>
86 <script src="bower_components/angular-animate/angular-animate.js"></script> 87 <script src="bower_components/angular-animate/angular-animate.js"></script>
87 <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script> 88 <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
88 <script src="bower_components/bootstrap-toggle/js/bootstrap-toggle.min.js"></script> 89 <script src="bower_components/bootstrap-toggle/js/bootstrap-toggle.min.js"></script>
89 <script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script> 90 <script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
90 <script src='bower_components/moment/min/moment.min.js'></script> 91 <script src='bower_components/moment/min/moment.min.js'></script>
91 <!-- <script src="bower_components/fullcalendar/dist/fullcalendar.min.js"></script> --> 92 <!-- <script src="bower_components/fullcalendar/dist/fullcalendar.min.js"></script> -->
92 <script src='bower_components/toastr/toastr.min.js'></script> 93 <script src='bower_components/toastr/toastr.min.js'></script>
93 <script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script> 94 <script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script>
94 <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script> 95 <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
95 <script src="bower_components/jqGrid/js/i18n/grid.locale-en.js"></script> 96 <script src="bower_components/jqGrid/js/i18n/grid.locale-en.js"></script>
96 <script src="bower_components/jqGrid/js/jquery.jqGrid.min.js"></script> 97 <script src="bower_components/jqGrid/js/jquery.jqGrid.min.js"></script>
97 <script src="bower_components/angular-xeditable/dist/js/xeditable.js"></script> 98 <script src="bower_components/angular-xeditable/dist/js/xeditable.js"></script>
98 <script src="bower_components/angular-bootstrap-toggle/dist/angular-bootstrap-toggle.min.js"></script> 99 <script src="bower_components/angular-bootstrap-toggle/dist/angular-bootstrap-toggle.min.js"></script>
99 <script src="bower_components/select2/select2.js"></script> 100 <script src="bower_components/select2/select2.js"></script>
100 <script src="bower_components/angular-ui-select2/src/select2.js"></script> 101 <script src="bower_components/angular-ui-select2/src/select2.js"></script>
101 <script src="bower_components/angular-ckeditor/angular-ckeditor.js"></script> 102 <script src="bower_components/angular-ckeditor/angular-ckeditor.js"></script>
102 <script src="bower_components/angular-dragdrop/src/angular-dragdrop.min.js"></script> 103 <script src="bower_components/angular-dragdrop/src/angular-dragdrop.min.js"></script>
103 104
104 <!-- <script src="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.js"></script> --> 105 <!-- <script src="https://unpkg.com/ng-table@2.0.2/bundles/ng-table.min.js"></script> -->
105 <script type="text/javascript" src="bower_components/angular-ui-calendar/src/calendar.js"></script> 106 <script type="text/javascript" src="bower_components/angular-ui-calendar/src/calendar.js"></script>
106 <!-- <script type="text/javascript" src="bower_components/fullcalendar/dist/fullcalendar.min.js"></script> --> 107 <!-- <script type="text/javascript" src="bower_components/fullcalendar/dist/fullcalendar.min.js"></script> -->
107 108
108 109
109 <!-- 110 <!--
110 <script src="scripts/inspinia.js"></script> 111 <script src="scripts/inspinia.js"></script>
111 <script src="plugins/iCheck/icheck.min.js"></script> 112 <script src="plugins/iCheck/icheck.min.js"></script>
112 --> 113 -->
113 114
114 <!-- <script src="./js/Application.js"></script> 115 <!-- <script src="./js/Application.js"></script>
115 <script src="js/charts/area.js"></script> 116 <script src="js/charts/area.js"></script>
116 <script src="js/charts/donut.js"></script> 117 <script src="js/charts/donut.js"></script>
117 <script src="js/charts/pie.js"></script> 118 <script src="js/charts/pie.js"></script>
118 <script src="js/charts/bar.js"></script> 119 <script src="js/charts/bar.js"></script>
119 <script src="js/demo/validation.js"></script> 120 <script src="js/demo/validation.js"></script>
120 <script src="js/charts/line.js"></script> --> 121 <script src="js/charts/line.js"></script> -->
121 <script src="js/demo/faq.js"></script> 122 <script src="js/demo/faq.js"></script>
122 <script src="js/plugins/faq/faq.js"></script> 123 <script src="js/plugins/faq/faq.js"></script>
123 <script src="js/demo/gallery.js"></script> 124 <script src="js/demo/gallery.js"></script>
124 <script src="js/demo/sliders.js"></script> 125 <script src="js/demo/sliders.js"></script>
125 <script src="js/plugins/msgGrowl/js/msgGrowl.js"></script> 126 <script src="js/plugins/msgGrowl/js/msgGrowl.js"></script>
126 <script src="js/demo/notifications.js"></script> 127 <script src="js/demo/notifications.js"></script>
127 128
128 <script src="js/ngTable.js"></script> 129 <script src="js/ngTable.js"></script>
129 130
130 <!-- <script src="js/fullcalender.js"></script> --> 131 <!-- <script src="js/fullcalender.js"></script> -->
131 132
132 <script src="http://cdn.ckeditor.com/4.6.1/standard-all/ckeditor.js"></script> 133 <script src="http://cdn.ckeditor.com/4.6.1/standard-all/ckeditor.js"></script>
133 <script src="https://code.highcharts.com/maps/highmaps.js"></script> 134 <script src="https://code.highcharts.com/maps/highmaps.js"></script>
134 <script src="https://code.highcharts.com/maps/modules/data.js"></script> 135 <script src="https://code.highcharts.com/maps/modules/data.js"></script>
135 <script src="https://code.highcharts.com/mapdata/countries/us/us-all.js"></script> 136 <script src="https://code.highcharts.com/mapdata/countries/us/us-all.js"></script>
136 <!-- Controllers --> 137 <!-- Controllers -->
137 <script src="js/app.js"></script> 138 <script src="js/app.js"></script>
138 <script src="js/app.constant.js"></script> 139 <script src="js/app.constant.js"></script>
139 <script src="partials/login/login.controller.js"></script> 140 <script src="partials/login/login.controller.js"></script>
140 <script src="partials/customers/customers.controller.js"></script> 141 <script src="partials/customers/customers.controller.js"></script>
141 <script src="partials/analytics/analytics.controller.js"></script> 142 <script src="partials/analytics/analytics.controller.js"></script>
142 <script src="partials/account/account.controller.js"></script> 143 <script src="partials/account/account.controller.js"></script>
143 <script src="partials/elements/elements.controller.js"></script> 144 <script src="partials/elements/elements.controller.js"></script>
144 <script src="partials/error/error.controller.js"></script> 145 <script src="partials/error/error.controller.js"></script>
145 <script src="partials/faq/faq.controller.js"></script> 146 <script src="partials/faq/faq.controller.js"></script>
146 <script src="partials/forms/forms.controller.js"></script> 147 <script src="partials/forms/forms.controller.js"></script>
147 <script src="partials/fuelManager/fuelManager.controller.js"></script> 148 <script src="partials/fuelManager/fuelManager.controller.js"></script>
148 <script src="partials/pricing/pricing.controller.js"></script> 149 <script src="partials/pricing/pricing.controller.js"></script>
149 <script src="partials/reports/reports.controller.js"></script> 150 <script src="partials/reports/reports.controller.js"></script>
150 <script src="partials/scheduler/scheduler.controller.js"></script> 151 <script src="partials/scheduler/scheduler.controller.js"></script>
151 <script src="partials/signup/signup.controller.js"></script> 152 <script src="partials/signup/signup.controller.js"></script>
152 <script src="partials/updateFuelManager/updateFuelManager.controller.js"></script> 153 <script src="partials/updateFuelManager/updateFuelManager.controller.js"></script>
153 <script src="partials/viewCompany/viewCompany.controller.js"></script> 154 <script src="partials/viewCompany/viewCompany.controller.js"></script>
154 <script src="partials/dashboard/dashboard.controller.js"></script> 155 <script src="partials/dashboard/dashboard.controller.js"></script>
155 <script src="partials/fuelOrders/fuelOrders.controller.js"></script> 156 <script src="partials/fuelOrders/fuelOrders.controller.js"></script>
156 <script src="partials/DispatchFuel/DispatchFuel.controller.js"></script> 157 <script src="partials/DispatchFuel/DispatchFuel.controller.js"></script>
157 <script src="partials/searchDispatchFuel/searchDispatchFuel.controller.js"></script> 158 <script src="partials/searchDispatchFuel/searchDispatchFuel.controller.js"></script>
158 <script src="partials/Accept/Accept.controller.js"></script> 159 <script src="partials/Accept/Accept.controller.js"></script>
159 <!-- <script src="partials/AircraftList/AircraftList.controller.js"></script> --> 160 <!-- <script src="partials/AircraftList/AircraftList.controller.js"></script> -->
160 <script src="partials/ContactView/ContactView.controller.js"></script> 161 <script src="partials/ContactView/ContactView.controller.js"></script>
161 <script src="partials/FuelVendors/FuelVendors.controller.js"></script> 162 <script src="partials/FuelVendors/FuelVendors.controller.js"></script>
162 <script src="partials/delselected/delselected.controller.js"></script> 163 <script src="partials/delselected/delselected.controller.js"></script>
163 <script src="partials/pricingcontact/pricingcontact.controller.js"></script> 164 <script src="partials/pricingcontact/pricingcontact.controller.js"></script>
164 <script src="partials/viewcontact/viewcontact.controller.js"></script> 165 <script src="partials/viewcontact/viewcontact.controller.js"></script>
165 <script src="partials/viewFuelVendor/viewFuelVendor.controller.js"></script> 166 <script src="partials/viewFuelVendor/viewFuelVendor.controller.js"></script>
166 <script src="partials/accountSetting/accountSetting.Controller.js"></script> 167 <script src="partials/accountSetting/accountSetting.Controller.js"></script>
167 <script src="partials/viewVendorContact/viewVendorContact.Controller.js"></script> 168 <script src="partials/viewVendorContact/viewVendorContact.Controller.js"></script>
168 <script src="partials/enterFuelOrder/enterFuelOrder.controller.js"></script> 169 <script src="partials/enterFuelOrder/enterFuelOrder.controller.js"></script>
169 <script src="partials/flightDepOrders/flightDepOrders.controller.js"></script> 170 <script src="partials/flightDepOrders/flightDepOrders.controller.js"></script>
170 <script src="partials/flightDepDashboard/flightDepDashboard.controller.js"></script> 171 <script src="partials/flightDepDashboard/flightDepDashboard.controller.js"></script>
171 172
172 <script src="partials/main/main.controller.js"></script> 173 <script src="partials/main/main.controller.js"></script>
173 <div ui-view></div> 174 <div ui-view></div>
174 <!-- End controllers --> 175 <!-- End controllers -->
175 176
176 177
177 <!-- services --> 178 <!-- services -->
178 <script src="partials/login/login.service.js"></script> 179 <script src="partials/login/login.service.js"></script>
179 <script src="partials/customers/customers.service.js"></script> 180 <script src="partials/customers/customers.service.js"></script>
180 <script src="partials/analytics/analytics.service.js"></script> 181 <script src="partials/analytics/analytics.service.js"></script>
181 <script src="partials/account/account.service.js"></script> 182 <script src="partials/account/account.service.js"></script>
182 <script src="partials/elements/elements.service.js"></script> 183 <script src="partials/elements/elements.service.js"></script>
183 <script src="partials/error/error.service.js"></script> 184 <script src="partials/error/error.service.js"></script>
184 <script src="partials/faq/faq.service.js"></script> 185 <script src="partials/faq/faq.service.js"></script>
185 <script src="partials/forms/forms.service.js"></script> 186 <script src="partials/forms/forms.service.js"></script>
186 <script src="partials/fuelManager/fuelManager.service.js"></script> 187 <script src="partials/fuelManager/fuelManager.service.js"></script>
187 <script src="partials/pricing/pricing.service.js"></script> 188 <script src="partials/pricing/pricing.service.js"></script>
188 <script src="partials/reports/reports.service.js"></script> 189 <script src="partials/reports/reports.service.js"></script>
189 190
190 <script src="partials/signup/signup.service.js"></script> 191 <script src="partials/signup/signup.service.js"></script>
191 <script src="partials/updateFuelManager/updateFuelManager.service.js"></script> 192 <script src="partials/updateFuelManager/updateFuelManager.service.js"></script>
192 <script src="partials/viewCompany/viewCompany.service.js"></script> 193 <script src="partials/viewCompany/viewCompany.service.js"></script>
193 <script src="partials/dashboard/dashboard.service.js"></script> 194 <script src="partials/dashboard/dashboard.service.js"></script>
194 <script src="partials/fuelOrders/fuelOrders.service.js"></script> 195 <script src="partials/fuelOrders/fuelOrders.service.js"></script>
195 <script src="partials/DispatchFuel/DispatchFuel.service.js"></script> 196 <script src="partials/DispatchFuel/DispatchFuel.service.js"></script>
196 <script src="partials/searchDispatchFuel/searchDispatchFuel.service.js"></script> 197 <script src="partials/searchDispatchFuel/searchDispatchFuel.service.js"></script>
197 <script src="partials/Accept/Accept.service.js"></script> 198 <script src="partials/Accept/Accept.service.js"></script>
198 <!-- <script src="partials/AircraftList/AircraftList.controller.js"></script> --> 199 <!-- <script src="partials/AircraftList/AircraftList.controller.js"></script> -->
199 <script src="partials/ContactView/ContactView.service.js"></script> 200 <script src="partials/ContactView/ContactView.service.js"></script>
200 <script src="partials/FuelVendors/FuelVendors.service.js"></script> 201 <script src="partials/FuelVendors/FuelVendors.service.js"></script>
201 <script src="partials/delselected/delselected.service.js"></script> 202 <script src="partials/delselected/delselected.service.js"></script>
202 <script src="partials/pricingcontact/pricingcontact.service.js"></script> 203 <script src="partials/pricingcontact/pricingcontact.service.js"></script>
203 <script src="partials/viewcontact/viewcontact.service.js"></script> 204 <script src="partials/viewcontact/viewcontact.service.js"></script>
204 <script src="partials/viewFuelVendor/viewFuelVendor.service.js"></script> 205 <script src="partials/viewFuelVendor/viewFuelVendor.service.js"></script>
205 <script src="partials/accountSetting/accountSetting.Service.js"></script> 206 <script src="partials/accountSetting/accountSetting.Service.js"></script>
206 <script src="partials/viewVendorContact/viewVendorContact.Service.js"></script> 207 <script src="partials/viewVendorContact/viewVendorContact.Service.js"></script>
207 <script src="partials/enterFuelOrder/enterFuelOrder.service.js"></script> 208 <script src="partials/enterFuelOrder/enterFuelOrder.service.js"></script>
208 <script src="partials/flightDepOrders/flightDepOrders.service.js"></script> 209 <script src="partials/flightDepOrders/flightDepOrders.service.js"></script>
209 <script src="partials/flightDepDashboard/flightDepDashboard.service.js"></script> 210 <script src="partials/flightDepDashboard/flightDepDashboard.service.js"></script>
210 211
211 <script src="partials/main/main.service.js"></script> 212 <script src="partials/main/main.service.js"></script>
212 <!-- <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/fullcalendar.min.js'></script> --> 213 <!-- <script src='https://fullcalendar.io/js/fullcalendar-3.4.0/fullcalendar.min.js'></script> -->
213 <script type="text/javascript" src="bower_components/fullcalendar/dist/fullcalendar.min.js"></script> 214 <script type="text/javascript" src="bower_components/fullcalendar/dist/fullcalendar.min.js"></script>
214 <script type="text/javascript" src="bower_components/fullcalendar/dist/gcal.js"></script> 215 <script type="text/javascript" src="bower_components/fullcalendar/dist/gcal.js"></script>
215 216
216 <script src="partials/scheduler/scheduler.service.js"></script> 217 <script src="partials/scheduler/scheduler.service.js"></script>
217 218
218 <!-- <script src="bower_components/angular/angular.js"></script> --> 219 <!-- <script src="bower_components/angular/angular.js"></script> -->
219 <script src="bower_components/d3/d3.js"></script> 220 <script src="bower_components/d3/d3.js"></script>
220 <script src="bower_components/nvd3/build/nv.d3.js"></script> <!-- or use another assembly --> 221 <script src="bower_components/nvd3/build/nv.d3.js"></script> <!-- or use another assembly -->
221 222
222 <script src="bower_components/angular-nvd3/dist/angular-nvd3.js"></script> 223 <script src="bower_components/angular-nvd3/dist/angular-nvd3.js"></script>
223 224
224 </body> 225 </body>
225 </html> 226 </html>
app/js/ngTable.js
1 /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ 1 /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */
2 2
3 //!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(a){return b(a)}):b(a)}(window.angular||null,function(a){"use strict";var b=a.module("ngTable",[]);return function(){function b(b){function c(b,c){var f=b.charAt(0).toUpperCase()+b.substring(1),g={};return g["on"+f]=d(b),g["publish"+f]=e(b),a.extend(c,g)}function d(c){return function(d){var e=a.identity,g=b;if(2===arguments.length?a.isFunction(arguments[1].$new)?g=arguments[1]:e=arguments[1]:arguments.length>2&&(g=arguments[1],e=arguments[2]),a.isObject(e)){var h=e;e=function(a){return a===h}}return g.$on("ngTable:"+c,function(a,b){if(!b.isNullInstance){var c=f(arguments,2),g=[b].concat(c);e.apply(this,g)&&d.apply(this,g)}})}}function e(a){return function(){var c=["ngTable:"+a].concat(Array.prototype.slice.call(arguments));b.$broadcast.apply(b,c)}}function f(a,b){return Array.prototype.slice.call(a,null==b?1:b)}var g={};return g=c("afterCreated",g),g=c("afterReloadData",g),g=c("datasetChanged",g),g=c("pagesChanged",g)}a.module("ngTable").factory("ngTableEventsChannel",b),b.$inject=["$rootScope"]}(),function(){function b(){function b(){c()}function c(){f=g}function d(b){var c=a.extend({},f,b);c.aliasUrls=a.extend({},f.aliasUrls,b.aliasUrls),f=c}function e(){function b(a,b){return-1!==a.indexOf("/")?a:e.getUrlForAlias(a,b)}function c(a){return f.aliasUrls[a]||f.defaultBaseUrl+a+f.defaultExt}var d,e={config:d,getTemplateUrl:b,getUrlForAlias:c};return Object.defineProperty(e,"config",{get:function(){return d=d||a.copy(f)},enumerable:!0}),e}var f,g={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}};this.$get=e,this.resetConfigs=c,this.setConfig=d,b(),e.$inject=[]}a.module("ngTable").provider("ngTableFilterConfig",b),b.$inject=[]}(),function(){function b(){function a(a){function c(c,d){if(null==c)return[];var e=d.hasFilter()?a(b.filterFilterName)(c,d.filter(!0)):c,f=d.orderBy(),g=f.length?a(b.sortingFilterName)(e,f):e,h=g.slice((d.page()-1)*d.count(),d.page()*d.count());return d.total(g.length),h}return c}var b=this;b.$get=a,b.filterFilterName="filter",b.sortingFilterName="orderBy",a.$inject=["$filter"]}a.module("ngTable").provider("ngTableDefaultGetData",b),b.$inject=[]}(),function(){function b(a){function b(b){return function(){var c=a.defer(),d=b.apply(this,[c].concat(Array.prototype.slice.call(arguments)));return d||(d=c.promise),d}}return b}a.module("ngTable").factory("ngTableGetDataBcShim",b),b.$inject=["$q"]}(),b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("NgTableParams",["$q","$log","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g){var h=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},i=function(i,j){function k(){var a=s.getDataFnAdaptor(s.getData);return b.when(a.call(s,o))}function l(){var a=s.getGroupsFnAdaptor(s.getGroups);return b.when(a.call(s,s.groupBy,o))}function m(a){var c=s.interceptors||[];return c.reduce(function(a,c){var d=c.response&&c.response.bind(c)||b.when,e=c.responseError&&c.responseError.bind(c)||b.reject;return a.then(function(a){return d(a,o)},function(a){return e(a,o)})},a())}"boolean"==typeof i&&(this.isNullInstance=!0);var n,o=this,p=!1,q=function(){s.debugMode&&c.debug&&c.debug.apply(this,arguments)};this.data=[],this.parameters=function(b,c){if(c=c||!1,a.isDefined(b)){for(var d in b){var e=b[d];if(c&&d.indexOf("[")>=0){for(var f=d.split(/\[(.*)\]/).reverse(),g="",i=0,j=f.length;j>i;i++){var k=f[i];if(""!==k){var l=e;e={},e[g=k]=h(l)?parseFloat(l):l}}"sorting"===g&&(r[g]={}),r[g]=a.extend(r[g]||{},e[g])}else r[d]=h(b[d])?parseFloat(b[d]):b[d]}return q("ngTable: set parameters",r),this}return r},this.settings=function(b){if(a.isDefined(b)){a.isArray(b.data)&&(b.total=b.data.length),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=e),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=e);var c=s.data;s=a.extend(s,b);var d=b.hasOwnProperty("data")&&b.data!=c;return d&&(p&&this.page(1),p=!1,g.publishDatasetChanged(this,b.data,c)),q("ngTable: set settings",s),this}return s},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):r.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):s.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):r.count},this.filter=function(b){if(a.isDefined(b)&&a.isObject(b))return this.parameters({filter:b,page:1});if(b===!0){for(var c=Object.keys(r.filter),d={},e=0;e<c.length;e++){var f=r.filter[c[e]];null!=f&&""!==f&&(d[c[e]]=f)}return d}return r.filter},this.sorting=function(b){if(2==arguments.length){var c={};return c[b]=arguments[1],this.parameters({sorting:c}),this}return a.isDefined(b)?this.parameters({sorting:b}):r.sorting},this.isSortBy=function(b,c){return void 0!==c?a.isDefined(r.sorting[b])&&r.sorting[b]==c:a.isDefined(r.sorting[b])},this.orderBy=function(){var a=[];for(var b in r.sorting)a.push(("asc"===r.sorting[b]?"+":"-")+b);return a},this.getData=function(a){return f(this.data,a)},this.getGroups=function(b){return k().then(function(c){var d={};a.forEach(c,function(c){var e=a.isFunction(b)?b(c):c[b];d[e]=d[e]||{data:[]},d[e].value=e,d[e].data.push(c)});var e=[];for(var f in d)e.push(d[f]);return q("ngTable: refresh groups",e),e})},this.generatePagesArray=function(a,b,c,d){arguments.length||(a=this.page(),b=this.total(),c=this.count());var e,f,g,h,i;if(d=d&&6>d?6:d,i=[],h=Math.ceil(b/c),h>1){i.push({type:"prev",number:Math.max(1,a-1),active:a>1}),i.push({type:"first",number:1,active:a>1,current:1===a}),f=Math.round((s.paginationMaxBlocks-s.paginationMinBlocks)/2),g=Math.max(2,a-f),e=Math.min(h-1,a+2*f-(a-g)),g=Math.max(2,g-(2*f-(e-g)));for(var j=g;e>=j;)i.push(j===g&&2!==j||j===e&&j!==h-1?{type:"more",active:!1}:{type:"page",number:j,active:a!==j,current:a===j}),j++;i.push({type:"last",number:h,active:a!==h,current:a===h}),i.push({type:"next",number:Math.min(h,a+1),active:h>a})}return i},this.isDataReloadRequired=function(){return!p||!a.equals(r,n)},this.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},this.hasFilterChanges=function(){return!a.equals(r&&r.filter,n&&n.filter)},this.url=function(b){b=b||!1;var c=b?[]:{};for(var d in r)if(r.hasOwnProperty(d)){var e=r[d],f=encodeURIComponent(d);if("object"==typeof e){for(var g in e)if(!a.isUndefined(e[g])&&""!==e[g]){var h=f+"["+encodeURIComponent(g)+"]";b?c.push(h+"="+e[g]):c[h]=e[g]}}else a.isFunction(e)||a.isUndefined(e)||""===e||(b?c.push(f+"="+encodeURIComponent(e)):c[f]=encodeURIComponent(e))}return c},this.reload=function(){var c=this,d=null;s.$loading=!0,n=a.copy(r),p=!0,d=m(s.groupBy?l:k),q("ngTable: reload data");var e=c.data;return d.then(function(a){return s.$loading=!1,c.data=a,g.publishAfterReloadData(c,a,e),c.reloadPages(),s.$scope&&s.$scope.$emit("ngTableAfterReloadData"),a})["catch"](function(a){return n=null,p=!1,b.reject(a)})},this.reloadPages=function(){var b;return function(){var c=b,d=o.generatePagesArray(o.page(),o.total(),o.count());a.equals(c,d)||(b=d,g.publishPagesChanged(this,d,c))}}();var r={page:1,count:1,filter:{},sorting:{},group:{},groupBy:null};a.extend(r,d.params);var s={$scope:null,$loading:!1,data:null,total:0,defaultSort:"desc",filterDelay:750,counts:[10,25,50,100],interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span",getDataFnAdaptor:a.identity,getGroupsFnAdaptor:a.identity,getGroups:this.getGroups,getData:this.getData};return this.settings(d.settings),this.settings(j),this.parameters(i,!0),g.publishAfterCreated(this),this};return i}]),b.factory("ngTableParams",["NgTableParams",function(a){return a}]),function(){function b(a,b){a.config=b}a.module("ngTable").controller("ngTableFilterRowController",b),b.$inject=["$scope","ngTableFilterConfig"]}(),function(){function b(a){function b(b,c){var d=b.sortable&&b.sortable();if(d){var e=a.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=a.params.sorting()&&a.params.sorting()[d]&&a.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?a.params.sorting():{};h[d]=g?f:e,a.params.parameters({sorting:h})}}a.sortBy=b}a.module("ngTable").controller("ngTableSorterRowController",b),b.$inject=["$scope"]}(),b.controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","ngTableEventsChannel",function(b,c,d,e,f,g,h,i,j){function k(a){if(a){b.params.settings().$scope=b;var c=b.params;if(c.hasFilterChanges()){var d=function(){c.page(1),c.reload()};c.settings().filterDelay?m(d,c.settings().filterDelay):d()}else c.reload()}}function l(){function a(a,c){a.settings().groupBy?b.$groups=c:b.$data=c}function c(a,c){b.pages=c}function d(a){return b.params===a}j.onAfterReloadData(a,b,d),j.onPagesChanged(c,b,d)}b.$filterRow={},b.$loading=!1,b.hasOwnProperty("params")||(b.params=new c(!0)),b.params.settings().$scope=b;var m=function(){var a=0;return function(b,c){d.cancel(a),a=d(b,c)}}();b.$watch("params",function(a,b){a!==b&&a&&a.reload()},!1),b.$watch("params.isDataReloadRequired()",k),this.compileDirectiveTemplates=function(){if(!h.hasClass("ng-table")){b.templates={header:g.templateHeader?g.templateHeader:"ng-table/header.html",pagination:g.templatePagination?g.templatePagination:"ng-table/pager.html"},h.addClass("ng-table");var c=null,d=!1;a.forEach(h.children(),function(a){"THEAD"===a.tagName&&(d=!0)}),d||(c=a.element(document.createElement("thead")).attr("ng-include","templates.header"),h.prepend(c));var e=a.element(document.createElement("div")).attr({"ng-table-pagination":"params","template-url":"templates.pagination"});h.after(e),c&&f(c)(b),f(e)(b)}},this.loadFilterData=function(c){a.forEach(c,function(c){var d;return d=c.filterData(b,{$column:c}),d?a.isObject(d)&&a.isObject(d.promise)?(delete c.filterData,d.promise.then(function(b){a.isArray(b)||a.isFunction(b)||a.isObject(b)?a.isArray(b)&&b.unshift({title:"",id:""}):b=[],c.data=b})):c.data=d:void delete c.filterData})},this.buildColumns=function(a){return a.map(function(a){return i.buildColumn(a,b)})},this.parseNgTableDynamicExpr=function(a){if(!a||a.indexOf(" with ")>-1){var b=a.split(/\s+with\s+/);return{tableParams:b[0],columns:b[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")},this.setupBindingsToInternalScope=function(c){var d=e(c);b.$watch(d,function(c){a.isUndefined(c)||(b.paramsModel=d,b.params=c)},!1),g.showFilter&&b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})},l()}]),b.factory("ngTableColumn",[function(){function b(b,d){var e=Object.create(b);for(var f in c)void 0===e[f]&&(e[f]=c[f]),a.isFunction(e[f])||!function(a){e[a]=function(){return b[a]}}(f),function(a){var c=e[a];e[a]=function(){return 0===arguments.length?c.call(b,d):c.apply(b,arguments)}}(f);return e}var c={"class":function(){return""},filter:function(){return!1},filterData:a.noop,headerTemplateURL:function(){return!1},headerTitle:function(){return""},sortable:function(){return!1},show:function(){return!0},title:function(){return""},titleAlt:function(){return""}};return{buildColumn:b}}]),b.directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d=[],e=0,f=null;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||f||(f=b)}),f?(a.forEach(f.find("td"),function(b){var f=a.element(b);if(!f.attr("ignore-cell")||"true"!==f.attr("ignore-cell")){var g=function(a){return f.attr("x-data-"+a)||f.attr("data-"+a)||f.attr(a)},h=function(b){var e=g(b);return e?function(b,f){return c(e)(b,a.extend(f||{},{$columns:d}))}:void 0},i=g("title-alt")||g("title");i&&f.attr("data-title-text","{{"+i+"}}"),d.push({id:e++,title:h("title"),titleAlt:h("title-alt"),headerTitle:h("header-title"),sortable:h("sortable"),"class":h("header-class"),filter:h("filter"),headerTemplateURL:h("header"),filterData:h("filter-data"),show:f.attr("ng-if")?function(a){return c(f.attr("ng-if"))(a)}:void 0})}}),function(a,b,c,e){a.$columns=d=e.buildColumns(d),e.setupBindingsToInternalScope(c.ngTable),e.loadFilterData(d),e.compileDirectiveTemplates()}):void 0}}}]),b.directive("ngTableDynamic",["$parse",function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||c||(c=b)}),c?(a.forEach(c.find("td"),function(b){var c=a.element(b),d=function(a){return c.attr("x-data-"+a)||c.attr("data-"+a)||c.attr(a)},e=d("title");e||c.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");var f=c.attr("ng-if");f||c.attr("ng-if","$columns[$index].show(this)")}),function(a,b,c,d){var e=d.parseNgTableDynamicExpr(c.ngTableDynamic);d.setupBindingsToInternalScope(e.tableParams),d.compileDirectiveTemplates(),a.$watchCollection(e.columns,function(b){a.$columns=d.buildColumns(b),d.loadFilterData(a.$columns)})}):void 0}}}]),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/filterRow.html",scope:!0,controller:"ngTableFilterRowController"};return a}a.module("ngTable").directive("ngTableFilterRow",b),b.$inject=[]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/sorterRow.html",scope:!0,controller:"ngTableSorterRowController"};return a}a.module("ngTable").directive("ngTableSorterRow",b),b.$inject=[]}(),b.directive("ngTablePagination",["$compile","ngTableEventsChannel",function(b,c){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(d,e){c.onAfterReloadData(function(a){d.pages=a.generatePagesArray()},d,function(a){return a===d.params}),d.$watch("templateUrl",function(c){if(!a.isUndefined(c)){var f=a.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"}),e.append(f),b(f)(d)}})}}}]),a.module("ngTable").run(["$templateCache",function(a){a.put("ng-table/filterRow.html",'<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"> <div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '),a.put("ng-table/filters/number.html",'<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/filters/select-multiple.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '),a.put("ng-table/filters/select.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '),a.put("ng-table/filters/text.html",'<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/header.html","<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "),a.put("ng-table/pager.html",'<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group pull-right"> <button ng-repeat="count in params.settings().counts" type="button" ng-class="{\'active\':params.count()==count}" ng-click="params.count(count)" class="btn btn-default"> <span ng-bind="count"></span> </button> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">&laquo;</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">&#8230;</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">&raquo;</a> </li> </ul> </div> '),a.put("ng-table/sorterRow.html",'<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ')}]),b}); 3 //!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define(["angular"],function(a){return b(a)}):b(a)}(window.angular||null,function(a){"use strict";var b=a.module("ngTable",[]);return function(){function b(b){function c(b,c){var f=b.charAt(0).toUpperCase()+b.substring(1),g={};return g["on"+f]=d(b),g["publish"+f]=e(b),a.extend(c,g)}function d(c){return function(d){var e=a.identity,g=b;if(2===arguments.length?a.isFunction(arguments[1].$new)?g=arguments[1]:e=arguments[1]:arguments.length>2&&(g=arguments[1],e=arguments[2]),a.isObject(e)){var h=e;e=function(a){return a===h}}return g.$on("ngTable:"+c,function(a,b){if(!b.isNullInstance){var c=f(arguments,2),g=[b].concat(c);e.apply(this,g)&&d.apply(this,g)}})}}function e(a){return function(){var c=["ngTable:"+a].concat(Array.prototype.slice.call(arguments));b.$broadcast.apply(b,c)}}function f(a,b){return Array.prototype.slice.call(a,null==b?1:b)}var g={};return g=c("afterCreated",g),g=c("afterReloadData",g),g=c("datasetChanged",g),g=c("pagesChanged",g)}a.module("ngTable").factory("ngTableEventsChannel",b),b.$inject=["$rootScope"]}(),function(){function b(){function b(){c()}function c(){f=g}function d(b){var c=a.extend({},f,b);c.aliasUrls=a.extend({},f.aliasUrls,b.aliasUrls),f=c}function e(){function b(a,b){return-1!==a.indexOf("/")?a:e.getUrlForAlias(a,b)}function c(a){return f.aliasUrls[a]||f.defaultBaseUrl+a+f.defaultExt}var d,e={config:d,getTemplateUrl:b,getUrlForAlias:c};return Object.defineProperty(e,"config",{get:function(){return d=d||a.copy(f)},enumerable:!0}),e}var f,g={defaultBaseUrl:"ng-table/filters/",defaultExt:".html",aliasUrls:{}};this.$get=e,this.resetConfigs=c,this.setConfig=d,b(),e.$inject=[]}a.module("ngTable").provider("ngTableFilterConfig",b),b.$inject=[]}(),function(){function b(){function a(a){function c(c,d){if(null==c)return[];var e=d.hasFilter()?a(b.filterFilterName)(c,d.filter(!0)):c,f=d.orderBy(),g=f.length?a(b.sortingFilterName)(e,f):e,h=g.slice((d.page()-1)*d.count(),d.page()*d.count());return d.total(g.length),h}return c}var b=this;b.$get=a,b.filterFilterName="filter",b.sortingFilterName="orderBy",a.$inject=["$filter"]}a.module("ngTable").provider("ngTableDefaultGetData",b),b.$inject=[]}(),function(){function b(a){function b(b){return function(){var c=a.defer(),d=b.apply(this,[c].concat(Array.prototype.slice.call(arguments)));return d||(d=c.promise),d}}return b}a.module("ngTable").factory("ngTableGetDataBcShim",b),b.$inject=["$q"]}(),b.value("ngTableDefaults",{params:{},settings:{}}),b.factory("NgTableParams",["$q","$log","ngTableDefaults","ngTableGetDataBcShim","ngTableDefaultGetData","ngTableEventsChannel",function(b,c,d,e,f,g){var h=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},i=function(i,j){function k(){var a=s.getDataFnAdaptor(s.getData);return b.when(a.call(s,o))}function l(){var a=s.getGroupsFnAdaptor(s.getGroups);return b.when(a.call(s,s.groupBy,o))}function m(a){var c=s.interceptors||[];return c.reduce(function(a,c){var d=c.response&&c.response.bind(c)||b.when,e=c.responseError&&c.responseError.bind(c)||b.reject;return a.then(function(a){return d(a,o)},function(a){return e(a,o)})},a())}"boolean"==typeof i&&(this.isNullInstance=!0);var n,o=this,p=!1,q=function(){s.debugMode&&c.debug&&c.debug.apply(this,arguments)};this.data=[],this.parameters=function(b,c){if(c=c||!1,a.isDefined(b)){for(var d in b){var e=b[d];if(c&&d.indexOf("[")>=0){for(var f=d.split(/\[(.*)\]/).reverse(),g="",i=0,j=f.length;j>i;i++){var k=f[i];if(""!==k){var l=e;e={},e[g=k]=h(l)?parseFloat(l):l}}"sorting"===g&&(r[g]={}),r[g]=a.extend(r[g]||{},e[g])}else r[d]=h(b[d])?parseFloat(b[d]):b[d]}return q("ngTable: set parameters",r),this}return r},this.settings=function(b){if(a.isDefined(b)){a.isArray(b.data)&&(b.total=b.data.length),b.getData&&b.getData.length>1&&(b.getDataFnAdaptor=e),b.getGroups&&b.getGroups.length>2&&(b.getGroupsFnAdaptor=e);var c=s.data;s=a.extend(s,b);var d=b.hasOwnProperty("data")&&b.data!=c;return d&&(p&&this.page(1),p=!1,g.publishDatasetChanged(this,b.data,c)),q("ngTable: set settings",s),this}return s},this.page=function(b){return a.isDefined(b)?this.parameters({page:b}):r.page},this.total=function(b){return a.isDefined(b)?this.settings({total:b}):s.total},this.count=function(b){return a.isDefined(b)?this.parameters({count:b,page:1}):r.count},this.filter=function(b){if(a.isDefined(b)&&a.isObject(b))return this.parameters({filter:b,page:1});if(b===!0){for(var c=Object.keys(r.filter),d={},e=0;e<c.length;e++){var f=r.filter[c[e]];null!=f&&""!==f&&(d[c[e]]=f)}return d}return r.filter},this.sorting=function(b){if(2==arguments.length){var c={};return c[b]=arguments[1],this.parameters({sorting:c}),this}return a.isDefined(b)?this.parameters({sorting:b}):r.sorting},this.isSortBy=function(b,c){return void 0!==c?a.isDefined(r.sorting[b])&&r.sorting[b]==c:a.isDefined(r.sorting[b])},this.orderBy=function(){var a=[];for(var b in r.sorting)a.push(("asc"===r.sorting[b]?"+":"-")+b);return a},this.getData=function(a){return f(this.data,a)},this.getGroups=function(b){return k().then(function(c){var d={};a.forEach(c,function(c){var e=a.isFunction(b)?b(c):c[b];d[e]=d[e]||{data:[]},d[e].value=e,d[e].data.push(c)});var e=[];for(var f in d)e.push(d[f]);return q("ngTable: refresh groups",e),e})},this.generatePagesArray=function(a,b,c,d){arguments.length||(a=this.page(),b=this.total(),c=this.count());var e,f,g,h,i;if(d=d&&6>d?6:d,i=[],h=Math.ceil(b/c),h>1){i.push({type:"prev",number:Math.max(1,a-1),active:a>1}),i.push({type:"first",number:1,active:a>1,current:1===a}),f=Math.round((s.paginationMaxBlocks-s.paginationMinBlocks)/2),g=Math.max(2,a-f),e=Math.min(h-1,a+2*f-(a-g)),g=Math.max(2,g-(2*f-(e-g)));for(var j=g;e>=j;)i.push(j===g&&2!==j||j===e&&j!==h-1?{type:"more",active:!1}:{type:"page",number:j,active:a!==j,current:a===j}),j++;i.push({type:"last",number:h,active:a!==h,current:a===h}),i.push({type:"next",number:Math.min(h,a+1),active:h>a})}return i},this.isDataReloadRequired=function(){return!p||!a.equals(r,n)},this.hasFilter=function(){return Object.keys(this.filter(!0)).length>0},this.hasFilterChanges=function(){return!a.equals(r&&r.filter,n&&n.filter)},this.url=function(b){b=b||!1;var c=b?[]:{};for(var d in r)if(r.hasOwnProperty(d)){var e=r[d],f=encodeURIComponent(d);if("object"==typeof e){for(var g in e)if(!a.isUndefined(e[g])&&""!==e[g]){var h=f+"["+encodeURIComponent(g)+"]";b?c.push(h+"="+e[g]):c[h]=e[g]}}else a.isFunction(e)||a.isUndefined(e)||""===e||(b?c.push(f+"="+encodeURIComponent(e)):c[f]=encodeURIComponent(e))}return c},this.reload=function(){var c=this,d=null;s.$loading=!0,n=a.copy(r),p=!0,d=m(s.groupBy?l:k),q("ngTable: reload data");var e=c.data;return d.then(function(a){return s.$loading=!1,c.data=a,g.publishAfterReloadData(c,a,e),c.reloadPages(),s.$scope&&s.$scope.$emit("ngTableAfterReloadData"),a})["catch"](function(a){return n=null,p=!1,b.reject(a)})},this.reloadPages=function(){var b;return function(){var c=b,d=o.generatePagesArray(o.page(),o.total(),o.count());a.equals(c,d)||(b=d,g.publishPagesChanged(this,d,c))}}();var r={page:1,count:1,filter:{},sorting:{},group:{},groupBy:null};a.extend(r,d.params);var s={$scope:null,$loading:!1,data:null,total:0,defaultSort:"desc",filterDelay:750,counts:[10,25,50,100],interceptors:[],paginationMaxBlocks:11,paginationMinBlocks:5,sortingIndicator:"span",getDataFnAdaptor:a.identity,getGroupsFnAdaptor:a.identity,getGroups:this.getGroups,getData:this.getData};return this.settings(d.settings),this.settings(j),this.parameters(i,!0),g.publishAfterCreated(this),this};return i}]),b.factory("ngTableParams",["NgTableParams",function(a){return a}]),function(){function b(a,b){a.config=b}a.module("ngTable").controller("ngTableFilterRowController",b),b.$inject=["$scope","ngTableFilterConfig"]}(),function(){function b(a){function b(b,c){var d=b.sortable&&b.sortable();if(d){var e=a.params.settings().defaultSort,f="asc"===e?"desc":"asc",g=a.params.sorting()&&a.params.sorting()[d]&&a.params.sorting()[d]===e,h=c.ctrlKey||c.metaKey?a.params.sorting():{};h[d]=g?f:e,a.params.parameters({sorting:h})}}a.sortBy=b}a.module("ngTable").controller("ngTableSorterRowController",b),b.$inject=["$scope"]}(),b.controller("ngTableController",["$scope","NgTableParams","$timeout","$parse","$compile","$attrs","$element","ngTableColumn","ngTableEventsChannel",function(b,c,d,e,f,g,h,i,j){function k(a){if(a){b.params.settings().$scope=b;var c=b.params;if(c.hasFilterChanges()){var d=function(){c.page(1),c.reload()};c.settings().filterDelay?m(d,c.settings().filterDelay):d()}else c.reload()}}function l(){function a(a,c){a.settings().groupBy?b.$groups=c:b.$data=c}function c(a,c){b.pages=c}function d(a){return b.params===a}j.onAfterReloadData(a,b,d),j.onPagesChanged(c,b,d)}b.$filterRow={},b.$loading=!1,b.hasOwnProperty("params")||(b.params=new c(!0)),b.params.settings().$scope=b;var m=function(){var a=0;return function(b,c){d.cancel(a),a=d(b,c)}}();b.$watch("params",function(a,b){a!==b&&a&&a.reload()},!1),b.$watch("params.isDataReloadRequired()",k),this.compileDirectiveTemplates=function(){if(!h.hasClass("ng-table")){b.templates={header:g.templateHeader?g.templateHeader:"ng-table/header.html",pagination:g.templatePagination?g.templatePagination:"ng-table/pager.html"},h.addClass("ng-table");var c=null,d=!1;a.forEach(h.children(),function(a){"THEAD"===a.tagName&&(d=!0)}),d||(c=a.element(document.createElement("thead")).attr("ng-include","templates.header"),h.prepend(c));var e=a.element(document.createElement("div")).attr({"ng-table-pagination":"params","template-url":"templates.pagination"});h.after(e),c&&f(c)(b),f(e)(b)}},this.loadFilterData=function(c){a.forEach(c,function(c){var d;return d=c.filterData(b,{$column:c}),d?a.isObject(d)&&a.isObject(d.promise)?(delete c.filterData,d.promise.then(function(b){a.isArray(b)||a.isFunction(b)||a.isObject(b)?a.isArray(b)&&b.unshift({title:"",id:""}):b=[],c.data=b})):c.data=d:void delete c.filterData})},this.buildColumns=function(a){return a.map(function(a){return i.buildColumn(a,b)})},this.parseNgTableDynamicExpr=function(a){if(!a||a.indexOf(" with ")>-1){var b=a.split(/\s+with\s+/);return{tableParams:b[0],columns:b[1]}}throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")},this.setupBindingsToInternalScope=function(c){var d=e(c);b.$watch(d,function(c){a.isUndefined(c)||(b.paramsModel=d,b.params=c)},!1),g.showFilter&&b.$parent.$watch(g.showFilter,function(a){b.show_filter=a}),g.disableFilter&&b.$parent.$watch(g.disableFilter,function(a){b.$filterRow.disabled=a})},l()}]),b.factory("ngTableColumn",[function(){function b(b,d){var e=Object.create(b);for(var f in c)void 0===e[f]&&(e[f]=c[f]),a.isFunction(e[f])||!function(a){e[a]=function(){return b[a]}}(f),function(a){var c=e[a];e[a]=function(){return 0===arguments.length?c.call(b,d):c.apply(b,arguments)}}(f);return e}var c={"class":function(){return""},filter:function(){return!1},filterData:a.noop,headerTemplateURL:function(){return!1},headerTitle:function(){return""},sortable:function(){return!1},show:function(){return!0},title:function(){return""},titleAlt:function(){return""}};return{buildColumn:b}}]),b.directive("ngTable",["$q","$parse",function(b,c){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var d=[],e=0,f=null;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||f||(f=b)}),f?(a.forEach(f.find("td"),function(b){var f=a.element(b);if(!f.attr("ignore-cell")||"true"!==f.attr("ignore-cell")){var g=function(a){return f.attr("x-data-"+a)||f.attr("data-"+a)||f.attr(a)},h=function(b){var e=g(b);return e?function(b,f){return c(e)(b,a.extend(f||{},{$columns:d}))}:void 0},i=g("title-alt")||g("title");i&&f.attr("data-title-text","{{"+i+"}}"),d.push({id:e++,title:h("title"),titleAlt:h("title-alt"),headerTitle:h("header-title"),sortable:h("sortable"),"class":h("header-class"),filter:h("filter"),headerTemplateURL:h("header"),filterData:h("filter-data"),show:f.attr("ng-if")?function(a){return c(f.attr("ng-if"))(a)}:void 0})}}),function(a,b,c,e){a.$columns=d=e.buildColumns(d),e.setupBindingsToInternalScope(c.ngTable),e.loadFilterData(d),e.compileDirectiveTemplates()}):void 0}}}]),b.directive("ngTableDynamic",["$parse",function(){return{restrict:"A",priority:1001,scope:!0,controller:"ngTableController",compile:function(b){var c;return a.forEach(a.element(b.find("tr")),function(b){b=a.element(b),b.hasClass("ng-table-group")||c||(c=b)}),c?(a.forEach(c.find("td"),function(b){var c=a.element(b),d=function(a){return c.attr("x-data-"+a)||c.attr("data-"+a)||c.attr(a)},e=d("title");e||c.attr("data-title-text","{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");var f=c.attr("ng-if");f||c.attr("ng-if","$columns[$index].show(this)")}),function(a,b,c,d){var e=d.parseNgTableDynamicExpr(c.ngTableDynamic);d.setupBindingsToInternalScope(e.tableParams),d.compileDirectiveTemplates(),a.$watchCollection(e.columns,function(b){a.$columns=d.buildColumns(b),d.loadFilterData(a.$columns)})}):void 0}}}]),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/filterRow.html",scope:!0,controller:"ngTableFilterRowController"};return a}a.module("ngTable").directive("ngTableFilterRow",b),b.$inject=[]}(),function(){function b(){var a={restrict:"E",replace:!0,templateUrl:"ng-table/sorterRow.html",scope:!0,controller:"ngTableSorterRowController"};return a}a.module("ngTable").directive("ngTableSorterRow",b),b.$inject=[]}(),b.directive("ngTablePagination",["$compile","ngTableEventsChannel",function(b,c){return{restrict:"A",scope:{params:"=ngTablePagination",templateUrl:"="},replace:!1,link:function(d,e){c.onAfterReloadData(function(a){d.pages=a.generatePagesArray()},d,function(a){return a===d.params}),d.$watch("templateUrl",function(c){if(!a.isUndefined(c)){var f=a.element(document.createElement("div"));f.attr({"ng-include":"templateUrl"}),e.append(f),b(f)(d)}})}}}]),a.module("ngTable").run(["$templateCache",function(a){a.put("ng-table/filterRow.html",'<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"> <div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '),a.put("ng-table/filters/number.html",'<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/filters/select-multiple.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '),a.put("ng-table/filters/select.html",'<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '),a.put("ng-table/filters/text.html",'<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '),a.put("ng-table/header.html","<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "),a.put("ng-table/pager.html",'<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group pull-right"> <button ng-repeat="count in params.settings().counts" type="button" ng-class="{\'active\':params.count()==count}" ng-click="params.count(count)" class="btn btn-default"> <span ng-bind="count"></span> </button> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">&laquo;</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">&#8230;</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">&raquo;</a> </li> </ul> </div> '),a.put("ng-table/sorterRow.html",'<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ')}]),b});
4 //# sourceMappingURL=ng-table.min.js.map 4 //# sourceMappingURL=ng-table.min.js.map
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ ! function(a, b) { 15 /*! ngTable v0.8.3 by Vitalii Savchuk(esvit666@gmail.com) - https://github.com/esvit/ng-table - New BSD License */ ! function(a, b) {
16 "use strict"; 16 "use strict";
17 return "function" == typeof define && define.amd ? void define(["angular"], function(a) { 17 return "function" == typeof define && define.amd ? void define(["angular"], function(a) {
18 return b(a) 18 return b(a)
19 }) : b(a) 19 }) : b(a)
20 }(window.angular || null, function(a) { 20 }(window.angular || null, function(a) {
21 "use strict"; 21 "use strict";
22 var b = a.module("ngTable", []); 22 var b = a.module("ngTable", []);
23 return function() { 23 return function() {
24 function b(b) { 24 function b(b) {
25 function c(b, c) { 25 function c(b, c) {
26 var f = b.charAt(0).toUpperCase() + b.substring(1), 26 var f = b.charAt(0).toUpperCase() + b.substring(1),
27 g = {}; 27 g = {};
28 return g["on" + f] = d(b), g["publish" + f] = e(b), a.extend(c, g) 28 return g["on" + f] = d(b), g["publish" + f] = e(b), a.extend(c, g)
29 } 29 }
30 30
31 function d(c) { 31 function d(c) {
32 return function(d) { 32 return function(d) {
33 var e = a.identity, 33 var e = a.identity,
34 g = b; 34 g = b;
35 if (2 === arguments.length ? a.isFunction(arguments[1].$new) ? g = arguments[1] : e = arguments[1] : arguments.length > 2 && (g = arguments[1], e = arguments[2]), a.isObject(e)) { 35 if (2 === arguments.length ? a.isFunction(arguments[1].$new) ? g = arguments[1] : e = arguments[1] : arguments.length > 2 && (g = arguments[1], e = arguments[2]), a.isObject(e)) {
36 var h = e; 36 var h = e;
37 e = function(a) { 37 e = function(a) {
38 return a === h 38 return a === h
39 } 39 }
40 } 40 }
41 return g.$on("ngTable:" + c, function(a, b) { 41 return g.$on("ngTable:" + c, function(a, b) {
42 if (!b.isNullInstance) { 42 if (!b.isNullInstance) {
43 var c = f(arguments, 2), 43 var c = f(arguments, 2),
44 g = [b].concat(c); 44 g = [b].concat(c);
45 e.apply(this, g) && d.apply(this, g) 45 e.apply(this, g) && d.apply(this, g)
46 } 46 }
47 }) 47 })
48 } 48 }
49 } 49 }
50 50
51 function e(a) { 51 function e(a) {
52 return function() { 52 return function() {
53 var c = ["ngTable:" + a].concat(Array.prototype.slice.call(arguments)); 53 var c = ["ngTable:" + a].concat(Array.prototype.slice.call(arguments));
54 b.$broadcast.apply(b, c) 54 b.$broadcast.apply(b, c)
55 } 55 }
56 } 56 }
57 57
58 function f(a, b) { 58 function f(a, b) {
59 return Array.prototype.slice.call(a, null == b ? 1 : b) 59 return Array.prototype.slice.call(a, null == b ? 1 : b)
60 } 60 }
61 var g = {}; 61 var g = {};
62 return g = c("afterCreated", g), g = c("afterReloadData", g), g = c("datasetChanged", g), g = c("pagesChanged", g) 62 return g = c("afterCreated", g), g = c("afterReloadData", g), g = c("datasetChanged", g), g = c("pagesChanged", g)
63 } 63 }
64 a.module("ngTable").factory("ngTableEventsChannel", b), b.$inject = ["$rootScope"] 64 a.module("ngTable").factory("ngTableEventsChannel", b), b.$inject = ["$rootScope"]
65 }(), 65 }(),
66 function() { 66 function() {
67 function b() { 67 function b() {
68 function b() { 68 function b() {
69 c() 69 c()
70 } 70 }
71 71
72 function c() { 72 function c() {
73 f = g 73 f = g
74 } 74 }
75 75
76 function d(b) { 76 function d(b) {
77 var c = a.extend({}, f, b); 77 var c = a.extend({}, f, b);
78 c.aliasUrls = a.extend({}, f.aliasUrls, b.aliasUrls), f = c 78 c.aliasUrls = a.extend({}, f.aliasUrls, b.aliasUrls), f = c
79 } 79 }
80 80
81 function e() { 81 function e() {
82 function b(a, b) { 82 function b(a, b) {
83 return -1 !== a.indexOf("/") ? a : e.getUrlForAlias(a, b) 83 return -1 !== a.indexOf("/") ? a : e.getUrlForAlias(a, b)
84 } 84 }
85 85
86 function c(a) { 86 function c(a) {
87 return f.aliasUrls[a] || f.defaultBaseUrl + a + f.defaultExt 87 return f.aliasUrls[a] || f.defaultBaseUrl + a + f.defaultExt
88 } 88 }
89 var d, e = { 89 var d, e = {
90 config: d, 90 config: d,
91 getTemplateUrl: b, 91 getTemplateUrl: b,
92 getUrlForAlias: c 92 getUrlForAlias: c
93 }; 93 };
94 return Object.defineProperty(e, "config", { 94 return Object.defineProperty(e, "config", {
95 get: function() { 95 get: function() {
96 return d = d || a.copy(f) 96 return d = d || a.copy(f)
97 }, 97 },
98 enumerable: !0 98 enumerable: !0
99 }), e 99 }), e
100 } 100 }
101 var f, g = { 101 var f, g = {
102 defaultBaseUrl: "ng-table/filters/", 102 defaultBaseUrl: "ng-table/filters/",
103 defaultExt: ".html", 103 defaultExt: ".html",
104 aliasUrls: {} 104 aliasUrls: {}
105 }; 105 };
106 this.$get = e, this.resetConfigs = c, this.setConfig = d, b(), e.$inject = [] 106 this.$get = e, this.resetConfigs = c, this.setConfig = d, b(), e.$inject = []
107 } 107 }
108 a.module("ngTable").provider("ngTableFilterConfig", b), b.$inject = [] 108 a.module("ngTable").provider("ngTableFilterConfig", b), b.$inject = []
109 }(), 109 }(),
110 function() { 110 function() {
111 function b() { 111 function b() {
112 function a(a) { 112 function a(a) {
113 function c(c, d) { 113 function c(c, d) {
114 if (null == c) return []; 114 if (null == c) return [];
115 var e = d.hasFilter() ? a(b.filterFilterName)(c, d.filter(!0)) : c, 115 var e = d.hasFilter() ? a(b.filterFilterName)(c, d.filter(!0)) : c,
116 f = d.orderBy(), 116 f = d.orderBy(),
117 g = f.length ? a(b.sortingFilterName)(e, f) : e, 117 g = f.length ? a(b.sortingFilterName)(e, f) : e,
118 h = g.slice((d.page() - 1) * d.count(), d.page() * d.count()); 118 h = g.slice((d.page() - 1) * d.count(), d.page() * d.count());
119 return d.total(g.length), h 119 return d.total(g.length), h
120 } 120 }
121 return c 121 return c
122 } 122 }
123 var b = this; 123 var b = this;
124 b.$get = a, b.filterFilterName = "filter", b.sortingFilterName = "orderBy", a.$inject = ["$filter"] 124 b.$get = a, b.filterFilterName = "filter", b.sortingFilterName = "orderBy", a.$inject = ["$filter"]
125 } 125 }
126 a.module("ngTable").provider("ngTableDefaultGetData", b), b.$inject = [] 126 a.module("ngTable").provider("ngTableDefaultGetData", b), b.$inject = []
127 }(), 127 }(),
128 function() { 128 function() {
129 function b(a) { 129 function b(a) {
130 function b(b) { 130 function b(b) {
131 return function() { 131 return function() {
132 var c = a.defer(), 132 var c = a.defer(),
133 d = b.apply(this, [c].concat(Array.prototype.slice.call(arguments))); 133 d = b.apply(this, [c].concat(Array.prototype.slice.call(arguments)));
134 return d || (d = c.promise), d 134 return d || (d = c.promise), d
135 } 135 }
136 } 136 }
137 return b 137 return b
138 } 138 }
139 a.module("ngTable").factory("ngTableGetDataBcShim", b), b.$inject = ["$q"] 139 a.module("ngTable").factory("ngTableGetDataBcShim", b), b.$inject = ["$q"]
140 }(), b.value("ngTableDefaults", { 140 }(), b.value("ngTableDefaults", {
141 params: {}, 141 params: {},
142 settings: {} 142 settings: {}
143 }), b.factory("NgTableParams", ["$q", "$log", "ngTableDefaults", "ngTableGetDataBcShim", "ngTableDefaultGetData", "ngTableEventsChannel", function(b, c, d, e, f, g) { 143 }), b.factory("NgTableParams", ["$q", "$log", "ngTableDefaults", "ngTableGetDataBcShim", "ngTableDefaultGetData", "ngTableEventsChannel", function(b, c, d, e, f, g) {
144 var h = function(a) { 144 var h = function(a) {
145 return !isNaN(parseFloat(a)) && isFinite(a) 145 return !isNaN(parseFloat(a)) && isFinite(a)
146 }, 146 },
147 i = function(i, j) { 147 i = function(i, j) {
148 function k() { 148 function k() {
149 var a = s.getDataFnAdaptor(s.getData); 149 var a = s.getDataFnAdaptor(s.getData);
150 return b.when(a.call(s, o)) 150 return b.when(a.call(s, o))
151 } 151 }
152 152
153 function l() { 153 function l() {
154 var a = s.getGroupsFnAdaptor(s.getGroups); 154 var a = s.getGroupsFnAdaptor(s.getGroups);
155 return b.when(a.call(s, s.groupBy, o)) 155 return b.when(a.call(s, s.groupBy, o))
156 } 156 }
157 157
158 function m(a) { 158 function m(a) {
159 var c = s.interceptors || []; 159 var c = s.interceptors || [];
160 return c.reduce(function(a, c) { 160 return c.reduce(function(a, c) {
161 var d = c.response && c.response.bind(c) || b.when, 161 var d = c.response && c.response.bind(c) || b.when,
162 e = c.responseError && c.responseError.bind(c) || b.reject; 162 e = c.responseError && c.responseError.bind(c) || b.reject;
163 return a.then(function(a) { 163 return a.then(function(a) {
164 return d(a, o) 164 return d(a, o)
165 }, function(a) { 165 }, function(a) {
166 return e(a, o) 166 return e(a, o)
167 }) 167 })
168 }, a()) 168 }, a())
169 } 169 }
170 "boolean" == typeof i && (this.isNullInstance = !0); 170 "boolean" == typeof i && (this.isNullInstance = !0);
171 var n, o = this, 171 var n, o = this,
172 p = !1, 172 p = !1,
173 q = function() { 173 q = function() {
174 s.debugMode && c.debug && c.debug.apply(this, arguments) 174 s.debugMode && c.debug && c.debug.apply(this, arguments)
175 }; 175 };
176 this.data = [], this.parameters = function(b, c) { 176 this.data = [], this.parameters = function(b, c) {
177 if (c = c || !1, a.isDefined(b)) { 177 if (c = c || !1, a.isDefined(b)) {
178 for (var d in b) { 178 for (var d in b) {
179 var e = b[d]; 179 var e = b[d];
180 if (c && d.indexOf("[") >= 0) { 180 if (c && d.indexOf("[") >= 0) {
181 for (var f = d.split(/\[(.*)\]/).reverse(), g = "", i = 0, j = f.length; j > i; i++) { 181 for (var f = d.split(/\[(.*)\]/).reverse(), g = "", i = 0, j = f.length; j > i; i++) {
182 var k = f[i]; 182 var k = f[i];
183 if ("" !== k) { 183 if ("" !== k) {
184 var l = e; 184 var l = e;
185 e = {}, e[g = k] = h(l) ? parseFloat(l) : l 185 e = {}, e[g = k] = h(l) ? parseFloat(l) : l
186 } 186 }
187 } 187 }
188 "sorting" === g && (r[g] = {}), r[g] = a.extend(r[g] || {}, e[g]) 188 "sorting" === g && (r[g] = {}), r[g] = a.extend(r[g] || {}, e[g])
189 } else r[d] = h(b[d]) ? parseFloat(b[d]) : b[d] 189 } else r[d] = h(b[d]) ? parseFloat(b[d]) : b[d]
190 } 190 }
191 return q("ngTable: set parameters", r), this 191 return q("ngTable: set parameters", r), this
192 } 192 }
193 return r 193 return r
194 }, this.settings = function(b) { 194 }, this.settings = function(b) {
195 if (a.isDefined(b)) { 195 if (a.isDefined(b)) {
196 a.isArray(b.data) && (b.total = b.data.length), b.getData && b.getData.length > 1 && (b.getDataFnAdaptor = e), b.getGroups && b.getGroups.length > 2 && (b.getGroupsFnAdaptor = e); 196 a.isArray(b.data) && (b.total = b.data.length), b.getData && b.getData.length > 1 && (b.getDataFnAdaptor = e), b.getGroups && b.getGroups.length > 2 && (b.getGroupsFnAdaptor = e);
197 var c = s.data; 197 var c = s.data;
198 s = a.extend(s, b); 198 s = a.extend(s, b);
199 var d = b.hasOwnProperty("data") && b.data != c; 199 var d = b.hasOwnProperty("data") && b.data != c;
200 return d && (p && this.page(1), p = !1, g.publishDatasetChanged(this, b.data, c)), q("ngTable: set settings", s), this 200 return d && (p && this.page(1), p = !1, g.publishDatasetChanged(this, b.data, c)), q("ngTable: set settings", s), this
201 } 201 }
202 return s 202 return s
203 }, this.page = function(b) { 203 }, this.page = function(b) {
204 return a.isDefined(b) ? this.parameters({ 204 return a.isDefined(b) ? this.parameters({
205 page: b 205 page: b
206 }) : r.page 206 }) : r.page
207 }, this.total = function(b) { 207 }, this.total = function(b) {
208 return a.isDefined(b) ? this.settings({ 208 return a.isDefined(b) ? this.settings({
209 total: b 209 total: b
210 }) : s.total 210 }) : s.total
211 }, this.count = function(b) { 211 }, this.count = function(b) {
212 return a.isDefined(b) ? this.parameters({ 212 return a.isDefined(b) ? this.parameters({
213 count: b, 213 count: b,
214 page: 1 214 page: 1
215 }) : r.count 215 }) : r.count
216 }, this.filter = function(b) { 216 }, this.filter = function(b) {
217 if (a.isDefined(b) && a.isObject(b)) return this.parameters({ 217 if (a.isDefined(b) && a.isObject(b)) return this.parameters({
218 filter: b, 218 filter: b,
219 page: 1 219 page: 1
220 }); 220 });
221 if (b === !0) { 221 if (b === !0) {
222 for (var c = Object.keys(r.filter), d = {}, e = 0; e < c.length; e++) { 222 for (var c = Object.keys(r.filter), d = {}, e = 0; e < c.length; e++) {
223 var f = r.filter[c[e]]; 223 var f = r.filter[c[e]];
224 null != f && "" !== f && (d[c[e]] = f) 224 null != f && "" !== f && (d[c[e]] = f)
225 } 225 }
226 return d 226 return d
227 } 227 }
228 return r.filter 228 return r.filter
229 }, this.sorting = function(b) { 229 }, this.sorting = function(b) {
230 if (2 == arguments.length) { 230 if (2 == arguments.length) {
231 var c = {}; 231 var c = {};
232 return c[b] = arguments[1], this.parameters({ 232 return c[b] = arguments[1], this.parameters({
233 sorting: c 233 sorting: c
234 }), this 234 }), this
235 } 235 }
236 return a.isDefined(b) ? this.parameters({ 236 return a.isDefined(b) ? this.parameters({
237 sorting: b 237 sorting: b
238 }) : r.sorting 238 }) : r.sorting
239 }, this.isSortBy = function(b, c) { 239 }, this.isSortBy = function(b, c) {
240 return void 0 !== c ? a.isDefined(r.sorting[b]) && r.sorting[b] == c : a.isDefined(r.sorting[b]) 240 return void 0 !== c ? a.isDefined(r.sorting[b]) && r.sorting[b] == c : a.isDefined(r.sorting[b])
241 }, this.orderBy = function() { 241 }, this.orderBy = function() {
242 var a = []; 242 var a = [];
243 for (var b in r.sorting) a.push(("asc" === r.sorting[b] ? "+" : "-") + b); 243 for (var b in r.sorting) a.push(("asc" === r.sorting[b] ? "+" : "-") + b);
244 return a 244 return a
245 }, this.getData = function(a) { 245 }, this.getData = function(a) {
246 return f(this.data, a) 246 return f(this.data, a)
247 }, this.getGroups = function(b) { 247 }, this.getGroups = function(b) {
248 return k().then(function(c) { 248 return k().then(function(c) {
249 var d = {}; 249 var d = {};
250 a.forEach(c, function(c) { 250 a.forEach(c, function(c) {
251 var e = a.isFunction(b) ? b(c) : c[b]; 251 var e = a.isFunction(b) ? b(c) : c[b];
252 d[e] = d[e] || { 252 d[e] = d[e] || {
253 data: [] 253 data: []
254 }, d[e].value = e, d[e].data.push(c) 254 }, d[e].value = e, d[e].data.push(c)
255 }); 255 });
256 var e = []; 256 var e = [];
257 for (var f in d) e.push(d[f]); 257 for (var f in d) e.push(d[f]);
258 return q("ngTable: refresh groups", e), e 258 return q("ngTable: refresh groups", e), e
259 }) 259 })
260 }, this.generatePagesArray = function(a, b, c, d) { 260 }, this.generatePagesArray = function(a, b, c, d) {
261 arguments.length || (a = this.page(), b = this.total(), c = this.count()); 261 arguments.length || (a = this.page(), b = this.total(), c = this.count());
262 var e, f, g, h, i; 262 var e, f, g, h, i;
263 if (d = d && 6 > d ? 6 : d, i = [], h = Math.ceil(b / c), h > 1) { 263 if (d = d && 6 > d ? 6 : d, i = [], h = Math.ceil(b / c), h > 1) {
264 i.push({ 264 i.push({
265 type: "prev", 265 type: "prev",
266 number: Math.max(1, a - 1), 266 number: Math.max(1, a - 1),
267 active: a > 1 267 active: a > 1
268 }), i.push({ 268 }), i.push({
269 type: "first", 269 type: "first",
270 number: 1, 270 number: 1,
271 active: a > 1, 271 active: a > 1,
272 current: 1 === a 272 current: 1 === a
273 }), f = Math.round((s.paginationMaxBlocks - s.paginationMinBlocks) / 2), g = Math.max(2, a - f), e = Math.min(h - 1, a + 2 * f - (a - g)), g = Math.max(2, g - (2 * f - (e - g))); 273 }), f = Math.round((s.paginationMaxBlocks - s.paginationMinBlocks) / 2), g = Math.max(2, a - f), e = Math.min(h - 1, a + 2 * f - (a - g)), g = Math.max(2, g - (2 * f - (e - g)));
274 for (var j = g; e >= j;) i.push(j === g && 2 !== j || j === e && j !== h - 1 ? { 274 for (var j = g; e >= j;) i.push(j === g && 2 !== j || j === e && j !== h - 1 ? {
275 type: "more", 275 type: "more",
276 active: !1 276 active: !1
277 } : { 277 } : {
278 type: "page", 278 type: "page",
279 number: j, 279 number: j,
280 active: a !== j, 280 active: a !== j,
281 current: a === j 281 current: a === j
282 }), j++; 282 }), j++;
283 i.push({ 283 i.push({
284 type: "last", 284 type: "last",
285 number: h, 285 number: h,
286 active: a !== h, 286 active: a !== h,
287 current: a === h 287 current: a === h
288 }), i.push({ 288 }), i.push({
289 type: "next", 289 type: "next",
290 number: Math.min(h, a + 1), 290 number: Math.min(h, a + 1),
291 active: h > a 291 active: h > a
292 }) 292 })
293 } 293 }
294 return i 294 return i
295 }, this.isDataReloadRequired = function() { 295 }, this.isDataReloadRequired = function() {
296 return !p || !a.equals(r, n) 296 return !p || !a.equals(r, n)
297 }, this.hasFilter = function() { 297 }, this.hasFilter = function() {
298 return Object.keys(this.filter(!0)).length > 0 298 return Object.keys(this.filter(!0)).length > 0
299 }, this.hasFilterChanges = function() { 299 }, this.hasFilterChanges = function() {
300 return !a.equals(r && r.filter, n && n.filter) 300 return !a.equals(r && r.filter, n && n.filter)
301 }, this.url = function(b) { 301 }, this.url = function(b) {
302 b = b || !1; 302 b = b || !1;
303 var c = b ? [] : {}; 303 var c = b ? [] : {};
304 for (var d in r) 304 for (var d in r)
305 if (r.hasOwnProperty(d)) { 305 if (r.hasOwnProperty(d)) {
306 var e = r[d], 306 var e = r[d],
307 f = encodeURIComponent(d); 307 f = encodeURIComponent(d);
308 if ("object" == typeof e) { 308 if ("object" == typeof e) {
309 for (var g in e) 309 for (var g in e)
310 if (!a.isUndefined(e[g]) && "" !== e[g]) { 310 if (!a.isUndefined(e[g]) && "" !== e[g]) {
311 var h = f + "[" + encodeURIComponent(g) + "]"; 311 var h = f + "[" + encodeURIComponent(g) + "]";
312 b ? c.push(h + "=" + e[g]) : c[h] = e[g] 312 b ? c.push(h + "=" + e[g]) : c[h] = e[g]
313 } 313 }
314 } else a.isFunction(e) || a.isUndefined(e) || "" === e || (b ? c.push(f + "=" + encodeURIComponent(e)) : c[f] = encodeURIComponent(e)) 314 } else a.isFunction(e) || a.isUndefined(e) || "" === e || (b ? c.push(f + "=" + encodeURIComponent(e)) : c[f] = encodeURIComponent(e))
315 } 315 }
316 return c 316 return c
317 }, this.reload = function() { 317 }, this.reload = function() {
318 var c = this, 318 var c = this,
319 d = null; 319 d = null;
320 s.$loading = !0, n = a.copy(r), p = !0, d = m(s.groupBy ? l : k), q("ngTable: reload data"); 320 s.$loading = !0, n = a.copy(r), p = !0, d = m(s.groupBy ? l : k), q("ngTable: reload data");
321 var e = c.data; 321 var e = c.data;
322 return d.then(function(a) { 322 return d.then(function(a) {
323 return s.$loading = !1, c.data = a, g.publishAfterReloadData(c, a, e), c.reloadPages(), s.$scope && s.$scope.$emit("ngTableAfterReloadData"), a 323 return s.$loading = !1, c.data = a, g.publishAfterReloadData(c, a, e), c.reloadPages(), s.$scope && s.$scope.$emit("ngTableAfterReloadData"), a
324 })["catch"](function(a) { 324 })["catch"](function(a) {
325 return n = null, p = !1, b.reject(a) 325 return n = null, p = !1, b.reject(a)
326 }) 326 })
327 }, this.reloadPages = function() { 327 }, this.reloadPages = function() {
328 var b; 328 var b;
329 return function() { 329 return function() {
330 var c = b, 330 var c = b,
331 d = o.generatePagesArray(o.page(), o.total(), o.count()); 331 d = o.generatePagesArray(o.page(), o.total(), o.count());
332 a.equals(c, d) || (b = d, g.publishPagesChanged(this, d, c)) 332 a.equals(c, d) || (b = d, g.publishPagesChanged(this, d, c))
333 } 333 }
334 }(); 334 }();
335 var r = { 335 var r = {
336 page: 1, 336 page: 1,
337 count: 1, 337 count: 1,
338 filter: {}, 338 filter: {},
339 sorting: {}, 339 sorting: {},
340 group: {}, 340 group: {},
341 groupBy: null 341 groupBy: null
342 }; 342 };
343 a.extend(r, d.params); 343 a.extend(r, d.params);
344 var s = { 344 var s = {
345 $scope: null, 345 $scope: null,
346 $loading: !1, 346 $loading: !1,
347 data: null, 347 data: null,
348 total: 0, 348 total: 0,
349 defaultSort: "desc", 349 defaultSort: "desc",
350 filterDelay: 750, 350 filterDelay: 750,
351 counts: [10, 25, 50, 100], 351 counts: [10, 25, 50, 100],
352 interceptors: [], 352 interceptors: [],
353 paginationMaxBlocks: 11, 353 paginationMaxBlocks: 11,
354 paginationMinBlocks: 5, 354 paginationMinBlocks: 5,
355 sortingIndicator: "span", 355 sortingIndicator: "span",
356 getDataFnAdaptor: a.identity, 356 getDataFnAdaptor: a.identity,
357 getGroupsFnAdaptor: a.identity, 357 getGroupsFnAdaptor: a.identity,
358 getGroups: this.getGroups, 358 getGroups: this.getGroups,
359 getData: this.getData 359 getData: this.getData
360 }; 360 };
361 return this.settings(d.settings), this.settings(j), this.parameters(i, !0), g.publishAfterCreated(this), this 361 return this.settings(d.settings), this.settings(j), this.parameters(i, !0), g.publishAfterCreated(this), this
362 }; 362 };
363 return i 363 return i
364 }]), b.factory("ngTableParams", ["NgTableParams", function(a) { 364 }]), b.factory("ngTableParams", ["NgTableParams", function(a) {
365 return a 365 return a
366 }]), 366 }]),
367 function() { 367 function() {
368 function b(a, b) { 368 function b(a, b) {
369 a.config = b 369 a.config = b
370 } 370 }
371 a.module("ngTable").controller("ngTableFilterRowController", b), b.$inject = ["$scope", "ngTableFilterConfig"] 371 a.module("ngTable").controller("ngTableFilterRowController", b), b.$inject = ["$scope", "ngTableFilterConfig"]
372 }(), 372 }(),
373 function() { 373 function() {
374 function b(a) { 374 function b(a) {
375 function b(b, c) { 375 function b(b, c) {
376 var d = b.sortable && b.sortable(); 376 var d = b.sortable && b.sortable();
377 if (d) { 377 if (d) {
378 var e = a.params.settings().defaultSort, 378 var e = a.params.settings().defaultSort,
379 f = "asc" === e ? "desc" : "asc", 379 f = "asc" === e ? "desc" : "asc",
380 g = a.params.sorting() && a.params.sorting()[d] && a.params.sorting()[d] === e, 380 g = a.params.sorting() && a.params.sorting()[d] && a.params.sorting()[d] === e,
381 h = c.ctrlKey || c.metaKey ? a.params.sorting() : {}; 381 h = c.ctrlKey || c.metaKey ? a.params.sorting() : {};
382 h[d] = g ? f : e, a.params.parameters({ 382 h[d] = g ? f : e, a.params.parameters({
383 sorting: h 383 sorting: h
384 }) 384 })
385 } 385 }
386 } 386 }
387 a.sortBy = b 387 a.sortBy = b
388 } 388 }
389 a.module("ngTable").controller("ngTableSorterRowController", b), b.$inject = ["$scope"] 389 a.module("ngTable").controller("ngTableSorterRowController", b), b.$inject = ["$scope"]
390 }(), b.controller("ngTableController", ["$scope", "NgTableParams", "$timeout", "$parse", "$compile", "$attrs", "$element", "ngTableColumn", "ngTableEventsChannel", function(b, c, d, e, f, g, h, i, j) { 390 }(), b.controller("ngTableController", ["$scope", "NgTableParams", "$timeout", "$parse", "$compile", "$attrs", "$element", "ngTableColumn", "ngTableEventsChannel", function(b, c, d, e, f, g, h, i, j) {
391 function k(a) { 391 function k(a) {
392 if (a) { 392 if (a) {
393 b.params.settings().$scope = b; 393 b.params.settings().$scope = b;
394 var c = b.params; 394 var c = b.params;
395 if (c.hasFilterChanges()) { 395 if (c.hasFilterChanges()) {
396 var d = function() { 396 var d = function() {
397 c.page(1), c.reload() 397 c.page(1), c.reload()
398 }; 398 };
399 c.settings().filterDelay ? m(d, c.settings().filterDelay) : d() 399 c.settings().filterDelay ? m(d, c.settings().filterDelay) : d()
400 } else c.reload() 400 } else c.reload()
401 } 401 }
402 } 402 }
403 403
404 function l() { 404 function l() {
405 function a(a, c) { 405 function a(a, c) {
406 a.settings().groupBy ? b.$groups = c : b.$data = c 406 a.settings().groupBy ? b.$groups = c : b.$data = c
407 } 407 }
408 408
409 function c(a, c) { 409 function c(a, c) {
410 b.pages = c 410 b.pages = c
411 } 411 }
412 412
413 function d(a) { 413 function d(a) {
414 return b.params === a 414 return b.params === a
415 } 415 }
416 j.onAfterReloadData(a, b, d), j.onPagesChanged(c, b, d) 416 j.onAfterReloadData(a, b, d), j.onPagesChanged(c, b, d)
417 } 417 }
418 b.$filterRow = {}, b.$loading = !1, b.hasOwnProperty("params") || (b.params = new c(!0)), b.params.settings().$scope = b; 418 b.$filterRow = {}, b.$loading = !1, b.hasOwnProperty("params") || (b.params = new c(!0)), b.params.settings().$scope = b;
419 var m = function() { 419 var m = function() {
420 var a = 0; 420 var a = 0;
421 return function(b, c) { 421 return function(b, c) {
422 d.cancel(a), a = d(b, c) 422 d.cancel(a), a = d(b, c)
423 } 423 }
424 }(); 424 }();
425 b.$watch("params", function(a, b) { 425 b.$watch("params", function(a, b) {
426 a !== b && a && a.reload() 426 a !== b && a && a.reload()
427 }, !1), b.$watch("params.isDataReloadRequired()", k), this.compileDirectiveTemplates = function() { 427 }, !1), b.$watch("params.isDataReloadRequired()", k), this.compileDirectiveTemplates = function() {
428 if (!h.hasClass("ng-table")) { 428 if (!h.hasClass("ng-table")) {
429 b.templates = { 429 b.templates = {
430 header: g.templateHeader ? g.templateHeader : "ng-table/header.html", 430 header: g.templateHeader ? g.templateHeader : "ng-table/header.html",
431 pagination: g.templatePagination ? g.templatePagination : "ng-table/pager.html" 431 pagination: g.templatePagination ? g.templatePagination : "ng-table/pager.html"
432 }, h.addClass("ng-table"); 432 }, h.addClass("ng-table");
433 var c = null, 433 var c = null,
434 d = !1; 434 d = !1;
435 a.forEach(h.children(), function(a) { 435 a.forEach(h.children(), function(a) {
436 "THEAD" === a.tagName && (d = !0) 436 "THEAD" === a.tagName && (d = !0)
437 }), d || (c = a.element(document.createElement("thead")).attr("ng-include", "templates.header"), h.prepend(c)); 437 }), d || (c = a.element(document.createElement("thead")).attr("ng-include", "templates.header"), h.prepend(c));
438 var e = a.element(document.createElement("div")).attr({ 438 var e = a.element(document.createElement("div")).attr({
439 "ng-table-pagination": "params", 439 "ng-table-pagination": "params",
440 "template-url": "templates.pagination" 440 "template-url": "templates.pagination"
441 }); 441 });
442 h.after(e), c && f(c)(b), f(e)(b) 442 h.after(e), c && f(c)(b), f(e)(b)
443 } 443 }
444 }, this.loadFilterData = function(c) { 444 }, this.loadFilterData = function(c) {
445 a.forEach(c, function(c) { 445 a.forEach(c, function(c) {
446 var d; 446 var d;
447 return d = c.filterData(b, { 447 return d = c.filterData(b, {
448 $column: c 448 $column: c
449 }), d ? a.isObject(d) && a.isObject(d.promise) ? (delete c.filterData, d.promise.then(function(b) { 449 }), d ? a.isObject(d) && a.isObject(d.promise) ? (delete c.filterData, d.promise.then(function(b) {
450 a.isArray(b) || a.isFunction(b) || a.isObject(b) ? a.isArray(b) && b.unshift({ 450 a.isArray(b) || a.isFunction(b) || a.isObject(b) ? a.isArray(b) && b.unshift({
451 title: "", 451 title: "",
452 id: "" 452 id: ""
453 }) : b = [], c.data = b 453 }) : b = [], c.data = b
454 })) : c.data = d : void delete c.filterData 454 })) : c.data = d : void delete c.filterData
455 }) 455 })
456 }, this.buildColumns = function(a) { 456 }, this.buildColumns = function(a) {
457 return a.map(function(a) { 457 return a.map(function(a) {
458 return i.buildColumn(a, b) 458 return i.buildColumn(a, b)
459 }) 459 })
460 }, this.parseNgTableDynamicExpr = function(a) { 460 }, this.parseNgTableDynamicExpr = function(a) {
461 if (!a || a.indexOf(" with ") > -1) { 461 if (!a || a.indexOf(" with ") > -1) {
462 var b = a.split(/\s+with\s+/); 462 var b = a.split(/\s+with\s+/);
463 return { 463 return {
464 tableParams: b[0], 464 tableParams: b[0],
465 columns: b[1] 465 columns: b[1]
466 } 466 }
467 } 467 }
468 throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')") 468 throw new Error("Parse error (expected example: ng-table-dynamic='tableParams with cols')")
469 }, this.setupBindingsToInternalScope = function(c) { 469 }, this.setupBindingsToInternalScope = function(c) {
470 var d = e(c); 470 var d = e(c);
471 b.$watch(d, function(c) { 471 b.$watch(d, function(c) {
472 a.isUndefined(c) || (b.paramsModel = d, b.params = c) 472 a.isUndefined(c) || (b.paramsModel = d, b.params = c)
473 }, !1), g.showFilter && b.$parent.$watch(g.showFilter, function(a) { 473 }, !1), g.showFilter && b.$parent.$watch(g.showFilter, function(a) {
474 b.show_filter = a 474 b.show_filter = a
475 }), g.disableFilter && b.$parent.$watch(g.disableFilter, function(a) { 475 }), g.disableFilter && b.$parent.$watch(g.disableFilter, function(a) {
476 b.$filterRow.disabled = a 476 b.$filterRow.disabled = a
477 }) 477 })
478 }, l() 478 }, l()
479 }]), b.factory("ngTableColumn", [function() { 479 }]), b.factory("ngTableColumn", [function() {
480 function b(b, d) { 480 function b(b, d) {
481 var e = Object.create(b); 481 var e = Object.create(b);
482 for (var f in c) void 0 === e[f] && (e[f] = c[f]), a.isFunction(e[f]) || ! function(a) { 482 for (var f in c) void 0 === e[f] && (e[f] = c[f]), a.isFunction(e[f]) || ! function(a) {
483 e[a] = function() { 483 e[a] = function() {
484 return b[a] 484 return b[a]
485 } 485 }
486 }(f), 486 }(f),
487 function(a) { 487 function(a) {
488 var c = e[a]; 488 var c = e[a];
489 e[a] = function() { 489 e[a] = function() {
490 return 0 === arguments.length ? c.call(b, d) : c.apply(b, arguments) 490 return 0 === arguments.length ? c.call(b, d) : c.apply(b, arguments)
491 } 491 }
492 }(f); 492 }(f);
493 return e 493 return e
494 } 494 }
495 var c = { 495 var c = {
496 "class": function() { 496 "class": function() {
497 return "" 497 return ""
498 }, 498 },
499 filter: function() { 499 filter: function() {
500 return !1 500 return !1
501 }, 501 },
502 filterData: a.noop, 502 filterData: a.noop,
503 headerTemplateURL: function() { 503 headerTemplateURL: function() {
504 return !1 504 return !1
505 }, 505 },
506 headerTitle: function() { 506 headerTitle: function() {
507 return "" 507 return ""
508 }, 508 },
509 sortable: function() { 509 sortable: function() {
510 return !1 510 return !1
511 }, 511 },
512 show: function() { 512 show: function() {
513 return !0 513 return !0
514 }, 514 },
515 title: function() { 515 title: function() {
516 return "" 516 return ""
517 }, 517 },
518 titleAlt: function() { 518 titleAlt: function() {
519 return "" 519 return ""
520 } 520 }
521 }; 521 };
522 return { 522 return {
523 buildColumn: b 523 buildColumn: b
524 } 524 }
525 }]), b.directive("ngTable", ["$q", "$parse", function(b, c) { 525 }]), b.directive("ngTable", ["$q", "$parse", function(b, c) {
526 return { 526 return {
527 restrict: "A", 527 restrict: "A",
528 priority: 1001, 528 priority: 1001,
529 scope: !0, 529 scope: !0,
530 controller: "ngTableController", 530 controller: "ngTableController",
531 compile: function(b) { 531 compile: function(b) {
532 var d = [], 532 var d = [],
533 e = 0, 533 e = 0,
534 f = null; 534 f = null;
535 return a.forEach(a.element(b.find("tr")), function(b) { 535 return a.forEach(a.element(b.find("tr")), function(b) {
536 b = a.element(b), b.hasClass("ng-table-group") || f || (f = b) 536 b = a.element(b), b.hasClass("ng-table-group") || f || (f = b)
537 }), f ? (a.forEach(f.find("td"), function(b) { 537 }), f ? (a.forEach(f.find("td"), function(b) {
538 var f = a.element(b); 538 var f = a.element(b);
539 if (!f.attr("ignore-cell") || "true" !== f.attr("ignore-cell")) { 539 if (!f.attr("ignore-cell") || "true" !== f.attr("ignore-cell")) {
540 var g = function(a) { 540 var g = function(a) {
541 return f.attr("x-data-" + a) || f.attr("data-" + a) || f.attr(a) 541 return f.attr("x-data-" + a) || f.attr("data-" + a) || f.attr(a)
542 }, 542 },
543 h = function(b) { 543 h = function(b) {
544 var e = g(b); 544 var e = g(b);
545 return e ? function(b, f) { 545 return e ? function(b, f) {
546 return c(e)(b, a.extend(f || {}, { 546 return c(e)(b, a.extend(f || {}, {
547 $columns: d 547 $columns: d
548 })) 548 }))
549 } : void 0 549 } : void 0
550 }, 550 },
551 i = g("title-alt") || g("title"); 551 i = g("title-alt") || g("title");
552 i && f.attr("data-title-text", "{{" + i + "}}"), d.push({ 552 i && f.attr("data-title-text", "{{" + i + "}}"), d.push({
553 id: e++, 553 id: e++,
554 title: h("title"), 554 title: h("title"),
555 titleAlt: h("title-alt"), 555 titleAlt: h("title-alt"),
556 headerTitle: h("header-title"), 556 headerTitle: h("header-title"),
557 sortable: h("sortable"), 557 sortable: h("sortable"),
558 "class": h("header-class"), 558 "class": h("header-class"),
559 filter: h("filter"), 559 filter: h("filter"),
560 headerTemplateURL: h("header"), 560 headerTemplateURL: h("header"),
561 filterData: h("filter-data"), 561 filterData: h("filter-data"),
562 show: f.attr("ng-if") ? function(a) { 562 show: f.attr("ng-if") ? function(a) {
563 return c(f.attr("ng-if"))(a) 563 return c(f.attr("ng-if"))(a)
564 } : void 0 564 } : void 0
565 }) 565 })
566 } 566 }
567 }), function(a, b, c, e) { 567 }), function(a, b, c, e) {
568 a.$columns = d = e.buildColumns(d), e.setupBindingsToInternalScope(c.ngTable), e.loadFilterData(d), e.compileDirectiveTemplates() 568 a.$columns = d = e.buildColumns(d), e.setupBindingsToInternalScope(c.ngTable), e.loadFilterData(d), e.compileDirectiveTemplates()
569 }) : void 0 569 }) : void 0
570 } 570 }
571 } 571 }
572 }]), b.directive("ngTableDynamic", ["$parse", function() { 572 }]), b.directive("ngTableDynamic", ["$parse", function() {
573 return { 573 return {
574 restrict: "A", 574 restrict: "A",
575 priority: 1001, 575 priority: 1001,
576 scope: !0, 576 scope: !0,
577 controller: "ngTableController", 577 controller: "ngTableController",
578 compile: function(b) { 578 compile: function(b) {
579 var c; 579 var c;
580 return a.forEach(a.element(b.find("tr")), function(b) { 580 return a.forEach(a.element(b.find("tr")), function(b) {
581 b = a.element(b), b.hasClass("ng-table-group") || c || (c = b) 581 b = a.element(b), b.hasClass("ng-table-group") || c || (c = b)
582 }), c ? (a.forEach(c.find("td"), function(b) { 582 }), c ? (a.forEach(c.find("td"), function(b) {
583 var c = a.element(b), 583 var c = a.element(b),
584 d = function(a) { 584 d = function(a) {
585 return c.attr("x-data-" + a) || c.attr("data-" + a) || c.attr(a) 585 return c.attr("x-data-" + a) || c.attr("data-" + a) || c.attr(a)
586 }, 586 },
587 e = d("title"); 587 e = d("title");
588 e || c.attr("data-title-text", "{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}"); 588 e || c.attr("data-title-text", "{{$columns[$index].titleAlt(this) || $columns[$index].title(this)}}");
589 var f = c.attr("ng-if"); 589 var f = c.attr("ng-if");
590 f || c.attr("ng-if", "$columns[$index].show(this)") 590 f || c.attr("ng-if", "$columns[$index].show(this)")
591 }), function(a, b, c, d) { 591 }), function(a, b, c, d) {
592 var e = d.parseNgTableDynamicExpr(c.ngTableDynamic); 592 var e = d.parseNgTableDynamicExpr(c.ngTableDynamic);
593 d.setupBindingsToInternalScope(e.tableParams), d.compileDirectiveTemplates(), a.$watchCollection(e.columns, function(b) { 593 d.setupBindingsToInternalScope(e.tableParams), d.compileDirectiveTemplates(), a.$watchCollection(e.columns, function(b) {
594 a.$columns = d.buildColumns(b), d.loadFilterData(a.$columns) 594 a.$columns = d.buildColumns(b), d.loadFilterData(a.$columns)
595 }) 595 })
596 }) : void 0 596 }) : void 0
597 } 597 }
598 } 598 }
599 }]), 599 }]),
600 function() { 600 function() {
601 function b() { 601 function b() {
602 var a = { 602 var a = {
603 restrict: "E", 603 restrict: "E",
604 replace: !0, 604 replace: !0,
605 templateUrl: "ng-table/filterRow.html", 605 templateUrl: "ng-table/filterRow.html",
606 scope: !0, 606 scope: !0,
607 controller: "ngTableFilterRowController" 607 controller: "ngTableFilterRowController"
608 }; 608 };
609 return a 609 return a
610 } 610 }
611 a.module("ngTable").directive("ngTableFilterRow", b), b.$inject = [] 611 a.module("ngTable").directive("ngTableFilterRow", b), b.$inject = []
612 }(), 612 }(),
613 function() { 613 function() {
614 function b() { 614 function b() {
615 var a = { 615 var a = {
616 restrict: "E", 616 restrict: "E",
617 replace: !0, 617 replace: !0,
618 templateUrl: "ng-table/sorterRow.html", 618 templateUrl: "ng-table/sorterRow.html",
619 scope: !0, 619 scope: !0,
620 controller: "ngTableSorterRowController" 620 controller: "ngTableSorterRowController"
621 }; 621 };
622 return a 622 return a
623 } 623 }
624 a.module("ngTable").directive("ngTableSorterRow", b), b.$inject = [] 624 a.module("ngTable").directive("ngTableSorterRow", b), b.$inject = []
625 }(), b.directive("ngTablePagination", ["$compile", "ngTableEventsChannel", function(b, c) { 625 }(), b.directive("ngTablePagination", ["$compile", "ngTableEventsChannel", function(b, c) {
626 return { 626 return {
627 restrict: "A", 627 restrict: "A",
628 scope: { 628 scope: {
629 params: "=ngTablePagination", 629 params: "=ngTablePagination",
630 templateUrl: "=" 630 templateUrl: "="
631 }, 631 },
632 replace: !1, 632 replace: !1,
633 link: function(d, e) { 633 link: function(d, e) {
634 c.onAfterReloadData(function(a) { 634 c.onAfterReloadData(function(a) {
635 d.pages = a.generatePagesArray() 635 d.pages = a.generatePagesArray()
636 }, d, function(a) { 636 }, d, function(a) {
637 return a === d.params 637 return a === d.params
638 }), d.$watch("templateUrl", function(c) { 638 }), d.$watch("templateUrl", function(c) {
639 if (!a.isUndefined(c)) { 639 if (!a.isUndefined(c)) {
640 var f = a.element(document.createElement("div")); 640 var f = a.element(document.createElement("div"));
641 f.attr({ 641 f.attr({
642 "ng-include": "templateUrl" 642 "ng-include": "templateUrl"
643 }), e.append(f), b(f)(d) 643 }), e.append(f), b(f)(d)
644 } 644 }
645 }) 645 })
646 } 646 }
647 } 647 }
648 }]), a.module("ngTable").run(["$templateCache", function(a) { 648 }]), a.module("ngTable").run(["$templateCache", function(a) {
649 a.put("ng-table/filterRow.html", '<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"> <div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '), a.put("ng-table/filters/number.html", '<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/filters/select-multiple.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '), a.put("ng-table/filters/select.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '), a.put("ng-table/filters/text.html", '<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/header.html", "<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "), a.put("ng-table/pager.html", '<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div style="float: right;"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group" style="float: left; margin-top: 20px; margin-right: 20px;"> <select ng-model="count" ng-change="params.count(count)" class="recordCountSelect"> <option ng-repeat="count in params.settings().counts" value="{{count}}">{{count}} Records Per Page</option> </select> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">&laquo;</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">&#8230;</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">&raquo;</a> </li> </ul> </div> </div> '), a.put("ng-table/sorterRow.html", '<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ') 649 a.put("ng-table/filterRow.html", '<tr ng-show="show_filter" class="ng-table-filters"> <th data-title-text="{{$column.titleAlt(this) || $column.title(this)}}" ng-repeat="$column in $columns" ng-if="$column.show(this)" class="filter"><div ng-repeat="(name, filter) in $column.filter(this)"> <div ng-include="config.getTemplateUrl(filter)"></div> </div> </th> </tr> '), a.put("ng-table/filters/number.html", '<input type="number" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/filters/select-multiple.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" multiple ng-multiple="true" ng-model="params.filter()[name]" class="filter filter-select-multiple form-control" name="{{name}}"> </select> '), a.put("ng-table/filters/select.html", '<select ng-options="data.id as data.title for data in $column.data" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="filter filter-select form-control" name="{{name}}"> <option style="display:none" value=""></option> </select> '), a.put("ng-table/filters/text.html", '<input type="text" name="{{name}}" ng-disabled="$filterRow.disabled" ng-model="params.filter()[name]" class="input-filter form-control"/> '), a.put("ng-table/header.html", "<ng-table-sorter-row></ng-table-sorter-row> <ng-table-filter-row></ng-table-filter-row> "), a.put("ng-table/pager.html", '<div class="ng-cloak ng-table-pager" ng-if="params.data.length"> <div style="float: right;"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group" style="float: left; margin-top: 20px; margin-right: 20px;"> <select ng-model="count" ng-change="params.count(count)" class="recordCountSelect"> <option style="display:none" value="">10 Records Per Page</option><option ng-repeat="count in params.settings().counts" value="{{count}}">{{count}} Records Per Page</option> </select> </div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active && !page.current, \'active\': page.current}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">&laquo;</a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">&#8230;</a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"></span></a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">&raquo;</a> </li> </ul> </div> </div> '), a.put("ng-table/sorterRow.html", '<tr> <th title="{{$column.headerTitle(this)}}" ng-repeat="$column in $columns" ng-class="{ \'sortable\': $column.sortable(this), \'sort-asc\': params.sorting()[$column.sortable(this)]==\'asc\', \'sort-desc\': params.sorting()[$column.sortable(this)]==\'desc\' }" ng-click="sortBy($column, $event)" ng-if="$column.show(this)" ng-init="template=$column.headerTemplateURL(this)" class="header {{$column.class(this)}}"> <div ng-if="!template" class="ng-table-header" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'div\'}"> <span ng-bind="$column.title(this)" ng-class="{\'sort-indicator\': params.settings().sortingIndicator==\'span\'}"></span> </div> <div ng-if="template" ng-include="template"></div> </th> </tr> ')
650 }]), b 650 }]), b
651 }); 651 });
652 //# sourceMappingURL=ng-table.min.js.map 652 //# sourceMappingURL=ng-table.min.js.map
app/partials/customers/customers.controller.js
1 'use strict'; 1 'use strict';
2 2
3 //Load controller 3 //Load controller
4 angular.module('acufuel') 4 angular.module('acufuel')
5 .controller('customersController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', '$state', 'CustomersService', 'ViewCompanyService', 'NgTableParams', customersController]); 5 .controller('customersController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', '$state', 'CustomersService', 'ViewCompanyService', 'NgTableParams', customersController]);
6 6
7 function customersController($scope, $rootScope, $uibModal, $filter, $http, $state, CustomersService, ViewCompanyService, NgTableParams) { 7 function customersController($scope, $rootScope, $uibModal, $filter, $http, $state, CustomersService, ViewCompanyService, NgTableParams) {
8 $(document).ready(function() { 8 $(document).ready(function() {
9 // $('#example').DataTable(); 9 // $('#example').DataTable();
10 }); 10 });
11 $scope.userProfileId = JSON.parse(localStorage.getItem('userProfileId')) 11 $scope.userProfileId = JSON.parse(localStorage.getItem('userProfileId'))
12 $scope.reset2 = function(){ 12 $scope.reset2 = function(){
13 $("input").val(""); 13 $("input").val("");
14 $scope.removeMarginValidation(); 14 $scope.removeMarginValidation();
15 } 15 }
16 16
17 17
18 $scope.data = {}; 18 $scope.data = {};
19 $scope.aircraft = {}; 19 $scope.aircraft = {};
20 $scope.data.activate = true; 20 $scope.data.activate = true;
21 $scope.showLoader = true; 21 $scope.showLoader = true;
22 getAllCompanies(); 22 getAllCompanies();
23 23
24 /*function getAllCompanies(){ 24 /*function getAllCompanies(){
25 CustomersService.getAllCompanies().then(function(result) { 25 CustomersService.getAllCompanies().then(function(result) {
26 $scope.companyList = result; 26 $scope.companyList = result;
27 for(var i=0; i<$scope.companyList.length; i++){ 27 for(var i=0; i<$scope.companyList.length; i++){
28 $scope.companyList[i].masterMargin = $scope.companyList[i].margin.id; 28 $scope.companyList[i].masterMargin = $scope.companyList[i].margin.id;
29 } 29 }
30 }) 30 })
31 31
32 }*/ 32 }*/
33 33
34 $scope.statusFilter = [ 34 $scope.statusFilter = [
35 {id: "", title: "Show All"}, 35 {id: "", title: "Show All"},
36 {id: "true", title: "Active"}, 36 {id: "true", title: "Active"},
37 {id: "false", title: "Inactive"} 37 {id: "false", title: "Inactive"}
38 ] 38 ]
39 39
40 /*function getAllCompanies(){
41 $scope.displayCompanyList = new NgTableParams({
42 page: 1,
43 count: 10
44 }, {
45 total: 0,
46 getData: function($defer, params) {
47 CustomersService.getAllCompanies().then(function(result) {
48 $scope.companyList = result;
49 for(var i=0; i<$scope.companyList.length; i++){
50 $scope.companyList[i].masterMargin = $scope.companyList[i].margin.id;
51 }
52 var filteredData = params.filter() ?
53 $filter('filter')($scope.companyList, params.filter()) : $scope.companyList;
54 var orderedData = params.sorting() ?
55 $filter('orderBy')(filteredData, params.orderBy()) : $scope.companyList;
56
57 params.total(orderedData.length);
58 $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
59 })
60 }
61 });
62 }*/
63
64 function getAllCompanies(){ 40 function getAllCompanies(){
65 CustomersService.getAllCompanies().then(function(result) { 41 CustomersService.getAllCompanies().then(function(result) {
66 console.log('log', result); 42 console.log('log', result);
67 $scope.companyList = result; 43 $scope.companyList = result;
68 for (var i = 0; i < $scope.companyList.length; i++) { 44 for (var i = 0; i < $scope.companyList.length; i++) {
69 if ($scope.companyList[i].companyContact != null) { 45 if ($scope.companyList[i].companyContact != null) {
70 if ($scope.companyList[i].companyContact.contactNumber != null || $scope.companyList[i].companyContact.contactNumber != undefined) { 46 if ($scope.companyList[i].companyContact.contactNumber != null || $scope.companyList[i].companyContact.contactNumber != undefined) {
71 $scope.companyList[i].newContactNumber = $scope.companyList[i].companyContact.contactNumber; 47 $scope.companyList[i].newContactNumber = $scope.companyList[i].companyContact.contactNumber;
72 } 48 }
73 } 49 }
74 if ($scope.companyList[i].primaryContact != null) { 50 if ($scope.companyList[i].primaryContact != null) {
75 if ($scope.companyList[i].primaryContact.firstName != null && $scope.companyList[i].primaryContact.lastName != null) { 51 if ($scope.companyList[i].primaryContact.firstName != null && $scope.companyList[i].primaryContact.lastName != null) {
76 $scope.companyList[i].primaryContactName = $scope.companyList[i].primaryContact.firstName + ' ' + $scope.companyList[i].primaryContact.lastName; 52 $scope.companyList[i].primaryContactName = $scope.companyList[i].primaryContact.firstName + ' ' + $scope.companyList[i].primaryContact.lastName;
77 } 53 }
78 } 54 }
79 if ($scope.companyList[i].margin != null) { 55 if ($scope.companyList[i].margin != null) {
80 if ($scope.companyList[i].margin.marginName != null) { 56 if ($scope.companyList[i].margin.marginName != null) {
81 $scope.companyList[i].masterMargin = $scope.companyList[i].margin.id; 57 $scope.companyList[i].masterMargin = $scope.companyList[i].margin.id;
82 } 58 }
83 } 59 }
84 } 60 }
85 $scope.displayCompanyList = new NgTableParams({ 61 $scope.displayCompanyList = new NgTableParams({
86 page: 1, 62 page: 1,
87 count: 10, 63 count: 10,
88 }, { 64 }, {
89 data: $scope.companyList 65 data: $scope.companyList
90 }); 66 });
91 $scope.showLoader = false; 67 $scope.showLoader = false;
92 }) 68 })
93 } 69 }
94 70
95 $scope.editMargin = function(customer){ 71 $scope.editMargin = function(customer){
96 console.log('customer', customer); 72 console.log('customer', customer);
97 $scope.showLoader = true; 73 $scope.showLoader = true;
98 event.stopPropagation(); 74 event.stopPropagation();
99 75
100 var companyMargin = "companyName=" + customer.companyName + "&masterMargin=" + customer.masterMargin 76 var companyMargin = "companyName=" + customer.companyName + "&masterMargin=" + customer.masterMargin
101 + "&addressOne=" + customer.addressOne + "&addressTwo=" + customer.addressTwo + "&city=" + customer.city + "&state=" 77 + "&addressOne=" + customer.addressOne + "&addressTwo=" + customer.addressTwo + "&city=" + customer.city + "&state="
102 + customer.state + "&country=" + customer.country + "&zipcode=" + customer.zipcode + "&internalNote=" 78 + customer.state + "&country=" + customer.country + "&zipcode=" + customer.zipcode + "&internalNote="
103 + customer.internalNote + "&certificateType=" + customer.certificateType + "&baseTenant=" + customer.baseTenant 79 + customer.internalNote + "&certificateType=" + customer.certificateType + "&baseTenant=" + customer.baseTenant
104 + "&fuelerlinxCustomer=" + customer.fuelerlinxCustomer + "&contractFuelVendor=" + customer.contractFuelVendor 80 + "&fuelerlinxCustomer=" + customer.fuelerlinxCustomer + "&contractFuelVendor=" + customer.contractFuelVendor
105 + "&activate=" + customer.activate + "&baseIcao=" + customer.baseIcao + "&companyId=" + customer.id; 81 + "&activate=" + customer.activate + "&baseIcao=" + customer.baseIcao + "&companyId=" + customer.id;
106 82
107 ViewCompanyService.updateCompany(companyMargin).then(function(result) { 83 ViewCompanyService.updateCompany(companyMargin).then(function(result) {
108 if(result != null && result.success){ 84 if(result != null && result.success){
109 $scope.showLoader = false; 85 $scope.showLoader = false;
110 toastr.success(''+result.success+'', { 86 toastr.success(''+result.success+'', {
111 closeButton: true 87 closeButton: true
112 }) 88 })
113 }else{ 89 }else{
114 $scope.showLoader = false; 90 $scope.showLoader = false;
115 toastr.error(''+result.statusText+'', { 91 toastr.error(''+result.statusText+'', {
116 closeButton: true 92 closeButton: true
117 }) 93 })
118 } 94 }
119 }) 95 })
120 } 96 }
121 97
122 getData(); 98 getData();
123 function getData(){ 99 function getData(){
124 $scope.showLoader = true; 100 $scope.showLoader = true;
125 CustomersService.getAircraftMake().then(function(result) { 101 CustomersService.getAircraftMake().then(function(result) {
126 $scope.aircraftMakeList = result; 102 $scope.aircraftMakeList = result;
127 $scope.showLoader = false; 103 $scope.showLoader = false;
128 }) 104 })
129 } 105 }
130 106
131 107
132 // CustomersService.getMargin().then(function(result) { 108 // CustomersService.getMargin().then(function(result) {
133 // $scope.marginList = result; 109 // $scope.marginList = result;
134 // }) 110 // })
135 $scope.marginFilterOptions = []; 111 $scope.marginFilterOptions = [];
136 CustomersService.getJetMargin($scope.userProfileId).then(function(result) { 112 CustomersService.getJetMargin($scope.userProfileId).then(function(result) {
137 $scope.jetMarginList = result; 113 $scope.jetMarginList = result;
138 $scope.marginFilterOptions.push({ 114 $scope.marginFilterOptions.push({
139 'id': '', 'title': 'Show All' 115 'id': '', 'title': 'Show All'
140 }); 116 });
141 for (var i = 0; i < result.length; i++) { 117 for (var i = 0; i < result.length; i++) {
142 $scope.marginFilterOptions.push({ 118 $scope.marginFilterOptions.push({
143 'id': result[i].id, 119 'id': result[i].id,
144 'title': result[i].marginName 120 'title': result[i].marginName
145 }) 121 })
146 } 122 }
147 }) 123 })
148 124
149 CustomersService.getAvgMargin($scope.userProfileId).then(function(result) { 125 CustomersService.getAvgMargin($scope.userProfileId).then(function(result) {
150 $scope.avgsMarginList = result; 126 $scope.avgsMarginList = result;
151 }) 127 })
152 128
153 129
154 $scope.showCompanyError = false; 130 $scope.showCompanyError = false;
155 $scope.showMarginError = false; 131 $scope.showMarginError = false;
156 132
157 $scope.removeValidation = function(){ 133 $scope.removeValidation = function(){
158 $scope.showCompanyError = false; 134 $scope.showCompanyError = false;
159 $('.companyNameInput').removeClass('customErrorInput'); 135 $('.companyNameInput').removeClass('customErrorInput');
160 } 136 }
161 137
162 $scope.removeMarginValidation = function(){ 138 $scope.removeMarginValidation = function(){
163 $scope.showMarginError = false; 139 $scope.showMarginError = false;
164 $('.marginSelectBox').removeClass('customErrorInput'); 140 $('.marginSelectBox').removeClass('customErrorInput');
165 } 141 }
166 142
167 var companyData; 143 var companyData;
168 $scope.addFirstData = function(sel, step){ 144 $scope.addFirstData = function(sel, step){
169 if($scope.data.companyName == undefined){ 145 if($scope.data.companyName == undefined){
170 $scope.showCompanyError = true; 146 $scope.showCompanyError = true;
171 $('.companyNameInput').addClass('customErrorInput'); 147 $('.companyNameInput').addClass('customErrorInput');
172 }else if($scope.data.masterMargin == undefined){ 148 }else if($scope.data.masterMargin == undefined){
173 $scope.showMarginError = true; 149 $scope.showMarginError = true;
174 $('.marginSelectBox').addClass('customErrorInput'); 150 $('.marginSelectBox').addClass('customErrorInput');
175 }else{ 151 }else{
176 $scope.aircraftDetails = [{ 152 $scope.aircraftDetails = [{
177 'tail':'', 153 'tail':'',
178 'make': '', 154 'make': '',
179 'model': '', 155 'model': '',
180 'sizeId' : '', 156 'sizeId' : '',
181 'marginId': $scope.data.masterMargin, 157 'marginId': $scope.data.masterMargin,
182 'avgasMarginId': $scope.data.avgasMargin 158 'avgasMarginId': $scope.data.avgasMargin
183 }]; 159 }];
184 160
185 $(sel).trigger('next.m.' + step); 161 $(sel).trigger('next.m.' + step);
186 getData(); 162 getData();
187 } 163 }
188 } 164 }
189 $scope.addNew = function(){ 165 $scope.addNew = function(){
190 $scope.aircraftDetails.push({ 166 $scope.aircraftDetails.push({
191 'tail':'', 167 'tail':'',
192 'make': '', 168 'make': '',
193 'model': '', 169 'model': '',
194 'sizeId' : '', 170 'sizeId' : '',
195 'marginId': $scope.data.masterMargin, 171 'marginId': $scope.data.masterMargin,
196 'avgasMarginId': $scope.data.avgasMargin 172 'avgasMarginId': $scope.data.avgasMargin
197 }); 173 });
198 }; 174 };
199 175
200 $scope.getModal = function(makeId, index){ 176 $scope.getModal = function(makeId, index){
201 $scope.showLoader = true; 177 $scope.showLoader = true;
202 $scope.aircraft.make = makeId; 178 $scope.aircraft.make = makeId;
203 //var makeId = makeId; 179 //var makeId = makeId;
204 CustomersService.getModal($scope.aircraft.make).then(function(result) { 180 CustomersService.getModal($scope.aircraft.make).then(function(result) {
205 $scope.showLoader = false; 181 $scope.showLoader = false;
206 $scope.aircraftDetails[index].aircraftModalList = result; 182 $scope.aircraftDetails[index].aircraftModalList = result;
207 //$scope.aircraftDetails[index].model = $scope.aircraftModalList[0]; 183 //$scope.aircraftDetails[index].model = $scope.aircraftModalList[0];
208 }) 184 })
209 } 185 }
210 186
211 $scope.getSize = function(model, index){ 187 $scope.getSize = function(model, index){
212 $scope.showLoader = true; 188 $scope.showLoader = true;
213 CustomersService.getAircraftSize($scope.aircraft.make, model).then(function(result) { 189 CustomersService.getAircraftSize($scope.aircraft.make, model).then(function(result) {
214 $scope.showLoader = false; 190 $scope.showLoader = false;
215 $scope.aircraftDetails[index].aircraftSizeList = result; 191 $scope.aircraftDetails[index].aircraftSizeList = result;
216 //$scope.aircraftDetails[index].size = $scope.aircraftSizeList[0]; 192 //$scope.aircraftDetails[index].size = $scope.aircraftSizeList[0];
217 }) 193 })
218 } 194 }
219 195
220 $scope.aircraftListData = {}; 196 $scope.aircraftListData = {};
221 $scope.addData = []; 197 $scope.addData = [];
222 $scope.saveCompanyData = function(){ 198 $scope.saveCompanyData = function(){
223 CustomersService.addCompany($scope.data).then(function(result) { 199 CustomersService.addCompany($scope.data).then(function(result) {
224 $scope.accountId = result; 200 $scope.accountId = result;
225 $scope.aircraft.accountId = $scope.accountId; 201 $scope.aircraft.accountId = $scope.accountId;
226 202
227 for(var i=0; i<$scope.aircraftDetails.length;i++){ 203 for(var i=0; i<$scope.aircraftDetails.length;i++){
228 $scope.addData.push({ 204 $scope.addData.push({
229 'tail': $scope.aircraftDetails[i].tail, 205 'tail': $scope.aircraftDetails[i].tail,
230 'make': $scope.aircraftDetails[i].make, 206 'make': $scope.aircraftDetails[i].make,
231 'model': $scope.aircraftDetails[i].model, 207 'model': $scope.aircraftDetails[i].model,
232 'sizeId' : $scope.aircraftDetails[i].sizeId, 208 'sizeId' : $scope.aircraftDetails[i].sizeId,
233 'marginId': $scope.aircraftDetails[i].marginId, 209 'marginId': $scope.aircraftDetails[i].marginId,
234 'avgasMarginId': $scope.aircraftDetails[i].avgasMarginId 210 'avgasMarginId': $scope.aircraftDetails[i].avgasMarginId
235 }); 211 });
236 } 212 }
237 $scope.aircraftListData.aircraftList = $scope.addData; 213 $scope.aircraftListData.aircraftList = $scope.addData;
238 $scope.aircraftListData.accountId = $scope.aircraft.accountId; 214 $scope.aircraftListData.accountId = $scope.aircraft.accountId;
239 215
240 if($scope.aircraftListData.aircraftList[0].tail == "" || $scope.aircraftListData.aircraftList[0].make == null || $scope.aircraftListData.aircraftList[0].model == null){ 216 if($scope.aircraftListData.aircraftList[0].tail == "" || $scope.aircraftListData.aircraftList[0].make == null || $scope.aircraftListData.aircraftList[0].model == null){
241 $scope.aircraftListData.aircraftList = []; 217 $scope.aircraftListData.aircraftList = [];
242 } 218 }
243 219
244 CustomersService.addAircraft($scope.aircraftListData).then(function(result) { 220 CustomersService.addAircraft($scope.aircraftListData).then(function(result) {
245 221
246 if(result != null && result.success){ 222 if(result != null && result.success){
247 toastr.success(''+result.success+'', { 223 toastr.success(''+result.success+'', {
248 closeButton: true 224 closeButton: true
249 }) 225 })
250 $('#demo-modal-3').modal('hide'); 226 $('#demo-modal-3').modal('hide');
251 getAllCompanies(); 227 getAllCompanies();
252 }else{ 228 }else{
253 toastr.error(''+result.statusText+'', { 229 toastr.error(''+result.statusText+'', {
254 closeButton: true 230 closeButton: true
255 }) 231 })
256 } 232 }
257 }); 233 });
258 234
259 }) 235 })
260 236
261 237
262 } 238 }
263 239
264 // $scope.appendText = function() { 240 // $scope.appendText = function() {
265 // getData(); 241 // getData();
266 // var newRow = $('<tr> <td> <input type="text" style="width:100px;" ng-model="aircraft.tail" class="form-control"> </td> <td style="width: 25%;"> <select class="form-control" ng-model="aircraft.make" ng-change="getModal()"> <option ng-repeat="make in aircraftMakeList">{{make}}</option> </select> </td> <td style="width: 20%;"> <select class="form-control" ng-model="aircraft.model" ng-change="getSize()"> <option ng-repeat="model in aircraftModalList">{{model}}</option> </select> </td> <td style="width: 25%;"> <select class="form-control" ng-model="aircraft.size"> <option ng-repeat="size in aircraftSizeList">{{size}}</option> </select> </td> <td> <select class="form-control"> <option>Margin1</option> <option>Margin2</option> </select> </td> </tr>'); 242 // var newRow = $('<tr> <td> <input type="text" style="width:100px;" ng-model="aircraft.tail" class="form-control"> </td> <td style="width: 25%;"> <select class="form-control" ng-model="aircraft.make" ng-change="getModal()"> <option ng-repeat="make in aircraftMakeList">{{make}}</option> </select> </td> <td style="width: 20%;"> <select class="form-control" ng-model="aircraft.model" ng-change="getSize()"> <option ng-repeat="model in aircraftModalList">{{model}}</option> </select> </td> <td style="width: 25%;"> <select class="form-control" ng-model="aircraft.size"> <option ng-repeat="size in aircraftSizeList">{{size}}</option> </select> </td> <td> <select class="form-control"> <option>Margin1</option> <option>Margin2</option> </select> </td> </tr>');
267 // $('table.addRow').append(newRow); 243 // $('table.addRow').append(newRow);
268 // } 244 // }
269 245
270 $scope.setFuel = function(){ 246 $scope.setFuel = function(){
271 event.stopPropagation(); 247 event.stopPropagation();
272 $state.go('app.updateFuelManager'); 248 $state.go('app.updateFuelManager');
273 } 249 }
274 250
275 /* ng table */ 251 /* ng table */
276 252
277 $scope.exportCompany = function() { 253 $scope.exportCompany = function() {
278 $scope.showLoader = true; 254 $scope.showLoader = true;
279 var fileName = "companies.csv"; 255 var fileName = "companies.csv";
280 var a = document.createElement("a"); 256 var a = document.createElement("a");
281 document.body.appendChild(a); 257 document.body.appendChild(a);
282 CustomersService.exportCompany().then(function(result) { 258 CustomersService.exportCompany().then(function(result) {
283 var file = new Blob([result], {type: 'application/csv'}); 259 var file = new Blob([result], {type: 'application/csv'});
284 var fileURL = URL.createObjectURL(file); 260 var fileURL = URL.createObjectURL(file);
285 a.href = fileURL; 261 a.href = fileURL;
286 a.download = fileName; 262 a.download = fileName;
287 a.click(); 263 a.click();
288 $scope.showLoader = false; 264 $scope.showLoader = false;
289 }) 265 })
290 } 266 }
291 267
292 268
293 } 269 }
app/partials/customers/customers.html
1 <style> 1 <style>
2 .subnavbar .mainnav > li:nth-child(3) > a{ 2 .subnavbar .mainnav > li:nth-child(3) > a{
3 color: #ff9900; 3 color: #ff9900;
4 } 4 }
5 5
6 .button1 { 6 .button1 {
7 display: inline-block; 7 display: inline-block;
8 height: 35px; 8 height: 35px;
9 line-height: 35px; 9 line-height: 35px;
10 padding-right: 15px; 10 padding-right: 15px;
11 padding-left: 50px; 11 padding-left: 50px;
12 position: relative; 12 position: relative;
13 background-color:rgb(41,127,184); 13 background-color:rgb(41,127,184);
14 color:rgb(255,255,255); 14 color:rgb(255,255,255);
15 text-decoration: none; 15 text-decoration: none;
16 text-transform: uppercase; 16 text-transform: uppercase;
17 letter-spacing: 1px; 17 letter-spacing: 1px;
18 margin-bottom: 15px; 18 margin-bottom: 15px;
19 border: 0; 19 border: 0;
20 20
21 21
22 border-radius: 5px; 22 border-radius: 5px;
23 -moz-border-radius: 5px; 23 -moz-border-radius: 5px;
24 -webkit-border-radius: 5px; 24 -webkit-border-radius: 5px;
25 text-shadow:0px 1px 0px rgba(0,0,0,0.5); 25 text-shadow:0px 1px 0px rgba(0,0,0,0.5);
26 -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ff123852,Positive=true)";zoom:1; 26 -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ff123852,Positive=true)";zoom:1;
27 filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ff123852,Positive=true); 27 filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ff123852,Positive=true);
28 28
29 -moz-box-shadow:0px 2px 2px rgba(0,0,0,0.2); 29 -moz-box-shadow:0px 2px 2px rgba(0,0,0,0.2);
30 -webkit-box-shadow:0px 2px 2px rgba(0,0,0,0.2); 30 -webkit-box-shadow:0px 2px 2px rgba(0,0,0,0.2);
31 box-shadow:0px 2px 2px rgba(0,0,0,0.2); 31 box-shadow:0px 2px 2px rgba(0,0,0,0.2);
32 -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=2,Color=#33000000,Positive=true)"; 32 -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=2,Color=#33000000,Positive=true)";
33 filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=2,Color=#33000000,Positive=true); 33 filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=2,Color=#33000000,Positive=true);
34 } 34 }
35 35
36 .button1 span { 36 .button1 span {
37 position: absolute; 37 position: absolute;
38 left: 0; 38 left: 0;
39 top: 0; 39 top: 0;
40 width: 35px; 40 width: 35px;
41 background-color:rgba(0,0,0,0.5); 41 background-color:rgba(0,0,0,0.5);
42 42
43 -webkit-border-top-left-radius: 5px; 43 -webkit-border-top-left-radius: 5px;
44 -webkit-border-bottom-left-radius: 5px; 44 -webkit-border-bottom-left-radius: 5px;
45 -moz-border-radius-topleft: 5px; 45 -moz-border-radius-topleft: 5px;
46 -moz-border-radius-bottomleft: 5px; 46 -moz-border-radius-bottomleft: 5px;
47 border-top-left-radius: 5px; 47 border-top-left-radius: 5px;
48 border-bottom-left-radius: 5px; 48 border-bottom-left-radius: 5px;
49 border-right: 1px solid rgba(0,0,0,0.15); 49 border-right: 1px solid rgba(0,0,0,0.15);
50 } 50 }
51 51
52 .button1:hover span, .button1.active span { 52 .button1:hover span, .button1.active span {
53 background-color:rgb(0,102,26); 53 background-color:rgb(0,102,26);
54 border-right: 1px solid rgba(0,0,0,0.3); 54 border-right: 1px solid rgba(0,0,0,0.3);
55 } 55 }
56 56
57 .button1:active { 57 .button1:active {
58 margin-top: 2px; 58 margin-top: 2px;
59 margin-bottom: 13px; 59 margin-bottom: 13px;
60 60
61 -moz-box-shadow:0px 1px 0px rgba(255,255,255,0.5); 61 -moz-box-shadow:0px 1px 0px rgba(255,255,255,0.5);
62 -webkit-box-shadow:0px 1px 0px rgba(255,255,255,0.5); 62 -webkit-box-shadow:0px 1px 0px rgba(255,255,255,0.5);
63 box-shadow:0px 1px 0px rgba(255,255,255,0.5); 63 box-shadow:0px 1px 0px rgba(255,255,255,0.5);
64 -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ccffffff,Positive=true)"; 64 -ms-filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ccffffff,Positive=true)";
65 filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ccffffff,Positive=true); 65 filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0,OffY=1,Color=#ccffffff,Positive=true);
66 } 66 }
67 67
68 .button1.turquoise { 68 .button1.turquoise {
69 background: #449d44; 69 background: #449d44;
70 } 70 }
71 </style> 71 </style>
72 <div class="myLoader" ng-show="showLoader"> 72 <div class="myLoader" ng-show="showLoader">
73 <img src="../img/hourglass.gif" width="50px;"> 73 <img src="../img/hourglass.gif" width="50px;">
74 </div> 74 </div>
75 75
76 <div class="main"> 76 <div class="main">
77 <div class="container"> 77 <div class="container">
78 <div class="row"> 78 <div class="row">
79 <div class="col-md-12"> 79 <div class="col-md-12">
80 <div class="widget stacked "> 80 <div class="widget stacked ">
81 <div class="widget-content"> 81 <div class="widget-content">
82 <div class="tabbable"> 82 <div class="tabbable">
83 <ul class="nav nav-tabs"> 83 <ul class="nav nav-tabs">
84 <li class="active"> 84 <li class="active">
85 <a ui-sref="app.customers">Company View 85 <a ui-sref="app.customers">Company View
86 <i class="fa fa-caret-down" aria-hidden="true"></i> 86 <i class="fa fa-caret-down" aria-hidden="true"></i>
87 </a> 87 </a>
88 </li> 88 </li>
89 <li> 89 <li>
90 <a ui-sref="app.ContactView">Contact View 90 <a ui-sref="app.ContactView">Contact View
91 <i class="fa fa-caret-down" aria-hidden="true"></i> 91 <i class="fa fa-caret-down" aria-hidden="true"></i>
92 </a> 92 </a>
93 </li> 93 </li>
94 <li> 94 <li>
95 <a ui-sref="app.FuelVendors">Fuel Vendors 95 <a ui-sref="app.FuelVendors">Fuel Vendors
96 <i class="fa fa-caret-down" aria-hidden="true"></i> 96 <i class="fa fa-caret-down" aria-hidden="true"></i>
97 </a> 97 </a>
98 </li> 98 </li>
99 <li style="margin: 0px 10px 4px 40px;"><input type="text" style="height:31px;"class="form-control" ng-model="searchText" placeholder="Search In Table"></li> 99 <li style="margin: 0px 10px 4px 40px;"><input type="text" style="height:31px;"class="form-control" ng-model="searchText" placeholder="Search In Table"></li>
100 <li><button type="button" class="btn btn-default btn-sm" ng-click="displayCompanyList.filter({}); searchText=null">Clear Search And Filters</button></li> 100 <li><button type="button" class="btn btn-default btn-sm" ng-click="displayCompanyList.filter({}); searchText=null">Clear Search And Filters</button></li>
101 <li style="float:right"><button type="submit" data-toggle="modal" data-target="#demo-modal-3" class="btn btn-success btn-sm"><i class="fa fa-plus" aria-hidden="true"></i> Add Company</button></li> 101 <li style="float:right"><button type="submit" data-toggle="modal" data-target="#demo-modal-3" class="btn btn-success btn-sm"><i class="fa fa-plus" aria-hidden="true"></i> Add Company</button></li>
102 </ul> 102 </ul>
103 <br> 103 <br>
104 <div class="tab-content customer-table" style="margin:0px"> 104 <div class="tab-content customer-table" style="margin:0px">
105 <div class="tab-pane active" id="companyView"> 105 <div class="tab-pane active" id="companyView">
106 <table ng-table="displayCompanyList" class="table table-striped table-condensed" show-filter="true"> 106 <table ng-table="displayCompanyList" class="table table-striped table-condensed" show-filter="true">
107 <tr ng-repeat="row in $data | filter:searchText"" style="cursor: pointer;"> 107 <tr ng-repeat="row in $data | filter:searchText"" style="cursor: pointer;">
108 <td data-title="'Company Name'" filter="{companyName: 'text'}" sortable="'companyName'" ui-sref="app.viewCompany({id : row.id})"> 108 <td data-title="'Company Name'" filter="{companyName: 'text'}" sortable="'companyName'" ui-sref="app.viewCompany({id : row.id})">
109 {{row.companyName}} 109 {{row.companyName}}
110 </td> 110 </td>
111 <td data-title="'Fleet'" filter="{companyAircraftSize: 'text'}" sortable="'companyAircraftSize'" ui-sref="app.viewCompany({id : row.id})"> 111 <td data-title="'Fleet'" filter="{companyAircraftSize: 'text'}" sortable="'companyAircraftSize'" ui-sref="app.viewCompany({id : row.id})">
112 {{row.companyAircraftSize}} 112 {{row.companyAircraftSize}}
113 </td> 113 </td>
114 <td data-title="'Main Phone'" filter="{newContactNumber: 'text'}" sortable="'newContactNumber'" ui-sref="app.viewCompany({id : row.id})"> 114 <td data-title="'Main Phone'" filter="{newContactNumber: 'text'}" sortable="'newContactNumber'" ui-sref="app.viewCompany({id : row.id})">
115 {{row.newContactNumber}} 115 {{row.newContactNumber}}
116 </td> 116 </td>
117 <td data-title="'Primary Contact'" filter="{primaryContactName: 'text'}" sortable="'primaryContactName'" ui-sref="app.viewCompany({id : row.id})"> 117 <td data-title="'Primary Contact'" filter="{primaryContactName: 'text'}" sortable="'primaryContactName'" ui-sref="app.viewCompany({id : row.id})">
118 {{row.primaryContactName}} 118 {{row.primaryContactName}}
119 </td> 119 </td>
120 <td data-title="'Base'" filter="{baseIcao: 'text'}" sortable="'baseIcao'" ui-sref="app.viewCompany({id : row.id})"> 120 <td data-title="'Base'" filter="{baseIcao: 'text'}" sortable="'baseIcao'" ui-sref="app.viewCompany({id : row.id})">
121 {{row.baseIcao}} 121 {{row.baseIcao}}
122 </td> 122 </td>
123 <td data-title="'Status'" filter="{activate: 'select'}" filter-data="statusFilter" sortable="'activate'" ui-sref="app.viewCompany({id : row.id})"> 123 <td data-title="'Status'" filter="{activate: 'select'}" filter-data="statusFilter" sortable="'activate'" ui-sref="app.viewCompany({id : row.id})">
124 <button type="button" ng-if="row.activate == true" class="btn btn-success btn-xs">Active</button> 124 <button type="button" ng-if="row.activate == true" class="btn btn-success btn-xs">Active</button>
125 <button type="button" ng-if="row.activate == false" class="btn btn-warning btn-xs">InActive</button> 125 <button type="button" ng-if="row.activate == false" class="btn btn-warning btn-xs">InActive</button>
126 </td> 126 </td>
127 <td data-title="'Margin Setting'" filter="{masterMargin: 'select'}" filter-data="marginFilterOptions" sortable="'masterMargin'"> 127 <td data-title="'Margin Setting'" filter="{masterMargin: 'select'}" filter-data="marginFilterOptions" sortable="'masterMargin'">
128 <select class="form-control" ng-change="editMargin(row)" style="height:31px;" ng-model="row.masterMargin" ng-selected="" ng-options="margin.id as margin.marginName for margin in jetMarginList" required></select> 128 <select class="form-control" ng-change="editMargin(row)" style="height:31px;" ng-model="row.masterMargin" ng-selected="" ng-options="margin.id as margin.marginName for margin in jetMarginList" required></select>
129 </td> 129 </td>
130 <td data-title="'All In'" filter="{marginAllIn: 'text'}" sortable="'marginAllIn'" ui-sref="app.viewCompany({id : row.id})"> 130 <td data-title="'All In'" filter="{marginAllIn: 'text'}" sortable="'marginAllIn'" ui-sref="app.viewCompany({id : row.id})">
131 {{row.marginAllIn}} 131 {{row.marginAllIn}}
132 </td> 132 </td>
133 <td data-title="''"> 133 <td data-title="''">
134 <button type="button" class="btn btn-info btn-xs" ng-click="setFuel()">Setup Fuel</button> 134 <button type="button" class="btn btn-info btn-xs" ng-click="setFuel()">Setup Fuel</button>
135 </td> 135 </td>
136 </tr> 136 </tr>
137 </table> 137 </table>
138 138
139 <button type="button" ng-click="exportCompany()" class="btn btn-warning exportBtn">Export CSV</button> 139 <button type="button" ng-click="exportCompany()" class="btn btn-warning exportBtn">Export CSV</button>
140 140
141 <!-- 141 </div>
142 <table class="table table-striped">
143 <thead>
144 <tr>
145 <th>
146 <input type="text" class="form-control" name="name" id="name">
147 <label class="font-company">Company Name <i class="fa fa-sort" aria-hidden="true"></i></label>
148 </th>
149 <th>
150 <input type="text" class="form-control" name="name" id="name">
151 <label class="font-company">Fleet <i class="fa fa-sort" aria-hidden="true"></i></label>
152 </th>
153 <th>
154 <input type="text" class="form-control" name="name" id="name">
155 <label class="font-company">Main Phone <i class="fa fa-sort" aria-hidden="true"></i></label>
156 </th>
157 <th>
158 <input type="text" class="form-control" name="name" id="name">
159 <label class="font-company">Primary Contact <i class="fa fa-sort" aria-hidden="true"></i></label>
160 </th>
161 <th>
162 <input type="text" class="form-control" name="name" id="name">
163 <label class="font-company">Base <i class="fa fa-sort" aria-hidden="true"></i></label>
164 </th>
165 <th>
166 <select class="form-control">
167 <option value="showAll" selected>Show All</option>
168 </select>
169 <label class="font-company">Status <i class="fa fa-sort" aria-hidden="true"></i></label>
170 </th>
171 <th>
172 <select class="form-control">
173 <option value="showAll" selected>Show All</option>
174 </select>
175 <label class="font-company">Margin Setting <i class="fa fa-sort" aria-hidden="true"></i></label>
176 </th>
177 <th>
178 <input type="text" class="form-control" name="name" id="name">
179 <label class="font-company">All In <i class="fa fa-sort" aria-hidden="true"></i></label>
180 </th>
181 <th> &nbsp; </th>
182 </thead>
183 <tbody>
184 <tr ng-repeat="customer in companyList" style="cursor: pointer;" ui-sref="app.viewCompany({id : customer.id})">
185 <td class="font-company">
186 {{customer.companyName}}
187 </td>
188 <td class="font-company">{{customer.companyAircraftSize}}</td>
189 <td class="font-company">{{customer.companyCustomContacts[0].contactNumber}}</td>
190 <td class="font-company">{{customer.companyPrimaryContacts[0].firstName}} {{customer.companyPrimaryContacts[0].lastName}}</td>
191 <td class="font-company">{{customer.baseIcao}}</td>
192 <td class="font-company">
193 <button type="button" ng-if="customer.activate == true" class="btn btn-success btn-xs">Active</button>
194 <button type="button" ng-if="customer.activate == false" class="btn btn-warning btn-xs">InActive</button>
195 </td>
196 <td class="font-company">
197 <select class="form-control" ng-click="editMargin(customer)" style="height:31px;" ng-model="customer.masterMargin" ng-options="margin.id as margin.marginName for margin in marginList" required></select>
198 </td>
199 <td class="font-company">{{customer.allIn}}</td>
200 <td>
201 <button type="button" class="btn btn-info btn-xs" ng-click="setFuel()">Setup Fuel</button>
202 </td>
203 </tr>
204 </tbody>
205 </table>
206 <div class="row" style="margin-left: 0px;">
207 <div class="col-md-2">
208 <button type="button" class="btn btn-warning">Export Customers</button>
209 </div>
210 <div class="col-md-10">
211 <div class="row" style="margin-left: 0px;">
212 <div class="col-md-6">
213 </div>
214 <div class="col-md-2">
215 <select class="form-control">
216 <option>20 Records Per Page</option>
217 <option>50 Records Per Page</option>
218 <option>100 Records Per Page</option>
219 </select>
220 </div>
221 <div class="col-md-4">
222 <ul class="pagination" style="margin:0px">
223 <li><a href="javascript:;">ยซ</a></li>
224 <li class="active"><a href="#">1</a></li>
225 <li><a href="javascript:;">2</a></li>
226 <li><a href="javascript:;">3</a></li>
227 <li><a href="javascript:;">4</a></li>
228 <li><a href="javascript:;">5</a></li>
229 <li><a href="javascript:;">ยป</a></li>
230 </ul>
231 </div>
232 </div>
233 </div>
234 </div>
235 --></div>
236 </div> 142 </div>
237 </div> 143 </div>
238 </div> 144 </div>
239 <!-- /widget-content --> 145 <!-- /widget-content -->
240 </div> 146 </div>
241 <!-- /widget --> 147 <!-- /widget -->
242 </div> 148 </div>
243 <!-- /span8 --> 149 <!-- /span8 -->
244 </div> 150 </div>
245 <!-- /row --> 151 <!-- /row -->
246 </div> 152 </div>
247 <!-- /container --> 153 <!-- /container -->
248 </div> 154 </div>
249 <!-- /main --> 155 <!-- /main -->
250 <form class="modal multi-step" id="demo-modal-3" name="companyForm"> 156 <form class="modal multi-step" id="demo-modal-3" name="companyForm">
251 <div class="modal-dialog modal-lg"> 157 <div class="modal-dialog modal-lg">
252 <div class="modal-content"> 158 <div class="modal-content">
253 <div class="modal-body step-1" data-step="1" style="padding: 0;"> 159 <div class="modal-body step-1" data-step="1" style="padding: 0;">
254 <div> 160 <div>
255 <div class="row" style="margin: 0;"> 161 <div class="row" style="margin: 0;">
256 <div> 162 <div>
257 <div class="widget" style="margin-bottom: 0;"> 163 <div class="widget" style="margin-bottom: 0;">
258 <div class="widget-header"> 164 <div class="widget-header">
259 <i class="icon-pencil"></i> 165 <i class="icon-pencil"></i>
260 <i class="fa fa-tasks" aria-hidden="true"></i> 166 <i class="fa fa-tasks" aria-hidden="true"></i>
261 <h3>Add a New Company</h3> 167 <h3>Add a New Company</h3>
262 <div class="pull-right my-toggle-switch" style="margin-right: 30px;"> 168 <div class="pull-right my-toggle-switch" style="margin-right: 30px;">
263 <div style="color: #ff9a01;">Activate &nbsp &nbsp 169 <div style="color: #ff9a01;">Activate &nbsp &nbsp
264 <toggle ng-model="data.activate" size="customToogle"></toggle> 170 <toggle ng-model="data.activate" size="customToogle"></toggle>
265 </div> 171 </div>
266 </div> 172 </div>
267 <div class="clearfix"></div> 173 <div class="clearfix"></div>
268 </div> 174 </div>
269 <div class="widget-content" style="padding-left: 0; padding-right: 0; border-bottom: 0;"> 175 <div class="widget-content" style="padding-left: 0; padding-right: 0; border-bottom: 0;">
270 <div class="col-xs-12"> 176 <div class="col-xs-12">
271 <div class="col-md-8"> 177 <div class="col-md-8">
272 <div class="pull-left"> 178 <div class="pull-left">
273 <label class="new-input-label"><b>Company Name *</b></label> 179 <label class="new-input-label"><b>Company Name *</b></label>
274 </div> 180 </div>
275 <div class="pull-left" style="margin-left: 15px;"> 181 <div class="pull-left" style="margin-left: 15px;">
276 <input type="text" ng-model="data.companyName" class="form-control companyNameInput" ng-keyup="removeValidation()" placeholder="" required> 182 <input type="text" ng-model="data.companyName" class="form-control companyNameInput" ng-keyup="removeValidation()" placeholder="" required>
277 <label class="customErrorMessage" ng-show="showCompanyError">This field is required.</label> 183 <label class="customErrorMessage" ng-show="showCompanyError">This field is required.</label>
278 </div> 184 </div>
279 <div class="clearfix"></div> 185 <div class="clearfix"></div>
280 </div> 186 </div>
281 <div class="col-md-4"> 187 <div class="col-md-4">
282 188
283 <div class="pull-right"> 189 <div class="pull-right">
284 <input type="text" ng-model="data.baseIcao" style="width: 100px;" class="form-control" placeholder=""> 190 <input type="text" ng-model="data.baseIcao" style="width: 100px;" class="form-control" placeholder="">
285 </div> 191 </div>
286 <div class="pull-right"> 192 <div class="pull-right">
287 <label style="margin-right: 15px;" class="new-input-label"><b>Base ICAO</b></label> 193 <label style="margin-right: 15px;" class="new-input-label"><b>Base ICAO</b></label>
288 </div> 194 </div>
289 <div class="clearfix"></div> 195 <div class="clearfix"></div>
290 </div> 196 </div>
291 </div> 197 </div>
292 <div class="clearfix"></div><br> 198 <div class="clearfix"></div><br>
293 <div class="col-xs-12"> 199 <div class="col-xs-12">
294 <div class="col-md-7"> 200 <div class="col-md-7">
295 <div class="pull-left"> 201 <div class="pull-left">
296 <label class="new-input-label"><b>Relationship&nbsp;</b></label> 202 <label class="new-input-label"><b>Relationship&nbsp;</b></label>
297 </div> 203 </div>
298 <div class="pull-left" style="margin-left: 32px;"> 204 <div class="pull-left" style="margin-left: 32px;">
299 <input type="checkbox" ng-model="data.baseTenant" name="vehicle" value="Bike"> Check here if this is a Base Tenant<br> 205 <input type="checkbox" ng-model="data.baseTenant" name="vehicle" value="Bike"> Check here if this is a Base Tenant<br>
300 <input type="checkbox" ng-model="data.fuelerlinxCustomer" name="vehicle" value="Car" checked> Check here if this is a FuelerLinx Customer<br> 206 <input type="checkbox" ng-model="data.fuelerlinxCustomer" name="vehicle" value="Car" checked> Check here if this is a FuelerLinx Customer<br>
301 <input type="checkbox" ng-model="data.contractFuelVendor" name="vehicle" value="Car" checked> Check here if this is a Contract Fuel Vendor 207 <input type="checkbox" ng-model="data.contractFuelVendor" name="vehicle" value="Car" checked> Check here if this is a Contract Fuel Vendor
302 </div> 208 </div>
303 <div class="clearfix"></div> 209 <div class="clearfix"></div>
304 </div> 210 </div>
305 <div class="col-md-2 Airport" style="text-align: right;"> 211 <div class="col-md-2 Airport" style="text-align: right;">
306 <b>Certificate Type</b> 212 <b>Certificate Type</b>
307 </div> 213 </div>
308 <div class="col-md-3 Airport"> 214 <div class="col-md-3 Airport">
309 <select required class="form-control" ng-model="data.certificateType"> 215 <select required class="form-control" ng-model="data.certificateType">
310 <option value="" disabled selected hidden>Select...</option> 216 <option value="" disabled selected hidden>Select...</option>
311 <option value="corporate">Part 91 (Corporate)</option> 217 <option value="corporate">Part 91 (Corporate)</option>
312 <option value="charter">Part 135 (Charter)</option> 218 <option value="charter">Part 135 (Charter)</option>
313 <option value="scheduled">Part 121 (Scheduled)</option> 219 <option value="scheduled">Part 121 (Scheduled)</option>
314 <option value="military">Military</option> 220 <option value="military">Military</option>
315 <option value="government">Government</option> 221 <option value="government">Government</option>
316 </select> 222 </select>
317 </div> 223 </div>
318 <div class="clearfix"></div> 224 <div class="clearfix"></div>
319 </div> 225 </div>
320 <div class="clearfix"></div> 226 <div class="clearfix"></div>
321 <br/> 227 <br/>
322 <div class="col-xs-12"> 228 <div class="col-xs-12">
323 <div class="col-md-6"> 229 <div class="col-md-6">
324 <div class="pull-left" style="width: 110px;"> 230 <div class="pull-left" style="width: 110px;">
325 <b>JET A Margin *</b> 231 <b>JET A Margin *</b>
326 </div> 232 </div>
327 <div class="pull-left"> 233 <div class="pull-left">
328 <select class="form-control marginSelectBox" ng-model="data.masterMargin" ng-options="margin.id as margin.marginName for margin in jetMarginList" required ng-change="removeMarginValidation()"> 234 <select class="form-control marginSelectBox" ng-model="data.masterMargin" ng-options="margin.id as margin.marginName for margin in jetMarginList" required ng-change="removeMarginValidation()">
329 <option value="" disabled>Select...</option> 235 <option value="" disabled>Select...</option>
330 </select> 236 </select>
331 <label ng-show="showMarginError" class="customErrorMessage">This field is required.</label> 237 <label ng-show="showMarginError" class="customErrorMessage">This field is required.</label>
332 238
333 <div class="clearfix"></div> 239 <div class="clearfix"></div>
334 </div> 240 </div>
335 </div> 241 </div>
336 242
337 <div class="col-md-3 Airport" style="text-align: right;"> 243 <div class="col-md-3 Airport" style="text-align: right;">
338 <b>AVGAS 100LL Margin</b> 244 <b>AVGAS 100LL Margin</b>
339 </div> 245 </div>
340 <div class="col-md-3 Airport"> 246 <div class="col-md-3 Airport">
341 <select class="form-control" ng-model="data.avgasMargin" ng-options="avgs.id as avgs.marginName for avgs in avgsMarginList"> 247 <select class="form-control" ng-model="data.avgasMargin" ng-options="avgs.id as avgs.marginName for avgs in avgsMarginList">
342 <option value="" disabled>Select...</option> 248 <option value="" disabled>Select...</option>
343 </select> 249 </select>
344 </div> 250 </div>
345 <div class="clearfix"></div> 251 <div class="clearfix"></div>
346 </div> 252 </div>
347 <div class="clearfix"></div> 253 <div class="clearfix"></div>
348 <br/> 254 <br/>
349 <div class="col-xs-12"> 255 <div class="col-xs-12">
350 <div class="col-md-12"> 256 <div class="col-md-12">
351 <div class="pull-left" style="width: 110px;"> 257 <div class="pull-left" style="width: 110px;">
352 <label class="new-input-label"><b>Address</b></label> 258 <label class="new-input-label"><b>Address</b></label>
353 </div> 259 </div>
354 <div class="pull-left" style="width: calc(100% - 110px);"> 260 <div class="pull-left" style="width: calc(100% - 110px);">
355 <input type="text" class="form-control" ng-model="data.addressOne" placeholder=""> 261 <input type="text" class="form-control" ng-model="data.addressOne" placeholder="">
356 </div> 262 </div>
357 <div class="clearfix"></div> 263 <div class="clearfix"></div>
358 </div> 264 </div>
359 </div> 265 </div>
360 <div class="clearfix"></div> 266 <div class="clearfix"></div>
361 <br/> 267 <br/>
362 <div class="col-xs-12"> 268 <div class="col-xs-12">
363 <div class="col-md-12"> 269 <div class="col-md-12">
364 <div class="pull-left" style="width: 110px;"> 270 <div class="pull-left" style="width: 110px;">
365 <label class="new-input-label"><b>Address2</b></label> 271 <label class="new-input-label"><b>Address2</b></label>
366 </div> 272 </div>
367 <div class="pull-left" style="width: calc(100% - 110px);"> 273 <div class="pull-left" style="width: calc(100% - 110px);">
368 <input type="text" ng-model="data.addressTwo" class="form-control" placeholder=""> 274 <input type="text" ng-model="data.addressTwo" class="form-control" placeholder="">
369 </div> 275 </div>
370 <div class="clearfix"></div> 276 <div class="clearfix"></div>
371 </div> 277 </div>
372 </div> 278 </div>
373 <div class="clearfix"></div> 279 <div class="clearfix"></div>
374 <br/> 280 <br/>
375 <div class="col-xs-12"> 281 <div class="col-xs-12">
376 282
377 <div class="col-md-6"> 283 <div class="col-md-6">
378 <div class="pull-left" style="width: 110px;"> 284 <div class="pull-left" style="width: 110px;">
379 <label class="new-input-label"><b>City</b></label> 285 <label class="new-input-label"><b>City</b></label>
380 </div> 286 </div>
381 <div class="pull-left" style="width: calc(100% - 110px);"> 287 <div class="pull-left" style="width: calc(100% - 110px);">
382 <input type="text" ng-model="data.city" class="form-control" placeholder=""> 288 <input type="text" ng-model="data.city" class="form-control" placeholder="">
383 </div> 289 </div>
384 <div class="clearfix"></div> 290 <div class="clearfix"></div>
385 </div> 291 </div>
386 <div class="col-md-3"> 292 <div class="col-md-3">
387 <div class="pull-left" style="width: 40px;"> 293 <div class="pull-left" style="width: 40px;">
388 <label class="new-input-label"><b>State</b></label> 294 <label class="new-input-label"><b>State</b></label>
389 </div> 295 </div>
390 <div class="pull-left" style="width: calc(100% - 110px);"> 296 <div class="pull-left" style="width: calc(100% - 110px);">
391 <input type="text" ng-model="data.state" class="form-control" placeholder=""> 297 <input type="text" ng-model="data.state" class="form-control" placeholder="">
392 </div> 298 </div>
393 <div class="clearfix"></div> 299 <div class="clearfix"></div>
394 </div> 300 </div>
395 <div class="col-md-3"> 301 <div class="col-md-3">
396 <div class="pull-left"> 302 <div class="pull-left">
397 <label class="new-input-label"><b>Zip Code</b></label> 303 <label class="new-input-label"><b>Zip Code</b></label>
398 </div> 304 </div>
399 <div class="pull-right" style="width: calc(100% - 60px);"> 305 <div class="pull-right" style="width: calc(100% - 60px);">
400 <input type="tel" ng-model="data.zipcode" class="form-control" placeholder=""> 306 <input type="tel" ng-model="data.zipcode" class="form-control" placeholder="">
401 </div> 307 </div>
402 <div class="clearfix"></div> 308 <div class="clearfix"></div>
403 </div> 309 </div>
404 </div> 310 </div>
405 <div class="clearfix"></div> 311 <div class="clearfix"></div>
406 <br/> 312 <br/>
407 <div class="col-xs-12"> 313 <div class="col-xs-12">
408 314
409 <div class="col-md-6"> 315 <div class="col-md-6">
410 <div class="pull-left" style="width: 110px;"> 316 <div class="pull-left" style="width: 110px;">
411 <label class="new-input-label"><b>Country</b></label> 317 <label class="new-input-label"><b>Country</b></label>
412 </div> 318 </div>
413 <div class="pull-left" style="width: calc(100% - 110px);"> 319 <div class="pull-left" style="width: calc(100% - 110px);">
414 <input type="text" ng-model="data.country" class="form-control" placeholder=""> 320 <input type="text" ng-model="data.country" class="form-control" placeholder="">
415 </div> 321 </div>
416 <div class="clearfix"></div> 322 <div class="clearfix"></div>
417 </div> 323 </div>
418 <div class="col-md-6"> 324 <div class="col-md-6">
419 <div class="pull-left" style="width: 110px;"> 325 <div class="pull-left" style="width: 110px;">
420 <label class="new-input-label"><b>Internal Note</b></label> 326 <label class="new-input-label"><b>Internal Note</b></label>
421 </div> 327 </div>
422 <div class="pull-left" style="width: calc(100% - 110px);"> 328 <div class="pull-left" style="width: calc(100% - 110px);">
423 <textarea name="message" ng-model="data.internalNote" rows="4" cols="34"></textarea> 329 <textarea name="message" ng-model="data.internalNote" rows="4" cols="34"></textarea>
424 </div> 330 </div>
425 <div class="clearfix"></div> 331 <div class="clearfix"></div>
426 </div> 332 </div>
427 </div> 333 </div>
428 <div class="clearfix"></div> 334 <div class="clearfix"></div>
429 <!-- <br/> 335 <!-- <br/>
430 <div class="col-xs-12"> 336 <div class="col-xs-12">
431 <div class="col-md-2 Airport"></div> 337 <div class="col-md-2 Airport"></div>
432 <div class="col-md-10 Airport"> 338 <div class="col-md-10 Airport">
433 <div class="pull-right"> 339 <div class="pull-right">
434 <button type="button" class="btn btn-default" ng-click="cancel()">Cancel</button> 340 <button type="button" class="btn btn-default" ng-click="cancel()">Cancel</button>
435 <button type="button" class="btn btn-warning" ng-click="addAircraft()">Next: Add Aircraft</button> 341 <button type="button" class="btn btn-warning" ng-click="addAircraft()">Next: Add Aircraft</button>
436 </div> 342 </div>
437 </div> 343 </div>
438 </div> --> 344 </div> -->
439 </div> 345 </div>
440 </div> 346 </div>
441 <div class="clearfix"></div> 347 <div class="clearfix"></div>
442 </div> 348 </div>
443 </div> 349 </div>
444 </div> 350 </div>
445 </div> 351 </div>
446 <div class="modal-body step-2" data-step="2" style="padding: 0;"> 352 <div class="modal-body step-2" data-step="2" style="padding: 0;">
447 <div> 353 <div>
448 <div class="row" style="margin: 0;"> 354 <div class="row" style="margin: 0;">
449 <div> 355 <div>
450 <div class="widget" style="margin-bottom: 0;"> 356 <div class="widget" style="margin-bottom: 0;">
451 <div class="widget-header"> 357 <div class="widget-header">
452 <i class="icon-pencil"></i> 358 <i class="icon-pencil"></i>
453 <i class="fa fa-tasks" aria-hidden="true"></i> 359 <i class="fa fa-tasks" aria-hidden="true"></i>
454 <h3>Add a New Company</h3> 360 <h3>Add a New Company</h3>
455 <div class="clearfix"></div> 361 <div class="clearfix"></div>
456 </div> 362 </div>
457 <div class="widget-content" style="padding-left: 0; padding-right: 0; border-bottom: 0;"> 363 <div class="widget-content" style="padding-left: 0; padding-right: 0; border-bottom: 0;">
458 <div class="col-xs-12"> 364 <div class="col-xs-12">
459 <div class="widget-header"> 365 <div class="widget-header">
460 <i class="fa fa-list"></i> 366 <i class="fa fa-list"></i>
461 <h3>Aircraft List</h3> 367 <h3>Aircraft List</h3>
462 </div> 368 </div>
463 <div class="widget-content" style="padding:0px;border: 0px; "> 369 <div class="widget-content" style="padding:0px;border: 0px; ">
464 <div class="table-responsive"> 370 <div class="table-responsive">
465 <!-- <table class="table table-bordered table-hover table-striped addRow" style="margin-bottom: 0px;"> 371 <!-- <table class="table table-bordered table-hover table-striped addRow" style="margin-bottom: 0px;">
466 <thead> 372 <thead>
467 <tr> 373 <tr>
468 <th>Tail</th> 374 <th>Tail</th>
469 <th>Make</th> 375 <th>Make</th>
470 <th>Model</th> 376 <th>Model</th>
471 <th>Size</th> 377 <th>Size</th>
472 <th>Margin</th> 378 <th>Margin</th>
473 </tr> 379 </tr>
474 </thead> 380 </thead>
475 <tbody> 381 <tbody>
476 <tr> 382 <tr>
477 <td> 383 <td>
478 <input type="text" style="width:100px;" ng-model="aircraft.tail" class="form-control"> 384 <input type="text" style="width:100px;" ng-model="aircraft.tail" class="form-control">
479 </td> 385 </td>
480 <td style="width: 25%;"> 386 <td style="width: 25%;">
481 <select class="form-control" ng-model="aircraft.make" ng-change="getModal()"> 387 <select class="form-control" ng-model="aircraft.make" ng-change="getModal()">
482 <option ng-repeat="make in aircraftMakeList">{{make}}</option> 388 <option ng-repeat="make in aircraftMakeList">{{make}}</option>
483 </select> 389 </select>
484 </td> 390 </td>
485 <td style="width: 20%;"> 391 <td style="width: 20%;">
486 <select class="form-control" ng-model="aircraft.model" ng-change="getSize()"> 392 <select class="form-control" ng-model="aircraft.model" ng-change="getSize()">
487 <option ng-repeat="model in aircraftModalList">{{model}}</option> 393 <option ng-repeat="model in aircraftModalList">{{model}}</option>
488 </select> 394 </select>
489 </td> 395 </td>
490 <td style="width: 25%;"> 396 <td style="width: 25%;">
491 <select class="form-control" ng-model="aircraft.size"> 397 <select class="form-control" ng-model="aircraft.size">
492 <option ng-repeat="size in aircraftSizeList">{{size}}</option> 398 <option ng-repeat="size in aircraftSizeList">{{size}}</option>
493 </select> 399 </select>
494 </td> 400 </td>
495 <td> 401 <td>
496 <select class="form-control"> 402 <select class="form-control">
497 <option>Margin1</option> 403 <option>Margin1</option>
498 <option>Margin2</option> 404 <option>Margin2</option>
499 </select> 405 </select>
500 </td> 406 </td>
501 </tr> 407 </tr>
502 </tbody> 408 </tbody>
503 409
504 </table> --> 410 </table> -->
505 <table class="table table-striped table-bordered"> 411 <table class="table table-striped table-bordered">
506 <thead> 412 <thead>
507 <tr> 413 <tr>
508 <!-- <th><input type="checkbox" ng-model="selectedAll" ng-click="checkAll()" /></th> --> 414 <!-- <th><input type="checkbox" ng-model="selectedAll" ng-click="checkAll()" /></th> -->
509 <th>Tail</th> 415 <th>Tail</th>
510 <th>Make</th> 416 <th>Make</th>
511 <th>Model</th> 417 <th>Model</th>
512 <th>Size</th> 418 <th>Size</th>
513 <th>JET A Margin</th> 419 <th>JET A Margin</th>
514 <th>AVGS 100LL Margin</th> 420 <th>AVGS 100LL Margin</th>
515 </tr> 421 </tr>
516 </thead> 422 </thead>
517 <tbody> 423 <tbody>
518 <tr ng-repeat="aircraftData in aircraftDetails track by $index"> 424 <tr ng-repeat="aircraftData in aircraftDetails track by $index">
519 <!-- <td> 425 <!-- <td>
520 <input type="checkbox" ng-model="aircraftData.selected"/> 426 <input type="checkbox" ng-model="aircraftData.selected"/>
521 </td> --> 427 </td> -->
522 <td style="width: 15%"> 428 <td style="width: 15%">
523 <input type="text" class="form-control" ng-model="aircraftData.tail" required/> 429 <input type="text" class="form-control" ng-model="aircraftData.tail" required/>
524 </td> 430 </td>
525 <td style="width: 17%"> 431 <td style="width: 17%">
526 <select class="form-control" ng-model="aircraftData.make" ng-change="getModal(aircraftData.make, $index)"> 432 <select class="form-control" ng-model="aircraftData.make" ng-change="getModal(aircraftData.make, $index)">
527 <option ng-repeat="make in aircraftMakeList">{{make}}</option> 433 <option ng-repeat="make in aircraftMakeList">{{make}}</option>
528 <option value="" disabled>Select...</option> 434 <option value="" disabled>Select...</option>
529 </select> 435 </select>
530 </td> 436 </td>
531 <td style="width: 17%"> 437 <td style="width: 17%">
532 <select class="form-control" ng-model="aircraftData.model" ng-change="getSize(aircraftData.model, $index)"> 438 <select class="form-control" ng-model="aircraftData.model" ng-change="getSize(aircraftData.model, $index)">
533 <option ng-repeat="model in aircraftData.aircraftModalList">{{model}}</option> 439 <option ng-repeat="model in aircraftData.aircraftModalList">{{model}}</option>
534 <option value="" disabled>Select...</option> 440 <option value="" disabled>Select...</option>
535 </select> 441 </select>
536 </td> 442 </td>
537 <td style="width: 17%"> 443 <td style="width: 17%">
538 <select class="form-control" ng-model="aircraftData.sizeId" ng-options="size.aircraftSize.id as size.aircraftSize.size for size in aircraftData.aircraftSizeList"> 444 <select class="form-control" ng-model="aircraftData.sizeId" ng-options="size.aircraftSize.id as size.aircraftSize.size for size in aircraftData.aircraftSizeList">
539 <option value="" disabled>Select...</option> 445 <option value="" disabled>Select...</option>
540 </select> 446 </select>
541 <!-- <select class="form-control" ng-model="aircraftData.size"> 447 <!-- <select class="form-control" ng-model="aircraftData.size">
542 <option ng-repeat="size in aircraftData.aircraftSizeList">{{size}}</option> 448 <option ng-repeat="size in aircraftData.aircraftSizeList">{{size}}</option>
543 </select> --> 449 </select> -->
544 </td> 450 </td>
545 <td style="width: 17%"> 451 <td style="width: 17%">
546 <select class="form-control" ng-model="aircraftData.marginId" ng-options="margin.id as margin.marginName for margin in jetMarginList"> 452 <select class="form-control" ng-model="aircraftData.marginId" ng-options="margin.id as margin.marginName for margin in jetMarginList">
547 <option value="" disabled>Select...</option> 453 <option value="" disabled>Select...</option>
548 </select> 454 </select>
549 </td> 455 </td>
550 <td style="width: 17%"> 456 <td style="width: 17%">
551 <select class="form-control marginSelectBox" ng-model="aircraftData.avgasMarginId" ng-options="avgs.id as avgs.marginName for avgs in avgsMarginList"> 457 <select class="form-control marginSelectBox" ng-model="aircraftData.avgasMarginId" ng-options="avgs.id as avgs.marginName for avgs in avgsMarginList">
552 <option value="" disabled>Select...</option> 458 <option value="" disabled>Select...</option>
553 </select> 459 </select>
554 </td> 460 </td>
555 </tr> 461 </tr>
556 </tbody> 462 </tbody>
557 </table> 463 </table>
558 </div> 464 </div>
559 <div class="clearfix"></div> 465 <div class="clearfix"></div>
560 </div> 466 </div>
561 </div> 467 </div>
562 <div class="clearfix"></div> 468 <div class="clearfix"></div>
563 <div class="col-xs-12" style="margin-bottom: 50px;margin-top: 10px;"> 469 <div class="col-xs-12" style="margin-bottom: 50px;margin-top: 10px;">
564 <button ng-click="addNew()" class="button1 turquoise pull-right"><span>+</span>Add Aircraft</button> 470 <button ng-click="addNew()" class="button1 turquoise pull-right"><span>+</span>Add Aircraft</button>
565 </div> 471 </div>
566 <!-- <div class="col-xs-12" style="margin-bottom: 20px;"> 472 <!-- <div class="col-xs-12" style="margin-bottom: 20px;">
567 <div class="pull-right"> 473 <div class="pull-right">
568 <button type="button" class="btn btn-default" ng-click="cancelCraft()">Cancel</button> 474 <button type="button" class="btn btn-default" ng-click="cancelCraft()">Cancel</button>
569 <button type="button" class="btn btn-warning" ng-click="goBack()">Go Back</button> 475 <button type="button" class="btn btn-warning" ng-click="goBack()">Go Back</button>
570 <button type="button" class="btn btn-success" ng-click="goBack()">Save</button> 476 <button type="button" class="btn btn-success" ng-click="goBack()">Save</button>
571 </div> 477 </div>
572 </div> --> 478 </div> -->
573 </div> 479 </div>
574 </div> 480 </div>
575 <div class="clearfix"></div> 481 <div class="clearfix"></div>
576 </div> 482 </div>
577 </div> 483 </div>
578 </div> 484 </div>
579 </div> 485 </div>
580 <!-- <div class="modal-body step-3" data-step="3"> 486 <!-- <div class="modal-body step-3" data-step="3">
581 This is the final step. 487 This is the final step.
582 </div> --> 488 </div> -->
583 <div class="modal-footer" style="border-top: 0;"> 489 <div class="modal-footer" style="border-top: 0;">
584 <button type="button" class="btn btn-default" ng-click="reset2()" data-dismiss="modal">Cancel</button> 490 <button type="button" class="btn btn-default" ng-click="reset2()" data-dismiss="modal">Cancel</button>
585 <button type="button" class="btn btn-primary step step-1" data-step="1" ng-click="addFirstData('#demo-modal-3', 2)">Next: Add Aircraft</button> 491 <button type="button" class="btn btn-primary step step-1" data-step="1" ng-click="addFirstData('#demo-modal-3', 2)">Next: Add Aircraft</button>
586 <button type="button" class="btn btn-primary step step-2" data-step="2" onclick="sendEvent('#demo-modal-3', 1)">Go Back</button> 492 <button type="button" class="btn btn-primary step step-2" data-step="2" onclick="sendEvent('#demo-modal-3', 1)">Go Back</button>
587 <!-- <button type="button" class="btn btn-primary step step-2" data-step="2" onclick="sendEvent('#demo-modal-3', 3)">Continue</button> --> 493 <!-- <button type="button" class="btn btn-primary step step-2" data-step="2" onclick="sendEvent('#demo-modal-3', 3)">Continue</button> -->
588 <button type="button" class="btn btn-success step step-2" data-step="2" ng-click="saveCompanyData()">Save</button> 494 <button type="button" class="btn btn-success step step-2" data-step="2" ng-click="saveCompanyData()">Save</button>
589 </div> 495 </div>
590 </div> 496 </div>
591 </div> 497 </div>
592 </form> 498 </form>
593 <div class="myLoader" ng-show="showLoader"> 499 <div class="myLoader" ng-show="showLoader">
594 <img src="../img/hourglass.gif" width="50px;"> 500 <img src="../img/hourglass.gif" width="50px;">
595 </div> 501 </div>
596 <script src="js/multi-step-modal.js"></script> 502 <script src="js/multi-step-modal.js"></script>
597 <script> 503 <script>
598 sendEvent = function(sel, step) { 504 sendEvent = function(sel, step) {
599 $(sel).trigger('next.m.' + step); 505 $(sel).trigger('next.m.' + step);
600 } 506 }
601 </script> 507 </script>
508
app/partials/scheduler/scheduler.controller.js
1 'use strict'; 1 'use strict';
2 2
3 angular.module('acufuel') 3 angular.module('acufuel')
4 4
5 .controller('schedulerController', ['$scope','$compile', 'uiCalendarConfig', 'schedulerService', function($scope, $compile, uiCalendarConfig, schedulerService) { 5 .controller('schedulerController', ['$scope','$compile', 'uiCalendarConfig', 'schedulerService', function($scope, $compile, uiCalendarConfig, schedulerService) {
6 6
7 $scope.showLoader = true; 7 $scope.showLoader = true;
8 getEventsList(); 8 getEventsList();
9 9
10 $scope.events = []; 10 $scope.events = [];
11 function getEventsList(){ 11 function getEventsList(){
12 schedulerService.getEvents().then(function(result) { 12 schedulerService.getEvents().then(function(result) {
13 console.log('result', result);
14 for (var i = 0; i < result.length; i++) { 13 for (var i = 0; i < result.length; i++) {
15 var newTime = new Date(result[i].deployDate); 14 var newTime = new Date(result[i].deployDate);
16 var dmonth = newTime.getUTCMonth() + 1; //months from 1-12 15 var dmonth = newTime.getUTCMonth() + 1; //months from 1-12
17 var dday = newTime.getUTCDate(); 16 var dday = newTime.getUTCDate();
18 var dyear = newTime.getUTCFullYear(); 17 var dyear = newTime.getUTCFullYear();
19 18
20 $scope.events.push({ 19 $scope.events.push({
21 'id': result[i].id, 20 'id': result[i].id,
22 'title': result[i].aircraft, 21 'title': result[i].aircraft,
23 'start': dyear+'-'+dmonth+'-'+dday 22 'start': dyear+'-'+dmonth+'-'+dday
24 }) 23 })
25 $scope.showLoader = false; 24 $scope.showLoader = false;
26 } 25 }
27 26
28 // $scope.newFuelPricing[i].futureFuelPricing.deployDate = dmonth+'/'+dday+'/'+dyear; 27 // $scope.newFuelPricing[i].futureFuelPricing.deployDate = dmonth+'/'+dday+'/'+dyear;
29 }) 28 })
30 } 29 }
31 30
32 $scope.newEvent = {}; 31 $scope.newEvent = {};
33 $scope.addNewEvent = function(){ 32 $scope.addNewEvent = function(){
34 console.log('newEvent', $scope.newEvent); 33 console.log('newEvent', $scope.newEvent);
35 $scope.showLoader = true; 34 $scope.showLoader = true;
36 if ($scope.newEvent.deployDate != undefined) { 35 if ($scope.newEvent.deployDate != undefined) {
37 $scope.newEvent.deployDate = new Date($scope.newEvent.deployDate); 36 $scope.newEvent.deployDate = new Date($scope.newEvent.deployDate);
38 $scope.newEvent.deployDate = $scope.newEvent.deployDate.getTime(); 37 $scope.newEvent.deployDate = $scope.newEvent.deployDate.getTime();
39 } 38 }
40 //var data = 'aircraft='+$scope.newEvent.aircraft+'&deployDate='+$scope.newEvent.deployDate; 39 //var data = 'aircraft='+$scope.newEvent.aircraft+'&deployDate='+$scope.newEvent.deployDate;
41 schedulerService.addNewEventService($scope.newEvent).then(function(response){ 40 schedulerService.addNewEventService($scope.newEvent).then(function(response){
42 console.log('response', response);
43 $scope.newEvent = {}; 41 $scope.newEvent = {};
44 $('#addEvent').modal('hide'); 42 $('#addEvent').modal('hide');
45 getEventsList(); 43 getEventsList();
46 }) 44 })
47 } 45 }
48 46
49 $scope.cancelAdd = function(){ 47 $scope.cancelAdd = function(){
50 $scope.newEvent = {}; 48 $scope.newEvent = {};
51 } 49 }
50
52 $scope.editData = {}; 51 $scope.editData = {};
53 $scope.editEvent = function(data){ 52 $scope.editEvent = function(data){
54 console.log('data', data);
55 $scope.editData = data; 53 $scope.editData = data;
56 console.log('$scope.editData', $scope.editData);
57 $('#editEvent').modal('show'); 54 $('#editEvent').modal('show');
58
59 } 55 }
60 56 $scope.updateEvent = function(){
57 $scope.showLoader = true;
58 $scope.updatedData = {};
59 $scope.updatedData.id = $scope.editData.id;
60 $scope.updatedData.aircraft = $scope.editData.title;
61 $scope.updatedData.deployDate = $scope.editData.start;
62 if ($scope.updatedData.deployDate != undefined) {
63 $scope.updatedData.deployDate = new Date($scope.updatedData.deployDate);
64 $scope.updatedData.deployDate = $scope.updatedData.deployDate.getTime();
65 }
66 schedulerService.updateScheduledEvent($scope.updatedData).then(function(response){
67 console.log('response', response);
68 $scope.updatedData = {};
69 $('#editEvent').modal('hide');
70 toastr.success('Updated Successfully', {
71 closeButton: true
72 })
73 getEventsList();
74 })
75 }
61 76
62 77
63 /* code for calendar */ 78 /* code for calendar */
64 79
65 var date = new Date(); 80 var date = new Date();
66 var d = date.getDate(); 81 var d = date.getDate();
67 var m = date.getMonth(); 82 var m = date.getMonth();
68 var y = date.getFullYear(); 83 var y = date.getFullYear();
69 84
70 $scope.changeTo = 'Hungarian'; 85 $scope.changeTo = 'Hungarian';
71 86
72 $scope.eventSource = {}; 87 $scope.eventSource = {};
73 88
74 $scope.eventsF = function (start, end, timezone, callback) { 89 $scope.eventsF = function (start, end, timezone, callback) {
75 var s = new Date(start).getTime() / 1000; 90 var s = new Date(start).getTime() / 1000;
76 var e = new Date(end).getTime() / 1000; 91 var e = new Date(end).getTime() / 1000;
77 var m = new Date(start).getMonth(); 92 var m = new Date(start).getMonth();
78 var events = [{title: 'Feed Me ' + m,start: s + (50000),end: s + (100000),allDay: false, className: ['customFeed']}]; 93 var events = [{title: 'Feed Me ' + m,start: s + (50000),end: s + (100000),allDay: false, className: ['customFeed']}];
79 callback(events); 94 callback(events);
80 }; 95 };
81 96
82 $scope.calEventsExt = { 97 $scope.calEventsExt = {
83 color: '#f00', 98 color: '#f00',
84 textColor: 'yellow', 99 textColor: 'yellow',
85 events: [] 100 events: []
86 }; 101 };
87 102
88 $scope.alertOnEventClick = function( date, jsEvent, view){ 103 $scope.alertOnEventClick = function( date, jsEvent, view){
89 $scope.alertMessage = (date.title + ' was clicked '); 104 $scope.alertMessage = (date.title + ' was clicked ');
90 }; 105 };
91 106
92 $scope.alertOnDrop = function(event, delta, revertFunc, jsEvent, ui, view){ 107 $scope.alertOnDrop = function(event, delta, revertFunc, jsEvent, ui, view){
93 var dmonth = event.start._d.getUTCMonth() + 1; //months from 1-12 108 var dmonth = event.start._d.getUTCMonth() + 1; //months from 1-12
94 var dday = event.start._d.getUTCDate(); 109 var dday = event.start._d.getUTCDate();
95 var dyear = event.start._d.getUTCFullYear(); 110 var dyear = event.start._d.getUTCFullYear();
96 console.log('date', dyear+'-'+dmonth+'-'+dday); 111 console.log('date', dyear+'-'+dmonth+'-'+dday);
97 for (var i = 0; i < $scope.events.length; i++) { 112 for (var i = 0; i < $scope.events.length; i++) {
98 if ($scope.events[i].id == event.id) { 113 if ($scope.events[i].id == event.id) {
99 console.log('events', $scope.events[i]); 114 console.log('events', $scope.events[i]);
100 $scope.events[i].start = dyear+'-'+dmonth+'-'+dday; 115 $scope.events[i].start = dyear+'-'+dmonth+'-'+dday;
101 } 116 }
102 } 117 }
103 console.log('$scope.events new', $scope.events); 118 console.log('$scope.events new', $scope.events);
104 $scope.alertMessage = ('Event Droped to make dayDelta ' + delta); 119 $scope.alertMessage = ('Event Droped to make dayDelta ' + delta);
105 }; 120 };
106 121
107 $scope.alertOnResize = function(event, delta, revertFunc, jsEvent, ui, view ){ 122 $scope.alertOnResize = function(event, delta, revertFunc, jsEvent, ui, view ){
108 $scope.alertMessage = ('Event Resized to make dayDelta ' + delta); 123 $scope.alertMessage = ('Event Resized to make dayDelta ' + delta);
109 }; 124 };
110 125
111 $scope.addRemoveEventSource = function(sources,source) { 126 $scope.addRemoveEventSource = function(sources,source) {
112 var canAdd = 0; 127 var canAdd = 0;
113 angular.forEach(sources,function(value, key){ 128 angular.forEach(sources,function(value, key){
114 if(sources[key] === source){ 129 if(sources[key] === source){
115 sources.splice(key,1); 130 sources.splice(key,1);
116 canAdd = 1; 131 canAdd = 1;
117 } 132 }
118 }); 133 });
119 if(canAdd === 0){ 134 if(canAdd === 0){
120 sources.push(source); 135 sources.push(source);
121 } 136 }
122 }; 137 };
123 138
124 $scope.addEvent = function() { 139 $scope.addEvent = function() {
125 $scope.events.push({ 140 $scope.events.push({
126 title: 'Open Sesame', 141 title: 'Open Sesame',
127 start: new Date(y, m, 28), 142 start: new Date(y, m, 28),
128 end: new Date(y, m, 29), 143 end: new Date(y, m, 29),
129 className: ['openSesame'] 144 className: ['openSesame']
130 }); 145 });
131 }; 146 };
132 147
133 $scope.remove = function(index) { 148 $scope.remove = function(index) {
134 $scope.events.splice(index,1); 149 $scope.events.splice(index,1);
135 }; 150 };
136 151
137 $scope.changeView = function(view,calendar) { 152 $scope.changeView = function(view,calendar) {
138 uiCalendarConfig.calendars[calendar].fullCalendar('changeView',view); 153 uiCalendarConfig.calendars[calendar].fullCalendar('changeView',view);
139 }; 154 };
140 155
141 $scope.renderCalender = function(calendar) { 156 $scope.renderCalender = function(calendar) {
142 if(uiCalendarConfig.calendars[calendar]){ 157 if(uiCalendarConfig.calendars[calendar]){
143 uiCalendarConfig.calendars[calendar].fullCalendar('render'); 158 uiCalendarConfig.calendars[calendar].fullCalendar('render');
144 } 159 }
145 }; 160 };
146 161
147 $scope.eventRender = function( event, element, view ) { 162 $scope.eventRender = function( event, element, view ) {
148 element.attr({'tooltip': event.title, 163 element.attr({'tooltip': event.title,
149 'tooltip-append-to-body': true}); 164 'tooltip-append-to-body': true});
150 $compile(element)($scope); 165 $compile(element)($scope);
151 }; 166 };
152 167
153 $scope.uiConfig = { 168 $scope.uiConfig = {
154 calendar:{ 169 calendar:{
155 height: 450, 170 height: 450,
156 editable: true, 171 editable: true,
157 droppable: true, 172 droppable: true,
158 drop: function (event, delta, revertFunc, jsEvent, ui, view) { 173 drop: function (event, delta, revertFunc, jsEvent, ui, view) {
159 }, 174 },
160 header:{ 175 header:{
161 right: 'month basicWeek basicDay', 176 right: 'month basicWeek basicDay',
162 center: 'title', 177 center: 'title',
163 left: 'prev,next, today' 178 left: 'prev,next, today'
164 }, 179 },
165 eventClick: $scope.alertOnEventClick, 180 eventClick: $scope.alertOnEventClick,
166 eventDrop: $scope.alertOnDrop, 181 eventDrop: $scope.alertOnDrop,
167 eventResize: $scope.alertOnResize, 182 eventResize: $scope.alertOnResize,
168 eventRender: $scope.eventRender 183 eventRender: $scope.eventRender
169 } 184 }
170 }; 185 };
171 186
172 $scope.addEvent = function(index) { 187 $scope.addEvent = function(index) {
173 //console.log('INDEX', index); 188 //console.log('INDEX', index);
174 //console.log('EVENTS', $scope.eventSources); 189 //console.log('EVENTS', $scope.eventSources);
175 //$scope.events.push($scope.eventList[index]); 190 //$scope.events.push($scope.eventList[index]);
176 } 191 }
177 192
178 $scope.eventSources = [$scope.events, $scope.eventSource, $scope.eventsF]; 193 $scope.eventSources = [$scope.events, $scope.eventSource, $scope.eventsF];
app/partials/scheduler/scheduler.html
1 <style type="text/css"> 1 <style type="text/css">
2 .newUlView { 2 .newUlView {
3 padding: 5px; 3 padding: 5px;
4 margin: 3px; 4 margin: 3px;
5 } 5 }
6 .subnavbar .mainnav > li:nth-child(4) > a{ 6 .subnavbar .mainnav > li:nth-child(4) > a{
7 color: #ff9900; 7 color: #ff9900;
8 } 8 }
9 .fc button, .fc-button-group, .fc-time-grid .fc-event .fc-time span{ 9 .fc button, .fc-button-group, .fc-time-grid .fc-event .fc-time span{
10 display: block; 10 display: block;
11 } 11 }
12 .fc-state-default{ 12 .fc-state-default{
13 background-color: #fff; 13 background-color: #fff;
14 background-image: none; 14 background-image: none;
15 } 15 }
16 .fc-state-active, .fc-state-down{ 16 .fc-state-active, .fc-state-down{
17 box-shadow: none; 17 box-shadow: none;
18 color: #fff; 18 color: #fff;
19 background-color: #ff9900; 19 background-color: #ff9900;
20 } 20 }
21 .stacked:after, .stacked:before{ 21 .stacked:after, .stacked:before{
22 display: none; 22 display: none;
23 } 23 }
24 .btn-white, .btn-white:hover{ 24 .btn-white, .btn-white:hover{
25 background-color: #fff; 25 background-color: #fff;
26 background-image: none; 26 background-image: none;
27 } 27 }
28 .fc-day-grid-event .fc-time{ 28 .fc-day-grid-event .fc-time{
29 display: none; 29 display: none;
30 } 30 }
31 31
32 /*#wrap { 32 /*#wrap {
33 width: 1100px; 33 width: 1100px;
34 margin: 0 auto; 34 margin: 0 auto;
35 } 35 }
36 36
37 #external-events { 37 #external-events {
38 float: left; 38 float: left;
39 width: 150px; 39 width: 150px;
40 padding: 0 10px; 40 padding: 0 10px;
41 border: 1px solid #ccc; 41 border: 1px solid #ccc;
42 background: #eee; 42 background: #eee;
43 text-align: left; 43 text-align: left;
44 } 44 }
45 45
46 #external-events h4 { 46 #external-events h4 {
47 font-size: 16px; 47 font-size: 16px;
48 margin-top: 0; 48 margin-top: 0;
49 padding-top: 1em; 49 padding-top: 1em;
50 } 50 }
51 51
52 #external-events .fc-event { 52 #external-events .fc-event {
53 margin: 10px 0; 53 margin: 10px 0;
54 cursor: pointer; 54 cursor: pointer;
55 } 55 }
56 56
57 #external-events p { 57 #external-events p {
58 margin: 1.5em 0; 58 margin: 1.5em 0;
59 font-size: 11px; 59 font-size: 11px;
60 color: #666; 60 color: #666;
61 } 61 }
62 62
63 #external-events p input { 63 #external-events p input {
64 margin: 0; 64 margin: 0;
65 vertical-align: middle; 65 vertical-align: middle;
66 } 66 }
67 67
68 #calendar { 68 #calendar {
69 float: right; 69 float: right;
70 width: 900px; 70 width: 900px;
71 }*/ 71 }*/
72 </style> 72 </style>
73 73
74 <div class="myLoader" ng-show="showLoader"> 74 <div class="myLoader" ng-show="showLoader">
75 <img src="../img/hourglass.gif" width="50px;"> 75 <img src="../img/hourglass.gif" width="50px;">
76 </div> 76 </div>
77 77
78 <div class="main"> 78 <div class="main">
79 <div class="container"> 79 <div class="container">
80 <div class="row"> 80 <div class="row">
81 <div class="col-xs-12"> 81 <div class="col-xs-12">
82 <div class="col-xs-12 col-md-3"> 82 <div class="col-xs-12 col-md-3">
83 <div class="widget stacked"> 83 <div class="widget stacked">
84 <div class="widget-header"> 84 <div class="widget-header">
85 <i class="fa fa-plane" aria-hidden="true"></i> 85 <i class="fa fa-plane" aria-hidden="true"></i>
86 <h3>Enter Support Service</h3> 86 <h3>Enter Support Service</h3>
87 </div> 87 </div>
88 <div class="widget-content"> 88 <div class="widget-content">
89 <label ng-repeat="item in events" ng-click="editEvent(item)" style="width: 100%;"> 89 <label ng-repeat="item in events" ng-click="editEvent(item)" style="width: 100%;">
90 <!-- <div class="fc-event" data-drag="true" data-jqyoui-options="{revert: 'invalid'}" jqyoui-draggable="{index: {{$index}},placeholder:true,animate:true}"> 90 <!-- <div class="fc-event" data-drag="true" data-jqyoui-options="{revert: 'invalid'}" jqyoui-draggable="{index: {{$index}},placeholder:true,animate:true}">
91 {{item.title}} 91 {{item.title}}
92 </div> --> 92 </div> -->
93 <div class="fc-event"> 93 <div class="fc-event">
94 {{item.title}} 94 {{item.title}}
95 </div> 95 </div>
96 </label> 96 </label>
97 <!-- <p> 97 <!-- <p>
98 <input type='checkbox' id='drop-remove' /> 98 <input type='checkbox' id='drop-remove' />
99 <label for='drop-remove'>remove after drop</label> 99 <label for='drop-remove'>remove after drop</label>
100 </p> --> 100 </p> -->
101 </div> 101 </div>
102 </div> 102 </div>
103 <div class="text-right"> 103 <div class="text-right">
104 <button class="btn btn-default btn-white" data-toggle="modal" data-target="#addEvent">Add Event</button> 104 <button class="btn btn-default btn-white" data-toggle="modal" data-target="#addEvent">Add Event</button>
105 </div> 105 </div>
106 </div> 106 </div>
107 107
108 <div class="col-xs-12 col-md-9"> 108 <div class="col-xs-12 col-md-9">
109 <div class="widget stacked"> 109 <div class="widget stacked">
110 <div class="widget-header"> 110 <div class="widget-header">
111 <i class="fa fa-calendar" aria-hidden="true"></i> 111 <i class="fa fa-calendar" aria-hidden="true"></i>
112 <h3>Schedule</h3> 112 <h3>Schedule</h3>
113 </div> 113 </div>
114 <div class="widget-content"> 114 <div class="widget-content">
115 <div ui-calendar="uiConfig.calendar" ng-model="eventSources" data-drop="true"></div> 115 <div ui-calendar="uiConfig.calendar" ng-model="eventSources" data-drop="true"></div>
116 </div> 116 </div>
117 </div> 117 </div>
118 </div> 118 </div>
119 <div style='clear:both'></div> 119 <div style='clear:both'></div>
120 120
121 <!-- <div ui-calendar="uiConfig.calendar" ng-model="eventSources" class="col-xs-12 col-md-9" data-drop="true" jqyoui-droppable="{multiple:true, onDrop: 'addEvent($index)'}"></div> --> 121 <!-- <div ui-calendar="uiConfig.calendar" ng-model="eventSources" class="col-xs-12 col-md-9" data-drop="true" jqyoui-droppable="{multiple:true, onDrop: 'addEvent($index)'}"></div> -->
122 122
123 123
124 124
125 125
126 126
127 </div> 127 </div>
128 128
129 129
130 130
131 </div> 131 </div>
132 132
133 </div> 133 </div>
134 <div> 134 <div>
135 </div> 135 </div>
136 <!-- /row --> 136 <!-- /row -->
137 </div> 137 </div>
138 <!-- /container --> 138 <!-- /container -->
139 </div> 139 </div>
140 <!-- /main --> 140 <!-- /main -->
141 141
142 142
143 <div id="addEvent" class="modal fade" role="dialog" data-backdrop="static"> 143 <div id="addEvent" class="modal fade" role="dialog" data-backdrop="static">
144 <div class="modal-dialog"> 144 <div class="modal-dialog">
145 <form ng-submit="addNewEvent()"> 145 <form ng-submit="addNewEvent()">
146 <div class="modal-content"> 146 <div class="modal-content">
147 <div class="modal-header"> 147 <div class="modal-header">
148 <button type="button" ng-click="cancelAdd()" class="close" data-dismiss="modal">&times;</button> 148 <button type="button" ng-click="cancelAdd()" class="close" data-dismiss="modal">&times;</button>
149 <h4 class="modal-title">Schedule New Event</h4> 149 <h4 class="modal-title">Schedule New Event</h4>
150 </div> 150 </div>
151 <div class="modal-body"> 151 <div class="modal-body">
152 <div class="col-md-6" style="padding-left: 0;"> 152 <div class="col-md-6" style="padding-left: 0;">
153 <label>Event Name:</label> 153 <label>Event Name:</label>
154 <input type="text" ng-model="newEvent.aircraft" class="form-control"> 154 <input type="text" ng-model="newEvent.aircraft" class="form-control">
155 </div> 155 </div>
156 <div class="col-md-6" style="padding-right: 0;"> 156 <div class="col-md-6" style="padding-right: 0;">
157 <label>Deploy Date:</label> 157 <label>Deploy Date:</label>
158 <input type="text" datepicker ng-model="newEvent.deployDate" class="form-control"> 158 <input type="text" datepicker ng-model="newEvent.deployDate" class="form-control">
159 </div> 159 </div>
160 <div class="clearfix"></div> 160 <div class="clearfix"></div>
161 </div> 161 </div>
162 <div class="modal-footer"> 162 <div class="modal-footer">
163 <input type="submit" value="Add" class="btn btn-primary"> 163 <input type="submit" value="Add" class="btn btn-primary">
164 <button type="button" class="btn btn-default" ng-click="cancelAdd()" data-dismiss="modal">Close</button> 164 <button type="button" class="btn btn-default" ng-click="cancelAdd()" data-dismiss="modal">Close</button>
165 </div> 165 </div>
166 </div> 166 </div>
167 </form> 167 </form>
168 168
169 </div> 169 </div>
170 </div> 170 </div>
171 171
172 <div id="editEvent" class="modal fade" role="dialog" data-backdrop="static"> 172 <div id="editEvent" class="modal fade" role="dialog" data-backdrop="static">
173 <div class="modal-dialog"> 173 <div class="modal-dialog">
174 <form ng-submit="updateEvent()"> 174 <form ng-submit="updateEvent()">
175 <div class="modal-content"> 175 <div class="modal-content">
176 <div class="modal-header"> 176 <div class="modal-header">
177 <button type="button" ng-click="cancelAdd()" class="close" data-dismiss="modal">&times;</button> 177 <button type="button" ng-click="cancelAdd()" class="close" data-dismiss="modal">&times;</button>
178 <h4 class="modal-title">Schedule New Event</h4> 178 <h4 class="modal-title">Update Scheduled Event</h4>
179 </div> 179 </div>
180 <div class="modal-body"> 180 <div class="modal-body">
181 <div class="col-md-6" style="padding-left: 0;"> 181 <div class="col-md-6" style="padding-left: 0;">
182 <label>Event Name:</label> 182 <label>Event Name:</label>
183 <input type="text" ng-model="editData.title" class="form-control"> 183 <input type="text" ng-model="editData.title" class="form-control">
184 </div> 184 </div>
185 <div class="col-md-6" style="padding-right: 0;"> 185 <div class="col-md-6" style="padding-right: 0;">
186 <label>Deploy Date:</label> 186 <label>Deploy Date:</label>
187 <input type="text" datepicker ng-model="editData.start" class="form-control"> 187 <input type="text" datepicker ng-model="editData.start" class="form-control">
188 </div> 188 </div>
189 <div class="clearfix"></div> 189 <div class="clearfix"></div>
190 </div> 190 </div>
191 <div class="modal-footer"> 191 <div class="modal-footer">
192 <input type="submit" value="Add" class="btn btn-primary"> 192 <input type="submit" value="Update" class="btn btn-primary">
193 <button type="button" class="btn btn-default" ng-click="cancelUpdate()" data-dismiss="modal">Close</button> 193 <button type="button" class="btn btn-default" ng-click="cancelUpdate()" data-dismiss="modal">Close</button>
194 </div> 194 </div>
195 </div> 195 </div>
196 </form> 196 </form>
197 197
198 </div> 198 </div>
199 </div> 199 </div>
app/partials/scheduler/scheduler.service.js
1 (function(){ 1 (function(){
2 'use strict'; 2 'use strict';
3 angular.module('acufuel') 3 angular.module('acufuel')
4 .service('schedulerService', ['$q', '$http', 'BASE_URL', schedulerService]); 4 .service('schedulerService', ['$q', '$http', 'BASE_URL', schedulerService]);
5 5
6 function schedulerService($q, $http, BASE_URL) { 6 function schedulerService($q, $http, BASE_URL) {
7 var temp = {}; 7 var temp = {};
8 8
9 this.getEvents = function() { 9 this.getEvents = function() {
10 var deferred = $q.defer(); 10 var deferred = $q.defer();
11 $http({ 11 $http({
12 method : 'GET', 12 method : 'GET',
13 url : BASE_URL.url +'/user/schedules', 13 url : BASE_URL.url +'/user/schedules',
14 headers : {'Content-Type': 'application/json'}, 14 headers : {'Content-Type': 'application/json'},
15 }) 15 })
16 .then(function (result){ 16 .then(function (result){
17 deferred.resolve(result.data); 17 deferred.resolve(result.data);
18 },function (result){ 18 },function (result){
19 deferred.resolve(result.data); 19 deferred.resolve(result.data);
20 }) 20 })
21 return deferred.promise; 21 return deferred.promise;
22 } 22 }
23 23
24 this.addNewEventService = function(data) { 24 this.addNewEventService = function(data) {
25 var deferred = $q.defer(); 25 var deferred = $q.defer();
26 $http({ 26 $http({
27 method : 'POST', 27 method : 'POST',
28 url : BASE_URL.url +'/scheduler', 28 url : BASE_URL.url +'/scheduler',
29 headers : {'Content-Type': 'application/json'}, 29 headers : {'Content-Type': 'application/json'},
30 data: data 30 data: data
31 }) 31 })
32 .then(function (result){ 32 .then(function (result){
33 deferred.resolve(result.data); 33 deferred.resolve(result.data);
34 },function (result){ 34 },function (result){
35 deferred.resolve(result.data); 35 deferred.resolve(result.data);
36 }) 36 })
37 return deferred.promise; 37 return deferred.promise;
38 } 38 }
39 39
40 this.updateScheduledEvent = function(data) {
41 var deferred = $q.defer();
42 $http({
43 method : 'PUT',
44 url : BASE_URL.url +'/scheduler',
45 headers : {'Content-Type': 'application/json'},
46 data: data
47 })
48 .then(function (result){
49 deferred.resolve(result.data);
50 },function (result){
51 deferred.resolve(result.data);
52 })
53 return deferred.promise;
54 }
55
40 } 56 }
41 57
42 })(); 58 })();
app/partials/updateFuelManager/updateFuelManager.html
1 1
2 2
3 <style> 3 <style>
4 .subnavbar .mainnav > li:nth-child(2) > a{ 4 .subnavbar .mainnav > li:nth-child(2) > a{
5 color: #ff9900; 5 color: #ff9900;
6 } 6 }
7 .extraClasToMerge{ 7 .extraClasToMerge{
8 color: #fff; 8 color: #fff;
9 } 9 }
10 </style> 10 </style>
11 <div class="myLoader" ng-show="showLoader"> 11 <div class="myLoader" ng-show="showLoader">
12 <img src="../img/hourglass.gif" width="50px;"> 12 <img src="../img/hourglass.gif" width="50px;">
13 </div> 13 </div>
14 <div style="width: 90%; margin-left: 5%;"> 14 <div style="width: 90%; margin-left: 5%;">
15 <div class="row"> 15 <div class="row">
16 16
17 <div class="col-md-6"> 17 <div class="col-md-6">
18 <div class="widget stacked"> 18 <div class="widget stacked">
19 <div class="widget-header"> 19 <div class="widget-header">
20 <i class="fa fa-pencil"></i> 20 <i class="fa fa-pencil"></i>
21 <h3>Price Manager Staging</h3> 21 <h3>Price Manager Staging</h3>
22 </div> 22 </div>
23 <!-- /widget-header --> 23 <!-- /widget-header -->
24 <div class="widget-content"> 24 <div class="widget-content">
25 <h6 style="color:#F90">Queue Pricing for Deployment in the Price Manager below</h6> 25 <h6 style="color:#F90">Queue Pricing for Deployment in the Price Manager below</h6>
26 <form> 26 <form>
27 <table class="table"> 27 <table class="table">
28 <thead> 28 <thead>
29 <tr> 29 <tr>
30 <th> Product</th> 30 <th> Product</th>
31 <th> Cost</th> 31 <th> Cost</th>
32 <th> PAP(Margin)</th> 32 <th> PAP(Margin)</th>
33 <th> Deploy Date</th> 33 <th> Deploy Date</th>
34 <th style="color: #F90;">Price Expires</th> 34 <th style="color: #F90;">Price Expires</th>
35 <th> PAP(Total)</th> 35 <th> PAP(Total)</th>
36 </tr> 36 </tr>
37 </thead> 37 </thead>
38 <tbody> 38 <tbody>
39 <tr ng-repeat="fuelPricing in newFuelPricing | filter:{ status: true }"> 39 <tr ng-repeat="fuelPricing in newFuelPricing | filter:{ status: true }">
40 <td> 40 <td>
41 <span style="color: #2196f3" ng-show="fuelPricing.jeta">{{fuelPricing.name}}</span> 41 <span style="color: #2196f3" ng-show="fuelPricing.jeta">{{fuelPricing.name}}</span>
42 <span ng-show="fuelPricing.jeta">{{fuelPricing.namejetrest}}</span> 42 <span ng-show="fuelPricing.jeta">{{fuelPricing.namejetrest}}</span>
43 <span style="color: 39c" ng-show="fuelPricing.avgas">{{fuelPricing.name}}</span> 43 <span style="color: 39c" ng-show="fuelPricing.avgas">{{fuelPricing.name}}</span>
44 <span ng-show="fuelPricing.avgas">{{fuelPricing.nameavgasrest}}</span> 44 <span ng-show="fuelPricing.avgas">{{fuelPricing.nameavgasrest}}</span>
45 </td> 45 </td>
46 <td> 46 <td>
47 <input type="text" class="form-control" ng-model="fuelPricing.futureFuelPricing.cost" style="height:31px; width: 50px; padding: 6px 6px;"> 47 <input type="text" class="form-control" ng-model="fuelPricing.futureFuelPricing.cost" style="height:31px; width: 50px; padding: 6px 6px;">
48 </td> 48 </td>
49 <td> 49 <td>
50 <input type="text" class="form-control" ng-model="fuelPricing.futureFuelPricing.papMargin" style="height:31px; width: 80px; padding: 6px 6px;"> 50 <input type="text" class="form-control" ng-model="fuelPricing.futureFuelPricing.papMargin" style="height:31px; width: 80px; padding: 6px 6px;">
51 </td> 51 </td>
52 <td> 52 <td>
53 <input type="text" class="form-control" ng-disabled="fuelPricing.futureFuelPricing.cost == undefined || fuelPricing.futureFuelPricing.cost == null || fuelPricing.futureFuelPricing.cost == ''" datepicker ng-model="fuelPricing.futureFuelPricing.deployDate" style="height:31px; width: 80px; padding: 6px 6px;"> 53 <input type="text" class="form-control" ng-disabled="fuelPricing.futureFuelPricing.cost == undefined || fuelPricing.futureFuelPricing.cost == null || fuelPricing.futureFuelPricing.cost == ''" datepicker ng-model="fuelPricing.futureFuelPricing.deployDate" style="height:31px; width: 80px; padding: 6px 6px;">
54 </td> 54 </td>
55 <td> 55 <td>
56 <input type="text" class="form-control" datepicker ng-disabled="fuelPricing.futureFuelPricing.cost == undefined || fuelPricing.futureFuelPricing.cost == null || fuelPricing.futureFuelPricing.cost == ''" ng-model="fuelPricing.futureFuelPricing.nextExpiration" style="height:31px; width: 80px; padding: 6px 6px;"> 56 <input type="text" class="form-control" datepicker ng-disabled="fuelPricing.futureFuelPricing.cost == undefined || fuelPricing.futureFuelPricing.cost == null || fuelPricing.futureFuelPricing.cost == ''" ng-model="fuelPricing.futureFuelPricing.nextExpiration" style="height:31px; width: 80px; padding: 6px 6px;">
57 </td> 57 </td>
58 <td> 58 <td>
59 <span style="line-height: 31px; color: #1ab394;">$ {{fuelPricing.futureFuelPricing.cost -- fuelPricing.fuelPricing.papMargin | number : 2}}</span> 59 <span style="line-height: 31px; color: #1ab394;">$ {{fuelPricing.futureFuelPricing.cost -- fuelPricing.fuelPricing.papMargin | number : 2}}</span>
60 </td> 60 </td>
61 </tr> 61 </tr>
62 </tbody> 62 </tbody>
63 </table> 63 </table>
64 <div class="row" style="margin-left: 0px;"> 64 <div class="row" style="margin-left: 0px;">
65 <div class="col-md-12" style= "text-align: right;"> 65 <div class="col-md-12" style= "text-align: right;">
66 <div style="float: left;"> 66 <div style="float: left;">
67 <button type="button" class="btn btn-primary btn-xs" ng-click="updateFutureFuelPricingImmediatelyClick()" style= "text-align: center; font-size:12px">Save & Deploy Immediately</button> 67 <button type="button" class="btn btn-primary btn-xs" ng-click="updateFutureFuelPricingImmediatelyClick()" style= "text-align: center; font-size:12px">Save & Deploy Immediately</button>
68 68
69 <button type="reset" class="btn btn-default btn-xs">Reset All</button> 69 <button type="reset" class="btn btn-default btn-xs">Reset All</button>
70 </div> 70 </div>
71 <div style="float: right;"> 71 <div style="float: right;">
72 <button type="button" class="btn btn-success btn-xs" ng-click="updateFutureFuelPricingClick()" style="margin-right:3%">Save & Stage for Deploy</button> 72 <button type="button" class="btn btn-success btn-xs" ng-click="updateFutureFuelPricingClick()" style="margin-right:3%">Save & Stage for Deploy</button>
73 </div> 73 </div>
74 <div style="clear: both;"></div> 74 <div style="clear: both;"></div>
75 </div> 75 </div>
76 </div> 76 </div>
77 </form> 77 </form>
78 </div> 78 </div>
79 <!-- /widget-content --> 79 <!-- /widget-content -->
80 </div> 80 </div>
81 <!-- /widget --> 81 <!-- /widget -->
82 </div> 82 </div>
83 83
84 <div class="col-md-6"> 84 <div class="col-md-6">
85 <div class="widget stacked"> 85 <div class="widget stacked">
86 <div class="widget-header"> 86 <div class="widget-header">
87 <i class="fa fa-pencil"></i> 87 <i class="fa fa-pencil"></i>
88 <h3 style="font-style: italic"><b style="color: #2196f3; font-style: normal">JET-A</b> Customer Margin Template</h3> 88 <h3 style="font-style: italic"><b style="color: #2196f3; font-style: normal">JET-A</b> Customer Margin Template</h3>
89 89
90 </div> 90 </div>
91 <!-- /widget-header --> 91 <!-- /widget-header -->
92 <div class="widget-content" style="padding-top: 10px;"> 92 <div class="widget-content" style="padding-top: 10px;">
93 <section id="accordions"> 93 <section id="accordions">
94 <div class="newCustomAccordian"> 94 <div class="newCustomAccordian">
95 <!-- tab 1 --> 95 <!-- tab 1 -->
96 <div ng-repeat="jets in aTypeJets"> 96 <div ng-repeat="jets in aTypeJets">
97 <div class="customAccordianHeader" id="{{jets.id}}"> 97 <div class="customAccordianHeader" id="{{jets.id}}">
98 <span>{{jets.marginName}}</span> 98 <span>{{jets.marginName}}</span>
99 <select class="form-control" disabled="true" ng-model="jets.pricingStructure"> 99 <select class="form-control" disabled="true" ng-model="jets.pricingStructure">
100 <option value="" disabled selected>Pricing Structure</option> 100 <option value="" disabled selected>Pricing Structure</option>
101 <option value="minus">Retail/PAP-(minus)</option> 101 <option value="minus">Retail/PAP-(minus)</option>
102 <option value="plus">Cost+(plus)</option> 102 <option value="plus">Cost+(plus)</option>
103 </select> 103 </select>
104 <span style="margin-right: 0;">$</span> 104 <span style="margin-right: 0;">$</span>
105 <input type="text" disabled="true" class="form-control" ng-model="jets.marginValue"> 105 <input type="text" disabled="true" class="form-control" ng-model="jets.marginValue">
106 <div class="pull-right"> 106 <div class="pull-right">
107 <button class="btn btn-success" style="display: none; background-image: none; background-color: #f3f3f3; color: #333; border:0;" ng-click="closeAccordian(jets)">Close</button> 107 <button class="btn btn-success" style="display: none; background-image: none; background-color: #f3f3f3; color: #333; border:0;" ng-click="closeAccordian(jets)">Close</button>
108 <button class="btn btn-success" style="display: none;" ng-click="saveJetAccordian(jets)">Save</button> 108 <button class="btn btn-success" style="display: none;" ng-click="saveJetAccordian(jets)">Save</button>
109 <button class="btn btn-danger" style="display: none;" ng-click="deleteJetAccordian(jets.id)">Delete</button> 109 <button class="btn btn-danger" style="display: none;" ng-click="deleteJetAccordian(jets.id)">Delete</button>
110 <button type="button" class="btn btn-primary" ng-model="" ng-click="emailPricingForMargin(jets.id)" style= "font-weight: normal; text-align: center; font-size:12px">Email Pricing for this Margin</button> 110 <button type="button" class="btn btn-primary" ng-click="emailPricingForMargin(jets.id)" style= "font-weight: normal; text-align: center; font-size:12px">Email Pricing for this Margin</button>
111 <button class="btn btn-default" ng-click="toggleJestAccordian(jets.id, $index)" style= "text-align: center; font-size:12px">Edit</button> 111 <button class="btn btn-default" ng-click="toggleJestAccordian(jets.id, $index)" style= "text-align: center; font-size:12px">Edit</button>
112 </div> 112 </div>
113 <div class="clearfix"></div> 113 <div class="clearfix"></div>
114 </div> 114 </div>
115 <div class="customAccordianTabBody {{jets.id}}" style="display: none;"> 115 <div class="customAccordianTabBody {{jets.id}}" style="display: none;">
116 <div class="tierListWrap" ng-repeat="tier in aTypeJets[$index].tierList"> 116 <div class="tierListWrap" ng-repeat="tier in aTypeJets[$index].tierList">
117 <div class="tierListHead" style="height: 36px;"> 117 <div class="tierListHead" style="height: 36px;">
118 <span class="pull-left tierHeadingSpan" ng-hide="showEditTier">{{tier.minTierBreak}}-{{tier.maxTierBreak}} gal. 118 <span class="pull-left tierHeadingSpan" ng-hide="showEditTier">{{tier.minTierBreak}}-{{tier.maxTierBreak}} gal.
119 </span> 119 </span>
120 <i class="fa fa-pencil-square-o pull-right" ng-click="showEditTier = ! showEditTier" ng-hide="showEditTier" style="margin-top: 5px; cursor: pointer;" aria-hidden="true"></i> 120 <i class="fa fa-pencil-square-o pull-right" ng-click="showEditTier = ! showEditTier" ng-hide="showEditTier" style="margin-top: 5px; cursor: pointer;" aria-hidden="true"></i>
121 121
122 <input type="text" placeholder="min" style="width: 36px;" ng-model="tier.minTierBreak" ng-show="showEditTier"> 122 <input type="text" placeholder="min" style="width: 36px;" ng-model="tier.minTierBreak" ng-show="showEditTier">
123 <span ng-show="showEditTier">-</span> 123 <span ng-show="showEditTier">-</span>
124 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.maxTierBreak" ng-show="showEditTier"> <b ng-show="showEditTier">gal.</b> 124 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.maxTierBreak" ng-show="showEditTier"> <b ng-show="showEditTier">gal.</b>
125 <div class="clearfix"></div> 125 <div class="clearfix"></div>
126 </div> 126 </div>
127 <div class="tierListBody" style="height: 35px;"> 127 <div class="tierListBody" style="height: 35px;">
128 <span class="pull-left minTierSpan" ng-hide="showEditTier">-${{tier.margin}}</span> 128 <span class="pull-left minTierSpan" ng-hide="showEditTier">-${{tier.margin}}</span>
129 129
130 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.margin" ng-show="showEditTier"> &nbsp; 130 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.margin" ng-show="showEditTier"> &nbsp;
131 131
132 <span class="pull-right maxTierSpan" ng-hide="showEditTier">(${{tier.marginTotal | number : 2}})</span> 132 <span class="pull-right maxTierSpan" ng-hide="showEditTier">(${{tier.marginTotal | number : 2}})</span>
133 133
134 <button class="addTierBtn" ng-click="editTier(tier, $parent.$index)" ng-show="showEditTier">Save</button> 134 <button class="addTierBtn" ng-click="editTier(tier, $parent.$index)" ng-show="showEditTier">Save</button>
135 135
136 <i class="fa fa-trash-o deleteTierIcon" ng-click="deleteTier(tier.id, jets.id, $parent.$index)" aria-hidden="true" ng-show="showEditTier"></i> 136 <i class="fa fa-trash-o deleteTierIcon" ng-click="deleteTier(tier.id, jets.id, $parent.$index)" aria-hidden="true" ng-show="showEditTier"></i>
137 137
138 <div class="clearfix"></div> 138 <div class="clearfix"></div>
139 </div> 139 </div>
140 </div> 140 </div>
141 <div class="tierListWrap" style="width: 160px;"> 141 <div class="tierListWrap" style="width: 160px;">
142 <div class="tierListHead" style="border-right: 1px solid #ddd;"> 142 <div class="tierListHead" style="border-right: 1px solid #ddd;">
143 <input type="text" placeholder="min" ng-model="trData[$index].minTierBreak"> 143 <input type="text" placeholder="min" ng-model="trData[$index].minTierBreak">
144 <span>-</span> 144 <span>-</span>
145 <input type="text" placeholder="max" ng-model="trData[$index].maxTierBreak"> <b>gal.</b> 145 <input type="text" placeholder="max" ng-model="trData[$index].maxTierBreak"> <b>gal.</b>
146 <div class="clearfix"></div> 146 <div class="clearfix"></div>
147 </div> 147 </div>
148 <div class="tierListBody" style="border-right: 1px solid #ddd;"> 148 <div class="tierListBody" style="border-right: 1px solid #ddd;">
149 <span style="color: #449d44;">$</span> 149 <span style="color: #449d44;">$</span>
150 <input type="text" placeholder="margin" ng-model="trData[$index].margin" class="tierTextBox" style="width: 70px; height: 24px;"> 150 <input type="text" placeholder="margin" ng-model="trData[$index].margin" class="tierTextBox" style="width: 70px; height: 24px;">
151 <button class="addTierBtn" ng-click="addNewTier(jets.id, trData, $index)">Add Tier</button> 151 <button class="addTierBtn" ng-click="addNewTier(jets.id, trData, $index)">Add Tier</button>
152 <div class="clearfix"></div> 152 <div class="clearfix"></div>
153 </div> 153 </div>
154 </div> 154 </div>
155 <!-- <div class="tierListWrap" style="width: 32px;"> 155 <!-- <div class="tierListWrap" style="width: 32px;">
156 <div class="tierListHead" style="height: 36px; border-right: 1px solid #ddd;"> 156 <div class="tierListHead" style="height: 36px; border-right: 1px solid #ddd;">
157 &nbsp; 157 &nbsp;
158 </div> 158 </div>
159 <div class="tierListBody" style="height: 35px; border-right: 1px solid #ddd;"> 159 <div class="tierListBody" style="height: 35px; border-right: 1px solid #ddd;">
160 <i class="fa fa-trash-o deleteTierIcon" aria-hidden="true"></i> 160 <i class="fa fa-trash-o deleteTierIcon" aria-hidden="true"></i>
161 </div> 161 </div>
162 </div> --> 162 </div> -->
163 <div class="clearfix"></div> 163 <div class="clearfix"></div>
164 <!-- <textarea class="form-control resizeTextarea" ng-model="jets.message" placeholder="Message..."></textarea> --> 164 <!-- <textarea class="form-control resizeTextarea" ng-model="jets.message" placeholder="Message..."></textarea> -->
165 <br/> 165 <br/>
166 <div ckeditor="options" ng-model="jets.message" ready="onReady()"></div> 166 <div ckeditor="options" ng-model="jets.message" ready="onReady()"></div>
167 </div> 167 </div>
168 </div> 168 </div>
169 </div> 169 </div>
170 <div class="pull-right"> 170 <div class="pull-right">
171 <button type="submit" class="btn btn-success btn-sm" ng-click="addNewMarginBtn()" style="margin-top: 4px; margin-right: 10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add New Margin</button> 171 <button type="submit" class="btn btn-success btn-sm" ng-click="addNewMarginBtn()" style="margin-top: 4px; margin-right: 10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add New Margin</button>
172 </div> 172 </div>
173 </section> 173 </section>
174 <!-- <div class="row">&nbsp;</div> 174 <!-- <div class="row">&nbsp;</div>
175 <div class="row"> 175 <div class="row">
176 <div class="form-group"> 176 <div class="form-group">
177 <div class="col-lg-12 text-right"> 177 <div class="col-lg-12 text-right">
178 <button type="submit" class="btn btn-success"><i class="icon-ok"></i> Save Form</button>&nbsp;&nbsp; 178 <button type="submit" class="btn btn-success"><i class="icon-ok"></i> Save Form</button>&nbsp;&nbsp;
179 <button type="reset" class="btn btn-default">Cancel</button> 179 <button type="reset" class="btn btn-default">Cancel</button>
180 </div> 180 </div>
181 </div> 181 </div>
182 </div> --> 182 </div> -->
183 </div> 183 </div>
184 <!-- /widget-content --> 184 <!-- /widget-content -->
185 </div> 185 </div>
186 <!-- /widget --> 186 <!-- /widget -->
187 </div> 187 </div>
188 <!-- /span6 --> 188 <!-- /span6 -->
189 </div> 189 </div>
190 <!-- /span12 --> 190 <!-- /span12 -->
191 </div> 191 </div>
192 <!-- /row --> 192 <!-- /row -->
193 <div style="width: 96%; margin-left: 2%;"> 193 <div style="width: 96%; margin-left: 2%;">
194 <div class="row"> 194 <div class="row">
195 <div class="col-md-6"> 195 <div class="col-md-6">
196 <div class="widget stacked"> 196 <div class="widget stacked">
197 <div class="widget-header"> 197 <div class="widget-header">
198 <i class="fa fa-pencil"></i> 198 <i class="fa fa-pencil"></i>
199 <h3>Price Manager</h3> 199 <h3>Price Manager</h3>
200 <select style="float: right; margin: 7px 10px; width: 150px; height: 26px; padding: 0 0;" class="btn btn-primary" class="form-control" ng-model="sendEmail.pricing" ng-change="confirmMail()"> 200 <select style="float: right; margin: 7px 10px; width: 150px; height: 26px; padding: 0 0;" class="btn btn-primary" class="form-control" ng-model="sendEmail.pricing" ng-change="confirmMail()">
201 <option value="" disabled selected="selected">Email All Pricing</option> 201 <option value="" disabled selected="selected">Email All Pricing</option>
202 <option value="JET-A">Email JET-A pricing only</option> 202 <option value="JET-A">Email JET-A pricing only</option>
203 <option value="AVGAS">Email AVGAS pricing only</option> 203 <option value="AVGAS">Email AVGAS pricing only</option>
204 <option disabled>_______________________________</option> 204 <option disabled>_______________________________</option>
205 <option value="all">Distribute All</option> 205 <option value="all">Distribute All</option>
206 </select> 206 </select>
207 </div> 207 </div>
208 <!-- /widget-header --> 208 <!-- /widget-header -->
209 <div class="widget-content"> 209 <div class="widget-content">
210 <h4>Deployed Fuel Prices</h4> 210 <h4>Deployed Fuel Prices</h4>
211 <table class="table"> 211 <table class="table">
212 <thead> 212 <thead>
213 <tr> 213 <tr>
214 <th> Product</th> 214 <th> Product</th>
215 <th> Cost</th> 215 <th> Cost</th>
216 <th> Margin</th> 216 <th> Margin</th>
217 <th> PAP(Total)</th> 217 <th> PAP(Total)</th>
218 <th style="color: #F90;"> Expires</th> 218 <th style="color: #F90;"> Expires</th>
219 </tr> 219 </tr>
220 </thead> 220 </thead>
221 <tbody> 221 <tbody>
222 <tr ng-repeat="fuelPricing in newFuelPricing | filter:{ status: true }"> 222 <tr ng-repeat="fuelPricing in newFuelPricing | filter:{ status: true }">
223 <td> 223 <td>
224 <span style="color: #2196f3" ng-show="fuelPricing.jeta">{{fuelPricing.name}}</span> 224 <span style="color: #2196f3" ng-show="fuelPricing.jeta">{{fuelPricing.name}}</span>
225 <span ng-show="fuelPricing.jeta">{{fuelPricing.namejetrest}}</span> 225 <span ng-show="fuelPricing.jeta">{{fuelPricing.namejetrest}}</span>
226 <span style="color: 39c" ng-show="fuelPricing.avgas">{{fuelPricing.name}}</span> 226 <span style="color: 39c" ng-show="fuelPricing.avgas">{{fuelPricing.name}}</span>
227 <span ng-show="fuelPricing.avgas">{{fuelPricing.nameavgasrest}}</span> 227 <span ng-show="fuelPricing.avgas">{{fuelPricing.nameavgasrest}}</span>
228 </td> 228 </td>
229 <td> 229 <td>
230 <span>{{fuelPricing.fuelPricing.cost}}</span> 230 <span>{{fuelPricing.fuelPricing.cost}}</span>
231 </td> 231 </td>
232 <td> 232 <td>
233 <span>{{fuelPricing.fuelPricing.papMargin}}</span> 233 <span>{{fuelPricing.fuelPricing.papMargin}}</span>
234 </td> 234 </td>
235 <td> 235 <td>
236 <span style="line-height: 31px; color: #1ab394;">$ {{fuelPricing.fuelPricing.cost -- fuelPricing.fuelPricing.papMargin | number : 2 }}</span> 236 <span style="line-height: 31px; color: #1ab394;">$ {{fuelPricing.fuelPricing.cost -- fuelPricing.fuelPricing.papMargin | number : 2 }}</span>
237 </td> 237 </td>
238 <td> 238 <td>
239 <span>{{fuelPricing.fuelPricing.expirationDate}}</span> 239 <span>{{fuelPricing.fuelPricing.expirationDate}}</span>
240 </td> 240 </td>
241 </tr> 241 </tr>
242 </tbody> 242 </tbody>
243 </table> 243 </table>
244 244
245 </div> 245 </div>
246 <!-- /widget-content --> 246 <!-- /widget-content -->
247 </div> 247 </div>
248 <!-- /widget --> 248 <!-- /widget -->
249 </div> 249 </div>
250 250
251 <div class="col-md-6"> 251 <div class="col-md-6">
252 <div class="widget stacked"> 252 <div class="widget stacked">
253 <div class="widget-header"> 253 <div class="widget-header">
254 <i class="fa fa-pencil"></i> 254 <i class="fa fa-pencil"></i>
255 <h3><b style="color: 39c;">AVGAS 100LL </b> <i>Customer Margin Template</i></h3> 255 <h3><b style="color: 39c;">AVGAS 100LL </b> <i>Customer Margin Template</i></h3>
256 256
257 </div> 257 </div>
258 <!-- /widget-header --> 258 <!-- /widget-header -->
259 <div class="widget-content" style="padding-top: 10px;"> 259 <div class="widget-content" style="padding-top: 10px;">
260 <section id="accordions"> 260 <section id="accordions">
261 <div class="newCustomAccordian"> 261 <div class="newCustomAccordian">
262 <!-- tab 1 --> 262 <!-- tab 1 -->
263 <div ng-repeat="jets in vTypeJets"> 263 <div ng-repeat="jets in vTypeJets">
264 <div class="customAccordianHeader" id="{{jets.id}}"> 264 <div class="customAccordianHeader" id="{{jets.id}}">
265 <span>{{jets.marginName}}</span> 265 <span>{{jets.marginName}}</span>
266 <select class="form-control" disabled="true" ng-model="jets.pricingStructure"> 266 <select class="form-control" disabled="true" ng-model="jets.pricingStructure">
267 <option value="" disabled selected>Pricing Structure</option> 267 <option value="" disabled selected>Pricing Structure</option>
268 <option value="minus">Retail-(minus)</option> 268 <option value="minus">Retail-(minus)</option>
269 <option value="plus">Cost+(plus)</option> 269 <option value="plus">Cost+(plus)</option>
270 <option value="equal">Direct=(equal)</option> 270 <option value="equal">Direct=(equal)</option>
271 </select> 271 </select>
272 <span style="margin-right: 0;">$</span> 272 <span style="margin-right: 0;">$</span>
273 <input type="text" disabled="true" class="form-control" ng-model="jets.marginValue"> 273 <input type="text" disabled="true" class="form-control" ng-model="jets.marginValue">
274 <div class="pull-right"> 274 <div class="pull-right">
275 <button class="btn btn-success" style="display: none; background-image: none; background-color: #f3f3f3; color: #333; border:0;" ng-click="closeAccordianVtype(jets)">Close</button> 275 <button class="btn btn-success" style="display: none; background-image: none; background-color: #f3f3f3; color: #333; border:0;" ng-click="closeAccordianVtype(jets)">Close</button>
276 <button class="btn btn-success" style="display: none;" ng-click="saveVtypeJetAccordian(jets)">Save</button> 276 <button class="btn btn-success" style="display: none;" ng-click="saveVtypeJetAccordian(jets)">Save</button>
277 <button class="btn btn-danger" style="display: none;" ng-click="deleteVtypeJetAccordian(jets.id)">Delete</button> 277 <button class="btn btn-danger" style="display: none;" ng-click="deleteVtypeJetAccordian(jets.id)">Delete</button>
278 <button type="button" class="btn btn-primary" ng-click="emailPricingForMargin()" style= "font-weight: normal; text-align: center; font-size:12px">Email Pricing for this Margin</button> 278 <button type="button" class="btn btn-primary" ng-click="emailPricingForMargin()" style= "font-weight: normal; text-align: center; font-size:12px">Email Pricing for this Margin</button>
279 <button class="btn btn-default" ng-click="toggleVtypeJestAccordian(jets.id, $index)" style= "text-align: center; font-size:12px">Edit</button> 279 <button class="btn btn-default" ng-click="toggleVtypeJestAccordian(jets.id, $index)" style= "text-align: center; font-size:12px">Edit</button>
280 </div> 280 </div>
281 <div class="clearfix"></div> 281 <div class="clearfix"></div>
282 </div> 282 </div>
283 <div class="customAccordianTabBody {{jets.id}}" style="display: none;"> 283 <div class="customAccordianTabBody {{jets.id}}" style="display: none;">
284 <div class="tierListWrap" ng-repeat="tier in vTypeJets[$index].tierList"> 284 <div class="tierListWrap" ng-repeat="tier in vTypeJets[$index].tierList">
285 <div class="tierListHead" style="height: 36px;"> 285 <div class="tierListHead" style="height: 36px;">
286 <span class="pull-left tierHeadingSpan" ng-hide="showEditTier">{{tier.minTierBreak}}-{{tier.maxTierBreak}} gal. 286 <span class="pull-left tierHeadingSpan" ng-hide="showEditTier">{{tier.minTierBreak}}-{{tier.maxTierBreak}} gal.
287 </span> 287 </span>
288 <i class="fa fa-pencil-square-o pull-right" ng-click="showEditTier = ! showEditTier" ng-hide="showEditTier" style="margin-top: 5px; cursor: pointer;" aria-hidden="true"></i> 288 <i class="fa fa-pencil-square-o pull-right" ng-click="showEditTier = ! showEditTier" ng-hide="showEditTier" style="margin-top: 5px; cursor: pointer;" aria-hidden="true"></i>
289 289
290 <input type="text" placeholder="min" style="width: 36px;" ng-model="tier.minTierBreak" ng-show="showEditTier"> 290 <input type="text" placeholder="min" style="width: 36px;" ng-model="tier.minTierBreak" ng-show="showEditTier">
291 <span ng-show="showEditTier">-</span> 291 <span ng-show="showEditTier">-</span>
292 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.maxTierBreak" ng-show="showEditTier"> <b ng-show="showEditTier">gal.</b> 292 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.maxTierBreak" ng-show="showEditTier"> <b ng-show="showEditTier">gal.</b>
293 <div class="clearfix"></div> 293 <div class="clearfix"></div>
294 </div> 294 </div>
295 <div class="tierListBody" style="height: 35px;"> 295 <div class="tierListBody" style="height: 35px;">
296 <span class="pull-left minTierSpan" ng-hide="showEditTier">-${{tier.margin}}</span> 296 <span class="pull-left minTierSpan" ng-hide="showEditTier">-${{tier.margin}}</span>
297 297
298 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.margin" ng-show="showEditTier"> &nbsp; 298 <input type="text" placeholder="max" style="width: 36px;" ng-model="tier.margin" ng-show="showEditTier"> &nbsp;
299 299
300 <span class="pull-right maxTierSpan" ng-hide="showEditTier">(${{tier.marginTotal | number : 2}})</span> 300 <span class="pull-right maxTierSpan" ng-hide="showEditTier">(${{tier.marginTotal | number : 2}})</span>
301 301
302 <button class="addTierBtn" ng-click="editVtypeTier(tier, $parent.$index)" ng-show="showEditTier">Save</button> 302 <button class="addTierBtn" ng-click="editVtypeTier(tier, $parent.$index)" ng-show="showEditTier">Save</button>
303 303
304 <i class="fa fa-trash-o deleteTierIcon" ng-click="deleteVtypeTier(tier.id, jets.id, $parent.$index)" aria-hidden="true" ng-show="showEditTier"></i> 304 <i class="fa fa-trash-o deleteTierIcon" ng-click="deleteVtypeTier(tier.id, jets.id, $parent.$index)" aria-hidden="true" ng-show="showEditTier"></i>
305 305
306 <div class="clearfix"></div> 306 <div class="clearfix"></div>
307 </div> 307 </div>
308 </div> 308 </div>
309 <div class="tierListWrap" style="width: 160px;"> 309 <div class="tierListWrap" style="width: 160px;">
310 <div class="tierListHead" style="border-right: 1px solid #ddd;"> 310 <div class="tierListHead" style="border-right: 1px solid #ddd;">
311 <input type="text" placeholder="min" ng-model="vtrData[$index].minTierBreak"> 311 <input type="text" placeholder="min" ng-model="vtrData[$index].minTierBreak">
312 <span>-</span> 312 <span>-</span>
313 <input type="text" placeholder="max" ng-model="vtrData[$index].maxTierBreak"> <b>gal.</b> 313 <input type="text" placeholder="max" ng-model="vtrData[$index].maxTierBreak"> <b>gal.</b>
314 <div class="clearfix"></div> 314 <div class="clearfix"></div>
315 </div> 315 </div>
316 <div class="tierListBody" style="border-right: 1px solid #ddd;"> 316 <div class="tierListBody" style="border-right: 1px solid #ddd;">
317 <span style="color: #449d44;">$</span> 317 <span style="color: #449d44;">$</span>
318 <input type="text" placeholder="margin" ng-model="vtrData[$index].margin" class="tierTextBox" style="width: 70px; height: 24px;"> 318 <input type="text" placeholder="margin" ng-model="vtrData[$index].margin" class="tierTextBox" style="width: 70px; height: 24px;">
319 <button class="addTierBtn" ng-click="addNewVtypeTier(jets.id, vtrData, $index)">Add Tier</button> 319 <button class="addTierBtn" ng-click="addNewVtypeTier(jets.id, vtrData, $index)">Add Tier</button>
320 <div class="clearfix"></div> 320 <div class="clearfix"></div>
321 </div> 321 </div>
322 </div> 322 </div>
323 <!-- <div class="tierListWrap" style="width: 32px;"> 323 <!-- <div class="tierListWrap" style="width: 32px;">
324 <div class="tierListHead" style="height: 36px; border-right: 1px solid #ddd;"> 324 <div class="tierListHead" style="height: 36px; border-right: 1px solid #ddd;">
325 &nbsp; 325 &nbsp;
326 </div> 326 </div>
327 <div class="tierListBody" style="height: 35px; border-right: 1px solid #ddd;"> 327 <div class="tierListBody" style="height: 35px; border-right: 1px solid #ddd;">
328 <i class="fa fa-trash-o deleteTierIcon" aria-hidden="true"></i> 328 <i class="fa fa-trash-o deleteTierIcon" aria-hidden="true"></i>
329 </div> 329 </div>
330 </div> --> 330 </div> -->
331 <div class="clearfix"></div> 331 <div class="clearfix"></div>
332 <br/> 332 <br/>
333 <div ckeditor="options" ng-model="jets.message" ready="onReady()"></div> 333 <div ckeditor="options" ng-model="jets.message" ready="onReady()"></div>
334 </div> 334 </div>
335 </div> 335 </div>
336 </div> 336 </div>
337 <div class="pull-right"> 337 <div class="pull-right">
338 <button type="submit" class="btn btn-success btn-sm" ng-click="addNewVtypePop()" style="margin-top: 4px; margin-right: 10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add New Margin</button> 338 <button type="submit" class="btn btn-success btn-sm" ng-click="addNewVtypePop()" style="margin-top: 4px; margin-right: 10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add New Margin</button>
339 </div> 339 </div>
340 </section> 340 </section>
341 <!-- <div class="row">&nbsp;</div> 341 <!-- <div class="row">&nbsp;</div>
342 <div class="row"> 342 <div class="row">
343 <div class="form-group"> 343 <div class="form-group">
344 <div class="col-lg-12 text-right"> 344 <div class="col-lg-12 text-right">
345 <button type="submit" class="btn btn-success"><i class="icon-ok"></i> Save Form</button>&nbsp;&nbsp; 345 <button type="submit" class="btn btn-success"><i class="icon-ok"></i> Save Form</button>&nbsp;&nbsp;
346 <button type="reset" class="btn btn-default">Cancel</button> 346 <button type="reset" class="btn btn-default">Cancel</button>
347 </div> 347 </div>
348 </div> 348 </div>
349 </div> --> 349 </div> -->
350 </div> 350 </div>
351 <!-- /widget-content --> 351 <!-- /widget-content -->
352 </div> 352 </div>
353 <!-- /widget --> 353 <!-- /widget -->
354 </div> 354 </div>
355 <!-- /span6 --> 355 <!-- /span6 -->
356 </div> 356 </div>
357 </div> 357 </div>
358 </div> 358 </div>
359 </div> <!-- /container --> 359 </div> <!-- /container -->
360 360
361 361
362 <div class="addNewMargin" style="display: none;"> 362 <div class="addNewMargin" style="display: none;">
363 <div class="customBackdrop"> 363 <div class="customBackdrop">
364 <div class="customModalInner" style="max-width: 700px;"> 364 <div class="customModalInner" style="max-width: 700px;">
365 <div class="customModelHead"> 365 <div class="customModelHead">
366 <p class="pull-left"> 366 <p class="pull-left">
367 <i class="fa fa-list-alt" aria-hidden="true"></i> 367 <i class="fa fa-list-alt" aria-hidden="true"></i>
368 Add New JET-A Customer Margin 368 Add New JET-A Customer Margin
369 </p> 369 </p>
370 <p class="pull-right"> 370 <p class="pull-right">
371 <i class="fa fa-times" aria-hidden="true" style="cursor: pointer;" ng-click="closeMarginPopup()"></i> 371 <i class="fa fa-times" aria-hidden="true" style="cursor: pointer;" ng-click="closeMarginPopup()"></i>
372 </p> 372 </p>
373 <div class="clearfix"></div> 373 <div class="clearfix"></div>
374 </div> 374 </div>
375 <div class="customModelBody"> 375 <div class="customModelBody">
376 376
377 <div class="customAccordianHeader customActive"> 377 <div class="customAccordianHeader customActive">
378 <input type="text" class="form-control" style="width: 120px; margin-right: 10px;" placeholder="Margin Name" ng-model="newJet.marginName"> 378 <input type="text" class="form-control" style="width: 120px; margin-right: 10px;" placeholder="Margin Name" ng-model="newJet.marginName">
379 <select class="form-control" ng-model="newJet.pricingStructure"> 379 <select class="form-control" ng-model="newJet.pricingStructure">
380 <option value="" disabled selected>Pricing Structure</option> 380 <option value="" disabled selected>Pricing Structure</option>
381 <option value="minus">Retail-(minus)</option> 381 <option value="minus">Retail-(minus)</option>
382 <option value="plus">Cost+(plus)</option> 382 <option value="plus">Cost+(plus)</option>
383 <option value="equal">Direct=(equal)</option> 383 <option value="equal">Direct=(equal)</option>
384 </select> 384 </select>
385 <span style="margin-right: 0;">$</span> 385 <span style="margin-right: 0;">$</span>
386 <input type="text" class="form-control" style="width: 120px;" placeholder="Margin Price" ng-model="newJet.marginValue"> 386 <input type="text" class="form-control" style="width: 120px;" placeholder="Margin Price" ng-model="newJet.marginValue">
387 <div class="clearfix"></div> 387 <div class="clearfix"></div>
388 </div> 388 </div>
389 <div class="customAccordianTabBody"> 389 <div class="customAccordianTabBody">
390 <div ckeditor="options" ng-model="newJet.message" ready="onReady()"></div> 390 <div ckeditor="options" ng-model="newJet.message" ready="onReady()"></div>
391 </div> 391 </div>
392 392
393 </div> 393 </div>
394 <div class="customModelFooter text-center"> 394 <div class="customModelFooter text-center">
395 <input type="submit" value="Save" class="btn" ng-click="addNewATypeJet()"> 395 <input type="submit" value="Save" class="btn" ng-click="addNewATypeJet()">
396 <button class="btn" ng-click="closeMarginPopup()">Cancel</button> 396 <button class="btn" ng-click="closeMarginPopup()">Cancel</button>
397 </div> 397 </div>
398 </div> 398 </div>
399 </div> 399 </div>
400 </div> 400 </div>
401 401
402 <div class="addNewVtype" style="display: none;"> 402 <div class="addNewVtype" style="display: none;">
403 <div class="customBackdrop"> 403 <div class="customBackdrop">
404 <div class="customModalInner" style="max-width: 700px;"> 404 <div class="customModalInner" style="max-width: 700px;">
405 <div class="customModelHead"> 405 <div class="customModelHead">
406 <p class="pull-left"> 406 <p class="pull-left">
407 <i class="fa fa-list-alt" aria-hidden="true"></i> 407 <i class="fa fa-list-alt" aria-hidden="true"></i>
408 Add New AVGAS 100LL Customer Margin Template 408 Add New AVGAS 100LL Customer Margin Template
409 </p> 409 </p>
410 <p class="pull-right"> 410 <p class="pull-right">
411 <i class="fa fa-times" aria-hidden="true" style="cursor: pointer;" ng-click="closeNewVtypePop()"></i> 411 <i class="fa fa-times" aria-hidden="true" style="cursor: pointer;" ng-click="closeNewVtypePop()"></i>
412 </p> 412 </p>
413 <div class="clearfix"></div> 413 <div class="clearfix"></div>
414 </div> 414 </div>
415 <div class="customModelBody"> 415 <div class="customModelBody">
416 416
417 <div class="customAccordianHeader customActive"> 417 <div class="customAccordianHeader customActive">
418 <input type="text" class="form-control" style="width: 120px; margin-right: 10px;" placeholder="Margin Name" ng-model="newVtypeJet.marginName"> 418 <input type="text" class="form-control" style="width: 120px; margin-right: 10px;" placeholder="Margin Name" ng-model="newVtypeJet.marginName">
419 <select class="form-control" ng-model="newVtypeJet.pricingStructure"> 419 <select class="form-control" ng-model="newVtypeJet.pricingStructure">
420 <option value="" disabled selected>Pricing Structure</option> 420 <option value="" disabled selected>Pricing Structure</option>
421 <option value="minus">Retail-(minus)</option> 421 <option value="minus">Retail-(minus)</option>
422 <option value="plus">Cost+(plus)</option> 422 <option value="plus">Cost+(plus)</option>
423 <option value="equal">Direct=(equal)</option> 423 <option value="equal">Direct=(equal)</option>
424 </select> 424 </select>
425 <span style="margin-right: 0;">$</span> 425 <span style="margin-right: 0;">$</span>
426 <input type="text" class="form-control" style="width: 120px;" placeholder="Margin Price" ng-model="newVtypeJet.marginValue"> 426 <input type="text" class="form-control" style="width: 120px;" placeholder="Margin Price" ng-model="newVtypeJet.marginValue">
427 <div class="clearfix"></div> 427 <div class="clearfix"></div>
428 </div> 428 </div>
429 <div class="customAccordianTabBody"> 429 <div class="customAccordianTabBody">
430 <div ckeditor="options" ng-model="newVtypeJet.message" ready="onReady()"></div> 430 <div ckeditor="options" ng-model="newVtypeJet.message" ready="onReady()"></div>
431 </div> 431 </div>
432 432
433 </div> 433 </div>
434 <div class="customModelFooter text-center"> 434 <div class="customModelFooter text-center">
435 <input type="submit" value="Save" class="btn" ng-click="addNewVTypeJet()"> 435 <input type="submit" value="Save" class="btn" ng-click="addNewVTypeJet()">
436 <button class="btn" ng-click="closeNewVtypePop()">Cancel</button> 436 <button class="btn" ng-click="closeNewVtypePop()">Cancel</button>
437 </div> 437 </div>
438 </div> 438 </div>
439 </div> 439 </div>
440 </div> 440 </div>
441 441
442 <div class="customConfirmPopBackdrop" id="confirm1" style="display: none;"> 442 <div class="customConfirmPopBackdrop" id="confirm1" style="display: none;">
443 <div class="customModalInner"> 443 <div class="customModalInner">
444 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 444 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
445 <table> 445 <table>
446 <tr> 446 <tr>
447 <td> 447 <td>
448 <img src="img/info.png" style="width: 50px;"> 448 <img src="img/info.png" style="width: 50px;">
449 </td> 449 </td>
450 <td> 450 <td>
451 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to email pricing to everyone in your contact list?</p> 451 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to email pricing to everyone in your contact list?</p>
452 </td> 452 </td>
453 </tr> 453 </tr>
454 </table> 454 </table>
455 </div> 455 </div>
456 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 456 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
457 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="saveAndCloseConfirm()">Yes</button> 457 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="saveAndCloseConfirm()">Yes</button>
458 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelAndCloseConfirm()">Cancel</button> 458 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelAndCloseConfirm()">Cancel</button>
459 </div> 459 </div>
460 </div> 460 </div>
461 </div> 461 </div>
462 <div class="customConfirmPopBackdrop" id="confirm2" style="display: none;"> 462 <div class="customConfirmPopBackdrop" id="confirm2" style="display: none;">
463 <div class="customModalInner"> 463 <div class="customModalInner">
464 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 464 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
465 <table> 465 <table>
466 <tr> 466 <tr>
467 <td> 467 <td>
468 <img src="img/info.png" style="width: 50px;"> 468 <img src="img/info.png" style="width: 50px;">
469 </td> 469 </td>
470 <td> 470 <td>
471 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to email pricing for this margin?</p> 471 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to email pricing for this margin?</p>
472 </td> 472 </td>
473 </tr> 473 </tr>
474 </table> 474 </table>
475 </div> 475 </div>
476 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 476 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
477 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="saveAndCloseForMarginConfirm()">Yes</button> 477 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="saveAndCloseForMarginConfirm()">Yes</button>
478 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelAndCloseForMarginConfirm()">Cancel</button> 478 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelAndCloseForMarginConfirm()">Cancel</button>
479 </div> 479 </div>
480 </div> 480 </div>
481 </div> 481 </div>
482 482
483 <div class="customConfirmPopBackdrop" id="deleteTierConfirm" style="display: none;"> 483 <div class="customConfirmPopBackdrop" id="deleteTierConfirm" style="display: none;">
484 <div class="customModalInner"> 484 <div class="customModalInner">
485 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 485 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
486 <table> 486 <table>
487 <tr> 487 <tr>
488 <td> 488 <td>
489 <img src="img/info.png" style="width: 50px;"> 489 <img src="img/info.png" style="width: 50px;">
490 </td> 490 </td>
491 <td> 491 <td>
492 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Tier ?</p> 492 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Tier ?</p>
493 </td> 493 </td>
494 </tr> 494 </tr>
495 </table> 495 </table>
496 </div> 496 </div>
497 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 497 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
498 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeleteTier()">Yes</button> 498 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeleteTier()">Yes</button>
499 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelTierDelete()">Cancel</button> 499 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelTierDelete()">Cancel</button>
500 </div> 500 </div>
501 </div> 501 </div>
502 </div> 502 </div>
503 503
504 <div class="customConfirmPopBackdrop" id="deleteVtypeTierConfirm" style="display: none;"> 504 <div class="customConfirmPopBackdrop" id="deleteVtypeTierConfirm" style="display: none;">
505 <div class="customModalInner"> 505 <div class="customModalInner">
506 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 506 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
507 <table> 507 <table>
508 <tr> 508 <tr>
509 <td> 509 <td>
510 <img src="img/info.png" style="width: 50px;"> 510 <img src="img/info.png" style="width: 50px;">
511 </td> 511 </td>
512 <td> 512 <td>
513 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Tier ?</p> 513 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Tier ?</p>
514 </td> 514 </td>
515 </tr> 515 </tr>
516 </table> 516 </table>
517 </div> 517 </div>
518 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 518 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
519 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeleteVtypeTier()">Yes</button> 519 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeleteVtypeTier()">Yes</button>
520 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelVtypeTierDelete()">Cancel</button> 520 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelVtypeTierDelete()">Cancel</button>
521 </div> 521 </div>
522 </div> 522 </div>
523 </div> 523 </div>
524 524
525 <div class="customConfirmPopBackdrop" id="deleteMargin" style="display: none;"> 525 <div class="customConfirmPopBackdrop" id="deleteMargin" style="display: none;">
526 <div class="customModalInner"> 526 <div class="customModalInner">
527 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 527 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
528 <table> 528 <table>
529 <tr> 529 <tr>
530 <td> 530 <td>
531 <img src="img/info.png" style="width: 50px;"> 531 <img src="img/info.png" style="width: 50px;">
532 </td> 532 </td>
533 <td> 533 <td>
534 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Margin Template ?</p> 534 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Margin Template ?</p>
535 </td> 535 </td>
536 </tr> 536 </tr>
537 </table> 537 </table>
538 </div> 538 </div>
539 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 539 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
540 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeleteMargin()">Yes</button> 540 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeleteMargin()">Yes</button>
541 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelMarginDelete()">Cancel</button> 541 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelMarginDelete()">Cancel</button>
542 </div> 542 </div>
543 </div> 543 </div>
544 </div> 544 </div>
545 545
546 <div class="customConfirmPopBackdrop" id="deleteVtypeMargin" style="display: none;"> 546 <div class="customConfirmPopBackdrop" id="deleteVtypeMargin" style="display: none;">
547 <div class="customModalInner"> 547 <div class="customModalInner">
548 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 548 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
549 <table> 549 <table>
550 <tr> 550 <tr>
551 <td> 551 <td>
552 <img src="img/info.png" style="width: 50px;"> 552 <img src="img/info.png" style="width: 50px;">
553 </td> 553 </td>
554 <td> 554 <td>
555 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Margin Template ?</p> 555 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure that you want to delete this Margin Template ?</p>
556 </td> 556 </td>
557 </tr> 557 </tr>
558 </table> 558 </table>
559 </div> 559 </div>
560 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 560 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
561 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeletVtypeMargin()">Yes</button> 561 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="confirmDeletVtypeMargin()">Yes</button>
562 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelVtypeMarginDelete()">Cancel</button> 562 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelVtypeMarginDelete()">Cancel</button>
563 </div> 563 </div>
564 </div> 564 </div>
565 </div> 565 </div>
566 566
567 <!-- Le javascript 567 <!-- Le javascript
568 ================================================== --> 568 ================================================== -->
569 <!-- Placed at the end of the document so the pages load faster --> 569 <!-- Placed at the end of the document so the pages load faster -->
570 <!-- <script> 570 <!-- <script>
571 CKEDITOR.replace( 'editor2', { 571 CKEDITOR.replace( 'editor2', {
572 height: 250, 572 height: 250,
573 extraPlugins: 'divarea' 573 extraPlugins: 'divarea'
574 } ); 574 } );
575 </script> --> 575 </script> -->
app/partials/viewcontact/viewcontact.controller.js
1 'use strict'; 1 'use strict';
2 2
3 //Load controller 3 //Load controller
4 angular.module('acufuel') 4 angular.module('acufuel')
5 5
6 .controller('viewcontactController', ['$scope', '$stateParams', '$state', 'ViewcontactService', 'ViewCompanyService', function($scope, $stateParams, $state, ViewcontactService, ViewCompanyService) { 6 .controller('viewcontactController', ['$scope', '$stateParams', '$state', 'ViewcontactService', 'ViewCompanyService', function($scope, $stateParams, $state, ViewcontactService, ViewCompanyService) {
7
8 $(document).ready(function() {
9 $('.animation_select').click( function(){
10 $('#animation_box').removeAttr('class').attr('class', '');
11 var animation = $(this).attr("data-animation");
12 $('#animation_box').addClass('animated');
13 $('#animation_box').addClass(animation);
14 return false;
15 });
16 });
17
7 $scope.showLoader = true; 18 $scope.showLoader = true;
8 $scope.showUpdateBtn = false; 19 $scope.showUpdateBtn = false;
9 var contactId = $stateParams.id; 20 var contactId = $stateParams.id;
10 $scope.contactDetail = {}; 21 $scope.contactDetail = {};
11 var contactCompanyId = ""; 22 var contactCompanyId = "";
12 ViewcontactService.getContact(contactId).then(function(result) { 23 ViewcontactService.getContact(contactId).then(function(result) {
13 $scope.contactDetail = result; 24 $scope.contactDetail = result;
14 $scope.showLoader = false; 25 $scope.showLoader = false;
15 contactCompanyId = result.owner.id; 26 contactCompanyId = result.owner.id;
16 }) 27 })
17 28
18 $scope.goBack = function(){ 29 $scope.goBack = function(){
19 window.history.back(); 30 window.history.back();
20 } 31 }
21 32
22 $scope.contactIdList = {}; 33 $scope.contactIdList = {};
23 var index; 34 var index;
24 var one = 1; 35 var one = 1;
25 var selectedId; 36 var selectedId;
26 37
27 ViewcontactService.getContactsList(contactId).then(function(list){ 38 ViewcontactService.getContactsList(contactId).then(function(list){
28 $scope.contactIdList = list; 39 $scope.contactIdList = list;
29 index = $scope.contactIdList.indexOf(contactId); 40 index = $scope.contactIdList.indexOf(contactId);
30 selectedId = $scope.contactIdList[index]; 41 selectedId = $scope.contactIdList[index];
31 }) 42 })
32 43
33 $scope.nextContact = function(){ 44 $scope.nextContact = function(){
34 $scope.showLoader = true; 45 //$scope.showLoader = true;
35 index = index + one; 46 index = index + one;
36 selectedId = $scope.contactIdList[index]; 47 selectedId = $scope.contactIdList[index];
37 ViewcontactService.getContact(selectedId).then(function(result) { 48 ViewcontactService.getContact(selectedId).then(function(result) {
38 $scope.contactDetail = result; 49 $scope.contactDetail = result;
39 $scope.showLoader = false; 50 //$scope.showLoader = false;
40 }) 51 })
41 } 52 }
42 53
43 $scope.prevContact = function(){ 54 $scope.prevContact = function(){
44 $scope.showLoader = true; 55 //$scope.showLoader = true;
45 index = index - one; 56 index = index - one;
46 selectedId = $scope.contactIdList[index]; 57 selectedId = $scope.contactIdList[index];
47 ViewcontactService.getContact(selectedId).then(function(result) { 58 ViewcontactService.getContact(selectedId).then(function(result) {
48 $scope.contactDetail = result; 59 $scope.contactDetail = result;
49 $scope.showLoader = false; 60 //$scope.showLoader = false;
50 }) 61 })
51 } 62 }
52 63
53 $scope.changePriceEmail = function(id){ 64 $scope.changePriceEmail = function(id){
54 var statusData = "status=" + $scope.contactDetail.priceEmail; 65 var statusData = "status=" + $scope.contactDetail.priceEmail;
55 ViewcontactService.changePriceEmail(id, statusData).then(function(result) { 66 ViewcontactService.changePriceEmail(id, statusData).then(function(result) {
56 if(result.success){ 67 if(result.success){
57 $('#toogleMail').css('display', 'block'); 68 $('#toogleMail').css('display', 'block');
58 if($scope.contactDetail.priceEmail == true){ 69 if($scope.contactDetail.priceEmail == true){
59 $scope.messageText = 'You have enabled price distribution for this contact'; 70 $scope.messageText = 'You have enabled price distribution for this contact';
60 }else{ 71 }else{
61 $scope.messageText = 'You have disabled price distribution for this contact'; 72 $scope.messageText = 'You have disabled price distribution for this contact';
62 } 73 }
63 } 74 }
64 }) 75 })
65 } 76 }
66 77
67 $scope.cancelToogle = function(){ 78 $scope.cancelToogle = function(){
68 $('#toogleMail').css('display', 'none'); 79 $('#toogleMail').css('display', 'none');
69 } 80 }
70 $scope.disableNext = true; 81 $scope.disableNext = true;
71 $scope.disablePrev = true; 82 $scope.disablePrev = true;
72 setInterval(function(){ 83 setInterval(function(){
73 var checkMaxLength = $scope.contactIdList.length - one; 84 var checkMaxLength = $scope.contactIdList.length - one;
74 if (index === checkMaxLength) { 85 if (index === checkMaxLength) {
75 $scope.disableNext = true; 86 $scope.disableNext = true;
76 }else{ 87 }else{
77 $scope.disableNext = false; 88 $scope.disableNext = false;
78 } 89 }
79 if (index === 0) { 90 if (index === 0) {
80 $scope.disablePrev = true; 91 $scope.disablePrev = true;
81 }else{ 92 }else{
82 $scope.disablePrev = false; 93 $scope.disablePrev = false;
83 } 94 }
84 }, 1); 95 }, 1);
85 96
86 $scope.editName = true; 97 $scope.editName = true;
87 $scope.editCompany = true; 98 $scope.editCompany = true;
88 $scope.editAddress = true; 99 $scope.editAddress = true;
89 $scope.editPhone = true; 100 $scope.editPhone = true;
90 $scope.editMobile = true; 101 $scope.editMobile = true;
91 $scope.editEmail = true; 102 $scope.editEmail = true;
92 $scope.editContactNotes = true; 103 $scope.editContactNotes = true;
93 104
94 $scope.nameEdit = function(){ 105 $scope.nameEdit = function(){
95 $scope.editName = false; 106 $scope.editName = false;
96 $scope.showUpdateBtn = true; 107 $scope.showUpdateBtn = true;
97 } 108 }
98 $scope.addressEdit = function(){ 109 $scope.addressEdit = function(){
99 $scope.editAddress = false; 110 $scope.editAddress = false;
100 $scope.showUpdateBtn = true; 111 $scope.showUpdateBtn = true;
101 } 112 }
102 $scope.phoneEdit = function(){ 113 $scope.phoneEdit = function(){
103 $scope.editPhone = false; 114 $scope.editPhone = false;
104 $scope.showUpdateBtn = true; 115 $scope.showUpdateBtn = true;
105 } 116 }
106 $scope.mobileEdit = function(){ 117 $scope.mobileEdit = function(){
107 $scope.editMobile = false; 118 $scope.editMobile = false;
108 $scope.showUpdateBtn = true; 119 $scope.showUpdateBtn = true;
109 } 120 }
110 $scope.emailEdit = function(){ 121 $scope.emailEdit = function(){
111 $scope.editEmail = false; 122 $scope.editEmail = false;
112 $scope.showUpdateBtn = true; 123 $scope.showUpdateBtn = true;
113 } 124 }
114 $scope.notesEdit = function(){ 125 $scope.notesEdit = function(){
115 $scope.editContactNotes = false; 126 $scope.editContactNotes = false;
116 $scope.showUpdateBtn = true; 127 $scope.showUpdateBtn = true;
117 } 128 }
118 129
119 $scope.conData = {}; 130 $scope.conData = {};
120 $scope.contactData = {}; 131 $scope.contactData = {};
121 $scope.contactData.contactList = []; 132 $scope.contactData.contactList = [];
122 $scope.updateContact = function(data){ 133 $scope.updateContact = function(data){
123 $scope.showLoader = true; 134 $scope.showLoader = true;
124 $scope.editName = true; 135 $scope.editName = true;
125 $scope.editCompany = true; 136 $scope.editCompany = true;
126 $scope.editAddress = true; 137 $scope.editAddress = true;
127 $scope.editPhone = true; 138 $scope.editPhone = true;
128 $scope.editMobile = true; 139 $scope.editMobile = true;
129 $scope.editEmail = true; 140 $scope.editEmail = true;
130 $scope.editContactNotes = true; 141 $scope.editContactNotes = true;
131 142
132 $scope.conData.address = data.address; 143 $scope.conData.address = data.address;
133 $scope.conData.email = data.email; 144 $scope.conData.email = data.email;
134 $scope.conData.firstName = data.firstName; 145 $scope.conData.firstName = data.firstName;
135 $scope.conData.id = data.id; 146 $scope.conData.id = data.id;
136 $scope.conData.lastName = data.lastName; 147 $scope.conData.lastName = data.lastName;
137 $scope.conData.mobilePhone = data.mobilePhone; 148 $scope.conData.mobilePhone = data.mobilePhone;
138 $scope.conData.note = data.note; 149 $scope.conData.note = data.note;
139 $scope.conData.password = data.password; 150 $scope.conData.password = data.password;
140 $scope.conData.priceEmail = data.priceEmail; 151 $scope.conData.priceEmail = data.priceEmail;
141 $scope.conData.primaryContact = data.primaryContact; 152 $scope.conData.primaryContact = data.primaryContact;
142 $scope.conData.title = data.title; 153 $scope.conData.title = data.title;
143 $scope.conData.userName = data.userName; 154 $scope.conData.userName = data.userName;
144 $scope.conData.workPhone = data.workPhone; 155 $scope.conData.workPhone = data.workPhone;
145 $scope.conData.companyId = data.owner.id; 156 $scope.conData.companyId = data.owner.id;
146 157
147 $scope.contactData.contactList.push($scope.conData); 158 $scope.contactData.contactList.push($scope.conData);
148 $scope.contactData.contactList.push(); 159 $scope.contactData.contactList.push();
149 ViewcontactService.updateContact($scope.contactData).then(function(result) { 160 ViewcontactService.updateContact($scope.contactData).then(function(result) {
150 if(result.success){ 161 if(result.success){
151 toastr.success(''+result.success+'', { 162 toastr.success(''+result.success+'', {
152 closeButton: true 163 closeButton: true
153 }) 164 })
154 $scope.showUpdateBtn = false; 165 $scope.showUpdateBtn = false;
155 }else{ 166 }else{
156 toastr.error(''+result.statusText+'', { 167 toastr.error(''+result.statusText+'', {
157 closeButton: true 168 closeButton: true
158 }) 169 })
159 } 170 }
160 $scope.showLoader = false; 171 $scope.showLoader = false;
161 }) 172 })
162 } 173 }
163 174
164 $scope.cancelContact = function(){ 175 $scope.cancelContact = function(){
165 $scope.editName = true; 176 $scope.editName = true;
166 $scope.editCompany = true; 177 $scope.editCompany = true;
167 $scope.editAddress = true; 178 $scope.editAddress = true;
168 $scope.editPhone = true; 179 $scope.editPhone = true;
169 $scope.editMobile = true; 180 $scope.editMobile = true;
170 $scope.editEmail = true; 181 $scope.editEmail = true;
171 $scope.editContactNotes = true; 182 $scope.editContactNotes = true;
172 $scope.showUpdateBtn = false; 183 $scope.showUpdateBtn = false;
173 } 184 }
174 185
175 $scope.checkPrimaryContact = function(companyId){ 186 $scope.checkPrimaryContact = function(companyId){
176 if($scope.contactDetail.primaryContact == true){ 187 if($scope.contactDetail.primaryContact == true){
177 ViewCompanyService.checkPrimaryContact(companyId).then(function(result) { 188 ViewCompanyService.checkPrimaryContact(companyId).then(function(result) {
178 console.log(result) 189 console.log(result)
179 if(result.status == 422 || result.status == 200){ 190 if(result.status == 422 || result.status == 200){
180 $('#primaryContact').css('display', 'block'); 191 $('#primaryContact').css('display', 'block');
181 } 192 }
182 }) 193 })
183 }else{ 194 }else{
184 var primaryContactData = "companyContactId=" + $scope.contactDetail.id + "&primary=false"; 195 var primaryContactData = "companyContactId=" + $scope.contactDetail.id + "&primary=false";
185 196
186 ViewCompanyService.addPrimaryContact(primaryContactData).then(function(result) { 197 ViewCompanyService.addPrimaryContact(primaryContactData).then(function(result) {
187 console.log(result) 198 console.log(result)
188 }) 199 })
189 } 200 }
190 } 201 }
191 202
192 $scope.cancelPrimaryContact = function(){ 203 $scope.cancelPrimaryContact = function(){
193 $('#primaryContact').css('display', 'none'); 204 $('#primaryContact').css('display', 'none');
194 $scope.contactDetail.primaryContact = false; 205 $scope.contactDetail.primaryContact = false;
195 console.log($scope.contactDetail.primaryContact) 206 console.log($scope.contactDetail.primaryContact)
196 } 207 }
197 208
198 $scope.sendPrimaryContact = function(id){ 209 $scope.sendPrimaryContact = function(id){
199 $('#primaryContact').css('display', 'none'); 210 $('#primaryContact').css('display', 'none');
200 var primaryContactData = "companyContactId=" + id + "&primary=" + $scope.contactDetail.primaryContact; 211 var primaryContactData = "companyContactId=" + id + "&primary=" + $scope.contactDetail.primaryContact;
201 212
202 ViewCompanyService.addPrimaryContact(primaryContactData).then(function(result) { 213 ViewCompanyService.addPrimaryContact(primaryContactData).then(function(result) {
203 console.log(result) 214 console.log(result)
204 }) 215 })
205 216
206 } 217 }
207 218
208 var deleteContact = ""; 219 var deleteContact = "";
209 $scope.deleteContact = function(id){ 220 $scope.deleteContact = function(id){
210 $('#delete2').css('display', 'block'); 221 $('#delete2').css('display', 'block');
211 deleteContact = id; 222 deleteContact = id;
212 } 223 }
213 224
214 $scope.contactDelete = function(){ 225 $scope.contactDelete = function(){
215 ViewcontactService.deleteContact(deleteContact).then(function(result) { 226 ViewcontactService.deleteContact(deleteContact).then(function(result) {
216 console.log(result) 227 console.log(result)
217 if(result.success){ 228 if(result.success){
218 deleteContact = ""; 229 deleteContact = "";
219 $('#delete2').css('display', 'none'); 230 $('#delete2').css('display', 'none');
220 toastr.success(''+result.success+'', { 231 toastr.success(''+result.success+'', {
221 closeButton: true 232 closeButton: true
222 }) 233 })
223 $state.go('app.viewCompany', {"id": contactCompanyId}); 234 $state.go('app.viewCompany', {"id": contactCompanyId});
224 } 235 }
225 236
226 }) 237 })
227 } 238 }
228 239
229 $scope.cancelDelete = function(){ 240 $scope.cancelDelete = function(){
230 $('#delete2').css('display', 'none'); 241 $('#delete2').css('display', 'none');
231 } 242 }
232 243
233 }]); 244 }]);
234 245
app/partials/viewcontact/viewcontact.html
1 <style type="text/css"> 1 <style type="text/css">
2 .toggle.btn{ 2 .toggle.btn{
3 width: 140px !important; 3 width: 140px !important;
4 } 4 }
5 </style> 5 </style>
6 6
7 <div class="myLoader" ng-show="showLoader"> 7 <div class="myLoader" ng-show="showLoader">
8 <img src="../img/hourglass.gif" width="50px;"> 8 <img src="../img/hourglass.gif" width="50px;">
9 </div> 9 </div>
10 <div class="container"> 10 <div class="container">
11 <div class="row"> 11 <div class="row">
12 <div class="col-md-10" style="padding-right: 60px; margin-bottom: 30px;"> 12 <div class="col-md-10" style="padding-right: 60px; margin-bottom: 30px;">
13 <div class="widget"> 13 <div class="widget">
14 <div class="widget-header"> 14 <div class="widget-header">
15 <i class="icon-pencil"></i> 15 <i class="icon-pencil"></i>
16 <i class="fa fa-building-o" aria-hidden="true"></i> 16 <i class="fa fa-building-o" aria-hidden="true"></i>
17 <h3>Antioch Flight Department</h3> 17 <h3>Antioch Flight Department</h3>
18 <i class="fa fa-times" areia-hidden="true" ng-click="goBack()" style="float: right; margin-top: 10px; margin-right: 10px; cursor: pointer;"></i> 18 <i class="fa fa-times" areia-hidden="true" ng-click="goBack()" style="float: right; margin-top: 10px; margin-right: 10px; cursor: pointer;"></i>
19 </div> 19 </div>
20 <div class="widget-content" style="padding-left: 0; padding-right: 0; "> 20 <div class="widget-content" style="padding-left: 0; padding-right: 0; ">
21 <div class="container"> 21 <div class="container">
22 <div style="margin-bottom: 25px;"> 22 <div style="margin-bottom: 25px;">
23 <button ng-disabled="disablePrev" class="newButtons" ng-click="prevContact()"> 23 <button ng-disabled="disablePrev" class="newButtons animation_select" ng-click="prevContact()" data-animation="fadeInLeft">
24 <i class="fa fa-long-arrow-left" aria-hidden="true"></i> 24 <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
25 Previous Contact 25 Previous Contact
26 </button> 26 </button>
27 <button ng-disabled="disableNext" class="newButtons" ng-click="nextContact()"> 27 <button ng-disabled="disableNext" class="newButtons animation_select" ng-click="nextContact()" data-animation="fadeInRight">
28 Next Contact 28 Next Contact
29 <i class="fa fa-long-arrow-right" aria-hidden="true"></i> 29 <i class="fa fa-long-arrow-right" aria-hidden="true"></i>
30 </button> 30 </button>
31 </div> 31 </div>
32 <div class="row"> 32 <div class="row">
33 <div class="col-md-6" style="margin-left: 20px;"> 33 <div class="col-md-6" style="margin-left: 20px;">
34 <div class="widget stacked"> 34 <div class="widget stacked" id="animation_box">
35 <div class="widget-header"> 35 <div class="widget-header">
36 <i class="fa fa-building-o" aria-hidden="true"></i> 36 <i class="fa fa-building-o" aria-hidden="true"></i>
37 <h3 style="margin-right: 0px;">Contact Detail</h3> 37 <h3 style="margin-right: 0px;">Contact Detail</h3>
38 <i class="fa fa-trash-o deleteTierIcon" ng-click="deleteContact(contactDetail.id)" style="color: white;" aria-hidden="true"></i> 38 <i class="fa fa-trash-o deleteTierIcon" ng-click="deleteContact(contactDetail.id)" style="color: white;" aria-hidden="true"></i>
39 <div class="pull-right" style="margin-top: 5px; margin-right: 10px;"> 39 <div class="pull-right" style="margin-top: 5px; margin-right: 10px;">
40 <toggle ng-model="contactDetail.priceEmail" style="width: 140px;" ng-change="changePriceEmail(contactDetail.id)" size="customToogle" on="PRICE EMAIL ON" off="PRICE EMAIL OFF"></toggle> 40 <toggle ng-model="contactDetail.priceEmail" style="width: 140px;" ng-change="changePriceEmail(contactDetail.id)" size="customToogle" on="PRICE EMAIL ON" off="PRICE EMAIL OFF"></toggle>
41 </div> 41 </div>
42 42
43 </div> 43 </div>
44 <div class="widget-content"> 44 <div class="widget-content">
45 <div class="row" style="margin-left:0px"> 45 <div class="row" style="margin-left:0px">
46 <div class="col-md-6" style="padding-left: 0px;"> 46 <div class="col-md-6" style="padding-left: 0px;">
47 <h3> 47 <h3>
48 <b ng-show="editName" style="color:#F90;">{{contactDetail.firstName}} {{contactDetail.lastName}}</b> 48 <b ng-show="editName" style="color:#F90;">{{contactDetail.firstName}} {{contactDetail.lastName}}</b>
49 <input type="text" ng-hide="editName" class="form-control" style="width: 49%; float: left; margin-right: 1%;" ng-model="contactDetail.firstName"> 49 <input type="text" ng-hide="editName" class="form-control" style="width: 49%; float: left; margin-right: 1%;" ng-model="contactDetail.firstName">
50 <input type="text" ng-hide="editName" class="form-control" style="width: 49%;" ng-model="contactDetail.lastName"> 50 <input type="text" ng-hide="editName" class="form-control" style="width: 49%;" ng-model="contactDetail.lastName">
51 &nbsp;<i class="fa fa-pencil-square-o" ng-show="editName" ng-click="nameEdit()" style="font-size: 11px;" aria-hidden="true"></i> 51 &nbsp;<i class="fa fa-pencil-square-o" ng-show="editName" ng-click="nameEdit()" style="font-size: 11px;" aria-hidden="true"></i>
52 </h3> 52 </h3>
53 {{contactDetail.owner.companyName}} 53 {{contactDetail.owner.companyName}}
54 </div> 54 </div>
55 <div class="col-md-6"> 55 <div class="col-md-6">
56 <div style="margin-bottom: 10px" class="input-group email-password"> 56 <div style="margin-bottom: 10px" class="input-group email-password">
57 <span class="input-group-addon email-password"><i class="glyphicon glyphicon-user email-password-icon"></i></span> 57 <span class="input-group-addon email-password"><i class="glyphicon glyphicon-user email-password-icon"></i></span>
58 <input id="login-username" type="text" ng-model="contactDetail.userName" class="form-control email-password" placeholder="username or email"> 58 <input id="login-username" type="text" ng-model="contactDetail.userName" class="form-control email-password" placeholder="username or email">
59 </div> 59 </div>
60 60
61 <!-- <div class="input-group email-password"> 61 <!-- <div class="input-group email-password">
62 <span class="input-group-addon email-password"><i class="fa fa-key" aria-hidden="true"></i></span> 62 <span class="input-group-addon email-password"><i class="fa fa-key" aria-hidden="true"></i></span>
63 <input id="login-password" type="password" class="form-control email-password" name="password" placeholder="password"> 63 <input id="login-password" type="password" class="form-control email-password" name="password" placeholder="password">
64 </div> --> 64 </div> -->
65 </div> 65 </div>
66 </div> 66 </div>
67 <div> 67 <div>
68 <p> 68 <p>
69 <span ng-show="editAddress"> 69 <span ng-show="editAddress">
70 <i class="fa fa-map-marker"></i> {{contactDetail.address}} &nbsp; 70 <i class="fa fa-map-marker"></i> {{contactDetail.address}} &nbsp;
71 <i class="fa fa-pencil-square-o" ng-click="addressEdit()" style="font-size: 11px;" aria-hidden="true"></i> 71 <i class="fa fa-pencil-square-o" ng-click="addressEdit()" style="font-size: 11px;" aria-hidden="true"></i>
72 </span> 72 </span>
73 73
74 <input type="text" ng-hide="editAddress" style="width: 50%;" class="form-control" ng-model="contactDetail.address"> 74 <input type="text" ng-hide="editAddress" style="width: 50%;" class="form-control" ng-model="contactDetail.address">
75 </p> 75 </p>
76 76
77 <p ng-show="editPhone"><i class="fa fa-phone"></i> {{contactDetail.mobilePhone}} &nbsp;<i class="fa fa-pencil-square-o" ng-click="phoneEdit()" style="font-size: 11px;" aria-hidden="true"></i></p> 77 <p ng-show="editPhone"><i class="fa fa-phone"></i> {{contactDetail.mobilePhone}} &nbsp;<i class="fa fa-pencil-square-o" ng-click="phoneEdit()" style="font-size: 11px;" aria-hidden="true"></i></p>
78 <p ng-hide="editPhone"> 78 <p ng-hide="editPhone">
79 <input type="text" style="width: 50%;" ng-model="contactDetail.mobilePhone" class="form-control"> 79 <input type="text" style="width: 50%;" ng-model="contactDetail.mobilePhone" class="form-control">
80 </p> 80 </p>
81 81
82 <p ng-show="editMobile"><i class="fa fa-mobile"></i> {{contactDetail.workPhone}} &nbsp;<i class="fa fa-pencil-square-o" ng-click="mobileEdit()" style="font-size: 11px;" aria-hidden="true"></i></p> 82 <p ng-show="editMobile"><i class="fa fa-mobile"></i> {{contactDetail.workPhone}} &nbsp;<i class="fa fa-pencil-square-o" ng-click="mobileEdit()" style="font-size: 11px;" aria-hidden="true"></i></p>
83 <p ng-hide="editMobile"> 83 <p ng-hide="editMobile">
84 <input type="text" style="width: 50%;" ng-model="contactDetail.workPhone" class="form-control"> 84 <input type="text" style="width: 50%;" ng-model="contactDetail.workPhone" class="form-control">
85 </p> 85 </p>
86 86
87 <p ng-show="editEmail"><i class="fa fa-envelope"></i> {{contactDetail.email}} &nbsp;<i class="fa fa-pencil-square-o" ng-click="emailEdit()" style="font-size: 11px;" aria-hidden="true"></i></p> 87 <p ng-show="editEmail"><i class="fa fa-envelope"></i> {{contactDetail.email}} &nbsp;<i class="fa fa-pencil-square-o" ng-click="emailEdit()" style="font-size: 11px;" aria-hidden="true"></i></p>
88 <p ng-hide="editEmail"> 88 <p ng-hide="editEmail">
89 <input type="email" style="width: 50%;" ng-model="contactDetail.email" class="form-control"> 89 <input type="email" style="width: 50%;" ng-model="contactDetail.email" class="form-control">
90 </p> 90 </p>
91 <div> 91 <div>
92 <input type="checkbox" ng-checked="contactDetail.primaryContact" ng-click="checkPrimaryContact(contactDetail.owner.id)" ng-model="contactDetail.primaryContact">&nbsp; 92 <input type="checkbox" ng-checked="contactDetail.primaryContact" ng-click="checkPrimaryContact(contactDetail.owner.id)" ng-model="contactDetail.primaryContact">&nbsp;
93 <span>Primary Contact </span> 93 <span>Primary Contact </span>
94 </div> 94 </div>
95 </div> 95 </div>
96 </br> 96 </br>
97 <div> 97 <div>
98 <p><b>Contact Notes</b> &nbsp;<i ng-show="editContactNotes" class="fa fa-pencil-square-o" ng-click="notesEdit()" style="font-size: 11px;" aria-hidden="true"></i> 98 <p><b>Contact Notes</b> &nbsp;<i ng-show="editContactNotes" class="fa fa-pencil-square-o" ng-click="notesEdit()" style="font-size: 11px;" aria-hidden="true"></i>
99 <p ng-show="editContactNotes">{{contactDetail.note}}</p> 99 <p ng-show="editContactNotes">{{contactDetail.note}}</p>
100 <p ng-hide="editContactNotes"> 100 <p ng-hide="editContactNotes">
101 <textarea ng-model="contactDetail.note" class="form-control" style="resize: vertical;"></textarea> 101 <textarea ng-model="contactDetail.note" class="form-control" style="resize: vertical;"></textarea>
102 </p> 102 </p>
103 103
104 <div> 104 <div>
105 <button ng-click="updateContact(contactDetail)" ng-show="showUpdateBtn" class="btn btn-success pull-left">Update Contact</button> 105 <button ng-click="updateContact(contactDetail)" ng-show="showUpdateBtn" class="btn btn-success pull-left">Update Contact</button>
106 <button ng-click="cancelContact()" style="margin-left: 5px;" ng-show="showUpdateBtn" class="btn btn-default pull-left">Cancel</button> 106 <button ng-click="cancelContact()" style="margin-left: 5px;" ng-show="showUpdateBtn" class="btn btn-default pull-left">Cancel</button>
107 <button type="button" class="btn btn-primary pull-right">Send Price to This Contacts</button> 107 <button type="button" class="btn btn-primary pull-right">Send Price to This Contacts</button>
108 <div class="clearfix"></div> 108 <div class="clearfix"></div>
109 </div> 109 </div>
110 </div> 110 </div>
111 <!-- <div class="col-md-6"> 111 <!-- <div class="col-md-6">
112 <button type="button" class="btn btn-primary">Send Price to This Contacts</button> 112 <button type="button" class="btn btn-primary">Send Price to This Contacts</button>
113 </div> --> 113 </div> -->
114 </div> 114 </div>
115 </div> 115 </div>
116 </div> 116 </div>
117 </div> 117 </div>
118 </div> 118 </div>
119 </div> 119 </div>
120 </div> 120 </div>
121 </div> 121 </div>
122 </div> 122 </div>
123 123
124 <div class="customConfirmPopBackdrop" id="primaryContact"> 124 <div class="customConfirmPopBackdrop" id="primaryContact">
125 <div class="customModalInner" style="max-width: 400px;"> 125 <div class="customModalInner" style="max-width: 400px;">
126 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 126 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
127 <table> 127 <table>
128 <tr> 128 <tr>
129 <td> 129 <td>
130 <img src="img/info.png" style="width: 50px;"> 130 <img src="img/info.png" style="width: 50px;">
131 </td> 131 </td>
132 <td> 132 <td>
133 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure you want to set this person as your primary contact?</p> 133 <p style="padding: 5px 10px; margin-bottom: 0;">Are you sure you want to set this person as your primary contact?</p>
134 </td> 134 </td>
135 </tr> 135 </tr>
136 </table> 136 </table>
137 </div> 137 </div>
138 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 138 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
139 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="sendPrimaryContact(contactDetail.id)">Yes</button> 139 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="sendPrimaryContact(contactDetail.id)">Yes</button>
140 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelPrimaryContact()">Cancel</button> 140 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelPrimaryContact()">Cancel</button>
141 </div> 141 </div>
142 </div> 142 </div>
143 </div> 143 </div>
144 144
145 <div class="customConfirmPopBackdrop" id="toogleMail"> 145 <div class="customConfirmPopBackdrop" id="toogleMail">
146 <div class="customModalInner" style="max-width: 400px;"> 146 <div class="customModalInner" style="max-width: 400px;">
147 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 147 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
148 <table> 148 <table>
149 <tr> 149 <tr>
150 <!-- <td> 150 <!-- <td>
151 <img src="" style="width: 50px;"> 151 <img src="" style="width: 50px;">
152 </td> --> 152 </td> -->
153 <td> 153 <td>
154 <p style="padding: 5px 10px; margin-bottom: 0;text-align: center;">{{messageText}}</p> 154 <p style="padding: 5px 10px; margin-bottom: 0;text-align: center;">{{messageText}}</p>
155 </td> 155 </td>
156 </tr> 156 </tr>
157 </table> 157 </table>
158 </div> 158 </div>
159 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 159 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
160 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelToogle()">Cancel</button> 160 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelToogle()">Cancel</button>
161 </div> 161 </div>
162 </div> 162 </div>
163 </div> 163 </div>
164 164
165 <div class="customConfirmPopBackdrop" id="delete2"> 165 <div class="customConfirmPopBackdrop" id="delete2">
166 <div class="customModalInner" style="max-width: 400px;"> 166 <div class="customModalInner" style="max-width: 400px;">
167 <div class="customModelBody" style="border-radius: 5px 5px 0 0;"> 167 <div class="customModelBody" style="border-radius: 5px 5px 0 0;">
168 <table> 168 <table>
169 <tr> 169 <tr>
170 <td> 170 <td>
171 <img src="img/info.png" style="width: 50px;"> 171 <img src="img/info.png" style="width: 50px;">
172 </td> 172 </td>
173 <td> 173 <td>
174 <p style="padding: 5px 10px; margin-bottom: 0;">Please confirm! Are you sure you want to DELETE this Contact?</p> 174 <p style="padding: 5px 10px; margin-bottom: 0;">Please confirm! Are you sure you want to DELETE this Contact?</p>
175 </td> 175 </td>
176 </tr> 176 </tr>
177 </table> 177 </table>
178 </div> 178 </div>
179 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;"> 179 <div class="customModelFooter text-right" style="border-radius: 0 0 5px 5px;">
180 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="contactDelete()">Accept</button> 180 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="contactDelete()">Accept</button>
181 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelDelete()">Cancel</button> 181 <button class="btn" style="padding: 4px 0; width: 80px;" ng-click="cancelDelete()">Cancel</button>
182 </div> 182 </div>
183 </div> 183 </div>
184 </div> 184 </div>