# 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