From 2f4b68e043a3f87279ffa06238e563122d589e8f Mon Sep 17 00:00:00 2001 From: Chaim Lando Date: Thu, 6 Sep 2018 11:41:54 +0300 Subject: [PATCH] feat(engine-details): add labels-table component --- .../node-labels-table-controller.js | 24 +++++++++ .../node-labels-table/node-labels-table.html | 53 +++++++++++++++++++ .../node-labels-table/node-labels-table.js | 9 ++++ 3 files changed, 86 insertions(+) create mode 100644 app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js create mode 100644 app/docker/components/host-view-panels/node-labels-table/node-labels-table.html create mode 100644 app/docker/components/host-view-panels/node-labels-table/node-labels-table.js diff --git a/app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js b/app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js new file mode 100644 index 000000000..e80dc3d0d --- /dev/null +++ b/app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js @@ -0,0 +1,24 @@ +angular.module('portainer.docker').controller('NodeLabelsTableController', [ + function NodeLabelsTableController() { + var ctrl = this; + ctrl.removeLabel = removeLabel; + ctrl.updateLabel = updateLabel; + + function removeLabel(index) { + var removedElement = ctrl.labels.splice(index, 1); + if (removedElement !== null) { + console.log(ctrl.labels); + ctrl.onChangedLabels({labels: ctrl.labels}); + } + } + + function updateLabel(label) { + if ( + label.value !== label.originalValue || + label.key !== label.originalKey + ) { + ctrl.onChangedLabels({labels: ctrl.labels}); + } + } + } +]); diff --git a/app/docker/components/host-view-panels/node-labels-table/node-labels-table.html b/app/docker/components/host-view-panels/node-labels-table/node-labels-table.html new file mode 100644 index 000000000..e8076f265 --- /dev/null +++ b/app/docker/components/host-view-panels/node-labels-table/node-labels-table.html @@ -0,0 +1,53 @@ +
+ There are no labels for this node. +
+ + + + + + + + + + + + + + + + + + +
LabelValue
+
+ Name + +
+
+
+ Value + + + + +
+
+ +
\ No newline at end of file diff --git a/app/docker/components/host-view-panels/node-labels-table/node-labels-table.js b/app/docker/components/host-view-panels/node-labels-table/node-labels-table.js new file mode 100644 index 000000000..5d6d6c320 --- /dev/null +++ b/app/docker/components/host-view-panels/node-labels-table/node-labels-table.js @@ -0,0 +1,9 @@ +angular.module('portainer.docker').component('nodeLabelsTable', { + templateUrl: + 'app/docker/components/host-view-panels/node-labels-table/node-labels-table.html', + controller: 'NodeLabelsTableController', + bindings: { + labels: '<', + onChangedLabels: '&' + } +});