Merge pull request #19307 from eileenmcnaughton/534
[civicrm-core.git] / ext / search / ang / crmSearchAdmin / displays / searchAdminDisplayTable.component.js
index 706366cc1127ded16134dbc8dcd7df03f7c5f809..3dc937b70dc966c4f155704f7cbafbfdb0d65a1b 100644 (file)
@@ -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',
         ctrl.hiddenColumns.splice(index, 1);
       };
 
-      this.toggleLink = function(col) {
-        col.link = col.link ? '' : (window.location.pathname + window.location.search).replace('civicrm/admin/search', 'civicrm/');
-      };
-
       this.$onInit = function () {
-        ctrl.getFieldLabel = ctrl.crmSearchAdmin.getFieldLabel;
-        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);
-            }
-          });
+        if (!ctrl.display.settings) {
+          ctrl.display.settings = {
+            limit: 20,
+            pager: true
+          };
         }
+        ctrl.hiddenColumns = ctrl.crmSearchAdminDisplay.initColumns();
       };
 
     }