@thecodeblogs/blog 0.11.6 → 0.13.1
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/esm2020/lib/components/entry-creator/entry-creator.component.mjs +347 -0
- package/esm2020/lib/components/entry-renderer/entry-renderer.component.mjs +108 -0
- package/esm2020/lib/components/entry-renderer-wrapper/entry-renderer-wrapper.component.mjs +75 -0
- package/esm2020/lib/components/entry-selector-dialog/entry-selector-dialog-data.mjs +3 -0
- package/esm2020/lib/components/entry-selector-dialog/entry-selector-dialog.component.mjs +45 -0
- package/esm2020/lib/components/entry-summary/entry-summary.component.mjs +28 -0
- package/esm2020/lib/components/json-renderer/json-renderer.component.mjs +26 -0
- package/esm2020/lib/components/landing-page/landing-page.component.mjs +35 -0
- package/esm2020/lib/components/main/main.component.mjs +56 -0
- package/esm2020/lib/components/media-upload-modal/media-upload-modal.component.mjs +160 -0
- package/esm2020/lib/components/outline-view/outline-view.component.mjs +40 -0
- package/esm2020/lib/components/schedule-publish-dialog/schedule-publish-dialog-data.mjs +3 -0
- package/esm2020/lib/components/schedule-publish-dialog/schedule-publish-dialog.component.mjs +33 -0
- package/esm2020/lib/components/side-navigation/side-navigation.component.mjs +151 -0
- package/esm2020/lib/components/static-html/static-html.component.mjs +28 -0
- package/esm2020/lib/core.module.mjs +207 -0
- package/esm2020/lib/data/base.mjs +7 -0
- package/esm2020/lib/data/content-type.mjs +10 -0
- package/esm2020/lib/data/content.mjs +5 -0
- package/esm2020/lib/data/core-event-type.enum.mjs +7 -0
- package/esm2020/lib/data/core-event.mjs +7 -0
- package/esm2020/lib/data/entry.mjs +80 -0
- package/esm2020/lib/data/guid.mjs +12 -0
- package/esm2020/lib/data/identity.mjs +2 -0
- package/esm2020/lib/data/list-response.mjs +3 -0
- package/esm2020/lib/data/section.mjs +11 -0
- package/esm2020/lib/data/tag.mjs +7 -0
- package/esm2020/lib/data/visitor-profile.mjs +3 -0
- package/esm2020/lib/pipes/LinkyPipe.mjs +15 -0
- package/esm2020/lib/pipes/TimeAgoPipe.mjs +100 -0
- package/esm2020/lib/routing/routes.mjs +25 -0
- package/esm2020/lib/services/analytics/interaction.service.mjs +20 -0
- package/esm2020/lib/services/analytics/view.service.mjs +20 -0
- package/esm2020/lib/services/comment.service.mjs +28 -0
- package/esm2020/lib/services/django-rest-framework-endpoint.service.mjs +50 -0
- package/esm2020/lib/services/entry.service.mjs +73 -0
- package/esm2020/lib/services/identity.service.mjs +20 -0
- package/esm2020/lib/services/interaction.mjs +3 -0
- package/esm2020/lib/services/prism.service.mjs +39 -0
- package/esm2020/lib/services/static-html.service.mjs +22 -0
- package/esm2020/lib/services/tag.service.mjs +33 -0
- package/esm2020/lib/services/upload.mjs +3 -0
- package/esm2020/lib/services/upload.service.mjs +22 -0
- package/esm2020/lib/services/view.mjs +3 -0
- package/esm2020/lib/services/visitor-profile.service.mjs +35 -0
- package/esm2020/public-api.mjs +45 -0
- package/esm2020/thecodeblogs-blog.mjs +5 -0
- package/fesm2015/thecodeblogs-blog.mjs +1826 -0
- package/fesm2015/thecodeblogs-blog.mjs.map +1 -0
- package/fesm2020/thecodeblogs-blog.mjs +1820 -0
- package/fesm2020/thecodeblogs-blog.mjs.map +1 -0
- package/lib/components/entry-creator/entry-creator.component.d.ts +3 -0
- package/lib/components/entry-renderer/entry-renderer.component.d.ts +3 -0
- package/lib/components/entry-renderer-wrapper/entry-renderer-wrapper.component.d.ts +3 -0
- package/lib/components/entry-selector-dialog/entry-selector-dialog.component.d.ts +3 -0
- package/lib/components/entry-summary/entry-summary.component.d.ts +3 -0
- package/lib/components/json-renderer/json-renderer.component.d.ts +3 -0
- package/lib/components/landing-page/landing-page.component.d.ts +3 -0
- package/lib/components/main/main.component.d.ts +3 -0
- package/lib/components/media-upload-modal/media-upload-modal.component.d.ts +3 -0
- package/lib/components/outline-view/outline-view.component.d.ts +3 -0
- package/lib/components/schedule-publish-dialog/schedule-publish-dialog.component.d.ts +3 -0
- package/lib/components/side-navigation/side-navigation.component.d.ts +3 -0
- package/lib/components/static-html/static-html.component.d.ts +3 -0
- package/lib/core.module.d.ts +40 -0
- package/lib/pipes/LinkyPipe.d.ts +3 -0
- package/lib/pipes/TimeAgoPipe.d.ts +3 -0
- package/lib/services/analytics/interaction.service.d.ts +3 -0
- package/lib/services/analytics/view.service.d.ts +3 -0
- package/lib/services/comment.service.d.ts +3 -0
- package/lib/services/django-rest-framework-endpoint.service.d.ts +3 -0
- package/lib/services/entry.service.d.ts +3 -0
- package/lib/services/identity.service.d.ts +3 -0
- package/lib/services/prism.service.d.ts +3 -0
- package/lib/services/static-html.service.d.ts +3 -0
- package/lib/services/tag.service.d.ts +3 -0
- package/lib/services/upload.service.d.ts +3 -0
- package/lib/services/visitor-profile.service.d.ts +3 -0
- package/package.json +36 -24
- package/thecodeblogs-blog.d.ts +1 -3
- package/bundles/thecodeblogs-blog.umd.js +0 -2279
- package/bundles/thecodeblogs-blog.umd.js.map +0 -1
- package/bundles/thecodeblogs-blog.umd.min.js +0 -17
- package/bundles/thecodeblogs-blog.umd.min.js.map +0 -1
- package/esm2015/lib/components/entry-creator/entry-creator.component.js +0 -336
- package/esm2015/lib/components/entry-renderer/entry-renderer.component.js +0 -108
- package/esm2015/lib/components/entry-renderer-wrapper/entry-renderer-wrapper.component.js +0 -79
- package/esm2015/lib/components/entry-selector-dialog/entry-selector-dialog-data.js +0 -3
- package/esm2015/lib/components/entry-selector-dialog/entry-selector-dialog.component.js +0 -41
- package/esm2015/lib/components/entry-summary/entry-summary.component.js +0 -29
- package/esm2015/lib/components/json-renderer/json-renderer.component.js +0 -29
- package/esm2015/lib/components/landing-page/landing-page.component.js +0 -37
- package/esm2015/lib/components/main/main.component.js +0 -55
- package/esm2015/lib/components/media-upload-modal/media-upload-modal.component.js +0 -155
- package/esm2015/lib/components/outline-view/outline-view.component.js +0 -40
- package/esm2015/lib/components/schedule-publish-dialog/schedule-publish-dialog-data.js +0 -3
- package/esm2015/lib/components/schedule-publish-dialog/schedule-publish-dialog.component.js +0 -28
- package/esm2015/lib/components/side-navigation/side-navigation.component.js +0 -154
- package/esm2015/lib/components/static-html/static-html.component.js +0 -33
- package/esm2015/lib/core.module.js +0 -125
- package/esm2015/lib/data/base.js +0 -7
- package/esm2015/lib/data/content-type.js +0 -10
- package/esm2015/lib/data/content.js +0 -5
- package/esm2015/lib/data/core-event-type.enum.js +0 -7
- package/esm2015/lib/data/core-event.js +0 -7
- package/esm2015/lib/data/entry.js +0 -80
- package/esm2015/lib/data/guid.js +0 -12
- package/esm2015/lib/data/identity.js +0 -2
- package/esm2015/lib/data/list-response.js +0 -3
- package/esm2015/lib/data/section.js +0 -11
- package/esm2015/lib/data/tag.js +0 -7
- package/esm2015/lib/data/visitor-profile.js +0 -3
- package/esm2015/lib/pipes/LinkyPipe.js +0 -11
- package/esm2015/lib/pipes/TimeAgoPipe.js +0 -100
- package/esm2015/lib/routing/routes.js +0 -25
- package/esm2015/lib/services/analytics/interaction.service.js +0 -22
- package/esm2015/lib/services/analytics/view.service.js +0 -22
- package/esm2015/lib/services/comment.service.js +0 -30
- package/esm2015/lib/services/django-rest-framework-endpoint.service.js +0 -52
- package/esm2015/lib/services/entry.service.js +0 -74
- package/esm2015/lib/services/identity.service.js +0 -22
- package/esm2015/lib/services/interaction.js +0 -3
- package/esm2015/lib/services/prism.service.js +0 -37
- package/esm2015/lib/services/static-html.service.js +0 -24
- package/esm2015/lib/services/tag.service.js +0 -35
- package/esm2015/lib/services/upload.js +0 -3
- package/esm2015/lib/services/upload.service.js +0 -24
- package/esm2015/lib/services/view.js +0 -3
- package/esm2015/lib/services/visitor-profile.service.js +0 -39
- package/esm2015/public-api.js +0 -45
- package/esm2015/thecodeblogs-blog.js +0 -8
- package/fesm2015/thecodeblogs-blog.js +0 -1786
- package/fesm2015/thecodeblogs-blog.js.map +0 -1
- package/thecodeblogs-blog.metadata.json +0 -1
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { Pipe, NgZone, ChangeDetectorRef } from "@angular/core";
|
|
2
|
-
export class TimeAgoPipe {
|
|
3
|
-
constructor(changeDetectorRef, ngZone) {
|
|
4
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
5
|
-
this.ngZone = ngZone;
|
|
6
|
-
}
|
|
7
|
-
transform(value) {
|
|
8
|
-
this.removeTimer();
|
|
9
|
-
let d = new Date(value);
|
|
10
|
-
let now = new Date();
|
|
11
|
-
let seconds = Math.round(Math.abs((now.getTime() - d.getTime()) / 1000));
|
|
12
|
-
let timeToUpdate = (Number.isNaN(seconds)) ? 1000 : this.getSecondsUntilUpdate(seconds) * 1000;
|
|
13
|
-
this.timer = this.ngZone.runOutsideAngular(() => {
|
|
14
|
-
if (typeof window !== 'undefined') {
|
|
15
|
-
return window.setTimeout(() => {
|
|
16
|
-
this.ngZone.run(() => this.changeDetectorRef.markForCheck());
|
|
17
|
-
}, timeToUpdate);
|
|
18
|
-
}
|
|
19
|
-
return null;
|
|
20
|
-
});
|
|
21
|
-
let minutes = Math.round(Math.abs(seconds / 60));
|
|
22
|
-
let hours = Math.round(Math.abs(minutes / 60));
|
|
23
|
-
let days = Math.round(Math.abs(hours / 24));
|
|
24
|
-
let months = Math.round(Math.abs(days / 30.416));
|
|
25
|
-
let years = Math.round(Math.abs(days / 365));
|
|
26
|
-
if (Number.isNaN(seconds)) {
|
|
27
|
-
return '';
|
|
28
|
-
}
|
|
29
|
-
else if (seconds <= 45) {
|
|
30
|
-
return 'a few seconds ago';
|
|
31
|
-
}
|
|
32
|
-
else if (seconds <= 90) {
|
|
33
|
-
return 'a minute ago';
|
|
34
|
-
}
|
|
35
|
-
else if (minutes <= 45) {
|
|
36
|
-
return minutes + ' minutes ago';
|
|
37
|
-
}
|
|
38
|
-
else if (minutes <= 90) {
|
|
39
|
-
return 'an hour ago';
|
|
40
|
-
}
|
|
41
|
-
else if (hours <= 22) {
|
|
42
|
-
return hours + ' hours ago';
|
|
43
|
-
}
|
|
44
|
-
else if (hours <= 36) {
|
|
45
|
-
return 'a day ago';
|
|
46
|
-
}
|
|
47
|
-
else if (days <= 25) {
|
|
48
|
-
return days + ' days ago';
|
|
49
|
-
}
|
|
50
|
-
else if (days <= 45) {
|
|
51
|
-
return 'a month ago';
|
|
52
|
-
}
|
|
53
|
-
else if (days <= 345) {
|
|
54
|
-
return months + ' months ago';
|
|
55
|
-
}
|
|
56
|
-
else if (days <= 545) {
|
|
57
|
-
return 'a year ago';
|
|
58
|
-
}
|
|
59
|
-
else { // (days > 545)
|
|
60
|
-
return years + ' years ago';
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
this.removeTimer();
|
|
65
|
-
}
|
|
66
|
-
removeTimer() {
|
|
67
|
-
if (this.timer) {
|
|
68
|
-
window.clearTimeout(this.timer);
|
|
69
|
-
this.timer = null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
getSecondsUntilUpdate(seconds) {
|
|
73
|
-
let min = 60;
|
|
74
|
-
let hr = min * 60;
|
|
75
|
-
let day = hr * 24;
|
|
76
|
-
if (seconds < min) { // less than 1 min, update every 2 secs
|
|
77
|
-
return 2;
|
|
78
|
-
}
|
|
79
|
-
else if (seconds < hr) { // less than an hour, update every 30 secs
|
|
80
|
-
return 30;
|
|
81
|
-
}
|
|
82
|
-
else if (seconds < day) { // less then a day, update every 5 mins
|
|
83
|
-
return 300;
|
|
84
|
-
}
|
|
85
|
-
else { // update every hour
|
|
86
|
-
return 3600;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
TimeAgoPipe.decorators = [
|
|
91
|
-
{ type: Pipe, args: [{
|
|
92
|
-
name: 'timeAgo',
|
|
93
|
-
pure: false
|
|
94
|
-
},] }
|
|
95
|
-
];
|
|
96
|
-
TimeAgoPipe.ctorParameters = () => [
|
|
97
|
-
{ type: ChangeDetectorRef },
|
|
98
|
-
{ type: NgZone }
|
|
99
|
-
];
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZUFnb1BpcGUuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2JqYW1lc29uL0RldmVsb3BtZW50L2Jsb2cvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvVGltZUFnb1BpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBaUIsTUFBTSxFQUFFLGlCQUFpQixFQUFZLE1BQU0sZUFBZSxDQUFDO0FBS3hGLE1BQU0sT0FBTyxXQUFXO0lBRXBCLFlBQW9CLGlCQUFvQyxFQUFVLE1BQWM7UUFBNUQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBQ3BGLFNBQVMsQ0FBQyxLQUFZO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsR0FBRSxJQUFJLENBQUM7UUFDOUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM1QyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtnQkFDL0IsT0FBTyxNQUFNLENBQUMs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QUFPLEdBQUcsRUFBRSxFQUFFLEVBQUUsMENBQTBDO1lBQ2pFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7YUFBTSxJQUFJLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRSx1Q0FBdUM7WUFDL0QsT0FBTyxHQUFHLENBQUM7U0FDZDthQUFNLEVBQUUsb0JBQW9CO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDOzs7WUExRUosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBQyxTQUFTO2dCQUNkLElBQUksRUFBQyxLQUFLO2FBQ2I7OztZQUpvQyxpQkFBaUI7WUFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybSwgTmdab25lLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuQFBpcGUoe1xuICAgIG5hbWU6J3RpbWVBZ28nLFxuICAgIHB1cmU6ZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGltZUFnb1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgdGltZXI6IG51bWJlcjtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cbiAgICB0cmFuc2Zvcm0odmFsdWU6c3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlVGltZXIoKTtcbiAgICAgICAgbGV0IGQgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBsZXQgc2Vjb25kcyA9IE1hdGgucm91bmQoTWF0aC5hYnMoKG5vdy5nZXRUaW1lKCkgLSBkLmdldFRpbWUoKSkvMTAwMCkpO1xuICAgICAgICBsZXQgdGltZVRvVXBkYXRlID0gKE51bWJlci5pc05hTihzZWNvbmRzKSkgPyAxMDAwIDogdGhpcy5nZXRTZWNvbmRzVW50aWxVcGRhdGUoc2Vjb25kcykgKjEwMDA7XG4gICAgICAgIHRoaXMudGltZXIgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XG4gICAgICAgICAgICAgICAgfSwgdGltZVRvVXBkYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IG1pbnV0ZXMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKHNlY29uZHMgLyA2MCkpO1xuICAgICAgICBsZXQgaG91cnMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKG1pbnV0ZXMgLyA2MCkpO1xuICAgICAgICBsZXQgZGF5cyA9IE1hdGgucm91bmQoTWF0aC5hYnMoaG91cnMgLyAyNCkpO1xuICAgICAgICBsZXQgbW9udGhzID0gTWF0aC5yb3VuZChNYXRoLmFicyhkYXlzLzMwLjQxNikpO1xuICAgICAgICBsZXQgeWVhcnMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGRheXMvMzY1KSk7XG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4oc2Vjb25kcykpe1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9IGVsc2UgaWYgKHNlY29uZHMgPD0gNDUpIHtcbiAgICAgICAgICAgIHJldHVybiAnYSBmZXcgc2Vjb25kcyBhZ28nO1xuICAgICAgICB9IGVsc2UgaWYgKHNlY29uZHMgPD0gOTApIHtcbiAgICAgICAgICAgIHJldHVybiAnYSBtaW51dGUgYWdvJztcbiAgICAgICAgfSBlbHNlIGlmIChtaW51dGVzIDw9IDQ1KSB7XG4gICAgICAgICAgICByZXR1cm4gbWludXRlcyArICcgbWludXRlcyBhZ28nO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPD0gOTApIHtcbiAgICAgICAgICAgIHJldHVybiAnYW4gaG91ciBhZ28nO1xuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzIDw9IDIyKSB7XG4gICAgICAgICAgICByZXR1cm4gaG91cnMgKyAnIGhvdXJzIGFnbyc7XG4gICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPD0gMzYpIHtcbiAgICAgICAgICAgIHJldHVybiAnYSBkYXkgYWdvJztcbiAgICAgICAgfSBlbHNlIGlmIChkYXlzIDw9IDI1KSB7XG4gICAgICAgICAgICByZXR1cm4gZGF5cyArICcgZGF5cyBhZ28nO1xuICAgICAgICB9IGVsc2UgaWYgKGRheXMgPD0gNDUpIHtcbiAgICAgICAgICAgIHJldHVybiAnYSBtb250aCBhZ28nO1xuICAgICAgICB9IGVsc2UgaWYgKGRheXMgPD0gMzQ1KSB7XG4gICAgICAgICAgICByZXR1cm4gbW9udGhzICsgJyBtb250aHMgYWdvJztcbiAgICAgICAgfSBlbHNlIGlmIChkYXlzIDw9IDU0NSkge1xuICAgICAgICAgICAgcmV0dXJuICdhIHllYXIgYWdvJztcbiAgICAgICAgfSBlbHNlIHsgLy8gKGRheXMgPiA1NDUpXG4gICAgICAgICAgICByZXR1cm4geWVhcnMgKyAnIHllYXJzIGFnbyc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlVGltZXIoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSByZW1vdmVUaW1lcigpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgICAgICAgICB0aGlzLnRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIGdldFNlY29uZHNVbnRpbFVwZGF0ZShzZWNvbmRzOm51bWJlcikge1xuICAgICAgICBsZXQgbWluID0gNjA7XG4gICAgICAgIGxldCBociA9IG1pbiAqIDYwO1xuICAgICAgICBsZXQgZGF5ID0gaHIgKiAyNDtcbiAgICAgICAgaWYgKHNlY29uZHMgPCBtaW4pIHsgLy8gbGVzcyB0aGFuIDEgbWluLCB1cGRhdGUgZXZlcnkgMiBzZWNzXG4gICAgICAgICAgICByZXR1cm4gMjtcbiAgICAgICAgfSBlbHNlIGlmIChzZWNvbmRzIDwgaHIpIHsgLy8gbGVzcyB0aGFuIGFuIGhvdXIsIHVwZGF0ZSBldmVyeSAzMCBzZWNzXG4gICAgICAgICAgICByZXR1cm4gMzA7XG4gICAgICAgIH0gZWxzZSBpZiAoc2Vjb25kcyA8IGRheSkgeyAvLyBsZXNzIHRoZW4gYSBkYXksIHVwZGF0ZSBldmVyeSA1IG1pbnNcbiAgICAgICAgICAgIHJldHVybiAzMDA7XG4gICAgICAgIH0gZWxzZSB7IC8vIHVwZGF0ZSBldmVyeSBob3VyXG4gICAgICAgICAgICByZXR1cm4gMzYwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { EntryCreatorComponent } from '../components/entry-creator/entry-creator.component';
|
|
2
|
-
import { EntryRendererWrapperComponent } from '../components/entry-renderer-wrapper/entry-renderer-wrapper.component';
|
|
3
|
-
import { JsonRendererComponent } from '../components/json-renderer/json-renderer.component';
|
|
4
|
-
import { MainComponent } from '../components/main/main.component';
|
|
5
|
-
import { OutlineViewComponent } from '../components/outline-view/outline-view.component';
|
|
6
|
-
import { SideNavigationComponent } from '../components/side-navigation/side-navigation.component';
|
|
7
|
-
const routes = [
|
|
8
|
-
{ path: '', component: SideNavigationComponent, outlet: 'left-col' },
|
|
9
|
-
{
|
|
10
|
-
path: 'landing',
|
|
11
|
-
component: MainComponent
|
|
12
|
-
},
|
|
13
|
-
{ path: 'blog/:slug', component: EntryRendererWrapperComponent },
|
|
14
|
-
{ path: 'create', component: EntryCreatorComponent },
|
|
15
|
-
{ path: 'create', component: OutlineViewComponent, outlet: 'left-col' },
|
|
16
|
-
{ path: 'create', component: JsonRendererComponent, outlet: 'right-col' },
|
|
17
|
-
{ path: '', redirectTo: '/landing', pathMatch: 'full' },
|
|
18
|
-
{ path: '**', redirectTo: '/404error' }
|
|
19
|
-
];
|
|
20
|
-
export class Routes {
|
|
21
|
-
constructor() {
|
|
22
|
-
this.routes = routes;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9iamFtZXNvbi9EZXZlbG9wbWVudC9ibG9nL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3JvdXRpbmcvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUVoRyxNQUFNLE1BQU0sR0FBa0I7SUFDMUIsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFDO0lBQ2xFO1FBQ0ksSUFBSSxFQUFFLFNBQVM7UUFDZixTQUFTLEVBQUUsYUFBYTtLQUMzQjtJQUNELEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsNkJBQTZCLEVBQUM7SUFDOUQsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBQztJQUNsRCxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUM7SUFDckUsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFDO0lBQ3ZFLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUM7SUFDckQsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUM7Q0FDeEMsQ0FBQztBQUVGLE1BQU0sT0FBTyxNQUFNO0lBQW5CO1FBQ0ksV0FBTSxHQUFrQixNQUFNLENBQUM7SUFDbkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSb3V0ZXMgYXMgQW5ndWxhclJvdXRlcywgUm91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFbnRyeUNyZWF0b3JDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZW50cnktY3JlYXRvci9lbnRyeS1jcmVhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge0VudHJ5UmVuZGVyZXJXcmFwcGVyQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2VudHJ5LXJlbmRlcmVyLXdyYXBwZXIvZW50cnktcmVuZGVyZXItd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHtKc29uUmVuZGVyZXJDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvanNvbi1yZW5kZXJlci9qc29uLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge01haW5Db21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvbWFpbi9tYWluLmNvbXBvbmVudCc7XG5pbXBvcnQge091dGxpbmVWaWV3Q29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL291dGxpbmUtdmlldy9vdXRsaW5lLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7U2lkZU5hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvc2lkZS1uYXZpZ2F0aW9uL3NpZGUtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IEFuZ3VsYXJSb3V0ZXMgPSBbXG4gICAge3BhdGg6ICcnLCBjb21wb25lbnQ6IFNpZGVOYXZpZ2F0aW9uQ29tcG9uZW50LCBvdXRsZXQ6ICdsZWZ0LWNvbCd9LFxuICAgIHtcbiAgICAgICAgcGF0aDogJ2xhbmRpbmcnLFxuICAgICAgICBjb21wb25lbnQ6IE1haW5Db21wb25lbnRcbiAgICB9LFxuICAgIHtwYXRoOiAnYmxvZy86c2x1ZycsIGNvbXBvbmVudDogRW50cnlSZW5kZXJlcldyYXBwZXJDb21wb25lbnR9LFxuICAgIHtwYXRoOiAnY3JlYXRlJywgY29tcG9uZW50OiBFbnRyeUNyZWF0b3JDb21wb25lbnR9LFxuICAgIHtwYXRoOiAnY3JlYXRlJywgY29tcG9uZW50OiBPdXRsaW5lVmlld0NvbXBvbmVudCwgb3V0bGV0OiAnbGVmdC1jb2wnfSxcbiAgICB7cGF0aDogJ2NyZWF0ZScsIGNvbXBvbmVudDogSnNvblJlbmRlcmVyQ29tcG9uZW50LCBvdXRsZXQ6ICdyaWdodC1jb2wnfSxcbiAgICB7cGF0aDogJycsIHJlZGlyZWN0VG86ICcvbGFuZGluZycsIHBhdGhNYXRjaDogJ2Z1bGwnfSxcbiAgICB7cGF0aDogJyoqJywgcmVkaXJlY3RUbzogJy80MDRlcnJvcid9XG5dO1xuXG5leHBvcnQgY2xhc3MgUm91dGVzIHtcbiAgICByb3V0ZXM6IEFuZ3VsYXJSb3V0ZXMgPSByb3V0ZXM7XG59XG4iXX0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { DjangoRestFrameworkEndpointService } from '../django-rest-framework-endpoint.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common/http";
|
|
6
|
-
export class InteractionService extends DjangoRestFrameworkEndpointService {
|
|
7
|
-
constructor(http) {
|
|
8
|
-
super(http);
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.endpoint = '/blog_api/interactions/';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
InteractionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function InteractionService_Factory() { return new InteractionService(i0.ɵɵinject(i1.HttpClient)); }, token: InteractionService, providedIn: "root" });
|
|
14
|
-
InteractionService.decorators = [
|
|
15
|
-
{ type: Injectable, args: [{
|
|
16
|
-
providedIn: 'root'
|
|
17
|
-
},] }
|
|
18
|
-
];
|
|
19
|
-
InteractionService.ctorParameters = () => [
|
|
20
|
-
{ type: HttpClient }
|
|
21
|
-
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYmphbWVzb24vRGV2ZWxvcG1lbnQvYmxvZy9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9hbmFseXRpY3MvaW50ZXJhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBTTdGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQ0FBK0M7SUFHbkYsWUFDVyxJQUFnQjtRQUV2QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFGTCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDNCLGFBQVEsR0FBRyx5QkFBeUIsQ0FBQztJQU1yQyxDQUFDOzs7O1lBVkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFQTyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RqYW5nb1Jlc3RGcmFtZXdvcmtFbmRwb2ludFNlcnZpY2V9IGZyb20gJy4uL2RqYW5nby1yZXN0LWZyYW1ld29yay1lbmRwb2ludC5zZXJ2aWNlJztcbmltcG9ydCB7SW50ZXJhY3Rpb259IGZyb20gJy4uL2ludGVyYWN0aW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvblNlcnZpY2UgZXh0ZW5kcyBEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlPEludGVyYWN0aW9uPiB7XG4gICAgZW5kcG9pbnQgPSAnL2Jsb2dfYXBpL2ludGVyYWN0aW9ucy8nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihodHRwKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { DjangoRestFrameworkEndpointService } from '../django-rest-framework-endpoint.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common/http";
|
|
6
|
-
export class ViewService extends DjangoRestFrameworkEndpointService {
|
|
7
|
-
constructor(http) {
|
|
8
|
-
super(http);
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.endpoint = '/blog_api/views/';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
ViewService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ViewService_Factory() { return new ViewService(i0.ɵɵinject(i1.HttpClient)); }, token: ViewService, providedIn: "root" });
|
|
14
|
-
ViewService.decorators = [
|
|
15
|
-
{ type: Injectable, args: [{
|
|
16
|
-
providedIn: 'root'
|
|
17
|
-
},] }
|
|
18
|
-
];
|
|
19
|
-
ViewService.ctorParameters = () => [
|
|
20
|
-
{ type: HttpClient }
|
|
21
|
-
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9iamFtZXNvbi9EZXZlbG9wbWVudC9ibG9nL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2FuYWx5dGljcy92aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7OztBQU03RixNQUFNLE9BQU8sV0FBWSxTQUFRLGtDQUF3QztJQUdyRSxZQUNXLElBQWdCO1FBRXZCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUZMLFNBQUksR0FBSixJQUFJLENBQVk7UUFIM0IsYUFBUSxHQUFHLGtCQUFrQixDQUFDO0lBTTlCLENBQUM7Ozs7WUFWSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQVBPLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZX0gZnJvbSAnLi4vZGphbmdvLXJlc3QtZnJhbWV3b3JrLWVuZHBvaW50LnNlcnZpY2UnO1xuaW1wb3J0IHtWaWV3fSBmcm9tICcuLi92aWV3JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWaWV3U2VydmljZSBleHRlbmRzIERqYW5nb1Jlc3RGcmFtZXdvcmtFbmRwb2ludFNlcnZpY2U8Vmlldz4ge1xuICAgIGVuZHBvaW50ID0gJy9ibG9nX2FwaS92aWV3cy8nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihodHRwKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class CommentService {
|
|
6
|
-
constructor(http) {
|
|
7
|
-
this.http = http;
|
|
8
|
-
this.endpoint = '/blog_api/comments/';
|
|
9
|
-
this.adminEndpoint = '/blog_api/admin/comments/';
|
|
10
|
-
}
|
|
11
|
-
getComments(entry) {
|
|
12
|
-
return this.http.get(this.endpoint, { params: { entry } });
|
|
13
|
-
}
|
|
14
|
-
postComment(comment) {
|
|
15
|
-
return this.http.post(this.endpoint, comment, { params: { entry: comment.entry } });
|
|
16
|
-
}
|
|
17
|
-
patchComment(comment) {
|
|
18
|
-
return this.http.patch(this.adminEndpoint + '/' + comment.id + '/', comment);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
CommentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CommentService_Factory() { return new CommentService(i0.ɵɵinject(i1.HttpClient)); }, token: CommentService, providedIn: "root" });
|
|
22
|
-
CommentService.decorators = [
|
|
23
|
-
{ type: Injectable, args: [{
|
|
24
|
-
providedIn: 'root'
|
|
25
|
-
},] }
|
|
26
|
-
];
|
|
27
|
-
CommentService.ctorParameters = () => [
|
|
28
|
-
{ type: HttpClient }
|
|
29
|
-
];
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9iamFtZXNvbi9EZXZlbG9wbWVudC9ibG9nL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2NvbW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBS2hELE1BQU0sT0FBTyxjQUFjO0lBS3ZCLFlBQ2MsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUo5QixhQUFRLEdBQUcscUJBQXFCLENBQUM7UUFDakMsa0JBQWEsR0FBRywyQkFBMkIsQ0FBQztJQUs1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUMsRUFBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFPO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFDRCxZQUFZLENBQUMsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Ozs7WUFyQkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFKTyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbW1lbnRTZXJ2aWNlIHtcblxuICAgIGVuZHBvaW50ID0gJy9ibG9nX2FwaS9jb21tZW50cy8nO1xuICAgIGFkbWluRW5kcG9pbnQgPSAnL2Jsb2dfYXBpL2FkbWluL2NvbW1lbnRzLyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgZ2V0Q29tbWVudHMoZW50cnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbmRwb2ludCwge3BhcmFtczoge2VudHJ5fX0pO1xuICAgIH1cbiAgICBwb3N0Q29tbWVudChjb21tZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50LCBjb21tZW50LCB7cGFyYW1zOiB7ZW50cnk6IGNvbW1lbnQuZW50cnl9fSk7XG4gICAgfVxuICAgIHBhdGNoQ29tbWVudChjb21tZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2godGhpcy5hZG1pbkVuZHBvaW50ICsgJy8nICsgY29tbWVudC5pZCArICcvJywgY29tbWVudCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Injectable, EventEmitter } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { CoreEvent } from '../data/core-event';
|
|
5
|
-
import { CoreEventType } from '../data/core-event-type.enum';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
export class DjangoRestFrameworkEndpointService {
|
|
9
|
-
constructor(http) {
|
|
10
|
-
this.http = http;
|
|
11
|
-
this.events = new EventEmitter();
|
|
12
|
-
this.endpoint = '';
|
|
13
|
-
}
|
|
14
|
-
triggerCoreEvent(obj, type) {
|
|
15
|
-
this.events.next(new CoreEvent(obj, type));
|
|
16
|
-
return obj;
|
|
17
|
-
}
|
|
18
|
-
handleResponse(obj) {
|
|
19
|
-
return obj;
|
|
20
|
-
}
|
|
21
|
-
handleListResponse(obj) {
|
|
22
|
-
return obj;
|
|
23
|
-
}
|
|
24
|
-
get() {
|
|
25
|
-
return this.http.get(this.endpoint).pipe(map(this.handleListResponse.bind(this)));
|
|
26
|
-
}
|
|
27
|
-
getById(id) {
|
|
28
|
-
return this.http.get(this.endpoint + id + '/').pipe(map(this.handleResponse.bind(this)));
|
|
29
|
-
}
|
|
30
|
-
create(entity) {
|
|
31
|
-
return this.http.post(this.endpoint + '/', entity).pipe(map((val) => this.triggerCoreEvent(val, CoreEventType.CREATE)), map(this.handleResponse.bind(this)));
|
|
32
|
-
}
|
|
33
|
-
delete(entity) {
|
|
34
|
-
return this.http.delete(this.endpoint + entity.id + '/').pipe(map((val) => this.triggerCoreEvent(val, CoreEventType.DELETE)), map(this.handleResponse.bind(this)));
|
|
35
|
-
}
|
|
36
|
-
update(entity) {
|
|
37
|
-
return this.http.patch(this.endpoint + entity.id + '/', entity).pipe(map((val) => this.triggerCoreEvent(val, CoreEventType.UPDATE)), map(this.handleResponse.bind(this)));
|
|
38
|
-
}
|
|
39
|
-
getListByUrl(url) {
|
|
40
|
-
return this.http.get(url).pipe(map(this.handleListResponse.bind(this)));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
DjangoRestFrameworkEndpointService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DjangoRestFrameworkEndpointService_Factory() { return new DjangoRestFrameworkEndpointService(i0.ɵɵinject(i1.HttpClient)); }, token: DjangoRestFrameworkEndpointService, providedIn: "root" });
|
|
44
|
-
DjangoRestFrameworkEndpointService.decorators = [
|
|
45
|
-
{ type: Injectable, args: [{
|
|
46
|
-
providedIn: 'root'
|
|
47
|
-
},] }
|
|
48
|
-
];
|
|
49
|
-
DjangoRestFrameworkEndpointService.ctorParameters = () => [
|
|
50
|
-
{ type: HttpClient }
|
|
51
|
-
];
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGphbmdvLXJlc3QtZnJhbWV3b3JrLWVuZHBvaW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2JqYW1lc29uL0RldmVsb3BtZW50L2Jsb2cvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZGphbmdvLXJlc3QtZnJhbWV3b3JrLWVuZHBvaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGtDQUFrQztJQUMzQyxZQUNjLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFJOUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzFDLGFBQVEsR0FBRyxFQUFFLENBQUM7SUFIZCxDQUFDO0lBS0QsZ0JBQWdCLENBQUMsR0FBTSxFQUFFLElBQW1CO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFNO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUNELGtCQUFrQixDQUFDLEdBQW9CO1FBQ25DLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELEdBQUc7UUFDQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFrQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUNyRCxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxQyxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sQ0FBQyxFQUFVO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xELEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUQsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3RDLENBQUM7SUFDTixDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQVM7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFJLElBQUksQ0FBQyxRQUFRLEdBQUksTUFBYyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3JFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUQsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3RDLENBQUM7SUFDTixDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQVM7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFJLElBQUksQ0FBQyxRQUFRLEdBQUksTUFBYyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUM1RSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ04sQ0FBQztJQUNELFlBQVksQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWtCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDM0MsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDMUMsQ0FBQztJQUNOLENBQUM7Ozs7WUF4REosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFQTyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7TGlzdFJlc3BvbnNlfSBmcm9tICcuLi9kYXRhL2xpc3QtcmVzcG9uc2UnO1xuaW1wb3J0IHtDb3JlRXZlbnR9IGZyb20gJy4uL2RhdGEvY29yZS1ldmVudCc7XG5pbXBvcnQge0NvcmVFdmVudFR5cGV9IGZyb20gJy4uL2RhdGEvY29yZS1ldmVudC10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERqYW5nb1Jlc3RGcmFtZXdvcmtFbmRwb2ludFNlcnZpY2U8VD4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudFxuICAgICkge1xuICAgIH1cblxuICAgIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q29yZUV2ZW50PFQ+PigpO1xuICAgIGVuZHBvaW50ID0gJyc7XG5cbiAgICB0cmlnZ2VyQ29yZUV2ZW50KG9iajogVCwgdHlwZTogQ29yZUV2ZW50VHlwZSkge1xuICAgICAgICB0aGlzLmV2ZW50cy5uZXh0KG5ldyBDb3JlRXZlbnQob2JqLCB0eXBlKSk7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgaGFuZGxlUmVzcG9uc2Uob2JqOiBUKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGhhbmRsZUxpc3RSZXNwb25zZShvYmo6IExpc3RSZXNwb25zZTxUPikge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxuICAgIGdldCgpOiBPYnNlcnZhYmxlPExpc3RSZXNwb25zZTxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxMaXN0UmVzcG9uc2U8VD4+KHRoaXMuZW5kcG9pbnQpLnBpcGUoXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVMaXN0UmVzcG9uc2UuYmluZCh0aGlzKSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0QnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuZW5kcG9pbnQgKyBpZCArICcvJykucGlwZShcbiAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZVJlc3BvbnNlLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZShlbnRpdHk6IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuZW5kcG9pbnQgKyAnLycsIGVudGl0eSkucGlwZShcbiAgICAgICAgICAgIG1hcCgodmFsKSA9PiB0aGlzLnRyaWdnZXJDb3JlRXZlbnQodmFsLCBDb3JlRXZlbnRUeXBlLkNSRUFURSkpLFxuICAgICAgICAgICAgbWFwKHRoaXMuaGFuZGxlUmVzcG9uc2UuYmluZCh0aGlzKSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlKGVudGl0eTogVCk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxUPih0aGlzLmVuZHBvaW50ICsgKGVudGl0eSBhcyBhbnkpLmlkICsgJy8nKS5waXBlKFxuICAgICAgICAgICAgbWFwKCh2YWwpID0+IHRoaXMudHJpZ2dlckNvcmVFdmVudCh2YWwsIENvcmVFdmVudFR5cGUuREVMRVRFKSksXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGUoZW50aXR5OiBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VD4odGhpcy5lbmRwb2ludCArIChlbnRpdHkgYXMgYW55KS5pZCArICcvJywgZW50aXR5KS5waXBlKFxuICAgICAgICAgICAgbWFwKCh2YWwpID0+IHRoaXMudHJpZ2dlckNvcmVFdmVudCh2YWwsIENvcmVFdmVudFR5cGUuVVBEQVRFKSksXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cbiAgICBnZXRMaXN0QnlVcmwodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExpc3RSZXNwb25zZTxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxMaXN0UmVzcG9uc2U8VD4+KHVybCkucGlwZShcbiAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZUxpc3RSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { DjangoRestFrameworkEndpointService } from '../services/django-rest-framework-endpoint.service';
|
|
3
|
-
import { Entry } from '../data/entry';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { debounceTime, map } from 'rxjs/operators';
|
|
6
|
-
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
7
|
-
import { CoreEventType } from '../data/core-event-type.enum';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common/http";
|
|
10
|
-
export class EntryService extends DjangoRestFrameworkEndpointService {
|
|
11
|
-
constructor(http) {
|
|
12
|
-
super(http);
|
|
13
|
-
this.http = http;
|
|
14
|
-
this.endpoint = '/blog_api/entries/';
|
|
15
|
-
this.adminEndpoint = '/blog_api/admin/entries/';
|
|
16
|
-
this.currentlyEditedEntry = new Subject();
|
|
17
|
-
this.sub = this.currentlyEditedEntry.pipe(debounceTime(3000)).subscribe((e) => {
|
|
18
|
-
e.edit_date = new Date();
|
|
19
|
-
const params = new HttpParams().set('published', JSON.stringify(false)).set('defunct', JSON.stringify(false));
|
|
20
|
-
this.http.patch(this.adminEndpoint + e.id + '/', e, { params }).pipe(map(this.handleResponse.bind(this))).subscribe((response) => {
|
|
21
|
-
this.triggerCoreEvent(response, CoreEventType.UPDATE);
|
|
22
|
-
console.log('Synced ' + e.id + '...');
|
|
23
|
-
}, (err) => {
|
|
24
|
-
console.log('Error encountered syncing ' + e.id + ', trying to create...');
|
|
25
|
-
this.http.post(this.adminEndpoint, e).pipe(map(this.handleResponse)).subscribe((response) => {
|
|
26
|
-
this.triggerCoreEvent(response, CoreEventType.CREATE);
|
|
27
|
-
console.log('Created ' + e.id + '...');
|
|
28
|
-
}, (createErr) => {
|
|
29
|
-
console.log('Error creating ' + e.id);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
handleResponse(obj) {
|
|
35
|
-
return new Entry(obj);
|
|
36
|
-
}
|
|
37
|
-
handleListResponse(obj) {
|
|
38
|
-
const response = obj;
|
|
39
|
-
const results = [];
|
|
40
|
-
for (const result of response.results) {
|
|
41
|
-
results.push(new Entry(result));
|
|
42
|
-
}
|
|
43
|
-
response.results = results;
|
|
44
|
-
return response;
|
|
45
|
-
}
|
|
46
|
-
get() {
|
|
47
|
-
return this.http.get(this.endpoint).pipe(map(this.handleListResponse.bind(this)));
|
|
48
|
-
}
|
|
49
|
-
getUnpublishedEntries() {
|
|
50
|
-
const params = new HttpParams().set('published', JSON.stringify(false)).set('defunct', JSON.stringify(false));
|
|
51
|
-
return this.http.get(this.adminEndpoint, { params });
|
|
52
|
-
}
|
|
53
|
-
getBySlug(slug) {
|
|
54
|
-
return this.http.get(this.endpoint + slug + '/by_slug/').pipe(map(this.handleResponse.bind(this)));
|
|
55
|
-
}
|
|
56
|
-
getUnpublishedById(id) {
|
|
57
|
-
const params = new HttpParams().set('published', JSON.stringify(false)).set('defunct', JSON.stringify(false));
|
|
58
|
-
return this.http.get(this.adminEndpoint + id, { params }).pipe(map(this.handleResponse.bind(this)));
|
|
59
|
-
}
|
|
60
|
-
updateUnpublishedEntry(entry) {
|
|
61
|
-
const params = new HttpParams().set('published', JSON.stringify(false)).set('defunct', JSON.stringify(false));
|
|
62
|
-
return this.http.patch(this.adminEndpoint + entry.id + '/', entry, { params }).pipe(map((val) => this.triggerCoreEvent(val, CoreEventType.UPDATE)), map(this.handleResponse.bind(this)));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
EntryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntryService_Factory() { return new EntryService(i0.ɵɵinject(i1.HttpClient)); }, token: EntryService, providedIn: "root" });
|
|
66
|
-
EntryService.decorators = [
|
|
67
|
-
{ type: Injectable, args: [{
|
|
68
|
-
providedIn: 'root'
|
|
69
|
-
},] }
|
|
70
|
-
];
|
|
71
|
-
EntryService.ctorParameters = () => [
|
|
72
|
-
{ type: HttpClient }
|
|
73
|
-
];
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYmphbWVzb24vRGV2ZWxvcG1lbnQvYmxvZy9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFdEcsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7OztBQUszRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGtDQUF5QztJQXdCdkUsWUFDYyxJQUFnQjtRQUUxQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFGRixTQUFJLEdBQUosSUFBSSxDQUFZO1FBdkI5QixhQUFRLEdBQUcsb0JBQW9CLENBQUM7UUFDaEMsa0JBQWEsR0FBRywwQkFBMEIsQ0FBQztRQUczQyx5QkFBb0IsR0FBbUIsSUFBSSxPQUFPLEVBQVMsQ0FBQztRQXNCeEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFFLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRTlHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN0QyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUUsUUFBa0IsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLHVCQUF1QixDQUFDLENBQUM7Z0JBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN0QyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUMzQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUUsUUFBa0IsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQzNDLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFO29CQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBeENELGNBQWMsQ0FBQyxHQUFVO1FBQ3JCLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQXdCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNyQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUE4QkQsR0FBRztRQUNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDMUMsQ0FBQztJQUNOLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5RyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDekQsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3RDLENBQUM7SUFDTixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsRUFBVTtRQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVEsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3RDLENBQUM7SUFDTixDQUFDO0lBQ0Qsc0JBQXNCLENBQUMsS0FBWTtRQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQVEsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDcEYsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM5RCxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdEMsQ0FBQztJQUNOLENBQUM7Ozs7WUFsRkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFOTyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9kamFuZ28tcmVzdC1mcmFtZXdvcmstZW5kcG9pbnQuc2VydmljZSc7XG5pbXBvcnQge0xpc3RSZXNwb25zZX0gZnJvbSAnLi4vZGF0YS9saXN0LXJlc3BvbnNlJztcbmltcG9ydCB7RW50cnl9IGZyb20gJy4uL2RhdGEvZW50cnknO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7bG9NYXB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29yZUV2ZW50fSBmcm9tICcuLi9kYXRhL2NvcmUtZXZlbnQnO1xuaW1wb3J0IHtDb3JlRXZlbnRUeXBlfSBmcm9tICcuLi9kYXRhL2NvcmUtZXZlbnQtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbnRyeVNlcnZpY2UgZXh0ZW5kcyBEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlPEVudHJ5PiB7XG5cbiAgICBlbmRwb2ludCA9ICcvYmxvZ19hcGkvZW50cmllcy8nO1xuICAgIGFkbWluRW5kcG9pbnQgPSAnL2Jsb2dfYXBpL2FkbWluL2VudHJpZXMvJztcblxuICAgIF9jdXJyZW50bHlFZGl0ZWRFbnRyeTogRW50cnk7XG4gICAgY3VycmVudGx5RWRpdGVkRW50cnk6IFN1YmplY3Q8RW50cnk+ID0gbmV3IFN1YmplY3Q8RW50cnk+KCk7XG4gICAgc3ViO1xuXG4gICAgaGFuZGxlUmVzcG9uc2Uob2JqOiBFbnRyeSk6IEVudHJ5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBFbnRyeShvYmopO1xuICAgIH1cblxuICAgIGhhbmRsZUxpc3RSZXNwb25zZShvYmo6IExpc3RSZXNwb25zZTxFbnRyeT4pOiBMaXN0UmVzcG9uc2U8RW50cnk+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBvYmo7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKG5ldyBFbnRyeShyZXN1bHQpKTtcbiAgICAgICAgfVxuICAgICAgICByZXNwb25zZS5yZXN1bHRzID0gcmVzdWx0cztcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihodHRwKTtcbiAgICAgICAgdGhpcy5zdWIgPSB0aGlzLmN1cnJlbnRseUVkaXRlZEVudHJ5LnBpcGUoZGVib3VuY2VUaW1lKDMwMDApKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgIGUuZWRpdF9kYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwdWJsaXNoZWQnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpLnNldCgnZGVmdW5jdCcsIEpTT04uc3RyaW5naWZ5KGZhbHNlKSk7XG5cbiAgICAgICAgICAgIHRoaXMuaHR0cC5wYXRjaCh0aGlzLmFkbWluRW5kcG9pbnQgKyBlLmlkICsgJy8nLCBlLCB7cGFyYW1zfSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVSZXNwb25zZS5iaW5kKHRoaXMpKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyQ29yZUV2ZW50KChyZXNwb25zZSBhcyBFbnRyeSksIENvcmVFdmVudFR5cGUuVVBEQVRFKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnU3luY2VkICcgKyBlLmlkICsgJy4uLicpO1xuICAgICAgICAgICAgfSwgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFcnJvciBlbmNvdW50ZXJlZCBzeW5jaW5nICcgKyBlLmlkICsgJywgdHJ5aW5nIHRvIGNyZWF0ZS4uLicpO1xuICAgICAgICAgICAgICAgIHRoaXMuaHR0cC5wb3N0KHRoaXMuYWRtaW5FbmRwb2ludCwgZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHRoaXMuaGFuZGxlUmVzcG9uc2UpXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckNvcmVFdmVudCgocmVzcG9uc2UgYXMgRW50cnkpLCBDb3JlRXZlbnRUeXBlLkNSRUFURSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDcmVhdGVkICcgKyBlLmlkICsgJy4uLicpO1xuICAgICAgICAgICAgICAgIH0sIChjcmVhdGVFcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIGNyZWF0aW5nICcgKyBlLmlkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQoKTogT2JzZXJ2YWJsZTxMaXN0UmVzcG9uc2U8RW50cnk+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnQpLnBpcGUoXG4gICAgICAgICAgICBtYXAodGhpcy5oYW5kbGVMaXN0UmVzcG9uc2UuYmluZCh0aGlzKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRVbnB1Ymxpc2hlZEVudHJpZXMoKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwdWJsaXNoZWQnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpLnNldCgnZGVmdW5jdCcsIEpTT04uc3RyaW5naWZ5KGZhbHNlKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYWRtaW5FbmRwb2ludCwge3BhcmFtc30pO1xuICAgIH1cblxuICAgIGdldEJ5U2x1ZyhzbHVnOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbmRwb2ludCArIHNsdWcgKyAnL2J5X3NsdWcvJykucGlwZShcbiAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZVJlc3BvbnNlLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxuICAgIGdldFVucHVibGlzaGVkQnlJZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbnRyeT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncHVibGlzaGVkJywgSlNPTi5zdHJpbmdpZnkoZmFsc2UpKS5zZXQoJ2RlZnVuY3QnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFbnRyeT4odGhpcy5hZG1pbkVuZHBvaW50ICsgaWQsIHtwYXJhbXN9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHRoaXMuaGFuZGxlUmVzcG9uc2UuYmluZCh0aGlzKSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlVW5wdWJsaXNoZWRFbnRyeShlbnRyeTogRW50cnkpOiBPYnNlcnZhYmxlPEVudHJ5PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwdWJsaXNoZWQnLCBKU09OLnN0cmluZ2lmeShmYWxzZSkpLnNldCgnZGVmdW5jdCcsIEpTT04uc3RyaW5naWZ5KGZhbHNlKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8RW50cnk+KHRoaXMuYWRtaW5FbmRwb2ludCArIGVudHJ5LmlkICsgJy8nLCBlbnRyeSwge3BhcmFtc30pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbCkgPT4gdGhpcy50cmlnZ2VyQ29yZUV2ZW50KHZhbCwgQ29yZUV2ZW50VHlwZS5VUERBVEUpKSxcbiAgICAgICAgICAgIG1hcCh0aGlzLmhhbmRsZVJlc3BvbnNlLmJpbmQodGhpcykpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class IdentityService {
|
|
6
|
-
constructor(http) {
|
|
7
|
-
this.http = http;
|
|
8
|
-
}
|
|
9
|
-
getMe() {
|
|
10
|
-
throw new Error('You must provide an implementation for this');
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
IdentityService.ɵprov = i0.ɵɵdefineInjectable({ factory: function IdentityService_Factory() { return new IdentityService(i0.ɵɵinject(i1.HttpClient)); }, token: IdentityService, providedIn: "root" });
|
|
14
|
-
IdentityService.decorators = [
|
|
15
|
-
{ type: Injectable, args: [{
|
|
16
|
-
providedIn: 'root'
|
|
17
|
-
},] }
|
|
18
|
-
];
|
|
19
|
-
IdentityService.ctorParameters = () => [
|
|
20
|
-
{ type: HttpClient }
|
|
21
|
-
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYmphbWVzb24vRGV2ZWxvcG1lbnQvYmxvZy9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9pZGVudGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFNaEQsTUFBTSxPQUFPLGVBQWU7SUFFeEIsWUFDYyxJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQzFCLENBQUM7SUFDTCxLQUFLO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Ozs7WUFWSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQUxPLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0lkZW50aXR5fSBmcm9tICcuLi9kYXRhL2lkZW50aXR5JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZGVudGl0eVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50XG4gICAgKSB7IH1cbiAgICBnZXRNZSgpOiBPYnNlcnZhYmxlPElkZW50aXR5PiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IG11c3QgcHJvdmlkZSBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgdGhpcycpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class Interaction {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2JqYW1lc29uL0RldmVsb3BtZW50L2Jsb2cvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvaW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7Q0FHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSW50ZXJhY3Rpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY29udGVudDogYW55O1xufVxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
-
import 'clipboard';
|
|
4
|
-
import 'prismjs';
|
|
5
|
-
import 'prismjs/plugins/toolbar/prism-toolbar';
|
|
6
|
-
import 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard';
|
|
7
|
-
import 'prismjs/components/prism-css';
|
|
8
|
-
import 'prismjs/components/prism-javascript';
|
|
9
|
-
import 'prismjs/components/prism-java';
|
|
10
|
-
import 'prismjs/components/prism-markup';
|
|
11
|
-
import 'prismjs/components/prism-typescript';
|
|
12
|
-
import 'prismjs/components/prism-sass';
|
|
13
|
-
import 'prismjs/components/prism-scss';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
export class PrismService {
|
|
16
|
-
constructor(platformId) {
|
|
17
|
-
this.platformId = platformId;
|
|
18
|
-
if (Prism) {
|
|
19
|
-
Prism.manual = true;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
highlightAll() {
|
|
23
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
24
|
-
Prism.highlightAll();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
PrismService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PrismService_Factory() { return new PrismService(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: PrismService, providedIn: "root" });
|
|
29
|
-
PrismService.decorators = [
|
|
30
|
-
{ type: Injectable, args: [{
|
|
31
|
-
providedIn: 'root'
|
|
32
|
-
},] }
|
|
33
|
-
];
|
|
34
|
-
PrismService.ctorParameters = () => [
|
|
35
|
-
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
|
|
36
|
-
];
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpc20uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYmphbWVzb24vRGV2ZWxvcG1lbnQvYmxvZy9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wcmlzbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLFdBQVcsQ0FBQztBQUVuQixPQUFPLFNBQVMsQ0FBQztBQUNqQixPQUFPLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sMkRBQTJELENBQUM7QUFDbkUsT0FBTyw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTywrQkFBK0IsQ0FBQzs7QUFPdkMsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBeUMsVUFBa0I7UUFBbEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUN2RCxJQUFJLEtBQUssRUFBRTtZQUNQLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNwQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs7O1lBZEosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFFd0QsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc1BsYXRmb3JtQnJvd3Nlcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0ICdjbGlwYm9hcmQnO1xuXG5pbXBvcnQgJ3ByaXNtanMnO1xuaW1wb3J0ICdwcmlzbWpzL3BsdWdpbnMvdG9vbGJhci9wcmlzbS10b29sYmFyJztcbmltcG9ydCAncHJpc21qcy9wbHVnaW5zL2NvcHktdG8tY2xpcGJvYXJkL3ByaXNtLWNvcHktdG8tY2xpcGJvYXJkJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWNzcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1qYXZhc2NyaXB0JztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWphdmEnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tbWFya3VwJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLXR5cGVzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tc2Fzcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1zY3NzJztcblxuZGVjbGFyZSB2YXIgUHJpc206IGFueTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcmlzbVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0KSB7XG4gICAgICAgIGlmIChQcmlzbSkge1xuICAgICAgICAgICAgUHJpc20ubWFudWFsID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZ2hsaWdodEFsbCgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIFByaXNtLmhpZ2hsaWdodEFsbCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Injectable, SecurityContext } from '@angular/core';
|
|
2
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
export class StaticHtmlService {
|
|
6
|
-
constructor(domSanitizer) {
|
|
7
|
-
this.domSanitizer = domSanitizer;
|
|
8
|
-
}
|
|
9
|
-
mapStaticHtml(htmlString, isTrusted) {
|
|
10
|
-
return isTrusted ?
|
|
11
|
-
htmlString :
|
|
12
|
-
this.domSanitizer.sanitize(SecurityContext.HTML, htmlString);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
StaticHtmlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StaticHtmlService_Factory() { return new StaticHtmlService(i0.ɵɵinject(i1.DomSanitizer)); }, token: StaticHtmlService, providedIn: "root" });
|
|
16
|
-
StaticHtmlService.decorators = [
|
|
17
|
-
{ type: Injectable, args: [{
|
|
18
|
-
providedIn: 'root'
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
StaticHtmlService.ctorParameters = () => [
|
|
22
|
-
{ type: DomSanitizer }
|
|
23
|
-
];
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWh0bWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYmphbWVzb24vRGV2ZWxvcG1lbnQvYmxvZy9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zdGF0aWMtaHRtbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDWSxZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNsQyxDQUFDO0lBRUwsYUFBYSxDQUFDLFVBQWtCLEVBQUUsU0FBa0I7UUFDaEQsT0FBTyxTQUFTLENBQUMsQ0FBQztZQUNkLFVBQVUsQ0FBQyxDQUFDO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7O1lBWkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFKTyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBTZWN1cml0eUNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdGF0aWNIdG1sU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgKSB7IH1cblxuICAgIG1hcFN0YXRpY0h0bWwoaHRtbFN0cmluZzogc3RyaW5nLCBpc1RydXN0ZWQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXNUcnVzdGVkID9cbiAgICAgICAgICAgIGh0bWxTdHJpbmcgOlxuICAgICAgICAgICAgdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIGh0bWxTdHJpbmcpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { Tag } from '../data/tag';
|
|
4
|
-
import { DjangoRestFrameworkEndpointService } from './django-rest-framework-endpoint.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
export class TagService extends DjangoRestFrameworkEndpointService {
|
|
8
|
-
constructor(http) {
|
|
9
|
-
super(http);
|
|
10
|
-
this.http = http;
|
|
11
|
-
this.endpoint = '/blog_api/tags/';
|
|
12
|
-
}
|
|
13
|
-
handleResponse(obj) {
|
|
14
|
-
return new Tag(obj);
|
|
15
|
-
}
|
|
16
|
-
handleListResponse(obj) {
|
|
17
|
-
const response = obj;
|
|
18
|
-
const results = [];
|
|
19
|
-
for (let i = 0; i < response.results.length; i++) {
|
|
20
|
-
results.push(new Tag(response.results[i]));
|
|
21
|
-
}
|
|
22
|
-
response.results = results;
|
|
23
|
-
return response;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
TagService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TagService_Factory() { return new TagService(i0.ɵɵinject(i1.HttpClient)); }, token: TagService, providedIn: "root" });
|
|
27
|
-
TagService.decorators = [
|
|
28
|
-
{ type: Injectable, args: [{
|
|
29
|
-
providedIn: 'root'
|
|
30
|
-
},] }
|
|
31
|
-
];
|
|
32
|
-
TagService.ctorParameters = () => [
|
|
33
|
-
{ type: HttpClient }
|
|
34
|
-
];
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2JqYW1lc29uL0RldmVsb3BtZW50L2Jsb2cvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdGFnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNoQyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBSzVGLE1BQU0sT0FBTyxVQUFXLFNBQVEsa0NBQXVDO0lBaUJuRSxZQUNjLElBQWdCO1FBRTFCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUZGLFNBQUksR0FBSixJQUFJLENBQVk7UUFqQjlCLGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQW9CN0IsQ0FBQztJQWxCRCxjQUFjLENBQUMsR0FBUTtRQUNuQixPQUFPLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxHQUFzQjtRQUNyQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM5QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDM0IsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7OztZQWxCSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQVJPLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TGlzdFJlc3BvbnNlfSBmcm9tICcuLi9kYXRhL2xpc3QtcmVzcG9uc2UnO1xuaW1wb3J0IHtUYWd9IGZyb20gJy4uL2RhdGEvdGFnJztcbmltcG9ydCB7RGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZX0gZnJvbSAnLi9kamFuZ28tcmVzdC1mcmFtZXdvcmstZW5kcG9pbnQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGFnU2VydmljZSBleHRlbmRzIERqYW5nb1Jlc3RGcmFtZXdvcmtFbmRwb2ludFNlcnZpY2U8VGFnPiB7XG4gICAgZW5kcG9pbnQgPSAnL2Jsb2dfYXBpL3RhZ3MvJztcblxuICAgIGhhbmRsZVJlc3BvbnNlKG9iajogVGFnKTogVGFne1xuICAgICAgICByZXR1cm4gbmV3IFRhZyhvYmopO1xuICAgIH1cblxuICAgIGhhbmRsZUxpc3RSZXNwb25zZShvYmo6IExpc3RSZXNwb25zZTxUYWc+KTogTGlzdFJlc3BvbnNlPFRhZz4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IG9iajtcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3BvbnNlLnJlc3VsdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChuZXcgVGFnKHJlc3BvbnNlLnJlc3VsdHNbaV0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXNwb25zZS5yZXN1bHRzID0gcmVzdWx0cztcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaHR0cCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class Upload {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9iamFtZXNvbi9EZXZlbG9wbWVudC9ibG9nL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3VwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sTUFBTTtDQUtsQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVcGxvYWQge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgcHJvY2Vzc2VkOiBib29sZWFuO1xuICAgIHBhdGhfdG9fZmlsZTogc3RyaW5nO1xuICAgIG1pbWVfdHlwZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class UploadService {
|
|
6
|
-
constructor(http) {
|
|
7
|
-
this.http = http;
|
|
8
|
-
}
|
|
9
|
-
get(id) {
|
|
10
|
-
return this.http.get(UploadService.status_endpoint.replace('{pk}', id) + '/');
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
UploadService.upload_endpoint = '/file_api/uploads/create_image/';
|
|
14
|
-
UploadService.status_endpoint = '/file_api/uploads/{pk}/status';
|
|
15
|
-
UploadService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UploadService_Factory() { return new UploadService(i0.ɵɵinject(i1.HttpClient)); }, token: UploadService, providedIn: "root" });
|
|
16
|
-
UploadService.decorators = [
|
|
17
|
-
{ type: Injectable, args: [{
|
|
18
|
-
providedIn: 'root'
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
UploadService.ctorParameters = () => [
|
|
22
|
-
{ type: HttpClient }
|
|
23
|
-
];
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2JqYW1lc29uL0RldmVsb3BtZW50L2Jsb2cvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7OztBQUtoRCxNQUFNLE9BQU8sYUFBYTtJQUt0QixZQUNZLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFFNUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxhQUFhLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7QUFWTSw2QkFBZSxHQUFHLGlDQUFpQyxDQUFDO0FBQ3BELDZCQUFlLEdBQUcsK0JBQStCLENBQUM7OztZQU41RCxVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQUpPLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VXBsb2FkfSBmcm9tICcuLi9zZXJ2aWNlcy91cGxvYWQnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkU2VydmljZSB7XG5cbiAgICBzdGF0aWMgdXBsb2FkX2VuZHBvaW50ID0gJy9maWxlX2FwaS91cGxvYWRzL2NyZWF0ZV9pbWFnZS8nO1xuICAgIHN0YXRpYyBzdGF0dXNfZW5kcG9pbnQgPSAnL2ZpbGVfYXBpL3VwbG9hZHMve3BrfS9zdGF0dXMnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICAgICkge1xuICAgIH1cblxuICAgIGdldChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVcGxvYWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VXBsb2FkPihVcGxvYWRTZXJ2aWNlLnN0YXR1c19lbmRwb2ludC5yZXBsYWNlKCd7cGt9JywgaWQpICsgJy8nKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class View {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYmphbWVzb24vRGV2ZWxvcG1lbnQvYmxvZy9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxJQUFJO0NBR2hCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFZpZXcge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW50cnk6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
4
|
-
import { VisitorProfile } from '../data/visitor-profile';
|
|
5
|
-
import { DjangoRestFrameworkEndpointService } from '../services/django-rest-framework-endpoint.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
import * as i2 from "ngx-device-detector";
|
|
9
|
-
export class VisitorProfileService extends DjangoRestFrameworkEndpointService {
|
|
10
|
-
constructor(http, deviceDetectorService) {
|
|
11
|
-
super(http);
|
|
12
|
-
this.http = http;
|
|
13
|
-
this.deviceDetectorService = deviceDetectorService;
|
|
14
|
-
this.endpoint = '/blog_api/visitor_profiles/';
|
|
15
|
-
}
|
|
16
|
-
getVisitorProfile() {
|
|
17
|
-
const deviceInfo = this.deviceDetectorService.getDeviceInfo();
|
|
18
|
-
const vp = new VisitorProfile();
|
|
19
|
-
vp.telemetry = deviceInfo;
|
|
20
|
-
vp.name = deviceInfo.os;
|
|
21
|
-
vp.family = deviceInfo.browser;
|
|
22
|
-
vp.version = deviceInfo.browser_version;
|
|
23
|
-
vp.device = deviceInfo.device;
|
|
24
|
-
vp.os_version = deviceInfo.os_version;
|
|
25
|
-
vp.language = navigator.language;
|
|
26
|
-
return vp;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
VisitorProfileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VisitorProfileService_Factory() { return new VisitorProfileService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.DeviceDetectorService)); }, token: VisitorProfileService, providedIn: "root" });
|
|
30
|
-
VisitorProfileService.decorators = [
|
|
31
|
-
{ type: Injectable, args: [{
|
|
32
|
-
providedIn: 'root'
|
|
33
|
-
},] }
|
|
34
|
-
];
|
|
35
|
-
VisitorProfileService.ctorParameters = () => [
|
|
36
|
-
{ type: HttpClient },
|
|
37
|
-
{ type: DeviceDetectorService }
|
|
38
|
-
];
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1wcm9maWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2JqYW1lc29uL0RldmVsb3BtZW50L2Jsb2cvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdmlzaXRvci1wcm9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLG9EQUFvRCxDQUFDOzs7O0FBS3RHLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQ0FBa0Q7SUFHekYsWUFDVyxJQUFnQixFQUNoQixxQkFBNEM7UUFFbkQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEwsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBSnZELGFBQVEsR0FBRyw2QkFBNkIsQ0FBQztJQU96QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTlELE1BQU0sRUFBRSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFFaEMsRUFBRSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFFMUIsRUFBRSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3hCLEVBQUUsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUMvQixFQUFFLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDeEMsRUFBRSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQzlCLEVBQUUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUN0QyxFQUFFLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFFakMsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDOzs7O1lBNUJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBUk8sVUFBVTtZQUVWLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEZXZpY2VEZXRlY3RvclNlcnZpY2V9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xuaW1wb3J0IHtWaXNpdG9yUHJvZmlsZX0gZnJvbSAnLi4vZGF0YS92aXNpdG9yLXByb2ZpbGUnO1xuaW1wb3J0IHtEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9kamFuZ28tcmVzdC1mcmFtZXdvcmstZW5kcG9pbnQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVmlzaXRvclByb2ZpbGVTZXJ2aWNlIGV4dGVuZHMgRGphbmdvUmVzdEZyYW1ld29ya0VuZHBvaW50U2VydmljZTxWaXNpdG9yUHJvZmlsZT4ge1xuICAgIGVuZHBvaW50ID0gJy9ibG9nX2FwaS92aXNpdG9yX3Byb2ZpbGVzLyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHB1YmxpYyBkZXZpY2VEZXRlY3RvclNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihodHRwKTtcbiAgICB9XG5cbiAgICBnZXRWaXNpdG9yUHJvZmlsZSgpOiBWaXNpdG9yUHJvZmlsZSB7XG4gICAgICAgIGNvbnN0IGRldmljZUluZm8gPSB0aGlzLmRldmljZURldGVjdG9yU2VydmljZS5nZXREZXZpY2VJbmZvKCk7XG5cbiAgICAgICAgY29uc3QgdnAgPSBuZXcgVmlzaXRvclByb2ZpbGUoKTtcblxuICAgICAgICB2cC50ZWxlbWV0cnkgPSBkZXZpY2VJbmZvO1xuXG4gICAgICAgIHZwLm5hbWUgPSBkZXZpY2VJbmZvLm9zO1xuICAgICAgICB2cC5mYW1pbHkgPSBkZXZpY2VJbmZvLmJyb3dzZXI7XG4gICAgICAgIHZwLnZlcnNpb24gPSBkZXZpY2VJbmZvLmJyb3dzZXJfdmVyc2lvbjtcbiAgICAgICAgdnAuZGV2aWNlID0gZGV2aWNlSW5mby5kZXZpY2U7XG4gICAgICAgIHZwLm9zX3ZlcnNpb24gPSBkZXZpY2VJbmZvLm9zX3ZlcnNpb247XG4gICAgICAgIHZwLmxhbmd1YWdlID0gbmF2aWdhdG9yLmxhbmd1YWdlO1xuXG4gICAgICAgIHJldHVybiB2cDtcbiAgICB9XG59XG4iXX0=
|