From 3b66ad0c4c4fd744d3f5ca62938ddd7e6b21f716 Mon Sep 17 00:00:00 2001 From: kurund Date: Thu, 23 Jan 2014 17:06:29 -0800 Subject: [PATCH] add filter based on entity types for profile builder --- js/view/crm.designer.js | 21 +++++++++++++++++++++ templates/CRM/UF/Page/ProfileTemplates.tpl | 4 ++++ 2 files changed, 25 insertions(+) diff --git a/js/view/crm.designer.js b/js/view/crm.designer.js index 0098ca9b1e..fff8dacbd9 100644 --- a/js/view/crm.designer.js +++ b/js/view/crm.designer.js @@ -293,6 +293,7 @@ openTreeNodes: [], events: { 'keyup .crm-designer-palette-search input': 'doSearch', + 'change .crm-contact-types': 'doSetPaletteEntity', 'click .crm-designer-palette-clear-search': 'clearSearch', 'click .crm-designer-palette-toggle': 'toggleAll', 'click .crm-designer-palette-add button': 'doNewCustomFieldDialog', @@ -324,6 +325,22 @@ paletteView.model.getRel('ufEntityCollection').each(function(ufEntityModel){ _.each(ufEntityModel.getSections(), function(section, sectionKey){ + + // build filter select + if (sectionKey == 'default') { + paletteView.$('.crm-contact-types').append(''); + } + + if (!paletteView.selectedContactType) { + paletteView.selectedContactType = paletteView.$('.crm-contact-types option:first').val(); + } + // set selected option as default, since we are rebuilding palette + paletteView.$('.crm-contact-types').val(paletteView.selectedContactType).prop('selected','selected'); + + if (paletteView.selectedContactType != ufEntityModel.get('entity_name')) { + return true; + } + var entitySection = ufEntityModel.get('entity_name') + '-' + sectionKey; var items = []; if (paletteFieldsByEntitySection[entitySection]) { @@ -397,6 +414,10 @@ doSearch: function(event) { $('.crm-designer-palette-tree').jstree("search", $(event.target).val()); }, + doSetPaletteEntity: function(event) { + this.selectedContactType = $('.crm-contact-types :selected').val(); + this.render(); + }, doAddToCanvas: function(event) { var paletteFieldModel = this.model.getRel('paletteFieldCollection').get($(event.currentTarget).attr('data-plm-cid')); paletteFieldModel.addToUFCollection(this.model.getRel('ufFieldCollection')); diff --git a/templates/CRM/UF/Page/ProfileTemplates.tpl b/templates/CRM/UF/Page/ProfileTemplates.tpl index 32e9cc2bbc..0456c61482 100644 --- a/templates/CRM/UF/Page/ProfileTemplates.tpl +++ b/templates/CRM/UF/Page/ProfileTemplates.tpl @@ -25,6 +25,10 @@