--- /dev/null
+<?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();
+ }
+
+}
if (empty($e['module'])) {
$e['module'] = E::LONG_NAME;
}
+ $entities[] = $e;
if (empty($e['params']['version'])) {
$e['params']['version'] = '3';
}
- $entities[] = $e;
}
}
}
--- /dev/null
+<?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'],
+];
--- /dev/null
+/* Add any CSS rules for Angular module "afformGui" */
--- /dev/null
+(function(angular, $, _) {
+ // Declare a list of dependencies.
+ angular.module('afformGui', CRM.angRequires('afformGui'));
+})(angular, CRM.$, CRM._);
--- /dev/null
+<div class="crm-container">
+ Hello!
+
+</div>
--- /dev/null
+(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._);
<?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>
--- /dev/null
+{* help for Angular afformGui *}
--- /dev/null
+<?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>