[TIC-Web] add category filter 14/123814/2
authorChangHyun Lee <leechwin.lee@samsung.com>
Fri, 7 Apr 2017 06:29:16 +0000 (15:29 +0900)
committerChangHyun Lee <leechwin.lee@samsung.com>
Fri, 7 Apr 2017 06:31:59 +0000 (15:31 +0900)
- add category filter(presets, domains, epic feature, all)

Change-Id: I36b43842c4f575494e4fdb40e227eedf6421142c
Signed-off-by: ChangHyun Lee <leechwin.lee@samsung.com>
public/src/index.html
public/src/js/page/package.js

index 63594d6..6aa2fc4 100644 (file)
                                 <!-- Category Toolbar -->
                                 <div class="btn-group btn-group-justified" data-toggle="buttons">
                                     <label class="btn btn-default active">
-                                        <input type="radio" name="category" id="tic-package-category-presets" autocomplete="off" checked>Presets
+                                        <input type="radio" name="category" data-category="presets" id="tic-package-category-presets" autocomplete="off" checked>Presets
                                     </label>
                                     <label class="btn btn-default">
-                                        <input type="radio" name="category" id="tic-package-category-domains" autocomplete="off">Domains
+                                        <input type="radio" name="category" data-category="domains" id="tic-package-category-domains" autocomplete="off">Domains
                                     </label>
                                     <label class="btn btn-default">
-                                        <input type="radio" name="category" id="tic-package-category-epicfeature" autocomplete="off">Epic Feature
+                                        <input type="radio" name="category" data-category="epicfeatures" id="tic-package-category-epicfeature" autocomplete="off">Epic Feature
                                     </label>
                                     <label class="btn btn-default">
-                                        <input type="radio" name="category" id="tic-package-category-all" autocomplete="off">All
+                                        <input type="radio" name="category" data-category="all" id="tic-package-category-all" autocomplete="off">All
                                     </label>
                                 </div>
 
index ac70a74..a4bd8c1 100644 (file)
@@ -1115,23 +1115,31 @@ define([
                 }
             })
 
+            // 1. hide all node
             _.forEach(packages, function (node) {
                 node.$el.addClass('node-disabled'); // hide
             });
 
+            // 2. show matched node and check category
+            var category = $("input:radio[name='category']:checked").attr('data-category');
             if (!_.isEmpty(matchNodes)) {
                 _.forEach(matchNodes, function (node) {
-                    node.$el.removeClass('node-disabled'); // show
+                    if (category === 'all' || category === node.category) {
+                        node.$el.removeClass('node-disabled'); // show
+                    }
                 });
             } else {
                 // empty input text
                 if (_.isEmpty(_.trim(_.take(patternList)))) {
                     _.forEach(packages, function (node) {
-                        node.$el.removeClass('node-disabled'); // show
+                        if (category === 'all' || category === node.category) {
+                            node.$el.removeClass('node-disabled'); // show
+                        }
                     });
                 }
             }
 
+            // 3. hide filter node
             _.forEach(filterNodes, function (node) {
                 node.$el.addClass('node-disabled'); // hide
             });
@@ -1139,6 +1147,12 @@ define([
             $tree.treeview('clearSearch');
         }
 
+        function _filterCategory() {
+            _filter([]);
+            _collapseAll();
+        }
+        $("input:radio[name='category']").on('change',_filterCategory);
+
         function _filterInput() {
             var filterText = $('#tic-package-toolbar-input').val();
             _filter([filterText]);