mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-20 13:44:19 +08:00
[improvement][semantic-fe] UI optimization for metric details page. (#610)
* [improvement][semantic-fe] Add model alias setting & Add view permission restrictions to the model permission management tab. [improvement][semantic-fe] Add permission control to the action buttons for the main domain; apply high sensitivity filtering to the authorization of metrics/dimensions. [improvement][semantic-fe] Optimize the editing mode in the dimension/metric/datasource components to use the modelId stored in the database for data, instead of relying on the data from the state manager. * [improvement][semantic-fe] Add time granularity setting in the data source configuration. * [improvement][semantic-fe] Dictionary import for dimension values supported in Q&A visibility * [improvement][semantic-fe] Modification of data source creation prompt wording" * [improvement][semantic-fe] metric market experience optimization * [improvement][semantic-fe] enhance the analysis of metric trends * [improvement][semantic-fe] optimize the presentation of metric trend permissions * [improvement][semantic-fe] add metric trend download functionality * [improvement][semantic-fe] fix the dimension initialization issue in metric correlation * [improvement][semantic-fe] Fix the issue of database changes not taking effect when creating based on an SQL data source. * [improvement][semantic-fe] Optimizing pagination logic and some CSS styles * [improvement][semantic-fe] Fixing the API for the indicator list by changing "current" to "pageNum" * [improvement][semantic-fe] Fixing the default value setting for the indicator list * [improvement][semantic-fe] Adding batch operations for indicators/dimensions/models * [improvement][semantic-fe] Replacing the single status update API for indicators/dimensions with a batch update API * [improvement][semantic-fe] Redesigning the indicator homepage to incorporate trend charts and table functionality for indicators * [improvement][semantic-fe] Optimizing the logic for setting dimension values and editing data sources, and adding system settings functionality * [improvement][semantic-fe] Upgrading antd version to 5.x, extracting the batch operation button component, optimizing the interaction for system settings, and expanding the configuration generation types for list-to-select component. * [improvement][semantic-fe] Adding the ability to filter dimensions based on whether they are tags or not. * [improvement][semantic-fe] Adding the ability to edit relationships between models in the canvas. * [improvement][semantic-fe] Updating the datePicker component to use dayjs instead. * [improvement][semantic-fe] Fixing the issue with passing the model ID for dimensions in the indicator market. * [improvement][semantic-fe] Fixing the abnormal state of the popup when creating a model. * [improvement][semantic-fe] Adding permission logic for bulk operations in the indicator market. * [improvement][semantic-fe] Adding the ability to download and transpose data. * [improvement][semantic-fe] Fixing the initialization issue with the date selection component in the indicator details page when switching time granularity. * [improvement][semantic-fe] Fixing the logic error in the dimension value setting. * [improvement][semantic-fe] Fixing the synchronization issue with the question and answer settings information. * [improvement][semantic-fe] Optimizing the canvas functionality for better performance and user experience. * [improvement][semantic-fe] Optimizing the update process for drawing model relationship edges in the canvas. * [improvement][semantic-fe] Changing the line type for canvas connections. * [improvement][semantic-fe] Replacing the initialization variable from "semantic" to "headless". * [improvement][semantic-fe] Fixing the missing migration issue for default drill-down dimension configuration in model editing. Additionally, optimizing the data retrieval method for initializing fields in the model. * [improvement][semantic-fe] Updating the logic for the fieldName. * [improvement][semantic-fe] Adjusting the position of the metrics tab. * [improvement][semantic-fe] Changing the 字段名称 to 英文名称. * [improvement][semantic-fe] Fix metric measurement deletion. * [improvement][semantic-fe] UI optimization for metric details page.
This commit is contained in:
@@ -99,7 +99,7 @@
|
||||
line-height: 1.5714285714285714;
|
||||
list-style: none;
|
||||
.extraTitle {
|
||||
font-size: 12px;
|
||||
// font-size: 12px;
|
||||
min-width: 50px;
|
||||
margin-inline-end: 6px;
|
||||
margin-block-end: 0;
|
||||
@@ -116,80 +116,231 @@
|
||||
}
|
||||
}
|
||||
|
||||
.metricDetail {
|
||||
height: calc(100vh - 50px);
|
||||
.title {
|
||||
margin-bottom: 0;
|
||||
margin-top:0;
|
||||
background-color: #fff;
|
||||
font-size: 20px;
|
||||
line-height: 34px;
|
||||
border-bottom: 1px solid #d9d9d9;
|
||||
display: flex;
|
||||
.titleLeft {
|
||||
display: flex;
|
||||
flex: 1 1 auto;
|
||||
.navContainer {
|
||||
// display: flex;
|
||||
padding: 20px;
|
||||
padding-left: 30px;
|
||||
.description {
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
padding-top: 12px;
|
||||
color: #546174
|
||||
}
|
||||
}
|
||||
.backBtn {
|
||||
background-color: #f8f8f8;
|
||||
padding: 5px;
|
||||
color: #b0b4bc;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||
&:hover {
|
||||
background-color: #7599e5;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.titleRight {
|
||||
display: flex;
|
||||
flex: 0 1 200px;
|
||||
.info {
|
||||
margin: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tabContainer {
|
||||
background-color: #fff;
|
||||
padding: 0px 40px;
|
||||
}
|
||||
.metricInfoContent {
|
||||
padding:25px;
|
||||
.title {
|
||||
margin-bottom: 12px;
|
||||
font-size: 16px;
|
||||
color: #0e73ff;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
&::before {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: "";
|
||||
left: -10px;
|
||||
top: 10px;
|
||||
height: 14px;
|
||||
width: 3px;
|
||||
font-size: 0;
|
||||
background: #0e73ff;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #0e73ff;
|
||||
.metricDetailWrapper {
|
||||
height: calc(100vh - 56px);
|
||||
overflow: scroll;
|
||||
.metricDetail {
|
||||
display: flex;
|
||||
padding: 0px;
|
||||
width: 100%;
|
||||
background-color: transparent;
|
||||
position: relative;
|
||||
flex-direction: row;
|
||||
.tabContainer {
|
||||
background-color: rgb(240, 242, 245);
|
||||
width: calc(100vw - 450px);
|
||||
}
|
||||
.metricInfoContent {
|
||||
padding:25px;
|
||||
.title {
|
||||
margin-bottom: 12px;
|
||||
font-size: 16px;
|
||||
color: #0e73ff;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
&::before {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: "";
|
||||
left: -10px;
|
||||
top: 10px;
|
||||
height: 14px;
|
||||
width: 3px;
|
||||
font-size: 0;
|
||||
background: #0e73ff;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #0e73ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.metricTrendSection {
|
||||
.sectionBox {
|
||||
margin: 20px;
|
||||
padding: 20px;
|
||||
box-shadow: #888888 0px 0px 1px, rgba(29, 41, 57, 0.08) 0px 1px 3px;
|
||||
background-color: rgb(255, 255, 255);
|
||||
transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
||||
border-radius: 6px;
|
||||
background-image: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.metricInfoSider{
|
||||
padding: 24px;
|
||||
color: #344767;
|
||||
.gotoMetricListIcon {
|
||||
color: #3182ce;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
color: #5493ff;
|
||||
}
|
||||
}
|
||||
.title {
|
||||
.name {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.bizName {
|
||||
margin: 5px 0 0 25px;
|
||||
color: #7b809a;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
.desc {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 1.9;
|
||||
margin-top: 8px;
|
||||
display: block;
|
||||
color: #7b809a;
|
||||
}
|
||||
.sectionContainer{
|
||||
transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
||||
border-radius: 6px;
|
||||
box-shadow: #888888 0px 0px 1px, rgba(29, 41, 57, 0.08) 0px 1px 3px;
|
||||
background-image: none;
|
||||
margin-top: 20px;
|
||||
overflow: hidden;
|
||||
.section {
|
||||
padding: 16px;
|
||||
line-height: 1.25;
|
||||
opacity: 1;
|
||||
background: transparent;
|
||||
color: rgb(52, 71, 103);
|
||||
box-shadow: none;
|
||||
.sectionTitleBox {
|
||||
padding: 8px 0;
|
||||
opacity: 1;
|
||||
background: transparent;
|
||||
color: rgb(52, 71, 103);
|
||||
box-shadow: none;
|
||||
.sectionTitle {
|
||||
margin: 0px;
|
||||
font-size: 16px;
|
||||
line-height: 1.625;
|
||||
letter-spacing: 0.0075em;
|
||||
opacity: 1;
|
||||
text-transform: capitalize;
|
||||
vertical-align: unset;
|
||||
text-decoration: none;
|
||||
color: rgb(52, 71, 103);
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
.subTitle {
|
||||
margin: 0px;
|
||||
font-family: Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
line-height: 1.25;
|
||||
letter-spacing: 0.03333em;
|
||||
opacity: 1;
|
||||
text-transform: uppercase;
|
||||
vertical-align: unset;
|
||||
text-decoration: none;
|
||||
color: rgb(123, 128, 154);
|
||||
font-weight: 700;
|
||||
}
|
||||
.item {
|
||||
display: flex;
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
padding-right: 16px;
|
||||
opacity: 1;
|
||||
background: transparent;
|
||||
color: rgb(52, 71, 103);
|
||||
box-shadow: none;
|
||||
.itemLable {
|
||||
margin: 0px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
letter-spacing: 0.02857em;
|
||||
opacity: 1;
|
||||
text-transform: capitalize;
|
||||
vertical-align: unset;
|
||||
text-decoration: none;
|
||||
color: #344767;
|
||||
margin-right: 10px;
|
||||
min-width: fit-content;
|
||||
font-weight: 700;
|
||||
}
|
||||
.itemValue{
|
||||
margin: 0px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
letter-spacing: 0.02857em;
|
||||
opacity: 1;
|
||||
text-transform: none;
|
||||
vertical-align: unset;
|
||||
text-decoration: none;
|
||||
color: #7b809a;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
.hr {
|
||||
margin: 0px;
|
||||
flex-shrink: 0;
|
||||
border-width: 0px 0px thin;
|
||||
border-style: solid;
|
||||
border-color: rgb(242, 244, 247);
|
||||
}
|
||||
.ctrlBox{
|
||||
.ctrlList{
|
||||
list-style: none;
|
||||
margin: 0px;
|
||||
padding: 8px 0px;
|
||||
position: relative;
|
||||
background-color: rgb(249, 250, 251);
|
||||
li {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
background-color: transparent;
|
||||
outline: 0px;
|
||||
border: 0px;
|
||||
margin: 4px;
|
||||
border-radius: 0px;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
vertical-align: middle;
|
||||
appearance: none;
|
||||
color: inherit;
|
||||
display: flex;
|
||||
-webkit-box-flex: 1;
|
||||
flex-grow: 1;
|
||||
-webkit-box-pack: start;
|
||||
justify-content: flex-start;
|
||||
-webkit-box-align: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
min-width: 0px;
|
||||
box-sizing: border-box;
|
||||
text-align: left;
|
||||
padding: 4px 16px;
|
||||
transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
background-color: rgba(16, 24, 40, 0.04);
|
||||
color: #3182ce;
|
||||
}
|
||||
}
|
||||
.ctrlItemIcon {
|
||||
flex-shrink: 0;
|
||||
font-size: 16px;
|
||||
margin-right: 5px;
|
||||
min-width: unset;
|
||||
}
|
||||
.styles.ctrlItemLable {
|
||||
margin: 0px;
|
||||
line-height: 1.6;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user