# WISE.M+ Portal RD Test scenario 2020/10~2020/12
---
###### tags: `WISE.M+`
## 2020/12/30
### Tingwei
#### [Fix]Fix sending /licensevalidation does not trigger setLoadingStart when click "Sign In" and fix reject
**Purpose**
1. [Fix]Fix sending /licensevalidation does not trigger setLoadingStart when click "Sign In"
2. [Change]Only systemInfo.edition === 'standard' needs to validate the license
**Test Case**
1. test purpose 1 by `npm run dev-fake-server` in /login
- [x] turn slow network speed -> sign in normally
- [x] open devtool and run `window.testGetError=500; window.mockGetError();`in Console -> sign in
2. test purpose 2 by `npm run dev-fake-server`
- [x] go to http://localhost:8080/#/login -> login -> check whether /licensevalidation sent
- [x] go to http://localhost:8080/#/login?testEditionStandard=1 -> check whether /licensevalidation didn't send
## 2020/12/29
### Alice
#### feature/fix-inspection-height
**Purpose**
[Inspection][change]
1. fix tab button padding,
2. fix scrolling bar overlap,
3. fix group basicInfo height overflow when node page BI tabs nearly fixed
**Test Case**
1. test for inspection page
- [x] check tab ounder line is align text
- [x] check inner and outer scrolling bar postion split
- [x] check group basicInfo was fully hide when scroll to the bottom
#### feature/gbc-default-time-interval
**Purpose**
1. [SRPDashboard][change] Group Bar Chart default X Axis timeInterval changed
2. [SRPDashboard][change] Group Bar Chart X Axis Settings default time interval change (is list show, not dialog)
**Test Case**
1. test for new blank
- [x] add group bar chart panel
- [x] check list show settings is minute
- [x] check settings dialog select is minute
#### feature/fix-grid-layout-height
**Purpose**
1. [SRPDashboard][change] max row (Y axis)
**Test Case**
1. test for new blank
- [x] add grid item and drag out of background range
- [x] change to straight mode and check
### Tingwei
#### [Fix] userManagement.vue scrollbar...etc.
**Purpose**
1. [Fix] userManagement.vue scrollbar and fine-tune style ( hide collapse, image fit-cover, view-button position... ).
2. [Fix] profileManagement.vue scrollbar.
3. [Fix] menuManagement.vue scrollbar.
4. [Change] imageforlist.vue extend props 'fit'.
**Test Case**
1. test purpose 1 in userManagement
- [x] 1920
- [x] 1366
- [x] check user image and style
- [x] table rows number is 3 ( my account )
- [x] table rows number is 15 ( itsung.shen@advantech.com.tw )
2. test purpose 2 profileManagement
- [x] 1920
- [x] 1366
3. test purpose 3 menuManagement
- [x] 1920
- [x] 1366
#### [change]change BI icon and Power-By icon
**Purpose**
1. [change]change BI icon and Power-By icon
**Test Case**
1. check BI icon and Power-By icon
## 2020/12/28
### Tingwei
#### [Change]Replace WISE.M+ with DeviceOn/BI
**Purpose**
1. [Change]Replace WISE.M+ with DeviceOn/BI
2. [Change]Replace WISE-DeivceOn/BI with DeviceOn/BI
**Test Case**
1. only test purpose 1 in trial(http://localhost:8080/#/trial/wizardItem) by comment code in `wizardItem.vue`
- [x] Comment Line 97 -> uncomment Line 98 -> check Ja and click url.
- [x] Comment Line 107 and 108 -> uncomment Line 109 -> check Ja and click url.
2. test purpose 2
- [x] go to http://localhost:8080/#/index/systemSetting -> click Role -> edit SpecialRole -> check whether WISE-DeivceOn/BI replaced with DeviceOn/BI
## 2020/12/25
### Alice
#### feature/dashboard-time-picker
**Purpose**
1. [BI][Dashboard] time range picker
- add time range picker dropdown
- assign time when load
2. [BI][Dashboard] time range picker fix
**Test Case**
1. test for new blank
- [x] add new dashbaord -> select time range -> save
- [x] open exist dashbaord -> check time range
- [x] change the dashboard time range in grafana -> save -> edit dashboard -> check time range correct
3. test for template
- [x] add dashbaord from template -> check time range (res data)
5. test for exist
- [x] choose an exist dashbaord -> next -> check the exist time range was load -> save -> edit -> check check time range correct
### Tingwei
#### [Fix][Devices] Sidebar width is wrong when the window resizes from width < 1340 px to full-screen immediately...etc
**Purpose**
1. [Fix][Devices] Sidebar width is wrong when the window resizes from width < 1340 px to full-screen immediately.
2. [Change] Change function name $_resizeHandler_resize to $_resizeHandler_resizeCallback.
3. [Change] $_resizeHandler_resizeCallback will not fire until $_resizeHandler_Timer check new resize timestamp equals to old resize timestamp. It could prevent callback trigger frequently.
4. [Add] add ReqAnimationFrameHandler.
5. [Change] Small mode device status show '...' when overflow.
**Test Case**
1. test purpose 1 to 4
- [x] in window size 12xx px -> show sidebar -> click full-screen
2. test purpose 5
- [x] in window size 1340 px -> show sidebar -> open devtool and choose one device status -> change device status value to 99999
## 2020/12/23
### Tingwei
#### [Change][Devices] Device List supports api bi/images... etc
**Purpose**
1. [Change][Devices] Device List supports api bi/images
2. [Add] src/components/_expend_mixin/fetchOneBIImage.js
3. [Add] imageforlist.vue supports fetch bi/images
4. [Add] userImage.vue supports fetch bi/images
5. [Add][deviceManagement] reset store.state.common.biImages when editType changing or beforeDestroy(route path changing)
6. [Change][Devices] Change refresh icon of tag info list
7. [Fix][Devices] Show highlight row style when side bar opened.
**Test Case**
1. test purpose 1~5, visit devices in two chrome tabs
- [x] go to devices -> check device image
- [x] edit no image device in chrome tab 2 -> add a image -> save -> check whether the image updated
- [x] edit device contains a image in chrome tab 2 -> change a image -> save -> check whether the image updated
- [x] edit device contains a image in chrome tab 2 -> delete a image -> save -> check whether the image updated
- [x] add a device in chrome tab 2 -> check whether the device image updated
- [x] -> test change tab: switch to chrome tab 1 -> change tabs -> check whether the device image updated
- [x] delete a device in chrome tab 2 -> check whether the device image updated
- [x] -> test change route path: switch to chrome tab 1 -> go to organizationManagement and go back to Devices -> check whether the device image updated
- [x] go to devices -> check user image
- [x] in chrome tab 2 -> manage user -> add user -> check whether the user image updated
- [x] -> in chrome tab 1 -> change tabs -> check whether the user image updated
- [x] in chrome tab 2 -> manage user -> delete user -> check whether the user image updated
- [x] -> in chrome tab 1 -> change tabs -> check whether the user image updated
2. test purpose 1~5, test fetch image error by `npm run dev-fake-server`
- [x] go to http://localhost:8080/#/index/deviceManagement?testPostError=500&testPostErrorUrl=bi%2Fimages -> only show default image or name
3. test purpose 6
- [x] check refresh icon on top of tag info list
4. test purpose 7
- [x] click a device -> when side bar opened, check whether highlight show
- [x] -> close side bar -> check whether highlight hide
### [Change][Devices] Change Devices Status.
**Purpose**
1. [Change][Devices] Change Devices Status.
**Test Case**
1. test purpose 1
- [x] check devices status in 1920px
- [x] check devices status in 1366px
- [x] check devices status in 1280px
- [x] click a device -> check small device status word
### [Fix]Correct folder name '_expend_mixin' to '_extend_mixin'
**Purpose**
1. [Fix]Correct folder name '_expend_mixin' to '_extend_mixin'
**Test Case**
1. test purpose 1
- [x] go to devices -> check device image and user image
### [Fix] Class "panel-text" forgot to replace to "device-management__panel-text-custom". It causes the table height wrong when the sidebar opens.
**Purpose**
1. Refer to the title
**Test Case**
1. test purpose 1
- [x] click a device -> check device table height
### Alice
#### feature/inspection iframe new style
**Purpose**
1. [BI][Inspection] tab disabled when org level > 1
2. [BI][Inspection] hide the tab when !isRender
3. [BI][Inspection] split loading mask & iframe
4. [BI][Inspection] tabList key & default text fix
5. [BI][Inspection] change the way of calling `window.addEventListener`
6. [BI][Inspection] change turn the isRender true timing
**Test Case**
1. test for inspection
- [x] change to sub group -> check tab disabled
- [x] checking the tab was hiding when page loading
- [x] check tab text was changed
- [x] check loading the page will be correct lang for the first time
- [x] checking change tab, chang lang, first load was isLoading true
## 2020/12/18
### Tingwei
#### [Fix][Device List] User dropdown of device list add "max-height:50vh" and "overflow-y:auto" to fix dropdown height is over the window.
**Purpose**
1. Refer to the title
**Test Case**
1. test purpose 1
- [x] go to Devices -> hover a large count user icon -> check dropdown height and scroll bar
## 2020/12/17
### Tingwei
#### [Change]EdgeLink and SCADA device names always overwrite hidden lang name and avoid sending data change user filled data... etc
**Purpose**
1. [Change]EdgeLink and SCADA device names always overwrite hidden lang name and avoid sending data change user filled data.
2. [Change]"Copy to my Organizations" object name always overwrite hidden lang name and avoid sending data change user filled data.
3. [Fix]When editing device occurs duplicate name, but the error message show "network exception!".
4. [Add]Add state.hiddenLangTypeList into store for convenience.
5. [Change]When the "Copy to my Organizations" dialog shows, set the first org as the default org.
6. [Add]Add ".dialog--pl-pr-24" to set padding-left and padding-right to 24px
7. [Change]Fine-tune "Copy to my Organizations" dialog style.
**Test Case**
1. test purpose 1 & 3 & 4 in add EdgeLink/SCADA
- [x] add EdgeLink/SCADA device -> input duplicate name -> save -> input valid name -> save -> check hidden lang name in network request
- [x] edit EdgeLink/SCADA device -> change to duplicate name -> save -> change another valid name -> save -> check hidden lang name in network request
2. test purpose 2
- [x] click "Copy to my Organizations" -> input duplicate name -> save -> input valid name -> save -> check hidden lang name in network request
3. test purpose 5 & 6 & 7
- [x] click "Copy to my Organizations" -> check whether set the first org as the default org.
- [x] check dialog style
## 2020/12/16
### Alice
#### feature/inspection iframe new style
**Purpose**
1. [BI][Inspection] test for inspection iframe menu hide
2. [BI][Inspection] tabs change for inspection
3. [BI][Inspection] add level 1 tabs change iframe routerPath, follow by sub0
4. [BI][Inspection] radius for single sub tab btn
5. [BI][Inspection] add cursor: pointer; style
6. [BI][Inspection] tweak
7. [BI][Inspection] send localLang
8. [BI][Inspection] for language change
9. [BI][Inspection] postMessage add *
10. [BI][Inspection] post lang timing
11. [BI][Inspection] post lang timing change
12. [BI][Inspection] language post timing change (wait page load)
13. [BI][Inspection] fix
14. [BI][Inspection] remove lisener
15. [BI][Inspection] lang change
16. [BI][Inspection] first load flag
17. [BI][Inspection] code formatter
**Test Case**
1. test for inspection
- [x] check tab was added, first tab and last tab has border-radius(left, right)
- [x] test tab hide by user role (auth)
- [x] test tab change, change iframe router
- [x] check tab cursor is pointer
- [x] when first load and local lang changed, postMessage lang
### Tingwei
#### [Add][Devices] handleEdgeLinkEtcDeviceDialog add device name and desc validation... etc
**Purpose**
1. [Add][Devices] handleEdgeLinkEtcDeviceDialog add device name and desc validation... etc
2. [Change][Devices] trim device name desc @blur instead save
3. [Add][Devices]"Copy to my Organizations" add object name validation
4. [Change][Devices]"Copy to my Organizations" trim object name @blur instead save
5. [Change][Devices]"Copy to my Organizations" about language: only show user selected lang in tabs, replace empty name to default lang name ( not active tab lang ), header lang and footer lang use localLang ( not active tab lang )
6. [Fix]buttons are out of range of delete object dialog when object name is very long
**Test Case**
1. test purpose 1 in add edgyLink/SCADA
- [x] in default lang tab -> name !@#$5 -> click other lang tab -> click save
- [x] in default lang tab -> name max length > 32 -> click other lang tab -> click save
- [x] in default lang tab -> desc length > 200 -> click other lang tab -> click save
- [x] in non-default lang tab -> name is not required
- [x] in non-default lang tab -> name !@#$5 -> click other lang tab -> click save
- [x] in non-default lang tab -> name max length > 32 -> click other lang tab -> click save
- [x] in non-default lang tab -> desc length > 200 -> click other lang tab -> click save
- [x] valid name(length === 32), desc(length === 200) -> save
2. test purpose 2 in add edgyLink/SCADA
- [x] input " aaa " in device name -> blur
- [x] input " aaa " in device desc -> blur
3. test purpose 3 in "Copy to my Organizations"
- [x] in default lang tab -> name !@#$5 -> click other lang tab -> click save
- [x] in default lang tab -> name max length > 64 -> click other lang tab -> click save
- [x] in non-default lang tab -> name is not required
- [x] in non-default lang tab -> name !@#$5 -> click other lang tab -> click save
- [x] in non-default lang tab -> name max length > 64 -> click other lang tab -> click save
- [x] valid name(length === 64) -> save
4. test purpose 4 in "Copy to my Organizations"
- [x] input " aaa " in object name -> blur
5. test purpose 5 in "Copy to my Organizations"
- [x] check only show user selected lang in tabs
- [x] save second lang tab with name -> edit object -> check whether second lang tab name is same as default lang name
- [x] in non-default lang tab -> check dialog header lang and footer lang is the first lang
- failed "Select Parent Group" only en (no translation)
- failed "Organization/Group Name" only en (no translation)
6. test purpose 6
- [x] delete a very long name object -> check whether button is out of range of dialog
## 2020/12/15
### Tingwei
#### [Fix] node app found 'throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))'
**Purpose**
1. Refer to the title
**Test Case**
1. test purpose 1
- [x] go to your project -> run `node app` -> check whether show error again
## 2020/12/14
### Tingwei
#### [Change]1. No devices small desc replace "new" to "add icon". And this desc only show in tab Devices.
**Purpose**
1. Refer to the title
**Test Case**
1. test purpose 1
- [x] wait for lang DB updated or uncomment test code in `deviceList line 887` and save
```
noDeviceDesc(){
// return this.isNoDevices ? ('Click the "{Add}" button to add devices here!').replace('{Add}', '<span class=\"null-data-content__icon-add-device\"></span>') : ''
return this.isNoDevices ? (this.multiLangSource.no_devices_yet_description || 'Click the "{Add}" button to add devices here!').replace('{Add}', '<span class=\"null-data-content__icon-add-device\"></span>') : ''
},
```
2. test purpose 1 for "And this desc only show in tab Devices" .
- [x] Page Devices -> check whether this desc show.
- [x] page Monitor -> check whether this desc hide.
## 2020/12/10
### Tingwei
#### [Change][Devices]Quality of tag info list update new design.
**Purpose**
1. [Change][Devices]Quality of tag info list update new design.
2. [Change][Devices]Tag name, Value and Quality show tooltip when overflow.
3. [Change] Correct favicon type
4. [Change][Devices] Update Application and Configure icon
**Test Case**
1. test purpose 1~2 by `npm run dev-fake-server`
- [x] go to http://localhost:8080/#/index/deviceManagement?testTagInfoListChange=1 -> click device and check Quality ok, null, danger
- [x] hover long Tag Name (has ...)
- [x] hover long Value (has ...)
- [x] hover long Quality (has ...)
2. test purpose 3
- [x] check tab icon and index.html -> \<head\> -> \<link\>
3. test purpose 4
- [x] check Application(disable) icon
- [x] check Congifure (hover and active)
#### [Add] headers add cache-control : "private, max-age=1209600" (14 days)
**Purpose**
1. [Add] headers add cache-control : "private, max-age=1209600" (14 days)
**Test Case**
1. test purpose 1 by `npm run prod-test` in project portal after built and run `npm run prod-test` in project portal_release
- [x] go to http://localhost:8080/ -> check whether js, css and image contain cache-control in Headers
- [x] -> refresh -> chech whether js, css and image use cache
- [x] -> add a console.log in sso.vue -> `npm run prod-test` in project portal and run `npm run prod-test` in project portal_release -> go to http://localhost:8080/ -> check whether chuck.sso.xxx.js use new file
## 2020/12/9
### Tingwei
#### [Change]1.GET other api when GET "auth/system" successfully... etc
**Purpose**
1. GET other api when GET "auth/system" successfully.
2. GET "/langresc" adds "?ver=systemInfo.version"
3. package.json adds "npm run dev-langresc-cache" and proxyTable adds "/langresc" for testing cache of "/langresc"
4. [Fix]auth/system error handler
**Test Case**
1. test purpose 1 ~ 3 by `npm run dev-langresc-cache`
- [x] refresh page -> check whether API "/langresc" contains query string "?ver=xxx" in network of devtool
- [x] refresh page in 30 sec -> check whether API "/langresc" use data by "(disk cache)" in network of devtool
- [x] refresh page after 30 sec -> check whether API "/langresc" status is "304" in network of devtool
2. test purpose 4 by `npm run dev-fake-server`
- [x] go to http://localhost:8080/#/login?testGetError=500&testGetErrorUrl=auth/system
#### [Add]Add Refresh button into tagInfoListBI.vue.... etc
**Purpose**
1. [Add]Add Refresh button into tagInfoListBI.vue.
2. [Change] Change timeout wording in sso.vue
**Test Case**
1. test purpose 1 by `npm run dev-fake-server`
- [x] select device -> change page -> click refresh -> check network
- [x] 1920px
- [x] 1366px
- [x] test total tag count change -> go to http://localhost:8080/#/index/deviceManagement?testTagInfoListChange=1 -> default tag count is 60 -> go to page 5 -> input window.totalRecordsNumber = 40 in Console of devtool amn press enter -> click Refresh -> check whether page change to 4
2. test purpose 2
- [x] login -> delete token -> change page -> check wording
## 2020/12/7
### Tingwei
#### [Add]Add prototype function of $message and $notify to block message includes 'token invalid' ... etc
**Purpose**
1. [Add]Add prototype function of $message and $notify to block message includes 'token invalid'
2. [Change]resErrorNotify and resSuccessNotify of vuex/helper.vue don't need to use call(this).
3. [Fix] Saving world map template response error, but loading is not end.
4. [Change] fake-axios-server.js support mockPostError, mockPutError and mockDeleteError
5. [Fix]Deleting world map template from manage template failed, but reject callback is not return new Promise. This cause buttons of dialog can't use again.
6. [Fix][My Devices]"setTimeout" to fix when use "ifReset.sync" ifReset, this.numberOnePage change after "ifReset" set false, causing this.emitResult trigger twice.
7. [Fix]Add util.emptyErrorMessageReplacer function to avoid show empty error message.
**Test Case**
1. test purpose 1
- [x] $message (center top message), success show: srpdashboard -> delete a dashboard
- [x] $message (center top message), error show: devices -> add a device, its length of name more than 64
- [x] $message (center top message), token invalid block: devices -> add a device -> when the dialog shown and loading end -> delete token -> save
- [x] $notify (right bottom message), success show: menuManagement -> delete menu
- [x] $notify (right bottom message), error show: srpdashboard -> add a duplicate name dashboard
- [x] $notify (right bottom message), token invalid block: userManagement -> edit a user -> delete token -> save
2. test purpose 2 to 5 by `npm run dev-fake-server`
- [x] resSuccessNotify: srpdashboard -> world map -> manage template -> add a template
- [x] resSuccessNotify: srpdashboard -> world map -> manage template -> input `window.testPostError = 500; window.mockPostError();` in Console of chrome devtool and press enter -> add a template -> check whether loading is end
- [x] resErrorNotify: srpdashboard -> world map -> manage template -> input `window.testDeleteError = 500; window.mockDeleteError();` in Console of chrome devtool and press enter -> delete a template -> check whether buttons of delete dialog work again.
3. test purpose 6
- [x] open devtool -> go to Devices -> refresh page -> click a device -> check whether "edge/online/taginfo/\{id\}" call only one time in network
7. test purpose 7 by `npm run dev-fake-server`
- [x] input http://localhost:8080/#/index/deviceManagement?testLangtypeDynamic=1&testBiDevice=1 in URL -> refresh -> chech whether show 'Network Exception!' in error messages
### Alice
## feature/home-icon-auth
**Purpose**
1. [BI][Home] loading to wait value change, and change icon status
2. [BI][Home] add addition state.Account.isSPM
3. [BI][Home] change the detection value to determine the end of the data response
**Test Case**
1. test for home
- [x] DM account test - icon locked
- [x] trial account test
- [x] SPM account test
- [x] My account test
## 2020/12/4
### Tingwei
#### [Change][Devices] 1.Edit device add loading 2. fake-axios-server add window.mockGetError function and window.testGetError ( boolean or status code )
**Purpose**
1. [Change][Devices] 1.Edit device add loading 2. fake-axios-server add window.mockGetError function and window.testGetError ( boolean or status code )
**Test Case**
1. test purpose 1 by `npm run dev-fake-server`
- [x] go to devices -> edit EdgeLink -> check loading
- [x] go to devices -> edit SCADA -> check loading
- [x] input `window.testGetError = 500; window.mockGetError();` in Console of chrome devtool and press enter -> edit an EdgeLink Device -> check whether loading hide when error shown
#### [Change]search placeholder name
**Purpose**
1. [Change]search placeholder name
**Test Case**
1. test purpose 1
- [x] Devices search placeholder
- [x] Object search placeholder
- [x] Dashboard search placeholder
- [x] Alarm Group search placeholder
- [x] Alarm User Group search placeholder
- [x] Notification Group search placeholder
- [x] Users search placeholder
## 2020/12/3
### Tingwei
#### [Change]Loading will not close until "Promise all" of the initial data finish.
**Purpose**
1. [Change]Loading will not close until "Promise all" of the initial data finish.
**Test Case**
1. test purpose 1, make sure browser cache is open, then change language to another language besides en
- [x] login -> current page is #/home, use slow network speed -> refresh page -> check whether loading hide when language change to your language from en
### Alice
## feature/home-icon-auth
**Purpose**
1. [BI][Home] user auth for disabled app button
**Test Case**
1. test for home
- [x] check user org list empty will disabled whole app icon except device management
- [x] check if user have org, app icon will available
## 2020/12/2
### Tingwei
#### 1.[Change][My Devices] Device name add tooltips 2.[Add] tooltip.scss add .el-tooltip__popper--bi class
**Purpose**
1. [Change][My Devices] Device name add tooltips
2. [Add] tooltip.scss add .el-tooltip__popper--bi class
**Test Case**
1. test purpose 1 & 2
- [x] go to Devices -> check long name and description device -> hover
#### [Change]Device name tooltips use :show-overflow-tooltip="true" on \<el-table-column\>
**Purpose**
1. [Change]Device name tooltips use :show-overflow-tooltip="true" on \<el-table-column\>
**Test Case**
1. test purpose 1
- [x] go to Devices -> check long name and description device -> hover
#### [Fix]create device but save button disable.
**Purpose**
1. [Fix]create device but save button disable.
**Test Case**
1. test purpose 1
- [x] go to Devices -> create EdgeLink -> check save button
- [x] go to Devices -> create SCADA -> check save button
### Alice
#### feature/inspection iframe new style
**Purpose**
1. [BI][Inspection] add auth redirect and new style
2. [BI][Inspection] windows.open inspection url
**Test Case**
1. test _blank & iframe in inspection
- [x] iframe refresh button & new style check out
- [x] auth redirect in new tab test
- [x] change tab check url was opened
## 2020/12/1
### Tingwei
#### [Change]Fine-tune object dialog loading etc.
**Purpose**
1. [Change]Fine-tune loading, show loading of edit-object and edit-group-object until the data ready, then call setLoadingEnd in dialog.
2. UploadAlarmCodeExcel.vue extend "importAlarmCodeDataByFileData" let Object dialog, use it to import alarm code data without calling setLoadingEnd.
3. [Fix]Fix forgetting to checkTime() to determine whether we need to refresh Token
4. [Fix][Devices] Adding a device needs to show loading because getting a new credential key.
5. [Fix][Devices] Fix device state and credential key were not reset when close dialog by press "ESC" in handleEdgeLinkEtcDeviceDialog.vue.
**Test Case**
1. test purpose 1 & 2
- [x] Go to EquipmentOperation -> edit EquipmentOperation object
- [x] Cancel -> edit AirHnd
- [x] Cancel -> edit alarmCodeTest(it has alarm code excel)
2. test purpose 3
- [x] Re-login -> go to Devices -> change localStorage refreshTokenFlagTimerTimestamp to refreshTokenFlagTimerTimestamp - (60*1000*20) -> refrsh page -> check whether refreshToken Api sent
3. test purpose 4 & 5
- [x] Go to Devices -> add EdgyLink -> check whether loading show
- [x] -> press ESC check whether edge/delete/credentialkey/{key} sent
- [x] Go to Devices -> add SCADA -> check whether loading show
- [x] -> press ESC check whether edge/delete/credentialkey/{key} sent
## 2020/11/30
### Alice
## feature/object btn
**Purpose**
1. [BI][Object] actions button style change (show button not dropdown list)
2. [BI][Object] fix icon position
3. [BI][Object] list item name and desc style update
**Test Case**
1. test for pageObject
- [x] check title and desc font-size, line height is correct
- [x] check action ... changed to split button
- [x] check button works normally
### Tingwei
### [Change][Devices] Hide edit type tabs and Tags in add/edit device dialog. Change and Move them from createNewDevice.vue/commonNewDevice into a new vue file, handleEdgeLinkEtcDeviceDialog.vue ... etc
**Purpose**
1. [Change][Devices] Hide edit type tabs and Tags in add/edit device dialog. Change and Move them from createNewDevice.vue/commonNewDevice into a new vue file, handleEdgeLinkEtcDeviceDialog.vue .
2. Delete unused import files in deviceManagement.vue
3. Fix console error "Cannot read property 'scrollTop' of undefined" in Devices when window resize.
**Test Case**
1. test purpose 1 & 2
- [x] go to Devices -> add EdgrLink/SCADA device
- [x] go to Devices -> edit EdgrLink/SCADA device
2. test purpose 3
- [x] go to Devices -> resize widnow -> check console in devtool
### [Fix][SRPDashboard]Fix Adding parameter show error, "Cannot read property 'id' of undefined...", after org changed.
**Purpose**
1. Refer to the title
**Test Case**
1. test purpose 1
- [x] go to Object -> refresh page, current org is devid-test-1 -> click Dashboard in the Tabs -> click EquipmentOperations in the org List -> add Dashboard -> choose Log chart -> add a item -> select parameter
## 2020/11/27
### Tingwei
### [Add][Decvies] Small device status when side opened.
**Purpose**
1. [Add][Decvies] Small device status when side opened.
2. Add .type-tag--filled-dark-#{$typeTagColor} in type-tag.scss.
**Test Case**
1. test purpose
- [x] go to Devices -> select one device -> check small devices
- [x] close side bar
## 2020/11/26
### Alice
## feature/get profile group
**Purpose**
1. [Create Org/Group] add query condition, remove old filter
**Test Case**
1. test for org/group/object
- [x] check add org -> check profile dropdown list was filtered
- [x] check add child -> check profile dropdown list was filtered
- [x] check add object from profile -> check profile dropdown list wasn't filtered
## 2020/11/25
### Alice
## feature/water statistic tag validate
**Purpose**
1. [SRPDashboard][add] water statistic tips and targets validate
**Test Case**
1. test for SRP Dashboard
- [x] add water statistic panel and check datasource bottom tip
- [x] change function type and save when only 1 target check it validate
- [x] checking error message appears
## feature/new from template dialog fix
**Purpose**
1. [SRPDashboard][fix] fix the problem of new from template dialog content scrolls together, instead of separately scrolls each
**Test Case**
1. test for new from template
- [x] add fake data to list that try
- [x] make sure outter scrollbar disappear
- [x] make sure left, middle and right can be scrolled independently
## feature/inspection iframe
**Purpose**
1. [BI][Inspection] iframe load and get the post message to show / refresh page
**Test Case**
1. test for pageInspection
- [x] switch tab to Inspection
- [x] loading status
- [x] timeout clear(if page render)
- [x] reload test
## feature/designer bug fix
**Purpose**
1. [SRPDashboard] [fix] 1. remove extra code, 2. return null when device undefined
**Test Case**
1. test
- [x] add two multistat and switch
- [x] add two panel(with formatAllParamPath) and switch
## 2020/11/19
### Tingwei
## [Change][Devices]Move tag list into sideBar...etc
**Purpose**
1. [Change][Devices]Move tag list into sideBar.
2. slotParameterToolBar.vue support remode.
3. slotParameterToolBar.vue add method renewData_ResetSearchAndCurrentPage().
4. slotParameterToolBar.vue, emitResult(eventType) will $emit({... eventType}).
5. Add type-tag.scss as global css. It can render type tag style.
6. searchDropdown.vue & slotParameterToolBar.vue, extend placeHolder text setting.
7. [Add] Add __mocks__/res/edge-online-taginfo/res-test-pagination.js to develop and test pagination changing when sideBar has opened.
8. [Change] Fine-tune tag list in side bar small mode style.
**Test Case**
1. test purpose 1 ~ 6
- [x] click device -> check tag info list in side bar
- [x] -> change device but not close side bar
- [x] input search keyword -> click search button
- [x] input search keyword -> press enter of keyboard
- [x] change page
- [x] change rows per page
2. test purpose 7, `npm run dev-fake-server`, go to http://localhost:8080/#/index/deviceManagement?testTagInfoListChange=1, default totalRecordsNumber is 60, test by changing window.totalRecordsNumber in devTool before change tag info list page
- [x] click device -> window.totalRecordsNumber = 30 -> click last page button in tag info list tool bar
- [x] -> window.totalRecordsNumber = 40 -> click prev page button in tag info list tool bar
3. test purpose 8
- [x] 1366px
### Alice
## feature/designer bg layout
**Purpose**
1. [SRPDashboard] update background and height that designer acceptable and default
2. [SRPDashboard] fix ruler length
**Test Case**
1. test for dashboard designer
- [x] add with 'new blank' -> check background changed -> checking landscape and portrait modes work fine
- [x] add panel -> drag the panel item to cover all design Y area -> copy the panel -> check ruler length and limit message
- [x] check ruler length equal max panel Y
## 2020/11/18
### Alice
## feature/fix-existing-dashboard-dialog
**Purpose**
1. [SRPDashboard][fix] fix existing dialog scrolling
**Test Case**
1. test for new from existing
- [x] add test data in left for test and add the left area scroll bar
- [x] test the right scroll bar whether it was within right area
- [x] make sure that the left and right areas are scrolled separately
### Tingwei
### [Fix]Fix visiting by the domain always show loading before login.
**Purpose**
1. [Fix] Fix route setLogOut failed and do setLogOut sync
**Test Case**:
1. test purpose 1
- [x] before login -> go to localhost:8080
- [x] before login -> go to localhost:8080/#/index/organizationManagement
- [x] login -> #/home -> delete token - click any page
- [x] login-> go to My Devices -> delete token -> click tab or wait for status update
- [x] login -> logout
### [Change]nodepageBITabs support multiple tags and use it in the organizationManagement... etc.
**Purpose**
1. nodepageBITabs support multiple tags and use it in the organizationManagement.
2. fine-tune css
3. pageEvent pageNotification pageUsers add 'Actions' label in table header.
4. [change]Devices hide checkbox column
**Test Case**:
1. test purpose 1
- [x] page Object, scroll down in large mode -> small mode
- [x] -> large mode
- [x] page Deashboard, scroll down in large mode -> small mode
- [x] -> large mode
- [x] page Event, scroll down in large mode -> small mode
- [x] -> large mode
- [x] page Notification(Alarm User Groups), scroll down in large mode -> small mode
- [x] -> large mode
- [x] -> change to Notification Groups, scroll down in large mode -> small mode
- [x] -> large mode
- [x] page Users, scroll down in large mode -> small mode
- [x] -> large mode
2. test purpose 2 & 3
- [x] page Object, align-text left in column Parameter Count
- [x] page Event, page Notification, page Users: table class use .bi-table style, add 'Actions' in table header label
3. test purpose 4
- [x] page Devices
## 2020/11/17
### Tingwei
### [Fix]Fix route setLogOut failed and do setLogOut sync
**Purpose**
1. [Fix] Fix route setLogOut failed and do setLogOut sync
**Test Case**:
1. test purpose 1
- [x] go to 127.0.0.1:8080
- [x] -> login -> #/home -> delete token - click any page
- [x] login-> go to My Devices -> delete token -> click tab or wait for status update
- [x] login -> logout
### [Fix] Timeout error message disappear when chrome auto fill account or password.(Logic: input error message || logout error message)
**Purpose**
1. [Fix] Timeout error message disappear when chrome auto fill account or password.
2. [change]Delete margin-top when error show.
**Test Case**:
1. test purpose 1 & 2
- [x] -> login -> #/home -> delete token - click any page
- [x] login-> go to My Devices -> delete token -> click tab or wait for status update
- [x] -> when timeout message shown, input valid email -> click Sign In
## 2020/11/16
### Tingwei
### [Fix][Devices] devices min-width 1024 is in small mode (window width <= 1339px ) etc
**Purpose**
1. [Fix][Devices] Devices min-width 1024 is just in small mode (window width <= 1339px )
2. [Fix][Devices] The Filter position in small mode did not change when tabs changed.( i.g., Device. -> Monitor )
3. [Fix][Devices] resetStyle error when change tabs because My Devices does not assign srcollBoxId.
**Test Case**:
1. test purpose 1
- [x] Devices min-width 1024px is only in small mode (window width <= 1339px )
2. test purpose 2
- [x] change tab Devices to Monitor -> chech whether filters is under search input
2. test purpose 3
- [x] change tab Devices to Monitor -> check whether error message shown in Console of devtool
### [Add] Show timeout message in sso.vue after "token invalid" caused logout.
**Purpose**
1. [Add] Show timeout message in sso.vue after "token invalid" caused logout.
2. main.js change routeRedirect(to, next, '/login') to store.commit('setLogOut')
**Test Case**:
1. test purpose 1
- [x] Login -> go to page Object -> delete token -> edit object -> check whether error message show in login page
- [x] Login -> go to page home -> delete token -> click any page -> check whether error message show in login page
- [x] Login -> click logout button in header -> check whether error message does not show in login page
### Alice
### feature/dashboard designer fix
**Purpose**
* [SRPDashboard] fix ruler no border bottom when scroll
* [SRPDashboard]
1. fixed text floating when scrolling
2. fix the problem of dashboard designer content scrolls together, instead of separately scrolls each other
**Test Case**
1. test for SRPDashboard scrolling test
- [x] new blank and add panel out of grid content height
- [x] edit and add panel out of grid content height
- [x] new from existing and add panel out of grid content height
- [x] trans to portrait
- [x] fix float text when scrolling
- [x] fix the bottom border of the upper ruler will disappear when scrolling
## 2020/11/13
### Tingwei
### [Change]Fine-tune token valid etc
**Purpose**:
1. [Change]Avoid to show token valid error message ( only change util.js and axios/axios ).
2. [Change]Fix not logout when edit object in token invalid condition.
3. [Change]Add refreshTokenFlagTimerTimestamp in localStorage when setting "refreshTokenFlag" timer start. When window.focus(), check whether "timeNow" - timestamp > timer period . If "timeNow" - timestamp > timer period, do refresh token and restart the timer. This help to refresh token in timer stop condition, i.g., system power sleep...etc.
4. [change]Correct refresh token timer when window.focus() and "timeNow" - timestamp <= timer period.
5. [change]checkRefreshTokenFlag events add scroll.
6. [change] hamburger show when < 1340.
7. [change] Devices & organizationManagement min-width 1024px, profileManagement and menuManagement min-width: 620px
8. [Fix] org menu disppear when dev-server hot reload in the other tab of browser.
**Test Case**:
1. test purpose 1 & 2
- [x] go to page object -> delete token from localStorage and cookies -> edit Object
3. test purpose 3
- [x] login in -> go to "profileManagement" and open chrome devtool -> windows power sleep -> waitting for more than 15 min but less than 30 min -> login windows -> go back to page -> check whether "refreshToken" api send in devtool network .
- [x] login in -> go to "page Object" do not change page and don't turn on power sleep -> waitting for more than 1 hr -> edit one object -> check whether logout
4. test purpose 4
- [x] check console.log
5. test purpose 5
- [x] go to object -> change localStorege.refreshTokenFlag to '1' -> scroll -> check whether refreshToken api send .
6. test purpose 6
- [x] width 1340px
- [x] width 1339px
7. test purpose 7
- [x] go to device -> width < 1024px
- [x] go to organizationManagement -> width < 1024px
- [x] go to profileManagement -> width < 620px
- [x] go to menuManagement -> width < 620px
8. test purpose 8
- [x] go to profileManagement -> open a large mode tabs , change to other tabs, add a console.log('xxx') in code and save -> after dev-server updated, go to origin tab and check whether orgList show
## 2020/11/12
### Tingwei
### [Fix] navTab scroll and can't fixed ... etc
**Purpose**:
1. [Fix] navTab scroll and can't fixed.
2. [Fix] navTab does not reset when change tab.
3. [change] toobar filter change position when < 1620px
4. [Fix] < 1340px header is under orgList when hiding animate
5. [change]notification filter change style when < 1800px
**Test Case**:
1. test purpose 1 & 2 in windows
- [x] page object -> scroll down
- [x] -> change to page dashboard -> scroll down
- [x] -> change to page inspection
- [x] -> change to page event -> scroll down
- [x] -> change to page notification -> scroll down
- [x] -> change to page user -> scroll down
2. test purpose 3 in windows
- [x] page devices 1920px
- [x] page devices 1619px
3. test purpose 4 in windows
- [x] < 1340px -> hide orgLidt
5. test purpose 5 in windows
- [x] page notification 1920px
- [x] page notification 1799px
## 2020/11/11
### Alice
### feature/bi object list new style
**Purpose**:
* [BI][Object] object list page style update
* [BI][Dashboard] toolbar max width dynamic
* [BI][Object] add resetObjectListSearch key as flag for search reset
* [BI][Dashboard] tool bar width change
* [BI][Object] reset the search after edit
* [BI][Object]
1. table sort,
2. reset search after add, edit, delete,
3. show no objects/ result when no data,
4. fix wrong description position,
5. tool bar width change by media width
* [BI][Object] same name object search reset
* [BI][nodePage] list scrolling fix
**Test Case**:
1. test for Object List
- [x] update the list and reset search input, page, rows and sort when add from profile/device
- [x] search
- [x] rows change
- [x] table sort
- [x] description position
- [x] action dropdown
- [x] edit object
- [x] delete object
- [x] org change
- [x] different tool bar width rwd
- [x] tool bar width fix when scrolling
### feature/menu-management-logo-update
**Purpose**:
[BI][Dashboard] update the menu management SRP frame preview header
**Test Case**:
1. test for menu management
- [x] check if the preview title logo has been updated
## 2020/11/09
### Tingwei
### [Add][Inspection] Add pageInspection... etc
**Purpose**:
1. Refer to the title
2. Fix \<main> height
3. Fix org list menu style( <= 1280 ).
**Test Case**:
1. test purpose 1
- [x] go to #/home -> click `Patrol Inspection Planner` -> check whether open new tab and page inspection show text
- [x] click link in page inspection
- [x] click Inspection tab
2. test purpose 2
- [x] go to devices
3. test purpose 3
- [x] 1920px
- [x] -> 1440px
- [x] -> change to 1280px
- [x] -> change to 1440px
- [x] -> change to 1920px
### Tingwei
### [Fix][Devices] Fix page alarm column width...etc
**Purpose**:
1. Refer to the title
2. [Change][Devices]Renew columns by Zeplin.
**Test Case**:
1. test purpose 1
- [x] page monitor 1920
- [x] page monitor 1280
- [x] page Alarm 1920
- [x] page Alarm 1280
- [x] page Firmware 1920
- [x] page Firmware 1280
- [x] page Applications 1920
- [x] page Applications 1280
- [x] page Configure 1920
- [x] page Configure 1280
2. test purpose 2
- [x] page Firmware
- [x] page Applications
## 2020/11/05
### Tingwei
#### [add][Device List] "No devices, yet." in table ... etc
**Purpose**:
1. [add][Device List] "No devices, yet." in table
2. [change][Device List] style when side bar shown.
3. [Fix] Fix Lack getStatusTypeEnum: typesDeviceCloud.GET_STATUS_TYPE_ENUM
**Test Case**:
1. test purpose 1
- [x] login with no devices account -> go to devices
2. test purpose 2 & 3
- [x] page monitor 1920
- [x] page monitor 1280
- [x] page Alarm 1920
- [x] page Alarm 1280
- [x] page Firmware 1920
- [x] page Firmware 1280
- [x] page Applications 1920
- [x] page Applications 1280
- [x] page Configure 1920
- [x] page Configure 1280
#### [Fix][Device List] Showing Result padding-left
**Purpose**:
1. Refer to the title
**Test Case**:
1. test purpose 1
- [x] search in Monitor
#### feature/bi bug fix and style change
**Purpose**:
1. [BI][Dashboard] desc multi-language key fix
**Test Case**:
1. test for SRPDashboard
- [x] check info change
## 2020/11/03
### Alice
#### feature/bi bug fix and style change
**Purpose**:
1. [BI]
1. home multi language key fix
2. my device panel title & value fix
2. [BI] use props to change the string of rows pre page in the component
3. [BI][SRPDashboard] filter border style change
4. [BI][SRPDashboard] show info when no dashboards / search results
5. [BI][Dashboard]
1. multi language key change
2. code simplify
6. [BI][SRPDashboard] fix text
**Test Case**:
1. test for Home
- [x] change local language check title correct
2. test for MyDevice & SRPDashboard
- [x] checking component props is working
3. test for SRPDashboard
- [x] checking the filter style is changed
- [x] show no dashboard data info when api return []
- [x] show no search result when search by keyword
### Tingwei
#### [Change][Device List]Add model filter...etc
**Purpose**:
1. [Change][Device List]Add model filter
2. [Fix][Device List] Search input regexp escape char(i.g. .) get wrong result. Fix by string.includes().
**Test Case**:
1. test purpose 1
- [x] Default select all models
- [x] -> click model filter -> uncheck one checkbox
- [x] -> blur -> click model filter -> checked models in a group and unchecked models in a group
- [x] -> search 'a'-> make some change
- [x] -> clear search
- [x] -> check all
- [x] -> uncheck all
2. test purpose 2
- [x] search device '.'
#### [Fix]Model "All" does not show in default condition.
**Purpose**:
1. Refer to the title
**Test Case**:
1. test purpose 1 in Windows chrome
- [x] check whether Model All
## 2020/10/30
### Tingwei
#### [Change][Fix]Fix bi-table fix zoom !== 100% border of fixed column mismatch border of other columns... etc
**Purpose**:
1. [Fix]Fix bi-table fix zoom !== 100% border of fixed column mismatch border of other columns(補強)
2. [Change][Tune][Add] npm run dev-0000. It start webpack-dev-server at host:0.0.0.0
3. [Change][DeviceList] Fine-tune loading
**Test Case**:
1. test purpose 1 Monitor , scroll it
- [x] zoom 90%
- [x] zoom 80%
- [x] zoom 110%
- [x] zoom 125%
2. test purpose 2
- [x] npm run dev-0000
2. test purpose 3
- [x] go to Devices
## 2020/10/28
### Tingwei
#### [Change]1. device list add checkbox and component 2.add pageApplications and pageConfigure 3. renew device list layout... etc
**Purpose**:
1. device list add checkbox and component
2. add pageApplications and pageConfigure
3. renew device list layout... etc
4. [Change][Devices] Disabled checkbox and their action button when sidebar open
5. [Fix]Fix Device Status yellow color dot is transparent in production develop
**Test Case**:
1. test purpose 1
- [x] check a checkbox -> check whether their action button show
- [x] uncheck all checkbox -> check whether their action button hide
- [x] check all
- [x] -> go next page -> check one checkbox -> go back -> check whether total check count is right
- [x] check a checkbox -> search
- [x] check a checkbox -> change Device Status filter
2. test purpose 2 & 4
- [x] go to Applications -> clisk a row -> when side bar show check whether checkbox is disabled
- [x] go to Configure -> clisk a row -> when side bar show check whether checkbox is disabled
3. test purpose 5
- [x] `npm run prod-test` and test it in portal_mplus_release, feature/change-prod-test-api-domain by `npm run prod-test` -> go to Devices check Devices Status filter whether Construction has yellow dot
### Tingwei
#### [Change]1. [Change][Device List]Update device list User Cell 2. [Add] userImage.vue
**Purpose**:
1. Refer to the title
**Test Case**:
1. go to Devices -> mouse hover user image in device list
## 2020/10/27
### Alice
#### feature/dashboard tool bar new style
**Purpose**:
1. [BI][Dashboard] open grafana icon
2. [BI][Dashboard] stop getting dashboard data when the menu change tab is not stopped on the dashboard
3. [BI][Dashboard]
1. add new toolbar(search, page & rows change),
2. show data info when no data,
3. add dropdown filter(style)
4. [BI][Dashboard]
1. get multiLanguage name
2. fix using the index to get wrong data
5. [BI][Dashboard] reset filter & search & page after add or edit or delete item
6. [BI][Dashboard] fix the wrong position of the drop-down list
7. [BI] fix key word remaining
8. [BI][Dashboard]
1. filter style update,
2. sort by data
3. after add, edit -> save, delete clear filter,
4. fix scrolling displacement,
5. org change renew data,
6. fix get correct item
9. [BI] split button style
**Test Case**:
1. test for BI dashboard
- [x] add new blank, from template, from existing dashboard
- [x] edit correct dashboard
- [x] delete correct dashboard
- [x] preview correct dashboard
- [x] copy correct dashboard url
- [x] change rows to 100 and scrolling check the tool bar position correct
- [x] check sort feature usable
- [x] check page change
- [x] check rows change
- [x] check input search ok
- [x] reset filter(search, sort, page, rows count) when add, edit(save) and delete
- [x] fix the rows option position error (open after scroling)
- [x] change org change data
- [x] no data infomation tips
- [x] fix search Input not be clear
## 2020/10/23
### Tingwei
#### [Fix] Fix new version slotParameterToolBar cause old version style wrong.
**Purpose**:
1. Refer to the title
**Test Case**:
1. test check below parameter tool bar style
- [x] check Devices -> check parameter tool bar style
- [x] edit profile dialog -> check parameter tool bar style
- [x] profile detail dialog -> check parameter tool bar style
- [x] edit calculation -> formula -> select code source -> check parameter tool bar style
- [x] edit calculation -> alarm -> alarm complex -> check parameter tool bar style
- [x] edit primitive -> alarm -> alarm code -> select alarm code dialog -> check parameter tool bar style
## 2020/10/22
### Tingwei
#### [Change] new style device tool bar... etc
**Purpose**:
1. [Change] new style device tool bar
2. [Add]Add Device Status filter
3. [Add]Add slotDropdownLookLikeSelect.vue
**Test Case**:
1. test
- [x] search
- [x] filter only online
- [x] filter only offline
- [x] filter only construction
- [x] filter only operation
- [x] filter online and construction
- [x] filter online and operation
- [x] filter offline and construction
- [x] filter offline and operation
- [x] filter All
## 2020/10/20
### Alice
#### feature/panel-item
**Purpose**:
1. [BI][Add] RWD panel item
**Test Case**:
1. for my device
- [x] page Devices
- [x] page Alarm
- [x] page firmware
1. for my device RWD >=
- [x] 2560
- [x] 1920
- [x] 1760
- [x] 1600
- [x] 1440
- [x] 1366
- [x] 1280
- [x] 1024
## 2020/10/19
### Tingwei
#### [Fix] Fix updating data causes Rows per page, page, search reset.
**Purpose**:
1. [Fix] Fix updating data causes Rows per page, page, search reset.
**Test Case**:
1. test in Devices
- [x] input search -> when status update(loading after device), check whether input was deleted
- [x] go to page 2 -> when status update, check whether input was deleted
- [x] Rows per page select 100 -> when status update, check whether input was deleted
### Alice
#### feature/upload image default pic
**Purpose**:
1. [BI][Change] upload image default picture icon change
**Test Case**:
1. for all BI
- [x] add menu management dashboard
- [x] user info page upload head shot
- [x] setup object (add object)
- [x] edit user access (user management)
- [x] edit user (org->user)
- [x] create user (org->user)
- [x] create spac user(system setting)
- [x] new device
## 2020/10/16
### Alice
#### feature/browser icon update
**Purpose**:
1. [BI][Home][Change] fix home page rwd layout
2. [BI][Card] fix single function trigger (component command)
**Test Case**:
1. for Home RWD
- [x] 2048↑
- [x] 1920
- [x] 1760
- [x] 1600
- [x] 1440
- [x] 1366
- [x] 1280
- [x] 880↓
2. for SRP Dashboard card edit menu
- [x] edit dashboard
- [x] delete dashboard
- [x] preview Dashboard
- [x] copy Dashboard URL
## 2020/10/15
### Tingwei
#### [Fix] Fix five cards height
**Purpose**:
1. [Fix] Fix five cards height
**Test Case**:
1. test in Devices
- [x] check five cards
#### [Change][Devices] remove underline from device name ... etc
**Purpose**:
1. setLoadingStart timing ( go to #/deviceManagement will not setLoadingEnd automatically )
2. remove underline from device name
3. Add class 'bi-table--has-row-event' and apply to pageMonitor and pageAlarm.
**Test Case**:
1. test
- [x] go to #/devicemanagement from #/organizationManagement
- [x] check device name
- [x] hover table-row in pageMonitor and pageAlarm
### Alice
#### feature/browser icon update
**Purpose**:
1. [BI][Icon][Change] browser icon
**Test Case**:
- [x] check browser tab icon ico change
#### feature/browser tab title update
**Purpose**:
1. [BI][Change] browser tab title update
**Test Case**:
- [x] check browser tab title changed
#### feature/interval fix
**Purpose**:
1. [SRPDashboard][Change] interval / 5
**Test Case**:
- [x] check interval = (spanHi + spanLo)/5
## 2020/10/14
### Tingwei
#### [Add] 1. Add resetDeviceList method in "deviceList.vue" and use it after delete success ... etc
**Purpose**:
1. Add resetDeviceList method in "deviceList.vue" and use it after delete success
2. slotParameterToolBar.vue support update real-time for updating device status real-time (will not change page, number per page, and search keyword)
**Test Case**:
1. test in Devices
- [x] Search -> Delete device
- [x] Rows Per Page select 100 -> Delete device
- [x] Go to page 2 -> Delete
#### [Add][Devices]Five cards and delete garbage from sideBar etc...
**Purpose**:
1. [Add][Devices]Five cards and delete garbage from sideBar
**Test Case**:
1. test in Devices
- [x] check five cards in 1920x1080 width
- [x] check whether five cards title show '...' in 1440x900 width
### Alice
#### feature/bi dashboard page
**Purpose**:
1. [BI][SRPDashboard][Change] Update style and code porting
2. [BI][SRPDashboard] card list and action
3. [BI][SRPDashboard] test & bug fix
**Test Case**:
1. test in pageDashboard
- [x] add blank dashboard
- [x] add dashboard from template
- [x] add dashboard from existing
- [x] list length added
- [x] edit dashboard
- [x] delete dashboard
- [x] preview Dashboard
- [x] copy Dashboard URL
#### feature/bi tabs bk fix
**Purpose**:
1. [BI][Tabs][Change] hover backgorund color changed
**Test Case**:
1. test in organization, checking background color was changed when hover
## 2020/10/13
### Tingwei
#### [Change]Update bi device list with old version page-alarm and old version page-firmware
**Purpose**:
1. [Change]Refer to the title
**Test Case**:
1. test
- [x] Go to deviceManagement
- [x] Devices
- [x] Monitor
- [x] Alarm
- [x] Firmware
- [x] Sort
- [x] Search
- [x] Change page
- [x] Rows Per Page
- [x] Click device name show tag info list
- [x] Actions icon and dropdowns
- [x] Scroll table on vertical and horizontal direction
## 2020/10/07
### Alice
#### feature/home page update
**Purpose**:
1. [BI][Add] home icon file
2. [BI][Home][Change] page update
3. [BI][Home][Change] fix background color
**Test Case**:
1. test
- [x] resize the browser windows, check icon sorting
- [x] hover, active, disabled, not applicable 4 status test
- [x] click every icon, to make sure url correct
- [x] check propic was changed or be the short name replace
#### feature/home page update
**Purpose**:
[BI][LogIn][Change]
1. update logo
2. change background color white and border none when small browser window size
3. footer change display type for align center
**Test Case**:
1. resize the browser windows
- [x] check logo auto size
- [x] check background color white and border none when small
- [x] check foot text center and no replace by ...
## 2020/10/06
### Tingwei
#### [Change]BI page object ( old version design )
**Purpose**:
1. [Change]BI page object ( old version design )
2. [Change]Fixed Object tool bar under Tabs when scroll.
3. [Change]Update this.stickyTop by header.clientHeight and titleBar.clientHeight when scroll && this.isSticky === true && this.stickyTop === null .
**Test Case**:
1. test
- [x] go to object
- [x] scroll it
- [x] create object
- [x] edit object
- [x] delete object
- [x] save as profile
- [x] upload alarm code file