Commit 23126899 authored by Reza Sahebgharan's avatar Reza Sahebgharan

feat(client side search for datatable): client side search for datatable

Closes KRN-48
parent 09feed9b
...@@ -66,23 +66,38 @@ ...@@ -66,23 +66,38 @@
</v-row> </v-row>
<v-row justify="center" dense class="flex-wrap mt-6"> <v-row justify="center" dense class="flex-wrap mt-6">
<v-col md="9" cols="12"> <v-col md="9" cols="12">
<v-data-table <v-card>
v-model="selectedItemInTable" <v-card-title>
:headers="headerOfTable" <v-spacer></v-spacer>
:items="itemsOfTable" <v-text-field
item-key="_id" v-model="search"
class="elevation-1" append-icon="search"
style="width:100%" label="Search"
fixed-header single-line
hide-default-footer hide-details
disable-pagination style="width:400px"
show-select class="flex-grow-0"
single-select ></v-text-field>
:sort-by.sync="sortByTable" </v-card-title>
:sort-desc.sync="sortDescTable" <v-data-table
height="73vh" v-model="selectedItemInTable"
@click:row="clickRow" :headers="headerOfTable"
></v-data-table> :items="itemsOfTable"
item-key="_id"
class="elevation-1"
style="width:100%"
fixed-header
hide-default-footer
disable-pagination
show-select
single-select
:sort-by.sync="sortByTable"
:sort-desc.sync="sortDescTable"
height="73vh"
@click:row="clickRow"
:search="search"
></v-data-table>
</v-card>
</v-col> </v-col>
</v-row> </v-row>
</v-container> </v-container>
...@@ -108,7 +123,8 @@ export default { ...@@ -108,7 +123,8 @@ export default {
snackbar: false, snackbar: false,
alertSnackbar: false, alertSnackbar: false,
alertText: "", alertText: "",
loading: false loading: false,
search: ""
}; };
}, },
computed: { computed: {
......
...@@ -86,23 +86,38 @@ ...@@ -86,23 +86,38 @@
</v-row> </v-row>
<v-row justify="center" dense class="flex-wrap mt-6"> <v-row justify="center" dense class="flex-wrap mt-6">
<v-col md="9" cols="12"> <v-col md="9" cols="12">
<v-data-table <v-card>
v-model="selectedItemInTable" <v-card-title>
:headers="headerOfTable" <v-spacer></v-spacer>
:items="itemsOfTable" <v-text-field
item-key="_id" v-model="search"
class="elevation-1" append-icon="search"
style="width:100%" label="Search"
fixed-header single-line
hide-default-footer hide-details
disable-pagination style="width:400px"
show-select class="flex-grow-0"
single-select ></v-text-field>
:sort-by.sync="sortByTable" </v-card-title>
:sort-desc.sync="sortDescTable" <v-data-table
height="73vh" v-model="selectedItemInTable"
@click:row="clickRow" :headers="headerOfTable"
></v-data-table> :items="itemsOfTable"
item-key="_id"
class="elevation-1"
style="width:100%"
fixed-header
hide-default-footer
disable-pagination
show-select
single-select
:sort-by.sync="sortByTable"
:sort-desc.sync="sortDescTable"
height="73vh"
@click:row="clickRow"
:search="search"
></v-data-table>
</v-card>
</v-col> </v-col>
</v-row> </v-row>
</v-container> </v-container>
...@@ -134,7 +149,8 @@ export default { ...@@ -134,7 +149,8 @@ export default {
snackbar: false, snackbar: false,
alertSnackbar: false, alertSnackbar: false,
alertText: "", alertText: "",
loading: false loading: false,
search: ""
}; };
}, },
computed: { computed: {
...@@ -170,7 +186,7 @@ export default { ...@@ -170,7 +186,7 @@ export default {
if ( if (
hislink != undefined && hislink != undefined &&
hislink != null && hislink != null &&
hislink.length > 0 && // hislink.length > 0 &&
hislink[0].Name != undefined hislink[0].Name != undefined
) )
currentDevicemap.push({ ...devicemap, HisName: hislink[0].Name }); currentDevicemap.push({ ...devicemap, HisName: hislink[0].Name });
......
...@@ -130,23 +130,38 @@ ...@@ -130,23 +130,38 @@
</v-row> </v-row>
<v-row justify="center" dense class="flex-wrap mt-6"> <v-row justify="center" dense class="flex-wrap mt-6">
<v-col md="9" cols="12"> <v-col md="9" cols="12">
<v-data-table <v-card>
v-model="selectedItemInTable" <v-card-title>
:headers="headerOfTable" <v-spacer></v-spacer>
:items="itemsOfTable" <v-text-field
item-key="_id" v-model="search"
class="elevation-1" append-icon="search"
style="width:100%" label="Search"
fixed-header single-line
hide-default-footer hide-details
disable-pagination style="width:400px"
show-select class="flex-grow-0"
single-select ></v-text-field>
:sort-by.sync="sortByTable" </v-card-title>
:sort-desc.sync="sortDescTable" <v-data-table
height="73vh" v-model="selectedItemInTable"
@click:row="clickRow" :headers="headerOfTable"
></v-data-table> :items="itemsOfTable"
item-key="_id"
class="elevation-1"
style="width:100%"
fixed-header
hide-default-footer
disable-pagination
show-select
single-select
:sort-by.sync="sortByTable"
:sort-desc.sync="sortDescTable"
height="73vh"
@click:row="clickRow"
:search="search"
></v-data-table>
</v-card>
</v-col> </v-col>
</v-row> </v-row>
<his-worklist <his-worklist
...@@ -192,7 +207,8 @@ export default { ...@@ -192,7 +207,8 @@ export default {
alertText: "", alertText: "",
loading: false, loading: false,
HisWorklistDialog: false, HisWorklistDialog: false,
selectedBrand: null selectedBrand: null,
search: ""
}; };
}, },
mounted() { mounted() {
...@@ -397,7 +413,6 @@ export default { ...@@ -397,7 +413,6 @@ export default {
let Brand = this.selectedItemInTable[0].Brand; let Brand = this.selectedItemInTable[0].Brand;
this.selectedBrand = Brand; this.selectedBrand = Brand;
this.HisWorklistDialog = true; this.HisWorklistDialog = true;
} }
}, },
meteor: { meteor: {
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
v-if="!$vuetify.rtl" v-if="!$vuetify.rtl"
>{{newOrEdit=="new"?$t("Users.newText"):$t("Users.editText")}} {{$t("Users.UserName")}}</span> >{{newOrEdit=="new"?$t("Users.newText"):$t("Users.editText")}} {{$t("Users.UserName")}}</span>
<template v-if="$vuetify.rtl"> <template v-if="$vuetify.rtl">
<span v-if="newOrEdit=='new'">{{$t("Users.UserName")}} {{$t("Users.newText")}} </span> <span v-if="newOrEdit=='new'">{{$t("Users.UserName")}} {{$t("Users.newText")}}</span>
<span v-if="newOrEdit=='edit'">{{$t("Users.editText")}} {{$t("Users.UserName")}}</span> <span v-if="newOrEdit=='edit'">{{$t("Users.editText")}} {{$t("Users.UserName")}}</span>
</template> </template>
</v-card-title> </v-card-title>
...@@ -111,23 +111,38 @@ ...@@ -111,23 +111,38 @@
</v-row> </v-row>
<v-row justify="center" dense class="flex-wrap mt-6"> <v-row justify="center" dense class="flex-wrap mt-6">
<v-col md="9" cols="12"> <v-col md="9" cols="12">
<v-data-table <v-card>
v-model="selectedItemInTable" <v-card-title>
:headers="headerOfTable" <v-spacer></v-spacer>
:items="itemsOfTable" <v-text-field
item-key="_id" v-model="search"
class="elevation-1" append-icon="search"
style="width:100%" label="Search"
fixed-header single-line
hide-default-footer hide-details
disable-pagination style="width:400px"
show-select class="flex-grow-0"
single-select ></v-text-field>
:sort-by.sync="sortByTable" </v-card-title>
:sort-desc.sync="sortDescTable" <v-data-table
height="73vh" v-model="selectedItemInTable"
@click:row="clickRow" :headers="headerOfTable"
></v-data-table> :items="itemsOfTable"
item-key="_id"
class="elevation-1"
style="width:100%"
fixed-header
hide-default-footer
disable-pagination
show-select
single-select
:sort-by.sync="sortByTable"
:sort-desc.sync="sortDescTable"
height="73vh"
@click:row="clickRow"
:search="search"
></v-data-table>
</v-card>
</v-col> </v-col>
</v-row> </v-row>
</v-container> </v-container>
...@@ -171,7 +186,8 @@ export default { ...@@ -171,7 +186,8 @@ export default {
showPassword2: false, showPassword2: false,
secondPass: null, secondPass: null,
secondPassAlert: false secondPassAlert: false,
search: ""
}; };
}, },
computed: { computed: {
......
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
:sort-by.sync="sortByTable" :sort-by.sync="sortByTable"
:sort-desc.sync="sortDescTable" :sort-desc.sync="sortDescTable"
height="61vh" height="61vh"
:search="search"
> >
<template v-slot:top> <template v-slot:top>
<div> <div>
...@@ -83,6 +84,16 @@ ...@@ -83,6 +84,16 @@
<strong>{{$t('WorkList.editBtn')}}</strong> <strong>{{$t('WorkList.editBtn')}}</strong>
</v-btn> </v-btn>
<v-divider class="mx-4" inset vertical></v-divider> <v-divider class="mx-4" inset vertical></v-divider>
<v-spacer></v-spacer>
<v-text-field
v-model="search"
append-icon="search"
label="Search"
single-line
hide-details
style="width:400px"
class="flex-grow-0"
></v-text-field>
<v-dialog v-model="editDialog" max-width="900px"> <v-dialog v-model="editDialog" max-width="900px">
<v-card class="grey lighten-4"> <v-card class="grey lighten-4">
...@@ -724,7 +735,8 @@ export default { ...@@ -724,7 +735,8 @@ export default {
FarsiLastNameParts2: "FarsiLastNameParts2" FarsiLastNameParts2: "FarsiLastNameParts2"
}, },
selectedItem: undefined, selectedItem: undefined,
sortedItems: undefined sortedItems: undefined,
search: ""
}), }),
computed: { computed: {
clientsItems() { clientsItems() {
...@@ -785,13 +797,13 @@ export default { ...@@ -785,13 +797,13 @@ export default {
worklist: function() { worklist: function() {
return [this.devicemap]; return [this.devicemap];
}, },
clients: [] clients: []
}, },
worklist() { worklist() {
return Worklist.find({}).fetch(); return Worklist.find({}).fetch();
}, },
clients() { clients() {
return Clients.find({}).fetch(); return Clients.find({}).fetch();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment