UNPKG

react-planner-viewer

Version:

react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode

98 lines (80 loc) 9.05 kB
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } import EN from './en'; import IT from './it'; var DEFAULT_LOCALE = 'en'; var Translator = function () { function Translator() { _classCallCheck(this, Translator); this.locale = null; this.translations = {}; this.registerTranslation('en', EN); this.registerTranslation('it', IT); var locale = null; var languages = Translator.getBrowserLanguages(); for (var i = 0; i < languages.length; i++) { var lang = languages[i]; if (this.translations.hasOwnProperty(lang)) { locale = lang; break; } } locale = locale ? locale : DEFAULT_LOCALE; this.setLocale(locale); } _createClass(Translator, [{ key: 't', value: function t(phrase) { for (var _len = arguments.length, params = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { params[_key - 1] = arguments[_key]; } return this.translate.apply(this, [phrase].concat(params)); } }, { key: 'translate', value: function translate(phrase) { for (var _len2 = arguments.length, params = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { params[_key2 - 1] = arguments[_key2]; } var locale = this.locale; var translation = this.translations[locale]; if (!translation.hasOwnProperty(phrase)) { console.warn('translation \'' + phrase + '\' not found in language \'' + locale + '\''); return phrase; } var translatedPhrase = translation[phrase]; translatedPhrase = translatedPhrase.replace(/{(\d+)}/g, function (match, number) { return typeof params[number] != 'undefined' ? params[number] : match; }); return translatedPhrase; } }, { key: 'setLocale', value: function setLocale(locale) { locale = locale.toLowerCase(); if (this.translations.hasOwnProperty(locale)) { this.locale = locale; } else { console.warn('locale \'' + locale + '\' not available, switch to ' + DEFAULT_LOCALE); this.locale = DEFAULT_LOCALE.toLowerCase(); } } }, { key: 'registerTranslation', value: function registerTranslation(locale, translations) { if (!this.translations.hasOwnProperty(locale)) { this.translations[locale] = translations; } else { Object.assign(this.translations[locale], translations); } } }], [{ key: 'getBrowserLanguages', value: function getBrowserLanguages() { return navigator.languages ? navigator.languages : [navigator.language || navigator.userLanguage]; } }]); return Translator; }(); export default Translator; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2xhdG9yL3RyYW5zbGF0b3IuanMiXSwibmFtZXMiOlsiRU4iLCJJVCIsIkRFRkFVTFRfTE9DQUxFIiwiVHJhbnNsYXRvciIsImxvY2FsZSIsInRyYW5zbGF0aW9ucyIsInJlZ2lzdGVyVHJhbnNsYXRpb24iLCJsYW5ndWFnZXMiLCJnZXRCcm93c2VyTGFuZ3VhZ2VzIiwiaSIsImxlbmd0aCIsImxhbmciLCJoYXNPd25Qcm9wZXJ0eSIsInNldExvY2FsZSIsInBocmFzZSIsInBhcmFtcyIsInRyYW5zbGF0ZSIsInRyYW5zbGF0aW9uIiwiY29uc29sZSIsIndhcm4iLCJ0cmFuc2xhdGVkUGhyYXNlIiwicmVwbGFjZSIsIm1hdGNoIiwibnVtYmVyIiwidG9Mb3dlckNhc2UiLCJPYmplY3QiLCJhc3NpZ24iLCJuYXZpZ2F0b3IiLCJsYW5ndWFnZSIsInVzZXJMYW5ndWFnZSJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU9BLEVBQVAsTUFBZSxNQUFmO0FBQ0EsT0FBT0MsRUFBUCxNQUFlLE1BQWY7O0FBRUEsSUFBTUMsaUJBQWlCLElBQXZCOztJQUVxQkMsVTtBQUNuQix3QkFBYztBQUFBOztBQUNaLFNBQUtDLE1BQUwsR0FBYyxJQUFkO0FBQ0EsU0FBS0MsWUFBTCxHQUFvQixFQUFwQjs7QUFFQSxTQUFLQyxtQkFBTCxDQUF5QixJQUF6QixFQUErQk4sRUFBL0I7QUFDQSxTQUFLTSxtQkFBTCxDQUF5QixJQUF6QixFQUErQkwsRUFBL0I7O0FBRUEsUUFBSUcsU0FBUyxJQUFiO0FBQ0EsUUFBSUcsWUFBWUosV0FBV0ssbUJBQVgsRUFBaEI7QUFDQSxTQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSUYsVUFBVUcsTUFBOUIsRUFBc0NELEdBQXRDLEVBQTJDO0FBQ3pDLFVBQUlFLE9BQU9KLFVBQVVFLENBQVYsQ0FBWDtBQUNBLFVBQUksS0FBS0osWUFBTCxDQUFrQk8sY0FBbEIsQ0FBaUNELElBQWpDLENBQUosRUFBNEM7QUFDMUNQLGlCQUFTTyxJQUFUO0FBQ0E7QUFDRDtBQUNGO0FBQ0RQLGFBQVNBLFNBQVNBLE1BQVQsR0FBa0JGLGNBQTNCOztBQUVBLFNBQUtXLFNBQUwsQ0FBZVQsTUFBZjtBQUNEOzs7O3NCQUVDVSxNLEVBQW1CO0FBQUEsd0NBQVJDLE1BQVE7QUFBUkEsY0FBUTtBQUFBOztBQUNuQixhQUFPLEtBQUtDLFNBQUwsY0FBZUYsTUFBZixTQUEwQkMsTUFBMUIsRUFBUDtBQUNEOzs7OEJBRVNELE0sRUFBbUI7QUFBQSx5Q0FBUkMsTUFBUTtBQUFSQSxjQUFRO0FBQUE7O0FBQzNCLFVBQUlYLFNBQVMsS0FBS0EsTUFBbEI7O0FBRUEsVUFBSWEsY0FBYyxLQUFLWixZQUFMLENBQWtCRCxNQUFsQixDQUFsQjtBQUNBLFVBQUksQ0FBQ2EsWUFBWUwsY0FBWixDQUEyQkUsTUFBM0IsQ0FBTCxFQUF5QztBQUN2Q0ksZ0JBQVFDLElBQVIsb0JBQTZCTCxNQUE3QixtQ0FBK0RWLE1BQS9EO0FBQ0EsZUFBT1UsTUFBUDtBQUNEOztBQUVELFVBQUlNLG1CQUFtQkgsWUFBWUgsTUFBWixDQUF2Qjs7QUFFQU0seUJBQW1CQSxpQkFBaUJDLE9BQWpCLENBQXlCLFVBQXpCLEVBQXFDLFVBQVVDLEtBQVYsRUFBaUJDLE1BQWpCLEVBQXlCO0FBQy9FLGVBQU8sT0FBT1IsT0FBT1EsTUFBUCxDQUFQLElBQXlCLFdBQXpCLEdBQ0hSLE9BQU9RLE1BQVAsQ0FERyxHQUVIRCxLQUZKO0FBR0QsT0FKa0IsQ0FBbkI7O0FBTUEsYUFBT0YsZ0JBQVA7QUFDRDs7OzhCQUVTaEIsTSxFQUFRO0FBQ2hCQSxlQUFTQSxPQUFPb0IsV0FBUCxFQUFUOztBQUVBLFVBQUksS0FBS25CLFlBQUwsQ0FBa0JPLGNBQWxCLENBQWlDUixNQUFqQyxDQUFKLEVBQThDO0FBQzVDLGFBQUtBLE1BQUwsR0FBY0EsTUFBZDtBQUNELE9BRkQsTUFFTztBQUNMYyxnQkFBUUMsSUFBUixlQUF3QmYsTUFBeEIsb0NBQTRERixjQUE1RDtBQUNBLGFBQUtFLE1BQUwsR0FBY0YsZUFBZXNCLFdBQWYsRUFBZDtBQUNEO0FBQ0Y7Ozt3Q0FFbUJwQixNLEVBQVFDLFksRUFBYztBQUN4QyxVQUFJLENBQUMsS0FBS0EsWUFBTCxDQUFrQk8sY0FBbEIsQ0FBaUNSLE1BQWpDLENBQUwsRUFBK0M7QUFDN0MsYUFBS0MsWUFBTCxDQUFrQkQsTUFBbEIsSUFBNEJDLFlBQTVCO0FBQ0QsT0FGRCxNQUVPO0FBQ0xvQixlQUFPQyxNQUFQLENBQWMsS0FBS3JCLFlBQUwsQ0FBa0JELE1BQWxCLENBQWQsRUFBeUNDLFlBQXpDO0FBQ0Q7QUFDRjs7OzBDQUU0QjtBQUMzQixhQUFPc0IsVUFBVXBCLFNBQVYsR0FDSG9CLFVBQVVwQixTQURQLEdBRUYsQ0FBRW9CLFVBQVVDLFFBQVYsSUFBc0JELFVBQVVFLFlBQWxDLENBRkw7QUFHRDs7Ozs7O2VBckVrQjFCLFUiLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFTiBmcm9tICcuL2VuJztcbmltcG9ydCBJVCBmcm9tICcuL2l0JztcblxuY29uc3QgREVGQVVMVF9MT0NBTEUgPSAnZW4nO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUcmFuc2xhdG9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2NhbGUgPSBudWxsO1xuICAgIHRoaXMudHJhbnNsYXRpb25zID0ge307XG5cbiAgICB0aGlzLnJlZ2lzdGVyVHJhbnNsYXRpb24oJ2VuJywgRU4pO1xuICAgIHRoaXMucmVnaXN0ZXJUcmFuc2xhdGlvbignaXQnLCBJVCk7XG5cbiAgICBsZXQgbG9jYWxlID0gbnVsbDtcbiAgICBsZXQgbGFuZ3VhZ2VzID0gVHJhbnNsYXRvci5nZXRCcm93c2VyTGFuZ3VhZ2VzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBsYW5nID0gbGFuZ3VhZ2VzW2ldO1xuICAgICAgaWYgKHRoaXMudHJhbnNsYXRpb25zLmhhc093blByb3BlcnR5KGxhbmcpKSB7XG4gICAgICAgIGxvY2FsZSA9IGxhbmc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBsb2NhbGUgPSBsb2NhbGUgPyBsb2NhbGUgOiBERUZBVUxUX0xPQ0FMRTtcblxuICAgIHRoaXMuc2V0TG9jYWxlKGxvY2FsZSk7XG4gIH1cblxuICB0KHBocmFzZSwgLi4ucGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlKHBocmFzZSwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIHRyYW5zbGF0ZShwaHJhc2UsIC4uLnBhcmFtcykge1xuICAgIGxldCBsb2NhbGUgPSB0aGlzLmxvY2FsZTtcblxuICAgIGxldCB0cmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRpb25zW2xvY2FsZV07XG4gICAgaWYgKCF0cmFuc2xhdGlvbi5oYXNPd25Qcm9wZXJ0eShwaHJhc2UpKSB7XG4gICAgICBjb25zb2xlLndhcm4oYHRyYW5zbGF0aW9uICcke3BocmFzZX0nIG5vdCBmb3VuZCBpbiBsYW5ndWFnZSAnJHtsb2NhbGV9J2ApO1xuICAgICAgcmV0dXJuIHBocmFzZTtcbiAgICB9XG5cbiAgICBsZXQgdHJhbnNsYXRlZFBocmFzZSA9IHRyYW5zbGF0aW9uW3BocmFzZV07XG5cbiAgICB0cmFuc2xhdGVkUGhyYXNlID0gdHJhbnNsYXRlZFBocmFzZS5yZXBsYWNlKC97KFxcZCspfS9nLCBmdW5jdGlvbiAobWF0Y2gsIG51bWJlcikge1xuICAgICAgcmV0dXJuIHR5cGVvZiBwYXJhbXNbbnVtYmVyXSAhPSAndW5kZWZpbmVkJ1xuICAgICAgICA/IHBhcmFtc1tudW1iZXJdXG4gICAgICAgIDogbWF0Y2g7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJhbnNsYXRlZFBocmFzZTtcbiAgfVxuXG4gIHNldExvY2FsZShsb2NhbGUpIHtcbiAgICBsb2NhbGUgPSBsb2NhbGUudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICh0aGlzLnRyYW5zbGF0aW9ucy5oYXNPd25Qcm9wZXJ0eShsb2NhbGUpKSB7XG4gICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKGBsb2NhbGUgJyR7bG9jYWxlfScgbm90IGF2YWlsYWJsZSwgc3dpdGNoIHRvICR7REVGQVVMVF9MT0NBTEV9YCk7XG4gICAgICB0aGlzLmxvY2FsZSA9IERFRkFVTFRfTE9DQUxFLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJUcmFuc2xhdGlvbihsb2NhbGUsIHRyYW5zbGF0aW9ucykge1xuICAgIGlmICghdGhpcy50cmFuc2xhdGlvbnMuaGFzT3duUHJvcGVydHkobG9jYWxlKSkge1xuICAgICAgdGhpcy50cmFuc2xhdGlvbnNbbG9jYWxlXSA9IHRyYW5zbGF0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnRyYW5zbGF0aW9uc1tsb2NhbGVdLCB0cmFuc2xhdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXRCcm93c2VyTGFuZ3VhZ2VzKCkge1xuICAgIHJldHVybiBuYXZpZ2F0b3IubGFuZ3VhZ2VzXG4gICAgICA/IG5hdmlnYXRvci5sYW5ndWFnZXNcbiAgICAgIDogKFsobmF2aWdhdG9yLmxhbmd1YWdlIHx8IG5hdmlnYXRvci51c2VyTGFuZ3VhZ2UpXSlcbiAgfVxufVxuIl19