ngx-rendering-service-lib 0.0.47 → 0.0.48
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/module/ddb/ddb.component.mjs +1 -24
- package/fesm2022/{ngx-rendering-service-lib-ddb.component-CMCF3NfH.mjs → ngx-rendering-service-lib-ddb.component-BdYROITK.mjs} +1 -24
- package/fesm2022/ngx-rendering-service-lib-ddb.component-BdYROITK.mjs.map +1 -0
- package/fesm2022/ngx-rendering-service-lib.mjs +2 -2
- package/package.json +1 -4
- package/fesm2022/ngx-rendering-service-lib-ddb.component-CMCF3NfH.mjs.map +0 -1
|
@@ -15,44 +15,21 @@ export class DdbComponent {
|
|
|
15
15
|
this.loadOptimalSize();
|
|
16
16
|
}
|
|
17
17
|
loadOptimalSize() {
|
|
18
|
-
console.log("INIT load optimal size for DDB");
|
|
19
18
|
const size = this.element.nativeElement.getBoundingClientRect();
|
|
20
19
|
if (this.data?.items !== undefined && this.data?.items[0].additionalData !== undefined) {
|
|
21
20
|
const additionalData = this.data?.items[0].additionalData;
|
|
22
|
-
console.log("Add data");
|
|
23
|
-
console.log(additionalData);
|
|
24
21
|
const keys = Object.keys(additionalData);
|
|
25
|
-
console.log("All keys");
|
|
26
|
-
console.log(keys);
|
|
27
22
|
const sizeKeys = keys.filter(key => key.startsWith("size_"));
|
|
28
|
-
console.log("size keys");
|
|
29
|
-
console.log(sizeKeys);
|
|
30
23
|
const sizes = sizeKeys.map(key => additionalData[key]);
|
|
31
|
-
console.log("sizes");
|
|
32
|
-
console.log(sizes);
|
|
33
24
|
const matchingSize = sizes.sort((a, b) => {
|
|
34
25
|
return Math.abs(parseInt(a.split(',')[0]) - size.width) > Math.abs(parseInt(b.split(',')[0]) - size.width) ? 1 : -1;
|
|
35
26
|
})[0];
|
|
36
|
-
console.log("matching size");
|
|
37
|
-
console.log(matchingSize);
|
|
38
27
|
const width = matchingSize.split(',')[0];
|
|
39
|
-
console.log("width");
|
|
40
|
-
console.log(width);
|
|
41
28
|
const height = matchingSize.split(',')[1];
|
|
42
|
-
console.log("height");
|
|
43
|
-
console.log(height);
|
|
44
29
|
const widthPlaceHolder = additionalData["widthPlaceHolder"] ?? "";
|
|
45
|
-
console.log("widthPlaceholder");
|
|
46
|
-
console.log(widthPlaceHolder);
|
|
47
30
|
const heightPlaceHolder = additionalData["heightPlaceHolder"] ?? "";
|
|
48
|
-
console.log("heightPlaceHolder");
|
|
49
|
-
console.log(heightPlaceHolder);
|
|
50
31
|
const linkTemplate = additionalData["linkTemplate"] ?? "";
|
|
51
|
-
console.log("linkTemplate");
|
|
52
|
-
console.log(linkTemplate);
|
|
53
32
|
const link = linkTemplate.replace(widthPlaceHolder, width).replace(heightPlaceHolder, height);
|
|
54
|
-
console.log("Final link");
|
|
55
|
-
console.log(link);
|
|
56
33
|
this.activeObject.set(link);
|
|
57
34
|
}
|
|
58
35
|
}
|
|
@@ -83,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
83
60
|
type: HostListener,
|
|
84
61
|
args: ['document:fullscreenchange']
|
|
85
62
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGRiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbW9kdWxlL2RkYi9kZGIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2R1bGUvZGRiL2RkYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFHdkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFeEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0IzQyxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBRnRDLGlCQUFZLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUVYLENBQUM7SUFFM0MsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBR08sZUFBZTtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2hFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2RixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUE7WUFDekQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1lBQzVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUN0RCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0SCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNMLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDeEMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6QyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUNqRSxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUNuRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ3pELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzdGLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBRyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM5QixRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDOzhHQXRDVSxZQUFZO2tHQUFaLFlBQVksNExDdkJ6Qiw2UEFPQSw2UURRSSxlQUFlLGtJQUNmLGVBQWUsMklBQ2YsV0FBVywrQkFDWCxPQUFPOzsyRkFLRSxZQUFZO2tCQVp4QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsT0FBTztxQkFDUjsrRUFLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQVVFLGVBQWU7c0JBRHRCLFlBQVk7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIHNpZ25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVuZGVyaW5nTW9kdWxlfSBmcm9tIFwiLi4vLi4vcmVuZGVyaW5nLm1vZHVsZVwiO1xuaW1wb3J0IHtSZW5kZXJNb2R1bGV9IGZyb20gXCIuLi9SZW5kZXJNb2R1bGVcIjtcbmltcG9ydCB7Tm9kZX0gZnJvbSBcIm5neC1lZHUtc2hhcmluZy1hcGlcIjtcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uQnV0dG9ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQge01hdE9wdGlvbiwgTWF0U2VsZWN0fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7UmVuZGVyRGF0YSwgQXNzZXRTdGF0ZUl0ZW19IGZyb20gXCIuLi8uLi9kdG8vUmVuZGVyRGF0YVwiO1xuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLW1vZHVsZS1kZGInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUmVuZGVyaW5nTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGRiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RkYi5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRGRiQ29tcG9uZW50IGltcGxlbWVudHMgUmVuZGVyTW9kdWxlLCBBZnRlclZpZXdJbml0e1xuICBASW5wdXQoKSBkYXRhOiBSZW5kZXJEYXRhIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBub2RlOiBOb2RlIHwgdW5kZWZpbmVkO1xuICBhY3RpdmVPYmplY3QgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkT3B0aW1hbFNpemUoKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6ZnVsbHNjcmVlbmNoYW5nZScpXG4gIHByaXZhdGUgbG9hZE9wdGltYWxTaXplKCkge1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAodGhpcy5kYXRhPy5pdGVtcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZGF0YT8uaXRlbXNbMF0uYWRkaXRpb25hbERhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgYWRkaXRpb25hbERhdGEgPSB0aGlzLmRhdGE/Lml0ZW1zWzBdLmFkZGl0aW9uYWxEYXRhXG4gICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoYWRkaXRpb25hbERhdGEpXG4gICAgICBjb25zdCBzaXplS2V5cyA9IGtleXMuZmlsdGVyKGtleSA9PiBrZXkuc3RhcnRzV2l0aChcInNpemVfXCIpKVxuICAgICAgY29uc3Qgc2l6ZXMgPSBzaXplS2V5cy5tYXAoa2V5ID0+IGFkZGl0aW9uYWxEYXRhW2tleV0pXG4gICAgICBjb25zdCBtYXRjaGluZ1NpemUgPSBzaXplcy5zb3J0KChhLGIpID0+IHtcbiAgICAgICAgcmV0dXJuIE1hdGguYWJzKHBhcnNlSW50KGEuc3BsaXQoJywnKVswXSkgLSBzaXplLndpZHRoKSA+IE1hdGguYWJzKHBhcnNlSW50KGIuc3BsaXQoJywnKVswXSkgLSBzaXplLndpZHRoKSA/IDEgOiAtMTtcbiAgICAgIH0pWzBdXG4gICAgICBjb25zdCB3aWR0aCA9IG1hdGNoaW5nU2l6ZS5zcGxpdCgnLCcpWzBdXG4gICAgICBjb25zdCBoZWlnaHQgPSBtYXRjaGluZ1NpemUuc3BsaXQoJywnKVsxXVxuICAgICAgY29uc3Qgd2lkdGhQbGFjZUhvbGRlciA9IGFkZGl0aW9uYWxEYXRhW1wid2lkdGhQbGFjZUhvbGRlclwiXSA/PyBcIlwiXG4gICAgICBjb25zdCBoZWlnaHRQbGFjZUhvbGRlciA9IGFkZGl0aW9uYWxEYXRhW1wiaGVpZ2h0UGxhY2VIb2xkZXJcIl0gPz8gXCJcIlxuICAgICAgY29uc3QgbGlua1RlbXBsYXRlID0gYWRkaXRpb25hbERhdGFbXCJsaW5rVGVtcGxhdGVcIl0gPz8gXCJcIlxuICAgICAgY29uc3QgbGluayA9IGxpbmtUZW1wbGF0ZS5yZXBsYWNlKHdpZHRoUGxhY2VIb2xkZXIsIHdpZHRoKS5yZXBsYWNlKGhlaWdodFBsYWNlSG9sZGVyLCBoZWlnaHQpXG4gICAgICB0aGlzLmFjdGl2ZU9iamVjdC5zZXQobGluaylcbiAgICB9XG4gIH1cblxuICB0b2dnbGVGdWxsc2NyZWVuKCkge1xuICAgIGlmKGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7XG4gICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRkYi13cmFwcGVyXCIgKm5nSWY9XCJhY3RpdmVPYmplY3QoKVwiPlxuICA8aW1nXG4gICAgW3NyY109XCJhY3RpdmVPYmplY3QoKVwiXG4gICAgW2FsdF09XCJub2RlPy50aXRsZSB8fCBub2RlPy5uYW1lIHx8ICcnXCJcbiAgPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRnVsbHNjcmVlbigpXCI+PG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -16,44 +16,21 @@ class DdbComponent {
|
|
|
16
16
|
this.loadOptimalSize();
|
|
17
17
|
}
|
|
18
18
|
loadOptimalSize() {
|
|
19
|
-
console.log("INIT load optimal size for DDB");
|
|
20
19
|
const size = this.element.nativeElement.getBoundingClientRect();
|
|
21
20
|
if (this.data?.items !== undefined && this.data?.items[0].additionalData !== undefined) {
|
|
22
21
|
const additionalData = this.data?.items[0].additionalData;
|
|
23
|
-
console.log("Add data");
|
|
24
|
-
console.log(additionalData);
|
|
25
22
|
const keys = Object.keys(additionalData);
|
|
26
|
-
console.log("All keys");
|
|
27
|
-
console.log(keys);
|
|
28
23
|
const sizeKeys = keys.filter(key => key.startsWith("size_"));
|
|
29
|
-
console.log("size keys");
|
|
30
|
-
console.log(sizeKeys);
|
|
31
24
|
const sizes = sizeKeys.map(key => additionalData[key]);
|
|
32
|
-
console.log("sizes");
|
|
33
|
-
console.log(sizes);
|
|
34
25
|
const matchingSize = sizes.sort((a, b) => {
|
|
35
26
|
return Math.abs(parseInt(a.split(',')[0]) - size.width) > Math.abs(parseInt(b.split(',')[0]) - size.width) ? 1 : -1;
|
|
36
27
|
})[0];
|
|
37
|
-
console.log("matching size");
|
|
38
|
-
console.log(matchingSize);
|
|
39
28
|
const width = matchingSize.split(',')[0];
|
|
40
|
-
console.log("width");
|
|
41
|
-
console.log(width);
|
|
42
29
|
const height = matchingSize.split(',')[1];
|
|
43
|
-
console.log("height");
|
|
44
|
-
console.log(height);
|
|
45
30
|
const widthPlaceHolder = additionalData["widthPlaceHolder"] ?? "";
|
|
46
|
-
console.log("widthPlaceholder");
|
|
47
|
-
console.log(widthPlaceHolder);
|
|
48
31
|
const heightPlaceHolder = additionalData["heightPlaceHolder"] ?? "";
|
|
49
|
-
console.log("heightPlaceHolder");
|
|
50
|
-
console.log(heightPlaceHolder);
|
|
51
32
|
const linkTemplate = additionalData["linkTemplate"] ?? "";
|
|
52
|
-
console.log("linkTemplate");
|
|
53
|
-
console.log(linkTemplate);
|
|
54
33
|
const link = linkTemplate.replace(widthPlaceHolder, width).replace(heightPlaceHolder, height);
|
|
55
|
-
console.log("Final link");
|
|
56
|
-
console.log(link);
|
|
57
34
|
this.activeObject.set(link);
|
|
58
35
|
}
|
|
59
36
|
}
|
|
@@ -86,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
86
63
|
}] } });
|
|
87
64
|
|
|
88
65
|
export { DdbComponent };
|
|
89
|
-
//# sourceMappingURL=ngx-rendering-service-lib-ddb.component-
|
|
66
|
+
//# sourceMappingURL=ngx-rendering-service-lib-ddb.component-BdYROITK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-rendering-service-lib-ddb.component-BdYROITK.mjs","sources":["../../src/lib/module/ddb/ddb.component.ts","../../src/lib/module/ddb/ddb.component.html"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, HostListener, Input, signal, ViewChild} from '@angular/core';\nimport {RenderingModule} from \"../../rendering.module\";\nimport {RenderModule} from \"../RenderModule\";\nimport {Node} from \"ngx-edu-sharing-api\";\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatButtonModule, MatIconButton} from \"@angular/material/button\";\nimport {MatOption, MatSelect} from \"@angular/material/select\";\nimport {FormsModule} from \"@angular/forms\";\nimport {RenderData, AssetStateItem} from \"../../dto/RenderData\";\nimport {MatMenu, MatMenuItem, MatMenuTrigger} from \"@angular/material/menu\";\n\n@Component({\n selector: 'rs-module-ddb',\n standalone: true,\n imports: [\n RenderingModule,\n MatButtonModule,\n FormsModule,\n MatIcon,\n ],\n templateUrl: './ddb.component.html',\n styleUrl: './ddb.component.scss'\n})\nexport class DdbComponent implements RenderModule, AfterViewInit{\n @Input() data: RenderData | undefined;\n @Input() node: Node | undefined;\n activeObject = signal<string | undefined>(undefined);\n\n constructor(public element: ElementRef) { }\n\n ngAfterViewInit(): void {\n this.loadOptimalSize()\n }\n\n @HostListener('document:fullscreenchange')\n private loadOptimalSize() {\n const size = this.element.nativeElement.getBoundingClientRect();\n if (this.data?.items !== undefined && this.data?.items[0].additionalData !== undefined) {\n const additionalData = this.data?.items[0].additionalData\n const keys = Object.keys(additionalData)\n const sizeKeys = keys.filter(key => key.startsWith(\"size_\"))\n const sizes = sizeKeys.map(key => additionalData[key])\n const matchingSize = sizes.sort((a,b) => {\n return Math.abs(parseInt(a.split(',')[0]) - size.width) > Math.abs(parseInt(b.split(',')[0]) - size.width) ? 1 : -1;\n })[0]\n const width = matchingSize.split(',')[0]\n const height = matchingSize.split(',')[1]\n const widthPlaceHolder = additionalData[\"widthPlaceHolder\"] ?? \"\"\n const heightPlaceHolder = additionalData[\"heightPlaceHolder\"] ?? \"\"\n const linkTemplate = additionalData[\"linkTemplate\"] ?? \"\"\n const link = linkTemplate.replace(widthPlaceHolder, width).replace(heightPlaceHolder, height)\n this.activeObject.set(link)\n }\n }\n\n toggleFullscreen() {\n if(document.fullscreenElement) {\n document.exitFullscreen();\n } else {\n this.element.nativeElement.requestFullscreen();\n }\n }\n}\n","<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n"],"names":["i2"],"mappings":"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"}
|
|
@@ -826,9 +826,9 @@ class RenderComponent {
|
|
|
826
826
|
return "default";
|
|
827
827
|
}
|
|
828
828
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, deps: [{ token: i0.Injector }, { token: i1$1.RenderControllerWrapperService }, { token: i1$1.JobInfoControllerService }, { token: ModuleInfoService }, { token: i3.PlatformLocation }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
829
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: RenderComponent, isStandalone: true, selector: "rs-root", inputs: { request: "request", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"module module-{{(renderData$ | async)?.module}}\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML' || data?.module === 'H5P' || data?.module === 'JUPYTER') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'AUDIO'){\n <rs-module-audio [data]=\"data\" [node]=\"node\"></rs-module-audio>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'BINDER'){\n <rs-module-binder [data]=\"data\" [node]=\"node\"></rs-module-binder>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'DDB'){\n <rs-module-ddb [data]=\"data\" [node]=\"node\"></rs-module-ddb>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n <ng-container *ngIf=\"data.module === 'default'\">\n @defer (when data.module === 'default') {\n <rs-module-default [node]=\"node\"></rs-module-default>\n }\n </ng-container>\n <ng-container *ngIf=\"data.module === 'url'\">\n @defer (when data.module === 'url') {\n <rs-module-url [node]=\"node\" [data]=\"data\"></rs-module-url>\n }\n </ng-container>\n </ng-container>\n\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: RenderingApiModule }, { kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], deferBlockDependencies: [() => [Promise.resolve().then(function () { return image_component; }).then(m => m.ImageComponent)], () => [Promise.resolve().then(function () { return video_component; }).then(m => m.VideoComponent)], () => [Promise.resolve().then(function () { return pdf_component; }).then(m => m.PdfComponent)], () => [Promise.resolve().then(function () { return eduHtml_component; }).then(m => m.EduHtmlComponent)], () => [Promise.resolve().then(function () { return spreadsheet_component; }).then(m => m.SpreadsheetComponent)], () => [import('./ngx-rendering-service-lib-audio.component-s97Pw5sK.mjs').then(m => m.AudioComponent)], () => [import('./ngx-rendering-service-lib-binder.component-CDQBrYTq.mjs').then(m => m.BinderComponent)], () => [import('./ngx-rendering-service-lib-ddb.component-
|
|
829
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: RenderComponent, isStandalone: true, selector: "rs-root", inputs: { request: "request", node: "node" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"module module-{{(renderData$ | async)?.module}}\">\n <ng-container *ngIf=\"renderData$ | async as data\">\n @defer (when data?.module === 'IMAGE'){\n <rs-module-image [data]=\"data\" [node]=\"node\"></rs-module-image>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'VIDEO'){\n <rs-module-video [data]=\"data\" [node]=\"node\"></rs-module-video>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'PDF' || data?.module === 'DOCUMENT') {\n <rs-module-pdf [data]=\"data\" [node]=\"node\"></rs-module-pdf>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'EDUHTML' || data?.module === 'H5P' || data?.module === 'JUPYTER') {\n <rs-module-eduHtml [data]=\"data\" [node]=\"node\"></rs-module-eduHtml>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'SPREADSHEET') {\n <rs-module-spreadsheet [data]=\"data\" [node]=\"node\"></rs-module-spreadsheet>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'AUDIO'){\n <rs-module-audio [data]=\"data\" [node]=\"node\"></rs-module-audio>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'BINDER'){\n <rs-module-binder [data]=\"data\" [node]=\"node\"></rs-module-binder>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n @defer (when data?.module === 'DDB'){\n <rs-module-ddb [data]=\"data\" [node]=\"node\"></rs-module-ddb>\n } @loading {\n <ng-container *ngTemplateOutlet=\"loading\"></ng-container>\n }\n <ng-container *ngIf=\"data.module === 'default'\">\n @defer (when data.module === 'default') {\n <rs-module-default [node]=\"node\"></rs-module-default>\n }\n </ng-container>\n <ng-container *ngIf=\"data.module === 'url'\">\n @defer (when data.module === 'url') {\n <rs-module-url [node]=\"node\" [data]=\"data\"></rs-module-url>\n }\n </ng-container>\n </ng-container>\n\n <div class=\"progress\" *ngIf=\"(renderData$ | async) === null;\">\n <ng-container *ngIf=\"progress$ | async as progress\">\n <ng-container [ngSwitch]=\"['VIDEO', 'AUDIO'].includes(progress.module) ? 'bar' : 'spinner'\">\n <ng-container *ngSwitchCase=\"'bar'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}}</div>\n <mat-progress-bar [value]=\"(progress.progress ?? 0)\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-progress-bar>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spinner'\">\n <div *ngIf=\"(progress.progress ?? 0) < 0\">Queue position: {{-(progress.progress ?? 0)}</div>\n <mat-spinner [diameter]=\"50\" *ngIf=\"(progress.progress ?? 0) >= 0\"></mat-spinner>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loading>\n <div class=\"progress\">\n <mat-spinner></mat-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:20px;padding:10px 30px}.module{overflow:auto;display:flex;flex-grow:1;height:auto;border:1px solid #aaa;padding:20px}.module rs-module-image,.module rs-module-video{width:100%}.module .progress{display:flex;justify-content:center;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: RenderingApiModule }, { kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], deferBlockDependencies: [() => [Promise.resolve().then(function () { return image_component; }).then(m => m.ImageComponent)], () => [Promise.resolve().then(function () { return video_component; }).then(m => m.VideoComponent)], () => [Promise.resolve().then(function () { return pdf_component; }).then(m => m.PdfComponent)], () => [Promise.resolve().then(function () { return eduHtml_component; }).then(m => m.EduHtmlComponent)], () => [Promise.resolve().then(function () { return spreadsheet_component; }).then(m => m.SpreadsheetComponent)], () => [import('./ngx-rendering-service-lib-audio.component-s97Pw5sK.mjs').then(m => m.AudioComponent)], () => [import('./ngx-rendering-service-lib-binder.component-CDQBrYTq.mjs').then(m => m.BinderComponent)], () => [import('./ngx-rendering-service-lib-ddb.component-BdYROITK.mjs').then(m => m.DdbComponent)], () => [import('./ngx-rendering-service-lib-default.component-BiI-arRn.mjs').then(m => m.DefaultComponent)], () => [Promise.resolve().then(function () { return url_component; }).then(m => m.UrlComponent)]] }); }
|
|
830
830
|
}
|
|
831
|
-
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, resolveDeferredDeps: () => [Promise.resolve().then(function () { return image_component; }).then(m => m.ImageComponent), Promise.resolve().then(function () { return video_component; }).then(m => m.VideoComponent), Promise.resolve().then(function () { return pdf_component; }).then(m => m.PdfComponent), Promise.resolve().then(function () { return eduHtml_component; }).then(m => m.EduHtmlComponent), Promise.resolve().then(function () { return spreadsheet_component; }).then(m => m.SpreadsheetComponent), import('./ngx-rendering-service-lib-audio.component-s97Pw5sK.mjs').then(m => m.AudioComponent), import('./ngx-rendering-service-lib-binder.component-CDQBrYTq.mjs').then(m => m.BinderComponent), import('./ngx-rendering-service-lib-ddb.component-
|
|
831
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "18.2.6", ngImport: i0, type: RenderComponent, resolveDeferredDeps: () => [Promise.resolve().then(function () { return image_component; }).then(m => m.ImageComponent), Promise.resolve().then(function () { return video_component; }).then(m => m.VideoComponent), Promise.resolve().then(function () { return pdf_component; }).then(m => m.PdfComponent), Promise.resolve().then(function () { return eduHtml_component; }).then(m => m.EduHtmlComponent), Promise.resolve().then(function () { return spreadsheet_component; }).then(m => m.SpreadsheetComponent), import('./ngx-rendering-service-lib-audio.component-s97Pw5sK.mjs').then(m => m.AudioComponent), import('./ngx-rendering-service-lib-binder.component-CDQBrYTq.mjs').then(m => m.BinderComponent), import('./ngx-rendering-service-lib-ddb.component-BdYROITK.mjs').then(m => m.DdbComponent), import('./ngx-rendering-service-lib-default.component-BiI-arRn.mjs').then(m => m.DefaultComponent), Promise.resolve().then(function () { return url_component; }).then(m => m.UrlComponent)], resolveMetadata: (ImageComponent, VideoComponent, PdfComponent, EduHtmlComponent, SpreadsheetComponent, AudioComponent, BinderComponent, DdbComponent, DefaultComponent, UrlComponent) => ({ decorators: [{
|
|
832
832
|
type: Component,
|
|
833
833
|
args: [{ selector: 'rs-root', standalone: true, imports: [
|
|
834
834
|
RenderingApiModule,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-rendering-service-lib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.48",
|
|
4
4
|
"private": false,
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"tslib": "^2.3.0"
|
|
@@ -16,9 +16,6 @@
|
|
|
16
16
|
"@angular/platform-browser": "^18.0.2",
|
|
17
17
|
"@angular/platform-browser-dynamic": "^18.0.2",
|
|
18
18
|
"@angular/router": "^18.0.2",
|
|
19
|
-
"@angular/youtube-player": "^18.0.3",
|
|
20
|
-
"ng2-pdfjs-viewer": "^18.0.0",
|
|
21
|
-
"ngx-edu-sharing-api": "~10.0.0",
|
|
22
19
|
"rxjs": "~7.8.0",
|
|
23
20
|
"zone.js": "~0.14.3"
|
|
24
21
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-rendering-service-lib-ddb.component-CMCF3NfH.mjs","sources":["../../src/lib/module/ddb/ddb.component.ts","../../src/lib/module/ddb/ddb.component.html"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, HostListener, Input, signal, ViewChild} from '@angular/core';\nimport {RenderingModule} from \"../../rendering.module\";\nimport {RenderModule} from \"../RenderModule\";\nimport {Node} from \"ngx-edu-sharing-api\";\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatButtonModule, MatIconButton} from \"@angular/material/button\";\nimport {MatOption, MatSelect} from \"@angular/material/select\";\nimport {FormsModule} from \"@angular/forms\";\nimport {RenderData, AssetStateItem} from \"../../dto/RenderData\";\nimport {MatMenu, MatMenuItem, MatMenuTrigger} from \"@angular/material/menu\";\n\n@Component({\n selector: 'rs-module-ddb',\n standalone: true,\n imports: [\n RenderingModule,\n MatButtonModule,\n FormsModule,\n MatIcon,\n ],\n templateUrl: './ddb.component.html',\n styleUrl: './ddb.component.scss'\n})\nexport class DdbComponent implements RenderModule, AfterViewInit{\n @Input() data: RenderData | undefined;\n @Input() node: Node | undefined;\n activeObject = signal<string | undefined>(undefined);\n\n constructor(public element: ElementRef) { }\n\n ngAfterViewInit(): void {\n this.loadOptimalSize()\n }\n\n @HostListener('document:fullscreenchange')\n private loadOptimalSize() {\n console.log(\"INIT load optimal size for DDB\")\n const size = this.element.nativeElement.getBoundingClientRect();\n if (this.data?.items !== undefined && this.data?.items[0].additionalData !== undefined) {\n const additionalData = this.data?.items[0].additionalData\n console.log(\"Add data\")\n console.log(additionalData)\n const keys = Object.keys(additionalData)\n console.log(\"All keys\")\n console.log(keys)\n const sizeKeys = keys.filter(key => key.startsWith(\"size_\"))\n console.log(\"size keys\")\n console.log(sizeKeys)\n const sizes = sizeKeys.map(key => additionalData[key])\n console.log(\"sizes\")\n console.log(sizes)\n const matchingSize = sizes.sort((a,b) => {\n return Math.abs(parseInt(a.split(',')[0]) - size.width) > Math.abs(parseInt(b.split(',')[0]) - size.width) ? 1 : -1;\n })[0]\n console.log(\"matching size\")\n console.log(matchingSize)\n const width = matchingSize.split(',')[0]\n console.log(\"width\")\n console.log(width)\n const height = matchingSize.split(',')[1]\n console.log(\"height\")\n console.log(height)\n const widthPlaceHolder = additionalData[\"widthPlaceHolder\"] ?? \"\"\n console.log(\"widthPlaceholder\")\n console.log(widthPlaceHolder)\n const heightPlaceHolder = additionalData[\"heightPlaceHolder\"] ?? \"\"\n console.log(\"heightPlaceHolder\")\n console.log(heightPlaceHolder)\n const linkTemplate = additionalData[\"linkTemplate\"] ?? \"\"\n console.log(\"linkTemplate\")\n console.log(linkTemplate)\n const link = linkTemplate.replace(widthPlaceHolder, width).replace(heightPlaceHolder, height)\n console.log(\"Final link\")\n console.log(link)\n this.activeObject.set(link)\n }\n }\n\n toggleFullscreen() {\n if(document.fullscreenElement) {\n document.exitFullscreen();\n } else {\n this.element.nativeElement.requestFullscreen();\n }\n }\n}\n","<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n"],"names":["i2"],"mappings":"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"}
|