Skelital gui list page
authorColeman Watts <coleman@civicrm.org>
Sat, 9 Feb 2019 04:59:02 +0000 (23:59 -0500)
committerCiviCRM <info@civicrm.org>
Wed, 16 Sep 2020 02:13:17 +0000 (19:13 -0700)
ext/afform/gui/CRM/AfformGui/Page/Gui.php
ext/afform/gui/ang/afformGui/afformBuilder.html
ext/afform/gui/ang/afformGui/afformBuilder.js

index 545aaf73de9ae0a23aadc44b8b42121a1b4f37f7..8a10ab9ac017dfca838437007ebc44fe6fe8e79d 100644 (file)
@@ -8,7 +8,7 @@ class CRM_AfformGui_Page_Gui extends CRM_Core_Page {
     $loader->setModules(['afformGui']);
     $loader->setPageName('civicrm/admin/afform');
     $loader->useApp([
-      'defaultRoute' => '/build',
+      'defaultRoute' => '/list',
     ]);
     $loader->load();
     CRM_Utils_System::setTitle('CiviCRM');
index 27e9ba42a8bafd9512e3af7b6c3b26b77f4c7aa3..8647a08e91484031b006cfe419c5767b5a95170c 100644 (file)
@@ -1,4 +1,4 @@
 <div class="crm-container">
-  Hello!
+  <div crm-ui-debug="afform"></div>
 
 </div>
index cd440558ea46b3e3f38baa489dd464359d3eda8b..aeea181c0621091ed0b2354197b42699db784c50 100644 (file)
@@ -1,9 +1,17 @@
 (function(angular, $, _) {
 
   angular.module('afformGui').config(function($routeProvider) {
-    $routeProvider.when('/build', {
+    $routeProvider.when('/build/:afformName?', {
       controller: 'afformBuilder',
-      templateUrl: '~/afformGui/afformBuilder.html'
+      templateUrl: '~/afformGui/afformBuilder.html',
+      resolve: {
+        afform: function(crmApi4, $route) {
+          var name = $route.current.params.afformName;
+          if (name) {
+            return crmApi4('Afform', 'get', {where: [['name', '=', name]]});
+          }
+        }
+      }
     });
   });
 
   //   $scope -- This is the set of variables shared between JS and HTML.
   //   crmApi, crmStatus, crmUiHelp -- These are services provided by civicrm-core.
   //   myContact -- The current contact, defined above in config().
-  angular.module('afformGui').controller('afformBuilder', function($scope, crmApi4, crmStatus, crmUiHelp) {
+  angular.module('afformGui').controller('afformBuilder', function($scope, $routeParams, crmApi4, crmStatus, crmUiHelp, afform) {
     // The ts() and hs() functions help load strings for this module.
     var ts = $scope.ts = CRM.ts('afformGui');
     var hs = $scope.hs = crmUiHelp({file: 'CRM/AfformGui/afformBuilder'});
-
+    $scope.afform = afform;
 
   });