Skelital gui angular page
authorColeman Watts <coleman@civicrm.org>
Sat, 9 Feb 2019 02:33:33 +0000 (21:33 -0500)
committerCiviCRM <info@civicrm.org>
Wed, 16 Sep 2020 02:13:17 +0000 (19:13 -0700)
ext/afform/gui/CRM/AfformGui/Page/Gui.php [new file with mode: 0644]
ext/afform/gui/afform_gui.civix.php
ext/afform/gui/ang/afformGui.ang.php [new file with mode: 0644]
ext/afform/gui/ang/afformGui.css [new file with mode: 0644]
ext/afform/gui/ang/afformGui.js [new file with mode: 0644]
ext/afform/gui/ang/afformGui/afformBuilder.html [new file with mode: 0644]
ext/afform/gui/ang/afformGui/afformBuilder.js [new file with mode: 0644]
ext/afform/gui/info.xml
ext/afform/gui/templates/CRM/AfformGui/Page/Gui.tpl [new file with mode: 0644]
ext/afform/gui/templates/CRM/AfformGui/afformBuilder.hlp [new file with mode: 0644]
ext/afform/gui/xml/Menu/afform_gui.xml [new file with mode: 0644]

diff --git a/ext/afform/gui/CRM/AfformGui/Page/Gui.php b/ext/afform/gui/CRM/AfformGui/Page/Gui.php
new file mode 100644 (file)
index 0000000..545aaf7
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+use CRM_AfformGui_ExtensionUtil as E;
+
+class CRM_AfformGui_Page_Gui extends CRM_Core_Page {
+
+  public function run() {
+    $loader = new \Civi\Angular\AngularLoader();
+    $loader->setModules(['afformGui']);
+    $loader->setPageName('civicrm/admin/afform');
+    $loader->useApp([
+      'defaultRoute' => '/build',
+    ]);
+    $loader->load();
+    CRM_Utils_System::setTitle('CiviCRM');
+    parent::run();
+  }
+
+}
index 483d910ffc90d5fc84ae4d52012dc28a085b1b69..0188d1cb97502b43e7a186788e60e869ce3c0e79 100644 (file)
@@ -269,10 +269,10 @@ function _afform_gui_civix_civicrm_managed(&$entities) {
       if (empty($e['module'])) {
         $e['module'] = E::LONG_NAME;
       }
+      $entities[] = $e;
       if (empty($e['params']['version'])) {
         $e['params']['version'] = '3';
       }
-      $entities[] = $e;
     }
   }
 }
diff --git a/ext/afform/gui/ang/afformGui.ang.php b/ext/afform/gui/ang/afformGui.ang.php
new file mode 100644 (file)
index 0000000..a01ab9f
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+// This file declares an Angular module which can be autoloaded
+
+return [
+  'js' => [
+    'ang/afformGui.js',
+    'ang/afformGui/*.js',
+    'ang/afformGui/*/*.js',
+  ],
+  'css' => ['ang/afformGui.css'],
+  'partials' => ['ang/afformGui'],
+  'settings' => [],
+  'requires' => ['crmUi', 'crmUtil', 'ngRoute', 'ui.sortable', 'api4'],
+];
diff --git a/ext/afform/gui/ang/afformGui.css b/ext/afform/gui/ang/afformGui.css
new file mode 100644 (file)
index 0000000..9e2005c
--- /dev/null
@@ -0,0 +1 @@
+/* Add any CSS rules for Angular module "afformGui" */
diff --git a/ext/afform/gui/ang/afformGui.js b/ext/afform/gui/ang/afformGui.js
new file mode 100644 (file)
index 0000000..24706af
--- /dev/null
@@ -0,0 +1,4 @@
+(function(angular, $, _) {
+  // Declare a list of dependencies.
+  angular.module('afformGui', CRM.angRequires('afformGui'));
+})(angular, CRM.$, CRM._);
diff --git a/ext/afform/gui/ang/afformGui/afformBuilder.html b/ext/afform/gui/ang/afformGui/afformBuilder.html
new file mode 100644 (file)
index 0000000..27e9ba4
--- /dev/null
@@ -0,0 +1,4 @@
+<div class="crm-container">
+  Hello!
+
+</div>
diff --git a/ext/afform/gui/ang/afformGui/afformBuilder.js b/ext/afform/gui/ang/afformGui/afformBuilder.js
new file mode 100644 (file)
index 0000000..cd44055
--- /dev/null
@@ -0,0 +1,22 @@
+(function(angular, $, _) {
+
+  angular.module('afformGui').config(function($routeProvider) {
+    $routeProvider.when('/build', {
+      controller: 'afformBuilder',
+      templateUrl: '~/afformGui/afformBuilder.html'
+    });
+  });
+
+  // The controller uses *injection*. This default injects a few things:
+  //   $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) {
+    // 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'});
+
+
+  });
+
+})(angular, CRM.$, CRM._);
index 45f68277b5094c4f7df4170642a38cdcd81ad544..964c522028716b18475f66b068170aa67aaac3fe 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <extension key="org.civicrm.afform-gui" type="module">
   <file>afform_gui</file>
-  <name>FIXME</name>
+  <name>Civi Form Builder</name>
   <description>FIXME</description>
   <license>AGPL-3.0</license>
   <maintainer>
     <ver>5.0</ver>
   </compatibility>
   <comments>This is a new, undeveloped module</comments>
+  <requires>
+    <ext>org.civicrm.afform</ext>
+    <ext>org.civicrm.api4</ext>
+  </requires>
   <civix>
     <namespace>CRM/AfformGui</namespace>
   </civix>
diff --git a/ext/afform/gui/templates/CRM/AfformGui/Page/Gui.tpl b/ext/afform/gui/templates/CRM/AfformGui/Page/Gui.tpl
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ext/afform/gui/templates/CRM/AfformGui/afformBuilder.hlp b/ext/afform/gui/templates/CRM/AfformGui/afformBuilder.hlp
new file mode 100644 (file)
index 0000000..55a904c
--- /dev/null
@@ -0,0 +1 @@
+{* help for Angular afformGui *}
diff --git a/ext/afform/gui/xml/Menu/afform_gui.xml b/ext/afform/gui/xml/Menu/afform_gui.xml
new file mode 100644 (file)
index 0000000..b13ee53
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<menu>
+  <item>
+    <path>civicrm/admin/afform</path>
+    <page_callback>CRM_AfformGui_Page_Gui</page_callback>
+    <title>Gui</title>
+    <access_arguments>access CiviCRM</access_arguments>
+  </item>
+</menu>