@igo2/common 1.13.0 → 1.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/assets/images/na.png +0 -0
- package/esm2020/lib/context-menu/context-menu.directive.mjs +18 -3
- package/esm2020/lib/context-menu/context-menu.module.mjs +5 -4
- package/esm2020/lib/context-menu/index.mjs +2 -1
- package/esm2020/lib/context-menu/long-press.directive.mjs +43 -0
- package/esm2020/lib/entity/entity-table/entity-table.component.mjs +15 -11
- package/esm2020/lib/entity/shared/entity.interfaces.mjs +1 -1
- package/esm2020/lib/image/image-error.directive.mjs +35 -0
- package/esm2020/lib/image/image.module.mjs +5 -4
- package/esm2020/lib/image/index.mjs +2 -1
- package/esm2020/lib/image/secure-image.pipe.mjs +9 -4
- package/fesm2015/igo2-common.mjs +120 -15
- package/fesm2015/igo2-common.mjs.map +1 -1
- package/fesm2020/igo2-common.mjs +112 -15
- package/fesm2020/igo2-common.mjs.map +1 -1
- package/lib/context-menu/context-menu.directive.d.ts +1 -1
- package/lib/context-menu/context-menu.module.d.ts +2 -1
- package/lib/context-menu/index.d.ts +1 -0
- package/lib/context-menu/long-press.directive.d.ts +12 -0
- package/lib/entity/entity-table/entity-table.component.d.ts +1 -0
- package/lib/entity/shared/entity.interfaces.d.ts +2 -0
- package/lib/image/image-error.directive.d.ts +11 -0
- package/lib/image/image.module.d.ts +2 -1
- package/lib/image/index.d.ts +1 -0
- package/package.json +4 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEVudGl0eU9wZXJhdGlvblR5cGUsXG4gIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXJcbn0gZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuL3N0b3JlJztcblxuZXhwb3J0IHR5cGUgRW50aXR5S2V5ID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0YXRlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVJlY29yZDxFIGV4dGVuZHMgb2JqZWN0LCBTIGV4dGVuZHMgRW50aXR5U3RhdGUgPSBFbnRpdHlTdGF0ZT4ge1xuICBlbnRpdHk6IEU7XG4gIHN0YXRlOiBTO1xuICByZXZpc2lvbjogbnVtYmVyO1xuICByZWY6IHN0cmluZztcbiAgZWRpdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVPcHRpb25zIHtcbiAgZ2V0S2V5PzogKGVudGl0eTogb2JqZWN0KSA9PiBFbnRpdHlLZXk7XG4gIGdldFByb3BlcnR5PzogKGVudGl0eTogb2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKSA9PiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RhdGVNYW5hZ2VyT3B0aW9ucyB7XG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xuICBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIGZpbHRlckNsYXVzZUZ1bmM6IEVudGl0eUZpbHRlckNsYXVzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBnZXRLZXk/OiAoZW50aXR5OiBvYmplY3QpID0+IEVudGl0eUtleTtcbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5RmlsdGVyQ2xhdXNlPEUgPSBvYmplY3Q+ID0gKGVudGl0eTogRSkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTb3J0Q2xhdXNlPEUgPSBvYmplY3Q+IHtcbiAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogRSkgPT4gc3RyaW5nIHwgbnVtYmVyO1xuICBkaXJlY3Rpb246IHN0cmluZztcblxuICAvLyBJZiB0cnVlLCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIHdpbGwgYmUgZmlyc3RcbiAgLy8gSWYgZmFsc2UsIG51bGwgYW5kIHVuZGVmaW5lZCB2YWx1ZXMgd2lsbCBiZSBsYXN0XG4gIC8vIElmIHVuZGVmaW5lZCwgZGVmYXVsdCB0byB0cnVlIGFuZCBmYWxzZSB3aGVuIHNvcnRpbmcgaW4gZGVzY2VuZGluZyBhbmRcbiAgLy8gYXNjZW5kaW5nIG9yZGVyLCByZXNwZWN0aXZlbHlcbiAgbnVsbHNGaXJzdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Sm9pbkNsYXVzZSB7XG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxhbnkgfCB2b2lkPjtcbiAgcmVkdWNlOiAocGFyYW0xOiBvYmplY3QsIHBhcmFtMjogYW55KSA9PiBvYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uPEUgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IHtcbiAga2V5OiBFbnRpdHlLZXk7XG4gIHR5cGU6IEVudGl0eU9wZXJhdGlvblR5cGU7XG4gIHByZXZpb3VzOiBFIHwgdW5kZWZpbmVkO1xuICBjdXJyZW50OiBFIHwgdW5kZWZpbmVkO1xuICBzdG9yZT86IEVudGl0eVN0b3JlPEU+O1xuICBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uU3RhdGUge1xuICBhZGRlZDogYm9vbGVhbjtcbiAgY2FuY2VsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VGFibGVUZW1wbGF0ZSB7XG4gIGNvbHVtbnM6IEVudGl0eVRhYmxlQ29sdW1uW107XG4gIHNlbGVjdGlvbj86IGJvb2xlYW47XG4gIHNlbGVjdGlvbkNoZWNrYm94PzogYm9vbGVhbjtcbiAgc2VsZWN0TWFueT86IGJvb2xlYW47XG4gIHNvcnQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEVudGl0eU9wZXJhdGlvblR5cGUsXG4gIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXJcbn0gZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuL3N0b3JlJztcblxuZXhwb3J0IHR5cGUgRW50aXR5S2V5ID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0YXRlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVJlY29yZDxFIGV4dGVuZHMgb2JqZWN0LCBTIGV4dGVuZHMgRW50aXR5U3RhdGUgPSBFbnRpdHlTdGF0ZT4ge1xuICBlbnRpdHk6IEU7XG4gIHN0YXRlOiBTO1xuICByZXZpc2lvbjogbnVtYmVyO1xuICByZWY6IHN0cmluZztcbiAgZWRpdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVPcHRpb25zIHtcbiAgZ2V0S2V5PzogKGVudGl0eTogb2JqZWN0KSA9PiBFbnRpdHlLZXk7XG4gIGdldFByb3BlcnR5PzogKGVudGl0eTogb2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKSA9PiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RhdGVNYW5hZ2VyT3B0aW9ucyB7XG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xuICBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIGZpbHRlckNsYXVzZUZ1bmM6IEVudGl0eUZpbHRlckNsYXVzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBnZXRLZXk/OiAoZW50aXR5OiBvYmplY3QpID0+IEVudGl0eUtleTtcbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5RmlsdGVyQ2xhdXNlPEUgPSBvYmplY3Q+ID0gKGVudGl0eTogRSkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTb3J0Q2xhdXNlPEUgPSBvYmplY3Q+IHtcbiAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogRSkgPT4gc3RyaW5nIHwgbnVtYmVyO1xuICBkaXJlY3Rpb246IHN0cmluZztcblxuICAvLyBJZiB0cnVlLCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIHdpbGwgYmUgZmlyc3RcbiAgLy8gSWYgZmFsc2UsIG51bGwgYW5kIHVuZGVmaW5lZCB2YWx1ZXMgd2lsbCBiZSBsYXN0XG4gIC8vIElmIHVuZGVmaW5lZCwgZGVmYXVsdCB0byB0cnVlIGFuZCBmYWxzZSB3aGVuIHNvcnRpbmcgaW4gZGVzY2VuZGluZyBhbmRcbiAgLy8gYXNjZW5kaW5nIG9yZGVyLCByZXNwZWN0aXZlbHlcbiAgbnVsbHNGaXJzdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Sm9pbkNsYXVzZSB7XG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxhbnkgfCB2b2lkPjtcbiAgcmVkdWNlOiAocGFyYW0xOiBvYmplY3QsIHBhcmFtMjogYW55KSA9PiBvYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uPEUgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IHtcbiAga2V5OiBFbnRpdHlLZXk7XG4gIHR5cGU6IEVudGl0eU9wZXJhdGlvblR5cGU7XG4gIHByZXZpb3VzOiBFIHwgdW5kZWZpbmVkO1xuICBjdXJyZW50OiBFIHwgdW5kZWZpbmVkO1xuICBzdG9yZT86IEVudGl0eVN0b3JlPEU+O1xuICBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uU3RhdGUge1xuICBhZGRlZDogYm9vbGVhbjtcbiAgY2FuY2VsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VGFibGVUZW1wbGF0ZSB7XG4gIGNvbHVtbnM6IEVudGl0eVRhYmxlQ29sdW1uW107XG4gIHNlbGVjdGlvbj86IGJvb2xlYW47XG4gIHNlbGVjdGlvbkNoZWNrYm94PzogYm9vbGVhbjtcbiAgc2VsZWN0TWFueT86IGJvb2xlYW47XG4gIHNvcnQ/OiBib29sZWFuO1xuICBmaXhlZEhlYWRlcj86IGJvb2xlYW47XG4gIHRhYmxlSGVpZ2h0PzpzdHJpbmc7XG4gIHZhbHVlQWNjZXNzb3I/OiAoZW50aXR5OiBvYmplY3QsIHByb3BlcnR5OiBzdHJpbmcsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IGFueTtcbiAgaGVhZGVyQ2xhc3NGdW5jPzogKCkgPT4ge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG4gIHJvd0NsYXNzRnVuYz86IChlbnRpdHk6IG9iamVjdCwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4ge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG4gIGNlbGxDbGFzc0Z1bmM/OiAoZW50aXR5OiBvYmplY3QsIGNvbHVtbjogRW50aXR5VGFibGVDb2x1bW4sIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVRhYmxlQ29sdW1uVmFsaWRhdGlvbiB7XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgbWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgbWF4bGVuZ3RoPzogbnVtYmVyO1xuICBtaW5sZW5ndGg/OiBudW1iZXI7XG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICBtYXhWYWx1ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJlbGF0aW9uIHtcbiAgdGFibGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUNvbHVtbiB7XG4gIHZhbGlkYXRpb24/OiBFbnRpdHlUYWJsZUNvbHVtblZhbGlkYXRpb247XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcmVuZGVyZXI/OiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyO1xuICB2YWx1ZUFjY2Vzc29yPzogKGVudGl0eTogb2JqZWN0LCByZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiBhbnk7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBsaW5rQ29sdW1uRm9yY2U/OiBzdHJpbmc7XG4gIHNvcnQ/OiBib29sZWFuO1xuICB0eXBlPzogc3RyaW5nO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIGRvbWFpblZhbHVlcz86IEFycmF5PFNlbGVjdE9wdGlvbj47XG4gIHJlbGF0aW9uPzogVGFibGVSZWxhdGlvbjtcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgY2VsbENsYXNzRnVuYz86IChlbnRpdHk6IG9iamVjdCwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4ge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0T3B0aW9uIHtcbiAgaWQ6IG51bWJlcjtcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUJ1dHRvbiB7XG4gIGljb246IHN0cmluZztcbiAgY2xpY2s6IChlbnRpdHk6IG9iamVjdCwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4gdm9pZDtcbiAgY29sb3I/OiAncHJpbWFyeScgfMKgJ2FjY2VudCcgfCAnd2Fybic7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgc3R5bGU/OiAnbWF0LW1pbmktZmFiJyB8ICdtYXQtaWNvbi1idXR0b24nO1xuICBlZGl0TW9kZT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ImageErrorDirective {
|
|
4
|
+
constructor(el) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.errorImageUrl = '/assets/igo2/common/images/na.png';
|
|
7
|
+
this.hideError = false;
|
|
8
|
+
}
|
|
9
|
+
onError(event) {
|
|
10
|
+
if (this.hideError) {
|
|
11
|
+
this.el.nativeElement.style.display = "none";
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
event.target.src = this.errorImageUrl;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ImageErrorDirective.ɵfac = function ImageErrorDirective_Factory(t) { return new (t || ImageErrorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
19
|
+
ImageErrorDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImageErrorDirective, selectors: [["", "igoImageError", ""]], hostBindings: function ImageErrorDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵlistener("error", function ImageErrorDirective_error_HostBindingHandler($event) { return ctx.onError($event); });
|
|
21
|
+
} }, inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" } });
|
|
22
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageErrorDirective, [{
|
|
23
|
+
type: Directive,
|
|
24
|
+
args: [{
|
|
25
|
+
selector: '[igoImageError]'
|
|
26
|
+
}]
|
|
27
|
+
}], function () { return [{ type: i0.ElementRef }]; }, { errorImageUrl: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], hideError: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], onError: [{
|
|
32
|
+
type: HostListener,
|
|
33
|
+
args: ["error", ['$event']]
|
|
34
|
+
}] }); })();
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW1hZ2UvaW1hZ2UtZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUh6QixrQkFBYSxHQUFXLG1DQUFtQyxDQUFDO1FBQzVELGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFQyxDQUFDO0lBRy9CLE9BQU8sQ0FBQyxLQUFVO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztTQUM5QzthQUFNO1lBQ0wsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUN2QztJQUVILENBQUM7O3NGQWZVLG1CQUFtQjtzRUFBbkIsbUJBQW1CO3NHQUFuQixtQkFBZTs7dUZBQWYsbUJBQW1CO2NBSC9CLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCOzZEQUdVLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBS0MsT0FBTztrQkFEYixZQUFZO21CQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb0ltYWdlRXJyb3JdJ1xufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUVycm9yRGlyZWN0aXZlIHtcblxuICBASW5wdXQoKSBlcnJvckltYWdlVXJsOiBzdHJpbmcgPSAnL2Fzc2V0cy9pZ28yL2NvbW1vbi9pbWFnZXMvbmEucG5nJztcbiAgQElucHV0KCkgaGlkZUVycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBASG9zdExpc3RlbmVyKFwiZXJyb3JcIiwgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRXJyb3IoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhpZGVFcnJvcikge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgZXZlbnQudGFyZ2V0LnNyYyA9IHRoaXMuZXJyb3JJbWFnZVVybDtcbiAgICB9XG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ImageErrorDirective } from './image-error.directive';
|
|
2
3
|
import { SecureImagePipe } from './secure-image.pipe';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class IgoImageModule {
|
|
@@ -16,9 +17,9 @@ IgoImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
|
16
17
|
type: NgModule,
|
|
17
18
|
args: [{
|
|
18
19
|
imports: [],
|
|
19
|
-
declarations: [SecureImagePipe],
|
|
20
|
-
exports: [SecureImagePipe]
|
|
20
|
+
declarations: [SecureImagePipe, ImageErrorDirective],
|
|
21
|
+
exports: [SecureImagePipe, ImageErrorDirective]
|
|
21
22
|
}]
|
|
22
23
|
}], null, null); })();
|
|
23
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe], exports: [SecureImagePipe] }); })();
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] }); })();
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW1hZ2UvaW1hZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7NEVBTlUsY0FBYztnRUFBZCxjQUFjOzt1RkFBZCxjQUFjO2NBTDFCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUM7Z0JBQ3BELE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQzthQUNoRDs7d0ZBQ1ksY0FBYyxtQkFIVixlQUFlLEVBQUUsbUJBQW1CLGFBQ3pDLGVBQWUsRUFBRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VFcnJvckRpcmVjdGl2ZSB9IGZyb20gJy4vaW1hZ2UtZXJyb3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlY3VyZUltYWdlUGlwZSB9IGZyb20gJy4vc2VjdXJlLWltYWdlLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbU2VjdXJlSW1hZ2VQaXBlLCBJbWFnZUVycm9yRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW1NlY3VyZUltYWdlUGlwZSwgSW1hZ2VFcnJvckRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvSW1hZ2VNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0ltYWdlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29JbWFnZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export * from './image-error.directive';
|
|
1
2
|
export * from './secure-image.pipe';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbWFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ltYWdlLWVycm9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlY3VyZS1pbWFnZS5waXBlJztcbiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { Pipe } from '@angular/core';
|
|
|
3
3
|
import { HttpHeaders } from '@angular/common/http';
|
|
4
4
|
import { Cacheable } from 'ts-cacheable';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
|
-
import { switchMap } from 'rxjs/operators';
|
|
6
|
+
import { catchError, switchMap } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/common/http";
|
|
9
9
|
import * as i2 from "@igo2/core";
|
|
@@ -15,7 +15,8 @@ export class SecureImagePipe {
|
|
|
15
15
|
transform(url) {
|
|
16
16
|
const headers = new HttpHeaders({
|
|
17
17
|
'Content-Type': 'text/plain',
|
|
18
|
-
activityInterceptor: 'false'
|
|
18
|
+
activityInterceptor: 'false',
|
|
19
|
+
interceptError: 'false'
|
|
19
20
|
});
|
|
20
21
|
const regexDepot = new RegExp(this.configService?.getConfig('depot.url') + '.*?(?="|$)');
|
|
21
22
|
if (regexDepot.test(url)) {
|
|
@@ -26,7 +27,11 @@ export class SecureImagePipe {
|
|
|
26
27
|
headers,
|
|
27
28
|
responseType: 'blob'
|
|
28
29
|
})
|
|
29
|
-
.pipe(
|
|
30
|
+
.pipe(catchError((err) => {
|
|
31
|
+
err.error.caught = true;
|
|
32
|
+
err.error.toDisplay = false;
|
|
33
|
+
throw err;
|
|
34
|
+
}), switchMap((blob) => {
|
|
30
35
|
return new Observable((observer) => {
|
|
31
36
|
const reader = new FileReader();
|
|
32
37
|
reader.readAsDataURL(blob);
|
|
@@ -51,4 +56,4 @@ __decorate([
|
|
|
51
56
|
name: 'secureImage'
|
|
52
57
|
}]
|
|
53
58
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; }, { transform: [] }); })();
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLWltYWdlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbWFnZS9zZWN1cmUtaW1hZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXZELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1UsSUFBZ0IsRUFDaEIsYUFBNkI7UUFEN0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7SUFBRyxDQUFDO0lBSzNDLFNBQVMsQ0FBQyxHQUFXO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzlCLGNBQWMsRUFBRSxZQUFZO1lBQzVCLG1CQUFtQixFQUFFLE9BQU87WUFDNUIsY0FBYyxFQUFFLE9BQU87U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDekYsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPO1lBQ1AsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQzthQUNELElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDeEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQzVCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDakIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixNQUFNLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRTtvQkFDdEIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzdCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDbUIsQ0FBQztJQUM1QixDQUFDOzs4RUExQ1UsZUFBZTttRkFBZixlQUFlO0FBUTFCO0lBSEMsU0FBUyxDQUFDO1FBQ1QsYUFBYSxFQUFFLEVBQUU7S0FDbEIsQ0FBQztnREFtQ0Q7dUZBMUNVLGVBQWU7Y0FIM0IsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxhQUFhO2FBQ3BCO3lGQVNDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgQ2FjaGVhYmxlIH0gZnJvbSAndHMtY2FjaGVhYmxlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2VjdXJlSW1hZ2UnXG59KVxuZXhwb3J0IGNsYXNzIFNlY3VyZUltYWdlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlPzogQ29uZmlnU2VydmljZSkge31cblxuICBAQ2FjaGVhYmxlKHtcbiAgICBtYXhDYWNoZUNvdW50OiAyMFxuICB9KVxuICB0cmFuc2Zvcm0odXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICd0ZXh0L3BsYWluJyxcbiAgICAgIGFjdGl2aXR5SW50ZXJjZXB0b3I6ICdmYWxzZScsXG4gICAgICBpbnRlcmNlcHRFcnJvcjogJ2ZhbHNlJ1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVnZXhEZXBvdCA9IG5ldyBSZWdFeHAodGhpcy5jb25maWdTZXJ2aWNlPy5nZXRDb25maWcoJ2RlcG90LnVybCcpICsgJy4qPyg/PVwifCQpJyk7XG4gICAgaWYgKHJlZ2V4RGVwb3QudGVzdCh1cmwpKSB7XG4gICAgICB1cmwgPSB1cmwubWF0Y2gocmVnZXhEZXBvdClbMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgZXJyLmVycm9yLmNhdWdodCA9IHRydWU7XG4gICAgICAgICAgZXJyLmVycm9yLnRvRGlzcGxheSA9IGZhbHNlO1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgoYmxvYikgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVhZGVyLnJlc3VsdCk7XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKSBhcyBPYnNlcnZhYmxlPHN0cmluZz47XG4gIH1cbn1cbiJdfQ==
|
package/fesm2015/igo2-common.mjs
CHANGED
|
@@ -41,7 +41,7 @@ import * as i2 from '@angular/material/paginator';
|
|
|
41
41
|
import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
|
|
42
42
|
import * as i5$1 from '@angular/material/input';
|
|
43
43
|
import { MatInputModule } from '@angular/material/input';
|
|
44
|
-
import * as
|
|
44
|
+
import * as i17 from '@angular/material/datepicker';
|
|
45
45
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
46
46
|
import scrollIntoView from 'scroll-into-view-if-needed';
|
|
47
47
|
import * as i1$2 from '@angular/platform-browser';
|
|
@@ -1962,6 +1962,43 @@ EntityTablePaginatorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
|
|
|
1962
1962
|
}] });
|
|
1963
1963
|
})();
|
|
1964
1964
|
|
|
1965
|
+
class ImageErrorDirective {
|
|
1966
|
+
constructor(el) {
|
|
1967
|
+
this.el = el;
|
|
1968
|
+
this.errorImageUrl = '/assets/igo2/common/images/na.png';
|
|
1969
|
+
this.hideError = false;
|
|
1970
|
+
}
|
|
1971
|
+
onError(event) {
|
|
1972
|
+
if (this.hideError) {
|
|
1973
|
+
this.el.nativeElement.style.display = "none";
|
|
1974
|
+
}
|
|
1975
|
+
else {
|
|
1976
|
+
event.target.src = this.errorImageUrl;
|
|
1977
|
+
}
|
|
1978
|
+
}
|
|
1979
|
+
}
|
|
1980
|
+
ImageErrorDirective.ɵfac = function ImageErrorDirective_Factory(t) { return new (t || ImageErrorDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
1981
|
+
ImageErrorDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImageErrorDirective, selectors: [["", "igoImageError", ""]], hostBindings: function ImageErrorDirective_HostBindings(rf, ctx) {
|
|
1982
|
+
if (rf & 1) {
|
|
1983
|
+
i0.ɵɵlistener("error", function ImageErrorDirective_error_HostBindingHandler($event) { return ctx.onError($event); });
|
|
1984
|
+
}
|
|
1985
|
+
}, inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" } });
|
|
1986
|
+
(function () {
|
|
1987
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageErrorDirective, [{
|
|
1988
|
+
type: Directive,
|
|
1989
|
+
args: [{
|
|
1990
|
+
selector: '[igoImageError]'
|
|
1991
|
+
}]
|
|
1992
|
+
}], function () { return [{ type: i0.ElementRef }]; }, { errorImageUrl: [{
|
|
1993
|
+
type: Input
|
|
1994
|
+
}], hideError: [{
|
|
1995
|
+
type: Input
|
|
1996
|
+
}], onError: [{
|
|
1997
|
+
type: HostListener,
|
|
1998
|
+
args: ["error", ['$event']]
|
|
1999
|
+
}] });
|
|
2000
|
+
})();
|
|
2001
|
+
|
|
1965
2002
|
/**
|
|
1966
2003
|
* Directive that handles an entity table row click and selection.
|
|
1967
2004
|
*/
|
|
@@ -2125,7 +2162,8 @@ class SecureImagePipe {
|
|
|
2125
2162
|
var _a;
|
|
2126
2163
|
const headers = new HttpHeaders({
|
|
2127
2164
|
'Content-Type': 'text/plain',
|
|
2128
|
-
activityInterceptor: 'false'
|
|
2165
|
+
activityInterceptor: 'false',
|
|
2166
|
+
interceptError: 'false'
|
|
2129
2167
|
});
|
|
2130
2168
|
const regexDepot = new RegExp(((_a = this.configService) === null || _a === void 0 ? void 0 : _a.getConfig('depot.url')) + '.*?(?="|$)');
|
|
2131
2169
|
if (regexDepot.test(url)) {
|
|
@@ -2136,7 +2174,11 @@ class SecureImagePipe {
|
|
|
2136
2174
|
headers,
|
|
2137
2175
|
responseType: 'blob'
|
|
2138
2176
|
})
|
|
2139
|
-
.pipe(
|
|
2177
|
+
.pipe(catchError((err) => {
|
|
2178
|
+
err.error.caught = true;
|
|
2179
|
+
err.error.toDisplay = false;
|
|
2180
|
+
throw err;
|
|
2181
|
+
}), switchMap((blob) => {
|
|
2140
2182
|
return new Observable((observer) => {
|
|
2141
2183
|
const reader = new FileReader();
|
|
2142
2184
|
reader.readAsDataURL(blob);
|
|
@@ -2912,6 +2954,7 @@ function EntityTableComponent_igo_entity_table_paginator_8_Template(rf, ctx) {
|
|
|
2912
2954
|
i0.ɵɵproperty("store", ctx_r5.store)("paginatorOptions", ctx_r5.paginatorOptions)("entitySortChange$", ctx_r5.entitySortChange$);
|
|
2913
2955
|
}
|
|
2914
2956
|
}
|
|
2957
|
+
const _c0$c = function (a0) { return { "height": a0 }; };
|
|
2915
2958
|
class EntityTableComponent {
|
|
2916
2959
|
constructor(cdRef, formBuilder, _focusMonitor, _elementRef, ngControl, _parentForm, _controlName, _defaultErrorStateMatcher, dateAdapter) {
|
|
2917
2960
|
this.cdRef = cdRef;
|
|
@@ -3015,6 +3058,7 @@ class EntityTableComponent {
|
|
|
3015
3058
|
* @internal
|
|
3016
3059
|
*/
|
|
3017
3060
|
get fixedHeader() { return this.template.fixedHeader === undefined ? true : this.template.fixedHeader; }
|
|
3061
|
+
get tableHeight() { return this.template.tableHeight ? this.template.tableHeight : 'auto'; }
|
|
3018
3062
|
/**
|
|
3019
3063
|
* Track the selection state to properly display the selection checkboxes
|
|
3020
3064
|
* @internal
|
|
@@ -3591,7 +3635,7 @@ class EntityTableComponent {
|
|
|
3591
3635
|
}
|
|
3592
3636
|
}
|
|
3593
3637
|
EntityTableComponent.ɵfac = function EntityTableComponent_Factory(t) { return new (t || EntityTableComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$4.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2$1.FocusMonitor), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1$4.NgControl, 10), i0.ɵɵdirectiveInject(i1$4.NgForm, 8), i0.ɵɵdirectiveInject(i1$4.FormControlName, 8), i0.ɵɵdirectiveInject(i3$1.ErrorStateMatcher), i0.ɵɵdirectiveInject(i3$1.DateAdapter)); };
|
|
3594
|
-
EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityTableComponent, selectors: [["igo-entity-table"]], inputs: { store: "store", paginator: "paginator", template: "template", scrollBehavior: "scrollBehavior", sortNullsFirst: "sortNullsFirst", withPaginator: "withPaginator", paginatorOptions: "paginatorOptions" }, outputs: { entityClick: "entityClick", entitySelectChange: "entitySelectChange", entitySortChange: "entitySortChange" }, features: [i0.ɵɵProvidersFeature([{ provide: MatFormFieldControl, useExisting: EntityTableComponent }]), i0.ɵɵNgOnChangesFeature], decls: 9, vars:
|
|
3638
|
+
EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityTableComponent, selectors: [["igo-entity-table"]], inputs: { store: "store", paginator: "paginator", template: "template", scrollBehavior: "scrollBehavior", sortNullsFirst: "sortNullsFirst", withPaginator: "withPaginator", paginatorOptions: "paginatorOptions" }, outputs: { entityClick: "entityClick", entitySelectChange: "entitySelectChange", entitySortChange: "entitySortChange" }, features: [i0.ɵɵProvidersFeature([{ provide: MatFormFieldControl, useExisting: EntityTableComponent }]), i0.ɵɵNgOnChangesFeature], decls: 9, vars: 11, consts: [[1, "table-container", 3, "ngStyle"], ["mat-table", "", "matSort", "", 3, "ngClass", "dataSource", "trackBy", "matSortChange"], ["matColumnDef", "selectionCheckbox", 1, "mat-cell-checkbox"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], [3, "matColumnDef", 4, "ngFor", "ngForOf"], ["mat-header-row", "", 3, "ngClass", 4, "matHeaderRowDef", "matHeaderRowDefSticky"], ["mat-row", "", "igoEntityTableRow", "", 3, "scrollBehavior", "ngClass", "selection", "selected", "select", "click", 4, "matRowDef", "matRowDefColumns"], [3, "store", "paginatorOptions", "entitySortChange$", "paginatorChange", 4, "ngIf"], ["mat-header-cell", ""], [4, "ngIf"], [3, "checked", "indeterminate", "change"], ["mat-cell", ""], [3, "checked", "mousedown", "click", "change"], [3, "matColumnDef"], ["mat-header-cell", "", "mat-sort-header", "", 3, "matTooltip", 4, "matHeaderCellDef"], ["mat-header-cell", "", "mat-sort-header", "", 3, "matTooltip"], ["mat-header-cell", "", 3, "matTooltip", 4, "matHeaderCellDef"], ["mat-header-cell", "", 3, "matTooltip"], [4, "matCellDef"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "ngIf", "ngIfElse"], ["isAnUrlDefault", ""], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["igoImageError", "", "width", "50", "heigth", "auto", 3, "src", 4, "ngIf", "ngIfElse"], ["notImg", ""], ["igoImageError", "", "width", "50", "heigth", "auto", 3, "src"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", "innerHTML", 4, "ngIf", "ngIfElse"], ["isAnUrlHTML", ""], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass", "innerHTML"], ["mat-cell", "", "class", "mat-cell-text edition", 3, "formGroup", "ngClass", 4, "ngIf", "ngIfElse"], ["isUnsanitizedHTML", ""], ["mat-cell", "", 1, "mat-cell-text", "edition", 3, "formGroup", "ngClass"], ["class", "date-picker", 4, "ngIf"], ["matInput", "", "type", "time", "step", "900", 3, "formControlName", "focus", "keypress", "blur", 4, "ngIf"], ["matInput", "", "type", "number", "class", "class_number_edition", 3, "formControlName", "step", "value", "readonly", "required", "min", "max", "input", 4, "ngIf"], ["matInput", "", "type", "text", 3, "formControlName", "value", "readonly", "required", "input", 4, "ngIf"], [3, "formControlName", "checked", "change", 4, "ngIf"], [3, "required", "formControlName", "multiple", "value", "selectionChange", 4, "ngIf"], ["matInput", "", "type", "text", 3, "formControlName", "matAutocomplete", "required", "value", "readonly", 4, "ngIf"], ["panelWidth", "430px", 3, "optionSelected"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], [1, "date-picker"], ["matSuffix", "", 3, "for"], ["matInput", "", 3, "matDatepicker", "formControlName", "value", "dateChange"], ["picker", ""], ["matInput", "", "type", "time", "step", "900", 3, "formControlName", "focus", "keypress", "blur"], ["matInput", "", "type", "number", 1, "class_number_edition", 3, "formControlName", "step", "value", "readonly", "required", "min", "max", "input"], ["matInput", "", "type", "text", 3, "formControlName", "value", "readonly", "required", "input"], [3, "formControlName", "checked", "change"], [3, "required", "formControlName", "multiple", "value", "selectionChange"], [3, "value", "disabled", 4, "ngFor", "ngForOf"], [3, "value", "disabled"], ["matInput", "", "type", "text", 3, "formControlName", "matAutocomplete", "required", "value", "readonly"], [3, "value"], ["isAnUrlUnsanitizedHTML", ""], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "matCellDef"], [3, "svgIcon", "click", 4, "ngIf"], [3, "svgIcon", 4, "ngIf"], [3, "svgIcon", "click"], [3, "svgIcon"], [4, "ngFor", "ngForOf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "color", "disabled", "mousedown", 4, "ngIf"], ["igoStopPropagation", "", "mat-mini-fab", "", 3, "color", "disabled", "mousedown", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", 3, "color", "disabled", "mousedown"], ["igoStopPropagation", "", "mat-mini-fab", "", 3, "color", "disabled", "mousedown"], ["mat-header-row", "", 3, "ngClass"], ["mat-row", "", "igoEntityTableRow", "", 3, "scrollBehavior", "ngClass", "selection", "selected", "select", "click"], [3, "store", "paginatorOptions", "entitySortChange$", "paginatorChange"]], template: function EntityTableComponent_Template(rf, ctx) {
|
|
3595
3639
|
if (rf & 1) {
|
|
3596
3640
|
i0.ɵɵelementStart(0, "div", 0)(1, "table", 1);
|
|
3597
3641
|
i0.ɵɵlistener("matSortChange", function EntityTableComponent_Template_table_matSortChange_1_listener($event) { return ctx.onSort($event); });
|
|
@@ -3607,6 +3651,7 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
|
|
|
3607
3651
|
i0.ɵɵelementEnd();
|
|
3608
3652
|
}
|
|
3609
3653
|
if (rf & 2) {
|
|
3654
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(9, _c0$c, ctx.tableHeight));
|
|
3610
3655
|
i0.ɵɵadvance(1);
|
|
3611
3656
|
i0.ɵɵproperty("ngClass", ctx.getTableClass())("dataSource", ctx.dataSource)("trackBy", ctx.getTrackByFunction());
|
|
3612
3657
|
i0.ɵɵadvance(4);
|
|
@@ -3618,11 +3663,11 @@ EntityTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Entity
|
|
|
3618
3663
|
i0.ɵɵadvance(1);
|
|
3619
3664
|
i0.ɵɵproperty("ngIf", ctx.withPaginator);
|
|
3620
3665
|
}
|
|
3621
|
-
}, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i5.MatTable, i5.MatHeaderCellDef, i5.MatHeaderRowDef, i5.MatColumnDef, i5.MatCellDef, i5.MatRowDef, i5.MatHeaderCell, i5.MatCell, i5.MatHeaderRow, i5.MatRow, i6.MatAutocomplete, i6.MatAutocompleteTrigger, i3$1.MatOption, i7.MatSort, i7.MatSortHeader, i3$2.MatIcon, i2$2.MatButton, i10.MatCheckbox, i4.MatSuffix, i3.MatSelect, StopPropagationDirective, EntityTablePaginatorComponent, i1$4.DefaultValueAccessor, i1$4.NumberValueAccessor, i1$4.NgControlStatus, i1$4.NgControlStatusGroup, i1$4.RequiredValidator, i1$4.MinValidator, i1$4.MaxValidator, i1$4.FormGroupDirective, i1$4.FormControlName, i5$1.MatInput,
|
|
3666
|
+
}, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i5.MatTable, i5.MatHeaderCellDef, i5.MatHeaderRowDef, i5.MatColumnDef, i5.MatCellDef, i5.MatRowDef, i5.MatHeaderCell, i5.MatCell, i5.MatHeaderRow, i5.MatRow, i6.MatAutocomplete, i6.MatAutocompleteTrigger, i3$1.MatOption, i7.MatSort, i7.MatSortHeader, i3$2.MatIcon, i2$2.MatButton, i10.MatCheckbox, i4.MatSuffix, i3.MatSelect, StopPropagationDirective, EntityTablePaginatorComponent, ImageErrorDirective, i1$4.DefaultValueAccessor, i1$4.NumberValueAccessor, i1$4.NgControlStatus, i1$4.NgControlStatusGroup, i1$4.RequiredValidator, i1$4.MinValidator, i1$4.MaxValidator, i1$4.FormGroupDirective, i1$4.FormControlName, i5$1.MatInput, i17.MatDatepicker, i17.MatDatepickerInput, i17.MatDatepickerToggle, i6$1.MatTooltip, EntityTableRowDirective, i1.AsyncPipe, SanitizeHtmlPipe, SecureImagePipe, i6$2.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%;height:100%;display:block}.table-compact[_nghost-%COMP%] tr.mat-header-row[_ngcontent-%COMP%], .table-compact[_nghost-%COMP%] .mat-checkbox .mat-checkbox-ripple{height:36px}.table-compact[_nghost-%COMP%] tr.mat-row[_ngcontent-%COMP%], .table-compact[_nghost-%COMP%] .mat-checkbox .mat-checkbox-ripple{height:28px}.table-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text[_ngcontent-%COMP%]{overflow:hidden;word-wrap:break-word}th.mat-header-cell[_ngcontent-%COMP%], td.mat-cell[_ngcontent-%COMP%], td.mat-footer-cell[_ngcontent-%COMP%]{padding:0 3px}entity-table[_ngcontent-%COMP%] table.igo-entity-table-with-selection[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:7px}.class_hidden[_ngcontent-%COMP%]{visibility:hidden}.class_display_none[_ngcontent-%COMP%]{display:none}.class_boolean[_ngcontent-%COMP%], .class_icon[_ngcontent-%COMP%], .class_number[_ngcontent-%COMP%]{text-align:center;padding-right:35px!important}.class_sting[_ngcontent-%COMP%], .class_text[_ngcontent-%COMP%], .class_number_edition[_ngcontent-%COMP%]{text-align:left}td.edition[_ngcontent-%COMP%]{background:rgba(166,166,166,.2)}input[_ngcontent-%COMP%]{border-bottom:1px solid darkgrey}"], changeDetection: 0 });
|
|
3622
3667
|
(function () {
|
|
3623
3668
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTableComponent, [{
|
|
3624
3669
|
type: Component,
|
|
3625
|
-
args: [{ selector: 'igo-entity-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: EntityTableComponent }], template: "<div class=\"table-container\">\n <table mat-table matSort [ngClass]=\"getTableClass()\" [dataSource]=\"dataSource\" [trackBy]=\"getTrackByFunction()\" (matSortChange)=\"onSort($event)\">\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container *ngIf=\"selectMany\">\n <ng-container *ngIf=\"selectionState$ | async as selectionState\">\n <mat-checkbox (change)=\"onToggleRows($event.checked)\" [checked]=\"selectionState === entityTableSelectionState.All\"\n [indeterminate]=\"selectionState === entityTableSelectionState.Some\">\n </mat-checkbox>\n </ng-container>\n </ng-container>\n </th>\n <td mat-cell *matCellDef=\"let record\">\n <mat-checkbox (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\" (click)=\"$event.shiftKey ?\n onShiftToggleRow(!rowIsSelected(record), record, $event) : $event.stopPropagation()\" (change)=\"onToggleRow($event.checked,record)\"\n [checked]=\"rowIsSelected(record)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container [matColumnDef]=\"column.name\" *ngFor=\"let column of template.columns\">\n <ng-container *ngIf=\"columnIsSortable(column)\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\n {{column.title}}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!columnIsSortable(column)\">\n <th mat-header-cell *matHeaderCellDef [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\n {{column.title}}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"getColumnRenderer(column) as columnRenderer\">\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Default\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlDefault\" [ngClass]=\"getCellClass(record, column)\">\n {{getValue(record, column)}}\n </td>\n <ng-template #isAnUrlDefault>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{\n 'igo.common.entity-table.targetHtmlUrl' | translate }}\n </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.HTML\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlHTML\" [ngClass]=\"getCellClass(record, column)\"\n [innerHTML]=\"getValue(record, column)\">\n </td>\n <ng-template #isAnUrlHTML>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' |\n translate }} </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.UnsanitizedHTML\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text edition\" [formGroup]=\"formGroup\" *ngIf=\"isEdition(record);else isUnsanitizedHTML\"\n [ngClass]=\"getCellClass(record, column)\">\n <div class=\"date-picker\" *ngIf=\"column.type === 'date'\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"column.name\" value=\"{{getValue(record, column)}}\"\n (dateChange)=\"onDateChange(column.name, record, $event)\">\n <mat-datepicker #picker></mat-datepicker>\n </div>\n <input matInput type=\"time\" *ngIf=\"column.type === 'time'\" [formControlName]=\"column.name\" step=\"900\" (focus)=\"column.onFocus($event)\"\n (keypress)=\"column.onChange($event)\" (blur)=\"column.onBlur($event)\">\n <input matInput type=\"number\" class=\"class_number_edition\" *ngIf=\"column.type === 'number'\" [formControlName]=\"column.name\" step=\"{{column.step}}\"\n value=\"{{getValue(record,column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\n min=\"{{getValidationAttributeValue(column, 'minValue')}}\" max=\"{{getValidationAttributeValue(column, 'maxValue')}}\">\n <input matInput type=\"text\" *ngIf=\"!column.type || column.type ==='string'\" [formControlName]=\"column.name\"\n value=\"{{getValue(record, column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\">\n <mat-checkbox *ngIf=\"column.type === 'boolean'\" [formControlName]=\"column.name\" [checked]=\"getValue(record,column)\"\n (change)=\"onBooleanValueChange(column.name, record,$event)\"></mat-checkbox>\n <mat-select *ngIf=\"column.type === 'list'\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\n [formControlName]=\"column.name\" [multiple]=\"column.multiple\" (selectionChange)=\"onSelectValueChange(column.name, record, $event)\"\n [value]=\"getValue(record, column)\">\n <mat-option *ngFor=\"let option of column.domainValues\" [value]=\"option.id\" [disabled]=\"option.disabled\">\n {{ option.value }}\n </mat-option>\n </mat-select>\n <input matInput type=\"text\" [formControlName]=\"column.name\" *ngIf=\"column.type === 'autocomplete'\" [matAutocomplete]=\"auto\"\n required=\"{{getValidationAttributeValue(column, 'mandatory')}}\" value=\"{{getValue(record, column)}}\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteValueChange(column, record, $event)\"\n panelWidth=\"430px\">\n <mat-option *ngFor=\"let option of filteredOptions[column.name] | async\"\n [value]=\"option.id\">\n {{ option.value }}\n </mat-option>\n </mat-autocomplete>\n </td>\n <ng-template #isUnsanitizedHTML>\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlUnsanitizedHTML\" [ngClass]=\"getCellClass(record, column)\"\n [innerHTML]=\"getValue(record, column) | sanitizeHtml\">\n </td>\n <ng-template #isAnUrlUnsanitizedHTML>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' | translate }} </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Icon\">\n <td mat-cell *matCellDef=\"let record\" class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <mat-icon *ngIf=\"column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\" (click)=\"column.onClick($event)\"></mat-icon>\n <mat-icon *ngIf=\"!column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\"></mat-icon>\n </td>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.ButtonGroup\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <span *ngFor=\"let button of getValue(record, column)\">\n <ng-container *ngIf=\"isEdition(record) === button.editMode || button.editMode === undefined\">\n <button *ngIf=\"button.style === 'mat-icon-button'\" igoStopPropagation mat-icon-button\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\n </button>\n <button *ngIf=\"button.style !== 'mat-icon-button'\" igoStopPropagation mat-mini-fab\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\n </button>\n </ng-container>\n </span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"headers; sticky: fixedHeader;\" [ngClass]=\"getHeaderClass()\">\n </tr>\n <tr mat-row igoEntityTableRow *matRowDef=\"let record; columns: headers;\" [scrollBehavior]=\"scrollBehavior\" [ngClass]=\"getRowClass(record)\" [selection]=\"selection\" [selected]=\"rowIsSelected(record)\" (select)=\"onRowSelect(record)\" (click)=\"onRowClick(record)\">\n </tr>\n </table>\n <igo-entity-table-paginator *ngIf=\"withPaginator\" [store]=\"store\" [paginatorOptions]=\"paginatorOptions\" [entitySortChange$]=\"entitySortChange$\" (paginatorChange)=\"paginatorChange($event)\">\n </igo-entity-table-paginator>\n</div>", styles: [":host{width:100%;height:100%;display:block}:host.table-compact tr.mat-header-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:36px}:host.table-compact tr.mat-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0 3px}entity-table table.igo-entity-table-with-selection tr:hover{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_sting,.class_text,.class_number_edition{text-align:left}td.edition{background:rgba(166,166,166,.2)}input{border-bottom:1px solid darkgrey}\n"] }]
|
|
3670
|
+
args: [{ selector: 'igo-entity-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: EntityTableComponent }], template: "<div class=\"table-container\" [ngStyle]=\"{'height': tableHeight}\">\n <table mat-table matSort [ngClass]=\"getTableClass()\" [dataSource]=\"dataSource\" [trackBy]=\"getTrackByFunction()\" (matSortChange)=\"onSort($event)\">\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container *ngIf=\"selectMany\">\n <ng-container *ngIf=\"selectionState$ | async as selectionState\">\n <mat-checkbox (change)=\"onToggleRows($event.checked)\" [checked]=\"selectionState === entityTableSelectionState.All\"\n [indeterminate]=\"selectionState === entityTableSelectionState.Some\">\n </mat-checkbox>\n </ng-container>\n </ng-container>\n </th>\n <td mat-cell *matCellDef=\"let record\">\n <mat-checkbox (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\" (click)=\"$event.shiftKey ?\n onShiftToggleRow(!rowIsSelected(record), record, $event) : $event.stopPropagation()\" (change)=\"onToggleRow($event.checked,record)\"\n [checked]=\"rowIsSelected(record)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container [matColumnDef]=\"column.name\" *ngFor=\"let column of template.columns\">\n <ng-container *ngIf=\"columnIsSortable(column)\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\n {{column.title}}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!columnIsSortable(column)\">\n <th mat-header-cell *matHeaderCellDef [matTooltip]=\"column.tooltip ? column.tooltip : undefined\">\n {{column.title}}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"getColumnRenderer(column) as columnRenderer\">\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Default\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlDefault\" [ngClass]=\"getCellClass(record, column)\">\n {{getValue(record, column)}}\n </td>\n <ng-template #isAnUrlDefault>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img igoImageError *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{\n 'igo.common.entity-table.targetHtmlUrl' | translate }}\n </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.HTML\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlHTML\" [ngClass]=\"getCellClass(record, column)\"\n [innerHTML]=\"getValue(record, column)\">\n </td>\n <ng-template #isAnUrlHTML>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img igoImageError *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' |\n translate }} </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.UnsanitizedHTML\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text edition\" [formGroup]=\"formGroup\" *ngIf=\"isEdition(record);else isUnsanitizedHTML\"\n [ngClass]=\"getCellClass(record, column)\">\n <div class=\"date-picker\" *ngIf=\"column.type === 'date'\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"column.name\" value=\"{{getValue(record, column)}}\"\n (dateChange)=\"onDateChange(column.name, record, $event)\">\n <mat-datepicker #picker></mat-datepicker>\n </div>\n <input matInput type=\"time\" *ngIf=\"column.type === 'time'\" [formControlName]=\"column.name\" step=\"900\" (focus)=\"column.onFocus($event)\"\n (keypress)=\"column.onChange($event)\" (blur)=\"column.onBlur($event)\">\n <input matInput type=\"number\" class=\"class_number_edition\" *ngIf=\"column.type === 'number'\" [formControlName]=\"column.name\" step=\"{{column.step}}\"\n value=\"{{getValue(record,column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\n min=\"{{getValidationAttributeValue(column, 'minValue')}}\" max=\"{{getValidationAttributeValue(column, 'maxValue')}}\">\n <input matInput type=\"text\" *ngIf=\"!column.type || column.type ==='string'\" [formControlName]=\"column.name\"\n value=\"{{getValue(record, column)}}\" (input)=\"onValueChange(column.name, record, $event)\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\">\n <mat-checkbox *ngIf=\"column.type === 'boolean'\" [formControlName]=\"column.name\" [checked]=\"getValue(record,column)\"\n (change)=\"onBooleanValueChange(column.name, record,$event)\"></mat-checkbox>\n <mat-select *ngIf=\"column.type === 'list'\" required=\"{{getValidationAttributeValue(column, 'mandatory')}}\"\n [formControlName]=\"column.name\" [multiple]=\"column.multiple\" (selectionChange)=\"onSelectValueChange(column.name, record, $event)\"\n [value]=\"getValue(record, column)\">\n <mat-option *ngFor=\"let option of column.domainValues\" [value]=\"option.id\" [disabled]=\"option.disabled\">\n {{ option.value }}\n </mat-option>\n </mat-select>\n <input matInput type=\"text\" [formControlName]=\"column.name\" *ngIf=\"column.type === 'autocomplete'\" [matAutocomplete]=\"auto\"\n required=\"{{getValidationAttributeValue(column, 'mandatory')}}\" value=\"{{getValue(record, column)}}\"\n readonly=\"{{getValidationAttributeValue(column, 'readonly')}}\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteValueChange(column, record, $event)\"\n panelWidth=\"430px\">\n <mat-option *ngFor=\"let option of filteredOptions[column.name] | async\"\n [value]=\"option.id\">\n {{ option.value }}\n </mat-option>\n </mat-autocomplete>\n </td>\n <ng-template #isUnsanitizedHTML>\n <td mat-cell class=\"mat-cell-text\" *ngIf=\"!isUrl(getValue(record, column));else isAnUrlUnsanitizedHTML\" [ngClass]=\"getCellClass(record, column)\"\n [innerHTML]=\"getValue(record, column) | sanitizeHtml\">\n </td>\n <ng-template #isAnUrlUnsanitizedHTML>\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <a href=\"{{getValue(record, column)}}\" target='_blank' rel=\"noopener noreferrer\" (click)=\"$event.stopPropagation()\">\n <img igoImageError *ngIf=\"isImg(getValue(record, column));else notImg\" src=\"{{(getValue(record, column) | secureImage) | async}}\" width=\"50\" heigth=\"auto\">\n <ng-template #notImg><span>{{ 'igo.geo.targetHtmlUrl' | translate }} </span></ng-template>\n </a>\n </td>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Icon\">\n <td mat-cell *matCellDef=\"let record\" class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <mat-icon *ngIf=\"column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\" (click)=\"column.onClick($event)\"></mat-icon>\n <mat-icon *ngIf=\"!column.onClick\" svgIcon=\"{{getValue(record, column)|| column.icon}}\"></mat-icon>\n </td>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.ButtonGroup\">\n <ng-container *matCellDef=\"let record\">\n <td mat-cell class=\"mat-cell-text\" [ngClass]=\"getCellClass(record, column)\">\n <span *ngFor=\"let button of getValue(record, column)\">\n <ng-container *ngIf=\"isEdition(record) === button.editMode || button.editMode === undefined\">\n <button *ngIf=\"button.style === 'mat-icon-button'\" igoStopPropagation mat-icon-button\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\n </button>\n <button *ngIf=\"button.style !== 'mat-icon-button'\" igoStopPropagation mat-mini-fab\n [color]=\"button.color\" (mousedown)=\"onButtonClick(button.click, record)\" [disabled]=\"button.disabled\">\n <mat-icon svgIcon=\"{{button.icon}}\"></mat-icon>\n </button>\n </ng-container>\n </span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"headers; sticky: fixedHeader;\" [ngClass]=\"getHeaderClass()\">\n </tr>\n <tr mat-row igoEntityTableRow *matRowDef=\"let record; columns: headers;\" [scrollBehavior]=\"scrollBehavior\" [ngClass]=\"getRowClass(record)\" [selection]=\"selection\" [selected]=\"rowIsSelected(record)\" (select)=\"onRowSelect(record)\" (click)=\"onRowClick(record)\">\n </tr>\n </table>\n <igo-entity-table-paginator *ngIf=\"withPaginator\" [store]=\"store\" [paginatorOptions]=\"paginatorOptions\" [entitySortChange$]=\"entitySortChange$\" (paginatorChange)=\"paginatorChange($event)\">\n </igo-entity-table-paginator>\n</div>", styles: [":host{width:100%;height:100%;display:block}:host.table-compact tr.mat-header-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:36px}:host.table-compact tr.mat-row,:host.table-compact ::ng-deep .mat-checkbox .mat-checkbox-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0 3px}entity-table table.igo-entity-table-with-selection tr:hover{-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_sting,.class_text,.class_number_edition{text-align:left}td.edition{background:rgba(166,166,166,.2)}input{border-bottom:1px solid darkgrey}\n"] }]
|
|
3626
3671
|
}], function () {
|
|
3627
3672
|
return [{ type: i0.ChangeDetectorRef }, { type: i1$4.UntypedFormBuilder }, { type: i2$1.FocusMonitor }, { type: i0.ElementRef }, { type: i1$4.NgControl, decorators: [{
|
|
3628
3673
|
type: Optional
|
|
@@ -4926,7 +4971,19 @@ class ContextMenuDirective {
|
|
|
4926
4971
|
this.menuPosition = new EventEmitter();
|
|
4927
4972
|
}
|
|
4928
4973
|
onContextMenu(e) {
|
|
4929
|
-
|
|
4974
|
+
let x;
|
|
4975
|
+
let y;
|
|
4976
|
+
if (e instanceof TouchEvent) {
|
|
4977
|
+
x = e.touches[0].pageX;
|
|
4978
|
+
y = e.touches[0].pageY;
|
|
4979
|
+
}
|
|
4980
|
+
else if (e instanceof MouseEvent) {
|
|
4981
|
+
x = e.x;
|
|
4982
|
+
y = e.y;
|
|
4983
|
+
}
|
|
4984
|
+
if (!x || !y) {
|
|
4985
|
+
return;
|
|
4986
|
+
}
|
|
4930
4987
|
this.close();
|
|
4931
4988
|
e.preventDefault();
|
|
4932
4989
|
this.menuPosition.emit({ x, y });
|
|
@@ -4984,7 +5041,7 @@ class ContextMenuDirective {
|
|
|
4984
5041
|
ContextMenuDirective.ɵfac = function ContextMenuDirective_Factory(t) { return new (t || ContextMenuDirective)(i0.ɵɵdirectiveInject(i1$5.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
4985
5042
|
ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ContextMenuDirective, selectors: [["", "igoContextMenu", ""]], hostBindings: function ContextMenuDirective_HostBindings(rf, ctx) {
|
|
4986
5043
|
if (rf & 1) {
|
|
4987
|
-
i0.ɵɵlistener("contextmenu", function ContextMenuDirective_contextmenu_HostBindingHandler($event) { return ctx.onContextMenu($event); });
|
|
5044
|
+
i0.ɵɵlistener("longpress", function ContextMenuDirective_longpress_HostBindingHandler($event) { return ctx.onContextMenu($event); })("contextmenu", function ContextMenuDirective_contextmenu_HostBindingHandler($event) { return ctx.onContextMenu($event); });
|
|
4988
5045
|
}
|
|
4989
5046
|
}, inputs: { menuContext: ["igoContextMenu", "menuContext"] }, outputs: { menuPosition: "menuPosition" } });
|
|
4990
5047
|
(function () {
|
|
@@ -4999,11 +5056,59 @@ ContextMenuDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Contex
|
|
|
4999
5056
|
}], menuPosition: [{
|
|
5000
5057
|
type: Output
|
|
5001
5058
|
}], onContextMenu: [{
|
|
5059
|
+
type: HostListener,
|
|
5060
|
+
args: ['longpress', ['$event']]
|
|
5061
|
+
}, {
|
|
5002
5062
|
type: HostListener,
|
|
5003
5063
|
args: ['contextmenu', ['$event']]
|
|
5004
5064
|
}] });
|
|
5005
5065
|
})();
|
|
5006
5066
|
|
|
5067
|
+
class LongPressDirective {
|
|
5068
|
+
constructor() {
|
|
5069
|
+
this.longpress = new EventEmitter();
|
|
5070
|
+
}
|
|
5071
|
+
touchstart(e) {
|
|
5072
|
+
this.touchTimeout = setTimeout(() => {
|
|
5073
|
+
this.longpress.emit(e);
|
|
5074
|
+
}, 400);
|
|
5075
|
+
}
|
|
5076
|
+
touchend() {
|
|
5077
|
+
this.touchEnd();
|
|
5078
|
+
}
|
|
5079
|
+
touchEnd() {
|
|
5080
|
+
clearTimeout(this.touchTimeout);
|
|
5081
|
+
}
|
|
5082
|
+
}
|
|
5083
|
+
LongPressDirective.ɵfac = function LongPressDirective_Factory(t) { return new (t || LongPressDirective)(); };
|
|
5084
|
+
LongPressDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LongPressDirective, selectors: [["", "igoLongPress", ""]], hostBindings: function LongPressDirective_HostBindings(rf, ctx) {
|
|
5085
|
+
if (rf & 1) {
|
|
5086
|
+
i0.ɵɵlistener("touchstart", function LongPressDirective_touchstart_HostBindingHandler($event) { return ctx.touchstart($event); })("touchmove", function LongPressDirective_touchmove_HostBindingHandler() { return ctx.touchend(); })("touchcancel", function LongPressDirective_touchcancel_HostBindingHandler() { return ctx.touchend(); })("touchend", function LongPressDirective_touchend_HostBindingHandler() { return ctx.touchend(); });
|
|
5087
|
+
}
|
|
5088
|
+
}, outputs: { longpress: "longpress" } });
|
|
5089
|
+
(function () {
|
|
5090
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LongPressDirective, [{
|
|
5091
|
+
type: Directive,
|
|
5092
|
+
args: [{
|
|
5093
|
+
selector: '[igoLongPress]'
|
|
5094
|
+
}]
|
|
5095
|
+
}], function () { return []; }, { longpress: [{
|
|
5096
|
+
type: Output
|
|
5097
|
+
}], touchstart: [{
|
|
5098
|
+
type: HostListener,
|
|
5099
|
+
args: ['touchstart', ['$event']]
|
|
5100
|
+
}], touchend: [{
|
|
5101
|
+
type: HostListener,
|
|
5102
|
+
args: ['touchmove']
|
|
5103
|
+
}, {
|
|
5104
|
+
type: HostListener,
|
|
5105
|
+
args: ['touchcancel']
|
|
5106
|
+
}, {
|
|
5107
|
+
type: HostListener,
|
|
5108
|
+
args: ['touchend']
|
|
5109
|
+
}] });
|
|
5110
|
+
})();
|
|
5111
|
+
|
|
5007
5112
|
class IgoContextMenuModule {
|
|
5008
5113
|
static forRoot() {
|
|
5009
5114
|
return {
|
|
@@ -5020,12 +5125,12 @@ IgoContextMenuModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
|
5020
5125
|
type: NgModule,
|
|
5021
5126
|
args: [{
|
|
5022
5127
|
imports: [],
|
|
5023
|
-
declarations: [ContextMenuDirective],
|
|
5024
|
-
exports: [ContextMenuDirective]
|
|
5128
|
+
declarations: [ContextMenuDirective, LongPressDirective],
|
|
5129
|
+
exports: [ContextMenuDirective, LongPressDirective]
|
|
5025
5130
|
}]
|
|
5026
5131
|
}], null, null);
|
|
5027
5132
|
})();
|
|
5028
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextMenuModule, { declarations: [ContextMenuDirective], exports: [ContextMenuDirective] }); })();
|
|
5133
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoContextMenuModule, { declarations: [ContextMenuDirective, LongPressDirective], exports: [ContextMenuDirective, LongPressDirective] }); })();
|
|
5029
5134
|
|
|
5030
5135
|
class CustomHtmlComponent {
|
|
5031
5136
|
constructor() {
|
|
@@ -6982,12 +7087,12 @@ IgoImageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
|
6982
7087
|
type: NgModule,
|
|
6983
7088
|
args: [{
|
|
6984
7089
|
imports: [],
|
|
6985
|
-
declarations: [SecureImagePipe],
|
|
6986
|
-
exports: [SecureImagePipe]
|
|
7090
|
+
declarations: [SecureImagePipe, ImageErrorDirective],
|
|
7091
|
+
exports: [SecureImagePipe, ImageErrorDirective]
|
|
6987
7092
|
}]
|
|
6988
7093
|
}], null, null);
|
|
6989
7094
|
})();
|
|
6990
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe], exports: [SecureImagePipe] }); })();
|
|
7095
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoImageModule, { declarations: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] }); })();
|
|
6991
7096
|
|
|
6992
7097
|
/**
|
|
6993
7098
|
* @ignore
|
|
@@ -10173,5 +10278,5 @@ class Workspace {
|
|
|
10173
10278
|
* Generated bundle index. Do not edit.
|
|
10174
10279
|
*/
|
|
10175
10280
|
|
|
10176
|
-
export { ActionStore, ActionbarComponent, ActionbarMode, BackdropComponent, ClickoutDirective, ClonePipe, CollapseDirective, CollapsibleComponent, ConfirmDialogComponent, ConfirmDialogService, ContextMenuDirective, CustomHtmlComponent, DOMService, DragAndDropDirective, DynamicComponent, DynamicComponentService, DynamicOutletComponent, EntityOperationType, EntitySelectorComponent, EntityStateManager, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityStoreStrategy, EntityStoreWatcher, EntityTableColumnRenderer, EntityTableComponent, EntityTablePaginatorComponent, EntityTableScrollBehavior, EntityTableSelectionState, EntityTransaction, EntityView, FlexibleComponent, FormComponent, FormFieldComponent, FormFieldSelectComponent, FormFieldService, FormFieldTextComponent, FormFieldTextareaComponent, FormGroupComponent, FormService, HomeButtonComponent, IgoActionModule, IgoActionbarModule, IgoBackdropModule, IgoBadgeIconDirective, IgoClickoutModule, IgoCloneModule, IgoCollapsibleModule, IgoConfirmDialogModule, IgoContextMenuModule, IgoCustomHtmlModule, IgoDOMModule, IgoDrapDropModule, IgoDynamicComponentModule, IgoDynamicOutletModule, IgoEntityModule, IgoEntitySelectorModule, IgoEntityTableModule, IgoEntityTablePaginatorModule, IgoFlexibleModule, IgoFormFieldComponent, IgoFormFieldModule, IgoFormFormModule, IgoFormGroupModule, IgoFormModule, IgoHomeButtonModule, IgoImageModule, IgoInteractiveTourModule, IgoJsonDialogModule, IgoKeyValueModule, IgoListModule, IgoMatBadgeIconModule, IgoPanelModule, IgoSidenavModule, IgoSpinnerModule, IgoStopPropagationModule, IgoTableModule, IgoToolModule, IgoToolboxModule, IgoWidgetModule, IgoWidgetOutletModule, IgoWorkspaceModule, IgoWorkspaceSelectorModule, IgoWorkspaceWidgetOutletModule, InteractiveTourComponent, InteractiveTourLoader, InteractiveTourService, JsonDialogComponent, JsonDialogService, KeyValuePipe, ListComponent, ListItemDirective, PanelComponent, SanitizeHtmlPipe, SecureImagePipe, SidenavShimDirective, SpinnerActivityDirective, SpinnerComponent, StopDropPropagationDirective, StopPropagationDirective, TableActionColor, TableComponent, TableDataSource, TableDatabase, ToolComponent, ToolService, Toolbox, ToolboxColor, ToolboxComponent, Widget, WidgetOutletComponent, WidgetService, Workspace, WorkspaceSelectorComponent, WorkspaceStore, WorkspaceWidgetOutletComponent, formControlIsRequired, getAllFormFields, getControlErrorMessage, getDefaultErrorMessages, getEntityIcon, getEntityId, getEntityProperty, getEntityRevision, getEntityTitle, getEntityTitleHtml, getFormFieldByName };
|
|
10281
|
+
export { ActionStore, ActionbarComponent, ActionbarMode, BackdropComponent, ClickoutDirective, ClonePipe, CollapseDirective, CollapsibleComponent, ConfirmDialogComponent, ConfirmDialogService, ContextMenuDirective, CustomHtmlComponent, DOMService, DragAndDropDirective, DynamicComponent, DynamicComponentService, DynamicOutletComponent, EntityOperationType, EntitySelectorComponent, EntityStateManager, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy, EntityStoreStrategy, EntityStoreWatcher, EntityTableColumnRenderer, EntityTableComponent, EntityTablePaginatorComponent, EntityTableScrollBehavior, EntityTableSelectionState, EntityTransaction, EntityView, FlexibleComponent, FormComponent, FormFieldComponent, FormFieldSelectComponent, FormFieldService, FormFieldTextComponent, FormFieldTextareaComponent, FormGroupComponent, FormService, HomeButtonComponent, IgoActionModule, IgoActionbarModule, IgoBackdropModule, IgoBadgeIconDirective, IgoClickoutModule, IgoCloneModule, IgoCollapsibleModule, IgoConfirmDialogModule, IgoContextMenuModule, IgoCustomHtmlModule, IgoDOMModule, IgoDrapDropModule, IgoDynamicComponentModule, IgoDynamicOutletModule, IgoEntityModule, IgoEntitySelectorModule, IgoEntityTableModule, IgoEntityTablePaginatorModule, IgoFlexibleModule, IgoFormFieldComponent, IgoFormFieldModule, IgoFormFormModule, IgoFormGroupModule, IgoFormModule, IgoHomeButtonModule, IgoImageModule, IgoInteractiveTourModule, IgoJsonDialogModule, IgoKeyValueModule, IgoListModule, IgoMatBadgeIconModule, IgoPanelModule, IgoSidenavModule, IgoSpinnerModule, IgoStopPropagationModule, IgoTableModule, IgoToolModule, IgoToolboxModule, IgoWidgetModule, IgoWidgetOutletModule, IgoWorkspaceModule, IgoWorkspaceSelectorModule, IgoWorkspaceWidgetOutletModule, ImageErrorDirective, InteractiveTourComponent, InteractiveTourLoader, InteractiveTourService, JsonDialogComponent, JsonDialogService, KeyValuePipe, ListComponent, ListItemDirective, LongPressDirective, PanelComponent, SanitizeHtmlPipe, SecureImagePipe, SidenavShimDirective, SpinnerActivityDirective, SpinnerComponent, StopDropPropagationDirective, StopPropagationDirective, TableActionColor, TableComponent, TableDataSource, TableDatabase, ToolComponent, ToolService, Toolbox, ToolboxColor, ToolboxComponent, Widget, WidgetOutletComponent, WidgetService, Workspace, WorkspaceSelectorComponent, WorkspaceStore, WorkspaceWidgetOutletComponent, formControlIsRequired, getAllFormFields, getControlErrorMessage, getDefaultErrorMessages, getEntityIcon, getEntityId, getEntityProperty, getEntityRevision, getEntityTitle, getEntityTitleHtml, getFormFieldByName };
|
|
10177
10282
|
//# sourceMappingURL=igo2-common.mjs.map
|