* - partials: array(string $relativeFilePath)
* A list of partial-HTML folders (relative to the extension).
* This will be mapped to "~/moduleName" by crmResource.
+ * - settings: array(string $key => mixed $value)
+ * List of settings to preload.
*/
protected $modules = NULL;
* - partials: array(string $relativeFilePath)
* A list of partial-HTML folders (relative to the extension).
* This will be mapped to "~/moduleName" by crmResource.
+ * - settings: array(string $key => mixed $value)
+ * List of settings to preload.
*/
public function getModules() {
if ($this->modules === NULL) {
+ $config = \CRM_Core_Config::singleton();
$angularModules = array();
$angularModules['angularFileUpload'] = array(
'js' => array('ang/crmAttachment.js'),
'css' => array('ang/crmAttachment.css'),
'partials' => array('ang/crmAttachment'),
+ 'settings' => array(
+ 'token' => \CRM_Core_Page_AJAX_Attachment::createToken(),
+ ),
);
$angularModules['crmAutosave'] = array(
'ext' => 'civicrm',
'js' => array('ang/crmAutosave.js'),
);
+ $angularModules['crmCxn'] = array(
+ 'ext' => 'civicrm',
+ 'js' => array('ang/crmCxn.js', 'ang/crmCxn/*.js'),
+ 'css' => array('ang/crmCxn.css'),
+ 'partials' => array('ang/crmCxn'),
+ );
//$angularModules['crmExample'] = array(
// 'ext' => 'civicrm',
// 'js' => array('ang/crmExample.js'),
'ext' => 'civicrm',
'js' => array('ang/crmUi.js'),
'partials' => array('ang/crmUi'),
+ 'settings' => array(
+ 'browseUrl' => $config->userFrameworkResourceURL . 'packages/kcfinder/browse.php',
+ 'uploadUrl' => $config->userFrameworkResourceURL . 'packages/kcfinder/upload.php',
+ ),
);
$angularModules['crmUtil'] = array(
'ext' => 'civicrm',
'ext' => 'civicrm',
'js' => array('bower_components/angular-route/angular-route.min.js'),
);
+ $angularModules['ngSanitize'] = array(
+ 'ext' => 'civicrm',
+ 'js' => array('bower_components/angular-sanitize/angular-sanitize.min.js'),
+ );
$angularModules['ui.utils'] = array(
'ext' => 'civicrm',
'js' => array('bower_components/angular-ui-utils/ui-utils.min.js'),
'js' => array('bower_components/angular-unsavedChanges/dist/unsavedChanges.min.js'),
);
+ $angularModules['statuspage'] = array(
+ 'ext' => 'civicrm',
+ 'js' => array('ang/crmStatusPage.js', 'ang/crmStatusPage/*.js'),
+ 'css' => array('ang/crmStatusPage.css'),
+ 'partials' => array('ang/crmStatusPage'),
+ 'settings' => array(),
+ );
+
foreach (\CRM_Core_Component::getEnabledComponents() as $component) {
$angularModules = array_merge($angularModules, $component->getAngularModules());
}
* @param string|array $moduleNames
* List of module names.
* @param string $resType
- * Type of resource ('js', 'css').
+ * Type of resource ('js', 'css', 'settings').
* @param string $refType
- * Type of reference to the resource ('cacheUrl', 'rawUrl', 'path').
+ * Type of reference to the resource ('cacheUrl', 'rawUrl', 'path', 'settings').
* @return array
* List of URLs or paths.
* @throws \CRM_Core_Exception
$result[] = $this->res->getUrl($module['ext'], $file, TRUE);
break;
+ case 'settings':
+ if (!empty($module[$resType])) {
+ $result[$moduleName] = $module[$resType];
+ }
+ break;
+
default:
throw new \CRM_Core_Exception("Unrecognized resource format");
}