This is an automated email from the ASF dual-hosted git repository. nvazquez pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 0011d45b227a4567e20a4edd41db6a5c6997ce41 Merge: 6581a1b 8680f7d Author: nicolas <[email protected]> AuthorDate: Wed Aug 11 12:36:48 2021 -0300 Merge branch '4.15' into main ui/public/locales/en.json | 23 + ui/src/App.vue | 7 +- ui/src/assets/icons/dark.svg | 39 + ui/src/assets/icons/light.svg | 40 + ui/src/components/page/GlobalFooter.vue | 10 - ui/src/components/page/GlobalLayout.vue | 41 +- ui/src/components/view/DetailSettings.vue | 6 +- ui/src/components/view/InfoCard.vue | 12 +- ui/src/components/view/ListView.vue | 8 - ui/src/components/view/SearchView.vue | 6 +- ui/src/components/view/Setting.vue | 406 +++++++++ ui/src/components/view/SettingItem.vue | 185 +++++ ui/src/components/view/TreeView.vue | 2 - ui/src/components/widgets/Drawer.vue | 170 ++++ ui/src/components/widgets/OsLogo.vue | 15 +- ui/src/layouts/UserLayout.vue | 17 +- ui/src/store/getters.js | 4 +- ui/src/store/modules/user.js | 30 +- ui/src/store/mutation-types.js | 2 + ui/src/style/dark-mode.less | 904 +++++++++++++++++++++ ui/src/style/index.less | 1 + ui/src/style/vars.less | 99 ++- ui/src/views/auth/Login.vue | 6 +- .../views/compute/wizard/NetworkConfiguration.vue | 4 +- ui/src/views/dashboard/UsageDashboardChart.vue | 2 +- ui/src/views/iam/AddLdapAccount.vue | 8 + ui/src/views/infra/HostInfo.vue | 16 +- ui/src/views/infra/zone/ZoneWizardZoneTypeStep.vue | 2 - ui/src/views/network/CreateIsolatedNetworkForm.vue | 1 - ui/src/views/network/CreateL2NetworkForm.vue | 1 - ui/src/views/network/CreateSharedNetworkForm.vue | 7 +- ui/src/views/network/PortForwarding.vue | 6 +- ui/src/views/network/VpcTiersTab.vue | 2 +- ui/src/views/project/iam/ProjectRoleTab.vue | 2 +- ui/src/views/storage/CreateVolume.vue | 2 +- ui/src/views/storage/FormSchedule.vue | 9 +- ui/src/views/storage/TakeSnapshot.vue | 9 +- 37 files changed, 2035 insertions(+), 69 deletions(-) diff --cc ui/public/locales/en.json index fab328d,2b991fd..bc295cc --- a/ui/public/locales/en.json +++ b/ui/public/locales/en.json @@@ -2147,13 -2104,30 +2151,32 @@@ "label.templatesubject": "Subject", "label.templatetotal": "Template", "label.templatetype": "Template Type", +"label.template.temporary.import": "Use a temporary template for import", +"label.template.select.existing": "Select an existing template", "label.tftp.dir": "TFTP Directory", "label.tftpdir": "Tftp root directory", + "label.theme.alert": "The settings panel is only visible in the development environment, please save for the changes to take effect.", + "label.theme.color": "Theme Color", + "label.theme.cyan": "Cyan", + "label.theme.dark": "Dark Style", + "label.theme.daybreak.blue": "Daybreak Blue", "label.theme.default": "Default Theme", + "label.theme.dust.red": "Dust Red", + "label.theme.geek.blue": "Geek Blue", + "label.theme.golden.purple": "Golden Purple", "label.theme.grey": "Custom - Grey", + "label.theme.light": "Light Style", "label.theme.lightblue": "Custom - Light Blue", + "label.theme.navigation.bgColor": "Background Color", + "label.theme.navigation.setting": "Navigation setting", + "label.theme.navigation.txtColor": "Text Color", + "label.theme.page.style.setting": "Page style setting", + "label.theme.polar.green": "Polar Green", + "label.theme.project": "Project Style", + "label.theme.project.navigation.setting": "Project Navigation setting", + "label.theme.sunset.orange": "Sunset Orange", + "label.theme.volcano": "Volcano", + "label.theme.white": "White", "label.threshold": "Threshold", "label.thursday": "Thursday", "label.tier.details": "Tier details", diff --cc ui/src/views/iam/AddLdapAccount.vue index 0ef32d5,b7bf89e..35f6810 --- a/ui/src/views/iam/AddLdapAccount.vue +++ b/ui/src/views/iam/AddLdapAccount.vue @@@ -469,12 -468,12 +469,20 @@@ export default } } +/deep/ .light-row { + background-color: #fff; +} + +/deep/ .dark-row { + background-color: #f9f9f9; +} + + .card-footer { + text-align: right; + + button + button { + margin-left: 8px; + } + } + </style> diff --cc ui/src/views/network/CreateIsolatedNetworkForm.vue index 5a93631,f29c766..36393b3 --- a/ui/src/views/network/CreateIsolatedNetworkForm.vue +++ b/ui/src/views/network/CreateIsolatedNetworkForm.vue @@@ -484,7 -538,14 +484,6 @@@ export default .tagsTitle { font-weight: 500; - color: rgba(0, 0, 0, 0.85); margin-bottom: 12px; } - -.action-button { - text-align: right; - - button { - margin-right: 5px; - } -} </style> diff --cc ui/src/views/network/CreateL2NetworkForm.vue index 4d84513,0479e4b..8304b60 --- a/ui/src/views/network/CreateL2NetworkForm.vue +++ b/ui/src/views/network/CreateL2NetworkForm.vue @@@ -435,7 -480,14 +435,6 @@@ export default .tagsTitle { font-weight: 500; - color: rgba(0, 0, 0, 0.85); margin-bottom: 12px; } - -.action-button { - text-align: right; - - button { - margin-right: 5px; - } -} </style> diff --cc ui/src/views/network/CreateSharedNetworkForm.vue index 67b902e,424e000..d0977fa --- a/ui/src/views/network/CreateSharedNetworkForm.vue +++ b/ui/src/views/network/CreateSharedNetworkForm.vue @@@ -224,92 -289,101 +224,98 @@@ </a-select-option> </a-select> </a-form-item> - <a-form-item> - <span slot="label"> - {{ $t('label.ip4gateway') }} - <a-tooltip :title="apiParams.gateway.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> - <a-input - v-decorator="['ip4gateway', {}]" - :placeholder="this.$t('label.ip4gateway')"/> - </a-form-item> - <a-form-item> - <span slot="label"> - {{ $t('label.ip4netmask') }} - <a-tooltip :title="apiParams.netmask.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> - <a-input - v-decorator="['netmask', {}]" - :placeholder="this.$t('label.netmask')"/> - </a-form-item> - <a-form-item :label="$t('label.startipv4')"> - <span slot="label"> - {{ $t('label.startipv4') }} - <a-tooltip :title="apiParams.startip.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> - <a-input - v-decorator="['startipv4', {}]" - :placeholder="this.$t('label.startipv4')"/> - </a-form-item> - <a-form-item> - <span slot="label"> - {{ $t('label.endipv4') }} - <a-tooltip :title="apiParams.endip.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> - <a-input - v-decorator="['endipv4', {}]" - :placeholder="this.$t('label.endipv4')"/> - </a-form-item> - <a-form-item> - <span slot="label"> - {{ $t('label.ip6gateway') }} - <a-tooltip :title="apiParams.ip6gateway.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> - <a-input - v-decorator="['ip6gateway', {}]" - :placeholder="this.$t('label.ip6gateway')"/> - </a-form-item> - <a-form-item> - <span slot="label"> - {{ $t('label.ip6cidr') }} - <a-tooltip :title="apiParams.ip6cidr.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> + <a-row :gutter="12"> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.ip4gateway')" :tooltip="apiParams.gateway.description"/> + <a-input + v-decorator="['ip4gateway', {}]" + :placeholder="this.$t('label.ip4gateway')"/> + </a-form-item> + </a-col> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.netmask')" :tooltip="apiParams.netmask.description"/> + <a-input + v-decorator="['netmask', {}]" + :placeholder="this.$t('label.netmask')"/> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="12"> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.startipv4')" :tooltip="apiParams.startip.description"/> + <a-input + v-decorator="['startipv4', {}]" + :placeholder="this.$t('label.startipv4')"/> + </a-form-item> + </a-col> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.endipv4')" :tooltip="apiParams.endip.description"/> + <a-input + v-decorator="['endipv4', {}]" + :placeholder="this.$t('label.endipv4')"/> + </a-form-item> + </a-col> + </a-row> + <a-form-item v-if="isVirtualRouterForAtLeastOneService"> + <tooltip-label slot="label" :title="$t('label.routerip')" :tooltip="apiParams.routerip.description"/> <a-input - v-decorator="['ip6cidr', {}]" - :placeholder="this.$t('label.ip6cidr')"/> + v-decorator="['routerip', {}]" + :placeholder="this.$t('label.routerip')"/> </a-form-item> - <a-form-item> - <span slot="label"> - {{ $t('label.startipv6') }} - <a-tooltip :title="apiParams.startipv6.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> + <a-row :gutter="12"> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.ip6gateway')" :tooltip="apiParams.ip6gateway.description"/> + <a-input + v-decorator="['ip6gateway', {}]" + :placeholder="this.$t('label.ip6gateway')"/> + </a-form-item> + </a-col> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.ip6cidr')" :tooltip="apiParams.ip6cidr.description"/> + <a-input + v-decorator="['ip6cidr', {}]" + :placeholder="this.$t('label.ip6cidr')"/> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="12"> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.startipv6')" :tooltip="apiParams.startipv6.description"/> + <a-input + v-decorator="['startipv6', {}]" + :placeholder="this.$t('label.startipv6')"/> + </a-form-item> + </a-col> + <a-col :md="12" :lg="12"> + <a-form-item> + <tooltip-label slot="label" :title="$t('label.endipv6')" :tooltip="apiParams.endipv6.description"/> + <a-input + v-decorator="['endipv6', {}]" + :placeholder="this.$t('label.endipv6')"/> + </a-form-item> + </a-col> + </a-row> + <a-form-item v-if="isVirtualRouterForAtLeastOneService"> + <tooltip-label slot="label" :title="$t('label.routeripv6')" :tooltip="apiParams.routeripv6.description"/> <a-input - v-decorator="['startipv6', {}]" - :placeholder="this.$t('label.startipv6')"/> + v-decorator="['routeripv6', {}]" + :placeholder="this.$t('label.routeripv6')"/> </a-form-item> <a-form-item> - <span slot="label"> - {{ $t('label.endipv6') }} - <a-tooltip :title="apiParams.endipv6.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> ++ <tooltip-label slot="label" :title="$t('label.endipv6')" :tooltip="apiParams.endipv6.description"/> + <a-input + v-decorator="['endipv6', {}]" + :placeholder="this.$t('label.endipv6')"/> + </a-form-item> + <a-form-item> - <span slot="label"> - {{ $t('label.networkdomain') }} - <a-tooltip :title="apiParams.networkdomain.description"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> + <tooltip-label slot="label" :title="$t('label.networkdomain')" :tooltip="apiParams.networkdomain.description"/> <a-input v-decorator="['networkdomain', {}]" :placeholder="this.$t('label.networkdomain')"/> @@@ -825,7 -869,14 +831,6 @@@ export default .tagsTitle { font-weight: 500; - color: rgba(0, 0, 0, 0.85); margin-bottom: 12px; } - -.action-button { - text-align: right; - - button { - margin-right: 5px; - } -} </style> diff --cc ui/src/views/storage/CreateVolume.vue index 9277aac,e1e1839..bb0c456 --- a/ui/src/views/storage/CreateVolume.vue +++ b/ui/src/views/storage/CreateVolume.vue @@@ -49,7 -54,12 +49,7 @@@ </a-select> </a-form-item> <a-form-item> - <tooltip-label slot="label" :title="$t('label.diskofferingid')" :tooltip="apiParams.diskofferingid.description"/> - <span slot="label"> - {{ $t('label.diskoffering') }} - <a-tooltip :title="apiParams.diskofferingid.description || 'Disk Offering'"> - <a-icon type="info-circle" /> - </a-tooltip> - </span> ++ <tooltip-label slot="label" :title="$t('label.diskofferingid')" :tooltip="apiParams.diskofferingid.description || 'Disk Offering'"/> <a-select v-decorator="['diskofferingid', { initialValue: selectedDiskOfferingId, diff --cc ui/src/views/storage/FormSchedule.vue index 146afc1,1628ed0..d807719 --- a/ui/src/views/storage/FormSchedule.vue +++ b/ui/src/views/storage/FormSchedule.vue @@@ -424,7 -426,14 +428,6 @@@ export default .tagsTitle { font-weight: 500; - color: rgba(0, 0, 0, 0.85); margin-bottom: 12px; } - -.action-button { - text-align: right; - - button { - margin-right: 5px; - } -} </style> diff --cc ui/src/views/storage/TakeSnapshot.vue index a8cd72c,410a676..26afc9e --- a/ui/src/views/storage/TakeSnapshot.vue +++ b/ui/src/views/storage/TakeSnapshot.vue @@@ -255,7 -255,14 +259,6 @@@ export default .tagsTitle { font-weight: 500; - color: rgba(0, 0, 0, 0.85); margin-bottom: 12px; } - -.action-button { - text-align: right; - - button { - margin-right: 5px; - } -} </style>
