common/corpus-common-addon/addon/components/doc-created.js
changeset 519 ef3e4841d506
parent 513 dad9471f0d63
--- a/common/corpus-common-addon/addon/components/doc-created.js	Mon Feb 20 11:43:46 2017 +0100
+++ b/common/corpus-common-addon/addon/components/doc-created.js	Wed Feb 22 07:57:05 2017 +0100
@@ -1,5 +1,6 @@
 import Ember from 'ember';
 import layout from '../templates/components/doc-created';
+import * as utils from 'corpus-common-addon/utils/utils';
 
 export default Ember.Component.extend({
   layout: layout,
@@ -29,37 +30,9 @@
     return this.formatDate(this.get('value'));
   }),
   periodMatches: Ember.computed('value', function () {
-    let dateStr = this.get('value');
-
-    if (!dateStr) {
-      return null;
-    }
-    dateStr = dateStr.trim();
-
-    const m = dateStr.match(/^(\d{4})-(\d{4})$/) ||
-      dateStr.match(/^start\s*=\s*([^\s]+)\s*;\s*end\s*=\s*([^\s]+)$/) ||
-      dateStr.match(/^end\s*=\s*([^\s]+)\s*;\s*start\s*=\s*([^\s]+)$/);
-
-    if (!m) {
-      return null;
-    }
+    const dateStr = this.get('value');
 
-    const [, dateStr1, dateStr2] = m;
-    let date1 = new Date(dateStr1);
-    let date2 = new Date(dateStr2);
-
-    if (isNaN(date1.getTime()) || isNaN(date2.getTime())) {
-      return null;
-    }
-    if (date2 < date1) {
-      [date1, date2] = [date2, date1];
-    }
-
-    return {
-      start: {str: dateStr1, date: date1},
-      end: {str: dateStr2, date: date2}
-    };
-
+    return utils.getPeriodMatches(dateStr);
   }),
   isPeriod: Ember.computed('periodMatches', function () {
     const periodMatches = this.get('periodMatches');