*/
function ts(text, params) {
"use strict";
- text = CRM.strings[text] || text;
+ var d = (params && params.domain) ? ('strings::' + params.domain) : null;
+ if (d && CRM[d] && CRM[d][text]) {
+ text = CRM[d][text];
+ }
+ else if (CRM['strings'][text]) {
+ text = CRM['strings'][text];
+ }
if (typeof(params) === 'object') {
for (var i in params) {
if (typeof(params[i]) === 'string' || typeof(params[i]) === 'number') {
*/
function on_load_init_blocks(showBlocks, hideBlocks, elementType) {
if (elementType == null) {
- var elementType = 'block';
+ elementType = 'block';
}
+ var myElement, i;
+
/* This loop is used to display the blocks whose IDs are present within the showBlocks array */
- for (var i = 0; i < showBlocks.length; i++) {
- var myElement = document.getElementById(showBlocks[i]);
+ for (i = 0; i < showBlocks.length; i++) {
+ myElement = document.getElementById(showBlocks[i]);
/* getElementById returns null if element id doesn't exist in the document */
if (myElement != null) {
myElement.style.display = elementType;
}
/* This loop is used to hide the blocks whose IDs are present within the hideBlocks array */
- for (var i = 0; i < hideBlocks.length; i++) {
- var myElement = document.getElementById(hideBlocks[i]);
+ for (i = 0; i < hideBlocks.length; i++) {
+ myElement = document.getElementById(hideBlocks[i]);
/* getElementById returns null if element id doesn't exist in the document */
if (myElement != null) {
myElement.style.display = 'none';
* @param invert Boolean - if true, we HIDE target on value match; if false, we SHOW target on value match
*/
function showHideByValue(trigger_field_id, trigger_value, target_element_id, target_element_type, field_type, invert) {
+ var target, j;
if (field_type == 'select') {
var trigger = trigger_value.split("|");
var selectedOptionValue = cj('#' + trigger_field_id).val();
- var target = target_element_id.split("|");
- for (var j = 0; j < target.length; j++) {
+ target = target_element_id.split("|");
+ for (j = 0; j < target.length; j++) {
if (invert) {
cj('#' + target[j]).show();
}
}
else {
if (field_type == 'radio') {
- var target = target_element_id.split("|");
- for (var j = 0; j < target.length; j++) {
+ target = target_element_id.split("|");
+ for (j = 0; j < target.length; j++) {
if (cj('[name="' + trigger_field_id + '"]:first').is(':checked')) {
if (invert) {
cj('#' + target[j]).hide();
if (endMsg) {
$msg.removeClass('status-start').addClass('status-' + status).find('.crm-status-box-msg').html(endMsg);
window.setTimeout(function() {
- $msg.fadeOut('slow', function() {$msg.remove()});
+ $msg.fadeOut('slow', function() {
+ $msg.remove();
+ });
}, 2000);
} else {
$msg.remove();
};
};
+ CRM.addStrings = function(domain, strings) {
+ var bucket = (domain == 'civicrm' ? 'strings' : 'strings::' + domain);
+ CRM[bucket] = CRM[bucket] || {};
+ _.extend(CRM[bucket], strings);
+ };
+
/**
* @see https://wiki.civicrm.org/confluence/display/CRMDOC/Notification+Reference
*/
var ele = $(this);
setTimeout(function () {
ele.one('change', function () {
- msg && msg.close && msg.close();
+ if (msg && msg.close) msg.close();
ele.removeClass('error');
label.removeClass('crm-error');
});
if (typeof(response.crmMessages) == 'object') {
$.each(response.crmMessages, function(n, msg) {
CRM.alert(msg.text, msg.title, msg.type, msg.options);
- })
+ });
}
if (response.backtrace) {
CRM.console('log', response.backtrace);