@net7/boilerplate-muruca 5.5.24 → 5.5.26-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/config-types/muruca/copy-protection.mjs +1 -1
- package/esm2022/lib/services/copy-protection.service.mjs +12 -5
- package/fesm2022/net7-boilerplate-muruca.mjs +11 -4
- package/fesm2022/net7-boilerplate-muruca.mjs.map +1 -1
- package/lib/config-types/muruca/copy-protection.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1wcm90ZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvY29uZmlnLXR5cGVzL211cnVjYS9jb3B5LXByb3RlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTXJDb3B5UHJvdGVjdGlvbiB7XG4gIC8qKiBhYmlsaXRhcmUgbGEgY29waWEgY29uIGF0dHJpYnV6aW9uZSAqL1xuICBlbmFibGVkOiBib29sZWFuO1xuICAvKiogdGVzdG8gYWdnaXVudG8gaW4gY29kYSBhbCBjb250ZW51dG8gY29waWF0byAocGxhaW4gdGV4dCwgZmFsbGJhY2spICovXG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgLyoqIHZlcnNpb25lIEhUTUwgZGVsIG1lc3NhZ2dpbywgc3VwcG9ydGEgPHN0cm9uZz4sIDxlbT4sIDxhIGhyZWY9XCIuLi5cIj4gKi9cbiAgaHRtbE1lc3NhZ2U/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -6,14 +6,21 @@ export class MrCopyProtectionService {
|
|
|
6
6
|
this.config = config;
|
|
7
7
|
}
|
|
8
8
|
init() {
|
|
9
|
-
const { enabled, message } = this.config.get('copyProtection') || {};
|
|
9
|
+
const { enabled, message, htmlMessage } = this.config.get('copyProtection') || {};
|
|
10
10
|
if (!enabled || !message)
|
|
11
11
|
return;
|
|
12
12
|
document.addEventListener('copy', (e) => {
|
|
13
|
-
const
|
|
14
|
-
if (!
|
|
13
|
+
const selection = window.getSelection();
|
|
14
|
+
if (!selection?.toString())
|
|
15
15
|
return;
|
|
16
|
-
e.clipboardData.setData('text/plain',
|
|
16
|
+
e.clipboardData.setData('text/plain', selection.toString() + message);
|
|
17
|
+
if (htmlMessage) {
|
|
18
|
+
const container = document.createElement('div');
|
|
19
|
+
for (let i = 0; i < selection.rangeCount; i++) {
|
|
20
|
+
container.appendChild(selection.getRangeAt(i).cloneContents());
|
|
21
|
+
}
|
|
22
|
+
e.clipboardData.setData('text/html', container.innerHTML + htmlMessage);
|
|
23
|
+
}
|
|
17
24
|
e.preventDefault();
|
|
18
25
|
});
|
|
19
26
|
}
|
|
@@ -24,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
24
31
|
type: Injectable,
|
|
25
32
|
args: [{ providedIn: 'root' }]
|
|
26
33
|
}], ctorParameters: () => [{ type: i1.ConfigurationService }] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1wcm90ZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1tdXJ1Y2Evc3JjL2xpYi9zZXJ2aWNlcy9jb3B5LXByb3RlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixNQUE0QjtRQUE1QixXQUFNLEdBQU4sTUFBTSxDQUFzQjtJQUFHLENBQUM7SUFFcEQsSUFBSTtRQUNGLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xGLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVqQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBaUIsRUFBRSxFQUFFO1lBQ3RELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRTtnQkFBRSxPQUFPO1lBRW5DLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFFdEUsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDOUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7Z0JBQ2pFLENBQUM7Z0JBQ0QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7WUFDMUUsQ0FBQztZQUVELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdkJVLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRFYsTUFBTTs7NEZBQ25CLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJ0BuZXQ3L2JvaWxlcnBsYXRlLWNvbW1vbic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTXJDb3B5UHJvdGVjdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UpIHt9XG5cbiAgaW5pdCgpIHtcbiAgICBjb25zdCB7IGVuYWJsZWQsIG1lc3NhZ2UsIGh0bWxNZXNzYWdlIH0gPSB0aGlzLmNvbmZpZy5nZXQoJ2NvcHlQcm90ZWN0aW9uJykgfHwge307XG4gICAgaWYgKCFlbmFibGVkIHx8ICFtZXNzYWdlKSByZXR1cm47XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjb3B5JywgKGU6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICBpZiAoIXNlbGVjdGlvbj8udG9TdHJpbmcoKSkgcmV0dXJuO1xuXG4gICAgICBlLmNsaXBib2FyZERhdGEuc2V0RGF0YSgndGV4dC9wbGFpbicsIHNlbGVjdGlvbi50b1N0cmluZygpICsgbWVzc2FnZSk7XG5cbiAgICAgIGlmIChodG1sTWVzc2FnZSkge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWxlY3Rpb24ucmFuZ2VDb3VudDsgaSsrKSB7XG4gICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHNlbGVjdGlvbi5nZXRSYW5nZUF0KGkpLmNsb25lQ29udGVudHMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZS5jbGlwYm9hcmREYXRhLnNldERhdGEoJ3RleHQvaHRtbCcsIGNvbnRhaW5lci5pbm5lckhUTUwgKyBodG1sTWVzc2FnZSk7XG4gICAgICB9XG5cbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -9242,14 +9242,21 @@ class MrCopyProtectionService {
|
|
|
9242
9242
|
this.config = config;
|
|
9243
9243
|
}
|
|
9244
9244
|
init() {
|
|
9245
|
-
const { enabled, message } = this.config.get('copyProtection') || {};
|
|
9245
|
+
const { enabled, message, htmlMessage } = this.config.get('copyProtection') || {};
|
|
9246
9246
|
if (!enabled || !message)
|
|
9247
9247
|
return;
|
|
9248
9248
|
document.addEventListener('copy', (e) => {
|
|
9249
|
-
const
|
|
9250
|
-
if (!
|
|
9249
|
+
const selection = window.getSelection();
|
|
9250
|
+
if (!selection?.toString())
|
|
9251
9251
|
return;
|
|
9252
|
-
e.clipboardData.setData('text/plain',
|
|
9252
|
+
e.clipboardData.setData('text/plain', selection.toString() + message);
|
|
9253
|
+
if (htmlMessage) {
|
|
9254
|
+
const container = document.createElement('div');
|
|
9255
|
+
for (let i = 0; i < selection.rangeCount; i++) {
|
|
9256
|
+
container.appendChild(selection.getRangeAt(i).cloneContents());
|
|
9257
|
+
}
|
|
9258
|
+
e.clipboardData.setData('text/html', container.innerHTML + htmlMessage);
|
|
9259
|
+
}
|
|
9253
9260
|
e.preventDefault();
|
|
9254
9261
|
});
|
|
9255
9262
|
}
|