[TIC-Web] add source filter 30/123430/3
authorChangHyun Lee <leechwin.lee@samsung.com>
Wed, 5 Apr 2017 11:46:01 +0000 (20:46 +0900)
committerChangHyun Lee <leechwin.lee@samsung.com>
Wed, 5 Apr 2017 11:59:01 +0000 (20:59 +0900)
- add source filter
- set default filter

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

index 9152391..8e2f228 100644 (file)
                                             <ul class="dropdown-menu dropdown-menu-right">
                                                 <li>
                                                     <a href="#" tabIndex="-1">
-                                                        <label class="checkbox-inline"><input type="checkbox" id="tic-package-toolbar-debug"/> Hide Debug Packages</label>
+                                                        <label class="checkbox-inline"><input type="checkbox" id="tic-package-toolbar-debug" checked/> Hide Debug Packages</label>
                                                     </a>
                                                 </li>
                                                 <li>
                                                     <a href="#" tabIndex="-1">
-                                                        <label class="checkbox-inline"><input type="checkbox" id="tic-package-toolbar-devel"/> Hide Develop Packages</label>
+                                                        <label class="checkbox-inline"><input type="checkbox" id="tic-package-toolbar-devel" checked/> Hide Develop Packages</label>
+                                                    </a>
+                                                </li>
+                                                <li>
+                                                    <a href="#" tabIndex="-1">
+                                                        <label class="checkbox-inline"><input type="checkbox" id="tic-package-toolbar-source" checked/> Hide Source Packages</label>
                                                     </a>
                                                 </li>
                                             </ul>
                             <div class="panel-body">
                                 <!-- Repository Column -->
                                 <div class="panel panel-primary">
-                                    <div class="panel-heading">Recipe</div>
+                                    <div class="panel-heading">Recipe & Repository</div>
                                     <div class="panel-body">
                                         <!-- Settings Toolbar -->
                                         <div id="tic-settings-recipe-toolbar">
             <div class="modal-dialog">
                 <div class="modal-content">
                     <div class="modal-header">
-                        <h4 class="modal-title">Add Recipe or Repository</h4>
+                        <h4 class="modal-title">Import Recipe or Repository</h4>
                     </div>
                     <div class="modal-body">
                         <div id="tic-import-recipe-container" data-toggle="validator" data-validate="true">
index ac72232..80b2f77 100644 (file)
@@ -660,7 +660,7 @@ define([
                         } else {
                             // the capability does not exist. Stop dependency analysis
                             progressStatus = false;
-                            errorMsg = 'The '+require.name+' needed by '+ node.name +' does not exist. Please check the repository';
+                            errorMsg = 'The ' + require.name + ' needed by ' + node.name + ' does not exist. Please check the repository';
                             logger.info('###' + errorMsg);
                             // break forEach
                             return false;
@@ -1042,7 +1042,6 @@ define([
         })
 
         return new Promise(function (resolve, reject) {
-
             function _onRendered(event, nodes) {
                 packages = _.values(nodes);
                 _.forEach(nodes, function(node, key) {
@@ -1058,8 +1057,12 @@ define([
                 });
                 _setDefaultPackage(rawData.defaultpackages);
                 _updateSummary();
+                // init filter and restore checkbox state
+                $('#tic-package-toolbar-source').click().click();
+
                 resolve();
             }
+
             function _onNodeUnselected(event, node) {
                 $('#tic-package-info-text').empty();
                 $('#tic-package-info-version').empty();
@@ -1083,12 +1086,7 @@ define([
         });
     }
 
-    function init() {
-        logger.info('init');
-
-        // button - image creation
-        $('#tic-package-create').on('click', onClickHandlerForImgCreationBtn);
-
+    function _initToolbar() {
         function _filter(patternList) {
             var matchNodes = [];
             _.forEach(patternList, function (pattern) {
@@ -1144,6 +1142,13 @@ define([
         }
         $('#tic-package-toolbar-input').on('keyup', _.debounce(_filterInput, 500));
 
+        function _inputClearBtnHandler() {
+            $('#tic-package-toolbar-input').val('').focus();
+            _filter([]);
+            $(this).toggleClass('hidden', true);
+        }
+        $('#tic-package-toolbar-input-clear').on('click', _inputClearBtnHandler);
+
         function _filterType() {
             var debug = $('#tic-package-toolbar-debug').is(':checked');
             if (debug) {
@@ -1165,49 +1170,21 @@ define([
                     return filter === '-devel';
                 });
             }
+            var source = $('#tic-package-toolbar-source').is(':checked');
+            if (source) {
+                if (!_.includes(defaultFilters, '-source')) {
+                    defaultFilters.push('-source');
+                }
+            } else {
+                _.remove(defaultFilters, function(filter) {
+                    return filter === '-source';
+                });
+            }
             _filter([$('#tic-package-toolbar-input').val()]);
         }
         $("#tic-package-toolbar-debug").on('click', _filterType);
         $("#tic-package-toolbar-devel").on('click', _filterType);
-
-        function _inputClearBtnHandler() {
-            $('#tic-package-toolbar-input').val('').focus();
-            _filter([]);
-            $(this).toggleClass('hidden', true);
-        }
-        $('#tic-package-toolbar-input-clear').on('click', _inputClearBtnHandler);
-
-        function _contextMenuHandler() {
-            function _uncheckAllBtnHandler() {
-                // INFO: bug for state.checked = false in treeview objects
-                $tree.treeview('checkAll', { silent: true });
-                $tree.treeview('uncheckAll', { silent: true });
-                _.forEach(pkgInfo, function(value, key) {
-                    value.checked = false;
-                    value.selfChecked = false;
-                    value.forward = null;
-                    value.backward = null;
-                    value.group = null;
-
-                    // INFO: bug for state.checked = false in treeview objects
-                    _.forEach(value.view, function(node) {
-                        node.state.checked = false;
-                    });
-                });
-                groups = {};
-                conflicts = {};
-                _updateSummary();
-            }
-            $tree.contextmenu({
-                target: '#tic-package-context-menu',
-                onItem: function (row, e) {
-                    if (e.target.id === 'tic-package-context-menu-uncheck-all') {
-                        _uncheckAllBtnHandler();
-                    }
-                }
-            });
-        }
-        _contextMenuHandler();
+        $("#tic-package-toolbar-source").on('click', _filterType);
 
         function _collapseAll() {
             $tree.treeview('collapseAll');
@@ -1218,10 +1195,47 @@ define([
             $tree.treeview('expandAll');
         }
         $('#tic-package-left-col-tree-toolbar-expand-all').on('click', _expandAll);
+    }
 
-        // FIXME: @Author: leechwin.lee@samsung.com
-        // Patch: Bootstrap dropdown menu not working (not dropping down when clicked)
-        // $('.dropdown-toggle').dropdown();
+    function _initContextMenu() {
+        function _uncheckAllBtnHandler() {
+            // INFO: bug for state.checked = false in treeview objects
+            $tree.treeview('checkAll', { silent: true });
+            $tree.treeview('uncheckAll', { silent: true });
+            _.forEach(pkgInfo, function(value, key) {
+                value.checked = false;
+                value.selfChecked = false;
+                value.forward = null;
+                value.backward = null;
+                value.group = null;
+
+                // INFO: bug for state.checked = false in treeview objects
+                _.forEach(value.view, function(node) {
+                    node.state.checked = false;
+                });
+            });
+            groups = {};
+            conflicts = {};
+            _updateSummary();
+        }
+        $tree.contextmenu({
+            target: '#tic-package-context-menu',
+            onItem: function (row, e) {
+                if (e.target.id === 'tic-package-context-menu-uncheck-all') {
+                    _uncheckAllBtnHandler();
+                }
+            }
+        });
+    }
+
+    function init() {
+        logger.info('init');
+
+        _initToolbar();
+        _initContextMenu();
+
+        // button - image creation
+        $('#tic-package-create').on('click', onClickHandlerForImgCreationBtn);
 
         Util.getAppConfig()
         .then(function (config) {
@@ -1238,7 +1252,6 @@ define([
                 }
             });
         });
-
     }
 
     init();