mirror of https://github.com/rancher/ui.git
edit proj, vmcons, volrow (#650)
* edit proj, vmcons, volrow viewEditProject swarm and storage stack section and edit proj stack section sortable th labels schedrow, schema, sidekick info pg header env, proj row, reg row schema dupe * yaml deletions * typo
This commit is contained in:
parent
2e920c42c2
commit
8fc24f4ea8
|
|
@ -2,11 +2,11 @@
|
|||
<thead>
|
||||
{{#if model.length}}
|
||||
<tr>
|
||||
{{sortable-th sortable=this action="changeSort" name="name"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="name" label="generic.name"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="port" label="Port"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="targetPort" label="Container Port"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="nodepPort" label="Node Port"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="protocol"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="protocol" label="Protocol"}}
|
||||
</tr>
|
||||
{{/if}}
|
||||
</thead>
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-right project-menu" role="menu">
|
||||
{{#if k8s.namespaces.length}}
|
||||
<li role="presentation" class="dropdown-header">Namespaces</li>
|
||||
<li role="presentation" class="dropdown-header">{{t 'pageHeaderEnvironment.namespace'}}</li>
|
||||
{{#each k8s.namespaces as |ns|}}
|
||||
{{#unless ns.isSystem}}
|
||||
<li class="{{if (eq ns k8s.namespace) 'active selected'}}">
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
{{#link-to "settings.projects.detail" model.id (query-params editing=false)}}{{model.displayName}}{{/link-to}}
|
||||
</td>
|
||||
<td data-title="Description:">
|
||||
{{#if model.description}}{{model.description}}{{else}}<span class="text-muted">No description</span>{{/if}}
|
||||
{{#if model.description}}{{model.description}}{{else}}<span class="text-muted">{{t 'projectRow.none'}}</span>{{/if}}
|
||||
</td>
|
||||
<td data-title="Orchestration:">
|
||||
{{model.displayOrchestration}}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
{{model.displayAddress}}
|
||||
</td>
|
||||
<td data-title="Email:">
|
||||
{{#if model.credential.email}}{{model.credential.email}}{{else}}<i class="text-muted">None</i>{{/if}}
|
||||
{{#if model.credential.email}}{{model.credential.email}}{{else}}<i class="text-muted">{{t 'generic.none'}}</i>{{/if}}
|
||||
</td>
|
||||
<td data-title="Username:">
|
||||
{{#if model.credential.publicValue}}{{model.credential.publicValue}}{{else}}<i class="text-muted">None</i>{{/if}}
|
||||
{{#if model.credential.publicValue}}{{model.credential.publicValue}}{{else}}<i class="text-muted">{{t 'generic.none'}}</i>{{/if}}
|
||||
</td>
|
||||
<td data-title="Created:">
|
||||
{{date-calendar model.created}}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<td><div class="form-control-static input-sm">The host</div></td>
|
||||
<td><div class="form-control-static input-sm">{{t 'schedulingRuleRow.theHost'}}</div></td>
|
||||
<td>
|
||||
{{new-select
|
||||
classNames="form-control input-sm"
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
value=suffix
|
||||
}}
|
||||
</td>
|
||||
<td><div class="form-control-static text-center input-sm">have a</div></td>
|
||||
<td><div class="form-control-static text-center input-sm">{{t 'schedulingRuleRow.haveA'}}</div></td>
|
||||
<td>
|
||||
{{new-select
|
||||
classNames="form-control input-sm"
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
</td>
|
||||
<td>
|
||||
{{#if (not (or (eq kind "service_name") (eq kind "container_name")))}}
|
||||
<div class="form-control-static text-center input-sm">of</div>
|
||||
<div class="form-control-static text-center input-sm">{{t 'schedulingRuleRow.of'}}</div>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<label class="r-mr20 hand">
|
||||
{{radio-button selection=value value=true}} True
|
||||
{{radio-button selection=value value=true}} {{t 'schemaComponent.inputBoolean.y'}}
|
||||
</label>
|
||||
<label class="hand">
|
||||
{{radio-button selection=value value=false}} False
|
||||
</label>
|
||||
{{radio-button selection=value value=false}} {{t 'schemaComponent.inputBoolean.n'}}
|
||||
</label>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<select name="" class="form-control r-mb10" onChange={{action (mut value) value="target.value"}}>
|
||||
<option value="">Choose an option...</option>
|
||||
<option value="">{{t 'schema.inputEnum.option'}}</option>
|
||||
{{#each field.options as |option|}}
|
||||
<option value={{option}} selected={{eq option value}}>{{option}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</select>
|
||||
|
|
@ -1,49 +1,49 @@
|
|||
<div class="content-box col-sm-4 col-md-4">
|
||||
<label class="text-muted">Info</label>
|
||||
<label class="text-muted">{{t 'sidekickAddtlInfo.info'}}</label>
|
||||
<div class="content">
|
||||
<label class="text-muted">Image</label>
|
||||
<label class="text-muted">{{t 'sidekickAddtlInfo.image'}}</label>
|
||||
<div class="force-wrap">
|
||||
{{sidekick.imageUuid}}
|
||||
</div>
|
||||
<label class="text-muted r-mt15">Entrypoint</label>
|
||||
<label class="text-muted r-mt15">{{t 'sidekickAddtlInfo.entryPoint'}}</label>
|
||||
<div class="force-wrap">
|
||||
{{#if sidekick.launchConfig.entryPoint}}
|
||||
{{sidekick.launchConfig.entryPoint}}
|
||||
{{else}}
|
||||
<span class="text-muted">None</span>
|
||||
<span class="text-muted">{{t 'generic.none'}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<label class="text-muted r-mt15">Command</label>
|
||||
<label class="text-muted r-mt15">{{t 'sidekickAddtlInfo.command'}}</label>
|
||||
<div class="force-wrap">
|
||||
{{#if sidekick.launchConfig.command}}
|
||||
{{sidekick.launchConfig.command}}
|
||||
{{else}}
|
||||
<span class="text-muted">None</span>
|
||||
<span class="text-muted">{{t 'generic.none'}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box col-sm-4 col-md-4">
|
||||
<label class="text-muted">Containers ({{containers.length}})</label>
|
||||
<label class="text-muted">{{t 'sidekickAddtlInfo.containers'}} ({{containers.length}})</label>
|
||||
<div class="content">
|
||||
<div class="container-dots clearfix">
|
||||
{{#each containers as |instance|}}
|
||||
{{container-dot model=instance}}
|
||||
{{else}}
|
||||
<span class="text-muted">No Containers</span>
|
||||
<span class="text-muted">{{t 'sidekickAddtlInfo.noContainers'}}</span>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box col-sm-4 col-md-4">
|
||||
<label class="text-muted">Labels</label>
|
||||
<label class="text-muted">{{t 'sidekickAddtlInfo.labels'}}</label>
|
||||
<div class="content">
|
||||
<ul class="list-unstyled">
|
||||
{{#each labelArray as |label|}}
|
||||
<li>{{label.key}}: {{label.value}}</li>
|
||||
{{else}}
|
||||
<li class="text-muted">No Labels</li>
|
||||
<li class="text-muted">{{t 'sidekickAddtlInfo.noLabels'}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
<div class="header-left">
|
||||
<div class="btn-group r-ml10">
|
||||
<button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Outputs <i class="icon icon-chevron-down"></i>
|
||||
{{t 'stackSection.outputs'}} <i class="icon icon-chevron-down"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right" role="dropdown">
|
||||
{{#each outputs as |obj|}}
|
||||
|
|
@ -40,28 +40,28 @@
|
|||
|
||||
<div class="header-right right-divider count">
|
||||
<p>{{instanceCount}}</p>
|
||||
<label>Container{{unless (eq instanceCount 1) 's'}}</label>
|
||||
<label>{{t 'stackSection.container' numContainers=instanceCount}}</label>
|
||||
</div>
|
||||
|
||||
<div class="header-right right-divider count">
|
||||
<p>{{model.unremovedServices.length}}</p>
|
||||
<label>Service{{unless (eq model.unremovedServices.length 1) 's'}}</label>
|
||||
<label>{{t 'stackSection.service' numServices=instanceCount}}</label>
|
||||
</div>
|
||||
|
||||
<div class="header-right right-divider stack-template">
|
||||
{{upgrade-btn environmentResource=model}}
|
||||
<div class="btn-group">
|
||||
{{#link-to "service.new" (query-params environmentId=model.id) classNames="btn btn-default btn-sm"}}Add Service{{/link-to}}
|
||||
{{#link-to "service.new" (query-params environmentId=model.id) classNames="btn btn-default btn-sm"}}{{t 'stackSection.add.service'}}{{/link-to}}
|
||||
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="true">
|
||||
<i class="icon icon-fw icon-chevron-down"></i>
|
||||
<span class="sr-only">Toggle Dropdown</span>
|
||||
<span class="sr-only">{{t 'stackSection.add.toggle'}}</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right" role="menu">
|
||||
<li>{{#link-to "service.new-balancer" (query-params environmentId=model.id)}}Add Load Balancer{{/link-to}}</li>
|
||||
<li>{{#link-to "service.new-alias" (query-params environmentId=model.id)}}Add Service Alias{{/link-to}}</li>
|
||||
<li>{{#link-to "service.new-external" (query-params environmentId=model.id)}}Add External Service{{/link-to}}</li>
|
||||
<li>{{#link-to "service.new-balancer" (query-params environmentId=model.id)}}{{t 'stackSection.add.loadBalancer'}}{{/link-to}}</li>
|
||||
<li>{{#link-to "service.new-alias" (query-params environmentId=model.id)}}{{t 'stackSection.add.serviceAlias'}}{{/link-to}}</li>
|
||||
<li>{{#link-to "service.new-external" (query-params environmentId=model.id)}}{{t 'stackSection.add.externalService'}}{{/link-to}}</li>
|
||||
{{#if hasVm}}
|
||||
<li>{{#link-to "service.new-virtualmachine" (query-params environmentId=model.id)}}Add Virtual Machine{{/link-to}}</li>
|
||||
<li>{{#link-to "service.new-virtualmachine" (query-params environmentId=model.id)}}{{t 'stackSection.add.virtualMachine'}}{{/link-to}}</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
{{#if single}}
|
||||
{{#if model.description}}
|
||||
<div class="r-pt20 r-pr20 r-pb20 r-pl20">
|
||||
<label>Description: </label>{{model.description}}
|
||||
<label>{{t 'stackSection.add.description'}}: </label>{{model.description}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
<td data-title="Service Name:"class="force-wrap">
|
||||
{{#link-to "service" service.environmentId service.id}}{{service.displayName}}{{/link-to}}
|
||||
{{#if service.hasSidekicks}}
|
||||
+ {{service.secondaryLaunchConfigs.length}} Sidekick{{unless (eq service.secondaryLaunchConfigs.length 1) 's'}}
|
||||
+ {{service.secondaryLaunchConfigs.length}} {{t 'stackSection.sidekick' numSidekicks=instanceCount}}
|
||||
{{/if}}
|
||||
<button type="button" class="btn-link" role="button" {{action 'addtlInfo' service target=controller}}>
|
||||
<i class="icon icon-info addtl-info-trigger"/>
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
</td>
|
||||
<td data-title="Containers:">
|
||||
{{#if service.hasContainers}}
|
||||
{{default-str service.instances.length default="0"}} Container{{unless (eq service.instances.length 1) 's'}}
|
||||
{{default-str service.instances.length default="0"}} {{t 'stackSection.container' numContainers=instanceCount}}
|
||||
{{/if}}
|
||||
</td>
|
||||
<td data-title="Actions:" class="actions wide">
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
<div class="text-muted text-center r-p10">No Services</div>
|
||||
<div class="text-muted text-center r-p10">{{t 'viewEditProject.showEdit.none'}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/liquid-if}}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
{{#if outputs.length}}
|
||||
<div class="btn-group r-ml10">
|
||||
<button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Outputs <i class="icon icon-fw icon-chevron-down"></i>
|
||||
{{t 'storagePoolSection.outputs'}} <i class="icon icon-fw icon-chevron-down"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
{{#each outputs as |obj|}}
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
<div class="header-right right-divider stack-actions" style="width: auto">
|
||||
{{#unless single}}
|
||||
{{#link-to "storagepools.new-volume" (query-params driverName=model.driverName) classNames="btn btn-primary btn-sm"}}Add Volume{{/link-to}}
|
||||
{{#link-to "storagepools.new-volume" (query-params driverName=model.driverName) classNames="btn btn-primary btn-sm"}}{{t 'storagePoolSection.volumes.add'}}{{/link-to}}
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -37,23 +37,23 @@
|
|||
|
||||
<div class="stack-body r-p10 row row-full-height">
|
||||
<div class="subsection gutter col-xs-6 col-md-3 col-full-height">
|
||||
<h6>Hosts</h6>
|
||||
<h6>{{t 'storagePoolSection.hosts.header'}}</h6>
|
||||
<div class="clearfix r-p10 hosts">
|
||||
{{#each hostsByName as |host|}}
|
||||
<div class="r-m10"><i class="icon {{host.stateIcon}} {{host.stateBackground}}"></i> {{#link-to "host" host.id}}{{host.displayName}}{{/link-to}}</div>
|
||||
{{else}}
|
||||
<div class="text-center text-muted">No hosts</div>
|
||||
<div class="text-center text-muted">{{t 'storagePoolSection.hosts.none'}}</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{#if model.volumes.length}}
|
||||
<div class="subsection gutter col-xs-6 col-md-9 col-full-height">
|
||||
<h6>Volumes</h6>
|
||||
<h6>{{t 'storagePoolSection.volumes.header'}}</h6>
|
||||
<table class="grid fixed" style="margin-bottom: 0">
|
||||
<thead>
|
||||
<tr>
|
||||
{{sortable-th sortable=this action="changeSort" name="state" width="125"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="name"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="state" width="125" label="generic.state"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="name" label="generic.name"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="activeMounts" label="Mounts (Container: Path)"}}
|
||||
<th width="70"> </th>
|
||||
</tr>
|
||||
|
|
@ -80,12 +80,12 @@
|
|||
{{~/if~}}
|
||||
: {{mount.path}}
|
||||
{{#if (eq mount.permissions "ro")}}
|
||||
<span class="text-muted">(read-only)</span>
|
||||
<span class="text-muted">{{t 'storagePoolSection.readOnly'}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
<span class="text-muted">None</span>
|
||||
<span class="text-muted">{{t 'generic.none'}}</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="actions wide">
|
||||
|
|
@ -97,6 +97,6 @@
|
|||
</table>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted text-center r-p10">No Volumes</div>
|
||||
<div class="text-muted text-center r-p10">{{t 'storagePoolSection.volumes.none'}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<div class="row">
|
||||
<div class="badge pull-right"><i class="icon icon-container"></i> {{containerCount}}</div>
|
||||
{{#if node.service.secondaryLaunchConfigs}}
|
||||
<span class="label label-default label-sidekick pull-right">Sidekicks</span>
|
||||
<span class="label label-default label-sidekick pull-right">{{t svgServiceContainer.sidekicks}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="row title">
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
<table class="grid fixed no-lines r-mb0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="120">State</th>
|
||||
<th>Container Name</th>
|
||||
<th>Image</th>
|
||||
<th width="120">{{t 'swarm.containerSection.state'}}</th>
|
||||
<th>{{t 'swarm.containerSection.name'}}</th>
|
||||
<th>{{t 'swarm.containerSection.image'}}</th>
|
||||
<th class="actions" width="85"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -15,5 +15,5 @@
|
|||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
<span class="text-muted">No Containers</span>
|
||||
<span class="text-muted">{{t 'swarm.containerSection.none'}}</span>
|
||||
{{/if}}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
{{#if model.unremovedServices.length}}
|
||||
{{model.unremovedServices.length}}
|
||||
{{else}}
|
||||
<span class="text-muted">None</span>
|
||||
<span class="text-muted">{{t 'generic.none'}}</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="actions">
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
{{#if model.instances.length}}
|
||||
{{model.instances.length}}
|
||||
{{else}}
|
||||
<span class="text-muted">None</span>
|
||||
<span class="text-muted">{{t 'generic.none'}}</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="actions" data-title="Actions:">
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<table class="grid fixed no-lines r-mb0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="125">State</th>
|
||||
<th>Service Name</th>
|
||||
<th>Ports</th>
|
||||
<th width="100">Containers</th>
|
||||
<th width="125">{{t 'swarm.serviceSection.state'}}State</th>
|
||||
<th>{{t 'swarm.serviceSection.name'}}</th>
|
||||
<th>{{t 'swarm.serviceSection.ports'}}</th>
|
||||
<th width="100">{{t 'swarm.serviceSection.containers'}}</th>
|
||||
<th class="actions" width="85"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -16,5 +16,5 @@
|
|||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
<span class="text-muted">No Services</span>
|
||||
<span class="text-muted">{{t 'swarm.serviceSection.none'}}</span>
|
||||
{{/if}}
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
{{#if showEdit}}
|
||||
<h1>
|
||||
{{#if editing}}
|
||||
Edit Environment: {{originalProject.displayName}}
|
||||
{{t 'viewEditProject.showEdit.edit'}} {{originalProject.displayName}}
|
||||
{{else}}
|
||||
Add Environment
|
||||
{{t 'viewEditProject.showEdit.add'}}
|
||||
{{/if}}
|
||||
</h1>
|
||||
{{else}}
|
||||
<h1>{{#link-to "settings.projects"}}Environment:{{/link-to}}</h1>
|
||||
<h1>{{#link-to "settings.projects"}}{{t 'viewEditProject.header'}}{{/link-to}}</h1>
|
||||
{{#power-select options=model.all selected=project onchange=(action "changeProject") searchField="displayName" as |obj|}}
|
||||
{{select-dot model=obj}}
|
||||
{{/power-select}}
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
{{#if showEdit}}
|
||||
<section class="well">
|
||||
<label>Container Orchestration</label>
|
||||
<label>{{t 'viewEditProject.showEdit.orchestration'}}</label>
|
||||
<div class="nav nav-boxes checked-active">
|
||||
{{#each orchestrationChoices as |driver|}}
|
||||
{{#if driver.disabled}}
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
{{else}}
|
||||
{{#if project.description}}
|
||||
<section class="well r-mb0">
|
||||
<label>Description</label>
|
||||
<label>{{t 'viewEditProject.description'}}</label>
|
||||
<p>{{project.description}}</p>
|
||||
</section>
|
||||
{{/if}}
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
<div class="row form-group">
|
||||
{{#if showEdit}}
|
||||
<div class="col-sm-12 col-md-2 form-label">
|
||||
<label class="form-control-static">Access Control</label>
|
||||
<label class="form-control-static">{{t 'viewEditProject.showEdit.formControl'}}</label>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
|
@ -74,9 +74,9 @@
|
|||
<table class="grid fixed" style="margin-bottom: 0;">
|
||||
<thead>
|
||||
<tr>
|
||||
{{sortable-th sortable=this action="changeSort" name="name"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="type"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="role"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="name" label="generic.name"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="type" label="generic.type"}}
|
||||
{{sortable-th sortable=this action="changeSort" name="role" label="generic.role"}}
|
||||
{{#if showEdit}}<th width="40"> </th>{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -119,8 +119,7 @@
|
|||
</table>
|
||||
{{else}}
|
||||
<p class="help-block text-center">
|
||||
Access Control is not enabled.<br/>
|
||||
Anybody with access to the API/UI acts as an admin and will be able to use any environment.
|
||||
{{t 'viewEditProject.helpBlock'}}
|
||||
</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<h2><i class="icon icon-terminal"></i> Console: {{instance.displayName}}</h2>
|
||||
<h2><i class="icon icon-terminal"></i> {{t 'vmConsole.header'}} {{instance.displayName}}</h2>
|
||||
{{#if showProtip}}
|
||||
<div class="text-muted r-mt5 r-mb10" style="font-size: 12px;">
|
||||
ProTip: Hold the {{alternateLabel}} key when opening shell access to launch a new window.
|
||||
{{t 'vmConsole.protip' alternateLabel=alternateLabel}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="console-body clearfix">
|
||||
<div id="noVNC_screen">
|
||||
<canvas class="console-canvas" width="640" height="20">
|
||||
Canvas not supported.
|
||||
{{t 'vmConsole.canvas'}}
|
||||
</canvas>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-actions">
|
||||
<div class="console-status text-muted">{{status}}</div>
|
||||
<button {{action "ctrlAltDelete"}} class="btn btn-default" disabled={{ctrlAltDeleteDisabled}}>Send Ctrl-Alt-Delete</button>
|
||||
<button {{action "cancel"}} class="btn btn-primary">Close</button>
|
||||
<button {{action "ctrlAltDelete"}} class="btn btn-default" disabled={{ctrlAltDeleteDisabled}}>{{t 'vmConsole.footerActions.buttonSend'}}</button>
|
||||
<button {{action "cancel"}} class="btn btn-primary">{{t 'vmConsole.footerActions.buttonCancel'}}</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -15,12 +15,12 @@
|
|||
<div>
|
||||
{{#link-to "container" mount.instanceId}}{{mount.instance.name}}{{/link-to}}:{{mount.path}}
|
||||
{{#if (eq mount.permissions "ro")}}
|
||||
<span class="text-muted">(read-only)</span>
|
||||
<span class="text-muted">{{t 'volumeRow.activeMounts.readOnly'}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
<span class="text-muted">None</span>
|
||||
<span class="text-muted">{{t 'generic.none'}}</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ generic:
|
|||
description: Description
|
||||
default: Default
|
||||
type: Type
|
||||
role: Role
|
||||
|
||||
##############################
|
||||
# Routes
|
||||
|
|
@ -1429,11 +1430,11 @@ formTargets:
|
|||
formUserLabels:
|
||||
addAction: Add Label
|
||||
key:
|
||||
label: Key
|
||||
label: Key
|
||||
placeholder: e.g. foo
|
||||
separator: "="
|
||||
value:
|
||||
label: Value
|
||||
label: Value
|
||||
placeholder: e.g. bar
|
||||
protip: "ProTip: Paste one or more lines of key=value pairs into any key field for easy bulk entry."
|
||||
|
||||
|
|
@ -1542,6 +1543,12 @@ pageFooter:
|
|||
windows: Windows
|
||||
linux: Linux
|
||||
|
||||
pageHeaderEnvironment:
|
||||
namespace: Namespace
|
||||
|
||||
projectRow:
|
||||
none: No description
|
||||
|
||||
saveCancel:
|
||||
saving: Saving...
|
||||
saved: Saved!
|
||||
|
|
@ -1549,6 +1556,83 @@ saveCancel:
|
|||
create: Create
|
||||
cancel: Cancel
|
||||
|
||||
schedulingRuleRow:
|
||||
theHost: The host
|
||||
haveA: have a
|
||||
of: of
|
||||
|
||||
schemaComponent:
|
||||
inputBoolean:
|
||||
y: True
|
||||
n: False
|
||||
inputEnum:
|
||||
option: Choose an option...
|
||||
|
||||
sidekickAddtlInfo:
|
||||
info: Info
|
||||
image: Image
|
||||
entryPoint: Entrypoint
|
||||
command: Command
|
||||
containers: Containers
|
||||
noContainers: No Containers
|
||||
labels: Labels
|
||||
noLabels: No Labels
|
||||
|
||||
stackSection:
|
||||
outputs: Outputs
|
||||
toggle: Toggle Dropdown
|
||||
description: Description
|
||||
none: No Services
|
||||
container: |
|
||||
{numContainers, plural,
|
||||
=1 {Container}
|
||||
other {Containers}
|
||||
}
|
||||
service: |
|
||||
{numServices, plural,
|
||||
=1 {Service}
|
||||
other {Services}
|
||||
}
|
||||
sidekick: |
|
||||
{numSidekicks, plural,
|
||||
=1 {Sidekick}
|
||||
other {Sidekicks}
|
||||
}
|
||||
add:
|
||||
service: Add Service
|
||||
loadBalancer: Add Load Balancer
|
||||
serviceAlias: Add Service Alias
|
||||
externalService: Add External Service
|
||||
virtualMachine: Add Virtual
|
||||
|
||||
storagePoolSection:
|
||||
outputs: Outputs
|
||||
readOnly: "(read-only)"
|
||||
subSection:
|
||||
hosts:
|
||||
header: Hosts
|
||||
none: No Hosts
|
||||
volumes:
|
||||
header: Volumes
|
||||
add: Add Volume
|
||||
none: No Volumes
|
||||
|
||||
svgServiceContainer:
|
||||
sidekicks: Sidekicks
|
||||
|
||||
swarm:
|
||||
containerSection:
|
||||
state: State
|
||||
name: Container Name
|
||||
image: Image
|
||||
none: No Containers
|
||||
serviceSection:
|
||||
state: State
|
||||
name: Service Name
|
||||
ports: Ports
|
||||
containers: Containers
|
||||
none: No Services
|
||||
|
||||
viewEditDescription:
|
||||
form:
|
||||
name:
|
||||
|
|
@ -1556,11 +1640,35 @@ viewEditDescription:
|
|||
description:
|
||||
placeholder: e.g. Environment for developer experimentation
|
||||
|
||||
viewEditProject:
|
||||
showDdit:
|
||||
edit: "Edit Environment:"
|
||||
add: Add Environment
|
||||
orchestration: Container Orchestration
|
||||
formControl: Access Control
|
||||
header: "Environment:"
|
||||
description: Description
|
||||
helpBlock: |
|
||||
Access Control is not enabled.<br/>
|
||||
Anybody with access to the API/UI acts as an admin and will be able to use any environment.
|
||||
|
||||
virtualMachineSettings:
|
||||
header: Virtual Machine Support
|
||||
subtext: |
|
||||
Requires hosts that have the <a href="https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine" target="_blank">KVM</a> kernel module loaded.
|
||||
|
||||
vmConsole:
|
||||
header: "console:"
|
||||
protip: "ProTip: Hold the {alternateLabel} key when opening shell access to launch a new window."
|
||||
canvas: Canvas not supported.
|
||||
|
||||
footeractions:
|
||||
buttonsend: Send Ctrl-Alt-Delete
|
||||
buttoncancel: Close
|
||||
|
||||
volumeRow:
|
||||
activeMounts:
|
||||
readOnly: "(read-only)"
|
||||
##############################
|
||||
# Mixins
|
||||
##############################
|
||||
|
|
|
|||
Loading…
Reference in New Issue