Yangman - module search, selected module color
[dlux.git] / modules / yangman-resources / src / main / resources / yangman / yangman.less
1 // general
2 @fontColor : #505050;
3 @fontColorLight: #a9a9a9;
4 @fontHighlight: orange;
5 @listBackColor: #f8f8f8;
6 @listActiveColor: #E7E7E7;
7 @appBackColor: #ffffff;
8 @unactiveTabFontColor: #a9a9a9;
9 @colorActive: rgb(64,196,255);
10 @popupHeaderColor: #ffffff;
11
12 // yangman
13 @leftPanelBackColor: #f3f3f3;
14 @infoBoxBackColor: rgba(255, 255, 255, 0.25);
15 @infoBoxBorderColor: #aad1f9;
16 @dataStoreListHoverColor: #dadada;
17 @dataStoreListShadowColor: rgba(0,0,0,.14);
18 @dataStoreListBorderColor: rgba(0,0,0,0.12);
19 @dashedBorderColor: rgba(0,0,0,0.54);
20 @inputColor: rgba(0,0,0,0.87);
21 @reqMethodGet: #63d33b;
22 @reqMethodPut: #6fbad3;
23 @reqMethodPost: #ea9c30;
24 @reqMethodDelete: #eabb2f;
25 @reqError: #ff0000;
26
27 // helpers
28 .pointer{
29     cursor: pointer;
30     outline: 0 none;
31 }
32
33 .no-wrap{
34     white-space: nowrap;
35 }
36
37 .text-center{
38     text-align: center;
39 }
40
41 .text-left{
42     text-align: left;
43 }
44
45 .h100{
46     height: 100%;
47 }
48
49 .mb30{
50     margin-bottom: 30px;
51 }
52
53 .nrp{
54     padding-right: 0!important;
55 }
56
57 // general
58 .md-open-menu-container{
59     span{
60         color: @fontColor;
61     }
62
63     h5{
64         margin: 0 16px;
65         color: @unactiveTabFontColor;
66
67         md-icon{
68             color: @unactiveTabFontColor;
69             font-size: 18px;
70         }
71     }
72
73     md-menu-content{
74         .info-box{
75             position: absolute;
76             left: 100%;
77             top: 0;
78             margin-left: 10px;
79             min-width: 300px;
80             padding: 0;
81             z-index: 10;
82             background: #fff;
83             -webkit-transition: all 150ms linear;
84             -moz-transition: all 150ms linear;
85             -ms-transition: all 150ms linear;
86             -o-transition: all 150ms linear;
87             transition: all 150ms linear;
88             opacity: 1;
89             max-height: 300px;
90             overflow-y: auto;
91             overflow-x: hidden;
92
93             &__padding{
94                 padding: 16px;
95             }
96
97             &.ng-hide{
98                 opacity: 0;
99             }
100         }
101     }
102
103     svg {
104          border: none;
105          border-radius: 0px;
106          background-image: none;
107     }
108
109     .icon-wrapper{
110         padding: 0 16px;
111     }
112 }
113
114 .md-select-menu-container{
115     z-index: 1000;
116 }
117
118 .svg-icon{
119     width: 24px;
120     height: 24px;
121     padding-top: 4px;
122     padding-bottom: 4px;
123     color: @dashedBorderColor;
124 }
125
126 md-ink-bar.custom{
127     width: 100%;
128     color: @colorActive;
129     left: 0;
130     background: @colorActive;
131 }
132
133 button{
134     label{
135         font-weight: normal;
136     }
137 }
138
139 .ui-resizable-e{
140     cursor: e-resize;
141     height: 100%;
142     width: 7px;
143     top: 0;
144     position: absolute;
145     right: 0;
146 }
147
148 .info-box-container{
149     position: relative;
150
151     &__hover-wrapper{
152         display: inline-block;
153         width: 100%;
154     }
155
156     .info-box{
157         position: absolute;
158         left: 90%;
159         top: 0;
160         margin-left: 10px;
161         min-width: 300px;
162         padding: 0;
163         z-index: 10;
164         background: #fff;
165         -webkit-transition: all 150ms linear;
166         -moz-transition: all 150ms linear;
167         -ms-transition: all 150ms linear;
168         -o-transition: all 150ms linear;
169         transition: all 150ms linear;
170         opacity: 1;
171         max-height: 300px;
172         overflow-y: auto;
173         overflow-x: hidden;
174
175         &__padding{
176             padding: 16px;
177         }
178
179         &.ng-hide{
180             opacity: 0;
181         }
182
183         span{
184             color: @fontColor;
185         }
186     }
187
188     md-menu-divider{
189         margin-top: 4px;
190         margin-bottom: 4px;
191         height: 1px;
192         min-height: 1px;
193         max-height: 1px;
194         width: 100%;
195         background-color: @dataStoreListBorderColor;
196         display: block;
197     }
198 }
199
200 // yangman
201 .yangmanModule{
202     background-color: @appBackColor;
203     color: @fontColor;
204     height: 100%;
205
206     .ui-resizable-s{
207         height: 13px;
208     }
209
210     .box-container{
211         padding: 16px;
212         margin: 8px 0;
213     }
214
215     .historyTab{
216         height: calc(~'100% - 62px');
217     }
218
219     .collectionsTab{
220         height: calc(~'100% - 62px');
221     }
222
223
224     p{
225         margin: 0;
226     }
227
228     h1, h2, h3, h4, h5, h6{
229         color: @fontColor;
230     }
231
232     .scrollableY{
233         overflow-y: auto;
234         height: 100%;
235     }
236
237     .scrollableX{
238         overflow-x: auto;
239         //width: 100%;
240     }
241
242     .highlight{
243         color: @fontHighlight;
244     }
245     md-tabs-content-wrapper{
246         top: 0!important;
247     }
248
249     // modules switcher -> list && detail
250     .arrow-switcher{
251         position: absolute;
252         top: 2px;
253         cursor: pointer;
254         outline: 0 none;
255         z-index: 10;
256         font-size: 2.5em;
257         left: -11px;
258         -webkit-transition: all 250ms ease-out;
259         -moz-transition: all 250ms ease-out;
260         -ms-transition: all 250ms ease-out;
261         -o-transition: all 250ms ease-out;
262         transition: all 250ms ease-out;
263
264         &__left{
265             //right: -11px;
266             left: calc(~'100% - 24px');
267             -moz-transform: rotate(180deg);
268             -webkit-transform: rotate(180deg);
269             -o-transform: rotate(180deg);
270             -ms-transform: rotate(180deg);
271             transform: rotate(180deg);
272         }
273
274         &.ng-hide{
275             opacity: 0;
276         }
277     }
278
279     md-dialog{
280         h2{
281             color: @popupHeaderColor;
282         }
283
284         &-actions{
285             button{
286                 span{
287                     color: @fontColor;
288                 }
289             }
290         }
291     }
292     // left panel
293     &__left-panel{
294         overflow-x: hidden;
295         background: @leftPanelBackColor;
296         position: relative;
297
298         &__search{
299             padding: 10px 13px;
300             background: @listBackColor;
301             min-height: 62px;
302
303             .md-errors-spacer{
304                 display: none;
305             }
306
307             md-icon{
308                 color: @dashedBorderColor;
309             }
310
311             .md-has-icon.modules-list-search{
312                 padding: 2px 25px;
313                 margin: 0;
314
315                 .md-input{
316                     width: auto;
317                     order: 0;
318                 }
319
320                 button{
321                     margin: 0;
322                     padding: 0;
323                     min-width: 0;
324                     min-height: 0;
325                     line-height: normal;
326
327                     &:hover, &:focus, &:active, &:visited{
328                         background: transparent;
329                     }
330
331                     .md-ripple-container{
332                         display: none;
333                     }
334                 }
335             }
336         }
337
338         md-tabs,
339         md-tab-content > div,
340         md-content,
341         .h100{
342             height: 100%;
343         }
344
345         md-tabs-canvas{
346             border-bottom: 1px solid #dbdbdb;
347             padding-top: 30px;
348             height: 78px;
349         }
350
351         md-ink-bar{
352             height: 4px;
353         }
354
355         md-content{
356             background: transparent;
357         }
358
359         .md-tab{
360             span{
361                 color: @unactiveTabFontColor;
362             }
363
364             &.md-active{
365                 span{
366                     color: @fontColor;
367                 }
368             }
369         }
370
371         &__detail-list-tabs-container{
372             > md-tabs-wrapper{
373                 display: none;
374             }
375
376             .inline-tabs > md-tabs-wrapper{
377                 display: inline;
378             }
379         }
380
381         .searchBox{
382             height: auto;
383             padding: 10px 13px;
384             font-size: 14px;
385
386             #importCollection{
387                 display: none;
388             }
389
390             label{
391                 margin-bottom: 0;
392             }
393
394             md-icon.clickable{
395                 cursor: pointer;
396             }
397
398             #importParameters{
399                 display: none;
400             }
401
402             > button{
403                 margin: 6px 10px 0 0;
404                 height: 30px;
405                 min-width: 30px;
406                 padding: 0;
407             }
408
409             md-menu{
410                 margin: 0;
411                 height: 30px;
412                 min-width: 30px;
413                 padding: 0;
414
415                 > button{
416                     min-width: 30px;
417                 }
418             }
419
420
421         }
422
423         //loading panel
424         &__loading-container {
425             display: block;
426             position: relative;
427             border: 2px solid @infoBoxBorderColor;
428             transition: opacity  0.1s linear;
429             border-top: 0px;
430             margin: 10px;
431
432             .bottom-block {
433                 display: block;
434                 position: relative;
435                 background-color: @infoBoxBackColor;
436                 height: 85px;
437
438                 > span {
439                     display: inline-block;
440                     margin-top: 10px;
441                     padding: 25px;
442                     font-size: 0.9em;
443                 }
444             }
445         }
446     }
447
448     // right panel
449     &__right-panel{
450         height: 100%;
451
452         .bottom-content{
453             height: calc(~'100% - 195px');
454             overflow-y: auto;
455
456             .codemirror-container{
457                 height: 100%;
458             }
459         }
460
461         &__header{
462             margin-bottom: 30px;
463
464             > md-content{
465                 background: @leftPanelBackColor;
466
467                 md-content{
468                     background: transparent;
469                 }
470             }
471
472             md-input-container{
473                 margin: 0;
474             }
475
476             .md-errors-spacer{
477                 display: none;
478             }
479
480             .input-span{
481                 padding-top: 3px;
482             }
483
484             .input-identifier{
485                 max-width: 80px;
486                 border-color: @colorActive;
487                 padding-left: 0;
488             }
489
490             md-divider{
491                 margin-top: 20px;
492             }
493
494             .status-bar{
495                 min-height: 60px;
496
497                 .status-text{
498                     span span{
499                         color: @colorActive;
500                     }
501                 }
502             }
503         }
504
505         &__request-progress{
506
507             margin-top: 12px;
508             margin-bottom: 12px;
509
510             &__loading-container {
511                 display: block;
512                 position: relative;
513                 border: 2px solid @infoBoxBorderColor;
514                 transition: opacity  0.1s linear;
515                 border-top: 0px;
516                 margin: 0;
517
518                 .bottom-block {
519                     display: block;
520                     position: relative;
521                     background-color: @infoBoxBackColor;
522                     height: 85px;
523
524                     > span {
525                         display: inline-block;
526                         margin-top: 10px;
527                         padding: 25px;
528                         font-size: 0.9em;
529                     }
530                 }
531             }
532         }
533
534         &__req-data{
535
536             > div{
537                 height: 100%;
538                 padding-right: 2px;
539                 padding-bottom: 10px;
540                 position: relative;
541
542
543                 > div:not(.ui-resizable-handle) {
544                     height: calc(~'100% - 25px');
545                     overflow-y: auto;
546                 }
547
548                 h5{
549                     margin-top: 0;
550                 }
551
552                 &.half-size{
553                     height: 50%;
554                 }
555             }
556
557             .paramsBox{
558                 position: absolute;
559                 top: 30px;
560                 right: 26px;
561                 background-color: rgba(235, 235, 228, 0.62);
562                 padding: 15px;
563             }
564
565             .CodeMirror { height: 100%; }
566
567             md-toast{
568                 margin-top: 24px;
569             }
570         }
571
572         &__form{
573
574             .box-container.union{
575                 padding: 0;
576             }
577
578             .union-tabs{
579                 margin: 8px 0;
580
581                 md-content{
582                     min-width: 250px;
583                 }
584
585                 .md-tab{
586                     padding: 6px 12px;
587                 }
588
589                 md-pagination-wrapper,
590                 md-tabs-canvas{
591                     height: 36px;
592                 }
593             }
594
595             md-input-container{
596                 margin: 0;
597
598                 > md-icon {
599                     left: auto;
600                     right: 2px;
601                     color: @dashedBorderColor;
602                 }
603
604                 &.md-has-icon{
605                     padding-right: 36px;
606                     padding-left: 0px;
607                 }
608
609                 .md-errors-spacer{
610                     display: none;
611                 }
612             }
613
614             .md-menu.menu-container{
615                 padding: 0;
616
617                 .md-button{
618                     height: 22px;
619                     min-height: 22px;
620
621                     &.md-icon-button{
622                         padding: 0 8px;
623                     }
624                 }
625             }
626
627             .menu-placeholder{
628                 padding: 11px 26px;
629             }
630
631             p.top-element{
632                 margin: 0 10px 0 0;
633                 min-width: 80px;
634
635                 &.list-label{
636                     color: @colorActive;
637                 }
638             }
639
640             &__element-container{
641                 margin: 25px 5px 5px 15px;
642                 padding: 5px;
643
644                 &.expanded{
645                     border-left: 1px dashed @dashedBorderColor;
646                 }
647
648                 md-input-container{
649                     &.input-icon-container{
650                         margin-left: 15px;
651
652                         md-icon{
653                             margin: 0;
654                         }
655                     }
656                 }
657
658                 .container-label{
659                     margin: -20px 0 10px -17px;
660
661                     md-icon{
662                         margin: 0;
663                     }
664                 }
665             }
666
667             &__leaf-container{
668                 padding-left: 10px;
669
670                 md-input-container,
671                 md-switch,
672                 md-checkbox{
673                     margin: 5px 0;
674                 }
675             }
676
677             &__list{
678                 &__paginator{
679                     //margin-left: 40px;
680                     button {
681                         background: transparent;
682                         border: 0;
683                         outline: 0 none;
684                     }
685                 }
686             }
687
688             &__list-item{
689                 margin: 0 5px;
690
691                 md-tab-item{
692                     position: relative;
693
694                     &.md-tab{
695                         padding: 6px 12px;
696                     }
697                 }
698             }
699         }
700     }
701
702
703     //modules list
704     &__modules-list{
705         padding: 0;
706         background: @listBackColor;
707         height: calc(~"100% - 62px")!important;
708
709         h4{
710             margin: 0;
711             padding: 10px 20px;
712         }
713
714         &__item{
715             padding: 0!important;
716
717             .title{
718                 -webkit-transition: all 150ms ease;
719                 -moz-transition: all 150ms ease;
720                 -ms-transition: all 150ms ease;
721                 -o-transition: all 150ms ease;
722                 transition: all 150ms ease;
723             }
724
725             &.expanded{
726                 background: @listActiveColor;
727             }
728
729             &.selected{
730                 .title{
731                     background-color: @colorActive!important;
732                     color: #fff!important;
733                 }
734             }
735
736             md-icon{
737                 margin: 12px 16px;
738             }
739
740             &:hover{
741                 .title{
742                     background: @listActiveColor;
743                 }
744             }
745         }
746     }
747
748     // datastore list
749     &__datastore-list{
750         padding: 0;
751         border-top: 1px solid @dataStoreListBorderColor;
752         background: @listBackColor;
753         -webkit-box-shadow:inset 0 7px 7px -5px @dataStoreListShadowColor;
754         box-shadow:inset 0 7px 7px -5px @dataStoreListShadowColor;
755
756         md-list-item {
757             min-height: 0;
758             padding: 0;
759             font-size: .85em;
760
761             &:hover{
762                 background: @dataStoreListHoverColor;
763             }
764
765             md-icon{
766                 margin: 6px 16px 6px 48px;
767                 font-size: 20.4px;
768             }
769         }
770     }
771
772     // module history collections tabs
773     &__mhc-tabs{
774
775         md-list-item{
776             .md-no-style{
777                 padding: 0;
778             }
779         }
780
781         > md-tabs-content-wrapper{
782             height: calc(~'100% - 78px');
783
784             > md-tab-content{
785                 height: 100%;
786             }
787         }
788     }
789
790     // module detail
791     &__module-detail{
792         h4{
793             padding-top: 30px;
794             margin: 0 15px;
795         }
796
797         .tabs{
798             height: calc(~'100% - 49px');
799
800             md-tabs-canvas{
801                 padding-top: 0;
802                 height: 48px;
803             }
804
805             > md-tabs-content-wrapper{
806                 height: calc(~'100% - 48px');
807
808                 > md-tab-content{
809                     height: 100%;
810                 }
811             }
812
813             .md-tab{
814                 padding: 0;
815             }
816
817             md-tab-item{
818                 span{
819                     outline: 0 none;
820                     padding: 12px 24px;
821                 }
822             }
823         }
824
825         > div{
826             height: 100%;
827
828             > md-content{
829                 overflow-y: hidden;
830             }
831         }
832     }
833
834     &__requests-list{
835         background: @listBackColor;
836         padding: 0;
837
838         .md-subheader{
839             background: none;
840
841         }
842
843         md-list{
844             padding-top: 0;
845         }
846
847         &__group{
848
849             padding: 0!important;
850
851             &__item{
852
853                 &__path{
854                     white-space: -webkit-pre-wrap; /*Chrome & Safari */
855                     word-break: break-all;
856                     white-space: normal;
857                     line-height: 18px;
858                     color: @fontColor;
859
860                     p{
861                         padding-right: 9px;
862                     }
863                 }
864
865                 &__method{
866
867                     padding-left: 17px;
868
869                     .GET{
870                         color: @reqMethodGet;
871                     }
872                     .PUT{
873                         color: @reqMethodPut;
874                     }
875                     .POST{
876                         color: @reqMethodPost;
877                     }
878                     .DELETE{
879                         color: @reqMethodDelete;
880                     }
881                     .error{
882                         color: @reqError;
883                     }
884                 }
885             }
886
887             &__itemMenu{
888                 position: relative;
889                 margin-left: -52px;
890                 padding-top: 0;
891
892                 > button{
893                     min-width: 0;
894                     margin: 2px 5px;
895
896                     i.material-icons{
897                         vertical-align: middle;
898                         color: @fontColorLight;
899
900                     }
901                 }
902
903             }
904
905             &__collectionMenu{
906                 position: relative;
907                 margin-left: -52px;
908                 margin-right: 6px;
909
910                 > button{
911                     min-width: 0;
912                     margin: 2px 5px;
913
914                     i.material-icons{
915                         vertical-align: middle;
916                         color: @fontColorLight;
917                     }
918                 }
919
920             }
921
922             .selected{
923                 button{
924                     background-color: rgba(158,158,158,0.2);
925                 }
926             }
927
928         }
929
930         &__collections-list{
931             padding: 0;
932             background: @listBackColor;
933             height: 100%;
934
935             .selected{
936                 button{
937                     background-color: rgba(158,158,158,0.2);
938                 }
939             }
940         }
941
942         &__collection{
943             padding: 0;
944             background: @listBackColor;
945
946             &__requests{
947                 padding: 0;
948                 border-top: 1px solid @dataStoreListBorderColor;
949                 background: @listBackColor;
950                 -webkit-box-shadow:inset 0 7px 7px -5px @dataStoreListShadowColor;
951                 box-shadow:inset 0 7px 7px -5px @dataStoreListShadowColor;
952             }
953
954             .md-subheader{
955                 background: none;
956             }
957
958             .md-subheader-inner{
959                 padding: 0;
960             }
961
962             .material-icons{
963                 margin: 15px 25px;
964             }
965
966             p{
967                 line-height: 18px;
968                 padding: 12px 0;
969
970                 .desc{
971                     color: @fontColorLight;
972                 }
973             }
974
975         }
976
977     }
978 }
979 .reqMenu{
980     button{
981         span{
982             color: @fontColor
983
984         }
985         i.material-icons{
986             vertical-align: middle;
987             margin-right: 5px;
988             margin-bottom: 5px;
989         }
990     }
991 }
992
993
994 .md-autocomplete-suggestions{
995     span{
996         color: @fontColor;
997     }
998 }
999
1000 md-dialog{
1001
1002     .md-toolbar-tools{
1003         button{
1004             min-width: auto;
1005         }
1006     }
1007
1008     md-dialog-content, md-dialog-actions{
1009         h2, span{
1010             color: @fontColor;
1011         }
1012
1013     }
1014
1015 }
1016
1017 // directives
1018 .directive{
1019     &__abn-tree{
1020         padding: 0;
1021         display:inline-block;
1022         white-space: nowrap;
1023         min-width: 100%;
1024
1025         md-icon{
1026             margin: 6px 16px!important;
1027         }
1028
1029         md-list-item{
1030             min-height: 0;
1031
1032             &.active{
1033                 background: @listActiveColor;
1034             }
1035
1036             .md-no-style{
1037                 padding: 0;
1038
1039                 &.md-button{
1040                     white-space: nowrap;
1041                 }
1042             }
1043
1044             .md-list-item-inner{
1045                 min-height: 0;
1046             }
1047
1048             .empty-box{
1049                 display: inline-block;
1050                 margin-top: -10px;
1051                 margin-left: 27px;
1052                 border-left: 1px dashed @dashedBorderColor;
1053                 height: 36px;
1054                 width: 1px;
1055             }
1056
1057             .md-button{
1058                 overflow: visible;
1059             }
1060
1061             .tree-label{
1062                 padding-right: 15px;
1063             }
1064         }
1065     }
1066 }
1067
1068 .paramsAdminDialog{
1069
1070     .md-dialog-content{
1071
1072         height: 400px;
1073
1074         button{
1075             height: 30px;
1076             min-width: 30px;
1077             margin-top: 15px;
1078             i{
1079                 vertical-align: middle;
1080             }
1081         }
1082
1083
1084     }
1085     &__searchBox{
1086
1087         height: 80px;
1088
1089         > button{
1090             margin-top: 13px!important;
1091             margin-right: 0px!important;
1092         }
1093
1094         #importParameters{
1095             display: none;
1096         }
1097
1098         label{
1099             md-icon{
1100                 color: @fontColor;
1101             }
1102         }
1103
1104         md-menu{
1105             button{
1106                 margin-top: 5px!important;
1107             }
1108         }
1109
1110         input{
1111             border: none;
1112             height: auto;
1113             outline: none;
1114         }
1115     }
1116     &__paramsList{
1117         width: 450px;
1118         padding-top: 35px;
1119
1120         > div{
1121             min-height: 60px;
1122             margin-top: 10px;
1123         }
1124
1125
1126     }
1127 }