File: D:/web/matomo.vdk/plugins/PrivacyManager/vue/src/PrivacySettings/PrivacySettings.vue
<!--
Matomo - free/libre analytics platform
@link https://matomo.org
@license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
-->
<template>
<div>
<div v-content-intro>
<h2>
<EnrichedHeadline :help-url="externalRawLink('https://matomo.org/docs/privacy/')">
{{ translate('PrivacyManager_AnonymizeData') }}
</EnrichedHeadline>
</h2>
<p>
<span v-html="$sanitize(teaserHeader)" style="margin-right:3.5px"></span>
<span v-html="$sanitize(seeAlsoOurOfficialGuide)"></span>
</p>
</div>
<ContentBlock
id="anonymizeIPAnchor"
:content-title="translate('PrivacyManager_UseAnonymizeTrackingData')"
>
<AnonymizeIp
:ip-anonymizer-enabled="ipAnonymizerEnabled"
:anonymize-user-id="anonymizeUserId"
:ip-address-mask-length="ipAddressMaskLength"
:use-anonymized-ip-for-visit-enrichment="useAnonymizedIpForVisitEnrichment"
:anonymize-order-id="anonymizeOrderId"
:force-cookieless-tracking="forceCookielessTracking"
:anonymize-referrer="anonymizeReferrer"
:mask-length-options="maskLengthOptions"
:use-anonymized-ip-for-visit-enrichment-options="useAnonymizedIpForVisitEnrichmentOptions"
:tracker-file-name="trackerFileName"
:tracker-writable="trackerWritable"
:referrer-anonymization-options="referrerAnonymizationOptions"
:randomize-config-id="randomizeConfigId"
:extra-metadata="extraMetadata"
/>
</ContentBlock>
<div v-if="isDataPurgeSettingsEnabled">
<ContentBlock
id="deleteLogsAnchor"
:content-title="translate('PrivacyManager_DeleteOldRawData')"
>
<p>{{ translate('PrivacyManager_DeleteDataDescription') }}</p>
<DeleteOldLogs
:is-data-purge-settings-enabled="isDataPurgeSettingsEnabled"
:delete-data="deleteData"
:schedule-deletion-options="scheduleDeletionOptions"
/>
</ContentBlock>
<ContentBlock
id="deleteReportsAnchor"
:content-title="translate('PrivacyManager_DeleteOldAggregatedReports')"
>
<DeleteOldReports
:is-data-purge-settings-enabled="isDataPurgeSettingsEnabled"
:delete-data="deleteData"
:schedule-deletion-options="scheduleDeletionOptions"
></DeleteOldReports>
</ContentBlock>
<ScheduleReportDeletion
:is-data-purge-settings-enabled="isDataPurgeSettingsEnabled"
:delete-data="deleteData"
:schedule-deletion-options="scheduleDeletionOptions"
></ScheduleReportDeletion>
</div>
<a name="anonymizeHistoricalData" id="anonymizeHistoricalData"></a>
<ContentBlock
:content-title="translate('PrivacyManager_AnonymizePreviousData')"
class="logDataAnonymizer"
>
<p>
{{ translate('PrivacyManager_AnonymizePreviousDataDescription') }}
</p>
<AnonymizeLogData v-if="isSuperUser"></AnonymizeLogData>
<p v-else>{{ translate('PrivacyManager_AnonymizePreviousDataOnlySuperUser') }}</p>
<br />
<PreviousAnonymizations
:anonymizations="anonymizations"
/>
</ContentBlock>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import {
ContentBlock,
ContentIntro,
EnrichedHeadline,
translate,
externalLink,
} from 'CoreHome';
import AnonymizeIp from '../AnonymizeIp/AnonymizeIp.vue';
import DeleteOldLogs from '../DeleteOldLogs/DeleteOldLogs.vue';
import DeleteOldReports from '../DeleteOldReports/DeleteOldReports.vue';
import ScheduleReportDeletion from '../ScheduleReportDeletion/ScheduleReportDeletion.vue';
import AnonymizeLogData from '../AnonymizeLogData/AnonymizeLogData.vue';
import PreviousAnonymizations from '../AnonymizeLogData/PreviousAnonymizations.vue';
export default defineComponent({
props: {
ipAnonymizerEnabled: Boolean,
anonymizeUserId: Boolean,
ipAddressMaskLength: {
type: Number,
required: true,
},
useAnonymizedIpForVisitEnrichment: [Boolean, String, Number],
anonymizeOrderId: Boolean,
forceCookielessTracking: Boolean,
anonymizeReferrer: String,
maskLengthOptions: {
type: Array,
required: true,
},
useAnonymizedIpForVisitEnrichmentOptions: {
type: Array,
required: true,
},
trackerFileName: {
type: String,
required: true,
},
trackerWritable: {
type: Boolean,
required: true,
},
referrerAnonymizationOptions: {
type: Object,
required: true,
},
isDataPurgeSettingsEnabled: Boolean,
deleteData: {
type: Object,
required: true,
},
scheduleDeletionOptions: {
type: Object,
required: true,
},
anonymizations: {
type: Array,
required: true,
},
isSuperUser: Boolean,
randomizeConfigId: Boolean,
extraMetadata: {
type: Object,
default: () => ({}),
},
},
components: {
AnonymizeIp,
EnrichedHeadline,
ContentBlock,
DeleteOldLogs,
DeleteOldReports,
ScheduleReportDeletion,
AnonymizeLogData,
PreviousAnonymizations,
},
directives: {
ContentIntro,
},
computed: {
teaserHeader() {
return translate(
'PrivacyManager_TeaserHeader',
'<a href="#anonymizeIPAnchor">',
'</a>',
'<a href="#deleteLogsAnchor">',
'</a>',
'<a href="#anonymizeHistoricalData">',
'</a>',
);
},
seeAlsoOurOfficialGuide() {
return translate(
'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy',
externalLink('https://matomo.org/privacy/'),
'</a>',
);
},
},
});
</script>