diff --git a/src/api/pbx-seats.js b/src/api/pbx-seats.js index b5b082d5..70d7db6b 100644 --- a/src/api/pbx-seats.js +++ b/src/api/pbx-seats.js @@ -79,13 +79,17 @@ export function getSeatsOnly(options) { export function getSeatList(options) { return new Promise((resolve, reject)=>{ let page = _.get(options, 'page', 1); + let display_name = _.get(options, 'display_name', null); + let params = { + page: page, + order_by: PBX_CONFIG_ORDER_BY, + order_by_direction: PBX_CONFIG_ORDER_DIRECTION + } Promise.all([ getSeats({ - params: { - page: page, - order_by: PBX_CONFIG_ORDER_BY, - order_by_direction: PBX_CONFIG_ORDER_DIRECTION - } + params: display_name ? _.merge({ + display_name: display_name + }, params) : params }), getGroupsOnly({ all: true diff --git a/src/components/pages/PbxConfiguration/CscPbxSeats.vue b/src/components/pages/PbxConfiguration/CscPbxSeats.vue index fea842ac..cc000e29 100644 --- a/src/components/pages/PbxConfiguration/CscPbxSeats.vue +++ b/src/components/pages/PbxConfiguration/CscPbxSeats.vue @@ -12,6 +12,17 @@ :disable="isSeatListRequesting" @click="enableSeatAddForm" /> + + {{$t('pbxConfig.seatsFilters')}} +
+ + +
+
+
+ + + + + + + +
+
+ + {{ filterType === 'name' ? 'Name: ' + filter : filter }} + +
+
+ + {{ $t('pbxConfig.seatsFiltersClose') }} + + + {{$t('pbxConfig.seatsFiltersReset')}} + +
+
+
+ +
$filter !== filter ) + if(this.filters.length < 1){ + this.emptyFilters() + } + } }, watch: { @@ -291,4 +433,20 @@ .fade-enter, .fade-leave-to { opacity: 0; } + .csc-pbx-filters-container + color $secondary + margin-bottom 20px + .csc-pbx-chips-container + margin 20px auto 20px auto + text-align center + .csc-pbx-filters-field + width 250px + display inline-block + margin-left 10px + + .csc-pbx-filter-fields-container + margin-top -15px + .csc-pbx-filter-buttons + margin-top 15px + text-align center diff --git a/src/locales/en.json b/src/locales/en.json index ea8cf69c..c9e9d63d 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -593,7 +593,16 @@ "toggleIntraPbx": "Hide number within own PBX", "selfPbxVisible": "Your number is visible to the callee within own PBX", "selfPbxHidden": "Your number is hidden to the callee within own PBX", - "intraPbx": "the visibility of the number within own PBX" + "intraPbx": "the visibility of the number within own PBX", + "seatsFilters": "Filter", + "seatsFiltersFilterByLabel": "Filter by", + "seatsFiltersTypes": { + "name": "Name" + }, + "seatsFiltersSearch": "Search", + "seatsFiltersClose": "Close", + "seatsFiltersReset": "Reset Filters", + "seatsFilterInputLabel": "Type something" }, "callBlocking": { "privacyEnabledToast": "Your number is hidden to the callee", diff --git a/src/store/pbx-seats.js b/src/store/pbx-seats.js index 2f7710b3..3fb9479b 100644 --- a/src/store/pbx-seats.js +++ b/src/store/pbx-seats.js @@ -256,11 +256,13 @@ export default { return new Promise((resolve, reject)=>{ let page = _.get(options, 'page', context.state.seatListCurrentPage); let clearList = _.get(options, 'clearList', true); + let display_name = _.get(options, 'display_name', null); context.commit('seatListItemsRequesting', { clearList: clearList }); getSeatList({ - page: page + page: page, + display_name: display_name }).then((seatList)=>{ context.commit('pbx/pilotSucceeded', seatList.pilot, {root:true}); context.commit('pbx/numbersSucceeded', seatList.numbers, {root:true});