new: Add verbs badges (implements #61)

This commit is contained in:
Roman Hotsiy 2017-04-18 16:10:34 +03:00
parent 3f48357e39
commit 92eec250e6
No known key found for this signature in database
GPG Key ID: 5CB7B3ACABA57CB0
4 changed files with 99 additions and 8 deletions

View File

@ -110,3 +110,39 @@
transform: translateY(0%) scaleY(1); transform: translateY(0%) scaleY(1);
} }
} }
.http-verb {
color: white;
&.get {
background-color: $get-color;
}
&.post {
background-color: $post-color;
}
&.put {
background-color: $put-color;
}
&.options {
background-color: $options-color;
}
&.patch {
background-color: $patch-color;
}
&.delete {
background-color: $delete-color;
}
&.basic {
background-color: $basic-color;
}
&.link {
background-color: $link-color;
}
}

View File

@ -1,6 +1,9 @@
<li *ngFor="let item of items; let idx = index" class="menu-item" <li *ngFor="let item of items; let idx = index" class="menu-item"
ngClass="menu-item-depth-{{item.depth}} {{item.active ? 'active' : ''}} menu-item-for-{{item.metadata?.type}}"> ngClass="menu-item-depth-{{item.depth}} {{item.active ? 'active' : ''}} menu-item-for-{{item.metadata?.type}}">
<label class="menu-item-header" [ngClass]="{disabled: !item.ready}" (click)="activateItem(item)"> {{item.name}}</label> <label class="menu-item-header" [ngClass]="{disabled: !item.ready}" (click)="activateItem(item)">
<span class="operation-type" [ngClass]="item?.metadata?.operation" *ngIf="item?.metadata?.operation"> {{item?.metadata?.operation}} </span>
{{item.name}}
</label>
<ul *ngIf="item.items" class="menu-subitems" [@itemAnimation]="(item.active || item.isGroup) ? 'expanded' : 'collapsed'"> <ul *ngIf="item.items" class="menu-subitems" [@itemAnimation]="(item.active || item.isGroup) ? 'expanded' : 'collapsed'">
<side-menu-items [items]="item.items" (activate)="activateItem($event)"> </side-menu-items> <side-menu-items [items]="item.items" (activate)="activateItem($event)"> </side-menu-items>
</ul> </ul>

View File

@ -108,3 +108,58 @@
//background: none; //background: none;
} }
} }
.menu-item-header > .operation-type {
width: 26px;
display: inline-block;
height: 13px;
background-color: #333;
border-radius: 3px;
vertical-align: middle;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAACgCAYAAADuDlcXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNjQ5N0JDQUE3OTYxMUU0ODNGMUE0RUM3NjRDRTQyNyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNjQ5N0JDQkE3OTYxMUU0ODNGMUE0RUM3NjRDRTQyNyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU2NDk3QkM4QTc5NjExRTQ4M0YxQTRFQzc2NENFNDI3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU2NDk3QkM5QTc5NjExRTQ4M0YxQTRFQzc2NENFNDI3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+mIrGwQAAAZ9JREFUeNrsmtuOwyAMRBmU//9lbx9208ayjQ1EarSDVFW56ARIGGZIIK/S3gWvX3X7LN3a6WxDHdPnnDBpcZHEOe3wrmLUMg2zatKykPOq1/5fK71tLIQR9jjYsaJfWdWAAcRsM2W1z9LNGcFkRlmtPhvpf7qmHAGEESZqLFr/qbHaCy4Is6oxLdvT+nWr0lLPCCPsFn+mA5e2UjLycL1o6qLMiapqRGoifVCDinrgU2mRyJthzZg3CSPs+2HhIM4YGq0a4oDgiGjYTKw20/OwUzAEuXz73YSqtdsV+F1a3eZpweFEGGG7Y3ULbJRk4nYPlEHbUi86wpNtbz4oB37PICOrLEdC9DKzFv7EkQ8tYY8Nr8tuyJrRsdpMrIJ0n4GPBmGEEUbYzRMKnFwug1B7rppmbCiyBjBrQ1vC8KW/CxrF7osNrRbxMjofWsIIuwU2vapnZfTRq4/wFXl3hG9bMzP6ZWV47LoB+Gym1/EyUleKI2GEPW8pQpu80bHLvsifSWFVAVEzo2VDTxxb9T16eO7sF0vmxPNPxPFHgAEA/rGUMXq/uWcAAAAASUVORK5CYII=');
background-repeat: no-repeat;
background-position: 6px 4px;
text-indent: -9000px;
margin-right: 7px;
margin-top: -3px;
&.get {
background-position: 8px -12px;
background-color: $get-color;
}
&.post {
background-position: 6px 4px;
background-color: $post-color;
}
&.put {
background-position: 8px -28px;
background-color: $put-color;
}
&.options {
background-position: 4px -148px;
background-color: $options-color;
}
&.patch {
background-position: 4px -114px;
background-color: $patch-color;
}
&.delete {
background-position: 4px -44px;
background-color: $delete-color;
}
&.basic {
background-position: 5px -79px;
background-color: $basic-color;
}
&.link {
background-position: 4px -131px;
background-color: $link-color;
}
}

View File

@ -11,8 +11,7 @@ import { Component,
} from '@angular/core'; } from '@angular/core';
import { trigger, state, animate, transition, style } from '@angular/core'; import { trigger, state, animate, transition, style } from '@angular/core';
import { BaseComponent, SpecManager } from '../base'; import { ScrollService, MenuService, OptionsService, MenuItem } from '../../services/';
import { ScrollService, MenuService, OptionsService, MenuItem, Marker} from '../../services/';
import { BrowserDomAdapter as DOM } from '../../utils/browser-adapter'; import { BrowserDomAdapter as DOM } from '../../utils/browser-adapter';
const global = window; const global = window;
@ -47,7 +46,7 @@ export class SideMenuItems {
templateUrl: './side-menu.html', templateUrl: './side-menu.html',
styleUrls: ['./side-menu.css'] styleUrls: ['./side-menu.css']
}) })
export class SideMenu extends BaseComponent implements OnInit, OnDestroy { export class SideMenu implements OnInit, OnDestroy {
activeCatCaption: string; activeCatCaption: string;
activeItemCaption: string; activeItemCaption: string;
menuItems: Array<MenuItem>; menuItems: Array<MenuItem>;
@ -59,15 +58,13 @@ export class SideMenu extends BaseComponent implements OnInit, OnDestroy {
private $scrollParent: any; private $scrollParent: any;
constructor( constructor(
specMgr:SpecManager,
elementRef:ElementRef, elementRef:ElementRef,
private scrollService:ScrollService, private scrollService:ScrollService,
private menuService:MenuService, private menuService:MenuService,
optionsService:OptionsService, optionsService:OptionsService,
private detectorRef:ChangeDetectorRef, private detectorRef:ChangeDetectorRef,
private marker:Marker //private marker:Marker
) { ) {
super(specMgr);
this.$element = elementRef.nativeElement; this.$element = elementRef.nativeElement;
this.activeCatCaption = ''; this.activeCatCaption = '';
@ -154,7 +151,7 @@ export class SideMenu extends BaseComponent implements OnInit, OnDestroy {
} }
ngOnInit() { ngOnInit() {
this.preinit(); this.init();
} }
ngAfterViewInit() { ngAfterViewInit() {