diff --git a/app/admin-tab/accounts/index/template.hbs b/app/admin-tab/accounts/index/template.hbs index 9d59fea90..b7e17b8c6 100644 --- a/app/admin-tab/accounts/index/template.hbs +++ b/app/admin-tab/accounts/index/template.hbs @@ -8,7 +8,7 @@
{{#sortable-table - classNames="lacsso grid sortable-table" + classNames="grid sortable-table" bulkActions=false paging=false fullRows=true diff --git a/app/admin-tab/audit-logs/template.hbs b/app/admin-tab/audit-logs/template.hbs index bbb9f5b93..62d5746eb 100644 --- a/app/admin-tab/audit-logs/template.hbs +++ b/app/admin-tab/audit-logs/template.hbs @@ -49,7 +49,7 @@ {{#sortable-table - classNames="lacsso grid sortable-table" + classNames="grid sortable-table" bulkActions=false paging=showPagination perPage=prefs.tablePerPage @@ -79,7 +79,7 @@ {{identity-block identityNotParsed=log.authenticatedAsIdentityId}} {{auth-type log.authType}}
{{format-ip log.clientIp noIp='generic.emptyString'}}
{{else if (eq kind "norows")}} - {{t 'processesPage.summary.noData'}} + {{t 'processesPage.summary.noData'}} {{/if}} {{/sortable-table}} diff --git a/app/admin-tab/ha/template.hbs b/app/admin-tab/ha/template.hbs index bdc78e392..16a32c9aa 100644 --- a/app/admin-tab/ha/template.hbs +++ b/app/admin-tab/ha/template.hbs @@ -8,7 +8,7 @@
{{#sortable-table - classNames="lacsso grid sortable-table" + classNames="grid sortable-table" bulkActions=false paging=false search=false @@ -25,7 +25,7 @@ {{date-str member.heartbeat}} {{else if (eq kind "norows")}} - {{t 'processesPage.summary.noData'}} + {{t 'processesPage.summary.noData'}} {{/if}} {{/sortable-table}} diff --git a/app/admin-tab/processes/index/template.hbs b/app/admin-tab/processes/index/template.hbs index 39114e5fb..f7965041f 100644 --- a/app/admin-tab/processes/index/template.hbs +++ b/app/admin-tab/processes/index/template.hbs @@ -1,5 +1,5 @@ {{#sortable-table - classNames="lacsso grid sortable-table" + classNames="grid sortable-table" bulkActions=false prefix=true paging=false @@ -15,9 +15,9 @@ {{row.ready}} {{row.delay}} {{else if (eq kind "nomatch")}} - {{t 'processesPage.summary.noMatch'}} + {{t 'processesPage.summary.noMatch'}} {{else if (eq kind "norows")}} - {{t 'processesPage.summary.noData'}} + {{t 'processesPage.summary.noData'}} {{else if (and model.summary.length (eq kind "prefix"))}} {{total.processName}} diff --git a/app/admin-tab/processes/list/template.hbs b/app/admin-tab/processes/list/template.hbs index 6343792b0..9af13ca03 100644 --- a/app/admin-tab/processes/list/template.hbs +++ b/app/admin-tab/processes/list/template.hbs @@ -1,6 +1,6 @@ {{arranged.length}} {{#sortable-table - classNames="lacsso grid sortable-table" + classNames="grid sortable-table" prefix=true bulkActions=false paging=true @@ -63,8 +63,8 @@ {{action-menu model=row showPrimary=false}} {{else if (eq kind "nomatch")}} - {{t 'processesPage.list.noMatch'}} + {{t 'processesPage.list.noMatch'}} {{else if (eq kind "norows")}} - {{t 'processesPage.list.noData' which=which}} + {{t 'processesPage.list.noData' which=which}} {{/if}} {{/sortable-table}} diff --git a/app/admin-tab/processes/pools/template.hbs b/app/admin-tab/processes/pools/template.hbs index f9e4cf0d8..f1ff516e8 100644 --- a/app/admin-tab/processes/pools/template.hbs +++ b/app/admin-tab/processes/pools/template.hbs @@ -1,5 +1,5 @@ {{#sortable-table - classNames="lacsso grid sortable-table" + classNames="grid sortable-table" bulkActions=false paging=false search=false @@ -33,11 +33,11 @@ {{else if (eq kind "nomatch")}} - {{t 'processesPage.pools.noMatch'}} + {{t 'processesPage.pools.noMatch'}} {{else if (eq kind "norows")}} - {{t 'processesPage.pools.noData'}} + {{t 'processesPage.pools.noData'}} {{/if}} {{/sortable-table}} diff --git a/app/admin-tab/processes/template.hbs b/app/admin-tab/processes/template.hbs index 68d993e1f..fed8ed763 100644 --- a/app/admin-tab/processes/template.hbs +++ b/app/admin-tab/processes/template.hbs @@ -1,15 +1,15 @@

{{t 'processesPage.header'}}

-
    -
  • {{#link-to 'admin-tab.processes.index' replace=true class="lacsso"}}{{t 'processesPage.tab.summary'}}{{/link-to}}
  • -
  • {{#link-to 'admin-tab.processes.pools' replace=true class="lacsso"}}{{t 'processesPage.tab.pools'}}{{/link-to}}
  • -
  • {{#link-to 'admin-tab.processes.list' (query-params which="running") replace=true class="lacsso"}}{{t 'processesPage.tab.running'}}{{/link-to}}
  • -
  • {{#link-to 'admin-tab.processes.list' (query-params which="ready") replace=true class="lacsso"}}{{t 'processesPage.tab.ready'}}{{/link-to}}
  • -
  • {{#link-to 'admin-tab.processes.list' (query-params which="delayed") replace=true class="lacsso"}}{{t 'processesPage.tab.delayed'}}{{/link-to}}
  • -
  • {{#link-to 'admin-tab.processes.list' (query-params which="completed") replace=true class="lacsso"}}{{t 'processesPage.tab.completed'}}{{/link-to}}
  • +
      +
    • {{#link-to 'admin-tab.processes.index' replace=true}}{{t 'processesPage.tab.summary'}}{{/link-to}}
    • +
    • {{#link-to 'admin-tab.processes.pools' replace=true}}{{t 'processesPage.tab.pools'}}{{/link-to}}
    • +
    • {{#link-to 'admin-tab.processes.list' (query-params which="running") replace=true}}{{t 'processesPage.tab.running'}}{{/link-to}}
    • +
    • {{#link-to 'admin-tab.processes.list' (query-params which="ready") replace=true}}{{t 'processesPage.tab.ready'}}{{/link-to}}
    • +
    • {{#link-to 'admin-tab.processes.list' (query-params which="delayed") replace=true}}{{t 'processesPage.tab.delayed'}}{{/link-to}}
    • +
    • {{#link-to 'admin-tab.processes.list' (query-params which="completed") replace=true}}{{t 'processesPage.tab.completed'}}{{/link-to}}
-
+
{{outlet}} -
\ No newline at end of file +
diff --git a/app/components/service-addtl-info/component.js b/app/components/service-addtl-info/component.js deleted file mode 100644 index 49f029fd2..000000000 --- a/app/components/service-addtl-info/component.js +++ /dev/null @@ -1,114 +0,0 @@ -import Ember from 'ember'; -import ManageLabels from 'ui/mixins/manage-labels'; -import C from 'ui/utils/constants'; - - -export default Ember.Component.extend(ManageLabels, { - service: null, - show: false, - activeTab: '', - - tagName: 'div', - - classNames: ['service-addtl-info', 'collapse'], - - actions: { - selectTab(tab) { - this.set('activeTab', tab); - }, - - dismiss() { - this.sendAction('dismiss'); - }, - }, - - didReceiveAttrs() { - this.serviceChanged(); - }, - - stateBackground: function() { - return this.get('service.stateColor').replace("text-", "bg-"); - }.property('service.stateColor'), - - showChanged: function() { - if (this.get('show')) - { - $('.stacks-wrap').addClass('summary-shown'); - this.$().show().animate({height: '260px'}, 250, 'easeOutBack'); - } - else - { - this.$().animate({height: '0'}, 250, () => { - if ( this._state === 'inDOM' ) - { - this.$().hide(); - } - - $('.stacks-wrap').removeClass('summary-shown'); - }); - - this.setProperties({ - primaryContainers: null, - sidekicks: null, - service: null, - }); - } - }.observes('show'), - - primaryContainers: null, - sidekicks: null, - serviceChanged: function() { - if ( !this.get('service') ) - { - return; - } - - this.initLabels(this.get('service.launchConfig.labels')); - this.set('activeTab',''); - - var primary = []; - var sidekicks = []; - var sidekickByName = {}; - - var slcs = (this.get('service.secondaryLaunchConfigs')||[]); - slcs.forEach((config) => { - var obj = { - name: config.name, - config: config, - instances: [], - }; - - sidekicks.push(obj); - sidekickByName[config.name] = obj; - }); - - (this.get('service.instances')||[]).forEach((instance) => { - var lc = instance.get('labels')[C.LABEL.LAUNCH_CONFIG]; - - if ( C.REMOVEDISH_STATES.includes(instance.state) ) - { - return; - } - - // Primary service - if ( lc === C.LABEL.LAUNCH_CONFIG_PRIMARY) - { - primary.push(instance); - } - else - { - // Sidekick services - var sidekick = sidekickByName[lc]; - if ( sidekick ) - { - sidekick.instances.push(instance); - } - } - }); - - this.setProperties({ - primaryContainers: primary, - sidekicks: sidekicks, - }); - }.observes('service.instances.@each.{state,labels}'), -}); diff --git a/app/components/service-addtl-info/template.hbs b/app/components/service-addtl-info/template.hbs deleted file mode 100644 index 6288e2d29..000000000 --- a/app/components/service-addtl-info/template.hbs +++ /dev/null @@ -1,43 +0,0 @@ -
- - - -
-
-
- {{#if (eq service.type 'loadBalancerService')}} - {{lb-addtl-info service=service containers=primaryContainers}} - {{else}} - {{#if (eq service.type 'dnsService')}} - {{partial 'alias-service-addtl-info'}} - {{else}} - {{#if (eq service.type 'externalService')}} - {{partial 'ext-service-addtl-info'}} - {{else}} - {{partial 'service-addtl-info'}} - {{/if}} - {{/if}} - {{/if}} -
-
- {{#each sidekicks as |sidekick|}} -
-
- {{sidekick-addtl-info sidekick=sidekick.config containers=sidekick.instances}} -
-
- {{/each}} -
- {{yield}} -
- diff --git a/app/components/sortable-table/template.hbs b/app/components/sortable-table/template.hbs index 3298b40fc..187e6a681 100644 --- a/app/components/sortable-table/template.hbs +++ b/app/components/sortable-table/template.hbs @@ -117,6 +117,6 @@ {{/if}} -{{#if paging}} +{{#if (and paging filtered.length)}} {{page-numbers content=pagedContent class="text-center mt-10 mb-10 no-select" indexTo=indexTo indexFrom=indexFrom totalCount=filtered.length textLabel=pagingLabel}} {{/if}} diff --git a/app/components/stack-graph/component.js b/app/components/stack-graph/component.js index af018be9e..b072391e9 100644 --- a/app/components/stack-graph/component.js +++ b/app/components/stack-graph/component.js @@ -123,28 +123,9 @@ export default Ember.Component.extend(ThrottledResize, { $('#stack-svg svg').css('height', height); }, - showService: function(id) { - let svgHeight; - if ( id ) { - svgHeight = $('#stack-svg').height() - 260; // svg minus the height of info service-addtl-info.scss - this.styleSvg(`${svgHeight}px`); - - if (!this.get('model.showServiceInfo')) { - this.zoomAndScale(1.5); - } - - this.set('model.showServiceInfo', true); - this.set('model.selectedService', this.get('model.stack.services').findBy('id', id)); - } else { - svgHeight = $('#stack-svg').height() - 0; // svg minus the height of info service-addtl-info.scss - this.styleSvg(svgHeight); - - if (this.get('model.showServiceInfo')) { - this.zoomAndScale(2); - } - - this.set('model.showServiceInfo', null); - } + showService: function() { + let svgHeight = $('#stack-svg').height() - 0; // svg minus the height of info service-addtl-info.scss + this.styleSvg(svgHeight); }, crosslinkServices: function() { diff --git a/app/components/stack-section/template.hbs b/app/components/stack-section/template.hbs index 506fa020a..9660f6224 100644 --- a/app/components/stack-section/template.hbs +++ b/app/components/stack-section/template.hbs @@ -106,9 +106,6 @@ {{#if service.showTransitioningMessage}} ({{service.transitioningMessage}}) {{/if}} - - - {{#if service.isError}} {{#link-to "service.log" service.stackId service.id class="bg-transparent"}}{{/link-to}} {{/if}} diff --git a/app/hosts/index/controller.js b/app/hosts/index/controller.js index 62095b81f..bade4ad5c 100644 --- a/app/hosts/index/controller.js +++ b/app/hosts/index/controller.js @@ -79,14 +79,14 @@ export default Ember.Controller.extend({ sort: ['memory','displayName'], searchField: 'memoryBlurb', width: 80, - icon: 'icon icon-lg icon-memory', + translationKey: 'hostsPage.index.table.memory', }, { name: 'docker', sort: ['dockerEngineVersion','displayName'], searchField: 'dockerEngineVersion', - width: 125, - icon: 'icon icon-lg icon-docker', + width: 110, + translationKey: 'hostsPage.index.table.docker', }, { name: 'instanceCount', diff --git a/app/hosts/index/template.hbs b/app/hosts/index/template.hbs index 00b701dda..2d3e05689 100644 --- a/app/hosts/index/template.hbs +++ b/app/hosts/index/template.hbs @@ -1,12 +1,15 @@ -
+

{{t 'hostsPage.index.header'}}

-
- {{#link-to "hosts" (query-params mode="list") classNames="btn btn-sm bg-default"}}{{tooltip-link icon="icon-hamburger-nav" text=(t 'hostsPage.index.tooltip.listView') options=listLinkOptions}}{{/link-to}} - {{#link-to "hosts" (query-params mode="dot") classNames="btn btn-sm bg-default"}}{{tooltip-link icon="icon-ellipsis" text=(t 'hostsPage.index.tooltip.iconView') options=listLinkOptions}}{{/link-to}} - {{#link-to "hosts" (query-params mode="grouped") classNames="btn btn-sm bg-default"}}{{tooltip-link icon="icon-layeredgroup" text=(t 'hostsPage.index.tooltip.groupedView') options=groupLinkOptions}}{{/link-to}} +
+ {{#link-to "hosts.new" classNames="btn btn-sm bg-primary pull-right"}}{{t 'hostsPage.index.addHost'}}{{/link-to}} + +
+ {{#link-to "hosts" (query-params mode="list") classNames="btn btn-sm bg-default"}}{{tooltip-link icon="icon-hamburger-nav" text=(t 'hostsPage.index.tooltip.listView') options=listLinkOptions}}{{/link-to}} + {{#link-to "hosts" (query-params mode="dot") classNames="btn btn-sm bg-default"}}{{tooltip-link icon="icon-ellipsis" text=(t 'hostsPage.index.tooltip.iconView') options=listLinkOptions}}{{/link-to}} + {{#link-to "hosts" (query-params mode="grouped") classNames="btn btn-sm bg-default"}}{{tooltip-link icon="icon-layeredgroup" text=(t 'hostsPage.index.tooltip.groupedView') options=groupLinkOptions}}{{/link-to}} +
- {{#link-to "hosts.new" classNames="btn btn-sm bg-primary"}}{{t 'hostsPage.index.addHost'}}{{/link-to}}
diff --git a/app/stack/chart/template.hbs b/app/stack/chart/template.hbs index e78f092c7..f029c3593 100644 --- a/app/stack/chart/template.hbs +++ b/app/stack/chart/template.hbs @@ -1,6 +1,4 @@
{{svg-service-graph services=model.services action='openInfo'}}
-{{#service-addtl-info service=selectedService show=showAddtlInfo dismiss='dismiss'}} -{{/service-addtl-info}} diff --git a/app/stack/graph/controller.js b/app/stack/graph/controller.js index ceafd3b9a..88f06efba 100644 --- a/app/stack/graph/controller.js +++ b/app/stack/graph/controller.js @@ -3,13 +3,9 @@ import Ember from 'ember'; export default Ember.Controller.extend({ stack: Ember.computed.alias('model.stack'), - showServiceInfo: null, selectedService: null, noServices: false, actions: { - dismiss: function() { - this.set('showServiceInfo',false); - }, setNoServices: function(val) { this.set('noServices', val); } diff --git a/app/stack/graph/route.js b/app/stack/graph/route.js index 409998b29..766ae1241 100644 --- a/app/stack/graph/route.js +++ b/app/stack/graph/route.js @@ -9,7 +9,6 @@ export default Ember.Route.extend({ if (isExiting) { controller.setProperties({ - showServiceInfo: false, selectedService: null, }); } diff --git a/app/stack/graph/template.hbs b/app/stack/graph/template.hbs index a0cb4cf5a..1d6322fb9 100644 --- a/app/stack/graph/template.hbs +++ b/app/stack/graph/template.hbs @@ -1,4 +1,4 @@ -{{stack-header model=model.stack all=model.all.stacks hideAddtlInfo="dismiss"}} +{{stack-header model=model.stack all=model.all.stacks}} {{#if noServices}}
@@ -7,5 +7,3 @@ {{/if}} {{stack-graph model=model setNoServices='setNoServices'}} {{! The graph container isn't actually in this template because it needs to be higher up in the DOM...}} - -{{service-addtl-info service=selectedService show=showServiceInfo dismiss='dismiss'}} diff --git a/app/stack/index/template.hbs b/app/stack/index/template.hbs index 7639a4a02..f49780e6c 100644 --- a/app/stack/index/template.hbs +++ b/app/stack/index/template.hbs @@ -1,5 +1,3 @@ -{{stack-header model=model.stack all=model.all.stacks hideAddtlInfo="dismiss"}} +{{stack-header model=model.stack all=model.all.stacks}} -{{stack-section model=model.stack single=true collapsed=false showAddtlInfo=(action "showAddtlInfo") classNames="mt-20"}} - -{{service-addtl-info service=selectedService show=showAddtlInfo dismiss='dismiss'}} +{{stack-section model=model.stack single=true collapsed=false classNames="mt-20"}} diff --git a/app/stacks/index/controller.js b/app/stacks/index/controller.js index 83a61cae2..cac3af938 100644 --- a/app/stacks/index/controller.js +++ b/app/stacks/index/controller.js @@ -9,28 +9,8 @@ export default Ember.Controller.extend(Sortable, { prefs: Ember.inject.service(), intl: Ember.inject.service(), - infraTemplates: Ember.computed.alias('stacksController.infraTemplates'), which: Ember.computed.alias('stacksController.which'), tags: Ember.computed.alias('stacksController.tags'), - showAddtlInfo: false, - selectedService: null, - - actions: { - showAddtlInfo(service) { - this.set('selectedService', service); - this.set('showAddtlInfo', true); - }, - - dismiss() { - this.set('showAddtlInfo', false); - this.set('selectedService', null); - }, - - sortResults(name) { - this.get('prefs').set(C.PREFS.SORT_STACKS_BY, name); - this.send('setSort', name); - }, - }, filteredStacks: function() { var which = this.get('which'); @@ -61,7 +41,21 @@ export default Ember.Controller.extend(Sortable, { return out; // state isn't really a dependency here, but sortable won't recompute when it changes otherwise - }.property('model.stacks.[]','model.stacks.@each.{state,grouping,system}','which','tags','prefs.showSystemResources'), + }.property('model.stacks.@each.{state,grouping,system}','which','tags','prefs.showSystemResources'), + + simpleMode: function() { + if ( this.get('which') !== C.EXTERNAL_ID.KIND_ALL ) { + return false; + } + + let all = this.get('model.stacks'); + if ( all.get('length') > 1 ) { + return false; + } + + let stack = all.objectAt(0); + return (stack.get('name')||'').toLowerCase() === 'default'; + }.property('which','model.stacks.@each.name'), sortableContent: Ember.computed.alias('filteredStacks'), sortBy: 'name', diff --git a/app/stacks/index/template.hbs b/app/stacks/index/template.hbs index ba560f8e4..0e9d17b8f 100644 --- a/app/stacks/index/template.hbs +++ b/app/stacks/index/template.hbs @@ -1,30 +1,25 @@ -
+

{{t pageHeader name=which tags=tags}}

-
- -
- - -
+ - {{#if (eq which "infra")}} - {{#link-to "catalog-tab" projects.current.id (query-params catalogId="all" templateBase="infra") classNames="btn btn-sm bg-primary"}}{{t 'stacksPage.catalogButton'}}{{/link-to}} - {{else}} - {{#link-to "stacks.new" classNames="btn btn-sm bg-primary"}}{{t 'stacksPage.actionButton'}}{{/link-to}} - {{#if arranged.length}} - {{#link-to "catalog-tab" projects.current.id (query-params catalogId="all") classNames="btn btn-sm bg-primary"}}{{t 'stacksPage.catalogButton'}}{{/link-to}} - {{/if}} - {{/if}} +
+ {{#link-to "service.new" projects.current.id class="btn btn-sm bg-primary"}}{{t 'stacksPage.header.addContainer'}}{{/link-to}} + {{#link-to "stacks.new" classNames="btn btn-sm bg-primary"}}{{t 'stacksPage.header.uploadCompose'}}{{/link-to}}
{{#each arranged as |stack|}} - {{stack-section model=stack showAddtlInfo='showAddtlInfo' showAddService=(not stack.system)}} + {{stack-section model=stack showAddService=(not stack.system)}} {{else}} {{#if (and model.stacks.length tags)}}
{{t 'stacksPage.noMatch'}}
@@ -36,5 +31,3 @@ {{/each}}
- -{{service-addtl-info service=selectedService dismiss='dismiss' show=showAddtlInfo}} diff --git a/app/styles/_rancher.scss b/app/styles/_rancher.scss index cca0d9666..43f5ef936 100644 --- a/app/styles/_rancher.scss +++ b/app/styles/_rancher.scss @@ -98,5 +98,4 @@ @import "app/styles/pages/welcome"; @import "app/styles/pages/settings"; @import "app/styles/pages/catalog"; -@import "app/styles/pages/service-addtl-info"; @import "app/styles/pages/virtualmachine"; diff --git a/app/styles/components/_tables.scss b/app/styles/components/_tables.scss index 858ac1221..294ea948d 100644 --- a/app/styles/components/_tables.scss +++ b/app/styles/components/_tables.scss @@ -114,16 +114,20 @@ TABLE { font-weight: normal; } } - &.has-sub-rows TABLE > THEAD > TR.fixed-header { + + &.has-sub-rows TABLE { + > THEAD > TR.fixed-header { background: darken($link-color, 15); + } + > TBODY > TR > TD { + border: solid thin $table-border-color; + } } + > TBODY { border: none; background-color: $table-bg; > TR { - > TD { - border: solid thin $table-border-color; - } &.row-selected { background-color: $table-bg-selected; } diff --git a/app/styles/layout/_header.scss b/app/styles/layout/_header.scss index 6c130cc13..303d187e2 100755 --- a/app/styles/layout/_header.scss +++ b/app/styles/layout/_header.scss @@ -5,18 +5,6 @@ header { clear: both; } -.searchable { - position: relative; - .icon-search { - position: absolute; - top: 10px; - left: 10px; - } - .input-sm { - padding: 3px 0 3px 35px; - } -} - .header { border-bottom: solid 2px $border; padding: 15px 0; @@ -31,6 +19,12 @@ header { line-height: 45px; } + .right-buttons { + @include clearfix; + float: right; + margin-top: 7px; + } + &.has-tabs { padding: 0; ul { diff --git a/app/styles/pages/_service-addtl-info.scss b/app/styles/pages/_service-addtl-info.scss deleted file mode 100644 index 151436efc..000000000 --- a/app/styles/pages/_service-addtl-info.scss +++ /dev/null @@ -1,130 +0,0 @@ -.summary-shown { - margin-bottom: 320px; -} - -.btn-group{ - display: inline-block; - &.no-wrap { - white-space: no-wrap; - .btn { - float: none; - display:inline-block; - margin-left: -4px; - &:first-child { - margin-left: 0; - } - } - } -} -.service-addtl-info { - overflow: visible !important; - position: fixed; - bottom: 0; - left: 0; - height: 260px; - width: 100%; - box-shadow: 0px -1px 14px $shadow; - z-index: 4; - font-size: 13px; - &.collapse { - height: 0; - } - .list-labels { - font-size: 11px; - } - hr { - border-color: $accent-one; - margin: 5px 0; - } - .tabs { - .tab-header li a{ - background-color: $tab-active-bg; - } - .tab-content { - overflow-y: auto; - overflow-x: hidden; - background-color: $tab-active-bg; - } - .tab-content, - .tab-pane { - height: 100%; - } - } - table { - &.tight { - th, - td { - font-size: 11px; - } - } - } - // ul.nav-tabs { - // position: absolute; - // top: -38px; - // left: 15px; - // border-bottom: none; - // li { - // &.active { - // background: $body-bg; - // } - // a { - // max-width: 125px; - // } - // } - // .close { - // position: absolute; - // top: -10px; - // background: $error; - // color: white; - // height: 20px; - // width: 20px; - // border-radius: 50%; - // text-align: center; - // padding-top: 0.2em; - // z-index: 10; - // opacity: 1; - // left: -10px; - // font-size: 12px; - // } - // } - .description { - @include clip; - - padding: 5px 25px 0 25px; - div:first-of-type { - padding-top: 2px; - } - } - .inner { - display: table; - table-layout: fixed; - height: 240px; - width: 100%; - padding-top: 10px; - } - .container-dots { - height: 165px; - } - div[class*='col-'] { - height: 100%; - } - .content-box { - padding: 5px 5px 15px 15px; - &:last-child { - .content { - border-right: none; - } - - } - } - .content { - height: 100%; - padding: 10px 0; - border-right: 1px solid $table-border-color; - max-height: 215px; - overflow-y: auto; - } - .action-menu { - margin-right: 15px; - } -} diff --git a/app/utils/constants.js b/app/utils/constants.js index d6061b6fd..91fae5a9c 100644 --- a/app/utils/constants.js +++ b/app/utils/constants.js @@ -10,11 +10,28 @@ const KIND_INFRA = 'infra'; const KIND_NOT_ORCHESTRATION = 'cattle'; var C = { + AUTH_TYPES: { + AdminAuth: 'None', + BasicAuth: 'API Key', + HeaderAuth: 'HeaderAuth', + RegistrationToken: 'Host Registration', + TokenAccount: 'TokenAccount', + TokenAuth: 'UI Session' + }, + CAPABILITY: { NETWORK_POLICIES: 'network-policy-manager', SECRETS: 'secrets', }, + CATALOG: { + LIBRARY_KEY: 'library', + LIBRARY_VALUE: 'https://git.rancher.io/rancher-catalog.git', + COMMUNITY_KEY: 'community', + COMMUNITY_VALUE: 'https://git.rancher.io/community-catalog.git', + DEFAULT_BRANCH: 'master', + }, + COOKIE: { TOKEN: 'token', PL: 'PL', @@ -63,12 +80,12 @@ var C = { CATALOG_DEFAULT_GROUP: 'library', }, - CATALOG: { - LIBRARY_KEY: 'library', - LIBRARY_VALUE: 'https://git.rancher.io/rancher-catalog.git', - COMMUNITY_KEY: 'community', - COMMUNITY_VALUE: 'https://git.rancher.io/community-catalog.git', - DEFAULT_BRANCH: 'master', + EXT_REFERENCES: { + FORUM: 'https://forums.rancher.com', + COMPANY: 'http://rancher.com', + GITHUB: 'https://github.com/rancher/rancher', + DOCS: 'http://docs.rancher.com/rancher', + SLACK: 'https://slack.rancher.io', }, GITHUB: { @@ -89,6 +106,11 @@ var C = { RANCHER_VERSION: 'X-Rancher-Version', }, + K8S: { + BASE: 'api', + BASE_VERSION: 'api/v1', + }, + KEY: { LEFT: 37, UP: 38, @@ -156,6 +178,36 @@ var C = { SIDEKICK: 'io.rancher.sidekicks', }, + LANGUAGE: { + DEFAULT: 'en-us', + FORMAT_RELATIVE_TIMEOUT: 1000, + DOCS: ['en'], + }, + + // CSS map to driver icons + MACHINE_DRIVER_IMAGES: { + AMAZONEC2: 'amazonec2', + AZURE: 'azure', + DIGITALOCEAN: 'digitalocean', + EXOSCALE: 'exoscale', + GENERIC: 'generic', + OPENSTACK: 'openstack', + PACKET: 'packet', + RACKSPACE: 'rackspace', + UBIQUITY: 'ubiquity', + VMWAREVSPHERE: 'vmwarevsphere', + OTHER: 'other', + CUSTOM: 'custom', + ALIYUNECS: 'aliyunecs', + }, + + MESOS: { + HEALTH: 'health', + FRAMEWORKS: 'frameworks', + MASTER_SERVICE: 'mesos-master', + MASTER_PORT: 5050, + }, + MODE: { OSS: 'oss', // Regular community UI CAAS: 'caas', // Container cloud UI @@ -176,24 +228,6 @@ var C = { SHOW_SYSTEM : 'showSystem', }, - LANGUAGE: { - DEFAULT: 'en-us', - FORMAT_RELATIVE_TIMEOUT: 1000, - DOCS: ['en'], - }, - - TABLES: { - DEFAULT_COUNT: 50 - - }, - - THEME: { - AUTO_UPDATE_TIMER : 1800000, - START_HOUR : 7, - END_HOUR : 18, - DEFAULT : 'ui-light', - }, - PROJECT: { TYPE_RANCHER: 'rancher_id', TYPE_AZURE_USER: 'azuread_user', @@ -241,12 +275,6 @@ var C = { LOGIN_LANGUAGE : 'loginLanguage', }, - // Ephemeral and unique for each browser tab - TABSESSION: { - PROJECT: 'projectId', - NAMESPACE: 'namespaceId', - }, - SETTING: { // Dots in key names do not mix well with Ember, so use $ in their place. DOT_CHAR: '$', @@ -281,57 +309,28 @@ var C = { SHOW_SYSTEM: 'ui$show$system', }, + TABLES: { + DEFAULT_COUNT: 50 + }, + + // Ephemeral and unique for each browser tab + TABSESSION: { + PROJECT: 'projectId', + NAMESPACE: 'namespaceId', + }, + + THEME: { + AUTO_UPDATE_TIMER : 1800000, + START_HOUR : 7, + END_HOUR : 18, + DEFAULT : 'ui-light', + }, + USER: { TYPE_NORMAL: 'user', TYPE_ADMIN: 'admin', BASIC_BEARER: 'x-api-bearer', }, - - AUTH_TYPES: { - AdminAuth: 'None', - BasicAuth: 'API Key', - HeaderAuth: 'HeaderAuth', - RegistrationToken: 'Host Registration', - TokenAccount: 'TokenAccount', - TokenAuth: 'UI Session' - }, - - EXT_REFERENCES: { - FORUM: 'https://forums.rancher.com', - COMPANY: 'http://rancher.com', - GITHUB: 'https://github.com/rancher/rancher', - DOCS: 'http://docs.rancher.com/rancher', - SLACK: 'https://slack.rancher.io', - }, - - K8S: { - BASE: 'api', - BASE_VERSION: 'api/v1', - }, - - MESOS: { - HEALTH: 'health', - FRAMEWORKS: 'frameworks', - MASTER_SERVICE: 'mesos-master', - MASTER_PORT: 5050, - }, - - // CSS map to driver icons - MACHINE_DRIVER_IMAGES: { - AMAZONEC2: 'amazonec2', - AZURE: 'azure', - DIGITALOCEAN: 'digitalocean', - EXOSCALE: 'exoscale', - GENERIC: 'generic', - OPENSTACK: 'openstack', - PACKET: 'packet', - RACKSPACE: 'rackspace', - UBIQUITY: 'ubiquity', - VMWAREVSPHERE: 'vmwarevsphere', - OTHER: 'other', - CUSTOM: 'custom', - ALIYUNECS: 'aliyunecs', - } }; C.TOKEN_TO_SESSION_KEYS = [ diff --git a/translations/en-us.yaml b/translations/en-us.yaml index 492697142..33ee75044 100644 --- a/translations/en-us.yaml +++ b/translations/en-us.yaml @@ -650,6 +650,7 @@ hostsPage: name: Name ip: IP Address host: Host + memory: RAM docker: Docker instanceState: States noData: You do not have any hosts yet @@ -974,11 +975,12 @@ signupPage: stacksPage: header: + addContainer: Add Container + uploadCompose: Upload compose.yml containers: Containers volumes: Volumes - balancers: Load balancers - actionButton: Add Stack - catalogButton: Add from Catalog + balancers: Balancers + dns: DNS sort: label: Sort By state: State