aboutsummaryrefslogtreecommitdiffstats
path: root/ui/imports/ui/components/clique-types-list
diff options
context:
space:
mode:
Diffstat (limited to 'ui/imports/ui/components/clique-types-list')
-rw-r--r--ui/imports/ui/components/clique-types-list/clique-types-list.html56
-rw-r--r--ui/imports/ui/components/clique-types-list/clique-types-list.js82
-rw-r--r--ui/imports/ui/components/clique-types-list/clique-types-list.styl22
3 files changed, 160 insertions, 0 deletions
diff --git a/ui/imports/ui/components/clique-types-list/clique-types-list.html b/ui/imports/ui/components/clique-types-list/clique-types-list.html
new file mode 100644
index 0000000..e4badf9
--- /dev/null
+++ b/ui/imports/ui/components/clique-types-list/clique-types-list.html
@@ -0,0 +1,56 @@
+<!--
+########################################################################################
+# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others #
+# #
+# All rights reserved. This program and the accompanying materials #
+# are made available under the terms of the Apache License, Version 2.0 #
+# which accompanies this distribution, and is available at #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+########################################################################################
+ -->
+<template name="CliqueTypesList">
+<div class="os-clique-types-list cards white">
+ <h3>Clique Types</h3>
+ <a class="sm-add-new-link"
+ href="{{pathFor route='clique-type' query=(asHash action='insert') }}">
+ <i class="cl-action-icon fa fa-plus" area-hidden="true"></i> Create new clique type
+ </a>
+ <table class="sm-clique-types-table table">
+ <thead>
+ <tr>
+ <th>name</th>
+ <th>Environment</th>
+ <th>Focal Point Type</th>
+ <th>Link Types</th>
+ <th>Actions</th>
+ </tr> </thead>
+ <tbody>
+ {{#each cliqueType in cliqueTypes }}
+ <tr>
+ <td>{{ cliqueType.name }}</td>
+ <td>{{ cliqueType.environment }}</td>
+ <td>{{ cliqueType.focal_point_type }}</td>
+ <td>{{ cliqueType.link_types }}</td>
+ <td>
+ <div class="sm-action-bar">
+ <a href="{{pathFor route='clique-type'
+ query=(asHash id=(idToStr cliqueType._id) action='view') }}"
+ ><i class="cl-action-icon fa fa-eye" area-hidden="true"></i></a>
+
+ {{#if isAuthManageCliqueTypes }}
+ <a href="{{pathFor route='clique-type'
+ query=(asHash id=(idToStr cliqueType._id) action='update') }}"
+ ><i class="cl-action-icon fa fa-pencil" area-hidden="true"></i></a>
+
+ <a href="{{pathFor route='clique-type'
+ query=(asHash id=(idToStr cliqueType._id) action='remove') }}"
+ ><i class="cl-action-icon fa fa-trash-o" area-hidden="true"></i></a>
+ {{/if }}
+ </div>
+ </td>
+ </tr>
+ {{/each }}
+ </tbody>
+ </table>
+</div>
+</template>
diff --git a/ui/imports/ui/components/clique-types-list/clique-types-list.js b/ui/imports/ui/components/clique-types-list/clique-types-list.js
new file mode 100644
index 0000000..7f3f149
--- /dev/null
+++ b/ui/imports/ui/components/clique-types-list/clique-types-list.js
@@ -0,0 +1,82 @@
+/////////////////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others /
+// /
+// All rights reserved. This program and the accompanying materials /
+// are made available under the terms of the Apache License, Version 2.0 /
+// which accompanies this distribution, and is available at /
+// http://www.apache.org/licenses/LICENSE-2.0 /
+/////////////////////////////////////////////////////////////////////////////////////////
+/*
+ * Template Component: CliqueTypesList
+ */
+
+//import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+import { ReactiveDict } from 'meteor/reactive-dict';
+import { SimpleSchema } from 'meteor/aldeed:simple-schema';
+import { CliqueTypes } from '/imports/api/clique-types/clique-types';
+import { Roles } from 'meteor/alanning:roles';
+
+import './clique-types-list.html';
+
+/*
+ * Lifecycles
+ */
+
+Template.CliqueTypesList.onCreated(function() {
+ var instance = this;
+
+ instance.state = new ReactiveDict();
+ instance.state.setDefault({
+ env: null
+ });
+
+ instance.autorun(function () {
+ //let data = Template.currentData();
+
+ var controller = Iron.controller();
+ var params = controller.getParams();
+ var query = params.query;
+
+ new SimpleSchema({
+ env: { type: String, optional: true },
+ }).validate(query);
+
+ let env = query.env;
+ instance.state.set('env', env);
+
+ instance.subscribe('clique_types?env*', env);
+ });
+});
+
+/*
+Template.CliqueTypesList.rendered = function() {
+};
+*/
+
+/*
+ * Events
+ */
+
+Template.CliqueTypesList.events({
+});
+
+/*
+ * Helpers
+ */
+
+Template.CliqueTypesList.helpers({
+ cliqueTypes: function () {
+ //let instance = Template.instance();
+
+ //var env = instance.state.get('env');
+ //return Scans.find({ environment: env });
+ return CliqueTypes.find({});
+ },
+
+ isAuthManageCliqueTypes: function () {
+ return Roles.userIsInRole(Meteor.userId(), 'manage-clique-types', Roles.GLOBAL_GROUP);
+ },
+});
+
+
diff --git a/ui/imports/ui/components/clique-types-list/clique-types-list.styl b/ui/imports/ui/components/clique-types-list/clique-types-list.styl
new file mode 100644
index 0000000..d4e08a2
--- /dev/null
+++ b/ui/imports/ui/components/clique-types-list/clique-types-list.styl
@@ -0,0 +1,22 @@
+.os-clique-types-list
+ margin: 20px;
+
+ .cl-action-icon,
+ .card.fa.cl-action-icon
+ font-size: 16px !important;
+
+ .sm-clique-types-table
+ th
+ color: spark-blue
+
+ .sm-action-bar
+ display: flex;
+
+ a
+ margin: 0px 5px;
+
+ .cl-action-icon
+ color: gray
+
+ .sm-add-new-link
+ color: spark-blue