michahell/pinbored-nwjs

View on GitHub
App/views/overview.html

Summary

Maintainability
Test Coverage
<div class="screen" id="overview">

  <!-- screen title -->
  <div class="screentitle clearfix"> <!-- animated fadeIn  -->
    
    <div class="col-xs-4">
      
      <h6>Overview</h6>

      <!-- Split button load options -->
      <div class="btn-group pull-left" uib-dropdown>
        <button type="button" ng-disabled="data.isLoading" class="btn btn-sm btn-primary" ng-click="forceReload()">
          load {{data.loadType === "recent" ? appconfig.maxRecentItems + ' ' + data.loadType : data.loadType}} bookmarks</button>
        <button type="button" class="btn btn-sm btn-primary dropdown-toggle" uib-dropdown-toggle>
          <span class="caret"></span>
          <span class="sr-only">Split button!</span>
        </button>
        <ul class="dropdown-menu" role="menu">
          <li ng-repeat="loadType in data.loadTypes">
            <a ng-click="setLoadType(loadType)">load {{loadType}} bookmarks</a>
          </li>
        </ul>
      </div>

    </div>

    <div class="col-xs-4 share-label-col">
      <label class="share-label">
        <span class="highlight">{{data.filteredList.length}}</span> bookmarks found
      </label>
    </div>

    <!-- search functionality buttons -->
    <div ng-include src="'views/partials/search/searchbar-buttons.html'"></div>
    
  </div>

  <div class="bar-wrapper clearfix">
    
    <!-- toolbar tag search -->
    <div ng-include src="'views/partials/search/searchbar-tags.html'"></div>

    <!-- toolbar full text search -->
    <div ng-include src="'views/partials/search/searchbar-fulltext.html'"></div>

    <!-- extra overview filter toolbar -->
    <div ng-include src="'views/partials/search/searchbar-extra-bookmarks.html'"></div>

    <!-- toolbar pagination -->
    <div ng-include src="'views/partials/search/searchbar-paging.html'"></div>

    <!-- toolbar multi tag select -->
    <div class="bar clearfix" id="selection" ng-show="data.selectedItems.length > 1">
      <div class="bar-container" ng-show="data.selectedItems.length > 1">
        <nav role="navigation" class="navbar navbar-inverse navbar-embossed">
          
          <div class="col-xs-2">
            <label class="share-label pull-left">with selection: </label>
          </div>

          <div class="col-xs-3">

            <select name="multiAction" class=""
            ng-model="multiAction.selectedAction" ng-change="changeMultiAction()">
              <option value="">select action</option>
              <option value="addTag">add tag</option>
              <option value="foldIntoTag">fold into one tag</option>
              <option value="staleCheck">perform stale check</option>
              <option value="deleteAllTags">delete all tags</option>
              <option value="deleteAllItems">delete</option>
            </select>

          </div>

          <div class="col-xs-4">
            <div class="hider" ng-show="multiAction.show">
              
              <div class="collapse navbar-collapse textselectable">
                <form role="search" class="navbar-form navbar-left">
                  <!-- add tag div -->
                  <div class="form-group" ng-show="multiAction.selectedAction === 'addTag'">
                    <tags-input ng-model="multiAction.newTagNames" placeholder="new tag name" 
                    on-tag-added="onNewTagChanged()" on-tag-removed="onNewTagChanged()">
                      <auto-complete source="loadTagItems($query)"></auto-complete>
                    </tags-input>
                    <!-- <input type="text" ng-model="multiAction.newTagName" placeholder="new tag name" 
                    class="form-control input-sm"> -->
                  </div>
                  <!-- fold into tag div -->
                  <div class="form-group" ng-show="multiAction.selectedAction === 'foldIntoTag'">

                    <tags-input ng-model="multiAction.foldTagNames" placeholder="fold tag name" 
                    on-tag-added="onFoldIntoTagChanged()" on-tag-removed="onFoldIntoTagChanged()">
                      <auto-complete source="loadTagItems($query)"></auto-complete>
                    </tags-input>

                    <!-- <input type="text" ng-model="multiAction.foldTagName" placeholder="fold tag name" 
                    class="form-control input-sm"> -->

                  </div>
                  <!-- submit request button -->
                  <button class="btn btn-default btn-sm" type="submit" 
                  ng-class="{'btn-danger': multiAction.dangerousAction}"
                  ng-click="executeMultiAction()">execute action</button>
                </form>
              </div>

            </div>
          </div>

          <div class="col-xs-3">
            <label class="share-label">
              <span class="highlight">{{data.selectedItems.length}}</span> selected bookmarks
            </label>
          </div>

        </nav>
      </div>
    </div>
  </div>

  <!-- bookmark items list -->
  <div class="section" id="list">

    <div class="list-wrapper" ng-class="{fullheight: data.filteredList.length > 0}">
      <!-- screen list group -->
      <ul class="list-group">
        <li ng-repeat="item in data.filteredList | offset: (paging.current - 1) * config.itemsPerPage | limitTo: config.itemsPerPage track by item.data.hash"
        class="list-group-item" ng-class="{selected: item.status.selected || item.status.showEdit}" 
        ng-controller="BookmarkItemCtrl" ng-click="selectItem()">
          <div ng-include src="'views/partials/items/BookmarkItem.html'"></div>
        </li>
      </ul>
    </div>

    <div class="listBackgroundMessage">
      <h5>{{data.bgMsg}}</h5>
    </div>
    
  </div>

</div>