Merge pull request #19001 from eileenmcnaughton/532
[civicrm-core.git] / ext / search / ang / crmSearchAdmin / displays / searchAdminDisplayTable.component.js
1 (function(angular, $, _) {
2 "use strict";
3
4 angular.module('crmSearchAdmin').component('searchAdminDisplayTable', {
5 bindings: {
6 display: '<',
7 apiEntity: '<',
8 apiParams: '<'
9 },
10 require: {
11 crmSearchAdminDisplay: '^crmSearchAdminDisplay'
12 },
13 templateUrl: '~/crmSearchAdmin/displays/searchAdminDisplayTable.html',
14 controller: function($scope, searchMeta) {
15 var ts = $scope.ts = CRM.ts(),
16 ctrl = this;
17 this.getFieldLabel = searchMeta.getDefaultLabel;
18
19 this.sortableOptions = {
20 connectWith: '.crm-search-admin-edit-columns',
21 containment: '.crm-search-admin-edit-columns-wrapper'
22 };
23
24 this.removeCol = function(index) {
25 ctrl.hiddenColumns.push(ctrl.display.settings.columns[index]);
26 ctrl.display.settings.columns.splice(index, 1);
27 };
28
29 this.restoreCol = function(index) {
30 ctrl.display.settings.columns.push(ctrl.hiddenColumns[index]);
31 ctrl.hiddenColumns.splice(index, 1);
32 };
33
34 this.$onInit = function () {
35 if (!ctrl.display.settings) {
36 ctrl.display.settings = {
37 limit: 20,
38 pager: true
39 };
40 }
41 ctrl.hiddenColumns = ctrl.crmSearchAdminDisplay.initColumns();
42 ctrl.links = ctrl.crmSearchAdminDisplay.getLinks();
43 };
44
45 }
46 });
47
48 })(angular, CRM.$, CRM._);