edit.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <!--
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. -->
  18. <div class="clearfix">
  19. <ol class="breadcrumb pull-left">
  20. <li><a href="#/views">Views</a></li>
  21. <li class="active">{{instance.ViewInstanceInfo.label}}</li>
  22. </ol>
  23. <div class="pull-right top-margin-4" ng-switch="instance.ViewInstanceInfo.static">
  24. <button ng-switch-when="true" class="btn disabled btn-default btn-delete-instance" tooltip="Cannot Delete Static Instances">Delete Instance</button>
  25. <button ng-switch-when="false" class="btn btn-danger" ng-click="deleteInstance(instance)">Delete Instance</button>
  26. </div>
  27. </div>
  28. <hr>
  29. <div class="panel panel-default" ng-cloak ng-show="instance">
  30. <div class="panel-heading clearfix">
  31. <h3 class="panel-title pull-left">Settings</h3>
  32. <div class="pull-right" ng-switch="instance.ViewInstanceInfo.static">
  33. <a href ng-switch-when="false" ng-click="toggleSettingsEdit()" ng-show="editSettingsDisabled" class="settings-edit-toggle"> <span class="glyphicon glyphicon-pencil" ></span> Edit</a>
  34. <a href ng-switch-when="true" class="settings-edit-toggle disabled" tooltip="Cannot Edit Static Instances"> <span class="glyphicon glyphicon-pencil" ></span> Edit</a>
  35. </div>
  36. </div>
  37. <div class="panel-body">
  38. <form class="form-horizontal" name="settingsForm" novalidate>
  39. <div class="form-group">
  40. <label for="" class="col-sm-2 control-label">View Name</label>
  41. <div class="col-sm-10"><input disabled="disabled" type="text" class="form-control instancename-input" placeholder="Display Name" value="{{instance.ViewInstanceInfo.view_name}}"></div>
  42. </div>
  43. <div class="form-group">
  44. <label for="" class="col-sm-2 control-label">View Version</label>
  45. <div class="col-sm-10"><input disabled="disabled" type="text" class="form-control instancename-input" placeholder="Display Name" value="{{instance.ViewInstanceInfo.version}}"></div>
  46. </div>
  47. <fieldset ng-disabled="editSettingsDisabled">
  48. <div class="form-group">
  49. <label for="" class="col-sm-2 control-label">Instance Name</label>
  50. <div class="col-sm-10"><input disabled="disabled" type="text" class="form-control instancename-input" placeholder="Display Name" value="{{instance.ViewInstanceInfo.instance_name}}"></div>
  51. </div>
  52. <div class="form-group" ng-class="{'has-error' : (settingsForm.displayName.$error.required || settingsForm.displayName.$error.pattern) && !editSettingsDisabled}">
  53. <label for="" class="col-sm-2 control-label">Display Name</label>
  54. <div class="col-sm-10">
  55. <input type="text" class="form-control instancename-input" placeholder="Display Name" name="displayName" required ng-model="settings.label" ng-pattern="/^([a-zA-Z0-9._\s]+)$/">
  56. <div class="alert alert-danger no-margin-bottom top-margin" ng-show='settingsForm.displayName.$error.required && !editSettingsDisabled'>
  57. This field is required.
  58. </div>
  59. <div class="alert alert-danger no-margin-bottom top-margin" ng-show='settingsForm.displayName.$error.pattern && !editSettingsDisabled'>
  60. Must not contain any special characters.
  61. </div>
  62. </div>
  63. </div>
  64. <div class="form-group" ng-class="{'has-error' : settingsForm.description.$error.required && !editSettingsDisabled}">
  65. <label for="" class="control-label col-sm-2">Description</label>
  66. <div class="col-sm-10">
  67. <input type="text" class="form-control" ng-model="settings.description" name="description" placeholder="Instance Description" required>
  68. <div class="alert alert-danger no-margin-bottom top-margin" ng-show='settingsForm.description.$error.required && !editSettingsDisabled'>
  69. This field is required.
  70. </div>
  71. </div>
  72. </div>
  73. <div class="form-group">
  74. <div class="col-sm-offset-2 col-sm-10">
  75. <div class="checkbox">
  76. <label>
  77. <input type="checkbox" ng-model="settings.visible" ng-class="instancevisibility-input"> Visible
  78. </label>
  79. </div>
  80. </div>
  81. </div>
  82. <div class="form-group" ng-hide="editSettingsDisabled">
  83. <div class="col-sm-offset-2 col-sm-10">
  84. <button class="btn btn-primary pull-right left-margin settingssave-btn" ng-click="saveSettings()">Save</button>
  85. <button class="btn btn-default pull-right settingscancel-btn" ng-click="cancelSettings()">Cancel</button>
  86. </div>
  87. </div>
  88. </fieldset>
  89. </form>
  90. </div>
  91. </div>
  92. <div class="panel panel-default views-permissions-panel" style="">
  93. <div class="panel-heading clearfix">
  94. <h3 class="panel-title pull-left">Permissions</h3>
  95. </div>
  96. <div class="panel-body">
  97. <table class="table" ng-show="!isPermissionsEmpty">
  98. <thead>
  99. <tr>
  100. <th class="col-sm-2"><label>Permission</label></th>
  101. <th><label>Grant permission to these users</label></th>
  102. <th><label>Grant permission to these groups</label></th>
  103. </tr>
  104. </thead>
  105. <tbody>
  106. <tr ng-repeat="permission in permissions">
  107. <td>
  108. <label class="" tooltip="{{permission.PermissionInfo.permission_name}}">{{permission.PermissionInfo.permission_name | translate}}</label>
  109. </td>
  110. <td>
  111. <editable-list items-source="permissionsEdit[permission.PermissionInfo.permission_name].USER" editable="true" resource-type="User"></editable-list>
  112. </td>
  113. <td>
  114. <editable-list items-source="permissionsEdit[permission.PermissionInfo.permission_name].GROUP" editable="true" resource-type="Group" ></editable-list>
  115. </td>
  116. </tr>
  117. </tbody>
  118. </table>
  119. <div ng-show="isPermissionsEmpty">
  120. <div class="alert alert-info">There are no permissions defined for this view.</div>
  121. </div>
  122. </div>
  123. </div>
  124. <div class="panel panel-default">
  125. <div class="panel-heading clearfix">
  126. <h3 class="panel-title pull-left">Properties</h3>
  127. <div class="pull-right" ng-switch="instance.ViewInstanceInfo.static">
  128. <a href ng-switch-when="false" ng-hide="isConfigurationEmpty" ng-click="togglePropertiesEditing()" ng-show="editConfigurationDisabled" class="properties-toggle"> <span class="glyphicon glyphicon-pencil"></span> Edit</a>
  129. <a href ng-switch-when="true" ng-hide="isConfigurationEmpty" class="properties-toggle disabled"> <span class="glyphicon glyphicon-pencil"></span> Edit</a>
  130. </div>
  131. </div>
  132. <div class="panel-body">
  133. <form name="propertiesForm" class="form-horizontal property-form" ng-hide="isConfigurationEmpty" novalidate>
  134. <fieldset>
  135. <div class="form-group" ng-repeat="property in configurationMeta" ng-class="{'has-error' : property.required && propertiesForm[property.name].$error.required && !editConfigurationDisabled}" tooltip="{{property.description}}">
  136. <label for="" class="control-label col-sm-3" ng-class="{'not-required': !property.required}">{{property.name}}{{property.required ? '*' : ''}}</label>
  137. <div class="col-sm-9">
  138. <input type="{{property.masked ? 'password' : 'text'}}" class="form-control propertie-input" ng-required="property.required" ng-disabled="editConfigurationDisabled" name="{{property.name}}" ng-model="configuration[property.name]">
  139. <div class="alert alert-danger no-margin-bottom top-margin" ng-show='property.required && propertiesForm[property.name].$error.required && !editConfigurationDisabled'>
  140. This field is required.
  141. </div>
  142. </div>
  143. </div>
  144. <div class="form-group" ng-hide="editConfigurationDisabled">
  145. <div class="col-sm-offset-2 col-sm-10">
  146. <button class="btn btn-primary pull-right left-margin propertie-save" ng-click="saveConfiguration()">Save</button>
  147. <button class="btn btn-default pull-right propertie-cancel" ng-click="cancelConfiguration()">Cancel</button>
  148. </div>
  149. </div>
  150. </fieldset>
  151. </form>
  152. <div ng-show="isConfigurationEmpty">
  153. <div class="alert alert-info">There are no properties defined for this view.</div>
  154. </div>
  155. </div>
  156. </div>