X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=ext%2Fsearch%2Fang%2FcrmSearchAdmin%2Fdisplays%2FsearchAdminDisplayTable.component.js;h=3dc937b70dc966c4f155704f7cbafbfdb0d65a1b;hb=f0dcef9d944cfbfd16a286140afdcfc66e3d8202;hp=78fb6450da2c74747f69a20f47a2f7ce6eaea8e9;hpb=d1eed91c218f4c285a535275e36732f68463824b;p=civicrm-core.git diff --git a/ext/search/ang/crmSearchAdmin/displays/searchAdminDisplayTable.component.js b/ext/search/ang/crmSearchAdmin/displays/searchAdminDisplayTable.component.js index 78fb6450da..3dc937b70d 100644 --- a/ext/search/ang/crmSearchAdmin/displays/searchAdminDisplayTable.component.js +++ b/ext/search/ang/crmSearchAdmin/displays/searchAdminDisplayTable.component.js @@ -8,21 +8,13 @@ apiParams: '<' }, require: { - crmSearchAdmin: '^crmSearchAdmin' + crmSearchAdminDisplay: '^crmSearchAdminDisplay' }, templateUrl: '~/crmSearchAdmin/displays/searchAdminDisplayTable.html', controller: function($scope, searchMeta) { var ts = $scope.ts = CRM.ts(), ctrl = this; - - function fieldToColumn(fieldExpr) { - var info = searchMeta.parseExpr(fieldExpr); - return { - expr: fieldExpr, - label: ctrl.getFieldLabel(fieldExpr), - dataType: (info.fn && info.fn.name === 'COUNT') ? 'Integer' : info.field.data_type - }; - } + this.getFieldLabel = searchMeta.getDefaultLabel; this.sortableOptions = { connectWith: '.crm-search-admin-edit-columns', @@ -40,41 +32,13 @@ }; this.$onInit = function () { - ctrl.getFieldLabel = ctrl.crmSearchAdmin.getFieldLabel; if (!ctrl.display.settings) { ctrl.display.settings = { limit: 20, pager: true }; } - if (!ctrl.display.settings.columns) { - ctrl.display.settings.columns = _.transform(ctrl.apiParams.select, function(columns, fieldExpr) { - columns.push(fieldToColumn(fieldExpr)); - }); - ctrl.hiddenColumns = []; - } else { - var activeColumns = _.collect(ctrl.display.settings.columns, 'expr'); - ctrl.hiddenColumns = _.transform(ctrl.apiParams.select, function(hiddenColumns, fieldExpr) { - if (!_.includes(activeColumns, fieldExpr)) { - hiddenColumns.push(fieldToColumn(fieldExpr)); - } - }); - _.each(activeColumns, function(fieldExpr, index) { - if (!_.includes(ctrl.apiParams.select, fieldExpr)) { - ctrl.display.settings.columns.splice(index, 1); - } - }); - } - ctrl.links = _.cloneDeep(searchMeta.getEntity(ctrl.apiEntity).paths || []); - _.each(ctrl.apiParams.join, function(join) { - var joinName = join[0].split(' AS '), - joinEntity = searchMeta.getEntity(joinName[0]); - _.each(joinEntity.paths, function(path) { - var link = _.cloneDeep(path); - link.path = link.path.replace(/\[/g, '[' + joinName[1] + '.'); - ctrl.links.push(link); - }); - }); + ctrl.hiddenColumns = ctrl.crmSearchAdminDisplay.initColumns(); }; }