diff --git a/ang/crmContactcats.ang.php b/ang/crmContactcats.ang.php index b35d1e7..61ff161 100644 --- a/ang/crmContactcats.ang.php +++ b/ang/crmContactcats.ang.php @@ -20,4 +20,8 @@ return [ 'api4', ], 'settings' => [], + 'basePages' => ['civicrm/search', 'civicrm/admin/search'], + 'exports' => [ + 'contactcats_category_display' => 'E', + ], ]; diff --git a/ang/crmSearchDisplayContactCat.ang.php b/ang/crmSearchDisplayContactCat.ang.php new file mode 100644 index 0000000..8abd092 --- /dev/null +++ b/ang/crmSearchDisplayContactCat.ang.php @@ -0,0 +1,22 @@ + [ + 'ang/crmSearchDisplayContactCat.js', + 'ang/crmSearchDisplayContactCat/*.js', + // 'ang/crmSearchDisplayContactCat/*/*.js', + ], + 'css' => [ + 'ang/crmSearchDisplayContactCat.css', + ], + 'partials' => [ + 'ang/crmSearchDisplayContactCat', + ], + 'requires' => ['crmUi', 'crmUtil', 'ngRoute'], + 'settings' => [], + 'basePages' => ['civicrm/search', 'civicrm/admin/search'], + 'exports' => ['crmSearchAdminDisplayContactCat', 'crmSearchDisplayContactCat'], +]; diff --git a/ang/crmSearchDisplayContactCat.css b/ang/crmSearchDisplayContactCat.css new file mode 100644 index 0000000..3e97d42 --- /dev/null +++ b/ang/crmSearchDisplayContactCat.css @@ -0,0 +1 @@ +/* Add any CSS rules for Angular module "crmContactcats" */ diff --git a/ang/crmSearchDisplayContactCat.js b/ang/crmSearchDisplayContactCat.js new file mode 100644 index 0000000..3986962 --- /dev/null +++ b/ang/crmSearchDisplayContactCat.js @@ -0,0 +1,73 @@ +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._); diff --git a/ang/crmSearchDisplayContactCat/crmSearchDisplayContactCat.html b/ang/crmSearchDisplayContactCat/crmSearchDisplayContactCat.html new file mode 100644 index 0000000..49fd2a9 --- /dev/null +++ b/ang/crmSearchDisplayContactCat/crmSearchDisplayContactCat.html @@ -0,0 +1,18 @@ +
This is the crmSearchDisplayContactCat thing
+