* Replace browserify with webpack * Add react-intl-translations-manager * Do not minify in development, add offline-plugin for ServiceWorker background cache updates * Adjust tests and dependencies * Fix production deployments * Fix tests * More optimizations * Improve travis cache for npm stuff * Re-run travis * Add back support for custom.scss as before * Remove offline-plugin and babili * Fix issue with Immutable.List().unshift(...values) not working as expected * Make travis load schema instead of running all migrations in sequence * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in <UI /> * Add react definitions to places that use JSX * Add Procfile.dev for running rails, webpack and streaming API at the same time
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			730 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			730 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// U+0590  to U+05FF  - Hebrew
 | 
						|
// U+0600  to U+06FF  - Arabic
 | 
						|
// U+0700  to U+074F  - Syriac
 | 
						|
// U+0750  to U+077F  - Arabic Supplement
 | 
						|
// U+0780  to U+07BF  - Thaana
 | 
						|
// U+07C0  to U+07FF  - N'Ko
 | 
						|
// U+0800  to U+083F  - Samaritan
 | 
						|
// U+08A0  to U+08FF  - Arabic Extended-A
 | 
						|
// U+FB1D  to U+FB4F  - Hebrew presentation forms
 | 
						|
// U+FB50  to U+FDFF  - Arabic presentation forms A
 | 
						|
// U+FE70  to U+FEFF  - Arabic presentation forms B
 | 
						|
 | 
						|
const rtlChars = /[\u0590-\u083F]|[\u08A0-\u08FF]|[\uFB1D-\uFDFF]|[\uFE70-\uFEFF]/mg;
 | 
						|
 | 
						|
export function isRtl(text) {
 | 
						|
  if (text.length === 0) {
 | 
						|
    return false;
 | 
						|
  }
 | 
						|
 | 
						|
  const matches = text.match(rtlChars);
 | 
						|
 | 
						|
  if (!matches) {
 | 
						|
    return false;
 | 
						|
  }
 | 
						|
 | 
						|
  return matches.length / text.trim().length > 0.3;
 | 
						|
};
 |