ui/app/components/new-container/template.hbs

220 lines
7.3 KiB
Handlebars

{{#unless isSidekick}}
<section class="header">
<h1>{{headerLabel}}</h1>
</section>
{{#if isService}}
<section class="horizontal-form container-fluid well">
{{#if isUpgrade}}
{{form-upgrade
switch=(action 'selectLaunchConfig')
optionsChanged=(action 'setUpgrade')
choices=launchConfigChoices
index=launchConfigIndex
}}
{{/if}}
{{form-scale
initialLabels=launchConfig.labels
initialScale=service.scale
isGlobal=isGlobal
errors=scaleErrors
setLabels=(action 'setLabels' 'scale')
setGlobal=(action 'setGlobal')
setScale=(action 'setScale')
isVm=isVm
classNames=(if isUpgrade 'hide')
}}
{{form-launch-config-switch
index=launchConfigIndex
choices=launchConfigChoices
add=(action 'addSidekick')
switch=(action 'selectLaunchConfig')
showAdd=(not isUpgrade)
}}
</section>
{{/if}}
{{/unless}}
{{#if noLaunchConfigsEnabled}}
<div class="text-muted text-center">{{t 'newContainer.selectUpgrade'}}</div>
{{/if}}
<div data-launchindex="{{if isSidekick '' '-1'}}">
<section class="horizontal-form container-fluid well">
<div>
{{#unless isUpgrade}}
{{form-name-description
model=primaryResource
namePlaceholder="newContainer.name.placeholder"
descriptionPlaceholder="newContainer.description.placeholder"
}}
{{/unless}}
</div>
<div class="row r-ml15 r-mr15">
{{form-image
isVm=isVm
initialValue=launchConfig.imageUuid
errors=imageErrors
changed=(action 'setImage')
initialLabels=launchConfig.labels
setLabels=(action 'setLabels' 'image')
}}
{{#if isVm}}
{{form-virtualmachine launchConfig=launchConfig}}
{{/if}}
</div>
{{form-ports
initialPorts=launchConfig.ports
errors=portErrors
changedStr=(action (mut launchConfig.ports))
portsAsStrArray=launchConfig.ports
}}
{{#if (and isService (not isSidekick))}}
{{form-service-links
service=service
allServices=allServices
changed=(action 'setServiceLinks')
}}
{{/if}}
</section>
<section>
<ul class="nav nav-tabs nav-tabs-well shadowed" style="display: inline-block" role="tablist">
{{#if isVm}}
<li role="tab" aria-controls="panel" class="tab" data-section="disks" {{action "selectTab" "disks"}}><a href="#">{{t 'newContainer.tabs.disks'}}</a></li>
<li role="tab" aria-controls="panel" class="tab" data-section="userdata" {{action "selectTab" "userdata"}}><a href="#">{{t 'newContainer.tabs.userData'}}</a></li>
{{else}}
<li role="tab" aria-controls="panel" class="tab" data-section="command" {{action "selectTab" "command"}}><a href="#">{{t 'newContainer.tabs.command'}}</a></li>
<li role="tab" aria-controls="panel" class="tab" data-section="volumes" {{action "selectTab" "volumes"}}><a href="#">{{t 'newContainer.tabs.volumes'}}
</a></li>
<li role="tab" aria-controls="panel" class="tab" data-section="network" {{action "selectTab" "network"}}><a href="#">{{t 'newContainer.tabs.networking'}}</a></li>
<li role="tab" aria-controls="panel" class="tab" data-section="security" {{action "selectTab" "security"}}><a href="#">{{t 'newContainer.tabs.security'}}</a></li>
{{/if}}
<li role="tab" aria-controls="panel" class="tab" data-section="healthcheck" {{action "selectTab" "healthcheck"}}><a href="#">{{t 'newContainer.tabs.healthCheck'}}</a></li>
<li role="tab" aria-controls="panel" class="tab" data-section="labels" {{action "selectTab" "labels"}}><a href="#">{{t 'newContainer.tabs.labels'}}</a></li>
<li role="tab" aria-controls="panel" class="tab" data-section="scheduling" {{action "selectTab" "scheduling"}}><a href="#">{{t 'newContainer.tabs.scheduling'}}</a></li>
</ul>
<div class="horizontal-form well" role="tabpanel">
{{#if isVm}}
<div class="section container-fluid" data-section="disks">
{{form-disks instance=launchConfig availableDrivers=storageDriverChoices errors=diskErrors}}
</div>
<div class="section container-fluid" data-section="userdata">
{{form-userdata instance=launchConfig}}
</div>
{{else}}
<div class="section container-fluid" data-section="command">
{{form-command
instance=launchConfig
initialLabels=launchConfig.labels
errors=commandErrors
isService=isService
setLabels=(action 'setLabels' 'command')
}}
</div>
<div class="section container-fluid" data-section="volumes">
{{form-volumes
instance=launchConfig
isService=isService
service=service
primaryService=primaryService
launchConfigIndex=launchConfigIndex
errors=volumeErrors
allHosts=allHosts}}
</div>
<div class="section container-fluid" data-section="network">
{{form-networking
editing=true
instance=launchConfig
errors=networkingErrors
allHosts=allHosts
service=service
isService=isService
initialLabels=launchConfig.labels
setLabels=(action 'setLabels' 'networking')
}}
</div>
<div class="section" data-section="security">
{{form-security instance=launchConfig errors=securityErrors editing=true}}
</div>
{{/if}}
<div class="section container-fluid" data-section="healthcheck">
{{form-healthcheck
isService=isService
healthCheck=launchConfig.healthCheck
errors=healthCheckErrors
editing=true}}
</div>
<div class="section" data-section="labels">
{{form-user-labels
initialLabels=launchConfig.labels
setLabels=(action 'setLabels' 'user')
}}
</div>
<div class="section" data-section="scheduling">
{{form-scheduling
isService=isService
isGlobal=isGlobal
isVm=isVm
initialHostId=launchConfig.requestedHostId
initialLabels=launchConfig.labels
errors=schedulingErrors
editing=true
allHosts=allHosts
setLabels=(action 'setLabels' 'scheduling')
setGlobal=(action 'setGlobal')
setRequestedHost=(action 'setRequestedHostId')
}}
</div>
</div>
</section>
</div>
{{#if (and isService (not isSidekick))}}
{{#each service.secondaryLaunchConfigs as |slc index|}}
<div data-launchindex="{{index}}" class="hide">
{{new-container
isService=true
isSidekick=true
isUpgrade=isUpgrade
isVm=(eq slc.kind 'virtualMachine')
launchConfig=slc
service=slc
primaryResource=slc
primaryService=primaryService
launchConfigIndex=index
allHosts=allHosts
allServices=allServices
allStoragePools=allStoragePools
}}
</div>
{{/each}}
{{/if}}
{{#unless isSidekick}}
{{top-errors errors=errors}}
{{#save-cancel saveDisabled=noLaunchConfigsEnabled createLabel=(if isUpgrade 'newContainer.saveUpgrade' 'newContainer.saveNew') save="save" cancel="cancel"}}
{{#if (and (not isUpgrade) (not-eq launchConfigIndex -1))}}
<button class="btn btn-default" {{action "removeSidekick"}}>{{t 'newContainer.removeSidekick'}}</button>
{{/if}}
{{/save-cancel}}
{{/unless}}