Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ext.define('Majelis.controller.Member', {
- extend: 'Majelis.controller.Base',
- config: {
- refs: {
- container: 'member',
- member: 'member list',
- search: 'member searchfield',
- memberDetail: 'member-detail'
- },
- control: {
- container: {
- push: 'onMemberPush',
- pop: 'onMemberPop'
- },
- member: {
- itemtap: 'onLoadMember'
- },
- search: {
- keyup: 'onSearch',
- clearicontap: 'onSearchClear'
- }
- }
- },
- onSearch: function (me, evt) {
- var value = me.getValue();
- var store = this.getMember().getStore();
- store.clearFilter(!!value);
- if (value) {
- var searches = value.split(',');
- var regexps = [];
- var i;
- var regex;
- for (i = 0; i < searches.length; i++) {
- if (! searches[i]) continue;
- regex = searches[i].trim();
- regex = regex.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
- regexps.push(new RegExp(regex.trim(), 'i'));
- }
- store.filter(function(record) {
- var matched = [];
- for (i = 0; i < regexps.length; i++) {
- var search = regexps[i];
- var didMatch = search.test(record.get('full_name'));
- matched.push(didMatch);
- }
- return (regexps.length && matched.indexOf(true) !== -1);
- });
- }
- },
- onSearchClear: function() {
- this.getMember().getStore().clearFilter();
- },
- onLoadMember: function(me, index, node, record) {
- this.memberDetail = Ext.create('Majelis.view.member.Detail');
- this.memberDetail.setRecord(record);
- this.getContainer().push(this.memberDetail);
- },
- onMemberPush: function() {
- if (this.getSearch().isHidden()) {
- return;
- }
- this.getSearch().hide();
- },
- onMemberPop: function() {
- if (! this.getSearch().isHidden()) {
- return;
- }
- this.getSearch().show();
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement