crmQueueMonitor - Skeletal module
authorTim Otten <totten@civicrm.org>
Tue, 7 Jun 2022 00:31:57 +0000 (17:31 -0700)
committerTim Otten <totten@civicrm.org>
Thu, 9 Jun 2022 23:40:57 +0000 (16:40 -0700)
Civi/Angular/Manager.php
ang/crmQueueMonitor.ang.php [new file with mode: 0644]
ang/crmQueueMonitor.js [new file with mode: 0644]

index 6c7cde0b2a83dd56c9ccfcdf2891b304960fbf8c..79883b8552f2b860e537b6115c8f857f6e9640f1 100644 (file)
@@ -121,6 +121,7 @@ class Manager {
       $angularModules['ui.bootstrap'] = include "$civicrm_root/ang/ui.bootstrap.ang.php";
       $angularModules['ui.sortable'] = include "$civicrm_root/ang/ui.sortable.ang.php";
       $angularModules['unsavedChanges'] = include "$civicrm_root/ang/unsavedChanges.ang.php";
+      $angularModules['crmQueueMonitor'] = include "$civicrm_root/ang/crmQueueMonitor.ang.php";
       $angularModules['crmStatusPage'] = include "$civicrm_root/ang/crmStatusPage.ang.php";
       $angularModules['exportui'] = include "$civicrm_root/ang/exportui.ang.php";
       $angularModules['api4Explorer'] = include "$civicrm_root/ang/api4Explorer.ang.php";
diff --git a/ang/crmQueueMonitor.ang.php b/ang/crmQueueMonitor.ang.php
new file mode 100644 (file)
index 0000000..cbafd98
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+return [
+  'ext' => 'civicrm',
+  'js' => [
+    'ang/crmQueueMonitor.js',
+    // 'ang/crmQueueMonitor/*.js',
+    // 'ang/crmQueueMonitor/*/*.js',
+  ],
+  // 'css' => ['ang/crmQueueMonitor.css'],
+  // 'partials' => ['ang/crmQueueMonitor'],
+  'requires' => ['crmUi', 'crmUtil'],
+  'basePages' => [],
+  'exports' => [
+    'crm-queue-monitor' => 'E',
+  ],
+];
diff --git a/ang/crmQueueMonitor.js b/ang/crmQueueMonitor.js
new file mode 100644 (file)
index 0000000..e3f878f
--- /dev/null
@@ -0,0 +1,27 @@
+(function (angular, $, _) {
+  "use strict";
+
+  console.log('init crmQueueMonitor module');
+  angular.module('crmQueueMonitor', CRM.angRequires('crmQueueMonitor'));
+
+  // "crmQueueMonitor" displays the status of a queue
+  // Example usage: <div crm-queue-monitor queue="foobar"></div>
+  // If "queue" is omitted, then inherit `CRM.vars.crmQueueMonitor.default`.
+  angular.module('crmQueueMonitor').component('crmQueueMonitor', {
+    // templateUrl: '~/crmQueueMonitor/Monitor.html',
+    template: '<div>TODO: Monitor "{{$ctrl.queue}}"</div>',
+    bindings: {
+      queue: '<'
+    },
+    controller: function($scope) {
+      var ts = $scope.ts = CRM.ts(null),
+        ctrl = this;
+
+      console.log('init crmQueueMonitor component for ', ctrl.queue);
+
+      // this.$onInit = function() {
+      // };
+    }
+  });
+
+})(angular, CRM.$, CRM._);