From 0991d162ca4519b1d7f7d0b0a46da45ae5fdcdbf Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Fri, 8 Feb 2019 21:33:33 -0500 Subject: [PATCH] Skelital gui angular page --- ext/afform/gui/CRM/AfformGui/Page/Gui.php | 18 +++++++++++++++ ext/afform/gui/afform_gui.civix.php | 2 +- ext/afform/gui/ang/afformGui.ang.php | 14 ++++++++++++ ext/afform/gui/ang/afformGui.css | 1 + ext/afform/gui/ang/afformGui.js | 4 ++++ .../gui/ang/afformGui/afformBuilder.html | 4 ++++ ext/afform/gui/ang/afformGui/afformBuilder.js | 22 +++++++++++++++++++ ext/afform/gui/info.xml | 6 ++++- .../gui/templates/CRM/AfformGui/Page/Gui.tpl | 0 .../templates/CRM/AfformGui/afformBuilder.hlp | 1 + ext/afform/gui/xml/Menu/afform_gui.xml | 9 ++++++++ 11 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 ext/afform/gui/CRM/AfformGui/Page/Gui.php create mode 100644 ext/afform/gui/ang/afformGui.ang.php create mode 100644 ext/afform/gui/ang/afformGui.css create mode 100644 ext/afform/gui/ang/afformGui.js create mode 100644 ext/afform/gui/ang/afformGui/afformBuilder.html create mode 100644 ext/afform/gui/ang/afformGui/afformBuilder.js create mode 100644 ext/afform/gui/templates/CRM/AfformGui/Page/Gui.tpl create mode 100644 ext/afform/gui/templates/CRM/AfformGui/afformBuilder.hlp create mode 100644 ext/afform/gui/xml/Menu/afform_gui.xml diff --git a/ext/afform/gui/CRM/AfformGui/Page/Gui.php b/ext/afform/gui/CRM/AfformGui/Page/Gui.php new file mode 100644 index 0000000000..545aaf73de --- /dev/null +++ b/ext/afform/gui/CRM/AfformGui/Page/Gui.php @@ -0,0 +1,18 @@ +setModules(['afformGui']); + $loader->setPageName('civicrm/admin/afform'); + $loader->useApp([ + 'defaultRoute' => '/build', + ]); + $loader->load(); + CRM_Utils_System::setTitle('CiviCRM'); + parent::run(); + } + +} diff --git a/ext/afform/gui/afform_gui.civix.php b/ext/afform/gui/afform_gui.civix.php index 483d910ffc..0188d1cb97 100644 --- a/ext/afform/gui/afform_gui.civix.php +++ b/ext/afform/gui/afform_gui.civix.php @@ -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 index 0000000000..a01ab9f769 --- /dev/null +++ b/ext/afform/gui/ang/afformGui.ang.php @@ -0,0 +1,14 @@ + [ + '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 index 0000000000..9e2005c627 --- /dev/null +++ b/ext/afform/gui/ang/afformGui.css @@ -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 index 0000000000..24706af403 --- /dev/null +++ b/ext/afform/gui/ang/afformGui.js @@ -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 index 0000000000..27e9ba42a8 --- /dev/null +++ b/ext/afform/gui/ang/afformGui/afformBuilder.html @@ -0,0 +1,4 @@ +
+ Hello! + +
diff --git a/ext/afform/gui/ang/afformGui/afformBuilder.js b/ext/afform/gui/ang/afformGui/afformBuilder.js new file mode 100644 index 0000000000..cd440558ea --- /dev/null +++ b/ext/afform/gui/ang/afformGui/afformBuilder.js @@ -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._); diff --git a/ext/afform/gui/info.xml b/ext/afform/gui/info.xml index 45f68277b5..964c522028 100644 --- a/ext/afform/gui/info.xml +++ b/ext/afform/gui/info.xml @@ -1,7 +1,7 @@ afform_gui - FIXME + Civi Form Builder FIXME AGPL-3.0 @@ -21,6 +21,10 @@ 5.0 This is a new, undeveloped module + + org.civicrm.afform + org.civicrm.api4 + CRM/AfformGui 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 index 0000000000..e69de29bb2 diff --git a/ext/afform/gui/templates/CRM/AfformGui/afformBuilder.hlp b/ext/afform/gui/templates/CRM/AfformGui/afformBuilder.hlp new file mode 100644 index 0000000000..55a904ca6d --- /dev/null +++ b/ext/afform/gui/templates/CRM/AfformGui/afformBuilder.hlp @@ -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 index 0000000000..b13ee53569 --- /dev/null +++ b/ext/afform/gui/xml/Menu/afform_gui.xml @@ -0,0 +1,9 @@ + + + + civicrm/admin/afform + CRM_AfformGui_Page_Gui + Gui + access CiviCRM + + -- 2.25.1