New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hmpo-template-mixins

Package Overview
Dependencies
Maintainers
4
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hmpo-template-mixins - npm Package Compare versions

Comparing version

to
3.5.0

18

lib/template-mixins.js

@@ -87,3 +87,4 @@ 'use strict';

var conditionaltranslate = function (key) {
// Like t() but returns null on failed translations
var conditionalTranslate = function (key) {
key = sharedTranslationsKey + key;

@@ -94,6 +95,13 @@ var translated = translate(key);

var getTranslationKey = function (key, property) {
return fields && fields[key] && fields[key][property] ? fields[key][property] : 'fields.' + key + '.' + property;
};
function inputText(key, extension) {
var hKey = getTranslationKey(key, 'hint');
var lKey = getTranslationKey(key, 'label');
var hint = conditionalTranslate(hKey);
extension = extension || {};
var hint = conditionaltranslate('fields.' + key + '.hint');
var fieldLabel = fields && fields[key] ? fields[key].label : false;
return _.extend(extension, {

@@ -104,3 +112,3 @@ id: key,

value: this.values && this.values[key],
label: t(fieldLabel || 'fields.' + key + '.label'),
label: t(lKey),
labelClassName: classNames(key, 'labelClassName') || 'form-label-bold',

@@ -135,3 +143,3 @@ hint: hint,

'legendClassName': legendClassName,
hint: conditionaltranslate('fields.' + key + '.hint'),
hint: conditionalTranslate(getTranslationKey(key, 'hint')),
'options': _.map(fields[key] && fields[key].options, function (obj) {

@@ -138,0 +146,0 @@ var selected = false, label, value, toggle;

{
"name": "hmpo-template-mixins",
"version": "3.4.0",
"version": "3.5.0",
"description": "A middleware that exposes a series of Mustache mixins on res.locals to ease usage of forms, translations, and some general needs.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -68,2 +68,27 @@ var mixins = require('../lib/template-mixins');

it('looks up default field label if nothing is set', function () {
middleware = mixins({
'field-name': {
}
});
middleware(req, res, next);
res.locals['input-text']().call(res.locals, 'field-name');
render.should.have.been.calledWith(sinon.match({
label: 'fields.field-name.label'
}));
});
it('uses label when available for the field', function () {
middleware = mixins({
'field-name': {
label: 'Label text'
}
});
middleware(req, res, next);
res.locals['input-text']().call(res.locals, 'field-name');
render.should.have.been.calledWith(sinon.match({
label: 'Label text'
}));
});
it('prefixes translation lookup with namespace if provided', function () {

@@ -107,3 +132,3 @@ middleware = mixins({}, { translate: translate, sharedTranslationsKey: 'name.space' });

it('uses locales translation property', function () {
var translate = sinon.stub().withArgs({'label': 'field-name.label'}).returns('Field name');
var translate = sinon.stub().withArgs('field-name.label').returns('Field name');
middleware = mixins({

@@ -121,7 +146,20 @@ 'field-name': {

it('includes a hint if it is defined in the locales', function () {
var translate = sinon.stub().withArgs('field-name.hint').returns('Field hint');
middleware = mixins({
'field-name': {
}
}, { translate: translate });
middleware(req, res, next);
res.locals['input-text']().call(res.locals, 'field-name');
render.should.have.been.calledWith(sinon.match({
hint: 'Field hint'
}));
});
it('includes a hint if it is defined in translation', function () {
var translate = sinon.stub().withArgs({'label': 'field-name.hint'}).returns('Field hint');
var translate = sinon.stub().withArgs('field-name.hint').returns('Field hint');
middleware = mixins({
'field-name': {
'label': 'field-name.label'
'hint': 'field-name.hint'
}

@@ -139,3 +177,3 @@ }, { translate: translate });

'field-name': {
'label': 'field-name.label'
'hint': 'field-name.hint'
}

@@ -449,3 +487,3 @@ }, { translate: translate });

it('uses locales translation property', function () {
var translate = sinon.stub().withArgs({'label': 'field-name.label'}).returns('Field name');
var translate = sinon.stub().withArgs('field-name.label').returns('Field name');
middleware = mixins({

@@ -555,3 +593,3 @@ 'field-name': {

it('uses locales translation property', function () {
var translate = sinon.stub().withArgs({'label': 'field-name.label'}).returns('Field name');
var translate = sinon.stub().withArgs('field-name.label').returns('Field name');
middleware = mixins({

@@ -681,4 +719,4 @@ 'field-name': {

it('adds a hint if it exists in locales', function () {
translate = sinon.stub().withArgs('field.field-name.hint').returns('Field hint');
it('uses locales translation for hint if a field value isn\'t provided', function () {
translate = sinon.stub().withArgs('fields.field-name.hint').returns('Field hint');
middleware = mixins({

@@ -685,0 +723,0 @@ 'field-name': {}