"text!templates/archiva/modal.html",
"text!templates/archiva/grids-generics.html",
"text!templates/archiva/repositories.html",
- "text!templates/archiva/proxy-connectors.html",
"text!templates/archiva/repository-groups.html",
"text!templates/archiva/search.html",
"text!templates/archiva/general-admin.html",
"text!templates/archiva/artifacts-management.html",
"jquery.tmpl","utils"],
- function(menu,message,modal,grids_generics,repositories,proxies_connectors,
+ function(menu,message,modal,grids_generics,repositories,
repository_groups,search,general_admin,artifacts_management) {
var htmlFragment=$("#html-fragments");
$.tmpl( modal ).appendTo(htmlFragment);
htmlFragment.append(grids_generics);
htmlFragment.append(repositories);
- htmlFragment.append(proxies_connectors);
htmlFragment.append(repository_groups);
htmlFragment.append(search);
htmlFragment.append(general_admin);
+++ /dev/null
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
--->
-<script id="proxyConnectorsMain" type="text/html">
- <div class="page-header">
- <h2><img src="images/preferences-system-network-proxy-32-32.png"/>${$.i18n.prop('proxy-connectors.list')}</h2>
- </div>
-
- <ul id="proxy-connectors-view-tabs" class="nav nav-tabs">
- <li id="proxy-connectors-view-tabs-li-grid" class="active">
- <a data-toggle="tab" href="#proxy-connectors-view" id="proxy-connectors-view-tabs-a-network-proxies-grid">${$.i18n.prop('proxy-connectors.grid.tab.title')}</a>
- </li>
- <li id="proxy-connectors-view-tabs-li-edit">
- <a data-toggle="tab" href="#proxy-connectors-edit" id="proxy-connectors-view-tabs-a-edit">${$.i18n.prop('add')}</a>
- </li>
- <li id="proxy-connectors-view-tabs-li-edit-order">
- <a data-toggle="tab" href="#proxy-connectors-edit-order" id="proxy-connectors-view-tabs-a-edit-order">${$.i18n.prop('proxy-connectors.grid.tab.edit.order')}</a>
- </li>
- </ul>
- <div id="proxy-connectors-view-tabs-content" class="tab-content">
- <div id="proxy-connectors-view" class="tab-pane active">
- <div id="proxy-connectors-bulk-save-btn" data-bind='template:{name:"proxy-connectors-bulk-save-tmpl"}'></div>
- <table class="table table-striped table-bordered" id="proxyConnectorsTable"
- data-bind="simpleGrid: gridViewModel,simpleGridTemplate:'ko-proxy-connectors-grid',pageLinksId:'proxy-connectorsPagination'">
- </table>
- <div id="proxy-connectorsPagination"></div>
- </div>
- <div id="proxy-connectors-edit" class="tab-pane"></div>
- <div id="proxy-connector-edit-order" class="tab-pane span8">
- <div id="proxy-connector-edit-order-managed-repository-div" data-bind='template:{name:"proxy-connector-edit-order-managed-repository-tmpl"}'></div>
- <div id="proxy-connector-edit-order-div"
- data-bind="sortable: { template: 'proxy-connector-edit-order-tmpl', data: proxyConnectors,afterMove: proxyConnectorMoved}">
- </div>
- </div>
- </div>
-
-</script>
-
-<script id='ko-proxy-connectors-grid' type='text/html'>
- <thead>
- <tr>
- <th title="${$.i18n.prop('proxy-connectors.grid.managedrepo.title')}">
- ${$.i18n.prop('proxy-connectors.grid.managedrepo.grid.header')}
- </th>
- <th title="${$.i18n.prop('proxy-connectors.grid.remoterepo.title')}">
- ${$.i18n.prop('proxy-connectors.grid.remoterepo.grid.header')}
- </th>
- <th>${$.i18n.prop('proxy-connectors.grid.remoterepo.settings.popover.title')}</th>
- <th>${$.i18n.prop('edit')}</th>
- <th>${$.i18n.prop('delete')}</th>
- <th>${$.i18n.prop('save')}</th>
- <th>${$.i18n.prop('proxy-connectors.grid.header.order')}</th>
- </tr>
- </thead>
- <tbody>
- {{each(i, row) itemsOnCurrentPage()}}
- <tr data-bind="css:{ 'modified': row.modified()}">
- <td>${row.sourceRepoId()}</td>
- <td>${row.targetRepoId()}</td>
- <td>
- <img src="images/utilities-system-monitor-22-22.png" id="proxy-connectors-grid-remoterepo-settings-edit-${row.sourceRepoId()}-${row.targetRepoId()}"
- data-original-title="${$.i18n.prop('proxy-connectors.grid.remoterepo.settings.popover.title')}"
- data-bind="event: { mouseover: function(){ showSettings(row)},}">
- <div id="proxy-connectors-grid-remoterepo-settings-content-${row.sourceRepoId()}-${row.targetRepoId()}"
- style="display:none"></div>
- </td>
- <td>
- <a data-bind="click: function(){ editProxyConnector(row)}" href="#">
- <span class="btn btn-primary">
- <i class="icon-pencil icon-white"/>
- </span>
- </a>
- </td>
- <td>
- <a href="#" data-bind="click: function(){ deleteProxyConnector(row)}">
- <span class="btn btn-danger">
- <i class="icon-trash icon-white"/>
- </span>
- </a>
- </td>
- <td>
- {{if row.modified()}}
- <a href="#" class="btn btn-warning" data-bind="click: function(){ updateProxyConnector(row)}">
- ${$.i18n.prop('save')}
- </a>
- {{/if}}
- </td>
- <td>
- {{if orderChangeAware(row)}}
- <a href="#" data-bind="click: function(){ displayOrderEdit(row)}">
- <span class="btn btn-info">
- <i class="icon-resize-vertical icon-white"/>
- ${$.i18n.prop('proxy-connectors.order.edit')}
- </span>
-
- </a>
- <span class="badge badge-info">${row.order()}</span>
- {{/if}}
- </td>
- </tr>
- {{/each}}
- </tbody>
- <div id="proxy-connectors-grid-remoterepo-settings-content-${val}-${targetRepoId}" style="display:none"></div>
-</script>
-
-<script id='proxy-connectors-remote-settings-popover-tmpl' type='text/html'>
- <div>
- {{if proxyId}}
- ${$.i18n.prop('proxy-connectors.remoterepo.settings.networkproxy')}: ${proxyConnector.proxyId}
- {{else}}
- ${$.i18n.prop('proxy-connectors.remoterepo.settings.networkproxy')}: ${$.i18n.prop('none')}
- {{/if}}
- <table class="table">
- <thead>
- <th colspan="2">${$.i18n.prop('proxy-connector.policies')}</th>
- </thead>
- <tbody>
- {{each(i, entry) proxyConnector.policiesEntries}}
- {{var name = proxyConnectorsViewModel.findPolicyInformationName(entry.key)}}
- <tr>
- <td>${name}</td>
- <td>${entry.value}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
-</script>
-
-<script id="proxy-connector-edit-form-tmpl" type='text/html'>
-
- <form id="proxy-connector-edit-form" class="well form-horizontal">
- <fieldset id="remote-repository-edit-fieldset">
- <div class="control-group">
- <label class="control-label" for="proxyId">${$.i18n.prop('proxy-connector.network-proxy.id')}</label>
- <div class="controls">
- <select id="proxyId"
- data-bind="options: proxyConnectorsViewModel.networkProxies, optionsText: 'id',optionsValue:'id',
- value: proxyConnector.proxyId, optionsCaption: 'direct connection'"></select>
- </div>
- </div>
- <div class="control-group">
- <label class="control-label" for="proxyId">${$.i18n.prop('proxy-connector.managed.repository.id')}</label>
- <div class="controls">
- <select id="sourceRepoId"
- data-bind="options: proxyConnectorsViewModel.managedRepositories, optionsText: 'id',optionsValue:'id',
- value: proxyConnector.sourceRepoId,attr: {disabled: isUpdate() }"></select>
- </div>
- </div>
- <div class="control-group">
- <label class="control-label" for="proxyId">${$.i18n.prop('proxy-connector.remote.repository.id')}</label>
- <div class="controls">
- <select id="targetRepoId"
- data-bind="options: proxyConnectorsViewModel.remoteRepositories, optionsText: 'id',optionsValue:'id',
- value: proxyConnector.targetRepoId,attr: {disabled: isUpdate() }"></select>
- </div>
- </div>
- <div class="row">
- <div class="control-group span6">
- <table class="table">
- <thead>
- <th colspan="2">${$.i18n.prop('proxy-connector.policies')}</th>
- </thead>
- <tbody data-bind="foreach: proxyConnectorsViewModel.policyInformations()">
- <tr>
- <td data-bind="text: name"></td>
- <td>
- <select data-bind="options: getPolicyOptions(id()),value:getSelectedPolicyOption(id()),
- attr: { id: 'policy-'+id() },event: { change: function(){ changePolicyOption(id())},}">
- </select>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="row">
- <div class="control-group span6">
- <h4>${$.i18n.prop('proxy-connector.properties')}</h4>
- <table class="table">
- <thead>
- <th><input type="text" id="property-key"/></th>
- <th><input type="text" id="property-value"/></th>
- <th><a href="#" data-bind="click: function(){ addProperty() }">${$.i18n.prop('add')}</a></th>
- </thead>
- <tbody data-bind="foreach: proxyConnector.propertiesEntries">
- <tr>
- <td data-bind="text: key"></td>
- <td data-bind="text: value"></td>
- <td><a href="#" data-bind="click: function(){ $parent.deleteProperty(key)}">${$.i18n.prop('delete')}</a></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="row">
- <div class="control-group span6">
- <h4>${$.i18n.prop('proxy-connector.blacklist')}</h4>
- <table class="table">
- <thead>
- <th><input type="text" id="blacklist-value"/></th>
- <th><a href="#" data-bind="click: function(){ addBlacklistPattern() }">${$.i18n.prop('add')}</a></th>
- </thead>
- <tbody data-bind="foreach: proxyConnector.blackListPatterns">
- <tr>
- <td data-bind="text: $data"></td>
- <td><a href="#" data-bind="click: function(){removeBlacklistPattern($data)}">${$.i18n.prop('delete')}</a></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="row">
- <div class="control-group span6">
- <h4>${$.i18n.prop('proxy-connector.whitelist')}</h4>
- <table class="table">
- <thead>
- <th><input type="text" id="whitelist-value"/></th>
- <th><a href="#" data-bind="click: function(){ addWhitelistPattern() }">${$.i18n.prop('add')}</a></th>
- </thead>
- <tbody data-bind="foreach: proxyConnector.whiteListPatterns">
- <tr>
- <td data-bind="text: $data"></td>
- <td><a href="#" data-bind="click: function(){removeWhitelistPattern($data)}">${$.i18n.prop('delete')}</a></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </fieldset>
-
- <button id="proxy-connector-btn-save" data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
- {{if modified()}}
- ${("#network-proxy-btn-save").button('reset')}
- {{/if}}
- <button data-bind="click: displayGrid" class="btn">${$.i18n.prop('cancel')}</button>
-
- </form>
-
-</script>
-<script id="proxy-connectors-bulk-save-tmpl" type='text/html'>
- {{if bulkSave()}}
- <a data-bind="click: updateModifiedProxyConnectors" class="btn btn-danger" href="#">${$.i18n.prop('save.all')}</a>
- {{/if}}
-</script>
-
-<script id="proxy-connector-edit-order-tmpl" type='text/html'>
- <div class="well draggable-item network-proxy-remote-item">
- {{var remoteRepository=$parent.findRemoteRepository(targetRepoId)}}
- <div class="row-fluid">
- <div class="span1">
- <img src="images/system-software-update-32-32.png"/>
- <br/>
- <img src="images/utilities-system-monitor-22-22.png"
- id="proxy-connectors-order-remoterepo-settings-edit-${sourceRepoId()}-${targetRepoId()}"
- data-original-title="${$.i18n.prop('proxy-connectors.grid.remoterepo.settings.popover.title')}"
- data-bind="event: { mouseover: function(){ displaySettings(sourceRepoId(),targetRepoId())},}">
- <div id="proxy-connectors-order-remoterepo-settings-content-${sourceRepoId()}-${targetRepoId()}"
- style="display:none"></div>
- </div>
- <div class="span6 pull-left">
- <blockquote>
- ${targetRepoId}
- <br/>
- ${remoteRepository.name()} (<a href="${remoteRepository.url()}" target="_blank">${remoteRepository.url()}</a>)
- </blockquote>
- </div>
- <div class="span2">
- <span class="badge badge-info">${order}</span>
- </div>
- </div>
- </div>
-</script>
-
-<script id="proxy-connector-edit-order-managed-repository-tmpl" type="text/html">
- <div class="well row-fluid">
- <div class="span1">
- <img src="images/applications-internet-32-32.png"/>
- </div>
- <div class="span6">
- <blockquote>
- ${managedRepository.id}
- <br/>
- ${managedRepository.name}
- </blockquote>
- </div>
- <div class="span2">
- {{if proxyConnectorsViewModel.bulkSave()}}
- <p>
- <a data-bind="click: function(){updateModifiedProxyConnectors()}"
- href="#" class="btn btn-warning">${$.i18n.prop('save.all')}</a></p>
- {{/if}}
- </div>
- </div>
-</script>
-
-<script id="proxy-connector-delete-warning-tmpl" type='text/html'>
- <div>
- <span class="label label-warning">${$.i18n.prop('warning.not.undone.operation')}</span>
- </div>
-</script>
-
<div>
<span class="label label-warning">${$.i18n.prop('warning.not.undone.operation')}</span>
</div>
+</script>
+
+<script id="proxyConnectorsMain" type="text/html">
+ <div class="page-header">
+ <h2><img src="images/preferences-system-network-proxy-32-32.png"/>${$.i18n.prop('proxy-connectors.list')}</h2>
+ </div>
+
+ <ul id="proxy-connectors-view-tabs" class="nav nav-tabs">
+ <li id="proxy-connectors-view-tabs-li-grid" class="active">
+ <a data-toggle="tab" href="#proxy-connectors-view" id="proxy-connectors-view-tabs-a-network-proxies-grid">${$.i18n.prop('proxy-connectors.grid.tab.title')}</a>
+ </li>
+ <li id="proxy-connectors-view-tabs-li-edit">
+ <a data-toggle="tab" href="#proxy-connectors-edit" id="proxy-connectors-view-tabs-a-edit">${$.i18n.prop('add')}</a>
+ </li>
+ <li id="proxy-connectors-view-tabs-li-edit-order">
+ <a data-toggle="tab" href="#proxy-connectors-edit-order" id="proxy-connectors-view-tabs-a-edit-order">${$.i18n.prop('proxy-connectors.grid.tab.edit.order')}</a>
+ </li>
+ </ul>
+ <div id="proxy-connectors-view-tabs-content" class="tab-content">
+ <div id="proxy-connectors-view" class="tab-pane active">
+ <div id="proxy-connectors-bulk-save-btn" data-bind='template:{name:"proxy-connectors-bulk-save-tmpl"}'></div>
+ <table class="table table-striped table-bordered" id="proxyConnectorsTable"
+ data-bind="simpleGrid: gridViewModel,simpleGridTemplate:'ko-proxy-connectors-grid',pageLinksId:'proxy-connectorsPagination'">
+ </table>
+ <div id="proxy-connectorsPagination"></div>
+ </div>
+ <div id="proxy-connectors-edit" class="tab-pane"></div>
+ <div id="proxy-connector-edit-order" class="tab-pane span8">
+ <div id="proxy-connector-edit-order-managed-repository-div" data-bind='template:{name:"proxy-connector-edit-order-managed-repository-tmpl"}'></div>
+ <div id="proxy-connector-edit-order-div"
+ data-bind="sortable: { template: 'proxy-connector-edit-order-tmpl', data: proxyConnectors,afterMove: proxyConnectorMoved}">
+ </div>
+ </div>
+ </div>
+
+</script>
+
+<script id='ko-proxy-connectors-grid' type='text/html'>
+ <thead>
+ <tr>
+ <th title="${$.i18n.prop('proxy-connectors.grid.managedrepo.title')}">
+ ${$.i18n.prop('proxy-connectors.grid.managedrepo.grid.header')}
+ </th>
+ <th title="${$.i18n.prop('proxy-connectors.grid.remoterepo.title')}">
+ ${$.i18n.prop('proxy-connectors.grid.remoterepo.grid.header')}
+ </th>
+ <th>${$.i18n.prop('proxy-connectors.grid.remoterepo.settings.popover.title')}</th>
+ <th>${$.i18n.prop('edit')}</th>
+ <th>${$.i18n.prop('delete')}</th>
+ <th>${$.i18n.prop('save')}</th>
+ <th>${$.i18n.prop('proxy-connectors.grid.header.order')}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {{each(i, row) itemsOnCurrentPage()}}
+ <tr data-bind="css:{ 'modified': row.modified()}">
+ <td>${row.sourceRepoId()}</td>
+ <td>${row.targetRepoId()}</td>
+ <td>
+ <img src="images/utilities-system-monitor-22-22.png" id="proxy-connectors-grid-remoterepo-settings-edit-${row.sourceRepoId()}-${row.targetRepoId()}"
+ data-original-title="${$.i18n.prop('proxy-connectors.grid.remoterepo.settings.popover.title')}"
+ data-bind="event: { mouseover: function(){ showSettings(row)},}">
+ <div id="proxy-connectors-grid-remoterepo-settings-content-${row.sourceRepoId()}-${row.targetRepoId()}"
+ style="display:none"></div>
+ </td>
+ <td>
+ <a data-bind="click: function(){ editProxyConnector(row)}" href="#">
+ <span class="btn btn-primary">
+ <i class="icon-pencil icon-white"/>
+ </span>
+ </a>
+ </td>
+ <td>
+ <a href="#" data-bind="click: function(){ deleteProxyConnector(row)}">
+ <span class="btn btn-danger">
+ <i class="icon-trash icon-white"/>
+ </span>
+ </a>
+ </td>
+ <td>
+ {{if row.modified()}}
+ <a href="#" class="btn btn-warning" data-bind="click: function(){ updateProxyConnector(row)}">
+ ${$.i18n.prop('save')}
+ </a>
+ {{/if}}
+ </td>
+ <td>
+ {{if orderChangeAware(row)}}
+ <a href="#" data-bind="click: function(){ displayOrderEdit(row)}">
+ <span class="btn btn-info">
+ <i class="icon-resize-vertical icon-white"/>
+ ${$.i18n.prop('proxy-connectors.order.edit')}
+ </span>
+
+ </a>
+ <span class="badge badge-info">${row.order()}</span>
+ {{/if}}
+ </td>
+ </tr>
+ {{/each}}
+ </tbody>
+ <div id="proxy-connectors-grid-remoterepo-settings-content-${val}-${targetRepoId}" style="display:none"></div>
+</script>
+
+<script id='proxy-connectors-remote-settings-popover-tmpl' type='text/html'>
+ <div>
+ {{if proxyId}}
+ ${$.i18n.prop('proxy-connectors.remoterepo.settings.networkproxy')}: ${proxyConnector.proxyId}
+ {{else}}
+ ${$.i18n.prop('proxy-connectors.remoterepo.settings.networkproxy')}: ${$.i18n.prop('none')}
+ {{/if}}
+ <table class="table">
+ <thead>
+ <th colspan="2">${$.i18n.prop('proxy-connector.policies')}</th>
+ </thead>
+ <tbody>
+ {{each(i, entry) proxyConnector.policiesEntries}}
+ {{var name = proxyConnectorsViewModel.findPolicyInformationName(entry.key)}}
+ <tr>
+ <td>${name}</td>
+ <td>${entry.value}</td>
+ </tr>
+ {{/each}}
+ </tbody>
+ </table>
+ </div>
+</script>
+
+<script id="proxy-connector-edit-form-tmpl" type='text/html'>
+
+ <form id="proxy-connector-edit-form" class="well form-horizontal">
+ <fieldset id="remote-repository-edit-fieldset">
+ <div class="control-group">
+ <label class="control-label" for="proxyId">${$.i18n.prop('proxy-connector.network-proxy.id')}</label>
+ <div class="controls">
+ <select id="proxyId"
+ data-bind="options: proxyConnectorsViewModel.networkProxies, optionsText: 'id',optionsValue:'id',
+ value: proxyConnector.proxyId, optionsCaption: 'direct connection'"></select>
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="proxyId">${$.i18n.prop('proxy-connector.managed.repository.id')}</label>
+ <div class="controls">
+ <select id="sourceRepoId"
+ data-bind="options: proxyConnectorsViewModel.managedRepositories, optionsText: 'id',optionsValue:'id',
+ value: proxyConnector.sourceRepoId,attr: {disabled: isUpdate() }"></select>
+ </div>
+ </div>
+ <div class="control-group">
+ <label class="control-label" for="proxyId">${$.i18n.prop('proxy-connector.remote.repository.id')}</label>
+ <div class="controls">
+ <select id="targetRepoId"
+ data-bind="options: proxyConnectorsViewModel.remoteRepositories, optionsText: 'id',optionsValue:'id',
+ value: proxyConnector.targetRepoId,attr: {disabled: isUpdate() }"></select>
+ </div>
+ </div>
+ <div class="row">
+ <div class="control-group span6">
+ <table class="table">
+ <thead>
+ <th colspan="2">${$.i18n.prop('proxy-connector.policies')}</th>
+ </thead>
+ <tbody data-bind="foreach: proxyConnectorsViewModel.policyInformations()">
+ <tr>
+ <td data-bind="text: name"></td>
+ <td>
+ <select data-bind="options: getPolicyOptions(id()),value:getSelectedPolicyOption(id()),
+ attr: { id: 'policy-'+id() },event: { change: function(){ changePolicyOption(id())},}">
+ </select>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="row">
+ <div class="control-group span6">
+ <h4>${$.i18n.prop('proxy-connector.properties')}</h4>
+ <table class="table">
+ <thead>
+ <th><input type="text" id="property-key"/></th>
+ <th><input type="text" id="property-value"/></th>
+ <th><a href="#" data-bind="click: function(){ addProperty() }">${$.i18n.prop('add')}</a></th>
+ </thead>
+ <tbody data-bind="foreach: proxyConnector.propertiesEntries">
+ <tr>
+ <td data-bind="text: key"></td>
+ <td data-bind="text: value"></td>
+ <td><a href="#" data-bind="click: function(){ $parent.deleteProperty(key)}">${$.i18n.prop('delete')}</a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="row">
+ <div class="control-group span6">
+ <h4>${$.i18n.prop('proxy-connector.blacklist')}</h4>
+ <table class="table">
+ <thead>
+ <th><input type="text" id="blacklist-value"/></th>
+ <th><a href="#" data-bind="click: function(){ addBlacklistPattern() }">${$.i18n.prop('add')}</a></th>
+ </thead>
+ <tbody data-bind="foreach: proxyConnector.blackListPatterns">
+ <tr>
+ <td data-bind="text: $data"></td>
+ <td><a href="#" data-bind="click: function(){removeBlacklistPattern($data)}">${$.i18n.prop('delete')}</a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="row">
+ <div class="control-group span6">
+ <h4>${$.i18n.prop('proxy-connector.whitelist')}</h4>
+ <table class="table">
+ <thead>
+ <th><input type="text" id="whitelist-value"/></th>
+ <th><a href="#" data-bind="click: function(){ addWhitelistPattern() }">${$.i18n.prop('add')}</a></th>
+ </thead>
+ <tbody data-bind="foreach: proxyConnector.whiteListPatterns">
+ <tr>
+ <td data-bind="text: $data"></td>
+ <td><a href="#" data-bind="click: function(){removeWhitelistPattern($data)}">${$.i18n.prop('delete')}</a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </fieldset>
+
+ <button id="proxy-connector-btn-save" data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
+ {{if modified()}}
+ ${("#network-proxy-btn-save").button('reset')}
+ {{/if}}
+ <button data-bind="click: displayGrid" class="btn">${$.i18n.prop('cancel')}</button>
+
+ </form>
+
+</script>
+<script id="proxy-connectors-bulk-save-tmpl" type='text/html'>
+ {{if bulkSave()}}
+ <a data-bind="click: updateModifiedProxyConnectors" class="btn btn-danger" href="#">${$.i18n.prop('save.all')}</a>
+ {{/if}}
+</script>
+
+<script id="proxy-connector-edit-order-tmpl" type='text/html'>
+ <div class="well draggable-item network-proxy-remote-item">
+ {{var remoteRepository=$parent.findRemoteRepository(targetRepoId)}}
+ <div class="row-fluid">
+ <div class="span1">
+ <img src="images/system-software-update-32-32.png"/>
+ <br/>
+ <img src="images/utilities-system-monitor-22-22.png"
+ id="proxy-connectors-order-remoterepo-settings-edit-${sourceRepoId()}-${targetRepoId()}"
+ data-original-title="${$.i18n.prop('proxy-connectors.grid.remoterepo.settings.popover.title')}"
+ data-bind="event: { mouseover: function(){ displaySettings(sourceRepoId(),targetRepoId())},}">
+ <div id="proxy-connectors-order-remoterepo-settings-content-${sourceRepoId()}-${targetRepoId()}"
+ style="display:none"></div>
+ </div>
+ <div class="span6 pull-left">
+ <blockquote>
+ ${targetRepoId}
+ <br/>
+ ${remoteRepository.name()} (<a href="${remoteRepository.url()}" target="_blank">${remoteRepository.url()}</a>)
+ </blockquote>
+ </div>
+ <div class="span2">
+ <span class="badge badge-info">${order}</span>
+ </div>
+ </div>
+ </div>
+</script>
+
+<script id="proxy-connector-edit-order-managed-repository-tmpl" type="text/html">
+ <div class="well row-fluid">
+ <div class="span1">
+ <img src="images/applications-internet-32-32.png"/>
+ </div>
+ <div class="span6">
+ <blockquote>
+ ${managedRepository.id}
+ <br/>
+ ${managedRepository.name}
+ </blockquote>
+ </div>
+ <div class="span2">
+ {{if proxyConnectorsViewModel.bulkSave()}}
+ <p>
+ <a data-bind="click: function(){updateModifiedProxyConnectors()}"
+ href="#" class="btn btn-warning">${$.i18n.prop('save.all')}</a></p>
+ {{/if}}
+ </div>
+ </div>
+</script>
+
+<script id="proxy-connector-delete-warning-tmpl" type='text/html'>
+ <div>
+ <span class="label label-warning">${$.i18n.prop('warning.not.undone.operation')}</span>
+ </div>
</script>
\ No newline at end of file