ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akuznet...@apache.org
Subject ignite git commit: IGNITE-843 WIP on preview.
Date Tue, 25 Aug 2015 10:12:54 GMT
Repository: ignite
Updated Branches:
  refs/heads/ignite-843 a35325c85 -> b81de27d1


IGNITE-843 WIP on preview.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b81de27d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b81de27d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b81de27d

Branch: refs/heads/ignite-843
Commit: b81de27d1031689c2b3bef6904aa9f99b2e9fcca
Parents: a35325c
Author: Alexey Kuznetsov <akuznetsov@apache.org>
Authored: Tue Aug 25 17:13:14 2015 +0700
Committer: Alexey Kuznetsov <akuznetsov@apache.org>
Committed: Tue Aug 25 17:13:14 2015 +0700

----------------------------------------------------------------------
 .../main/js/controllers/caches-controller.js    |  21 +++-
 .../main/js/controllers/clusters-controller.js  |  28 ++---
 .../src/main/js/controllers/models/caches.json  |  13 ++-
 .../main/js/controllers/models/clusters.json    |  21 ++--
 modules/control-center-web/src/main/js/db.js    |   2 +-
 .../main/js/routes/generator/generator-xml.js   | 110 ++++++++++++-------
 .../src/main/js/routes/summary.js               |   6 +-
 .../src/main/js/views/includes/controls.jade    |   2 +-
 8 files changed, 123 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/caches-controller.js b/modules/control-center-web/src/main/js/controllers/caches-controller.js
index 5621dcf..fc97cbd 100644
--- a/modules/control-center-web/src/main/js/controllers/caches-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/caches-controller.js
@@ -16,8 +16,8 @@
  */
 
 controlCenterModule.controller('cachesController', [
-        '$scope', '$http', '$common', '$focus', '$confirm', '$copy', '$table', '$preview',
-        function ($scope, $http, $common, $focus, $confirm, $copy, $table, $preview) {
+        '$scope', '$http', '$timeout', '$common', '$focus', '$confirm', '$copy', '$table',
'$preview',
+        function ($scope, $http, $timeout, $common, $focus, $confirm, $copy, $table, $preview)
{
             $scope.joinTip = $common.joinTip;
             $scope.getModel = $common.getModel;
             $scope.javaBuildInClasses = $common.javaBuildInClasses;
@@ -47,7 +47,7 @@ controlCenterModule.controller('cachesController', [
 
             $scope.atomicities = $common.mkOptions(['ATOMIC', 'TRANSACTIONAL']);
 
-            $scope.modes = $common.mkOptions(['PARTITIONED', 'REPLICATED', 'LOCAL']);
+            $scope.cacheModes = $common.mkOptions(['PARTITIONED', 'REPLICATED', 'LOCAL']);
 
             $scope.atomicWriteOrderModes = $common.mkOptions(['CLOCK', 'PRIMARY']);
 
@@ -112,6 +112,8 @@ controlCenterModule.controller('cachesController', [
             $scope.queryMetadata = [];
             $scope.storeMetadata = [];
 
+            $scope.preview = {};
+
             $scope.required = function (field) {
                 var model = $common.isDefined(field.path) ? field.path + '.' + field.model
: field.model;
 
@@ -245,10 +247,17 @@ controlCenterModule.controller('cachesController', [
                         $scope.selectItem($scope.caches[0]);
 
                     $scope.$watch('backupItem', function (val) {
-                        if (val)
+                        if (val) {
                             sessionStorage.cacheBackupItem = angular.toJson(val);
+
+                            $scope.preview.general = $generatorXml.cacheGeneral(val).join('');
+                        }
                     }, true);
-                })
+
+                    $timeout(function () {
+                        $common.initPreview();
+                    })
+               })
                 .error(function (errMsg) {
                     $common.showError(errMsg);
                 });
@@ -282,7 +291,7 @@ controlCenterModule.controller('cachesController', [
 
                 var newItem = {
                     space: $scope.spaces[0]._id,
-                    mode: 'PARTITIONED',
+                    cacheModes: 'PARTITIONED',
                     atomicityMode: 'ATOMIC',
                     readFromBackup: true,
                     copyOnRead: true,

http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/clusters-controller.js b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
index 497892f..c1ef33d 100644
--- a/modules/control-center-web/src/main/js/controllers/clusters-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
@@ -201,18 +201,18 @@ controlCenterModule.controller('clustersController', ['$scope', '$http',
'$timeo
                             return memo;
                         }, []);
 
-                        $scope.preview.general = $generatorXml.caches(clusterCaches, $generatorXml.general(val)).join('');
-                        $scope.preview.atomics = $generatorXml.atomics(val).join('');
-                        $scope.preview.communication = $generatorXml.communication(val).join('');
-                        $scope.preview.deployment = $generatorXml.deployment(val).join('');
-                        $scope.preview.events = $generatorXml.events(val).join('');
-                        $scope.preview.marshaller = $generatorXml.marshaller(val).join('');
-                        $scope.preview.metrics = $generatorXml.metrics(val).join('');
-                        $scope.preview.p2p = $generatorXml.p2p(val).join('');
-                        $scope.preview.swap = $generatorXml.swap(val).join('');
-                        $scope.preview.time = $generatorXml.time(val).join('');
-                        $scope.preview.pools = $generatorXml.pools(val).join('');
-                        $scope.preview.transactions = $generatorXml.transactions(val).join('');
+                        $scope.preview.general = $generatorXml.clusterCaches(clusterCaches,
$generatorXml.clusterGeneral(val)).join('');
+                        $scope.preview.atomics = $generatorXml.clusterAtomics(val).join('');
+                        $scope.preview.communication = $generatorXml.clusterCommunication(val).join('');
+                        $scope.preview.deployment = $generatorXml.clusterDeployment(val).join('');
+                        $scope.preview.events = $generatorXml.clusterEvents(val).join('');
+                        $scope.preview.marshaller = $generatorXml.clusterMarshaller(val).join('');
+                        $scope.preview.metrics = $generatorXml.clusterMetrics(val).join('');
+                        $scope.preview.p2p = $generatorXml.clusterP2p(val).join('');
+                        $scope.preview.swap = $generatorXml.clusterSwap(val).join('');
+                        $scope.preview.time = $generatorXml.clusterTime(val).join('');
+                        $scope.preview.pools = $generatorXml.clusterPools(val).join('');
+                        $scope.preview.transactions = $generatorXml.clusterTransactions(val).join('');
                     }
                 }, true);
 
@@ -236,10 +236,6 @@ controlCenterModule.controller('clustersController', ['$scope', '$http',
'$timeo
             else
                 $scope.backupItem = undefined;
 
-            $timeout(function () {
-                $common.previewHeightUpdate();
-            });
-
             if (item)
                 sessionStorage.clusterSelectedItem = angular.toJson(item);
             else

http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/models/caches.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/caches.json b/modules/control-center-web/src/main/js/controllers/models/caches.json
index 71a4e07..d5d27a4 100644
--- a/modules/control-center-web/src/main/js/controllers/models/caches.json
+++ b/modules/control-center-web/src/main/js/controllers/models/caches.json
@@ -21,6 +21,7 @@
     {
       "label": "General",
       "id": "general-data",
+      "preview": "general",
       "fields": [
         {
           "label": "Name",
@@ -47,9 +48,9 @@
         {
           "label": "Mode",
           "type": "dropdown",
-          "model": "mode",
+          "model": "cacheMode",
           "placeholder": "PARTITIONED",
-          "items": "modes",
+          "items": "cacheModes",
           "tip": [
             "Cache modes:",
             "<ul>",
@@ -77,7 +78,7 @@
           "label": "Backups",
           "type": "number",
           "model": "backups",
-          "hide": "backupItem.mode != 'PARTITIONED'",
+          "hide": "backupItem.cacheMode != 'PARTITIONED'",
           "placeholder": 0,
           "tip": [
             "Number of nodes used to back up single partition for partitioned cache."
@@ -88,7 +89,7 @@
           "type": "check",
           "model": "readFromBackup",
           "placeholder": true,
-          "hide": "!backupItem.backups || backupItem.mode == 'LOCAL'",
+          "hide": "!backupItem.backups || backupItem.cacheMode == 'LOCAL'",
           "tip": [
             "Flag indicating whether data can be read from backup.",
             "If not set then always get data from primary node (never from backup)."
@@ -717,7 +718,7 @@
     {
       "label": "Rebalance",
       "id": "rebalance-data",
-      "hide": "backupItem.mode == 'LOCAL'",
+      "hide": "backupItem.cacheMode == 'LOCAL'",
       "tip": [
         "Cache rebalance settings."
       ],
@@ -798,7 +799,7 @@
     {
       "label": "Server near cache",
       "id": "serverNearCache-data",
-      "hide": "backupItem.mode != 'PARTITIONED'",
+      "hide": "backupItem.cacheMode != 'PARTITIONED'",
       "tip": [
         "Near cache settings.",
         "Near cache is a small local cache that stores most recently or most frequently accessed
data.",

http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json
index 747264c..9f79ac6 100644
--- a/modules/control-center-web/src/main/js/controllers/models/clusters.json
+++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json
@@ -338,16 +338,6 @@
       ],
       "fields": [
         {
-          "label": "Backups",
-          "type": "number",
-          "path": "atomicConfiguration",
-          "model": "backups",
-          "placeholder": 0,
-          "tip": [
-            "Number of backup nodes."
-          ]
-        },
-        {
           "label": "Cache mode",
           "type": "dropdown",
           "path": "atomicConfiguration",
@@ -373,6 +363,17 @@
             "Default number of sequence values reserved for IgniteAtomicSequence instances.",
             "After a certain number has been reserved, consequent increments of sequence
will happen locally, without communication with other nodes, until the next reservation has
to be made."
           ]
+        },
+        {
+          "label": "Backups",
+          "type": "number",
+          "path": "atomicConfiguration",
+          "model": "backups",
+          "hide": "backupItem.atomicConfiguration &&  backupItem.atomicConfiguration.cacheMode
&& backupItem.atomicConfiguration.cacheMode != 'PARTITIONED'",
+          "placeholder": 0,
+          "tip": [
+            "Number of backup nodes."
+          ]
         }
       ]
     },

http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/db.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/db.js b/modules/control-center-web/src/main/js/db.js
index 06ba915..d461cf7 100644
--- a/modules/control-center-web/src/main/js/db.js
+++ b/modules/control-center-web/src/main/js/db.js
@@ -93,7 +93,7 @@ var CacheSchema = new Schema({
     space: {type: ObjectId, ref: 'Space'},
     name: String,
     clusters: [{type: ObjectId, ref: 'Cluster'}],
-    mode: {type: String, enum: ['PARTITIONED', 'REPLICATED', 'LOCAL']},
+    cacheMode: {type: String, enum: ['PARTITIONED', 'REPLICATED', 'LOCAL']},
     atomicityMode: {type: String, enum: ['ATOMIC', 'TRANSACTIONAL']},
 
     backups: Number,

http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
index 869d0f8..be85924 100644
--- a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
+++ b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
@@ -288,7 +288,7 @@ function _addElement(res, tag, attr1, val1, attr2, val2) {
 $generatorXml = {};
 
 // Generate discovery.
-$generatorXml.general = function (cluster, caches, res) {
+$generatorXml.clusterGeneral = function (cluster, caches, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -400,7 +400,7 @@ $generatorXml.general = function (cluster, caches, res) {
 };
 
 // Generate atomics group.
-$generatorXml.atomics = function (cluster, res) {
+$generatorXml.clusterAtomics = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -414,7 +414,7 @@ $generatorXml.atomics = function (cluster, res) {
 };
 
 // Generate communication group.
-$generatorXml.communication = function (cluster, res) {
+$generatorXml.clusterCommunication = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -431,7 +431,7 @@ $generatorXml.communication = function (cluster, res) {
 };
 
 // Generate deployment group.
-$generatorXml.deployment = function (cluster, res) {
+$generatorXml.clusterDeployment = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -443,7 +443,7 @@ $generatorXml.deployment = function (cluster, res) {
 };
 
 // Generate events group.
-$generatorXml.events = function (cluster, res) {
+$generatorXml.clusterEvents = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -484,7 +484,7 @@ $generatorXml.events = function (cluster, res) {
 };
 
 // Generate marshaller group.
-$generatorXml.marshaller = function (cluster, res) {
+$generatorXml.clusterMarshaller = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -508,7 +508,7 @@ $generatorXml.marshaller = function (cluster, res) {
 };
 
 // Generate metrics group.
-$generatorXml.metrics = function (cluster, res) {
+$generatorXml.clusterMetrics = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -523,7 +523,7 @@ $generatorXml.metrics = function (cluster, res) {
 };
 
 // Generate PeerClassLoading group.
-$generatorXml.p2p = function (cluster, res) {
+$generatorXml.clusterP2p = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -538,7 +538,7 @@ $generatorXml.p2p = function (cluster, res) {
 };
 
 // Generate swap group.
-$generatorXml.swap = function (cluster, res) {
+$generatorXml.clusterSwap = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -555,7 +555,7 @@ $generatorXml.swap = function (cluster, res) {
 };
 
 // Generate time group.
-$generatorXml.time = function (cluster, res) {
+$generatorXml.clusterTime = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -570,7 +570,7 @@ $generatorXml.time = function (cluster, res) {
 };
 
 // Generate thread pools group.
-$generatorXml.pools = function (cluster, res) {
+$generatorXml.clusterPools = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -584,7 +584,7 @@ $generatorXml.pools = function (cluster, res) {
 };
 
 // Generate transactions group.
-$generatorXml.transactions = function (cluster, res) {
+$generatorXml.clusterTransactions = function (cluster, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -597,25 +597,63 @@ $generatorXml.transactions = function (cluster, res) {
     return res;
 };
 
-// Generate caches configs.
-$generatorXml.cache = function(cache, res) {
+$generatorXml.cacheGeneral = function(cache, res) {
     if (!res)
         res = $generatorCommon.builder();
 
-    res.startBlock('<bean class="org.apache.ignite.configuration.CacheConfiguration">');
-
     _addProperty(res, cache, 'name');
 
     res.needEmptyLine = true;
 
-    var cacheMode = _addProperty(res, cache, 'mode', 'cacheMode');
-
+    _addProperty(res, cache, 'cacheMode');
     _addProperty(res, cache, 'atomicityMode');
 
-    if (cacheMode == 'PARTITIONED')
+    if (cache.cacheMode == 'PARTITIONED')
         _addProperty(res, cache, 'backups');
 
     _addProperty(res, cache, 'readFromBackup');
+    _addProperty(res, cache, 'copyOnRead');
+    _addProperty(res, cache, 'invalidate');
+
+    return res;
+};
+
+$generatorXml.cacheMemory = function(cache, res) {
+    if (!res)
+        res = $generatorCommon.builder();
+
+    return res;
+};
+
+$generatorXml.cacheQuery = function(cache, res) {
+    if (!res)
+        res = $generatorCommon.builder();
+
+    return res;
+};
+
+$generatorXml.cacheStore = function(cache, res) {
+    if (!res)
+        res = $generatorCommon.builder();
+
+    return res;
+};
+
+$generatorXml.cacheConcurrency = function(cache, res) {
+    if (!res)
+        res = $generatorCommon.builder();
+
+    return res;
+};
+
+// Generate caches configs.
+$generatorXml.cache = function(cache, res) {
+    if (!res)
+        res = $generatorCommon.builder();
+
+    res.startBlock('<bean class="org.apache.ignite.configuration.CacheConfiguration">');
+
+    $generatorXml.cacheGeneral(cache, res);
 
     _addProperty(res, cache, 'startSize');
 
@@ -624,7 +662,6 @@ $generatorXml.cache = function(cache, res) {
     _addProperty(res, cache, 'memoryMode');
     _addProperty(res, cache, 'offHeapMaxMemory');
     _addProperty(res, cache, 'swapEnabled');
-    _addProperty(res, cache, 'copyOnRead');
 
     res.needEmptyLine = true;
 
@@ -673,7 +710,7 @@ $generatorXml.cache = function(cache, res) {
 
     res.needEmptyLine = true;
 
-    if (cacheMode != 'LOCAL') {
+    if (cache.cacheMode != 'LOCAL') {
         _addProperty(res, cache, 'rebalanceMode');
         _addProperty(res, cache, 'rebalanceThreadPoolSize');
         _addProperty(res, cache, 'rebalanceBatchSize');
@@ -712,7 +749,6 @@ $generatorXml.cache = function(cache, res) {
 
     res.needEmptyLine = true;
 
-    _addProperty(res, cache, 'invalidate');
     _addProperty(res, cache, 'defaultLockTimeout');
     _addProperty(res, cache, 'transactionManagerLookupClassName');
 
@@ -773,7 +809,7 @@ $generatorXml.cache = function(cache, res) {
 };
 
 // Generate caches configs.
-$generatorXml.caches = function(caches, res) {
+$generatorXml.clusterCaches = function(caches, res) {
     if (!res)
         res = $generatorCommon.builder();
 
@@ -799,7 +835,7 @@ $generatorXml.caches = function(caches, res) {
     return res;
 };
 
-$generatorXml.clusterConfiguration = function (cluster, clientNearConfiguration) {
+$generatorXml.cluster = function (cluster, clientNearConfiguration) {
     var res = $generatorCommon.builder();
 
     if (clientNearConfiguration) {
@@ -825,31 +861,31 @@ $generatorXml.clusterConfiguration = function (cluster, clientNearConfiguration)
         res.line();
     }
 
-    $generatorXml.general(cluster, res);
+    $generatorXml.clusterGeneral(cluster, res);
 
-    $generatorXml.atomics(cluster, res);
+    $generatorXml.clusterAtomics(cluster, res);
 
-    $generatorXml.communication(cluster, res);
+    $generatorXml.clusterCommunication(cluster, res);
 
-    $generatorXml.deployment(cluster, res);
+    $generatorXml.clusterDeployment(cluster, res);
 
-    $generatorXml.events(cluster, res);
+    $generatorXml.clusterEvents(cluster, res);
 
-    $generatorXml.marshaller(cluster, res);
+    $generatorXml.clusterMarshaller(cluster, res);
 
-    $generatorXml.metrics(cluster, res);
+    $generatorXml.clusterMetrics(cluster, res);
 
-    $generatorXml.p2p(cluster, res);
+    $generatorXml.clusterP2p(cluster, res);
 
-    $generatorXml.swap(cluster, res);
+    $generatorXml.clusterSwap(cluster, res);
 
-    $generatorXml.time(cluster, res);
+    $generatorXml.clusterTime(cluster, res);
 
-    $generatorXml.pools(cluster, res);
+    $generatorXml.clusterPools(cluster, res);
 
-    $generatorXml.transactions(cluster, res);
+    $generatorXml.clusterTransactions(cluster, res);
 
-    $generatorXml.caches(cluster.caches, res);
+    $generatorXml.clusterCaches(cluster.caches, res);
 
     res.endBlock('</bean>');
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/routes/summary.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/summary.js b/modules/control-center-web/src/main/js/routes/summary.js
index cf560b3..c7ba20a 100644
--- a/modules/control-center-web/src/main/js/routes/summary.js
+++ b/modules/control-center-web/src/main/js/routes/summary.js
@@ -42,12 +42,12 @@ router.post('/generator', function (req, res) {
 
         if (clientCache)
             return res.send({
-                xmlClient: $generatorXml.clusterConfiguration(cluster, clientCache),
+                xmlClient: $generatorXml.cluster(cluster, clientCache),
                 javaClient: $generatorJava.generateClusterConfiguration(cluster, req.body.javaClass,
clientCache)
             });
 
         return res.send({
-            xmlServer: $generatorXml.clusterConfiguration(cluster),
+            xmlServer: $generatorXml.cluster(cluster),
             javaSnippetServer: $generatorJava.generateClusterConfiguration(cluster, false),
             javaClassServer: $generatorJava.generateClusterConfiguration(cluster, true),
             docker: $generatorDocker.generateClusterConfiguration(cluster, '%OS%')
@@ -95,7 +95,7 @@ router.post('/download', function (req, res) {
                 zip.append(props, {name: 'secret.properties'});
         }
 
-        zip.append($generatorXml.clusterConfiguration(cluster, clientNearConfiguration),
{name: cluster.name + '.xml'})
+        zip.append($generatorXml.cluster(cluster, clientNearConfiguration), {name: cluster.name
+ '.xml'})
             .append($generatorJava.generateClusterConfiguration(cluster, false, clientNearConfiguration),
                 {name: cluster.name + '.snippet.java'})
             .append($generatorJava.generateClusterConfiguration(cluster, true, clientNearConfiguration),

http://git-wip-us.apache.org/repos/asf/ignite/blob/b81de27d/modules/control-center-web/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/includes/controls.jade b/modules/control-center-web/src/main/js/views/includes/controls.jade
index 14ab944..3c48c07 100644
--- a/modules/control-center-web/src/main/js/views/includes/controls.jade
+++ b/modules/control-center-web/src/main/js/views/includes/controls.jade
@@ -312,7 +312,7 @@ mixin form-row-custom(lblClasses, fieldClasses, dataSource)
                 +tipField('field.tip')
                 .input-tip
                     button.form-control(bs-select ng-disabled=fieldDisabled data-placeholder='{{::field.placeholder}}'
bs-options='item.value as item.label for item in {{field.items}}' tabindex='0')&attributes(fieldCommon)
-            a.customize(ng-show='#{fieldMdl} && field.settings && field.details[#{fieldMdl}].fields.length
> 0' ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? 'Hide settings' : 'Show settings'}}
+            a.customize(ng-if='#{fieldMdl} && field.settings && field.details[#{fieldMdl}].fields.length
> 0' ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? 'Hide settings' : 'Show settings'}}
             .col-sm-12.panel-details(ng-show='(#{expanded} || !field.settings) &&
#{fieldMdl}')
                 .details-row(ng-repeat='detail in field.details[#{fieldMdl}].fields')
                     +details-row


Mime
View raw message