feat: change the ui struc of csmf creating model 27/117127/2
authorcyuamber <xuranyjy@chinamobile.com>
Tue, 26 Jan 2021 11:22:38 +0000 (19:22 +0800)
committerxu ran <xuranyjy@chinamobile.com>
Wed, 27 Jan 2021 01:50:04 +0000 (01:50 +0000)
Change-Id: I5963b93d6ca0ef21556da2728e39e15b8b72f260
Issue-ID: USECASEUI-531
Signed-off-by: cyuamber <xuranyjy@chinamobile.com>
usecaseui-portal/src/app/shared/utils/utils.ts
usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/business-order/business-order.component.html
usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/business-order/business-order.component.ts
usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/business-order/constants.ts

index 6864d60..63e1907 100644 (file)
@@ -35,7 +35,7 @@ export class Util {
     getRulesText(words: string, title: string, index: number, rulesText: any[]){
         return rulesText[index] = words + title
     };
-    validator(title: string, key: string, val: any, index: number, rulesText: any[], validateRulesShow: any[]) {
+    validator(title: string="", key: string="", val: any="", index: number=0, rulesText: any[]=[], validateRulesShow: any[]=[]) {
         let maxNumberReg = /^([1-9]\d{0,4}|100000)$/, // Check integer between 1 ~ 100000
             expDataRateReg  = /^([1-9]\d{2}|[1-3]\d{3}|3000)$/, // Check integer between 100 ~ 3000
             latencyReg = /^1[0-9]$|^[2-9]\d$|^1\d{2}$|^200$/; // Check integers between 10 and 200
index e540c65..38ecbf1 100644 (file)
@@ -4,48 +4,41 @@
         <div class="subnet_params_container">
             <form nz-form>
                 <nz-form-item *ngFor="let item of comunicationFormItems; let i = index">
-                    <nz-form-label [nzSpan]="6" nzRequired *ngIf=" item.title !== 'Coverage Area Number' "
-                        [nzFor]="item.key">
-                        {{ item.title }}
-                    </nz-form-label>
-                    <nz-form-label [nzSpan]="6" *ngIf="item.title === 'Coverage Area Number' " [nzFor]="item.key">
+                    <nz-form-label [nzSpan]="6" [nzRequired]="item.required" [nzFor]=" item.key">
                         {{ item.title }}
                     </nz-form-label>
                     <nz-form-control [nzSpan]="15">
                         <input nz-input nz-tooltip [id]="item.key" [name]="item.key"
                             [(ngModel)]="slicing_order_info[item.key]"
                             [ngClass]="{'error-input-border':validateRulesShow[i] === true}"
-                            *ngIf=" item.title === 'Communication Service Name' "
-                            (blur)="this.Util.validator(item.title,item.key,slicing_order_info[item.key],i,rulesText,validateRulesShow)" />
+                            *ngIf=" item.type === 'input'&&!item.scoped "
+                            [placeholder]="item.placeholder?item.placeholder:''"
+                            (blur)="item.required?this.Util.validator(item.title,item.key,slicing_order_info[item.key],i,rulesText,validateRulesShow):this.Util.validator()" />
                         <nz-tooltip [nzTitle]="tooltipText" [nzPlacement]="'right'" [nzTrigger]="'focus'">
-                            <input nz-input nz-tooltip [id]="item.key" [name]="item.key"
+                            <input nz-input nz-tooltip [id]="item.key" [name]="item.key" *ngIf="item.scoped"
                                 [(ngModel)]="slicing_order_info[item.key]"
                                 [ngClass]="{'error-input-border':validateRulesShow[i] === true}"
-                                *ngIf=" item.title !== 'Communication Service Name' && item.title !== 'Coverage Area Number'&&item.title !== 'Resource Sharing Level' && item.title !== 'Mobility' && item.title !== 'Area' "
                                 (blur)="this.Util.validator(item.title,item.key,slicing_order_info[item.key],i,rulesText,validateRulesShow)"
                                 (focus)="changeTooltipText(item.title)" />
                         </nz-tooltip>
                         <nz-radio-group [name]="item.key" [(ngModel)]="slicing_order_info[item.key]"
-                            *ngIf="item.title === 'Resource Sharing Level'">
+                            *ngIf="item.type === 'radio'">
                             <label nz-radio [nzValue]="option.key" *ngFor="let option of item.options">
                                 {{ option.title }}
                             </label>
                         </nz-radio-group>
                         <nz-select [name]="item.key" [(ngModel)]="slicing_order_info[item.key]"
-                            *ngIf="item.title === 'Mobility'">
+                            *ngIf="item.type === 'select'">
                             <nz-option [nzValue]="option.key" [nzLabel]="option.title"
                                 *ngFor="let option of item.options">
                             </nz-option>
                         </nz-select>
-                        <nz-form-explain
-                            *ngIf=" item.title !== 'Resource Sharing Level' && item.title !== 'Mobility' && item.title !== 'Area' && validateRulesShow[i]"
-                            class="validateRules">{{rulesText[i]}}
+                        <nz-form-explain *ngIf="item.type === 'input' && validateRulesShow[i]" class="validateRules">
+                            {{rulesText[i]}}
                         </nz-form-explain>
-                        <input nz-input nz-tooltip [id]="item.key" [name]="item.key"
-                            [(ngModel)]="slicing_order_info[item.key]" *ngIf=" item.title === 'Coverage Area Number' "
-                            placeholder="Please enter the coverage area number. use , to separate them if necessary " />
                     </nz-form-control>
-                    <div *ngIf="item.key === 'coverageArea'">
+
+                    <div *ngIf="item.type === 'city-select'">
                         <div *ngFor="let area of areaList; let i = index">
                             <nz-form-control [nzSpan]="!ind ? 3 : 4" [nzOffset]="i && !ind ? 6 : 0"
                                 class="subnet_params_area" *ngFor="let item of area; let ind = index">
index ef7971f..8e58a60 100644 (file)
@@ -209,6 +209,7 @@ export class BusinessOrderComponent implements OnInit {
         const paramsObj = {
             slicing_order_info: this.slicing_order_info
         };
+        console.log(paramsObj,"===>paramsObj")
         this.isSpinning = true;
         const csmfSlicingPurchaseFailedCallback  = () => {
             this.handleCancel();
index 4a42b95..4f64a5c 100644 (file)
@@ -1,27 +1,53 @@
 export const COMMUNICATION_FORM_ITEMS = [
+    /***
+        title: MARK THE ITEM NAME,
+        key:  MARK THE ITEM KEY,
+        type: MARKE THE ITEM TYPE, CAN BE ADDED IF NECESSARY: input/select/radio/city-select
+        required: IF REQUIRED, 
+        scoped: IF SCOPED NUMBERS, CAN BE EMITTED IF NOT
+        placeholder: IF PLACEHOLDER, CAN BE EMITTED IF NOT
+        options: IF ITEM NEEDS OPTIONS, CAN BE EMITTED IF NOT
+    ***/
     {
         title: 'Communication Service Name',
-        key: 'name'
+        key: 'name',
+        type:"input",
+        required:true 
+
     },
     {
         title: 'Max Number of UEs',
-        key: 'maxNumberofUEs'
+        key: 'maxNumberofUEs',
+        type:"input",
+        scoped:true, 
+        required:true
     },
     {
         title: 'Data Rate Downlink (Mbps)',
-        key: 'expDataRateDL'
+        key: 'expDataRateDL',
+        type:"input",
+        scoped:true,
+        required:true
     },
     {
         title: 'Latency',
-        key: 'latency'
+        key: 'latency',
+        type:"input",
+        scoped:true,
+        required:true
     },
     {
         title: 'Data Rate Uplink (Mbps)',
-        key: 'expDataRateUL'
+        key: 'expDataRateUL',
+        type:"input",
+        scoped:true,
+        required:true
     },
     {
         title: 'Resource Sharing Level',
         key: 'resourceSharingLevel',
+        type:"radio",
+        required:true,
         options: [
             {
                 title: 'Shared',
@@ -36,6 +62,8 @@ export const COMMUNICATION_FORM_ITEMS = [
     {
         title: 'Mobility',
         key: 'uEMobilityLevel',
+        type:"select",
+        required:true,
         options: [
             {
                 title: 'Stationary',
@@ -57,11 +85,16 @@ export const COMMUNICATION_FORM_ITEMS = [
     },
     {
         title: 'Area',
-        key: 'coverageArea'
+        key: 'coverageArea',
+        type:"city-select",
+        required:true
     },
     {
         title: 'Coverage Area Number',
-        key: 'coverageAreaNumber'
+        key: 'coverageAreaNumber',
+        type:"input",
+        placeholder:"Please enter the coverage area number. use , to separate them if necessary",
+        required:false
     }
 ]