Call: Show ended state of the call panel if caller aborts the call
- Show ended reason
- Only show close button (that closes the panel)
- Include css styles from hherzog's previous commit
Call: Implement decline button functionality
- Add remote media stream to view model
(will complete the rest as part of the task specific branch)
Change-Id: I50a1beeb57e0d74f0a82e22a2414ff4e9a6764ca
What has been done:
- Add "loading dots" animation for easy reuse
- Quick login window fix, to prevent closing when pressing ESC
- Remove rtc/ from .gitignore
- Show buttons for accepting the call
- Show decline button
- Show callers number
- Change color of the title
- Show label with text "Incoming audio/video call from ..."
Testing:
- Dev helper buttons can be found in patchset 5
Change-Id: I1e61abaabc788c9104178ab834533d4bef7517ec
What has been done
1. Handle read and write rendering of all non-number destination
types, parsing sip-uri values from API to human readable types
2. Implement ability to add new destinations, also non-number types
3. Move "first ring" section to grid
4. Implement persistent reordering of destinations in grid, handling
both changes in termination status, priority order and
destinationset
5. Implement color indication of what destinations are terminated
(inactive/active) and not
6. Implement logic for handling Ajax PATCH request based on
destinationset
7. Some cleanup/refactoring, including change names for CallForward
store and models, clean up models, defaultValue added where needed
8. Render combinations of destination types and timeouts correctly
9. Implement cft/cfu rules. Currently you can't reposition it
10. Implement dynamic handling of labels in grid
Change-Id: I9f9252412d5ae921b8a4160a51b0acec8e8ea179
What has been done:
1. Implement successful write of destinations on store.sync(), using
beforesync event and custom ajax requests based on id of
destinationsets
B. Investigate PATCH method for updating items with use of curl
(will use this to base building of model in options["update"] on)
A. Make sure we are able to fire beforesync event
D. Add all necessary values to store for "add new destination"
button controller logic ("announcement_id", "destination",
"priority":, "simple_destination": "timeout" at least)
D1. If store.last is undefined, create a new destinationset
D2. Else if store.last is undefined, use store.last to get values for
new model
E. Create the "meat" for this cfStoreBeforeSync function
1G. Make sure removing destination works with the API properly
3A. Sourceset grid write data to API
3B. Sourceset write after adding source to empty grid
6. Disable ability to change titleset name for now, as we don't
have specs for how to handle this. Currently, changing the name of
the sourceset would mean that it would disappear in next reload,
and as we can't rely on localStorage for persistence of
sourceset_1 (List A), for example, we have no way of handling this
unless we change the logic here. I've proposed to handle this as
part of #17651, documented my concerns in ticket, and will discuss
in next sync-up
7. Cleanup and last changes and testing
Change-Id: Ic5eed663c032f38b5cf5c34effd86af32550ddde
What has been done:
1. Update endpoints mapping, as callforwards has sources and times,
but no sourceset or timeset names. Need to perform an ajax
request in controller to get sourceset name for current cf type
for subscriber
+--------------+---------------+------+-------------------------+
| Submodule | Grid | CRUD | Endpoint |
+--------------+---------------+------+-------------------------+
| Alw/Aft/Comp | Timeset | RU | /api/cftimesets/ |
| Alw/Aft/Comp | Sourceset | RU | /api/cfsourcesets/ |
| Alw/Aft/Comp | Onl/Offl/Busy | CRUD | /api/cfmappings/ |
| Alw/Aft/Comp | Onl/Offl/Busy | CR | /api/cfsourcesets/ |
| Alw/Aft/Comp | Onl/Offl/Busy | CR | /api/cftimesets/ |
| Alw/Aft/Comp | Onl/Offl/Busy | CRUD | /api/cfdestinationsets/ |
+--------------+---------------+------+-------------------------+
(timeset/sourceset in onl/off/busy CRUD depends on UI implementation)
2. Implement main store, proxy and controller for destination grids
3a. implement into view for displaying data based on requested data
3b. BUG fix. Duplicate destinations when loading several submodules
4. CANCEL button text does not get reverted back to ADD NEW
DESTINATION after adding new from empty list, fix
5. Make timeout field editable
6. For busy and offline, don't display "first ring" section
7a. Read and display sourceset and timeset API data
7b. BUG fix. List A grid is not showing
8. Fix "Voicemail" rendering
9. BUG fix. emptyText not showing for CallForwardMainGrid.js grids
10. Added box-shadow for core-container and cards
Change-Id: I1112969673296150e20a3add427fce81473d7060
Previous implementatation was still using dummy data.
With this changes the integration of JWT iin the client is completed.
Change-Id: I4dde4fc209ec878d87e6477d70cf7a5b02fb9b34
What has been done:
1. When not connected to API, the toggle icon labels have wrong
color, should be reverse. Works when API is connected. Investigate
2. Implement ability to edit the reminder even if it's inactive
3. Grab inactive/active status from API instead of creating dummy
value in model
4. Remove seconds in the dropdown and input
5. Add save button and logic
6. Creation of default reminder in case does not exist for the
user
Change-Id: Id224109af714532f576b870a3624099f8a6ee972
What has been done:
1. Groups should also have Primary/Alias and Seats
a. Implement in view, model and .json
b. Implement in gridfilter
What is remaining(?):
2. Button text wrong some times - Not able to reproduce
Change-Id: Ia3e10f4f736857ae155be4c8569ea2130a67ac73
What was done:
1. Tooltip for toggle should say "Allow everything except..."/"Block
everything except..." depending on current value
2. Remove theme roller module from menu
3. Also fix tooltip for reminder module toggle button
Change-Id: Ia2435f6296d026afca4c7f1543b7f2eaa9e9cb72
What has been done:
1. Tooltip for new messages/chat are NaN. Fix
2. Fix issue with new messages disappearing after interval 1 min
Change-Id: Ic0aaf1789f16b144fc9b3f8a67d7581c50029751
What has been done:
1. Rename button in groups module to "ADD NEW GROUP"
2. Investigate Alignment issue on Andreas' laptop. Not able to
reproduce
3. Change extension number to have no upper limit
4. When clicking "ADD NEW GROUP" and new card is outside view, it
doesn't show it/scroll to it. Works for Robert. Try and solve with
scrollTo - window.scrollTo(0,document.body.scrollHeight);
5. Cancel button shows delete box. Remove
6. When editing a card, and switching module, shows "All fields
required". Use a VM model to set last edited card id, and a
onRouteChange event and controller to hide fields on that card
7. Implement check for whether a new pbx card already is in progress
to not allow multiple new cards being created at same time
8. Toggle icons at bottom of card back to editCard and no cancel
9. Add more fine-grained error messages for validation in call
blocking module
10. Fix typo in DevicseController name at top of DevicesController.js
Change-Id: I3dec8301b39dacec36d7e140246e5d51b6ca1b52
What has been done:
1. Change to capital first for Allow/Block and Hide/Show
2. Reverse the coloring of the Allow/Block text
3. Adjust toggle section html and listener class, to solve issue
with doubleclicking Allow/Block text "spawning" new icons,
and make for a cleaner code
4. Add notification messages for toggle icon clicks
5. Refactor the toggleBlockCalls() controller to account for all
properly show messages also for privacy module
6. Remove some unused code in controller and locales
Change-Id: I422a43733a9090d2bbe17cb6279af4093377e429
What was done:
1. Unsuccess message switch from true to false
2. Fixed issue with reminder minutes not being store properly
Change-Id: Ia275fd88911a34da6edb533426781afed13cad73
What has been done:
1. Currently the user can not exit the "Create new team" process
after clicking buttton. Pressing escape and blurring does not
cancel, and there is no cancel button. User has to reload page for
it to cancel. Implement a cancel button and/or blur/escapekey
mechanism to address this
Split into new task:
2. Not able to solve "delete contact bug". Creating a new task for
cvenusino to look at, with comment in ContactsController.js line
217, and description of bug in task
Change-Id: Ibfd441ec13f7f22bfd40f4b452e1ff474baa7030
What has been done:
1. Investigate issue with "change title" field briefly visible before
showing again. Create new task to handle this app wide.
2. Change "ADD NEW DESTINATION" button text to "CANCEL" when active,
and indent the button to be in line with grids
3. Implement collapsable panel bar view for sourceset grids
4. Remove loading icon
5. When I am busy... field cut off at bottom for Numbers
6. Create a new task to handle delayed hidden binds, see here:
https://www.sencha.com/forum/showthread.php?294356-Fixing-the-lag-when-components-hidden-visible-property-is-a-bind
X. Talked with Andreas about the highlighting of grids when moving/
repositioning them, but decided to keep them for now
Change-Id: I77ee1580f7d8e920e9f18a3a744f26029bf0d8d3
What was done:
1. Remove todos in app/model/CallBlocking.js (was already fixed)
2. Fix typo in NgcpCsc.model.Foreward model and store, Application.js
and in view. Right wording is Forward
Change-Id: I6bfa27477e1b3d2f3a4f4a26ec932d60ea8c7f02
What was done:
1. Change panel title for CF company hours timeset collapsable panel
2. Add "From" to sourceset tab titles (so it becomes "From Everybody"
- "From List A" - "From List B", making only the "List X" part
editable)
Change-Id: I1c97482676dc910b71e2cf58d683226c24e7e58a
What was done:
1. replace segmented button in reminder module with toggle icon, as
already implemented in call blocking modules
2. change name of cellediting plugin id from celleditingTime to
celleditingSource
3. test with new reminder api implementation
Change-Id: I313ab13708388ffecf1d7717ecca33104f2f558a
What's been done:
1. remove toggle (H) input button, and always search in all data of
current active module
2. reset input field should be triggered on route change, to prevent
wrong filtering
3. make input field slightly wider, to be consistent with card-grid
width
4. all the input fields should have label left & input right
5. implement filters for last devices/seats/groups changes
6. when the field is cleared, execute clearFilter() on related store
7. make combo/tagfields editable
8. discovered a bug for first time we enter input in field in
conversations module. creating a separate task for this
Change-Id: Ieb3cdc9988d73ff704f45157d8a01270de3c69cc
What's done:
1. Reorder menu to groups, seats, devices order
2. Map out the data flow, see workfront docs
3. Plan data store merge implementation
4. Plan out what needs validation, and is required
5. Implement validation in view and controller
7. Fix bug in Groups module, where hunt 'for' label does not get
extra margin-top when saved with enter, only with button
8. Implement store merge as per Cvenusinos suggestion
a. introduce in Groups data/model a unique id field (was already
there)
b. change seat data to have the groups field as array of group ids
c. where you assign the value of groups label in seat card, you
have to iterate&find the records in Groups store which have the
ids of groups field in seat record, and extract the names
d. as for the tagfield, you have to use Groups store
e. define valueField and displayField using fields which exists in
group model (id & name for example)
f. if the store has autoLoad: true (=dropdown populated),
binding the groups field in seat model to the array of ids
should automatically display the selected group names
g. Filter out field arrays where fieldLabel is "User" or "Type"
9. Fix bugs with "delayed" save, or "first save not working when
adding new seat or group"
10. Change blur listener controller to only save, and not hide
11. Issue with saving of name field in Groups and Devices (not
Seats). Only happens when clicking button/save-icon, and for
dirty record. It gets saved, but fields not hidden. A second
click hides
12. Issue with cut off of cards in relation to issue 11, same
steps to reproduce
Change-Id: I2af41a6e9799b7cbd268b1217ed49b9381272d6a
What was done:
- 1. Changed background color to grey
- 2. Increased font size, and added some padding
- 3. Added icons based on message type (success or not)
- 4. Repositioned it to be top right instead of top center this was
done for these reasons:
a. Andreas was pointing out the messages didn't look centered
in the previous iteration, but the fact is they were centered
in relation to the whole browser window, and not in relation
to main container wrapper. This solves this issue
b. Users are more likely to notice the messages overlaying top
right, as it does not compete with green background of panel
title
c. Users are more likely to be used to notifications on top
right in their OSes, browser notifications, and other apps
- 5. Increased time before close of notification box (3 to 5 secs)
- 6. Set the notification box max and min width to 365px, and
verified that text wrap is working
Change-Id: I3065ee208b01ccd48604a47da1c94e4c7b88659b
What was done:
1. Visually implement "Allow [TOGGLE BUTTON] block" for Outg/Inc
2. Visually implement "Show own number [TOGGLE BUTTON] hide own
number" for Privacy
3. Implement css and classes
4. Implement controllers and bind to vm values
Change-Id: I76afe1d30cefee64faa1f8e0174eb3af2de76576
What was done:
1. Add blur listeners to fields
2. Implement controller for blur event that checks if any of the
fields in DOM .hasFocus, and if false we save card
3. Implement change of tooltip for editCard icon when clicked and
changes to saveCard icon
Change-Id: I772fa4f033b5ec2a4656cc372ad5b57cb42c3ad1
What was done:
1. Change timeset grid column title from "Closed" to "Full Day"
2. Implement "save" and "close" buttons for timeset grid, and
controller (controllers fire msg for now)
3. Copy "For calls during after hours..." to panel title (keep it
in both places)
4. Implement changes to tabs and timeset appearance, see wireframe
in balsamiq
5. Change "Sourceset title" to "Title"
6. Implement Sourceset grid save button in row, and editor field
slightly less wide to make room for button
7. Make sourceset title input field full width
8. Change color for "move icon" to same color as "trash icon"
9. Implement tooltips in grids
10. Fix titles to "Call Forward - Always", and remove "For calls
during always..." in always submodule
11. Move the loadingBar
12. Local storage for persistent state of collapsable panel
13. Full width timeset grid, and place inside panel so it can be
properly collapsed
14. Locales all the things
15. Adjust width of sourceset grid to 100% as well, and move buttons
to right align
Change-Id: Id31fe3f34cb0009fa24068acc242daaa2b4bb481
As specified in meeting 20.03, we need to implement new fields and
tag fields. Need to implement both in rowwidget in view, manual bind
in controller, add in gridfilters form, and add controller logic to
handle tag fields both in pbxconfig and gridfilters.
Change-Id: I7dad57af0ee6fa40bad1cb839d2d9c17a127211f
Split Ngcp-csc call forward module into three submodules based on
timesource (always/after hours/company hours).
Plus implement the following changes:
* not bold text
* new placement/implementation of timeset grid
* add cursor pointer to sourceset/timeset grid
* autofocus on bottom list A/B row when add new
* remove bulletpoints
* change to tabpanel for sourcesets
* implement clickable icons in tabs
* adjust layout of "first ring" and "then ring" fields and labels
* implement 'big-820'/'small-100' layout to be consistent with other views
* implement onEnterPressed ability
* change structure of views (mainform/tabpanel, etc) and affected controllers to use new ids
* ability to change List A/List B name
* refactor controller where needed
* implement validity check for controllers for saving "then ring" destinations to store
* correct styling after restructuring views
Change-Id: Ied00dd73f2044c0af2fb82a0be17c66c3c597663
Fix issue with "Name:" labels always being visible in
seats/groups/devices after first time editing a card. Also fix
duplicate hidden values (both bind and explicit) for labels/fields
in grid views, and this issue reported by Carlo:
> Start edit a new card, click save before all fields are
filled -> message alert which all fields are mandatory (correct),
but the filled ones should not be deleted.
Change-Id: I00c59e4b9f489c3905540238b6032105b3040347
Implement cancel button for seats/groups/devices submodules.
Cancel button that appears when editing inline in cards, and when
clicked hides fields and shows the labels again. When pressed after
adding a new empty card, it should delete the card.
Change-Id: I9225031bdeae0fd1a6b611ab76fb50d9d9fe196d
Implement inline editing and "add new" functionality for pbx
submodules; groups, seats and devices.
Due to issues with rowwidget, implement workaround for binding, and
click listener - which are not working as expected/at all (respctvly).
Also refactor structure of views, to consolidate duplicate code for
these submodules - and implement onEnterPressed feature.
Change-Id: If6b34fff1634e87aedb28232a859529e7616173d
Implement "SAVE" button in call blocking module, to have in addition
to the existing "press ENTER to save" feature.
Also minor locales.js change due to duplicates.
Change-Id: I59d20d10b1aeba86241995ebb4f4e82f4ac75391
Implement layout adjustments to bring reminder module in line with
new styling for callblocking/conversations/pbx, and also implement
controller with message events firing on inactive/active mode switch.
Change-Id: I01eb6d55b289ffb26f13fcc889f94c1c7c72aa1d
After last card changes to conversations module (rowbody, styling,
etc), pbx cards are not expanding, and also needs a round of changes.
Change-Id: I2fb81e9229dbd9f5720761a266e3c491072ce302
As agreed in 27.01 meeting, create callblocking privacy module. Also
add missing strings to locales, fix css green bg on conversations
"new xxx" icons, and add xtype variable to show/hide all callblocking
modules.
Change-Id: If25be661097c755368fe99495a531e1438e29fbd