电子档案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
6.0 KiB

  1. <div class="subheader" id="list-header">
  2. <div class="fixed-container">
  3. <div class="btn-group pull-right">
  4. <button type="button" class="btn btn-default" ng-click="createApp()" translate>APPS-LIST.ACTION.CREATE</button>
  5. <button type="button" class="btn btn-default" ng-click="importAppDefinition()" translate>APPS-LIST.ACTION.IMPORT</button>
  6. </div>
  7. <h2>{{'APPS-LIST.TITLE' | translate}}</h2>
  8. </div>
  9. </div>
  10. <div class="container-fluid content" auto-height offset="40">
  11. <div class="col-xs-2 filter-wrapper">
  12. <div class="input-group">
  13. <span class="input-group-addon"> <i
  14. class="glyphicon glyphicon-search"></i>
  15. </span> <input type="text" ng-model="model.pendingFilterText" class="form-control" ng-change="filterDelayed()"
  16. placeholder="{{'APPS-LIST.SEARCH-PLACEHOLDER' | translate}}">
  17. </div>
  18. <ul class="filter-list">
  19. <li ng-repeat="filter in model.filters" ng-class="{'current' : filter.id == model.activeFilter.id}">
  20. <a ng-click="activateFilter(filter)">{{'APPS-LIST.FILTER.' + filter.labelKey | translate}}</a>
  21. </li>
  22. </ul>
  23. </div>
  24. <div class="col-xs-10 item-wrapper" id="list-items">
  25. <div class="dropdown-subtle pull-right" ng-show="model.apps.size != 0">
  26. <div class="btn-group btn-group-sm" activiti-fix-dropdown-bug>
  27. <button type="button" class="btn btn-default dropdown-toggle"
  28. data-toggle="dropdown">{{'FORMS-LIST.SORT.' + model.activeSort.labelKey | translate}} <i class="caret"></i></button>
  29. <ul class="dropdown-menu pull-right">
  30. <li ng-repeat="sort in model.sorts">
  31. <a ng-click="activateSort(sort)">{{'APPS-LIST.SORT.' + sort.labelKey | translate}}</a>
  32. </li>
  33. </ul>
  34. </div>
  35. </div>
  36. <div class="message clearfix">
  37. <div class="loading pull-left" ng-show="model.loading">
  38. <div class="l1"></div><div class="l2"></div><div class="l2"></div>
  39. </div>
  40. <div ng-if="!model.loading">
  41. <span ng-if="model.apps.size > 1">{{'APPS-LIST.FILTER.' + model.activeFilter.labelKey + '-COUNT' | translate:model.apps}}</span>
  42. <span ng-if="model.apps.size == 1">{{'APPS-LIST.FILTER.' + model.activeFilter.labelKey + '-ONE' | translate}}</span>
  43. <span ng-if="model.apps.size == 0 && (!model.filterText || model.filterText == '') && model.activeFilter.id != 'myApps'">{{'APPS-LIST.FILTER.' + model.activeFilter.labelKey + '-EMPTY' | translate}}</span>
  44. <span ng-if="model.apps.size > 0 && model.filterText !='' && model.filterText !== undefined">{{'APPS-LIST.FILTER.FILTER-TEXT' | translate:model}}</span>
  45. <span ng-if="model.apps.size == 0 && model.filterText !='' && model.filterText !== undefined">{{'APPS-LIST.FILTER.FILTER-TEXT-EMPTY' | translate:model}}</span>
  46. </div>
  47. </div>
  48. <div class="help-container fixed" ng-if="model.apps.size == 0 && !model.loading && model.activeFilter.id == 'myApps' && (!model.filterText || model.filterText == '')">
  49. <div>
  50. <div class="help-text wide">
  51. <div class="description">
  52. {{'APPS-LIST.FILTER.NO-APPS' | translate}}
  53. </div>
  54. <div class="help-entry" ng-click="createApp()">
  55. <span class="glyphicon glyphicon-plus-sign"></span>
  56. <span translate="APPS-LIST.FILTER.NO-APPS-CALL-TO-ACTION"></span>
  57. <br>
  58. <span class="note" translate="APPS-LIST.FILTER.NO-APPS-NOTE"></span>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="item fadein" ng-repeat="app in model.apps.data">
  64. <div class="app {{app.appDefinition.theme ? app.appDefinition.theme : 'theme-1'}}">
  65. <div class="app-actions">
  66. <span class="badge">v{{app.version}}</span>
  67. <div class="btn-group pull-right">
  68. <button type="button" ng-click="showAppDetails(app); $event.stopPropagation();" class="btn btn-default" title="{{'APP.ACTION.DETAILS' | translate}}">
  69. <i class="glyphicon glyphicon-search"></i>
  70. </button>
  71. <button type="button" ng-click="editAppDetails(app); $event.stopPropagation();" class="btn btn-default" title="{{'APP.ACTION.OPEN-IN-EDITOR' | translate}}">
  72. <i class="glyphicon glyphicon-edit"></i>
  73. </button>
  74. </div>
  75. </div>
  76. <a ng-click="showAppDetails(app)">
  77. <div class="app-content">
  78. <h3>{{app.name}}</h3>
  79. <p>{{app.description}}</p>
  80. </div>
  81. <div class="backdrop">
  82. <i ng-show="!app.appDefinition.icon" class="icon icon-choice"></i>
  83. <i ng-show="app.appDefinition.icon" class="glyphicon {{app.appDefinition.icon}}"></i>
  84. </div>
  85. <div class="logo">
  86. <i ng-show="!app.appDefinition.icon" class="icon icon-choice"></i>
  87. <i ng-show="app.appDefinition.icon" class="glyphicon {{app.appDefinition.icon}}"></i>
  88. </div>
  89. </a>
  90. </div>
  91. </div>
  92. <div class="show-more" ng-if="model.apps.data.length < model.apps.total">
  93. <a>{{'APPS-LIST.ACTION.SHOW-MORE' | translate}}</a>
  94. </div>
  95. </div>
  96. </div>