diff --git a/components/metrics/PagesTable.js b/components/metrics/PagesTable.js index 98a0fd72..e69a67ac 100644 --- a/components/metrics/PagesTable.js +++ b/components/metrics/PagesTable.js @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { FormattedMessage } from 'react-intl'; +import { useIntl, defineMessage } from 'react-intl'; import FilterLink from 'components/common/FilterLink'; import FilterButtons from 'components/common/FilterButtons'; import { urlFilter } from 'lib/filters'; @@ -8,15 +8,26 @@ import MetricsTable from './MetricsTable'; export const FILTER_COMBINED = 0; export const FILTER_RAW = 1; -export default function PagesTable({ websiteId, websiteDomain, showFilters, ...props }) { +const messages = defineMessage({ + combined: { id: 'metrics.filter.combined', defaultMessage: 'Combined' }, + raw: { id: 'metrics.filter.raw', defaultMessage: 'Raw' }, + pages: { id: 'metrics.pages', defaultMessage: 'Pages' }, + views: { id: 'metrics.views', defaultMessage: 'View' }, +}); + +export default function PagesTable({ websiteId, showFilters, ...props }) { const [filter, setFilter] = useState(FILTER_COMBINED); + const { formatMessage } = useIntl(); const buttons = [ { - label: , + label: formatMessage(messages.combined), value: FILTER_COMBINED, }, - { label: , value: FILTER_RAW }, + { + label: formatMessage(messages.raw), + value: FILTER_RAW, + }, ]; const renderLink = ({ x: url }) => { @@ -27,12 +38,11 @@ export default function PagesTable({ websiteId, websiteDomain, showFilters, ...p <> {showFilters && } } + title={formatMessage(messages.pages)} type="url" - metric={} + metric={formatMessage(messages.views)} websiteId={websiteId} - dataFilter={urlFilter} - filterOptions={{ domain: websiteDomain, raw: filter === FILTER_RAW }} + dataFilter={filter !== FILTER_RAW ? urlFilter : null} renderLabel={renderLink} {...props} /> diff --git a/components/metrics/ReferrersTable.js b/components/metrics/ReferrersTable.js index 1a9e3f2d..e41fe53b 100644 --- a/components/metrics/ReferrersTable.js +++ b/components/metrics/ReferrersTable.js @@ -1,31 +1,40 @@ import React, { useState } from 'react'; -import { FormattedMessage } from 'react-intl'; +import { useIntl, defineMessages } from 'react-intl'; import MetricsTable from './MetricsTable'; import FilterButtons from 'components/common/FilterButtons'; import FilterLink from 'components/common/FilterLink'; import { refFilter } from 'lib/filters'; -export const FILTER_DOMAIN_ONLY = 0; -export const FILTER_COMBINED = 1; -export const FILTER_RAW = 2; +export const FILTER_COMBINED = 0; +export const FILTER_RAW = 1; -export default function ReferrersTable({ websiteId, websiteDomain, showFilters, ...props }) { +const messages = defineMessages({ + combined: { id: 'metrics.filter.combined', defaultMessage: 'Combined' }, + raw: { id: 'metrics.filter.raw', defaultMessage: 'Raw' }, + referrers: { id: 'metrics.referrers', defaultMessage: 'Referrers' }, + views: { id: 'metrics.views', defaultMessage: 'Views' }, + none: { id: 'label.none', defaultMessage: 'None' }, +}); + +export default function ReferrersTable({ websiteId, showFilters, ...props }) { const [filter, setFilter] = useState(FILTER_COMBINED); + const { formatMessage } = useIntl(); + const none = formatMessage(messages.none); const buttons = [ { - label: , - value: FILTER_DOMAIN_ONLY, - }, - { - label: , + label: formatMessage(messages.combined), value: FILTER_COMBINED, }, - { label: , value: FILTER_RAW }, + { label: formatMessage(messages.raw), value: FILTER_RAW }, ]; const renderLink = ({ w: link, x: referrer }) => { - return ; + return referrer ? ( + + ) : ( + `(${none})` + ); }; return ( @@ -33,16 +42,11 @@ export default function ReferrersTable({ websiteId, websiteDomain, showFilters, {showFilters && } } + title={formatMessage(messages.referrers)} type="referrer" - metric={} + metric={formatMessage(messages.views)} websiteId={websiteId} - dataFilter={refFilter} - filterOptions={{ - domain: websiteDomain, - domainOnly: filter === FILTER_DOMAIN_ONLY, - raw: filter === FILTER_RAW, - }} + dataFilter={filter !== FILTER_RAW ? refFilter : null} renderLabel={renderLink} /> diff --git a/lang/ar-SA.json b/lang/ar-SA.json index 19a3689b..2a1a08aa 100644 --- a/lang/ar-SA.json +++ b/lang/ar-SA.json @@ -37,6 +37,7 @@ "label.more": "المزيد", "label.name": "الإسم", "label.new-password": "كلمة مرور جديدة", + "label.none": "None", "label.owner": "Owner", "label.password": "كلمة المرور", "label.passwords-dont-match": "كلمة المرور غير متطابقة", @@ -97,13 +98,13 @@ "metrics.devices": "الأجهزة", "metrics.events": "الأحداث", "metrics.filter.combined": "مجمعة", - "metrics.filter.domain-only": "نطاق فقط", "metrics.filter.raw": "مفصلة", "metrics.languages": "Languages", "metrics.operating-systems": "نظام التشغيل", "metrics.page-views": "مشاهدات الصفحة", "metrics.pages": "الصفحات", "metrics.referrers": "التحويلات", + "metrics.screens": "Screens", "metrics.unique-visitors": "زائرون فريدون", "metrics.views": "مشاهدات", "metrics.visitors": "زوار" diff --git a/lang/ca-ES.json b/lang/ca-ES.json index 6df47f0c..4bbc38d7 100644 --- a/lang/ca-ES.json +++ b/lang/ca-ES.json @@ -37,6 +37,7 @@ "label.more": "Més", "label.name": "Nom", "label.new-password": "Contrasenya nova", + "label.none": "None", "label.owner": "Propietari", "label.password": "Contrasenya", "label.passwords-dont-match": "Les contrasenyes no coincideixen", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositius", "metrics.events": "Esdeveniments", "metrics.filter.combined": "Combinat", - "metrics.filter.domain-only": "Només domini", "metrics.filter.raw": "En cru", "metrics.languages": "Llengües", "metrics.operating-systems": "Sistemes operatius", "metrics.page-views": "Pàgines vistes", "metrics.pages": "Pàgines", "metrics.referrers": "Referents", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitants únics", "metrics.views": "Vistes", "metrics.visitors": "Visitants" diff --git a/lang/cs-CZ.json b/lang/cs-CZ.json index eac8cc06..30501f97 100644 --- a/lang/cs-CZ.json +++ b/lang/cs-CZ.json @@ -37,6 +37,7 @@ "label.more": "Více", "label.name": "Jméno", "label.new-password": "Nové heslo", + "label.none": "None", "label.owner": "Owner", "label.password": "Heslo", "label.passwords-dont-match": "Hesla se neschodují", @@ -97,13 +98,13 @@ "metrics.devices": "Zařízení", "metrics.events": "Události", "metrics.filter.combined": "Kombinace", - "metrics.filter.domain-only": "Domény", "metrics.filter.raw": "Nezpracované", "metrics.languages": "Languages", "metrics.operating-systems": "Operační systém", "metrics.page-views": "Zobrazení stránek", "metrics.pages": "Stránky", "metrics.referrers": "Odkazy", + "metrics.screens": "Screens", "metrics.unique-visitors": "Jedinečné návštěvy", "metrics.views": "Zobrazení", "metrics.visitors": "Návštěvy" diff --git a/lang/da-DK.json b/lang/da-DK.json index 0a3d2f0d..48fde249 100644 --- a/lang/da-DK.json +++ b/lang/da-DK.json @@ -37,6 +37,7 @@ "label.more": "Mere", "label.name": "Navn", "label.new-password": "Ny adgangskode", + "label.none": "None", "label.owner": "Ejer", "label.password": "Adgangskode", "label.passwords-dont-match": "Adgangskoderne matcher ikke", @@ -97,13 +98,13 @@ "metrics.devices": "Enheder", "metrics.events": "Hændelser", "metrics.filter.combined": "Kombineret", - "metrics.filter.domain-only": "Kun domæne", "metrics.filter.raw": "Rå", "metrics.languages": "Sprog", "metrics.operating-systems": "Operativsystemer", "metrics.page-views": "Sidevisninger", "metrics.pages": "Sider", "metrics.referrers": "Henvisninger", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikke besøgende", "metrics.views": "Visninger", "metrics.visitors": "Besøgende" diff --git a/lang/de-DE.json b/lang/de-DE.json index 74e13b8d..c7fca4a1 100644 --- a/lang/de-DE.json +++ b/lang/de-DE.json @@ -37,6 +37,7 @@ "label.more": "Mehr", "label.name": "Name", "label.new-password": "Neues Passwort", + "label.none": "None", "label.owner": "Besitzer", "label.password": "Passwort", "label.passwords-dont-match": "Passwörter stimmen nicht überein", @@ -97,15 +98,14 @@ "metrics.devices": "Geräte", "metrics.events": "Ereignisse", "metrics.filter.combined": "Kombiniert", - "metrics.filter.domain-only": "Nur diese Domain", "metrics.filter.raw": "Rohdaten", "metrics.languages": "Sprachen", "metrics.operating-systems": "Betriebssysteme", "metrics.page-views": "Seitenaufrufe", "metrics.pages": "Seiten", "metrics.referrers": "Referrer", + "metrics.screens": "Bildschirmauflösungen", "metrics.unique-visitors": "Eindeutige Besucher", "metrics.views": "Aufrufe", - "metrics.visitors": "Besucher", - "metrics.screens": "Bildschirmauflösungen" + "metrics.visitors": "Besucher" } diff --git a/lang/el-GR.json b/lang/el-GR.json index 205133d2..6cf4b2ac 100644 --- a/lang/el-GR.json +++ b/lang/el-GR.json @@ -37,6 +37,7 @@ "label.more": "Περισσότερα", "label.name": "Όνομα", "label.new-password": "Νέος κωδικός", + "label.none": "None", "label.owner": "Owner", "label.password": "Κωδικός", "label.passwords-dont-match": "Οι κωδικοί πρόσβασης δεν ταιριάζουν", @@ -97,13 +98,13 @@ "metrics.devices": "Συσκευές", "metrics.events": "Γεγονότα", "metrics.filter.combined": "Σε συνδυασμό", - "metrics.filter.domain-only": "Μόνο τομέας", "metrics.filter.raw": "Ακατέργαστο", "metrics.languages": "Languages", "metrics.operating-systems": "Λειτουργικά συστήματα", "metrics.page-views": "Προβολές σελίδας", "metrics.pages": "Σελίδες", "metrics.referrers": "Παραπομπές", + "metrics.screens": "Screens", "metrics.unique-visitors": "Μοναδικοί επισκέπτες", "metrics.views": "Προβολές", "metrics.visitors": "Επισκέπτες" diff --git a/lang/en-GB.json b/lang/en-GB.json index 2da0da58..1580b500 100644 --- a/lang/en-GB.json +++ b/lang/en-GB.json @@ -37,6 +37,7 @@ "label.more": "More", "label.name": "Name", "label.new-password": "New password", + "label.none": "None", "label.owner": "Owner", "label.password": "Password", "label.passwords-dont-match": "Passwords don't match", @@ -97,15 +98,14 @@ "metrics.devices": "Devices", "metrics.events": "Events", "metrics.filter.combined": "Combined", - "metrics.filter.domain-only": "Domain only", "metrics.filter.raw": "Raw", "metrics.languages": "Languages", "metrics.operating-systems": "Operating systems", "metrics.page-views": "Page views", "metrics.pages": "Pages", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unique visitors", "metrics.views": "Views", - "metrics.visitors": "Visitors", - "metrics.screens": "Screens" + "metrics.visitors": "Visitors" } diff --git a/lang/en-US.json b/lang/en-US.json index 2da0da58..1580b500 100644 --- a/lang/en-US.json +++ b/lang/en-US.json @@ -37,6 +37,7 @@ "label.more": "More", "label.name": "Name", "label.new-password": "New password", + "label.none": "None", "label.owner": "Owner", "label.password": "Password", "label.passwords-dont-match": "Passwords don't match", @@ -97,15 +98,14 @@ "metrics.devices": "Devices", "metrics.events": "Events", "metrics.filter.combined": "Combined", - "metrics.filter.domain-only": "Domain only", "metrics.filter.raw": "Raw", "metrics.languages": "Languages", "metrics.operating-systems": "Operating systems", "metrics.page-views": "Page views", "metrics.pages": "Pages", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unique visitors", "metrics.views": "Views", - "metrics.visitors": "Visitors", - "metrics.screens": "Screens" + "metrics.visitors": "Visitors" } diff --git a/lang/es-MX.json b/lang/es-MX.json index 3f1f30c4..6615e308 100644 --- a/lang/es-MX.json +++ b/lang/es-MX.json @@ -37,6 +37,7 @@ "label.more": "Más", "label.name": "Nombre", "label.new-password": "Nueva contraseña", + "label.none": "None", "label.owner": "Propietario", "label.password": "Contraseña", "label.passwords-dont-match": "Las contraseñas no coinciden", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Únicamente dominio", "metrics.filter.raw": "Personalizado", "metrics.languages": "Idiomas", "metrics.operating-systems": "Sistemas operativos", "metrics.page-views": "Vistas", "metrics.pages": "Páginas", "metrics.referrers": "Referentes", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitantes únicos", "metrics.views": "Vistas", "metrics.visitors": "Visitantes" diff --git a/lang/fa-IR.json b/lang/fa-IR.json index a8b4a45c..a79b145a 100644 --- a/lang/fa-IR.json +++ b/lang/fa-IR.json @@ -37,6 +37,7 @@ "label.more": "بیشتر", "label.name": "نام", "label.new-password": "رمز جدید", + "label.none": "None", "label.owner": "ایجاد شده توسط", "label.password": "رمز", "label.passwords-dont-match": "رمزها یکسان نیستند", @@ -97,13 +98,13 @@ "metrics.devices": "دستگاه‌ها", "metrics.events": "رویدادها", "metrics.filter.combined": "ترکیب شده", - "metrics.filter.domain-only": "فقط دامنه", "metrics.filter.raw": "خام", "metrics.languages": "زبان‌ها", "metrics.operating-systems": "سیستم‌عامل‌ها", "metrics.page-views": "بازدید صفحه", "metrics.pages": "صفحه‌ها", "metrics.referrers": "ارجاع دهندگان", + "metrics.screens": "Screens", "metrics.unique-visitors": "بازدیدکننده‌های یکتا", "metrics.views": "بازدید", "metrics.visitors": "بازدیدکننده" diff --git a/lang/fi-FI.json b/lang/fi-FI.json index eb643478..5a30072b 100644 --- a/lang/fi-FI.json +++ b/lang/fi-FI.json @@ -37,6 +37,7 @@ "label.more": "Lisää", "label.name": "Nimi", "label.new-password": "Uusi salasana", + "label.none": "None", "label.owner": "Omistaja", "label.password": "Salasana", "label.passwords-dont-match": "Salasanat eivät täsmää", @@ -97,13 +98,13 @@ "metrics.devices": "Laitteet", "metrics.events": "Tapahtumat", "metrics.filter.combined": "Yhdistetty", - "metrics.filter.domain-only": "Vain verkkotunnus", "metrics.filter.raw": "Käsittelemätön", "metrics.languages": "Kielet", "metrics.operating-systems": "Käyttöjärjestelmät", "metrics.page-views": "Sivun näyttökerrat", "metrics.pages": "Sivut", "metrics.referrers": "Viittaajat", + "metrics.screens": "Screens", "metrics.unique-visitors": "Yksittäiset kävijät", "metrics.views": "Näyttökerrat", "metrics.visitors": "Vierailijat" diff --git a/lang/fo-FO.json b/lang/fo-FO.json index 698d6dd2..0187dcbb 100644 --- a/lang/fo-FO.json +++ b/lang/fo-FO.json @@ -37,6 +37,7 @@ "label.more": "Meira", "label.name": "Navn", "label.new-password": "Nýtt loyniorð", + "label.none": "None", "label.owner": "Owner", "label.password": "Loyniorð", "label.passwords-dont-match": "Loyniorðini eru ikki eins", @@ -97,13 +98,13 @@ "metrics.devices": "Tóleindir", "metrics.events": "Hendingar/tiltøk", "metrics.filter.combined": "Samansett", - "metrics.filter.domain-only": "Bara økisnavn", "metrics.filter.raw": "Óviðgjørt", "metrics.languages": "Languages", "metrics.operating-systems": "Stýrikervir", "metrics.page-views": "Opnaðar síðir", "metrics.pages": "Síðir", "metrics.referrers": "Framsendingar", + "metrics.screens": "Screens", "metrics.unique-visitors": "Einsýna vitjanir", "metrics.views": "Sýningar", "metrics.visitors": "Vitjandi" diff --git a/lang/fr-FR.json b/lang/fr-FR.json index 7b5ca734..8655eefc 100644 --- a/lang/fr-FR.json +++ b/lang/fr-FR.json @@ -37,6 +37,7 @@ "label.more": "Plus", "label.name": "Nom", "label.new-password": "Nouveau mot de passe", + "label.none": "None", "label.owner": "Propriétaire", "label.password": "Mot de passe", "label.passwords-dont-match": "Les mots de passe ne correspondent pas", @@ -97,13 +98,13 @@ "metrics.devices": "Appareils", "metrics.events": "Événements", "metrics.filter.combined": "Combiné", - "metrics.filter.domain-only": "Domaine uniquement", "metrics.filter.raw": "Brut", "metrics.languages": "Langages", "metrics.operating-systems": "Systèmes d'exploitation", "metrics.page-views": "Pages vues", "metrics.pages": "Pages", "metrics.referrers": "Sources", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visiteurs uniques", "metrics.views": "Vues", "metrics.visitors": "Visiteurs" diff --git a/lang/ga-ES.json b/lang/ga-ES.json index 7d4423bb..0a13935d 100644 --- a/lang/ga-ES.json +++ b/lang/ga-ES.json @@ -37,6 +37,7 @@ "label.more": "Máis", "label.name": "Nome", "label.new-password": "Novo contrasinal", + "label.none": "None", "label.owner": "Dona", "label.password": "Contrasinal", "label.passwords-dont-match": "Non concordan os contrasinais", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Só dominio", "metrics.filter.raw": "Raw", "metrics.languages": "Idiomas", "metrics.operating-systems": "Sistemas operativos", "metrics.page-views": "Vistas de páxinas", "metrics.pages": "Páxinas", "metrics.referrers": "Orixes", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitas únicas", "metrics.views": "Visualizacións", "metrics.visitors": "Visitantes" diff --git a/lang/he-IL.json b/lang/he-IL.json index 2b384898..8edb685d 100644 --- a/lang/he-IL.json +++ b/lang/he-IL.json @@ -37,6 +37,7 @@ "label.more": "עוד", "label.name": "שם", "label.new-password": "סיסמה חדשה", + "label.none": "None", "label.owner": "Owner", "label.password": "סיסמה", "label.passwords-dont-match": "סיסמאות לא תואמות", @@ -97,13 +98,13 @@ "metrics.devices": "מכשירים", "metrics.events": "אירועים", "metrics.filter.combined": "משותף", - "metrics.filter.domain-only": "דומיין בלבד", "metrics.filter.raw": "גולמי", "metrics.languages": "Languages", "metrics.operating-systems": "מערכות הפעלה", "metrics.page-views": "צפיות בדפים", "metrics.pages": "דפים", "metrics.referrers": "מפנים", + "metrics.screens": "Screens", "metrics.unique-visitors": "מבקרים ייחודיים", "metrics.views": "צפיות", "metrics.visitors": "מבקרים" diff --git a/lang/hi-IN.json b/lang/hi-IN.json index 56bab323..f139dbdd 100644 --- a/lang/hi-IN.json +++ b/lang/hi-IN.json @@ -37,6 +37,7 @@ "label.more": "और", "label.name": "नाम", "label.new-password": "नया पासवर्ड", + "label.none": "None", "label.owner": "Owner", "label.password": "पासवर्ड", "label.passwords-dont-match": "पासवर्ड मेल नहीं खाते", @@ -97,13 +98,13 @@ "metrics.devices": "उपकरण", "metrics.events": "स्पर्धाएँ", "metrics.filter.combined": "संयुक्त", - "metrics.filter.domain-only": "केवल डोमेन", "metrics.filter.raw": "रॉ", "metrics.languages": "Languages", "metrics.operating-systems": "ऑपरेटिंग सिस्टम", "metrics.page-views": "पृष्ठ दृश्य", "metrics.pages": "पृष्ठों", "metrics.referrers": "सन्दर्भदाता", + "metrics.screens": "Screens", "metrics.unique-visitors": "अद्वितीय आगंतुकों", "metrics.views": "दृश्य", "metrics.visitors": "आगंतुकों" diff --git a/lang/hu-HU.json b/lang/hu-HU.json index df0c97ad..261d736e 100644 --- a/lang/hu-HU.json +++ b/lang/hu-HU.json @@ -37,6 +37,7 @@ "label.more": "Bővebben", "label.name": "Név", "label.new-password": "Új jelszó", + "label.none": "None", "label.owner": "Owner", "label.password": "Jelszó", "label.passwords-dont-match": "A jelszavak nem egyeznek", @@ -97,13 +98,13 @@ "metrics.devices": "Eszközök", "metrics.events": "Események", "metrics.filter.combined": "Összevont", - "metrics.filter.domain-only": "Csak domain", "metrics.filter.raw": "Nyers", "metrics.languages": "Languages", "metrics.operating-systems": "Operációs rendszerek", "metrics.page-views": "Oldalmegtekintések", "metrics.pages": "Oldalak", "metrics.referrers": "Hivatkozók", + "metrics.screens": "Screens", "metrics.unique-visitors": "Egyedi látogatók", "metrics.views": "Megtekintések", "metrics.visitors": "Látogatók" diff --git a/lang/id-ID.json b/lang/id-ID.json index 8da792d4..225c4070 100644 --- a/lang/id-ID.json +++ b/lang/id-ID.json @@ -37,6 +37,7 @@ "label.more": "Lebih banyak", "label.name": "Nama", "label.new-password": "Kata sandi baru", + "label.none": "None", "label.owner": "Owner", "label.password": "Kata sandi", "label.passwords-dont-match": "Kata sandi tidak cocok", @@ -97,13 +98,13 @@ "metrics.devices": "Perangkat", "metrics.events": "Perihal", "metrics.filter.combined": "Gabungan", - "metrics.filter.domain-only": "Hanya domain", "metrics.filter.raw": "Mentah", "metrics.languages": "Languages", "metrics.operating-systems": "Sistem Operasi", "metrics.page-views": "Tampilan halaman", "metrics.pages": "Halaman", "metrics.referrers": "Perujuk", + "metrics.screens": "Screens", "metrics.unique-visitors": "Pengunjung unik", "metrics.views": "Tampilan", "metrics.visitors": "Pengunjung" diff --git a/lang/it-IT.json b/lang/it-IT.json index 71c22142..88dfd30a 100644 --- a/lang/it-IT.json +++ b/lang/it-IT.json @@ -37,6 +37,7 @@ "label.more": "Dettagli", "label.name": "Nome", "label.new-password": "Nuova password", + "label.none": "None", "label.owner": "Proprietario", "label.password": "Password", "label.passwords-dont-match": "Le password non corrispondono", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivi", "metrics.events": "Eventi", "metrics.filter.combined": "Aggregati", - "metrics.filter.domain-only": "Solo dominio", "metrics.filter.raw": "Raw", "metrics.languages": "Lingue", "metrics.operating-systems": "Sistemi operativi", "metrics.page-views": "Visualizzazioni di pagina", "metrics.pages": "Pagine", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitatori unici", "metrics.views": "Visualizzazioni", "metrics.visitors": "Visitatori" diff --git a/lang/ja-JP.json b/lang/ja-JP.json index 8106fe73..1055319f 100644 --- a/lang/ja-JP.json +++ b/lang/ja-JP.json @@ -37,6 +37,7 @@ "label.more": "さらに表示", "label.name": "名前", "label.new-password": "新しいパスワード", + "label.none": "None", "label.owner": "Owner", "label.password": "パスワード", "label.passwords-dont-match": "パスワードが一致しません", @@ -97,13 +98,13 @@ "metrics.devices": "デバイス", "metrics.events": "イベント", "metrics.filter.combined": "パスまで", - "metrics.filter.domain-only": "ドメインのみ", "metrics.filter.raw": "すべて表示", "metrics.languages": "Languages", "metrics.operating-systems": "OS", "metrics.page-views": "閲覧数", "metrics.pages": "ページ", "metrics.referrers": "リファラー", + "metrics.screens": "Screens", "metrics.unique-visitors": "ユニーク訪問者数", "metrics.views": "閲覧数", "metrics.visitors": "訪問者数" diff --git a/lang/ko-KR.json b/lang/ko-KR.json index c3c4b877..fa22decf 100644 --- a/lang/ko-KR.json +++ b/lang/ko-KR.json @@ -37,6 +37,7 @@ "label.more": "더 보기", "label.name": "이름", "label.new-password": "새 비밀번호", + "label.none": "None", "label.owner": "Owner", "label.password": "비밀번호", "label.passwords-dont-match": "비밀번호가 일치하지 않음", @@ -97,13 +98,13 @@ "metrics.devices": "기기", "metrics.events": "이벤트", "metrics.filter.combined": "합쳐서 보기", - "metrics.filter.domain-only": "도메인만", "metrics.filter.raw": "전체 보기", "metrics.languages": "Languages", "metrics.operating-systems": "운영체제", "metrics.page-views": "페이지 뷰(PV)", "metrics.pages": "페이지", "metrics.referrers": "리퍼러", + "metrics.screens": "Screens", "metrics.unique-visitors": "순방문자(UV)", "metrics.views": "조회수", "metrics.visitors": "방문객" diff --git a/lang/lt-LT.json b/lang/lt-LT.json index 35b6c0fc..e6a8e9ff 100644 --- a/lang/lt-LT.json +++ b/lang/lt-LT.json @@ -37,6 +37,7 @@ "label.more": "Daugiau", "label.name": "Pavadinimas", "label.new-password": "Naujas slaptažodis", + "label.none": "None", "label.owner": "Savininkas", "label.password": "Slaptažodis", "label.passwords-dont-match": "Slaptažodžiai nesutampa", @@ -97,13 +98,13 @@ "metrics.devices": "Įrenginiai", "metrics.events": "Įvykiai", "metrics.filter.combined": "Kombinuoti", - "metrics.filter.domain-only": "Tik domenas", "metrics.filter.raw": "Neapdoroti", "metrics.languages": "Kalbos", "metrics.operating-systems": "Operacinės sistemos", "metrics.page-views": "Puslapių peržiūros", "metrics.pages": "Puslapiai", "metrics.referrers": "Referrers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikalūs lankytojai", "metrics.views": "Peržiūros", "metrics.visitors": "Lankytojai" diff --git a/lang/mn-MN.json b/lang/mn-MN.json index f00beffc..488a0eec 100644 --- a/lang/mn-MN.json +++ b/lang/mn-MN.json @@ -37,6 +37,7 @@ "label.more": "Цааш", "label.name": "Нэр", "label.new-password": "Шинэ нууц үг", + "label.none": "None", "label.owner": "Эзэмшигч", "label.password": "Нууц үг", "label.passwords-dont-match": "Нууц үг тохирохгүй байна", @@ -97,13 +98,13 @@ "metrics.devices": "Төхөөрөмж", "metrics.events": "Үйлдэл", "metrics.filter.combined": "Нэгтгэсэн", - "metrics.filter.domain-only": "Зөвхөн домэйн", "metrics.filter.raw": "Түүхий", "metrics.languages": "Хэл", "metrics.operating-systems": "Үйлдлийн систем", "metrics.page-views": "Хуудас үзсэн", "metrics.pages": "Хуудас", "metrics.referrers": "Чиглүүлэгч", + "metrics.screens": "Screens", "metrics.unique-visitors": "Зочин", "metrics.views": "Үзсэн", "metrics.visitors": "Зочин" diff --git a/lang/ms-MY.json b/lang/ms-MY.json index be44f363..be420352 100644 --- a/lang/ms-MY.json +++ b/lang/ms-MY.json @@ -37,6 +37,7 @@ "label.more": "Lebih banyak lagi", "label.name": "Nama", "label.new-password": "Kata laluan baru", + "label.none": "None", "label.owner": "Owner", "label.password": "Kata laluan", "label.passwords-dont-match": "Kata laluan tidak sepadan", @@ -97,13 +98,13 @@ "metrics.devices": "Peranti", "metrics.events": "Peristiwa", "metrics.filter.combined": "Digabungkan", - "metrics.filter.domain-only": "Domain sahaja", "metrics.filter.raw": "Mentah", "metrics.languages": "Languages", "metrics.operating-systems": "Sistem operasi", "metrics.page-views": "Paparan halaman", "metrics.pages": "Halaman", "metrics.referrers": "Perujuk", + "metrics.screens": "Screens", "metrics.unique-visitors": "Pelawat unik", "metrics.views": "Lawatan", "metrics.visitors": "Pelawat" diff --git a/lang/nb-NO.json b/lang/nb-NO.json index 7a9bbc37..c42fbbbd 100644 --- a/lang/nb-NO.json +++ b/lang/nb-NO.json @@ -37,6 +37,7 @@ "label.more": "Mer", "label.name": "Navn", "label.new-password": "Nytt passord", + "label.none": "None", "label.owner": "Eier", "label.password": "Passord", "label.passwords-dont-match": "Passordene er ikke like", @@ -97,14 +98,14 @@ "metrics.devices": "Enheter", "metrics.events": "Arrangementer", "metrics.filter.combined": "Kombinert", - "metrics.filter.domain-only": "Bare domene", "metrics.filter.raw": "Rå", "metrics.languages": "Språk", "metrics.operating-systems": "Operativsystemer", "metrics.page-views": "Sidevisninger", "metrics.pages": "Sider", "metrics.referrers": "Referanser", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unike besøkende", "metrics.views": "Visninger", "metrics.visitors": "Besøkende" -} \ No newline at end of file +} diff --git a/lang/nl-NL.json b/lang/nl-NL.json index 9586aab9..fff2cea6 100644 --- a/lang/nl-NL.json +++ b/lang/nl-NL.json @@ -37,6 +37,7 @@ "label.more": "Toon meer", "label.name": "Naam", "label.new-password": "Nieuw wachtwoord", + "label.none": "None", "label.owner": "Eigenaar", "label.password": "Wachtwoord", "label.passwords-dont-match": "Wachtwoorden komen niet overeen", @@ -97,13 +98,13 @@ "metrics.devices": "Apparaten", "metrics.events": "Gebeurtenissen", "metrics.filter.combined": "Gecombineerd", - "metrics.filter.domain-only": "Alleen domein", "metrics.filter.raw": "Ruw", "metrics.languages": "Languages", "metrics.operating-systems": "Besturingssystemen", "metrics.page-views": "Paginaweergaven", "metrics.pages": "Pagina's", "metrics.referrers": "Verwijzers", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unieke bezoekers", "metrics.views": "Weergaven", "metrics.visitors": "Bezoekers" diff --git a/lang/pl-PL.json b/lang/pl-PL.json index 32798238..8669f7ab 100644 --- a/lang/pl-PL.json +++ b/lang/pl-PL.json @@ -37,6 +37,7 @@ "label.more": "Więcej", "label.name": "Nazwa", "label.new-password": "Nowe hasło", + "label.none": "None", "label.owner": "Właściciel", "label.password": "Hasło", "label.passwords-dont-match": "Hasła się nie zgadzają", @@ -97,13 +98,13 @@ "metrics.devices": "Urządzenia", "metrics.events": "Zdarzenia", "metrics.filter.combined": "Połączone", - "metrics.filter.domain-only": "Tylko domena", "metrics.filter.raw": "Surowe dane", "metrics.languages": "Języki", "metrics.operating-systems": "System operacyjny", "metrics.page-views": "Wyświetlenia strony", "metrics.pages": "Strony", "metrics.referrers": "Źródła odsyłające", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikalni odwiedzający", "metrics.views": "Wyświetlenia", "metrics.visitors": "Odwiedzający" diff --git a/lang/pt-BR.json b/lang/pt-BR.json index f5e5dd57..7f56236f 100644 --- a/lang/pt-BR.json +++ b/lang/pt-BR.json @@ -37,6 +37,7 @@ "label.more": "Mais", "label.name": "Nome", "label.new-password": "Nova senha", + "label.none": "None", "label.owner": "Proprietário", "label.password": "Senha", "label.passwords-dont-match": "As senhas não correspondem", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Apenas domínio", "metrics.filter.raw": "Dados brutos", "metrics.languages": "Idiomas", "metrics.operating-systems": "Sistemas operacionais", "metrics.page-views": "Visualizações de página", "metrics.pages": "Páginas", "metrics.referrers": "Referências", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitantes únicos", "metrics.views": "Visualizações", "metrics.visitors": "Visitantes" diff --git a/lang/pt-PT.json b/lang/pt-PT.json index 0c5bb7f8..018239fa 100644 --- a/lang/pt-PT.json +++ b/lang/pt-PT.json @@ -37,6 +37,7 @@ "label.more": "Mais", "label.name": "Nome", "label.new-password": "Nova senha", + "label.none": "None", "label.owner": "Proprietário", "label.password": "Senha", "label.passwords-dont-match": "As senhas não coincidem", @@ -97,13 +98,13 @@ "metrics.devices": "Dispositivos", "metrics.events": "Eventos", "metrics.filter.combined": "Combinado", - "metrics.filter.domain-only": "Apenas domínio", "metrics.filter.raw": "Dados brutos", "metrics.languages": "Línguas", "metrics.operating-systems": "Sistemas operativos", "metrics.page-views": "Visualizações da página", "metrics.pages": "Páginas", "metrics.referrers": "Referenciadores", + "metrics.screens": "Screens", "metrics.unique-visitors": "Visitantes únicos", "metrics.views": "Visualizações", "metrics.visitors": "Visitantes" diff --git a/lang/ro-RO.json b/lang/ro-RO.json index 9fdb9560..1be18a75 100644 --- a/lang/ro-RO.json +++ b/lang/ro-RO.json @@ -37,6 +37,7 @@ "label.more": "Mai mult", "label.name": "Nume", "label.new-password": "Parola nouă", + "label.none": "None", "label.owner": "Owner", "label.password": "Parolă", "label.passwords-dont-match": "Parolele nu se potrivesc", @@ -97,13 +98,13 @@ "metrics.devices": "Dispozitive", "metrics.events": "Evenimente", "metrics.filter.combined": "Combinat", - "metrics.filter.domain-only": "Numai domeniu", "metrics.filter.raw": "Brut", "metrics.languages": "Languages", "metrics.operating-systems": "Sisteme de operare", "metrics.page-views": "Vizualizări de pagină", "metrics.pages": "Pagini", "metrics.referrers": "Site-uri de proveniență", + "metrics.screens": "Screens", "metrics.unique-visitors": "Vizitatori unici", "metrics.views": "Vizualizări", "metrics.visitors": "Vizitatori" diff --git a/lang/ru-RU.json b/lang/ru-RU.json index be61788a..43817f25 100644 --- a/lang/ru-RU.json +++ b/lang/ru-RU.json @@ -37,6 +37,7 @@ "label.more": "Больше", "label.name": "Имя", "label.new-password": "Новый пароль", + "label.none": "None", "label.owner": "Владелец", "label.password": "Пароль", "label.passwords-dont-match": "Пароли не совпадают", @@ -97,13 +98,13 @@ "metrics.devices": "Устройства", "metrics.events": "События", "metrics.filter.combined": "Объединенные", - "metrics.filter.domain-only": "Только домен", "metrics.filter.raw": "Сырые данные", "metrics.languages": "Языки", "metrics.operating-systems": "Операционные системы", "metrics.page-views": "Просмотры страниц", "metrics.pages": "Страницы", "metrics.referrers": "Источники", + "metrics.screens": "Screens", "metrics.unique-visitors": "Уникальные посетители", "metrics.views": "Просмотры", "metrics.visitors": "Посетители" diff --git a/lang/sk-SK.json b/lang/sk-SK.json index 78af4751..0c810f61 100644 --- a/lang/sk-SK.json +++ b/lang/sk-SK.json @@ -37,6 +37,7 @@ "label.more": "Viac", "label.name": "Meno", "label.new-password": "Nové heslo", + "label.none": "None", "label.owner": "Owner", "label.password": "Heslo", "label.passwords-dont-match": "Hesla se nezhodujú", @@ -97,13 +98,13 @@ "metrics.devices": "Zariadenie", "metrics.events": "Udalosti", "metrics.filter.combined": "Kombinácie", - "metrics.filter.domain-only": "Domény", "metrics.filter.raw": "Nezpracované", "metrics.languages": "Languages", "metrics.operating-systems": "Operačný systém", "metrics.page-views": "Zobrazenie stánok", "metrics.pages": "Stránky", "metrics.referrers": "Odkazy", + "metrics.screens": "Screens", "metrics.unique-visitors": "Jedinečné návštevy", "metrics.views": "Zobrazení", "metrics.visitors": "Návštevy" diff --git a/lang/sl-SI.json b/lang/sl-SI.json index 059ab473..e0e77118 100644 --- a/lang/sl-SI.json +++ b/lang/sl-SI.json @@ -37,6 +37,7 @@ "label.more": "Več", "label.name": "Ime", "label.new-password": "Novo geslo", + "label.none": "None", "label.owner": "Owner", "label.password": "Geslo", "label.passwords-dont-match": "Gesli se ne ujemata", @@ -97,13 +98,13 @@ "metrics.devices": "Naprave", "metrics.events": "Dogodki", "metrics.filter.combined": "Skupno", - "metrics.filter.domain-only": "Samo domena", "metrics.filter.raw": "Neobdelane meritve", "metrics.languages": "Languages", "metrics.operating-systems": "Operacijski sistemi", "metrics.page-views": "Ogledi strani", "metrics.pages": "Strani", "metrics.referrers": "Viri", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unikatni obiskovalci", "metrics.views": "Ogledi", "metrics.visitors": "Obiskovalci" diff --git a/lang/sv-SE.json b/lang/sv-SE.json index 2cc8ab6f..1ad63afb 100644 --- a/lang/sv-SE.json +++ b/lang/sv-SE.json @@ -37,6 +37,7 @@ "label.more": "Mer", "label.name": "Namn", "label.new-password": "Nytt lösenord", + "label.none": "None", "label.owner": "Ägare", "label.password": "Lösenord", "label.passwords-dont-match": "Lösenorden är inte samma", @@ -97,13 +98,13 @@ "metrics.devices": "Enheter", "metrics.events": "Händelser", "metrics.filter.combined": "Kombinerade", - "metrics.filter.domain-only": "Endast domän", "metrics.filter.raw": "Rådata", "metrics.languages": "Språk", "metrics.operating-systems": "Operativsystem", "metrics.page-views": "Sidvisningar", "metrics.pages": "Sidor", "metrics.referrers": "Hänvisare", + "metrics.screens": "Screens", "metrics.unique-visitors": "Unika besökare", "metrics.views": "Visningar", "metrics.visitors": "Besökare" diff --git a/lang/ta-IN.json b/lang/ta-IN.json index 2917cddb..483373a2 100644 --- a/lang/ta-IN.json +++ b/lang/ta-IN.json @@ -37,6 +37,7 @@ "label.more": "மேலும்", "label.name": "பெயர்", "label.new-password": "புதிய கடவுச்சொல்", + "label.none": "None", "label.owner": "Owner", "label.password": "கடவுச்சொல்", "label.passwords-dont-match": "இருக்கடவுச்சொல் பொருந்தவில்லை", @@ -97,13 +98,13 @@ "metrics.devices": "சாதனங்கள்", "metrics.events": "நிகழ்வுகள்", "metrics.filter.combined": "ஒருங்கிணைந்த", - "metrics.filter.domain-only": "கள முகவரி மட்டும்", "metrics.filter.raw": "மூல", "metrics.languages": "Languages", "metrics.operating-systems": "இயக்க முறைமைகள்", "metrics.page-views": "பக்க காட்சிகள்", "metrics.pages": "பக்கங்கள்", "metrics.referrers": "குறிப்பிடுவோர்", + "metrics.screens": "Screens", "metrics.unique-visitors": "தனிப்பட்ட பார்வையாளர்கள்", "metrics.views": "பார்வைகள்", "metrics.visitors": "பார்வையாளர்கள்" diff --git a/lang/tr-TR.json b/lang/tr-TR.json index 04ebe32d..81fdf3f9 100644 --- a/lang/tr-TR.json +++ b/lang/tr-TR.json @@ -37,6 +37,7 @@ "label.more": "Detaylı göster", "label.name": "İsim", "label.new-password": "Yeni parola", + "label.none": "None", "label.owner": "Owner", "label.password": "Parola", "label.passwords-dont-match": "Parolalar uyuşmuyor", @@ -97,15 +98,14 @@ "metrics.devices": "Cihazlar", "metrics.events": "Olaylar", "metrics.filter.combined": "Birleşik", - "metrics.filter.domain-only": "Yalnızca alan adı", "metrics.filter.raw": "Ham", "metrics.languages": "Languages", "metrics.operating-systems": "İşletim sistemi", "metrics.page-views": "Sayfa görünümü", "metrics.pages": "Sayfalar", "metrics.referrers": "Yönlendirenler", + "metrics.screens": "Ekranlar", "metrics.unique-visitors": "Tekil kullanıcı", "metrics.views": "Görüntüleme", - "metrics.visitors": "Ziyaretçi", - "metrics.screens": "Ekranlar" + "metrics.visitors": "Ziyaretçi" } diff --git a/lang/uk-UA.json b/lang/uk-UA.json index bd3a02d2..a6f6be84 100644 --- a/lang/uk-UA.json +++ b/lang/uk-UA.json @@ -37,6 +37,7 @@ "label.more": "Більше", "label.name": "Ім'я", "label.new-password": "Новий пароль", + "label.none": "None", "label.owner": "Власник", "label.password": "Пароль", "label.passwords-dont-match": "Паролі не співпадають", @@ -97,13 +98,13 @@ "metrics.devices": "Пристрої", "metrics.events": "Події", "metrics.filter.combined": "Об'єднані", - "metrics.filter.domain-only": "Лише домен", "metrics.filter.raw": "Сирі дані", "metrics.languages": "Мови", "metrics.operating-systems": "Операційні системи", "metrics.page-views": "Перегляди сторінок", "metrics.pages": "Сторінки", "metrics.referrers": "Джерела", + "metrics.screens": "Screens", "metrics.unique-visitors": "Унікальні відвідувачі", "metrics.views": "Перегляди", "metrics.visitors": "Відвідувачі" diff --git a/lang/ur-PK.json b/lang/ur-PK.json index dac2bfb5..7b96268e 100644 --- a/lang/ur-PK.json +++ b/lang/ur-PK.json @@ -37,6 +37,7 @@ "label.more": "مزید", "label.name": "نام", "label.new-password": "نیا پاس ورڈ", + "label.none": "None", "label.owner": "مالک", "label.password": "پاس ورڈ", "label.passwords-dont-match": "پاس ورڈز مماثل نہیں ہیں", @@ -97,13 +98,13 @@ "metrics.devices": "آلات", "metrics.events": "واقعات", "metrics.filter.combined": "مشترکہ", - "metrics.filter.domain-only": "صرف ڈومین", "metrics.filter.raw": "خام", "metrics.languages": "زبانیں", "metrics.operating-systems": "آپریٹنگ سسٹمز", "metrics.page-views": "صفحہ کے نظارے", "metrics.pages": "صفحات", "metrics.referrers": "بھیجنے والے", + "metrics.screens": "Screens", "metrics.unique-visitors": "منفرد زائرین", "metrics.views": "مناظر", "metrics.visitors": "زائرین" diff --git a/lang/vi-VN.json b/lang/vi-VN.json index 5c71aae7..efd00a09 100644 --- a/lang/vi-VN.json +++ b/lang/vi-VN.json @@ -37,6 +37,7 @@ "label.more": "Thêm", "label.name": "Tên", "label.new-password": "Mật khẩu mới", + "label.none": "None", "label.owner": "Chủ sở hữu", "label.password": "Mật khẩu", "label.passwords-dont-match": "Mật khẩu không đồng nhất", @@ -97,13 +98,13 @@ "metrics.devices": "Thiết bị", "metrics.events": "Sự kiện", "metrics.filter.combined": "Kết hợp", - "metrics.filter.domain-only": "Chỉ tên miền", "metrics.filter.raw": "Gốc", "metrics.languages": "Ngôn ngữ", "metrics.operating-systems": "Hệ điều hành", "metrics.page-views": "Lượt xem", "metrics.pages": "Trang", "metrics.referrers": "Liên kết giới thiệu", + "metrics.screens": "Screens", "metrics.unique-visitors": "Khách truy cập một lần", "metrics.views": "Xem", "metrics.visitors": "Khách" diff --git a/lang/zh-CN.json b/lang/zh-CN.json index 506c99b8..8e6a3bfc 100644 --- a/lang/zh-CN.json +++ b/lang/zh-CN.json @@ -37,6 +37,7 @@ "label.more": "更多", "label.name": "名字", "label.new-password": "新密码", + "label.none": "None", "label.owner": "所有者", "label.password": "密码", "label.passwords-dont-match": "密码不一致", @@ -97,13 +98,13 @@ "metrics.devices": "设备", "metrics.events": "行为类别", "metrics.filter.combined": "总和", - "metrics.filter.domain-only": "只看域名", "metrics.filter.raw": "原始", "metrics.languages": "语言", "metrics.operating-systems": "操作系统", "metrics.page-views": "页面浏览量", "metrics.pages": "网页", "metrics.referrers": "来源域名", + "metrics.screens": "Screens", "metrics.unique-visitors": "独立访客", "metrics.views": "浏览量", "metrics.visitors": "访客" diff --git a/lang/zh-TW.json b/lang/zh-TW.json index d1964b21..77ce6204 100644 --- a/lang/zh-TW.json +++ b/lang/zh-TW.json @@ -37,6 +37,7 @@ "label.more": "更多", "label.name": "名字", "label.new-password": "新密碼", + "label.none": "None", "label.owner": "Owner", "label.password": "密碼", "label.passwords-dont-match": "密碼不一致", @@ -97,13 +98,13 @@ "metrics.devices": "裝置", "metrics.events": "行為類別", "metrics.filter.combined": "總和", - "metrics.filter.domain-only": "僅域名", "metrics.filter.raw": "原始", "metrics.languages": "Languages", "metrics.operating-systems": "操作系统", "metrics.page-views": "網頁流量", "metrics.pages": "網頁", "metrics.referrers": "指入域名", + "metrics.screens": "Screens", "metrics.unique-visitors": "獨立訪客", "metrics.views": "頁面流量", "metrics.visitors": "獨立訪客" diff --git a/lib/filters.js b/lib/filters.js index baefcda7..86e9ae41 100644 --- a/lib/filters.js +++ b/lib/filters.js @@ -1,14 +1,10 @@ -import { removeTrailingSlash, removeWWW, getDomainName } from './url'; +import { removeWWW } from './url'; -export const urlFilter = (data, { raw }) => { +export const urlFilter = data => { const isValidUrl = url => { return url !== '' && url !== null && !url.startsWith('#'); }; - if (raw) { - return data.filter(({ x }) => isValidUrl(x)); - } - const cleanUrl = url => { try { const { pathname, search } = new URL(url, location.origin); @@ -44,68 +40,26 @@ export const urlFilter = (data, { raw }) => { return Object.keys(map).map(key => ({ x: key, y: map[key] })); }; -export const refFilter = (data, { domain, domainOnly, raw }) => { - const domainName = getDomainName(domain); - const regex = new RegExp(`http[s]?://([a-z0-9-]+\\.)*${domainName}`); +export const refFilter = data => { const links = {}; - const isValidRef = referrer => { - return referrer !== null && !referrer.startsWith('/') && !referrer.startsWith('#'); - }; - - const cleanUrl = url => { - try { - if (url === '') { - return 'Direct / None'; - } - - const { hostname, origin, pathname, searchParams, protocol } = new URL(url); - - if (regex.test(url)) { - return null; - } - - if (domainOnly && hostname) { - return removeWWW(hostname); - } - - if (!origin || origin === 'null') { - return `${protocol}${removeTrailingSlash(pathname)}`; - } - - if (protocol.startsWith('http')) { - const path = removeTrailingSlash(pathname); - const referrer = searchParams.get('referrer'); - const query = referrer ? `?referrer=${referrer}` : ''; - - return removeTrailingSlash(`${removeWWW(hostname)}${path}`) + query; - } - - return null; - } catch { - return null; - } - }; - - if (raw) { - return data.filter(({ x }) => isValidRef(x) && !regex.test(x)); - } - const map = data.reduce((obj, { x, y }) => { - if (!isValidRef(x)) { - return obj; + let id; + + try { + const url = new URL(x); + + id = removeWWW(url.hostname) || url.href; + } catch { + id = ''; } - const url = cleanUrl(x); + links[id] = x; - links[url] = x; - - if (url) { - if (!obj[url]) { - obj[url] = y; - } else { - obj[url] += y; - } + if (!obj[id]) { + obj[id] = y; + } else { + obj[id] += y; } return obj; diff --git a/lib/queries.js b/lib/queries.js index 98fc6aa3..4317d5f4 100644 --- a/lib/queries.js +++ b/lib/queries.js @@ -59,11 +59,11 @@ export function getTimestampInterval(field) { } } -export function getFilterQuery(table, filters = {}, params = []) { +export function getFilterQuery(table, column, filters = {}, params = []) { const query = Object.keys(filters).reduce((arr, key) => { const value = filters[key]; - if (value === undefined) { + if (!value || value === true) { return arr; } @@ -94,7 +94,8 @@ export function getFilterQuery(table, filters = {}, params = []) { case 'referrer': if (table === 'pageview') { - arr.push(`and ${table}.referrer like $${params.length + 1}`); + arr.push(`and ${table}.referrer like $${params.length + 1} `); + arr.push(`and ${table}.referrer not like '/%'`); params.push(`%${decodeURIComponent(value)}%`); } break; @@ -114,7 +115,7 @@ export function getFilterQuery(table, filters = {}, params = []) { return query.join('\n'); } -export function parseFilters(table, filters = {}, params = []) { +export function parseFilters(table, column, filters = {}, params = []) { const { domain, url, event_url, referrer, os, browser, device, country, event_type } = filters; const pageviewFilters = { domain, url, referrer }; @@ -130,9 +131,9 @@ export function parseFilters(table, filters = {}, params = []) { os || browser || device || country ? `inner join session on ${table}.session_id = session.session_id` : '', - pageviewQuery: getFilterQuery('pageview', pageviewFilters, params), - sessionQuery: getFilterQuery('session', sessionFilters, params), - eventQuery: getFilterQuery('event', eventFilters, params), + pageviewQuery: getFilterQuery('pageview', column, pageviewFilters, params), + sessionQuery: getFilterQuery('session', column, sessionFilters, params), + eventQuery: getFilterQuery('event', column, eventFilters, params), }; } diff --git a/lib/url.js b/lib/url.js index 9bd8a3ab..644770b6 100644 --- a/lib/url.js +++ b/lib/url.js @@ -6,14 +6,6 @@ export function removeWWW(url) { return url && url.length > 1 && url.startsWith('www.') ? url.slice(4) : url; } -export function getDomainName(str) { - try { - return new URL(str).hostname; - } catch (e) { - return str; - } -} - export function getQueryString(params = {}) { const map = Object.keys(params).reduce((arr, key) => { if (params[key] !== undefined) { diff --git a/pages/api/website/[id]/metrics.js b/pages/api/website/[id]/metrics.js index cdba345c..09229408 100644 --- a/pages/api/website/[id]/metrics.js +++ b/pages/api/website/[id]/metrics.js @@ -69,7 +69,7 @@ export default async (req, res) => { if (pageviewColumns.includes(type) || type === 'event') { let domain; if (type === 'referrer') { - const website = getWebsiteById(websiteId); + const website = await getWebsiteById(websiteId); if (!website) { return badRequest(res); @@ -80,17 +80,18 @@ export default async (req, res) => { const column = getColumn(type); const table = getTable(type); - - const data = await getPageviewMetrics(websiteId, startDate, endDate, column, table, { + const filters = { domain, url: type !== 'url' && table !== 'event' ? url : undefined, - referrer: type !== 'referrer' ? referrer : undefined, + referrer: type !== 'referrer' ? referrer : true, os: type !== 'os' ? os : undefined, browser: type !== 'browser' ? browser : undefined, device: type !== 'device' ? device : undefined, country: type !== 'country' ? country : undefined, event_url: type !== 'url' && table === 'event' ? url : undefined, - }); + }; + + const data = await getPageviewMetrics(websiteId, startDate, endDate, column, table, filters); return ok(res, data); } diff --git a/public/intl/messages/ar-SA.json b/public/intl/messages/ar-SA.json index d49db52f..39942898 100644 --- a/public/intl/messages/ar-SA.json +++ b/public/intl/messages/ar-SA.json @@ -247,6 +247,12 @@ "value": "كلمة مرور جديدة" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "مجمعة" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "نطاق فقط" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "التحويلات" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ca-ES.json b/public/intl/messages/ca-ES.json index d34dcc0b..eaccffe5 100644 --- a/public/intl/messages/ca-ES.json +++ b/public/intl/messages/ca-ES.json @@ -247,6 +247,12 @@ "value": "Contrasenya nova" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinat" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Només domini" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Referents" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/cs-CZ.json b/public/intl/messages/cs-CZ.json index f1055112..8b07a05a 100644 --- a/public/intl/messages/cs-CZ.json +++ b/public/intl/messages/cs-CZ.json @@ -247,6 +247,12 @@ "value": "Nové heslo" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinace" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domény" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Odkazy" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/da-DK.json b/public/intl/messages/da-DK.json index 964947c7..49fad782 100644 --- a/public/intl/messages/da-DK.json +++ b/public/intl/messages/da-DK.json @@ -247,6 +247,12 @@ "value": "Ny adgangskode" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombineret" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Kun domæne" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Henvisninger" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/de-DE.json b/public/intl/messages/de-DE.json index f1b5375e..63feeaaf 100644 --- a/public/intl/messages/de-DE.json +++ b/public/intl/messages/de-DE.json @@ -247,6 +247,12 @@ "value": "Neues Passwort" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombiniert" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Nur diese Domain" + "value": "Combined" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/el-GR.json b/public/intl/messages/el-GR.json index 4c2fa2ac..f570d120 100644 --- a/public/intl/messages/el-GR.json +++ b/public/intl/messages/el-GR.json @@ -247,6 +247,12 @@ "value": "Νέος κωδικός" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Σε συνδυασμό" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Μόνο τομέας" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Παραπομπές" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/en-GB.json b/public/intl/messages/en-GB.json index 0d9d0e66..9e07ff82 100644 --- a/public/intl/messages/en-GB.json +++ b/public/intl/messages/en-GB.json @@ -247,6 +247,12 @@ "value": "New password" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -731,12 +737,6 @@ "value": "Combined" } ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domain only" - } - ], "metrics.filter.raw": [ { "type": 0, diff --git a/public/intl/messages/en-US.json b/public/intl/messages/en-US.json index 0d9d0e66..9e07ff82 100644 --- a/public/intl/messages/en-US.json +++ b/public/intl/messages/en-US.json @@ -247,6 +247,12 @@ "value": "New password" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -731,12 +737,6 @@ "value": "Combined" } ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domain only" - } - ], "metrics.filter.raw": [ { "type": 0, diff --git a/public/intl/messages/es-MX.json b/public/intl/messages/es-MX.json index 6c2d9dc7..be8ddb34 100644 --- a/public/intl/messages/es-MX.json +++ b/public/intl/messages/es-MX.json @@ -247,6 +247,12 @@ "value": "Nueva contraseña" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Únicamente dominio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Referentes" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fa-IR.json b/public/intl/messages/fa-IR.json index 0b64922b..e29343ef 100644 --- a/public/intl/messages/fa-IR.json +++ b/public/intl/messages/fa-IR.json @@ -247,6 +247,12 @@ "value": "رمز جدید" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -712,13 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "ترکیب شده" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "فقط دامنه" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -757,6 +757,12 @@ "value": "ارجاع دهندگان" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fi-FI.json b/public/intl/messages/fi-FI.json index da6c9b95..2b4ebd01 100644 --- a/public/intl/messages/fi-FI.json +++ b/public/intl/messages/fi-FI.json @@ -247,6 +247,12 @@ "value": "Uusi salasana" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Yhdistetty" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Vain verkkotunnus" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Viittaajat" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fo-FO.json b/public/intl/messages/fo-FO.json index 356f0790..ca909f25 100644 --- a/public/intl/messages/fo-FO.json +++ b/public/intl/messages/fo-FO.json @@ -247,6 +247,12 @@ "value": "Nýtt loyniorð" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Samansett" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Bara økisnavn" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Framsendingar" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/fr-FR.json b/public/intl/messages/fr-FR.json index 3202fe02..f408278f 100644 --- a/public/intl/messages/fr-FR.json +++ b/public/intl/messages/fr-FR.json @@ -239,6 +239,12 @@ "value": "Nouveau mot de passe" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -724,13 +730,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combiné" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domaine uniquement" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -769,6 +769,12 @@ "value": "Sources" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ga-ES.json b/public/intl/messages/ga-ES.json index 0803bd95..4c692742 100644 --- a/public/intl/messages/ga-ES.json +++ b/public/intl/messages/ga-ES.json @@ -247,6 +247,12 @@ "value": "Novo contrasinal" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Só dominio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Orixes" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/he-IL.json b/public/intl/messages/he-IL.json index 60e865ce..46f6c04d 100644 --- a/public/intl/messages/he-IL.json +++ b/public/intl/messages/he-IL.json @@ -239,6 +239,12 @@ "value": "סיסמה חדשה" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -708,13 +714,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "משותף" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "דומיין בלבד" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -753,6 +753,12 @@ "value": "מפנים" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/hi-IN.json b/public/intl/messages/hi-IN.json index 42675c43..cd81e789 100644 --- a/public/intl/messages/hi-IN.json +++ b/public/intl/messages/hi-IN.json @@ -247,6 +247,12 @@ "value": "नया पासवर्ड" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -716,13 +722,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "संयुक्त" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "केवल डोमेन" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -761,6 +761,12 @@ "value": "सन्दर्भदाता" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/hu-HU.json b/public/intl/messages/hu-HU.json index c60cfd7a..83ba4421 100644 --- a/public/intl/messages/hu-HU.json +++ b/public/intl/messages/hu-HU.json @@ -247,6 +247,12 @@ "value": "Új jelszó" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Összevont" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Csak domain" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Hivatkozók" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/id-ID.json b/public/intl/messages/id-ID.json index f506af36..db251adc 100644 --- a/public/intl/messages/id-ID.json +++ b/public/intl/messages/id-ID.json @@ -239,6 +239,12 @@ "value": "Kata sandi baru" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -696,13 +702,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Gabungan" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Hanya domain" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -741,6 +741,12 @@ "value": "Perujuk" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/it-IT.json b/public/intl/messages/it-IT.json index fca4126e..61033a8d 100644 --- a/public/intl/messages/it-IT.json +++ b/public/intl/messages/it-IT.json @@ -247,6 +247,12 @@ "value": "Nuova password" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Aggregati" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Solo dominio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referrers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ja-JP.json b/public/intl/messages/ja-JP.json index 25c005e2..6d3083f2 100644 --- a/public/intl/messages/ja-JP.json +++ b/public/intl/messages/ja-JP.json @@ -247,6 +247,12 @@ "value": "新しいパスワード" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -700,13 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "パスまで" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "ドメインのみ" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -745,6 +745,12 @@ "value": "リファラー" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ko-KR.json b/public/intl/messages/ko-KR.json index c065e43f..7354f9bb 100644 --- a/public/intl/messages/ko-KR.json +++ b/public/intl/messages/ko-KR.json @@ -247,6 +247,12 @@ "value": "새 비밀번호" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -700,13 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "합쳐서 보기" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "도메인만" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -745,6 +745,12 @@ "value": "리퍼러" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/lt-LT.json b/public/intl/messages/lt-LT.json index e55defca..fade699d 100644 --- a/public/intl/messages/lt-LT.json +++ b/public/intl/messages/lt-LT.json @@ -352,6 +352,12 @@ "value": "Naujas slaptažodis" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -853,13 +859,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinuoti" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Tik domenas" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -898,6 +898,12 @@ "value": "Referrers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/mn-MN.json b/public/intl/messages/mn-MN.json index 9c1c8cff..584fe32c 100644 --- a/public/intl/messages/mn-MN.json +++ b/public/intl/messages/mn-MN.json @@ -247,6 +247,12 @@ "value": "Шинэ нууц үг" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Нэгтгэсэн" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Зөвхөн домэйн" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Чиглүүлэгч" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ms-MY.json b/public/intl/messages/ms-MY.json index 5eeecc81..29d025ef 100644 --- a/public/intl/messages/ms-MY.json +++ b/public/intl/messages/ms-MY.json @@ -239,6 +239,12 @@ "value": "Kata laluan baru" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -720,13 +726,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Digabungkan" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domain sahaja" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -765,6 +765,12 @@ "value": "Perujuk" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/nb-NO.json b/public/intl/messages/nb-NO.json index c7ba48f0..860e0133 100644 --- a/public/intl/messages/nb-NO.json +++ b/public/intl/messages/nb-NO.json @@ -247,6 +247,12 @@ "value": "Nytt passord" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinert" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Bare domene" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referanser" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/nl-NL.json b/public/intl/messages/nl-NL.json index ccf04d00..afd2d1d5 100644 --- a/public/intl/messages/nl-NL.json +++ b/public/intl/messages/nl-NL.json @@ -247,6 +247,12 @@ "value": "Nieuw wachtwoord" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Gecombineerd" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Alleen domein" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Verwijzers" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/pl-PL.json b/public/intl/messages/pl-PL.json index 9a8ce376..7d85c96c 100644 --- a/public/intl/messages/pl-PL.json +++ b/public/intl/messages/pl-PL.json @@ -247,6 +247,12 @@ "value": "Nowe hasło" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Połączone" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Tylko domena" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Źródła odsyłające" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/pt-BR.json b/public/intl/messages/pt-BR.json index de33ed62..f723474e 100644 --- a/public/intl/messages/pt-BR.json +++ b/public/intl/messages/pt-BR.json @@ -247,6 +247,12 @@ "value": "Nova senha" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Apenas domínio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referências" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/pt-PT.json b/public/intl/messages/pt-PT.json index 505a7ec0..e50354dc 100644 --- a/public/intl/messages/pt-PT.json +++ b/public/intl/messages/pt-PT.json @@ -247,6 +247,12 @@ "value": "Nova senha" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinado" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Apenas domínio" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Referenciadores" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ro-RO.json b/public/intl/messages/ro-RO.json index 56d2e557..9dbda703 100644 --- a/public/intl/messages/ro-RO.json +++ b/public/intl/messages/ro-RO.json @@ -247,6 +247,12 @@ "value": "Parola nouă" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Combinat" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Numai domeniu" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Site-uri de proveniență" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ru-RU.json b/public/intl/messages/ru-RU.json index ea45447e..6a1af3c0 100644 --- a/public/intl/messages/ru-RU.json +++ b/public/intl/messages/ru-RU.json @@ -247,6 +247,12 @@ "value": "Новый пароль" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -700,13 +706,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Объединенные" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Только домен" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -745,6 +745,12 @@ "value": "Источники" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/sk-SK.json b/public/intl/messages/sk-SK.json index b81f5da1..ae4c1517 100644 --- a/public/intl/messages/sk-SK.json +++ b/public/intl/messages/sk-SK.json @@ -247,6 +247,12 @@ "value": "Nové heslo" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinácie" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Domény" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Odkazy" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/sl-SI.json b/public/intl/messages/sl-SI.json index 74d4c3a9..ebf2c2f8 100644 --- a/public/intl/messages/sl-SI.json +++ b/public/intl/messages/sl-SI.json @@ -247,6 +247,12 @@ "value": "Novo geslo" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Skupno" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Samo domena" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "Viri" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/sv-SE.json b/public/intl/messages/sv-SE.json index 3567fb63..dea602e8 100644 --- a/public/intl/messages/sv-SE.json +++ b/public/intl/messages/sv-SE.json @@ -247,6 +247,12 @@ "value": "Nytt lösenord" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -732,13 +738,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kombinerade" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Endast domän" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -777,6 +777,12 @@ "value": "Hänvisare" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ta-IN.json b/public/intl/messages/ta-IN.json index ef9edde6..f8079c12 100644 --- a/public/intl/messages/ta-IN.json +++ b/public/intl/messages/ta-IN.json @@ -247,6 +247,12 @@ "value": "புதிய கடவுச்சொல்" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -720,13 +726,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "ஒருங்கிணைந்த" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "கள முகவரி மட்டும்" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -765,6 +765,12 @@ "value": "குறிப்பிடுவோர்" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/tr-TR.json b/public/intl/messages/tr-TR.json index 5489cab5..734dcbd8 100644 --- a/public/intl/messages/tr-TR.json +++ b/public/intl/messages/tr-TR.json @@ -247,6 +247,12 @@ "value": "Yeni parola" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -692,13 +698,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Birleşik" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Yalnızca alan adı" + "value": "Combined" } ], "metrics.filter.raw": [ diff --git a/public/intl/messages/uk-UA.json b/public/intl/messages/uk-UA.json index 380b7586..ed1eeeb3 100644 --- a/public/intl/messages/uk-UA.json +++ b/public/intl/messages/uk-UA.json @@ -247,6 +247,12 @@ "value": "Новий пароль" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -704,13 +710,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Об'єднані" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Лише домен" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -749,6 +749,12 @@ "value": "Джерела" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/ur-PK.json b/public/intl/messages/ur-PK.json index 43f31df8..627ec206 100644 --- a/public/intl/messages/ur-PK.json +++ b/public/intl/messages/ur-PK.json @@ -251,6 +251,12 @@ "value": "نیا پاس ورڈ" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -728,13 +734,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "مشترکہ" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "صرف ڈومین" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -773,6 +773,12 @@ "value": "بھیجنے والے" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/vi-VN.json b/public/intl/messages/vi-VN.json index 1d171c99..e8bb2e90 100644 --- a/public/intl/messages/vi-VN.json +++ b/public/intl/messages/vi-VN.json @@ -239,6 +239,12 @@ "value": "Mật khẩu mới" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -712,13 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "Kết hợp" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "Chỉ tên miền" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -757,6 +757,12 @@ "value": "Liên kết giới thiệu" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/zh-CN.json b/public/intl/messages/zh-CN.json index a91b79e7..da01c8c2 100644 --- a/public/intl/messages/zh-CN.json +++ b/public/intl/messages/zh-CN.json @@ -247,6 +247,12 @@ "value": "新密码" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -716,13 +722,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "总和" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "只看域名" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -761,6 +761,12 @@ "value": "来源域名" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/public/intl/messages/zh-TW.json b/public/intl/messages/zh-TW.json index aa77bd37..a5c857fb 100644 --- a/public/intl/messages/zh-TW.json +++ b/public/intl/messages/zh-TW.json @@ -247,6 +247,12 @@ "value": "新密碼" } ], + "label.none": [ + { + "type": 0, + "value": "None" + } + ], "label.owner": [ { "type": 0, @@ -712,13 +718,7 @@ "metrics.filter.combined": [ { "type": 0, - "value": "總和" - } - ], - "metrics.filter.domain-only": [ - { - "type": 0, - "value": "僅域名" + "value": "Combined" } ], "metrics.filter.raw": [ @@ -757,6 +757,12 @@ "value": "指入域名" } ], + "metrics.screens": [ + { + "type": 0, + "value": "Screens" + } + ], "metrics.unique-visitors": [ { "type": 0, diff --git a/queries/analytics/pageview/getPageviewMetrics.js b/queries/analytics/pageview/getPageviewMetrics.js index 12667706..a7233011 100644 --- a/queries/analytics/pageview/getPageviewMetrics.js +++ b/queries/analytics/pageview/getPageviewMetrics.js @@ -1,16 +1,17 @@ import { parseFilters, rawQuery } from 'lib/queries'; -export function getPageviewMetrics(website_id, start_at, end_at, field, table, filters = {}) { +export function getPageviewMetrics(website_id, start_at, end_at, column, table, filters = {}) { const params = [website_id, start_at, end_at]; const { pageviewQuery, sessionQuery, eventQuery, joinSession } = parseFilters( table, + column, filters, params, ); return rawQuery( ` - select ${field} x, count(*) y + select ${column} x, count(*) y from ${table} ${joinSession} where ${table}.website_id=$1 diff --git a/queries/analytics/pageview/getPageviewStats.js b/queries/analytics/pageview/getPageviewStats.js index e96b1824..1ddcd6f8 100644 --- a/queries/analytics/pageview/getPageviewStats.js +++ b/queries/analytics/pageview/getPageviewStats.js @@ -10,7 +10,12 @@ export function getPageviewStats( filters = {}, ) { const params = [website_id, start_at, end_at]; - const { pageviewQuery, sessionQuery, joinSession } = parseFilters('pageview', filters, params); + const { pageviewQuery, sessionQuery, joinSession } = parseFilters( + 'pageview', + null, + filters, + params, + ); return rawQuery( ` diff --git a/queries/analytics/session/getSessionMetrics.js b/queries/analytics/session/getSessionMetrics.js index 356163e9..6ecbfecd 100644 --- a/queries/analytics/session/getSessionMetrics.js +++ b/queries/analytics/session/getSessionMetrics.js @@ -2,7 +2,12 @@ import { parseFilters, rawQuery } from 'lib/queries'; export function getSessionMetrics(website_id, start_at, end_at, field, filters = {}) { const params = [website_id, start_at, end_at]; - const { pageviewQuery, sessionQuery, joinSession } = parseFilters('pageview', filters, params); + const { pageviewQuery, sessionQuery, joinSession } = parseFilters( + 'pageview', + null, + filters, + params, + ); return rawQuery( ` diff --git a/queries/analytics/stats/getWebsiteStats.js b/queries/analytics/stats/getWebsiteStats.js index 19eb3340..b9c36d96 100644 --- a/queries/analytics/stats/getWebsiteStats.js +++ b/queries/analytics/stats/getWebsiteStats.js @@ -2,7 +2,12 @@ import { parseFilters, rawQuery, getDateQuery, getTimestampInterval } from 'lib/ export function getWebsiteStats(website_id, start_at, end_at, filters = {}) { const params = [website_id, start_at, end_at]; - const { pageviewQuery, sessionQuery, joinSession } = parseFilters('pageview', filters, params); + const { pageviewQuery, sessionQuery, joinSession } = parseFilters( + 'pageview', + null, + filters, + params, + ); return rawQuery( `