Bladeren bron

More polish and refinements to dashboard links

Torkel Ödegaard 10 jaren geleden
bovenliggende
commit
9655014041

+ 5 - 3
public/app/features/dashboard/partials/settings.html

@@ -90,9 +90,11 @@
 						<li class="tight-form-item">
 							<editor-checkbox text="Show title" model="row.showTitle"></editor-checkbox>
 						</li>
-						<li class="tight-form-item">
-							<i ng-click="_.move(dashboard.rows,$index,$index-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i>
-							<i ng-click="_.move(dashboard.rows,$index,$index+1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i>
+						<li class="tight-form-item last">
+							<i ng-click="_.move(dashboard.rows,$index,$index-1)" ng-class="{'invisible': $first}" class="pointer fa fa-arrow-up"></i>
+						</li>
+						<li class="tight-form-item last">
+							<i ng-click="_.move(dashboard.rows,$index,$index+1)" ng-class="{'invisible': $last}" class="pointer fa fa-fw fa-arrow-down"></i>
 						</li>
 						<li class="tight-form-item last">
 							<i ng-click="dashboard.rows = _.without(dashboard.rows,row)" class="pointer fa fa-remove"></i>

+ 69 - 69
public/app/features/dashlinks/editor.html

@@ -1,80 +1,80 @@
-	<div class="editor-row">
-		<div class="tight-form-section">
-			<h5>Links and Dash Navigation</h5>
-
-			<div class="tight-form" ng-repeat-start="link in dashboard.links" style="margin-top: 10px;">
-				<ul class="tight-form-list">
-					<li class="tight-form-item" style="width: 20px">
-						<i class="fa fa-fw fa-unlink"></i>
-					</li>
-
-					<li class="tight-form-item">Type</li>
-					<li>
-						<select class="input-medium tight-form-input" style="width: 151px;" ng-model="link.type" ng-options="f for f in ['dashboards','link']" ng-change="updated()"></select>
-					</li>
+<div class="editor-row">
+	<h5>Links and Dash Navigation</h5>
 
-					<li class="tight-form-item" ng-show="link.type === 'dashboards'">With tag</li>
-					<li ng-show="link.type === 'dashboards'">
-						<input type="text" ng-model="link.tag" class="input-small tight-form-input" style="width: 151px" ng-model-onblur ng-change="updated()">
-					</li>
+	<div ng-repeat="link in dashboard.links" style="margin-top: 10px;">
+		<div class="tight-form">
+			<ul class="tight-form-list pull-right">
+				<li class="tight-form-item">
+					<i ng-click="moveLink($index, -1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i>
+					<i ng-click="moveLink($index, 1)" ng-hide="$last" class="pointer fa fa-fw fa-arrow-down"></i>
+				</li>
+				<li class="tight-form-item last">
+					<i class="fa fa-remove pointer" ng-click="deleteLink(link)"></i>
+				</li>
+			</ul>
 
-					<li class="tight-form-item" ng-show="link.type === 'link'" style="width: 51px">Url</li>
-					<li ng-show="link.type === 'link'">
-						<input type="text" ng-model="link.url" class="input-xlarge tight-form-input" ng-model-onblur ng-change="updated()">
-					</li>
+			<ul class="tight-form-list">
+				<li class="tight-form-item" style="width: 20px">
+					<i class="fa fa-fw fa-unlink"></i>
+				</li>
 
-					<li class="tight-form-item">
-						<i ng-click="moveLink($index,-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i>
-						<i ng-click="moveLink($index,1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i>
-					</li>
-					<li class="tight-form-item">
-						<i class="fa fa-remove pointer" ng-click="deleteLink(link)"></i>
-					</li>
-				</ul>
-				<div class="clearfix"></div>
-			</div>
-			<div ng-repeat-end>
-				<div class="tight-form" ng-if="link.type === 'link'">
-					<ul class="tight-form-list">
-						<li class="tight-form-item" style="width: 20px">
-							<i class="fa fa-fw fa-unlink invisible"></i>
-						</li>
-						<li class="tight-form-item" ng-show="link.type === 'link'" style="width: 31px">Title</li>
-						<li ng-show="link.type === 'link'">
-							<input type="text" ng-model="link.title" class="input-medium tight-form-input" ng-model-onblur ng-change="updated()">
-						</li>
-						<li class="tight-form-item" ng-show="link.type === 'link'" style="width: 52px">Tooltip</li>
-						<li ng-show="link.type === 'link'">
-							<input type="text" ng-model="link.tooltip" class="input-medium tight-form-input" placeholder="Open dashbord" ng-model-onblur ng-change="updated()">
-						</li>
+				<li class="tight-form-item">Type</li>
+				<li>
+					<select class="input-medium tight-form-input" style="width: 150px;" ng-model="link.type" ng-options="f for f in ['dashboards','link']" ng-change="updated()"></select>
+				</li>
 
-						<li class="tight-form-item" ng-show="link.type === 'link'">Icon</li>
-						<li ng-show="link.type === 'link'">
-							<select class="input-medium tight-form-input" style="width: 110px;" ng-model="link.icon" ng-options="k as k for (k, v) in iconMap" ng-change="updated()"></select>
-						</li>
+				<li class="tight-form-item" ng-show="link.type === 'dashboards'">With tag</li>
+				<li ng-show="link.type === 'dashboards'">
+					<input type="text" ng-model="link.tag" class="input-small tight-form-input" style="width: 151px" ng-model-onblur ng-change="updated()">
+				</li>
 
-					</ul>
-					<div class="clearfix"></div>
-				</div>
-			</div>
-			<!-- <div class="tight&#45;form"> -->
-				<!-- 	<ul class="tight&#45;form&#45;list" role="menu"> -->
-					<!-- 		<li class="tight&#45;form&#45;item"> -->
-						<!-- 			<i class="fa fa&#45;remove invisible"></i> -->
-						<!-- 		</li> -->
-					<!-- 		<li class="tight&#45;form&#45;item" style="width: 80px;"> -->
-						<!-- 			Params -->
-						<!-- 			<tip>Use var&#45;variableName=value to pass templating variables.</tip> -->
-						<!-- 		</li> -->
-					<!-- 		<li> -->
-						<!-- 			<input type="text" ng&#45;model="link.params" class="input&#45;xxlarge tight&#45;form&#45;input"> -->
-						<!-- 		</li> -->
-					<!-- 	</ul> -->
-				<!-- 	<div class="clearfix"></div> -->
-				<!-- </div> -->
+				<li class="tight-form-item" ng-show="link.type === 'link'" style="width: 51px">Url</li>
+				<li ng-show="link.type === 'link'">
+					<input type="text" ng-model="link.url" class="input-xlarge tight-form-input" style="width: 302px;" ng-model-onblur ng-change="updated()">
+				</li>
+				<li class="tight-form-item" ng-show="link.type === 'link'">
+					<editor-checkbox text="Open in new tab " model="link.targetBlank" change="updated()"></editor-checkbox>
+				</li>
+			</ul>
+			<div class="clearfix"></div>
+		</div>
+		<div class="tight-form" ng-if="link.type === 'link'">
+			<ul class="tight-form-list">
+				<li class="tight-form-item" style="width: 20px">
+					<i class="fa fa-fw fa-unlink invisible"></i>
+				</li>
+				<li class="tight-form-item" ng-show="link.type === 'link'" style="width: 31px">Title</li>
+				<li ng-show="link.type === 'link'">
+					<input type="text" ng-model="link.title" class="input-medium tight-form-input" ng-model-onblur ng-change="updated()">
+				</li>
+				<li class="tight-form-item" ng-show="link.type === 'link'" style="width: 51px">Tooltip</li>
+				<li ng-show="link.type === 'link'">
+					<input type="text" ng-model="link.tooltip" class="input-medium tight-form-input" style="width: 151px" placeholder="Open dashbord" ng-model-onblur ng-change="updated()">
+				</li>
+				<li class="tight-form-item" ng-show="link.type === 'link'">Icon</li>
+				<li ng-show="link.type === 'link'">
+					<select class="input-medium tight-form-input" style="width: 110px;" ng-model="link.icon" ng-options="k as k for (k, v) in iconMap" ng-change="updated()"></select>
+				</li>
+			</ul>
+			<div class="clearfix"></div>
 		</div>
 	</div>
 </div>
+<!-- <div class="tight&#45;form"> -->
+	<!-- 	<ul class="tight&#45;form&#45;list" role="menu"> -->
+		<!-- 		<li class="tight&#45;form&#45;item"> -->
+			<!-- 			<i class="fa fa&#45;remove invisible"></i> -->
+			<!-- 		</li> -->
+		<!-- 		<li class="tight&#45;form&#45;item" style="width: 80px;"> -->
+			<!-- 			Params -->
+			<!-- 			<tip>Use var&#45;variableName=value to pass templating variables.</tip> -->
+			<!-- 		</li> -->
+		<!-- 		<li> -->
+			<!-- 			<input type="text" ng&#45;model="link.params" class="input&#45;xxlarge tight&#45;form&#45;input"> -->
+			<!-- 		</li> -->
+		<!-- 	</ul> -->
+	<!-- 	<div class="clearfix"></div> -->
+	<!-- </div> -->
 
 <div class="editor-row">
 	<br>

+ 4 - 1
public/app/features/dashlinks/module.js

@@ -62,6 +62,7 @@ function (angular, _) {
         // tooltip
         elem.find('a').tooltip({ title: scope.link.tooltip, html: true, container: 'body' });
         icon.attr('class', 'fa fa-fw ' + scope.link.icon);
+        anchor.attr('target', scope.link.target);
 
         update();
         scope.$on('refresh', update);
@@ -94,7 +95,9 @@ function (angular, _) {
         return $q.when([{
           url: linkDef.url,
           title: linkDef.title,
-          icon: iconMap[linkDef.icon]
+          icon: iconMap[linkDef.icon],
+          tooltip: linkDef.tooltip,
+          target: linkDef.targetBlank ? "_blank" : "",
         }]);
       }