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
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 was done:
1. Unsuccess message switch from true to false
2. Fixed issue with reminder minutes not being store properly
Change-Id: Ia275fd88911a34da6edb533426781afed13cad73
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. 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. 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
As specified in meeting 27.01, create these two Call Blocking
submodules. Also add extra checks to prevent duplicate records,
and refactor controller.
Change-Id: I73644343ded6b3093c4cb9fd16e5402ff38bf927
Implement new logic and layout for adding new rule in call forward
module, based on new sketches and specs in 27.01 meeting. Also fix
issue with "nowhere" emptyText not showing circle, missing message
event, and move timeset/sourceset widget to be embedded in buttons
instead (this was missing from task 10057). Also clean up sass a bit
and refactor use of "element: 'el'" in controller (not needed).
Change-Id: Idab0ccb3a0d4f15b18fac2accd1c75bdf809e5f8
Current filters implementation in sidebar needs to be adapted to
changes (as specified in 27.01 meeting), and moved from widget
location to location in headerBar on top in mainView. Also needs
styling, collapse/expand functionality, autosearch on input,
autosubmit on field change, dynamic visibility on route change,
and change of linkedStore and form fields based on route. Added
toggle for headerBar field, to switch between freeform and
card-header-title-only search.
Remaining tasks:
> [MOVED To SEPARATE TASK] Fix pbx filter fields not working
> [DONE] Fix "delayed" binds in formFilter, see submitFilters() in
controller. I had another look after our talk, and looks like I
improperly changed the tabfilters to checkboxgroup, and there
are still references to that in controller
> [DONE] Tried to center field, but needs to be grouped with icons to
be able to center them with "margin: 0 auto;" together
> [DONE] Fix hover bg color for "new ..." icons
Change-Id: Icc5c0d552827f4ea504ffa5e6c70045455165ed4
Remove pbx extensions and fax send module. Change auto attendant
module to sub module of pbx config submodule (awaiting specs from
Andreas, so leave this module as is for now). Correct naming mistake
for pbxconfig folder (is named pbfconfig), and remove redundant scss
and locales.
Leave Ngcp.csc.locales.faxsend locales object for now, as it can be
reused for the upcoming "Action/calls sidebar" module.
Change-Id: Id951a943dedae24b1719953ba62f38f0b6ae69c0
Desktop section moved to bottom, rename "Account" to "Password" and
set "Unified Inbox"/"Conversations" to default/top route.
Change-Id: If093e2015d66b7d4c5ac1eeea5ba24aa6447b7ca
Implement ngcp-csc sourceset widget with functionality for editing
and adding sources in the form of numbers or buddies. Only contains
a generic row named "Phone" for now. Also refactored some code in
controller.
Change-Id: I5c7167dbdc92ade2aa2d9a2f471c66473afc8609
Merging existing fax spool module into unified inbox view, removing
old module and data, and changing call_type names.
Change-Id: I8f824720f49084d390ed1fb8c05440f6a940e874
Implement a widget with ability to edit a given timeset, such as
"after hours" or "company hours". Editable down to a specific
time period per day, with all details in one view (incl closed
status).
Change-Id: I4ffcb5cfb4f6f61e7e94e69509392396154a87e8
- move all the hardcoded json in resources/data + add missing models
- create extandable core widgets with common configurations
Change-Id: I41641dc6f92645c44618bb218e065baaa42e7697
Implement ngcp-csc fax spool module mockup with a listing in grid-
form of fax data, and create mockup data.
Change-Id: I6bc59a3eb506b9bd1ff908175aad899835a0aa9e
Create ngcp-csc block list module in grid view based on dummy data,
with options to change block mode, add new number entries, delete
entried, and toggle enabled status. Refactor enterPressed and
saveNumbers.
Change-Id: Ie2cd4eb69ae92f5ff24eb1d9c7253dcee501139b