@wizishop/angular-components 0.0.164 → 0.0.168
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/angular-components.scss +5074 -5037
- package/assets/i18n/en.json +1 -1
- package/assets/i18n/fr.json +1 -1
- package/bundles/wizishop-angular-components.umd.js +49 -21
- package/bundles/wizishop-angular-components.umd.js.map +1 -1
- package/bundles/wizishop-angular-components.umd.min.js +1 -1
- package/bundles/wizishop-angular-components.umd.min.js.map +1 -1
- package/esm2015/lib/components/block-with-checkbox/block-with-checkbox.component.js +16 -5
- package/esm2015/lib/components/mosaic/mosaic.component.js +32 -19
- package/fesm2015/wizishop-angular-components.js +45 -21
- package/fesm2015/wizishop-angular-components.js.map +1 -1
- package/lib/components/block-with-checkbox/block-with-checkbox.component.d.ts +5 -0
- package/lib/components/mosaic/mosaic.component.d.ts +18 -8
- package/package.json +1 -1
- package/wizishop-angular-components-0.0.168.tgz +0 -0
- package/wizishop-angular-components.metadata.json +1 -1
- package/wizishop-angular-components-0.0.164.tgz +0 -0
|
@@ -7,13 +7,18 @@ export class BlockWithCheckboxComponent {
|
|
|
7
7
|
this.copyAction = new EventEmitter();
|
|
8
8
|
this.worldAction = new EventEmitter();
|
|
9
9
|
this.checkboxAction = new EventEmitter();
|
|
10
|
+
this.nameRadio = 'wacBlockCheckboxRadio';
|
|
11
|
+
this.isFirst = false;
|
|
12
|
+
this.opacity = '.45';
|
|
10
13
|
}
|
|
11
14
|
ngOnInit() {
|
|
15
|
+
this.randomLabelName = 'radioBlock' + Math.random() * (900 - 700) + 700;
|
|
12
16
|
}
|
|
13
17
|
eventSelected(event) {
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
console.log(event);
|
|
19
|
+
this.selected = event.target.checked;
|
|
16
20
|
this.checkboxAction.emit(this.selected);
|
|
21
|
+
this.isFirst = false;
|
|
17
22
|
}
|
|
18
23
|
eventCopy() {
|
|
19
24
|
this.copyAction.emit(true);
|
|
@@ -21,11 +26,14 @@ export class BlockWithCheckboxComponent {
|
|
|
21
26
|
eventWorld() {
|
|
22
27
|
this.worldAction.emit(true);
|
|
23
28
|
}
|
|
29
|
+
removeFirstClass() {
|
|
30
|
+
document.querySelectorAll('.firstWacRadioBLock')[0].classList.remove('firstWacRadioBLock');
|
|
31
|
+
}
|
|
24
32
|
}
|
|
25
33
|
BlockWithCheckboxComponent.decorators = [
|
|
26
34
|
{ type: Component, args: [{
|
|
27
35
|
selector: 'wac-block-with-checkbox',
|
|
28
|
-
template: "<div class=\"block-with-checkbox\">\n <div class=\"block-with-checkbox__left\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input type=\"
|
|
36
|
+
template: "<div class=\"block-with-checkbox\" [ngClass]=\"{'selected': inputRadioA.checked, 'firstWacRadioBLock': isFirst}\" [style.opacity]=\"opacity\" (mouseover)=\"removeFirstClass()\">\n <div class=\"block-with-checkbox__left\" (click)=\"inputRadioA.click()\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input #inputRadioA [name]=\"nameRadio\" type=\"radio\" [value]=\"selected\" (change)=\"eventSelected($event)\" [id]=\"randomLabelName\">\n <label [for]=\"randomLabelName\"></label>\n </div>\n </div>\n </div>\n <div class=\"block-with-checkbox__center\" (click)=\"inputRadioA.click()\">\n <ng-content></ng-content>\n </div>\n <div class=\"block-with-checkbox__right\">\n <div><wac-button extraClasses=\"is-blue opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconCopy\" (click)=\"eventCopy()\"></wac-button></div>\n <div><wac-button extraClasses=\"is-green opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconWorld\" (click)=\"eventWorld()\"></wac-button></div>\n </div>\n</div>\n"
|
|
29
37
|
},] }
|
|
30
38
|
];
|
|
31
39
|
BlockWithCheckboxComponent.ctorParameters = () => [];
|
|
@@ -35,6 +43,9 @@ BlockWithCheckboxComponent.propDecorators = {
|
|
|
35
43
|
iconWorld: [{ type: Input }],
|
|
36
44
|
copyAction: [{ type: Output }],
|
|
37
45
|
worldAction: [{ type: Output }],
|
|
38
|
-
checkboxAction: [{ type: Output }]
|
|
46
|
+
checkboxAction: [{ type: Output }],
|
|
47
|
+
nameRadio: [{ type: Input }],
|
|
48
|
+
isFirst: [{ type: Input }],
|
|
49
|
+
opacity: [{ type: Input }]
|
|
39
50
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2std2l0aC1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jsb2NrLXdpdGgtY2hlY2tib3gvYmxvY2std2l0aC1jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU03RSxNQUFNLE9BQU8sMEJBQTBCO0lBK0JyQztRQTVCQSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGFBQVEsR0FBRyxrQkFBa0IsQ0FBQztRQUc5QixjQUFTLEdBQUcsa0JBQWtCLENBQUM7UUFHL0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHekMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzFDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUs3QyxjQUFTLEdBQUcsdUJBQXVCLENBQUM7UUFHcEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdoQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBRUEsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUMxRSxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQUs7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RixDQUFDOzs7WUExREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLGtqQ0FBbUQ7YUFDcEQ7Ozs7dUJBR0UsS0FBSzt1QkFHTCxLQUFLO3dCQUdMLEtBQUs7eUJBR0wsTUFBTTswQkFHTixNQUFNOzZCQUdOLE1BQU07d0JBS04sS0FBSztzQkFHTCxLQUFLO3NCQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtYmxvY2std2l0aC1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibG9jay13aXRoLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQmxvY2tXaXRoQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaWNvbkNvcHkgPSAnZmEtc29saWQgZmEtY29weSc7XG5cbiAgQElucHV0KClcbiAgaWNvbldvcmxkID0gJ2ZhLXRoaW4gZmEtZ2xvYmUnO1xuXG4gIEBPdXRwdXQoKVxuICBjb3B5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKVxuICB3b3JsZEFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAT3V0cHV0KClcbiAgY2hlY2tib3hBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcmFuZG9tTGFiZWxOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbmFtZVJhZGlvID0gJ3dhY0Jsb2NrQ2hlY2tib3hSYWRpbyc7XG5cbiAgQElucHV0KClcbiAgaXNGaXJzdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG9wYWNpdHkgPSAnLjQ1JztcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmFuZG9tTGFiZWxOYW1lID0gJ3JhZGlvQmxvY2snICsgTWF0aC5yYW5kb20oKSAqICg5MDAgLSA3MDApICsgNzAwO1xuICB9XG5cbiAgZXZlbnRTZWxlY3RlZChldmVudCkge1xuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XG4gICAgdGhpcy5jaGVja2JveEFjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xuICAgIHRoaXMuaXNGaXJzdCA9IGZhbHNlO1xuICB9XG5cbiAgZXZlbnRDb3B5KCkge1xuICAgIHRoaXMuY29weUFjdGlvbi5lbWl0KHRydWUpO1xuICB9XG5cbiAgZXZlbnRXb3JsZCgpIHtcbiAgICB0aGlzLndvcmxkQWN0aW9uLmVtaXQodHJ1ZSk7XG4gIH1cblxuICByZW1vdmVGaXJzdENsYXNzKCkge1xuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5maXJzdFdhY1JhZGlvQkxvY2snKVswXS5jbGFzc0xpc3QucmVtb3ZlKCdmaXJzdFdhY1JhZGlvQkxvY2snKTtcbiAgfVxufVxuIl19
|
|
@@ -1,34 +1,47 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
export class MosaicComponent {
|
|
3
3
|
constructor() {
|
|
4
|
-
this.
|
|
5
|
-
}
|
|
6
|
-
ngOnInit() {
|
|
7
|
-
if (this.items) {
|
|
8
|
-
const splitItems = this.sliceIntoChunks(this.items, (this.items.length / 3));
|
|
9
|
-
this.columnLeft = splitItems[0];
|
|
10
|
-
this.columnCenter = splitItems[1];
|
|
11
|
-
this.columnRight = splitItems[2];
|
|
12
|
-
}
|
|
4
|
+
this._imagesList = [];
|
|
13
5
|
this.isLoading = false;
|
|
6
|
+
this.numberOfColumn = 3;
|
|
7
|
+
this.importImageSrc = new EventEmitter();
|
|
8
|
+
}
|
|
9
|
+
set imagesList(imagesList) {
|
|
10
|
+
this._imagesList = imagesList;
|
|
11
|
+
this.generateColumns();
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
get imagesList() {
|
|
14
|
+
return this._imagesList;
|
|
15
|
+
}
|
|
16
|
+
generateColumns() {
|
|
17
|
+
this.columns = this.sliceIntoChunks();
|
|
18
|
+
}
|
|
19
|
+
sliceIntoChunks() {
|
|
20
|
+
const columns = [];
|
|
21
|
+
const numberOfImagePerColumn = this.imagesList.length / this.numberOfColumn;
|
|
22
|
+
for (let i = 0; i < this.imagesList.length; i += numberOfImagePerColumn) {
|
|
23
|
+
const chunk = this.imagesList.slice(i, i + numberOfImagePerColumn);
|
|
24
|
+
columns.push(chunk);
|
|
20
25
|
}
|
|
21
|
-
return
|
|
26
|
+
return columns;
|
|
27
|
+
}
|
|
28
|
+
onImportImage(src) {
|
|
29
|
+
this.importImageSrc.emit(src);
|
|
22
30
|
}
|
|
23
31
|
}
|
|
24
32
|
MosaicComponent.decorators = [
|
|
25
33
|
{ type: Component, args: [{
|
|
26
34
|
selector: 'wac-mosaic',
|
|
27
|
-
template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *
|
|
35
|
+
template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index;\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"importButtonTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\n",
|
|
36
|
+
encapsulation: ViewEncapsulation.None
|
|
28
37
|
},] }
|
|
29
38
|
];
|
|
30
39
|
MosaicComponent.ctorParameters = () => [];
|
|
31
40
|
MosaicComponent.propDecorators = {
|
|
32
|
-
|
|
41
|
+
imagesList: [{ type: Input }],
|
|
42
|
+
isLoading: [{ type: Input }],
|
|
43
|
+
numberOfColumn: [{ type: Input }],
|
|
44
|
+
importButtonTemplate: [{ type: Input }],
|
|
45
|
+
importImageSrc: [{ type: Output }]
|
|
33
46
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9zYWljL21vc2FpYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQWVyRyxNQUFNLE9BQU8sZUFBZTtJQTBCMUI7UUFkQSxnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFFdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQU01QixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFJakMsQ0FBQztJQXhCakIsSUFDSSxVQUFVLENBQUMsVUFBeUI7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQWtCRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzVFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksc0JBQXNCLEVBQUU7WUFDdkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQWdCO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLDArQkFBc0M7Z0JBQ3RDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3lCQUdFLEtBQUs7d0JBWUwsS0FBSzs2QkFFTCxLQUFLO21DQUVMLEtBQUs7NkJBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEltYWdlU291cmNlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgSW1hZ2VBbHQgPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIE1vc2FpY0ltYWdlID0ge1xuICBzcmM6IEltYWdlU291cmNlLFxuICBhbHQ6IEltYWdlQWx0XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1tb3NhaWMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9zYWljLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNb3NhaWNDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpbWFnZXNMaXN0KGltYWdlc0xpc3Q6IE1vc2FpY0ltYWdlW10pIHtcbiAgICB0aGlzLl9pbWFnZXNMaXN0ID0gaW1hZ2VzTGlzdDtcbiAgICB0aGlzLmdlbmVyYXRlQ29sdW1ucygpO1xuICB9XG5cbiAgZ2V0IGltYWdlc0xpc3QoKTogTW9zYWljSW1hZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ltYWdlc0xpc3Q7XG4gIH1cblxuICBfaW1hZ2VzTGlzdDogTW9zYWljSW1hZ2VbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG51bWJlck9mQ29sdW1uID0gMztcblxuICBASW5wdXQoKVxuICBpbXBvcnRCdXR0b25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KClcbiAgaW1wb3J0SW1hZ2VTcmMgPSBuZXcgRXZlbnRFbWl0dGVyPEltYWdlU291cmNlPigpO1xuXG4gIGNvbHVtbnM6IE1vc2FpY0ltYWdlW11bXTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGdlbmVyYXRlQ29sdW1ucygpIHtcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLnNsaWNlSW50b0NodW5rcygpO1xuICB9XG5cbiAgc2xpY2VJbnRvQ2h1bmtzKCk6IE1vc2FpY0ltYWdlW11bXSB7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzg0OTU2ODcvc3BsaXQtYXJyYXktaW50by1jaHVua3NcbiAgICBjb25zdCBjb2x1bW5zID0gW107XG4gICAgY29uc3QgbnVtYmVyT2ZJbWFnZVBlckNvbHVtbiA9IHRoaXMuaW1hZ2VzTGlzdC5sZW5ndGggLyB0aGlzLm51bWJlck9mQ29sdW1uO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbWFnZXNMaXN0Lmxlbmd0aDsgaSArPSBudW1iZXJPZkltYWdlUGVyQ29sdW1uKSB7XG4gICAgICBjb25zdCBjaHVuayA9IHRoaXMuaW1hZ2VzTGlzdC5zbGljZShpLCBpICsgbnVtYmVyT2ZJbWFnZVBlckNvbHVtbik7XG4gICAgICBjb2x1bW5zLnB1c2goY2h1bmspO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1ucztcbiAgfVxuXG4gIG9uSW1wb3J0SW1hZ2Uoc3JjOiBJbWFnZVNvdXJjZSkge1xuICAgIHRoaXMuaW1wb3J0SW1hZ2VTcmMuZW1pdChzcmMpO1xuICB9XG59XG4iXX0=
|
|
@@ -3784,13 +3784,18 @@ class BlockWithCheckboxComponent {
|
|
|
3784
3784
|
this.copyAction = new EventEmitter();
|
|
3785
3785
|
this.worldAction = new EventEmitter();
|
|
3786
3786
|
this.checkboxAction = new EventEmitter();
|
|
3787
|
+
this.nameRadio = 'wacBlockCheckboxRadio';
|
|
3788
|
+
this.isFirst = false;
|
|
3789
|
+
this.opacity = '.45';
|
|
3787
3790
|
}
|
|
3788
3791
|
ngOnInit() {
|
|
3792
|
+
this.randomLabelName = 'radioBlock' + Math.random() * (900 - 700) + 700;
|
|
3789
3793
|
}
|
|
3790
3794
|
eventSelected(event) {
|
|
3791
|
-
|
|
3792
|
-
|
|
3795
|
+
console.log(event);
|
|
3796
|
+
this.selected = event.target.checked;
|
|
3793
3797
|
this.checkboxAction.emit(this.selected);
|
|
3798
|
+
this.isFirst = false;
|
|
3794
3799
|
}
|
|
3795
3800
|
eventCopy() {
|
|
3796
3801
|
this.copyAction.emit(true);
|
|
@@ -3798,11 +3803,14 @@ class BlockWithCheckboxComponent {
|
|
|
3798
3803
|
eventWorld() {
|
|
3799
3804
|
this.worldAction.emit(true);
|
|
3800
3805
|
}
|
|
3806
|
+
removeFirstClass() {
|
|
3807
|
+
document.querySelectorAll('.firstWacRadioBLock')[0].classList.remove('firstWacRadioBLock');
|
|
3808
|
+
}
|
|
3801
3809
|
}
|
|
3802
3810
|
BlockWithCheckboxComponent.decorators = [
|
|
3803
3811
|
{ type: Component, args: [{
|
|
3804
3812
|
selector: 'wac-block-with-checkbox',
|
|
3805
|
-
template: "<div class=\"block-with-checkbox\">\n <div class=\"block-with-checkbox__left\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input type=\"
|
|
3813
|
+
template: "<div class=\"block-with-checkbox\" [ngClass]=\"{'selected': inputRadioA.checked, 'firstWacRadioBLock': isFirst}\" [style.opacity]=\"opacity\" (mouseover)=\"removeFirstClass()\">\n <div class=\"block-with-checkbox__left\" (click)=\"inputRadioA.click()\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input #inputRadioA [name]=\"nameRadio\" type=\"radio\" [value]=\"selected\" (change)=\"eventSelected($event)\" [id]=\"randomLabelName\">\n <label [for]=\"randomLabelName\"></label>\n </div>\n </div>\n </div>\n <div class=\"block-with-checkbox__center\" (click)=\"inputRadioA.click()\">\n <ng-content></ng-content>\n </div>\n <div class=\"block-with-checkbox__right\">\n <div><wac-button extraClasses=\"is-blue opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconCopy\" (click)=\"eventCopy()\"></wac-button></div>\n <div><wac-button extraClasses=\"is-green opacity static-width\" [iconFontSize]=\"18\" [icon]=\"iconWorld\" (click)=\"eventWorld()\"></wac-button></div>\n </div>\n</div>\n"
|
|
3806
3814
|
},] }
|
|
3807
3815
|
];
|
|
3808
3816
|
BlockWithCheckboxComponent.ctorParameters = () => [];
|
|
@@ -3812,7 +3820,10 @@ BlockWithCheckboxComponent.propDecorators = {
|
|
|
3812
3820
|
iconWorld: [{ type: Input }],
|
|
3813
3821
|
copyAction: [{ type: Output }],
|
|
3814
3822
|
worldAction: [{ type: Output }],
|
|
3815
|
-
checkboxAction: [{ type: Output }]
|
|
3823
|
+
checkboxAction: [{ type: Output }],
|
|
3824
|
+
nameRadio: [{ type: Input }],
|
|
3825
|
+
isFirst: [{ type: Input }],
|
|
3826
|
+
opacity: [{ type: Input }]
|
|
3816
3827
|
};
|
|
3817
3828
|
|
|
3818
3829
|
class ConfirmDeleteComponent {
|
|
@@ -3852,35 +3863,48 @@ ConfirmDeleteComponent.propDecorators = {
|
|
|
3852
3863
|
|
|
3853
3864
|
class MosaicComponent {
|
|
3854
3865
|
constructor() {
|
|
3855
|
-
this.
|
|
3856
|
-
}
|
|
3857
|
-
ngOnInit() {
|
|
3858
|
-
if (this.items) {
|
|
3859
|
-
const splitItems = this.sliceIntoChunks(this.items, (this.items.length / 3));
|
|
3860
|
-
this.columnLeft = splitItems[0];
|
|
3861
|
-
this.columnCenter = splitItems[1];
|
|
3862
|
-
this.columnRight = splitItems[2];
|
|
3863
|
-
}
|
|
3866
|
+
this._imagesList = [];
|
|
3864
3867
|
this.isLoading = false;
|
|
3868
|
+
this.numberOfColumn = 3;
|
|
3869
|
+
this.importImageSrc = new EventEmitter();
|
|
3870
|
+
}
|
|
3871
|
+
set imagesList(imagesList) {
|
|
3872
|
+
this._imagesList = imagesList;
|
|
3873
|
+
this.generateColumns();
|
|
3865
3874
|
}
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3875
|
+
get imagesList() {
|
|
3876
|
+
return this._imagesList;
|
|
3877
|
+
}
|
|
3878
|
+
generateColumns() {
|
|
3879
|
+
this.columns = this.sliceIntoChunks();
|
|
3880
|
+
}
|
|
3881
|
+
sliceIntoChunks() {
|
|
3882
|
+
const columns = [];
|
|
3883
|
+
const numberOfImagePerColumn = this.imagesList.length / this.numberOfColumn;
|
|
3884
|
+
for (let i = 0; i < this.imagesList.length; i += numberOfImagePerColumn) {
|
|
3885
|
+
const chunk = this.imagesList.slice(i, i + numberOfImagePerColumn);
|
|
3886
|
+
columns.push(chunk);
|
|
3871
3887
|
}
|
|
3872
|
-
return
|
|
3888
|
+
return columns;
|
|
3889
|
+
}
|
|
3890
|
+
onImportImage(src) {
|
|
3891
|
+
this.importImageSrc.emit(src);
|
|
3873
3892
|
}
|
|
3874
3893
|
}
|
|
3875
3894
|
MosaicComponent.decorators = [
|
|
3876
3895
|
{ type: Component, args: [{
|
|
3877
3896
|
selector: 'wac-mosaic',
|
|
3878
|
-
template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *
|
|
3897
|
+
template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index;\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"importButtonTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\n",
|
|
3898
|
+
encapsulation: ViewEncapsulation.None
|
|
3879
3899
|
},] }
|
|
3880
3900
|
];
|
|
3881
3901
|
MosaicComponent.ctorParameters = () => [];
|
|
3882
3902
|
MosaicComponent.propDecorators = {
|
|
3883
|
-
|
|
3903
|
+
imagesList: [{ type: Input }],
|
|
3904
|
+
isLoading: [{ type: Input }],
|
|
3905
|
+
numberOfColumn: [{ type: Input }],
|
|
3906
|
+
importButtonTemplate: [{ type: Input }],
|
|
3907
|
+
importImageSrc: [{ type: Output }]
|
|
3884
3908
|
};
|
|
3885
3909
|
|
|
3886
3910
|
const components = [
|