contactcats/ang/crmSearchDisplayContactCat.js
2025-02-28 21:55:32 +00:00

73 lines
2.7 KiB
JavaScript

console.log(123);
// see https://docs.civicrm.org/dev/en/latest/searchkit/displays/
(function(angular, $, _) {
// Declare a list of dependencies.
angular.module('crmSearchDisplayContactCat', CRM.angRequires('crmSearchDisplayContactCat'));
// angular.module('crmContactcats').component();
// This is to be the display
// NOTE: the component name is {CamelCaseNameFromOptionValue}
// Standard seems to be to name crmSearchDisplay{YourName}
angular.module("crmSearchDisplayContactCat").component("crmSearchDisplayContactCat", {
templateUrl: "~/crmSearchDisplayContactCat/crmSearchDisplayContactCat.html",
bindings: {
apiEntity: '@',
search: '<',
display: '<',
apiParams: '<',
settings: '<',
filters: '<',
totalCount: '=?'
},
// controller: function($scope, $timeout, crmApi4, crmStatus, $document) {
controller: function($scope, $element, searchDisplayBaseTrait, searchDisplayTasksTrait) {
// Mix in required traits
ctrl = angular.extend(this, _.cloneDeep(searchDisplayBaseTrait), _.cloneDeep(searchDisplayTasksTrait));
console.log("hello display");
var ts = ($scope.ts = CRM.ts(null)),
ctrl = this;
// this.$onInit gets run after the this controller is called, and after the bindings have been applied.
this.$onInit = function() {
console.log("calling initializeDisplay");
this.initializeDisplay($scope, $element);
};
}
});
// This is to be the admin settings for the display
// NOTE: the component name is 'searchAdminDisplay'{CamelCaseValueFromOptionValue}
angular.module("crmSearchDisplayContactCat").component("searchAdminDisplayContactCat", {
templateUrl: "~/crmSearchDisplayContactCat/searchAdminDisplayContactCat.html",
bindings: {
display: '<',
apiEntity: '<',
apiParams: '<'
},
require: {
parent: '^crmSearchAdminDisplay'
},
controller: function($scope, searchMeta, crmUiHelp) {
console.log("hello admin");
let ctrl = this;
// var ts = ($scope.ts = CRM.ts(null)),
// ctrl = this;
this.getColTypes = function() {
return ctrl.parent.colTypes;
};
// this.$onInit gets run after the this controller is called, and after the bindings have been applied.
this.$onInit = async function() {
if (!ctrl.display.settings) {
console.log("applying display.settings as was nonwl");
ctrl.display.settings = {
something: 'nothing',
limit: ctrl.parent.getDefaultLimit(),
sort: ctrl.parent.getDefaultSort(),
pager: {}
};
}
ctrl.parent.initColumns({});
};
}});
})(angular, CRM.$, CRM._);