From 534740dc86f140140bead8afaf233fb40a70c1c1 Mon Sep 17 00:00:00 2001 From: Damien Pobel Date: Thu, 23 Jun 2016 17:04:15 +0200 Subject: [PATCH 01/10] EZP-25323: Provide the locales conversion map to the JavaScript application --- ApplicationConfig/Providers/LocalesMap.php | 26 +++++++++++++++++++ Resources/config/services.yml | 8 ++++++ .../Providers/LocalesMapTest.php | 20 ++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 ApplicationConfig/Providers/LocalesMap.php create mode 100644 Tests/ApplicationConfig/Providers/LocalesMapTest.php diff --git a/ApplicationConfig/Providers/LocalesMap.php b/ApplicationConfig/Providers/LocalesMap.php new file mode 100644 index 000000000..7c97717ab --- /dev/null +++ b/ApplicationConfig/Providers/LocalesMap.php @@ -0,0 +1,26 @@ +eZToPosixMap = $localesMap; + } + + public function getConfig() + { + return array_flip($this->eZToPosixMap); + } +} diff --git a/Resources/config/services.yml b/Resources/config/services.yml index f2896206c..a62f8f7be 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -18,6 +18,7 @@ parameters: ezsystems.platformui.application_config.provider.session_info.class: EzSystems\PlatformUIBundle\ApplicationConfig\Providers\SessionInfo ezsystems.platformui.application_config.provider.value.class: EzSystems\PlatformUIBundle\ApplicationConfig\Providers\Value ezsystems.platformui.application_config.provider.anonymous_user_id.class: EzSystems\PlatformUIBundle\ApplicationConfig\Providers\AnonymousUserId + ezsystems.platformui.application_config.provider.locales_map.class: EzSystems\PlatformUIBundle\ApplicationConfig\Providers\LocalesMap ezsystems.platformui.application_config.aggregator.class: EzSystems\PlatformUIBundle\ApplicationConfig\Aggregator ezsystems.platformui.application_config.provider.root_info.class: EzSystems\PlatformUIBundle\ApplicationConfig\Providers\RootInfo ezsystems.platformui.application_config.provider.languages.class: EzSystems\PlatformUIBundle\ApplicationConfig\Providers\Languages @@ -81,6 +82,13 @@ services: tags: - {name: ezsystems.platformui.application_config_provider, key: 'countriesInfo'} + ezsystems.platformui.application_config.provider.locales_map: + class: %ezsystems.platformui.application_config.provider.locales_map.class% + arguments: + - %ezpublish.locale.conversion_map% + tags: + - {name: ezsystems.platformui.application_config_provider, key: 'localesMap'} + ezsystems.platformui.application_config.provider.image_variations: class: %ezsystems.platformui.application_config.provider.value.class% arguments: diff --git a/Tests/ApplicationConfig/Providers/LocalesMapTest.php b/Tests/ApplicationConfig/Providers/LocalesMapTest.php new file mode 100644 index 000000000..f17db7cab --- /dev/null +++ b/Tests/ApplicationConfig/Providers/LocalesMapTest.php @@ -0,0 +1,20 @@ + 'en_EN', 'fre-FR' => 'fr_FR']); + self::assertEquals( + ['en_EN' => 'eng-GB', 'fr_FR' => 'fre-FR'], + $provider->getConfig() + ); + } +} From 4bfd46dc47e0513c80b18f7f2e3f010d995e6b25 Mon Sep 17 00:00:00 2001 From: Damien Pobel Date: Thu, 23 Jun 2016 17:15:01 +0200 Subject: [PATCH 02/10] EZP-25323: Dispatch the localesMap config to the corresponding app attribute --- Resources/public/js/apps/ez-platformuiapp.js | 18 ++++++++++++++++++ Tests/js/apps/assets/ez-platformuiapp-tests.js | 17 ++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/Resources/public/js/apps/ez-platformuiapp.js b/Resources/public/js/apps/ez-platformuiapp.js index 5d39b63d4..28b70089c 100644 --- a/Resources/public/js/apps/ez-platformuiapp.js +++ b/Resources/public/js/apps/ez-platformuiapp.js @@ -210,6 +210,10 @@ YUI.add('ez-platformuiapp', function (Y) { this._set('anonymousUserId', config.anonymousUserId); delete config.anonymousUserId; } + if ( config.localesMap ) { + this._set('localesMap', config.localesMap); + delete config.localesMap; + } this._set('capi', new Y.eZ.CAPI( this.get('apiRoot').replace(/\/{1,}$/, ''), @@ -1049,6 +1053,20 @@ YUI.add('ez-platformuiapp', function (Y) { readOnly: true, value: "eng-GB" }, + + /** + * Holds the Locales conversion map between eZ Locale codes and + * POSIX ones. See locale.yml + * + * @attribute localesMap + * @type {Object} + * @readOnly + * @default {} + */ + localesMap: { + readOnly: true, + value: {}, + }, } }); }); diff --git a/Tests/js/apps/assets/ez-platformuiapp-tests.js b/Tests/js/apps/assets/ez-platformuiapp-tests.js index 66fcc3911..565b73cb8 100644 --- a/Tests/js/apps/assets/ez-platformuiapp-tests.js +++ b/Tests/js/apps/assets/ez-platformuiapp-tests.js @@ -1931,6 +1931,7 @@ YUI.add('ez-platformuiapp-tests', function (Y) { 'pol-PL': {'languageCode': 'pol-PL', 'name': 'Polish'} }; this.defaultLanguageCode = 'eng-GB'; + this.localesMap = {'fr_FR': 'fre-FR'}; Y.eZ.CAPI = Y.bind(function (apiRoot, sessionAuthAgent) { Assert.areEqual( this.apiRoot, apiRoot, @@ -1961,7 +1962,8 @@ YUI.add('ez-platformuiapp-tests', function (Y) { }, anonymousUserId: this.anonymousUserId, sessionInfo: this.sessionInfo, - languages: this.configLanguages + languages: this.configLanguages, + localesMap: this.localesMap, }, }); }, @@ -2063,6 +2065,19 @@ YUI.add('ez-platformuiapp-tests', function (Y) { ); }, + "Should configure the `localesMap`": function () { + this._buildApp(); + Assert.areSame( + this.localesMap, + this.app.get('localesMap'), + "The `localesMap` attribute should have been set" + ); + Assert.isUndefined( + this.app.get('config').localesMap, + "The localesMap property should have been removed from the configuration" + ); + }, + "Should configure the `systemLanguageList`": function () { this._buildApp(); From a81019f8dc834553fd1444669117bc55232f0bdb Mon Sep 17 00:00:00 2001 From: Damien Pobel Date: Fri, 24 Jun 2016 13:57:31 +0200 Subject: [PATCH 03/10] EZP-25323: Added the translate_property Handlerbars helper --- .../ez-registerlanguagehelpersplugin.js | 149 ++++++++++++++ .../ez-registerlanguagehelpersplugin-tests.js | 182 ++++++++++++++++-- 2 files changed, 317 insertions(+), 14 deletions(-) diff --git a/Resources/public/js/apps/plugins/ez-registerlanguagehelpersplugin.js b/Resources/public/js/apps/plugins/ez-registerlanguagehelpersplugin.js index 9b4d61e24..f6bbef533 100644 --- a/Resources/public/js/apps/plugins/ez-registerlanguagehelpersplugin.js +++ b/Resources/public/js/apps/plugins/ez-registerlanguagehelpersplugin.js @@ -26,6 +26,7 @@ YUI.add('ez-registerlanguagehelpersplugin', function (Y) { Y.eZ.Plugin.RegisterLanguageHelpers = Y.Base.create('registerLanguageHelpersPlugin', Y.Plugin.Base, [], { initializer: function () { this._registerLanguageName(); + this._registerTranslatedProperty(); }, /** @@ -42,8 +43,156 @@ YUI.add('ez-registerlanguagehelpersplugin', function (Y) { Y.Handlebars.registerHelper('language_name', Y.bind(app.getLanguageName, app)); }, + + /** + * Registers the `translate_property` handlebars helper. The + * `translate_property` helper expects a hash indexed by eZ Locale + * ('eng-GB', 'fre-FR', ...) and will try to pick the best one according + * to the browser languages configuration. + * + * @method _registerTranslatedProperty + * @protected + */ + _registerTranslatedProperty: function () { + Y.Handlebars.registerHelper('translate_property', Y.bind(this._translateProperty, this)); + }, + + /** + * Find the correct property translation according to browser's + * languages configuration. It basically iterates over the browser's + * language to find a matching translation, if none matches, it takes + * the first one. + * + * @private + * @method _translateProperty + * @param {Object} property the property to translate as a hash indexed + * by eZ Locale for example: ('eng-GB': 'potatoes', 'fre-FR': 'pomme de terre'} + * @return {String} + */ + _translateProperty: function (property) { + var navigatorLocales = this._getNavigatorPosixLocales(), + localesMap = this._getLocalesMap(property), + matchingPosixLocale; + + Y.Array.some(navigatorLocales, function (posixLocale) { + var prefixLanguage; + + if ( localesMap[posixLocale] ) { + matchingPosixLocale = posixLocale; + return true; + } + if ( posixLocale.indexOf('_') !== -1 ) { + prefixLanguage = posixLocale.split('_')[0] + '_'; + } else { + prefixLanguage = posixLocale + '_'; + } + matchingPosixLocale = this._findPosixLocaleByPrefix( + prefixLanguage, localesMap + ); + return !!matchingPosixLocale; + }, this); + + if ( matchingPosixLocale ) { + return property[localesMap[matchingPosixLocale]]; + } + return property[Object.keys(property)[0]]; + }, + + /** + * Returns the POSIX Locale matching the prefix + * + * @private + * @method _findPosixLocaleByPrefix + * @param {String} prefix e.g. 'fr' + * @param {Object} localesMap the locales map for the property + * @param {String} e.g. 'fr_fr' + */ + _findPosixLocaleByPrefix: function (prefix, localesMap) { + return Y.Array.find(Object.keys(localesMap), function (posixLocale) { + return posixLocale.indexOf(prefix) === 0; + }); + }, + + /** + * Returns an array containing the normalized POSIX locale configured in + * the browser. + * + * @private + * @method _getNavigatorPosixLocales + * @return {Array} e.g. ['fr_fr', 'en_en', 'en'] + */ + _getNavigatorPosixLocales: function () { + var navigator = this.get('navigator'), + languages = navigator.languages || [navigator.language]; + + return languages.map(function (language) { + return this._normalizeNavigatorLanguage(language); + }, this); + }, + + /** + * Returns an array containing the existing Locale in which the property + * exists. + * + * @private + * @method _getExistingPropertyLanguages + * @param {Object} property + * @param {Array} e.g. ['fre-FR', 'eng-GB'] + */ + _getExistingPropertyLanguages: function (property) { + return Object.keys(property); + }, + + /** + * Creates a locales map for the languages in which the property exists. + * + * @private + * @method _getLocalesMap + * @param {Object} property + * @return {Object} an Object containing the locale indexed by + * normalized POSIX locales + */ + _getLocalesMap: function (property) { + var fullLocalesMap = this.get('host').get('localesMap'), + localesMap = {}, + existingLocales = this._getExistingPropertyLanguages(property); + + Y.Object.each(fullLocalesMap, function (locale, posixLocale) { + if ( existingLocales.indexOf(locale) !== -1 ) { + localesMap[this._normalizeNavigatorLanguage(posixLocale)] = locale; + } + }, this); + return localesMap; + }, + + /** + * Normalizes browser's language + * + * @private + * @method _normalizeNavigatorLanguage + * @param {String} lang the language e.g. 'fr-FR' + * @return {String} + */ + _normalizeNavigatorLanguage: function (lang) { + return lang.toLowerCase().replace('-', '_'); + }, }, { NS: 'registerLanguageHelpers', + + ATTRS: { + /** + * Holds a reference to the navigator object. + * + * @attribute navigator + * @type {Navigator} + * @readOnly + */ + navigator: { + value: Y.config.win.navigator, + cloneDefaultValue: false, + readOnly: true, + }, + }, }); Y.eZ.PluginRegistry.registerPlugin( diff --git a/Tests/js/apps/plugins/assets/ez-registerlanguagehelpersplugin-tests.js b/Tests/js/apps/plugins/assets/ez-registerlanguagehelpersplugin-tests.js index 8e88a217b..e3466958f 100644 --- a/Tests/js/apps/plugins/assets/ez-registerlanguagehelpersplugin-tests.js +++ b/Tests/js/apps/plugins/assets/ez-registerlanguagehelpersplugin-tests.js @@ -3,11 +3,37 @@ * For full copyright and license information view LICENSE file distributed with this source code. */ YUI.add('ez-registerlanguagehelpersplugin-tests', function (Y) { - var pluginTest, registerTest, + var registerHelpersTest, languageNameTest, translatePropertyTest, registerTest, + navigatorAttrTest, Assert = Y.Assert, Mock = Y.Mock; - pluginTest = new Y.Test.Case({ - name: "eZ Register Language Helpers Plugin test", + registerHelpersTest = new Y.Test.Case({ + name: "eZ Register Language Helpers register helpers test", + + setUp: function () { + this.plugin = new Y.eZ.Plugin.RegisterLanguageHelpers({ + host: {} + }); + }, + + _helperRegistered: function (name) { + Assert.isFunction( + Y.Handlebars.helpers[name], + "The helper '" + name + "' should be registered" + ); + }, + + "Should register the 'language_name' helper": function () { + this._helperRegistered('language_name'); + }, + + "Should register the `translate_property` helper": function () { + this._helperRegistered('translate_property'); + }, + }); + + languageNameTest = new Y.Test.Case({ + name: "eZ Register Language Helpers language_name test", setUp: function () { this.languageCode = 'pol-PL'; @@ -28,24 +54,149 @@ YUI.add('ez-registerlanguagehelpersplugin-tests', function (Y) { delete this.plugin; }, - _helperRegistered: function (name) { - Assert.isFunction( - Y.Handlebars.helpers[name], - "The helper '" + name + "' should be registered" + "Should call the app getLanguageName method": function () { + /*jshint camelcase: false */ + Y.Handlebars.helpers.language_name(this.languageCode); + /*jshint camelcase: true */ + + Mock.verify(this.app); + } + }); + + navigatorAttrTest = new Y.Test.Case({ + name: "eZ Register Language Helpers navigator attribute test", + + setUp: function () { + this.app = new Y.Base(); + + this.plugin = new Y.eZ.Plugin.RegisterLanguageHelpers({ + host: this.app + }); + }, + + tearDown: function () { + this.plugin.destroy(); + delete this.plugin; + }, + + "Should return the navigator object": function () { + Assert.areSame( + Y.config.win.navigator, + this.plugin.get('navigator'), + "The navigator attribute should hold the navigator object" ); }, + }); - "Should register the 'language_name' helper": function () { - this._helperRegistered('language_name'); + translatePropertyTest = new Y.Test.Case({ + name: "eZ Register Language Helpers translate_property test", + + setUp: function () { + this.localesMap = { + 'fr_FR': 'fre-FR', + 'fr_CA': 'fre-CA', + 'en_GB': 'eng-GB', + 'nn_NO': 'nor-NO', + 'no_NO': 'nor-NO', + }; + this.app = new Y.Base(); + this.app.set('localesMap', this.localesMap); + + this.plugin = new Y.eZ.Plugin.RegisterLanguageHelpers({ + host: this.app + }); + this.property = { + 'eng-GB': 'potatoes', + 'fre-FR': 'pomme de terres', + 'nor-NO': 'potet', + }; }, - "Should call the app getLanguageName method": function () { + tearDown: function () { + this.plugin.destroy(); + delete this.plugin; + }, + + _testTranslateProperty: function (navigator, expected) { + var translated; + + this.plugin._set('navigator', navigator); /*jshint camelcase: false */ - Y.Handlebars.helpers.language_name(this.languageCode); + translated = Y.Handlebars.helpers.translate_property(this.property); /*jshint camelcase: true */ - Mock.verify(this.app); - } + Assert.areEqual( + expected, + translated, + "The property should have been translated to " + expected + ); + }, + + "Unsupported navigator.languages direct posix locale match": function () { + var navigator = {language: 'fr-FR'}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "direct posix locale match": function () { + var navigator = {languages: ['fr-FR', 'en-GB']}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "Unsupported navigator.languages partial posix locale match": function () { + var navigator = {language: 'fr-BE'}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "partial posix locale match": function () { + var navigator = {languages: ['fr-BE', 'en-GB']}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "Unsupported navigator.languages prefix posix locale match": function () { + var navigator = {language: 'fr'}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "prefix posix locale match": function () { + var navigator = {languages: ['fr', 'en-GB']}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "Unsupported navigator.languages no posix locale match": function () { + var navigator = {language: 'bressan_BRESSE'}; + + this._testTranslateProperty(navigator, this.property['eng-GB']); + }, + + "no posix locale match": function () { + var navigator = {languages: ['bressan_BRESSE', 'patois_BRESSE']}; + + this._testTranslateProperty(navigator, this.property['eng-GB']); + }, + + "no posix locale match, then prefix match": function () { + var navigator = {languages: ['bressan_BRESSE', 'fr', 'no_NO']}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "no posix locale match, then partial match": function () { + var navigator = {languages: ['bressan_BRESSE', 'fr_BE', 'no_NO']}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, + + "no posix locale match, then direct match": function () { + var navigator = {languages: ['bressan_BRESSE', 'fr_FR', 'no_NO']}; + + this._testTranslateProperty(navigator, this.property['fre-FR']); + }, }); registerTest = new Y.Test.Case(Y.eZ.Test.PluginRegisterTest); @@ -53,6 +204,9 @@ YUI.add('ez-registerlanguagehelpersplugin-tests', function (Y) { registerTest.components = ['platformuiApp']; Y.Test.Runner.setName("eZ Register Language Helpers Plugin tests"); - Y.Test.Runner.add(pluginTest); + Y.Test.Runner.add(registerHelpersTest); + Y.Test.Runner.add(languageNameTest); + Y.Test.Runner.add(translatePropertyTest); + Y.Test.Runner.add(navigatorAttrTest); Y.Test.Runner.add(registerTest); }, '', {requires: ['test', 'handlebars', 'ez-registerlanguagehelpersplugin', 'ez-pluginregister-tests']}); From 18e93c82f7d2091178e7180fae13e4a83e3a84c1 Mon Sep 17 00:00:00 2001 From: Damien Pobel Date: Fri, 24 Jun 2016 14:51:13 +0200 Subject: [PATCH 04/10] EZP-25323: Fixed templates to use translate_property --- Resources/public/templates/contentedit.hbt | 4 ++-- .../public/templates/fields/edit/authorinput.hbt | 4 ++-- .../public/templates/fields/edit/binaryfile.hbt | 4 ++-- Resources/public/templates/fields/edit/checkbox.hbt | 2 +- Resources/public/templates/fields/edit/country.hbt | 2 +- Resources/public/templates/fields/edit/date.hbt | 2 +- .../public/templates/fields/edit/dateandtime.hbt | 2 +- .../public/templates/fields/edit/emailaddress.hbt | 2 +- Resources/public/templates/fields/edit/float.hbt | 2 +- Resources/public/templates/fields/edit/image.hbt | 4 ++-- Resources/public/templates/fields/edit/integer.hbt | 2 +- Resources/public/templates/fields/edit/isbn.hbt | 2 +- Resources/public/templates/fields/edit/keyword.hbt | 2 +- .../public/templates/fields/edit/maplocation.hbt | 2 +- Resources/public/templates/fields/edit/media.hbt | 4 ++-- Resources/public/templates/fields/edit/relation.hbt | 4 ++-- .../public/templates/fields/edit/relationlist.hbt | 4 ++-- Resources/public/templates/fields/edit/richtext.hbt | 6 +++--- Resources/public/templates/fields/edit/selection.hbt | 2 +- Resources/public/templates/fields/edit/textblock.hbt | 2 +- Resources/public/templates/fields/edit/textline.hbt | 2 +- Resources/public/templates/fields/edit/time.hbt | 2 +- Resources/public/templates/fields/edit/url.hbt | 2 +- Resources/public/templates/fields/edit/user.hbt | 2 +- Resources/public/templates/fields/edit/xmltext.hbt | 2 +- Resources/public/templates/fields/view/author.hbt | 2 +- .../public/templates/fields/view/binaryfile.hbt | 2 +- Resources/public/templates/fields/view/country.hbt | 2 +- .../public/templates/fields/view/dateandtime.hbt | 2 +- Resources/public/templates/fields/view/field.hbt | 2 +- Resources/public/templates/fields/view/image.hbt | 2 +- Resources/public/templates/fields/view/keyword.hbt | 2 +- .../public/templates/fields/view/maplocation.hbt | 2 +- Resources/public/templates/fields/view/media.hbt | 2 +- Resources/public/templates/fields/view/relation.hbt | 2 +- .../public/templates/fields/view/relationlist.hbt | 2 +- Resources/public/templates/fields/view/richtext.hbt | 2 +- Resources/public/templates/fields/view/selection.hbt | 2 +- Resources/public/templates/fields/view/url.hbt | 2 +- Resources/public/templates/fields/view/user.hbt | 2 +- Resources/public/templates/fields/view/xmltext.hbt | 2 +- Resources/public/templates/locationview.hbt | 2 +- .../templates/partials/fielddescription_tooltip.hbt | 12 +++++------- Resources/public/templates/subitem/griditem.hbt | 2 +- Resources/public/templates/trash.hbt | 2 +- .../templates/universaldiscovery/confirmedlist.hbt | 4 ++-- .../public/templates/universaldiscovery/search.hbt | 2 +- .../public/templates/universaldiscovery/selected.hbt | 2 +- 48 files changed, 62 insertions(+), 64 deletions(-) diff --git a/Resources/public/templates/contentedit.hbt b/Resources/public/templates/contentedit.hbt index 80df37665..30b739087 100644 --- a/Resources/public/templates/contentedit.hbt +++ b/Resources/public/templates/contentedit.hbt @@ -5,14 +5,14 @@

{{ content.name }}

    -
  • {{ contentType.names.[eng-GB] }}
  • +
  • {{ translate_property contentType.names }}
  • Created by {{ owner.name }}
  • {{#if content.contentId}}
  • {{ content.lastModificationDate }}
  • Content ID: {{ content.contentId }}, Location ID: {{ mainLocation.locationId }}
  • {{/if}}
-

{{contentType.descriptions.[eng-GB]}}

+

{{ translate_property contentType.descriptions }}

diff --git a/Resources/public/templates/fields/edit/authorinput.hbt b/Resources/public/templates/fields/edit/authorinput.hbt index 35f39fb89..2d6095a92 100644 --- a/Resources/public/templates/fields/edit/authorinput.hbt +++ b/Resources/public/templates/fields/edit/authorinput.hbt @@ -2,7 +2,7 @@
@@ -27,7 +27,7 @@
diff --git a/Resources/public/templates/fields/edit/binaryfile.hbt b/Resources/public/templates/fields/edit/binaryfile.hbt index d9d42a20d..f92d4fa2a 100644 --- a/Resources/public/templates/fields/edit/binaryfile.hbt +++ b/Resources/public/templates/fields/edit/binaryfile.hbt @@ -2,11 +2,11 @@
diff --git a/Resources/public/templates/fields/edit/checkbox.hbt b/Resources/public/templates/fields/edit/checkbox.hbt index 8cc95f2e5..e34544b7f 100644 --- a/Resources/public/templates/fields/edit/checkbox.hbt +++ b/Resources/public/templates/fields/edit/checkbox.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/country.hbt b/Resources/public/templates/fields/edit/country.hbt index 752ac5430..b11874728 100644 --- a/Resources/public/templates/fields/edit/country.hbt +++ b/Resources/public/templates/fields/edit/country.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/date.hbt b/Resources/public/templates/fields/edit/date.hbt index a31dbc940..1c5d0d7fe 100644 --- a/Resources/public/templates/fields/edit/date.hbt +++ b/Resources/public/templates/fields/edit/date.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/dateandtime.hbt b/Resources/public/templates/fields/edit/dateandtime.hbt index 33ac04254..09be96df7 100644 --- a/Resources/public/templates/fields/edit/dateandtime.hbt +++ b/Resources/public/templates/fields/edit/dateandtime.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/emailaddress.hbt b/Resources/public/templates/fields/edit/emailaddress.hbt index 2f15c02f9..b7127bc2a 100644 --- a/Resources/public/templates/fields/edit/emailaddress.hbt +++ b/Resources/public/templates/fields/edit/emailaddress.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/float.hbt b/Resources/public/templates/fields/edit/float.hbt index a3575b9d8..d78c7f69b 100644 --- a/Resources/public/templates/fields/edit/float.hbt +++ b/Resources/public/templates/fields/edit/float.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/image.hbt b/Resources/public/templates/fields/edit/image.hbt index 31a4920fa..44cbeb6b8 100644 --- a/Resources/public/templates/fields/edit/image.hbt +++ b/Resources/public/templates/fields/edit/image.hbt @@ -2,11 +2,11 @@
diff --git a/Resources/public/templates/fields/edit/integer.hbt b/Resources/public/templates/fields/edit/integer.hbt index a63f8a707..281bbc1b3 100644 --- a/Resources/public/templates/fields/edit/integer.hbt +++ b/Resources/public/templates/fields/edit/integer.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/isbn.hbt b/Resources/public/templates/fields/edit/isbn.hbt index 593580403..08146af42 100644 --- a/Resources/public/templates/fields/edit/isbn.hbt +++ b/Resources/public/templates/fields/edit/isbn.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/keyword.hbt b/Resources/public/templates/fields/edit/keyword.hbt index 37fa72ac0..04870543d 100644 --- a/Resources/public/templates/fields/edit/keyword.hbt +++ b/Resources/public/templates/fields/edit/keyword.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/maplocation.hbt b/Resources/public/templates/fields/edit/maplocation.hbt index ba860faf9..e8c94e8a1 100644 --- a/Resources/public/templates/fields/edit/maplocation.hbt +++ b/Resources/public/templates/fields/edit/maplocation.hbt @@ -2,7 +2,7 @@
diff --git a/Resources/public/templates/fields/edit/media.hbt b/Resources/public/templates/fields/edit/media.hbt index 32d1f9828..e72541fd8 100644 --- a/Resources/public/templates/fields/edit/media.hbt +++ b/Resources/public/templates/fields/edit/media.hbt @@ -2,11 +2,11 @@