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});